@fortisvincere/policy-acceptance-module
v1.0.4
Published
A React and Next.js package for policy acceptance workflows with modal and dashboard UIs, version history, and support for individual, company-wide, and hybrid acceptance models.
Readme
Policy Acceptance Module
A React and Next.js package for policy acceptance workflows with modal and dashboard UIs, version history, and support for individual, company-wide, and hybrid acceptance models.
Features
- Modal and dashboard display modes
- Individual-only, company-only, and hybrid organization presets
- Version history and policy diff support
- Deadline indicators and acceptance status tracking
- TypeScript-first public API
Install
npm install @fortisvincere/policy-acceptance-moduleQuick Start
import { useState } from "react";
import {
PolicyAcceptanceModal,
PolicyAcceptanceProvider,
createIndividualOnlyConfig,
createUser,
generateSamplePolicies,
} from "@fortisvincere/policy-acceptance-module";
const user = createUser("user-001", "[email protected]", "John Smith", "user");
const policies = generateSamplePolicies();
const config = createIndividualOnlyConfig(user, {
dataSource: {
type: "local",
localData: {
policies,
users: [user],
companies: [],
currentUser: user,
},
},
});
export function App() {
const [showModal, setShowModal] = useState(true);
return (
<PolicyAcceptanceProvider config={config}>
<PolicyAcceptanceModal
isOpen={showModal}
onClose={() => setShowModal(false)}
/>
</PolicyAcceptanceProvider>
);
}Display Modes
Modal
import { PolicyAcceptanceModal } from "@fortisvincere/policy-acceptance-module";
<PolicyAcceptanceModal
isOpen={showModal}
onClose={() => setShowModal(false)}
/>;Dashboard
import { PolicyAcceptanceDashboard } from "@fortisvincere/policy-acceptance-module";
<PolicyAcceptanceDashboard legalHubUrl="https://legal.example.com/policies" />;Demo
Run the local demo app:
pnpm devAvailable routes:
//demo/modal/demo/dashboard
Documentation
Build
Build the demo app:
pnpm buildBuild the package output:
pnpm build:packageLicense
Released under the MIT License. See LICENSE.
