@tantainnovative/ndpr-toolkit 3.6.1 → 3.10.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +230 -0
- package/README.md +146 -1
- package/dist/chunk-2MIQXECH.mjs +3 -0
- package/dist/chunk-3GRGYT3P.js +1 -0
- package/dist/chunk-5IOC3VAW.js +1 -0
- package/dist/chunk-ATFUSHC2.mjs +2 -0
- package/dist/{chunk-SJRIOZ4K.mjs → chunk-EFIWANHF.mjs} +1 -1
- package/dist/chunk-GQYBS3A7.mjs +0 -0
- package/dist/chunk-HXWHL4BD.js +3 -0
- package/dist/chunk-OZCNFB5C.js +1 -0
- package/dist/chunk-R7545FP4.mjs +1 -0
- package/dist/chunk-UKLU6BQF.mjs +1 -0
- package/dist/{chunk-I2LMQWK3.js → chunk-W7OLQRJP.js} +2 -2
- package/dist/{chunk-RXZFYBUJ.js → chunk-XS3Z4UT7.js} +1 -1
- package/dist/core.d.mts +70 -0
- package/dist/core.d.ts +70 -0
- package/dist/core.js +1 -1
- package/dist/core.mjs +1 -1
- package/dist/cross-border-lite.d.mts +141 -0
- package/dist/cross-border-lite.d.ts +141 -0
- package/dist/cross-border-lite.js +2 -0
- package/dist/cross-border-lite.mjs +2 -0
- package/dist/dsr.js +1 -1
- package/dist/dsr.mjs +1 -1
- package/dist/headless.d.mts +2391 -0
- package/dist/headless.d.ts +2391 -0
- package/dist/headless.js +2 -0
- package/dist/headless.mjs +2 -0
- package/dist/hooks.d.mts +10 -0
- package/dist/hooks.d.ts +10 -0
- package/dist/hooks.js +1 -1
- package/dist/hooks.mjs +1 -1
- package/dist/index.d.mts +133 -0
- package/dist/index.d.ts +133 -0
- package/dist/index.js +1 -1
- package/dist/index.mjs +1 -1
- package/dist/lawful-basis-lite.d.mts +153 -0
- package/dist/lawful-basis-lite.d.ts +153 -0
- package/dist/lawful-basis-lite.js +2 -0
- package/dist/lawful-basis-lite.mjs +2 -0
- package/dist/policy.d.mts +86 -0
- package/dist/policy.d.ts +86 -0
- package/dist/policy.js +1 -1
- package/dist/policy.mjs +1 -1
- package/dist/presets-dsr.d.mts +25 -0
- package/dist/presets-dsr.d.ts +25 -0
- package/dist/presets-dsr.js +1 -1
- package/dist/presets-dsr.mjs +1 -1
- package/dist/presets-policy.d.mts +71 -0
- package/dist/presets-policy.d.ts +71 -0
- package/dist/presets-policy.js +1 -1
- package/dist/presets-policy.mjs +1 -1
- package/dist/presets.d.mts +96 -0
- package/dist/presets.d.ts +96 -0
- package/dist/presets.js +1 -1
- package/dist/presets.mjs +1 -1
- package/dist/ropa-lite.d.mts +218 -0
- package/dist/ropa-lite.d.ts +218 -0
- package/dist/ropa-lite.js +2 -0
- package/dist/ropa-lite.mjs +2 -0
- package/dist/server.d.mts +70 -0
- package/dist/server.d.ts +70 -0
- package/dist/server.js +1 -1
- package/dist/server.mjs +1 -1
- package/package.json +3 -2
- package/dist/chunk-BNHQFZHL.mjs +0 -2
- package/dist/chunk-O6CUBNXK.mjs +0 -3
- package/dist/chunk-RV2VMWZJ.mjs +0 -1
- package/dist/chunk-UI536RU2.js +0 -3
- package/dist/chunk-W7RBGZCC.js +0 -1
package/dist/headless.js
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
'use strict';require('./chunk-OZCNFB5C.js');var chunkRYREGZVQ_js=require('./chunk-RYREGZVQ.js'),chunkVJTQXVAF_js=require('./chunk-VJTQXVAF.js'),chunkZ763UI5U_js=require('./chunk-Z763UI5U.js'),chunkHXWHL4BD_js=require('./chunk-HXWHL4BD.js'),chunkUTFBKL73_js=require('./chunk-UTFBKL73.js'),chunkHHK5LHEG_js=require('./chunk-HHK5LHEG.js'),chunk3JPDTXGC_js=require('./chunk-3JPDTXGC.js');require('./chunk-N3MQQUQP.js'),require('./chunk-QPRYXVH2.js'),require('./chunk-3YTAOT5O.js'),require('./chunk-LVGT3DLT.js'),require('./chunk-Q64735OC.js'),require('./chunk-YFBDJ4FH.js'),require('./chunk-WZYCBW2R.js'),require('./chunk-4CVBQC66.js');var chunkP4LNLCSF_js=require('./chunk-P4LNLCSF.js'),chunkL2VO3MEJ_js=require('./chunk-L2VO3MEJ.js');require('./chunk-7ZZO7GVB.js'),require('./chunk-B46SJB5V.js');var chunkHBLGN4SD_js=require('./chunk-HBLGN4SD.js');require('./chunk-L2BRFMVS.js');var chunkC7IDR2IV_js=require('./chunk-C7IDR2IV.js');require('./chunk-TQZWJGJ2.js'),require('./chunk-ZVOIR4QH.js'),require('./chunk-VWED6UTN.js'),require('./chunk-RFPLZDIO.js');Object.defineProperty(exports,"useComplianceScore",{enumerable:true,get:function(){return chunkRYREGZVQ_js.a}});Object.defineProperty(exports,"useBreach",{enumerable:true,get:function(){return chunkVJTQXVAF_js.a}});Object.defineProperty(exports,"useDefaultPrivacyPolicy",{enumerable:true,get:function(){return chunkZ763UI5U_js.b}});Object.defineProperty(exports,"usePrivacyPolicy",{enumerable:true,get:function(){return chunkZ763UI5U_js.a}});Object.defineProperty(exports,"useAdaptivePolicyWizard",{enumerable:true,get:function(){return chunkHXWHL4BD_js.a}});Object.defineProperty(exports,"useLawfulBasis",{enumerable:true,get:function(){return chunkUTFBKL73_js.a}});Object.defineProperty(exports,"useCrossBorderTransfer",{enumerable:true,get:function(){return chunkHHK5LHEG_js.a}});Object.defineProperty(exports,"useROPA",{enumerable:true,get:function(){return chunk3JPDTXGC_js.a}});Object.defineProperty(exports,"useConsent",{enumerable:true,get:function(){return chunkP4LNLCSF_js.a}});Object.defineProperty(exports,"useFocusTrap",{enumerable:true,get:function(){return chunkL2VO3MEJ_js.a}});Object.defineProperty(exports,"useDSR",{enumerable:true,get:function(){return chunkHBLGN4SD_js.a}});Object.defineProperty(exports,"useDPIA",{enumerable:true,get:function(){return chunkC7IDR2IV_js.a}});
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import'./chunk-GQYBS3A7.mjs';export{a as useComplianceScore}from'./chunk-W65ZWTLD.mjs';export{a as useBreach}from'./chunk-3HOXQNCH.mjs';export{b as useDefaultPrivacyPolicy,a as usePrivacyPolicy}from'./chunk-VYAL2TGT.mjs';export{a as useAdaptivePolicyWizard}from'./chunk-2MIQXECH.mjs';export{a as useLawfulBasis}from'./chunk-4G3SRVRI.mjs';export{a as useCrossBorderTransfer}from'./chunk-KDAZQO3N.mjs';export{a as useROPA}from'./chunk-RPXRPGHL.mjs';import'./chunk-AOHKVFAS.mjs';import'./chunk-EFIBHKQE.mjs';import'./chunk-WTGKZX7J.mjs';import'./chunk-Y3MKMAFQ.mjs';import'./chunk-RMQ7OLNY.mjs';import'./chunk-7BJXI2HI.mjs';import'./chunk-LWIKDDSU.mjs';import'./chunk-XP5PL6K7.mjs';export{a as useConsent}from'./chunk-PCU6GKBE.mjs';export{a as useFocusTrap}from'./chunk-YTU4FNM2.mjs';import'./chunk-UASG46LP.mjs';import'./chunk-PJNKQPQP.mjs';export{a as useDSR}from'./chunk-MPBPAEZC.mjs';import'./chunk-RZ6GC6WN.mjs';export{a as useDPIA}from'./chunk-H3XJV2IR.mjs';import'./chunk-LRRENTT5.mjs';import'./chunk-ITCY2Z66.mjs';import'./chunk-DBZSN4WP.mjs';import'./chunk-ZJYULEER.mjs';
|
package/dist/hooks.d.mts
CHANGED
|
@@ -1406,6 +1406,16 @@ export declare interface UseAdaptivePolicyWizardOptions {
|
|
|
1406
1406
|
adapter?: StorageAdapter<PolicyDraft>;
|
|
1407
1407
|
onComplete?: (policy: PrivacyPolicy) => void;
|
|
1408
1408
|
onComplianceChange?: (score: number, gaps: ComplianceGap[]) => void;
|
|
1409
|
+
/**
|
|
1410
|
+
* Initial template context. Use an org-template factory like
|
|
1411
|
+
* `templateContextFor('healthcare')` to start the wizard with a sector-
|
|
1412
|
+
* specific pre-fill (lawful basis, data categories, sensitive-data flag,
|
|
1413
|
+
* cross-border default). Defaults to `createDefaultContext()` if omitted.
|
|
1414
|
+
*
|
|
1415
|
+
* If an adapter loads a saved draft, the draft's context wins — the
|
|
1416
|
+
* `initialContext` only seeds the very first session.
|
|
1417
|
+
*/
|
|
1418
|
+
initialContext?: TemplateContext;
|
|
1409
1419
|
}
|
|
1410
1420
|
|
|
1411
1421
|
export declare interface UseAdaptivePolicyWizardReturn {
|
package/dist/hooks.d.ts
CHANGED
|
@@ -1406,6 +1406,16 @@ export declare interface UseAdaptivePolicyWizardOptions {
|
|
|
1406
1406
|
adapter?: StorageAdapter<PolicyDraft>;
|
|
1407
1407
|
onComplete?: (policy: PrivacyPolicy) => void;
|
|
1408
1408
|
onComplianceChange?: (score: number, gaps: ComplianceGap[]) => void;
|
|
1409
|
+
/**
|
|
1410
|
+
* Initial template context. Use an org-template factory like
|
|
1411
|
+
* `templateContextFor('healthcare')` to start the wizard with a sector-
|
|
1412
|
+
* specific pre-fill (lawful basis, data categories, sensitive-data flag,
|
|
1413
|
+
* cross-border default). Defaults to `createDefaultContext()` if omitted.
|
|
1414
|
+
*
|
|
1415
|
+
* If an adapter loads a saved draft, the draft's context wins — the
|
|
1416
|
+
* `initialContext` only seeds the very first session.
|
|
1417
|
+
*/
|
|
1418
|
+
initialContext?: TemplateContext;
|
|
1409
1419
|
}
|
|
1410
1420
|
|
|
1411
1421
|
export declare interface UseAdaptivePolicyWizardReturn {
|
package/dist/hooks.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
'use strict';var chunkRYREGZVQ_js=require('./chunk-RYREGZVQ.js'),chunkZ763UI5U_js=require('./chunk-Z763UI5U.js'),chunkUTFBKL73_js=require('./chunk-UTFBKL73.js'),chunkHHK5LHEG_js=require('./chunk-HHK5LHEG.js'),chunk3JPDTXGC_js=require('./chunk-3JPDTXGC.js')
|
|
2
|
+
'use strict';require('./chunk-OZCNFB5C.js');var chunkRYREGZVQ_js=require('./chunk-RYREGZVQ.js'),chunkVJTQXVAF_js=require('./chunk-VJTQXVAF.js'),chunkZ763UI5U_js=require('./chunk-Z763UI5U.js'),chunkHXWHL4BD_js=require('./chunk-HXWHL4BD.js'),chunkUTFBKL73_js=require('./chunk-UTFBKL73.js'),chunkHHK5LHEG_js=require('./chunk-HHK5LHEG.js'),chunk3JPDTXGC_js=require('./chunk-3JPDTXGC.js');require('./chunk-N3MQQUQP.js'),require('./chunk-QPRYXVH2.js'),require('./chunk-3YTAOT5O.js'),require('./chunk-LVGT3DLT.js'),require('./chunk-Q64735OC.js'),require('./chunk-YFBDJ4FH.js'),require('./chunk-WZYCBW2R.js'),require('./chunk-4CVBQC66.js');var chunkP4LNLCSF_js=require('./chunk-P4LNLCSF.js'),chunkL2VO3MEJ_js=require('./chunk-L2VO3MEJ.js');require('./chunk-7ZZO7GVB.js'),require('./chunk-B46SJB5V.js');var chunkHBLGN4SD_js=require('./chunk-HBLGN4SD.js');require('./chunk-L2BRFMVS.js');var chunkC7IDR2IV_js=require('./chunk-C7IDR2IV.js');require('./chunk-TQZWJGJ2.js'),require('./chunk-ZVOIR4QH.js'),require('./chunk-VWED6UTN.js'),require('./chunk-RFPLZDIO.js');Object.defineProperty(exports,"useComplianceScore",{enumerable:true,get:function(){return chunkRYREGZVQ_js.a}});Object.defineProperty(exports,"useBreach",{enumerable:true,get:function(){return chunkVJTQXVAF_js.a}});Object.defineProperty(exports,"useDefaultPrivacyPolicy",{enumerable:true,get:function(){return chunkZ763UI5U_js.b}});Object.defineProperty(exports,"usePrivacyPolicy",{enumerable:true,get:function(){return chunkZ763UI5U_js.a}});Object.defineProperty(exports,"useAdaptivePolicyWizard",{enumerable:true,get:function(){return chunkHXWHL4BD_js.a}});Object.defineProperty(exports,"useLawfulBasis",{enumerable:true,get:function(){return chunkUTFBKL73_js.a}});Object.defineProperty(exports,"useCrossBorderTransfer",{enumerable:true,get:function(){return chunkHHK5LHEG_js.a}});Object.defineProperty(exports,"useROPA",{enumerable:true,get:function(){return chunk3JPDTXGC_js.a}});Object.defineProperty(exports,"useConsent",{enumerable:true,get:function(){return chunkP4LNLCSF_js.a}});Object.defineProperty(exports,"useFocusTrap",{enumerable:true,get:function(){return chunkL2VO3MEJ_js.a}});Object.defineProperty(exports,"useDSR",{enumerable:true,get:function(){return chunkHBLGN4SD_js.a}});Object.defineProperty(exports,"useDPIA",{enumerable:true,get:function(){return chunkC7IDR2IV_js.a}});
|
package/dist/hooks.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
export{a as useComplianceScore}from'./chunk-W65ZWTLD.mjs';export{b as useDefaultPrivacyPolicy,a as usePrivacyPolicy}from'./chunk-VYAL2TGT.mjs';export{a as
|
|
2
|
+
import'./chunk-GQYBS3A7.mjs';export{a as useComplianceScore}from'./chunk-W65ZWTLD.mjs';export{a as useBreach}from'./chunk-3HOXQNCH.mjs';export{b as useDefaultPrivacyPolicy,a as usePrivacyPolicy}from'./chunk-VYAL2TGT.mjs';export{a as useAdaptivePolicyWizard}from'./chunk-2MIQXECH.mjs';export{a as useLawfulBasis}from'./chunk-4G3SRVRI.mjs';export{a as useCrossBorderTransfer}from'./chunk-KDAZQO3N.mjs';export{a as useROPA}from'./chunk-RPXRPGHL.mjs';import'./chunk-AOHKVFAS.mjs';import'./chunk-EFIBHKQE.mjs';import'./chunk-WTGKZX7J.mjs';import'./chunk-Y3MKMAFQ.mjs';import'./chunk-RMQ7OLNY.mjs';import'./chunk-7BJXI2HI.mjs';import'./chunk-LWIKDDSU.mjs';import'./chunk-XP5PL6K7.mjs';export{a as useConsent}from'./chunk-PCU6GKBE.mjs';export{a as useFocusTrap}from'./chunk-YTU4FNM2.mjs';import'./chunk-UASG46LP.mjs';import'./chunk-PJNKQPQP.mjs';export{a as useDSR}from'./chunk-MPBPAEZC.mjs';import'./chunk-RZ6GC6WN.mjs';export{a as useDPIA}from'./chunk-H3XJV2IR.mjs';import'./chunk-LRRENTT5.mjs';import'./chunk-ITCY2Z66.mjs';import'./chunk-DBZSN4WP.mjs';import'./chunk-ZJYULEER.mjs';
|
package/dist/index.d.mts
CHANGED
|
@@ -2600,6 +2600,129 @@ export declare const NDPRProvider: React__default.FC<NDPRConfig & {
|
|
|
2600
2600
|
children: React__default.ReactNode;
|
|
2601
2601
|
}>;
|
|
2602
2602
|
|
|
2603
|
+
/**
|
|
2604
|
+
* Typed theme object for `NDPRThemeProvider`.
|
|
2605
|
+
*
|
|
2606
|
+
* Every field is optional. Each set field becomes one `--ndpr-*` CSS custom
|
|
2607
|
+
* property on the wrapping element; unset fields fall through to the
|
|
2608
|
+
* defaults shipped in `@tantainnovative/ndpr-toolkit/styles`.
|
|
2609
|
+
*
|
|
2610
|
+
* Color values are passed as **RGB triplets** (space-separated channels,
|
|
2611
|
+
* no `rgb()` wrapper) because the stylesheet uses `rgb(var(--ndpr-primary))`
|
|
2612
|
+
* everywhere. This lets the same token power solid backgrounds and
|
|
2613
|
+
* `rgb(var(--ndpr-primary) / 0.12)` tints.
|
|
2614
|
+
*
|
|
2615
|
+
* @example
|
|
2616
|
+
* const theme: NDPRTheme = {
|
|
2617
|
+
* colors: { primary: '22 163 74', primaryHover: '21 128 61' },
|
|
2618
|
+
* radius: { base: '0.75rem' },
|
|
2619
|
+
* };
|
|
2620
|
+
*
|
|
2621
|
+
* @example
|
|
2622
|
+
* // Helper consumers may write themselves for hex inputs:
|
|
2623
|
+
* // const hexToRgbTriplet = (hex: string) => {
|
|
2624
|
+
* // const n = parseInt(hex.replace('#', ''), 16);
|
|
2625
|
+
* // return `${(n >> 16) & 255} ${(n >> 8) & 255} ${n & 255}`;
|
|
2626
|
+
* // };
|
|
2627
|
+
* // const theme: NDPRTheme = { colors: { primary: hexToRgbTriplet('#16a34a') } };
|
|
2628
|
+
*/
|
|
2629
|
+
export declare interface NDPRTheme {
|
|
2630
|
+
/** Light / dark mode hint. Sets `data-theme` so stylesheet's `[data-theme="dark"]` selector applies. */
|
|
2631
|
+
mode?: 'light' | 'dark';
|
|
2632
|
+
/** Color tokens — all values are RGB triplets, e.g. `'22 163 74'`. */
|
|
2633
|
+
colors?: {
|
|
2634
|
+
primary?: string;
|
|
2635
|
+
primaryHover?: string;
|
|
2636
|
+
primaryForeground?: string;
|
|
2637
|
+
background?: string;
|
|
2638
|
+
surface?: string;
|
|
2639
|
+
foreground?: string;
|
|
2640
|
+
muted?: string;
|
|
2641
|
+
mutedForeground?: string;
|
|
2642
|
+
border?: string;
|
|
2643
|
+
input?: string;
|
|
2644
|
+
ring?: string;
|
|
2645
|
+
success?: string;
|
|
2646
|
+
destructive?: string;
|
|
2647
|
+
warning?: string;
|
|
2648
|
+
};
|
|
2649
|
+
/** Border-radius scale — CSS length values, e.g. `'0.5rem'`. */
|
|
2650
|
+
radius?: {
|
|
2651
|
+
sm?: string;
|
|
2652
|
+
base?: string;
|
|
2653
|
+
lg?: string;
|
|
2654
|
+
full?: string;
|
|
2655
|
+
};
|
|
2656
|
+
/** Spacing scale — CSS length values. */
|
|
2657
|
+
spacing?: {
|
|
2658
|
+
1?: string;
|
|
2659
|
+
2?: string;
|
|
2660
|
+
3?: string;
|
|
2661
|
+
4?: string;
|
|
2662
|
+
5?: string;
|
|
2663
|
+
6?: string;
|
|
2664
|
+
8?: string;
|
|
2665
|
+
};
|
|
2666
|
+
/** Box-shadow tokens. */
|
|
2667
|
+
shadow?: {
|
|
2668
|
+
sm?: string;
|
|
2669
|
+
base?: string;
|
|
2670
|
+
lg?: string;
|
|
2671
|
+
};
|
|
2672
|
+
/** Typography tokens. `sans` is a font-family string; the rest are CSS length values. */
|
|
2673
|
+
font?: {
|
|
2674
|
+
sans?: string;
|
|
2675
|
+
sizeXs?: string;
|
|
2676
|
+
sizeSm?: string;
|
|
2677
|
+
sizeBase?: string;
|
|
2678
|
+
sizeLg?: string;
|
|
2679
|
+
sizeXl?: string;
|
|
2680
|
+
lineHeight?: string;
|
|
2681
|
+
lineHeightTight?: string;
|
|
2682
|
+
};
|
|
2683
|
+
/** Transition timing tokens, e.g. `'150ms ease-out'`. */
|
|
2684
|
+
transition?: {
|
|
2685
|
+
base?: string;
|
|
2686
|
+
slow?: string;
|
|
2687
|
+
};
|
|
2688
|
+
/** Z-index tokens for banners and modals. */
|
|
2689
|
+
z?: {
|
|
2690
|
+
banner?: number | string;
|
|
2691
|
+
modal?: number | string;
|
|
2692
|
+
};
|
|
2693
|
+
}
|
|
2694
|
+
|
|
2695
|
+
/**
|
|
2696
|
+
* Provides theme tokens to NDPR toolkit components by injecting `--ndpr-*`
|
|
2697
|
+
* CSS custom properties on a wrapping `div`.
|
|
2698
|
+
*
|
|
2699
|
+
* This is syntactic sugar over the toolkit's existing CSS-variable theming
|
|
2700
|
+
* model. The stylesheet at `@tantainnovative/ndpr-toolkit/styles` defines
|
|
2701
|
+
* all defaults; this provider only sets variables for fields you explicitly
|
|
2702
|
+
* supply, so unset tokens cascade from `:root`.
|
|
2703
|
+
*
|
|
2704
|
+
* @example
|
|
2705
|
+
* import { NDPRThemeProvider, type NDPRTheme } from '@tantainnovative/ndpr-toolkit';
|
|
2706
|
+
*
|
|
2707
|
+
* const theme: NDPRTheme = {
|
|
2708
|
+
* colors: { primary: '22 163 74', primaryHover: '21 128 61' },
|
|
2709
|
+
* radius: { base: '0.75rem' },
|
|
2710
|
+
* };
|
|
2711
|
+
*
|
|
2712
|
+
* <NDPRThemeProvider theme={theme}>
|
|
2713
|
+
* <App />
|
|
2714
|
+
* </NDPRThemeProvider>
|
|
2715
|
+
*/
|
|
2716
|
+
export declare const NDPRThemeProvider: React__default.FC<NDPRThemeProviderProps>;
|
|
2717
|
+
|
|
2718
|
+
export declare interface NDPRThemeProviderProps {
|
|
2719
|
+
/** Theme overrides. Only fields you set produce CSS variables. */
|
|
2720
|
+
theme?: NDPRTheme;
|
|
2721
|
+
/** Optional className on the wrapping `div` — useful for Tailwind utilities. */
|
|
2722
|
+
className?: string;
|
|
2723
|
+
children: React__default.ReactNode;
|
|
2724
|
+
}
|
|
2725
|
+
|
|
2603
2726
|
/**
|
|
2604
2727
|
* Represents notification requirements for a data breach per NDPA Section 40
|
|
2605
2728
|
*/
|
|
@@ -3904,6 +4027,16 @@ export declare interface UseAdaptivePolicyWizardOptions {
|
|
|
3904
4027
|
adapter?: StorageAdapter<PolicyDraft>;
|
|
3905
4028
|
onComplete?: (policy: PrivacyPolicy) => void;
|
|
3906
4029
|
onComplianceChange?: (score: number, gaps: ComplianceGap[]) => void;
|
|
4030
|
+
/**
|
|
4031
|
+
* Initial template context. Use an org-template factory like
|
|
4032
|
+
* `templateContextFor('healthcare')` to start the wizard with a sector-
|
|
4033
|
+
* specific pre-fill (lawful basis, data categories, sensitive-data flag,
|
|
4034
|
+
* cross-border default). Defaults to `createDefaultContext()` if omitted.
|
|
4035
|
+
*
|
|
4036
|
+
* If an adapter loads a saved draft, the draft's context wins — the
|
|
4037
|
+
* `initialContext` only seeds the very first session.
|
|
4038
|
+
*/
|
|
4039
|
+
initialContext?: TemplateContext;
|
|
3907
4040
|
}
|
|
3908
4041
|
|
|
3909
4042
|
export declare interface UseAdaptivePolicyWizardReturn {
|
package/dist/index.d.ts
CHANGED
|
@@ -2600,6 +2600,129 @@ export declare const NDPRProvider: React__default.FC<NDPRConfig & {
|
|
|
2600
2600
|
children: React__default.ReactNode;
|
|
2601
2601
|
}>;
|
|
2602
2602
|
|
|
2603
|
+
/**
|
|
2604
|
+
* Typed theme object for `NDPRThemeProvider`.
|
|
2605
|
+
*
|
|
2606
|
+
* Every field is optional. Each set field becomes one `--ndpr-*` CSS custom
|
|
2607
|
+
* property on the wrapping element; unset fields fall through to the
|
|
2608
|
+
* defaults shipped in `@tantainnovative/ndpr-toolkit/styles`.
|
|
2609
|
+
*
|
|
2610
|
+
* Color values are passed as **RGB triplets** (space-separated channels,
|
|
2611
|
+
* no `rgb()` wrapper) because the stylesheet uses `rgb(var(--ndpr-primary))`
|
|
2612
|
+
* everywhere. This lets the same token power solid backgrounds and
|
|
2613
|
+
* `rgb(var(--ndpr-primary) / 0.12)` tints.
|
|
2614
|
+
*
|
|
2615
|
+
* @example
|
|
2616
|
+
* const theme: NDPRTheme = {
|
|
2617
|
+
* colors: { primary: '22 163 74', primaryHover: '21 128 61' },
|
|
2618
|
+
* radius: { base: '0.75rem' },
|
|
2619
|
+
* };
|
|
2620
|
+
*
|
|
2621
|
+
* @example
|
|
2622
|
+
* // Helper consumers may write themselves for hex inputs:
|
|
2623
|
+
* // const hexToRgbTriplet = (hex: string) => {
|
|
2624
|
+
* // const n = parseInt(hex.replace('#', ''), 16);
|
|
2625
|
+
* // return `${(n >> 16) & 255} ${(n >> 8) & 255} ${n & 255}`;
|
|
2626
|
+
* // };
|
|
2627
|
+
* // const theme: NDPRTheme = { colors: { primary: hexToRgbTriplet('#16a34a') } };
|
|
2628
|
+
*/
|
|
2629
|
+
export declare interface NDPRTheme {
|
|
2630
|
+
/** Light / dark mode hint. Sets `data-theme` so stylesheet's `[data-theme="dark"]` selector applies. */
|
|
2631
|
+
mode?: 'light' | 'dark';
|
|
2632
|
+
/** Color tokens — all values are RGB triplets, e.g. `'22 163 74'`. */
|
|
2633
|
+
colors?: {
|
|
2634
|
+
primary?: string;
|
|
2635
|
+
primaryHover?: string;
|
|
2636
|
+
primaryForeground?: string;
|
|
2637
|
+
background?: string;
|
|
2638
|
+
surface?: string;
|
|
2639
|
+
foreground?: string;
|
|
2640
|
+
muted?: string;
|
|
2641
|
+
mutedForeground?: string;
|
|
2642
|
+
border?: string;
|
|
2643
|
+
input?: string;
|
|
2644
|
+
ring?: string;
|
|
2645
|
+
success?: string;
|
|
2646
|
+
destructive?: string;
|
|
2647
|
+
warning?: string;
|
|
2648
|
+
};
|
|
2649
|
+
/** Border-radius scale — CSS length values, e.g. `'0.5rem'`. */
|
|
2650
|
+
radius?: {
|
|
2651
|
+
sm?: string;
|
|
2652
|
+
base?: string;
|
|
2653
|
+
lg?: string;
|
|
2654
|
+
full?: string;
|
|
2655
|
+
};
|
|
2656
|
+
/** Spacing scale — CSS length values. */
|
|
2657
|
+
spacing?: {
|
|
2658
|
+
1?: string;
|
|
2659
|
+
2?: string;
|
|
2660
|
+
3?: string;
|
|
2661
|
+
4?: string;
|
|
2662
|
+
5?: string;
|
|
2663
|
+
6?: string;
|
|
2664
|
+
8?: string;
|
|
2665
|
+
};
|
|
2666
|
+
/** Box-shadow tokens. */
|
|
2667
|
+
shadow?: {
|
|
2668
|
+
sm?: string;
|
|
2669
|
+
base?: string;
|
|
2670
|
+
lg?: string;
|
|
2671
|
+
};
|
|
2672
|
+
/** Typography tokens. `sans` is a font-family string; the rest are CSS length values. */
|
|
2673
|
+
font?: {
|
|
2674
|
+
sans?: string;
|
|
2675
|
+
sizeXs?: string;
|
|
2676
|
+
sizeSm?: string;
|
|
2677
|
+
sizeBase?: string;
|
|
2678
|
+
sizeLg?: string;
|
|
2679
|
+
sizeXl?: string;
|
|
2680
|
+
lineHeight?: string;
|
|
2681
|
+
lineHeightTight?: string;
|
|
2682
|
+
};
|
|
2683
|
+
/** Transition timing tokens, e.g. `'150ms ease-out'`. */
|
|
2684
|
+
transition?: {
|
|
2685
|
+
base?: string;
|
|
2686
|
+
slow?: string;
|
|
2687
|
+
};
|
|
2688
|
+
/** Z-index tokens for banners and modals. */
|
|
2689
|
+
z?: {
|
|
2690
|
+
banner?: number | string;
|
|
2691
|
+
modal?: number | string;
|
|
2692
|
+
};
|
|
2693
|
+
}
|
|
2694
|
+
|
|
2695
|
+
/**
|
|
2696
|
+
* Provides theme tokens to NDPR toolkit components by injecting `--ndpr-*`
|
|
2697
|
+
* CSS custom properties on a wrapping `div`.
|
|
2698
|
+
*
|
|
2699
|
+
* This is syntactic sugar over the toolkit's existing CSS-variable theming
|
|
2700
|
+
* model. The stylesheet at `@tantainnovative/ndpr-toolkit/styles` defines
|
|
2701
|
+
* all defaults; this provider only sets variables for fields you explicitly
|
|
2702
|
+
* supply, so unset tokens cascade from `:root`.
|
|
2703
|
+
*
|
|
2704
|
+
* @example
|
|
2705
|
+
* import { NDPRThemeProvider, type NDPRTheme } from '@tantainnovative/ndpr-toolkit';
|
|
2706
|
+
*
|
|
2707
|
+
* const theme: NDPRTheme = {
|
|
2708
|
+
* colors: { primary: '22 163 74', primaryHover: '21 128 61' },
|
|
2709
|
+
* radius: { base: '0.75rem' },
|
|
2710
|
+
* };
|
|
2711
|
+
*
|
|
2712
|
+
* <NDPRThemeProvider theme={theme}>
|
|
2713
|
+
* <App />
|
|
2714
|
+
* </NDPRThemeProvider>
|
|
2715
|
+
*/
|
|
2716
|
+
export declare const NDPRThemeProvider: React__default.FC<NDPRThemeProviderProps>;
|
|
2717
|
+
|
|
2718
|
+
export declare interface NDPRThemeProviderProps {
|
|
2719
|
+
/** Theme overrides. Only fields you set produce CSS variables. */
|
|
2720
|
+
theme?: NDPRTheme;
|
|
2721
|
+
/** Optional className on the wrapping `div` — useful for Tailwind utilities. */
|
|
2722
|
+
className?: string;
|
|
2723
|
+
children: React__default.ReactNode;
|
|
2724
|
+
}
|
|
2725
|
+
|
|
2603
2726
|
/**
|
|
2604
2727
|
* Represents notification requirements for a data breach per NDPA Section 40
|
|
2605
2728
|
*/
|
|
@@ -3904,6 +4027,16 @@ export declare interface UseAdaptivePolicyWizardOptions {
|
|
|
3904
4027
|
adapter?: StorageAdapter<PolicyDraft>;
|
|
3905
4028
|
onComplete?: (policy: PrivacyPolicy) => void;
|
|
3906
4029
|
onComplianceChange?: (score: number, gaps: ComplianceGap[]) => void;
|
|
4030
|
+
/**
|
|
4031
|
+
* Initial template context. Use an org-template factory like
|
|
4032
|
+
* `templateContextFor('healthcare')` to start the wizard with a sector-
|
|
4033
|
+
* specific pre-fill (lawful basis, data categories, sensitive-data flag,
|
|
4034
|
+
* cross-border default). Defaults to `createDefaultContext()` if omitted.
|
|
4035
|
+
*
|
|
4036
|
+
* If an adapter loads a saved draft, the draft's context wins — the
|
|
4037
|
+
* `initialContext` only seeds the very first session.
|
|
4038
|
+
*/
|
|
4039
|
+
initialContext?: TemplateContext;
|
|
3907
4040
|
}
|
|
3908
4041
|
|
|
3909
4042
|
export declare interface UseAdaptivePolicyWizardReturn {
|
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
'use strict';var chunkXO3VQYTL_js=require('./chunk-XO3VQYTL.js'),chunkNUWVPRNI_js=require('./chunk-NUWVPRNI.js'),chunkPZRQWPWD_js=require('./chunk-PZRQWPWD.js'),chunkI3Y4LOSL_js=require('./chunk-I3Y4LOSL.js'),chunk5GVMKUMP_js=require('./chunk-5GVMKUMP.js'),chunkUAV7V4EM_js=require('./chunk-UAV7V4EM.js');require('./chunk-7IFSWCQP.js');var chunkRYREGZVQ_js=require('./chunk-RYREGZVQ.js'),chunkZ763UI5U_js=require('./chunk-Z763UI5U.js'),chunkUTFBKL73_js=require('./chunk-UTFBKL73.js'),chunkHHK5LHEG_js=require('./chunk-HHK5LHEG.js'),chunk3JPDTXGC_js=require('./chunk-3JPDTXGC.js'),chunkUI536RU2_js=require('./chunk-UI536RU2.js');require('./chunk-N3MQQUQP.js');var chunkLVGT3DLT_js=require('./chunk-LVGT3DLT.js'),chunkQPRYXVH2_js=require('./chunk-QPRYXVH2.js');require('./chunk-Q64735OC.js');var chunkWZYCBW2R_js=require('./chunk-WZYCBW2R.js'),chunkYFBDJ4FH_js=require('./chunk-YFBDJ4FH.js'),chunk4CVBQC66_js=require('./chunk-4CVBQC66.js'),chunkSJDDNB6M_js=require('./chunk-SJDDNB6M.js'),chunkBRS52EDT_js=require('./chunk-BRS52EDT.js'),chunk732C2EVN_js=require('./chunk-732C2EVN.js'),chunk3IA3KDII_js=require('./chunk-3IA3KDII.js'),chunkP4LNLCSF_js=require('./chunk-P4LNLCSF.js'),chunkL2VO3MEJ_js=require('./chunk-L2VO3MEJ.js');require('./chunk-7ZZO7GVB.js');var chunkB46SJB5V_js=require('./chunk-B46SJB5V.js'),chunkCR2QZTGW_js=require('./chunk-CR2QZTGW.js'),chunkW47OSMT6_js=require('./chunk-W47OSMT6.js'),chunkHBLGN4SD_js=require('./chunk-HBLGN4SD.js'),chunkL2BRFMVS_js=require('./chunk-L2BRFMVS.js'),chunkEZCGTHQV_js=require('./chunk-EZCGTHQV.js'),chunkWDDCKYWA_js=require('./chunk-WDDCKYWA.js'),chunkC7IDR2IV_js=require('./chunk-C7IDR2IV.js'),chunkTQZWJGJ2_js=require('./chunk-TQZWJGJ2.js'),chunkPGI2LM6P_js=require('./chunk-PGI2LM6P.js'),chunkS6COXIZA_js=require('./chunk-S6COXIZA.js'),chunkVJTQXVAF_js=require('./chunk-VJTQXVAF.js'),chunk3YTAOT5O_js=require('./chunk-3YTAOT5O.js'),chunkUXUMYP4L_js=require('./chunk-UXUMYP4L.js'),chunkZVOIR4QH_js=require('./chunk-ZVOIR4QH.js'),chunkAME4HJR4_js=require('./chunk-AME4HJR4.js');require('./chunk-VWED6UTN.js'),require('./chunk-RFPLZDIO.js');var jsxRuntime=require('react/jsx-runtime');var xe=({variant:t="short",className:e,hidden:s})=>{if(s)return null;let a=t==="long"?chunkZVOIR4QH_js.b:chunkZVOIR4QH_js.a;return jsxRuntime.jsx("p",{role:"note",className:e!=null?e:"ndpr-legal-notice","data-ndpr-legal-notice":t,children:a})};Object.defineProperty(exports,"PolicyExporter",{enumerable:true,get:function(){return chunkXO3VQYTL_js.c}});Object.defineProperty(exports,"PolicyGenerator",{enumerable:true,get:function(){return chunkXO3VQYTL_js.a}});Object.defineProperty(exports,"PolicyPreview",{enumerable:true,get:function(){return chunkXO3VQYTL_js.b}});Object.defineProperty(exports,"NDPRDashboard",{enumerable:true,get:function(){return chunkNUWVPRNI_js.a}});Object.defineProperty(exports,"LawfulBasisTracker",{enumerable:true,get:function(){return chunkPZRQWPWD_js.a}});Object.defineProperty(exports,"CrossBorderTransferManager",{enumerable:true,get:function(){return chunkI3Y4LOSL_js.a}});Object.defineProperty(exports,"ROPAManager",{enumerable:true,get:function(){return chunk5GVMKUMP_js.a}});Object.defineProperty(exports,"NDPRProvider",{enumerable:true,get:function(){return chunkUAV7V4EM_js.a}});Object.defineProperty(exports,"useNDPRConfig",{enumerable:true,get:function(){return chunkUAV7V4EM_js.b}});Object.defineProperty(exports,"useComplianceScore",{enumerable:true,get:function(){return chunkRYREGZVQ_js.a}});Object.defineProperty(exports,"useDefaultPrivacyPolicy",{enumerable:true,get:function(){return chunkZ763UI5U_js.b}});Object.defineProperty(exports,"usePrivacyPolicy",{enumerable:true,get:function(){return chunkZ763UI5U_js.a}});Object.defineProperty(exports,"useLawfulBasis",{enumerable:true,get:function(){return chunkUTFBKL73_js.a}});Object.defineProperty(exports,"useCrossBorderTransfer",{enumerable:true,get:function(){return chunkHHK5LHEG_js.a}});Object.defineProperty(exports,"useROPA",{enumerable:true,get:function(){return chunk3JPDTXGC_js.a}});Object.defineProperty(exports,"useAdaptivePolicyWizard",{enumerable:true,get:function(){return chunkUI536RU2_js.a}});Object.defineProperty(exports,"DEFAULT_POLICY_SECTIONS",{enumerable:true,get:function(){return chunkLVGT3DLT_js.c}});Object.defineProperty(exports,"DEFAULT_POLICY_VARIABLES",{enumerable:true,get:function(){return chunkLVGT3DLT_js.d}});Object.defineProperty(exports,"createBusinessPolicyTemplate",{enumerable:true,get:function(){return chunkLVGT3DLT_js.e}});Object.defineProperty(exports,"generatePolicyText",{enumerable:true,get:function(){return chunkLVGT3DLT_js.b}});Object.defineProperty(exports,"getComplianceScore",{enumerable:true,get:function(){return chunkQPRYXVH2_js.a}});Object.defineProperty(exports,"assessComplianceGaps",{enumerable:true,get:function(){return chunkWZYCBW2R_js.c}});Object.defineProperty(exports,"generateLawfulBasisSummary",{enumerable:true,get:function(){return chunkWZYCBW2R_js.d}});Object.defineProperty(exports,"getLawfulBasisDescription",{enumerable:true,get:function(){return chunkWZYCBW2R_js.b}});Object.defineProperty(exports,"validateProcessingActivity",{enumerable:true,get:function(){return chunkWZYCBW2R_js.a}});Object.defineProperty(exports,"assessTransferRisk",{enumerable:true,get:function(){return chunkYFBDJ4FH_js.h}});Object.defineProperty(exports,"getTransferMechanismDescription",{enumerable:true,get:function(){return chunkYFBDJ4FH_js.f}});Object.defineProperty(exports,"isNDPCApprovalRequired",{enumerable:true,get:function(){return chunkYFBDJ4FH_js.e}});Object.defineProperty(exports,"validateTransfer",{enumerable:true,get:function(){return chunkYFBDJ4FH_js.g}});Object.defineProperty(exports,"exportROPAToCSV",{enumerable:true,get:function(){return chunk4CVBQC66_js.c}});Object.defineProperty(exports,"generateROPASummary",{enumerable:true,get:function(){return chunk4CVBQC66_js.b}});Object.defineProperty(exports,"identifyComplianceGaps",{enumerable:true,get:function(){return chunk4CVBQC66_js.d}});Object.defineProperty(exports,"validateProcessingRecord",{enumerable:true,get:function(){return chunk4CVBQC66_js.a}});Object.defineProperty(exports,"ConsentStorage",{enumerable:true,get:function(){return chunkSJDDNB6M_js.a}});Object.defineProperty(exports,"ConsentManager",{enumerable:true,get:function(){return chunkBRS52EDT_js.a}});Object.defineProperty(exports,"ConsentBanner",{enumerable:true,get:function(){return chunk732C2EVN_js.a}});Object.defineProperty(exports,"appendAuditEntry",{enumerable:true,get:function(){return chunk3IA3KDII_js.c}});Object.defineProperty(exports,"createAuditEntry",{enumerable:true,get:function(){return chunk3IA3KDII_js.a}});Object.defineProperty(exports,"getAuditLog",{enumerable:true,get:function(){return chunk3IA3KDII_js.b}});Object.defineProperty(exports,"useConsent",{enumerable:true,get:function(){return chunkP4LNLCSF_js.a}});Object.defineProperty(exports,"useFocusTrap",{enumerable:true,get:function(){return chunkL2VO3MEJ_js.a}});Object.defineProperty(exports,"validateConsent",{enumerable:true,get:function(){return chunkB46SJB5V_js.a}});Object.defineProperty(exports,"validateConsentOptions",{enumerable:true,get:function(){return chunkB46SJB5V_js.b}});Object.defineProperty(exports,"DSRDashboard",{enumerable:true,get:function(){return chunkCR2QZTGW_js.a}});Object.defineProperty(exports,"DSRTracker",{enumerable:true,get:function(){return chunkCR2QZTGW_js.b}});Object.defineProperty(exports,"DSRRequestForm",{enumerable:true,get:function(){return chunkW47OSMT6_js.a}});Object.defineProperty(exports,"useDSR",{enumerable:true,get:function(){return chunkHBLGN4SD_js.a}});Object.defineProperty(exports,"formatDSRRequest",{enumerable:true,get:function(){return chunkL2BRFMVS_js.b}});Object.defineProperty(exports,"DPIAReport",{enumerable:true,get:function(){return chunkEZCGTHQV_js.a}});Object.defineProperty(exports,"StepIndicator",{enumerable:true,get:function(){return chunkEZCGTHQV_js.b}});Object.defineProperty(exports,"DPIAQuestionnaire",{enumerable:true,get:function(){return chunkWDDCKYWA_js.a}});Object.defineProperty(exports,"useDPIA",{enumerable:true,get:function(){return chunkC7IDR2IV_js.a}});Object.defineProperty(exports,"assessDPIARisk",{enumerable:true,get:function(){return chunkTQZWJGJ2_js.a}});Object.defineProperty(exports,"BreachNotificationManager",{enumerable:true,get:function(){return chunkPGI2LM6P_js.b}});Object.defineProperty(exports,"BreachRiskAssessment",{enumerable:true,get:function(){return chunkPGI2LM6P_js.a}});Object.defineProperty(exports,"RegulatoryReportGenerator",{enumerable:true,get:function(){return chunkPGI2LM6P_js.c}});Object.defineProperty(exports,"BreachReportForm",{enumerable:true,get:function(){return chunkS6COXIZA_js.a}});Object.defineProperty(exports,"useBreach",{enumerable:true,get:function(){return chunkVJTQXVAF_js.a}});Object.defineProperty(exports,"calculateBreachSeverity",{enumerable:true,get:function(){return chunk3YTAOT5O_js.a}});Object.defineProperty(exports,"sanitizeInput",{enumerable:true,get:function(){return chunkUXUMYP4L_js.a}});Object.defineProperty(exports,"LEGAL_DISCLAIMER_LONG",{enumerable:true,get:function(){return chunkZVOIR4QH_js.b}});Object.defineProperty(exports,"LEGAL_DISCLAIMER_SHORT",{enumerable:true,get:function(){return chunkZVOIR4QH_js.a}});Object.defineProperty(exports,"legalDisclaimerBlock",{enumerable:true,get:function(){return chunkZVOIR4QH_js.c}});Object.defineProperty(exports,"resolveClass",{enumerable:true,get:function(){return chunkAME4HJR4_js.a}});exports.LegalNotice=xe;
|
|
2
|
+
'use strict';var chunkNUWVPRNI_js=require('./chunk-NUWVPRNI.js'),chunkPGI2LM6P_js=require('./chunk-PGI2LM6P.js'),chunkS6COXIZA_js=require('./chunk-S6COXIZA.js'),chunkXO3VQYTL_js=require('./chunk-XO3VQYTL.js'),chunkPZRQWPWD_js=require('./chunk-PZRQWPWD.js'),chunkI3Y4LOSL_js=require('./chunk-I3Y4LOSL.js'),chunk5GVMKUMP_js=require('./chunk-5GVMKUMP.js'),chunkUAV7V4EM_js=require('./chunk-UAV7V4EM.js');require('./chunk-7IFSWCQP.js');var chunkRYREGZVQ_js=require('./chunk-RYREGZVQ.js'),chunkVJTQXVAF_js=require('./chunk-VJTQXVAF.js'),chunkZ763UI5U_js=require('./chunk-Z763UI5U.js'),chunkHXWHL4BD_js=require('./chunk-HXWHL4BD.js'),chunkUTFBKL73_js=require('./chunk-UTFBKL73.js'),chunkHHK5LHEG_js=require('./chunk-HHK5LHEG.js'),chunk3JPDTXGC_js=require('./chunk-3JPDTXGC.js');require('./chunk-N3MQQUQP.js');var chunkQPRYXVH2_js=require('./chunk-QPRYXVH2.js'),chunk3YTAOT5O_js=require('./chunk-3YTAOT5O.js'),chunkLVGT3DLT_js=require('./chunk-LVGT3DLT.js');require('./chunk-Q64735OC.js');var chunkYFBDJ4FH_js=require('./chunk-YFBDJ4FH.js'),chunkWZYCBW2R_js=require('./chunk-WZYCBW2R.js'),chunk4CVBQC66_js=require('./chunk-4CVBQC66.js'),chunkSJDDNB6M_js=require('./chunk-SJDDNB6M.js'),chunkBRS52EDT_js=require('./chunk-BRS52EDT.js'),chunk732C2EVN_js=require('./chunk-732C2EVN.js'),chunk3IA3KDII_js=require('./chunk-3IA3KDII.js'),chunkP4LNLCSF_js=require('./chunk-P4LNLCSF.js'),chunkL2VO3MEJ_js=require('./chunk-L2VO3MEJ.js');require('./chunk-7ZZO7GVB.js');var chunkB46SJB5V_js=require('./chunk-B46SJB5V.js'),chunkCR2QZTGW_js=require('./chunk-CR2QZTGW.js'),chunkW47OSMT6_js=require('./chunk-W47OSMT6.js'),chunkUXUMYP4L_js=require('./chunk-UXUMYP4L.js'),chunkHBLGN4SD_js=require('./chunk-HBLGN4SD.js'),chunkL2BRFMVS_js=require('./chunk-L2BRFMVS.js'),chunkEZCGTHQV_js=require('./chunk-EZCGTHQV.js'),chunkWDDCKYWA_js=require('./chunk-WDDCKYWA.js'),chunkC7IDR2IV_js=require('./chunk-C7IDR2IV.js'),chunkTQZWJGJ2_js=require('./chunk-TQZWJGJ2.js'),chunkZVOIR4QH_js=require('./chunk-ZVOIR4QH.js'),chunkAME4HJR4_js=require('./chunk-AME4HJR4.js');require('./chunk-VWED6UTN.js'),require('./chunk-RFPLZDIO.js');var react=require('react'),jsxRuntime=require('react/jsx-runtime');var xe=({theme:o,className:s,children:n})=>{let t=react.useMemo(()=>{if(!o)return;let r={};if(o.colors){let e=o.colors;e.primary!==void 0&&(r["--ndpr-primary"]=e.primary),e.primaryHover!==void 0&&(r["--ndpr-primary-hover"]=e.primaryHover),e.primaryForeground!==void 0&&(r["--ndpr-primary-foreground"]=e.primaryForeground),e.background!==void 0&&(r["--ndpr-background"]=e.background),e.surface!==void 0&&(r["--ndpr-surface"]=e.surface),e.foreground!==void 0&&(r["--ndpr-foreground"]=e.foreground),e.muted!==void 0&&(r["--ndpr-muted"]=e.muted),e.mutedForeground!==void 0&&(r["--ndpr-muted-foreground"]=e.mutedForeground),e.border!==void 0&&(r["--ndpr-border"]=e.border),e.input!==void 0&&(r["--ndpr-input"]=e.input),e.ring!==void 0&&(r["--ndpr-ring"]=e.ring),e.success!==void 0&&(r["--ndpr-success"]=e.success),e.destructive!==void 0&&(r["--ndpr-destructive"]=e.destructive),e.warning!==void 0&&(r["--ndpr-warning"]=e.warning);}if(o.radius){let e=o.radius;e.sm!==void 0&&(r["--ndpr-radius-sm"]=e.sm),e.base!==void 0&&(r["--ndpr-radius"]=e.base),e.lg!==void 0&&(r["--ndpr-radius-lg"]=e.lg),e.full!==void 0&&(r["--ndpr-radius-full"]=e.full);}if(o.spacing){let e=o.spacing;e[1]!==void 0&&(r["--ndpr-space-1"]=e[1]),e[2]!==void 0&&(r["--ndpr-space-2"]=e[2]),e[3]!==void 0&&(r["--ndpr-space-3"]=e[3]),e[4]!==void 0&&(r["--ndpr-space-4"]=e[4]),e[5]!==void 0&&(r["--ndpr-space-5"]=e[5]),e[6]!==void 0&&(r["--ndpr-space-6"]=e[6]),e[8]!==void 0&&(r["--ndpr-space-8"]=e[8]);}if(o.shadow){let e=o.shadow;e.sm!==void 0&&(r["--ndpr-shadow-sm"]=e.sm),e.base!==void 0&&(r["--ndpr-shadow"]=e.base),e.lg!==void 0&&(r["--ndpr-shadow-lg"]=e.lg);}if(o.font){let e=o.font;e.sans!==void 0&&(r["--ndpr-font-sans"]=e.sans),e.sizeXs!==void 0&&(r["--ndpr-font-size-xs"]=e.sizeXs),e.sizeSm!==void 0&&(r["--ndpr-font-size-sm"]=e.sizeSm),e.sizeBase!==void 0&&(r["--ndpr-font-size-base"]=e.sizeBase),e.sizeLg!==void 0&&(r["--ndpr-font-size-lg"]=e.sizeLg),e.sizeXl!==void 0&&(r["--ndpr-font-size-xl"]=e.sizeXl),e.lineHeight!==void 0&&(r["--ndpr-line-height"]=e.lineHeight),e.lineHeightTight!==void 0&&(r["--ndpr-line-height-tight"]=e.lineHeightTight);}if(o.transition){let e=o.transition;e.base!==void 0&&(r["--ndpr-transition"]=e.base),e.slow!==void 0&&(r["--ndpr-transition-slow"]=e.slow);}if(o.z){let e=o.z;e.banner!==void 0&&(r["--ndpr-z-banner"]=String(e.banner)),e.modal!==void 0&&(r["--ndpr-z-modal"]=String(e.modal));}return Object.keys(r).length>0?r:void 0},[o]),p=o==null?void 0:o.mode;return jsxRuntime.jsx("div",{"data-ndpr-theme":"","data-theme":p,className:s,style:t,children:n})};var Ce=({variant:o="short",className:s,hidden:n})=>{if(n)return null;let t=o==="long"?chunkZVOIR4QH_js.b:chunkZVOIR4QH_js.a;return jsxRuntime.jsx("p",{role:"note",className:s!=null?s:"ndpr-legal-notice","data-ndpr-legal-notice":o,children:t})};Object.defineProperty(exports,"NDPRDashboard",{enumerable:true,get:function(){return chunkNUWVPRNI_js.a}});Object.defineProperty(exports,"BreachNotificationManager",{enumerable:true,get:function(){return chunkPGI2LM6P_js.b}});Object.defineProperty(exports,"BreachRiskAssessment",{enumerable:true,get:function(){return chunkPGI2LM6P_js.a}});Object.defineProperty(exports,"RegulatoryReportGenerator",{enumerable:true,get:function(){return chunkPGI2LM6P_js.c}});Object.defineProperty(exports,"BreachReportForm",{enumerable:true,get:function(){return chunkS6COXIZA_js.a}});Object.defineProperty(exports,"PolicyExporter",{enumerable:true,get:function(){return chunkXO3VQYTL_js.c}});Object.defineProperty(exports,"PolicyGenerator",{enumerable:true,get:function(){return chunkXO3VQYTL_js.a}});Object.defineProperty(exports,"PolicyPreview",{enumerable:true,get:function(){return chunkXO3VQYTL_js.b}});Object.defineProperty(exports,"LawfulBasisTracker",{enumerable:true,get:function(){return chunkPZRQWPWD_js.a}});Object.defineProperty(exports,"CrossBorderTransferManager",{enumerable:true,get:function(){return chunkI3Y4LOSL_js.a}});Object.defineProperty(exports,"ROPAManager",{enumerable:true,get:function(){return chunk5GVMKUMP_js.a}});Object.defineProperty(exports,"NDPRProvider",{enumerable:true,get:function(){return chunkUAV7V4EM_js.a}});Object.defineProperty(exports,"useNDPRConfig",{enumerable:true,get:function(){return chunkUAV7V4EM_js.b}});Object.defineProperty(exports,"useComplianceScore",{enumerable:true,get:function(){return chunkRYREGZVQ_js.a}});Object.defineProperty(exports,"useBreach",{enumerable:true,get:function(){return chunkVJTQXVAF_js.a}});Object.defineProperty(exports,"useDefaultPrivacyPolicy",{enumerable:true,get:function(){return chunkZ763UI5U_js.b}});Object.defineProperty(exports,"usePrivacyPolicy",{enumerable:true,get:function(){return chunkZ763UI5U_js.a}});Object.defineProperty(exports,"useAdaptivePolicyWizard",{enumerable:true,get:function(){return chunkHXWHL4BD_js.a}});Object.defineProperty(exports,"useLawfulBasis",{enumerable:true,get:function(){return chunkUTFBKL73_js.a}});Object.defineProperty(exports,"useCrossBorderTransfer",{enumerable:true,get:function(){return chunkHHK5LHEG_js.a}});Object.defineProperty(exports,"useROPA",{enumerable:true,get:function(){return chunk3JPDTXGC_js.a}});Object.defineProperty(exports,"getComplianceScore",{enumerable:true,get:function(){return chunkQPRYXVH2_js.a}});Object.defineProperty(exports,"calculateBreachSeverity",{enumerable:true,get:function(){return chunk3YTAOT5O_js.a}});Object.defineProperty(exports,"DEFAULT_POLICY_SECTIONS",{enumerable:true,get:function(){return chunkLVGT3DLT_js.c}});Object.defineProperty(exports,"DEFAULT_POLICY_VARIABLES",{enumerable:true,get:function(){return chunkLVGT3DLT_js.d}});Object.defineProperty(exports,"createBusinessPolicyTemplate",{enumerable:true,get:function(){return chunkLVGT3DLT_js.e}});Object.defineProperty(exports,"generatePolicyText",{enumerable:true,get:function(){return chunkLVGT3DLT_js.b}});Object.defineProperty(exports,"assessTransferRisk",{enumerable:true,get:function(){return chunkYFBDJ4FH_js.h}});Object.defineProperty(exports,"getTransferMechanismDescription",{enumerable:true,get:function(){return chunkYFBDJ4FH_js.f}});Object.defineProperty(exports,"isNDPCApprovalRequired",{enumerable:true,get:function(){return chunkYFBDJ4FH_js.e}});Object.defineProperty(exports,"validateTransfer",{enumerable:true,get:function(){return chunkYFBDJ4FH_js.g}});Object.defineProperty(exports,"assessComplianceGaps",{enumerable:true,get:function(){return chunkWZYCBW2R_js.c}});Object.defineProperty(exports,"generateLawfulBasisSummary",{enumerable:true,get:function(){return chunkWZYCBW2R_js.d}});Object.defineProperty(exports,"getLawfulBasisDescription",{enumerable:true,get:function(){return chunkWZYCBW2R_js.b}});Object.defineProperty(exports,"validateProcessingActivity",{enumerable:true,get:function(){return chunkWZYCBW2R_js.a}});Object.defineProperty(exports,"exportROPAToCSV",{enumerable:true,get:function(){return chunk4CVBQC66_js.c}});Object.defineProperty(exports,"generateROPASummary",{enumerable:true,get:function(){return chunk4CVBQC66_js.b}});Object.defineProperty(exports,"identifyComplianceGaps",{enumerable:true,get:function(){return chunk4CVBQC66_js.d}});Object.defineProperty(exports,"validateProcessingRecord",{enumerable:true,get:function(){return chunk4CVBQC66_js.a}});Object.defineProperty(exports,"ConsentStorage",{enumerable:true,get:function(){return chunkSJDDNB6M_js.a}});Object.defineProperty(exports,"ConsentManager",{enumerable:true,get:function(){return chunkBRS52EDT_js.a}});Object.defineProperty(exports,"ConsentBanner",{enumerable:true,get:function(){return chunk732C2EVN_js.a}});Object.defineProperty(exports,"appendAuditEntry",{enumerable:true,get:function(){return chunk3IA3KDII_js.c}});Object.defineProperty(exports,"createAuditEntry",{enumerable:true,get:function(){return chunk3IA3KDII_js.a}});Object.defineProperty(exports,"getAuditLog",{enumerable:true,get:function(){return chunk3IA3KDII_js.b}});Object.defineProperty(exports,"useConsent",{enumerable:true,get:function(){return chunkP4LNLCSF_js.a}});Object.defineProperty(exports,"useFocusTrap",{enumerable:true,get:function(){return chunkL2VO3MEJ_js.a}});Object.defineProperty(exports,"validateConsent",{enumerable:true,get:function(){return chunkB46SJB5V_js.a}});Object.defineProperty(exports,"validateConsentOptions",{enumerable:true,get:function(){return chunkB46SJB5V_js.b}});Object.defineProperty(exports,"DSRDashboard",{enumerable:true,get:function(){return chunkCR2QZTGW_js.a}});Object.defineProperty(exports,"DSRTracker",{enumerable:true,get:function(){return chunkCR2QZTGW_js.b}});Object.defineProperty(exports,"DSRRequestForm",{enumerable:true,get:function(){return chunkW47OSMT6_js.a}});Object.defineProperty(exports,"sanitizeInput",{enumerable:true,get:function(){return chunkUXUMYP4L_js.a}});Object.defineProperty(exports,"useDSR",{enumerable:true,get:function(){return chunkHBLGN4SD_js.a}});Object.defineProperty(exports,"formatDSRRequest",{enumerable:true,get:function(){return chunkL2BRFMVS_js.b}});Object.defineProperty(exports,"DPIAReport",{enumerable:true,get:function(){return chunkEZCGTHQV_js.a}});Object.defineProperty(exports,"StepIndicator",{enumerable:true,get:function(){return chunkEZCGTHQV_js.b}});Object.defineProperty(exports,"DPIAQuestionnaire",{enumerable:true,get:function(){return chunkWDDCKYWA_js.a}});Object.defineProperty(exports,"useDPIA",{enumerable:true,get:function(){return chunkC7IDR2IV_js.a}});Object.defineProperty(exports,"assessDPIARisk",{enumerable:true,get:function(){return chunkTQZWJGJ2_js.a}});Object.defineProperty(exports,"LEGAL_DISCLAIMER_LONG",{enumerable:true,get:function(){return chunkZVOIR4QH_js.b}});Object.defineProperty(exports,"LEGAL_DISCLAIMER_SHORT",{enumerable:true,get:function(){return chunkZVOIR4QH_js.a}});Object.defineProperty(exports,"legalDisclaimerBlock",{enumerable:true,get:function(){return chunkZVOIR4QH_js.c}});Object.defineProperty(exports,"resolveClass",{enumerable:true,get:function(){return chunkAME4HJR4_js.a}});exports.LegalNotice=Ce;exports.NDPRThemeProvider=xe;
|
package/dist/index.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
export{
|
|
2
|
+
export{a as NDPRDashboard}from'./chunk-ZIZL37BG.mjs';export{b as BreachNotificationManager,a as BreachRiskAssessment,c as RegulatoryReportGenerator}from'./chunk-X3GCGC3H.mjs';export{a as BreachReportForm}from'./chunk-ZHFLBL63.mjs';export{c as PolicyExporter,a as PolicyGenerator,b as PolicyPreview}from'./chunk-TMXK4QKK.mjs';export{a as LawfulBasisTracker}from'./chunk-COD3RMTL.mjs';export{a as CrossBorderTransferManager}from'./chunk-GTYXVAJX.mjs';export{a as ROPAManager}from'./chunk-EXEXUAF6.mjs';export{a as NDPRProvider,b as useNDPRConfig}from'./chunk-EEQALYOY.mjs';import'./chunk-HWHBINVN.mjs';export{a as useComplianceScore}from'./chunk-W65ZWTLD.mjs';export{a as useBreach}from'./chunk-3HOXQNCH.mjs';export{b as useDefaultPrivacyPolicy,a as usePrivacyPolicy}from'./chunk-VYAL2TGT.mjs';export{a as useAdaptivePolicyWizard}from'./chunk-2MIQXECH.mjs';export{a as useLawfulBasis}from'./chunk-4G3SRVRI.mjs';export{a as useCrossBorderTransfer}from'./chunk-KDAZQO3N.mjs';export{a as useROPA}from'./chunk-RPXRPGHL.mjs';import'./chunk-AOHKVFAS.mjs';export{a as getComplianceScore}from'./chunk-EFIBHKQE.mjs';export{a as calculateBreachSeverity}from'./chunk-WTGKZX7J.mjs';export{c as DEFAULT_POLICY_SECTIONS,d as DEFAULT_POLICY_VARIABLES,e as createBusinessPolicyTemplate,b as generatePolicyText}from'./chunk-Y3MKMAFQ.mjs';import'./chunk-RMQ7OLNY.mjs';export{h as assessTransferRisk,f as getTransferMechanismDescription,e as isNDPCApprovalRequired,g as validateTransfer}from'./chunk-7BJXI2HI.mjs';export{c as assessComplianceGaps,d as generateLawfulBasisSummary,b as getLawfulBasisDescription,a as validateProcessingActivity}from'./chunk-LWIKDDSU.mjs';export{c as exportROPAToCSV,b as generateROPASummary,d as identifyComplianceGaps,a as validateProcessingRecord}from'./chunk-XP5PL6K7.mjs';export{a as ConsentStorage}from'./chunk-XOH4WXOZ.mjs';export{a as ConsentManager}from'./chunk-U5RWJRGA.mjs';export{a as ConsentBanner}from'./chunk-BFAX7JQA.mjs';export{c as appendAuditEntry,a as createAuditEntry,b as getAuditLog}from'./chunk-V7UFP6QU.mjs';export{a as useConsent}from'./chunk-PCU6GKBE.mjs';export{a as useFocusTrap}from'./chunk-YTU4FNM2.mjs';import'./chunk-UASG46LP.mjs';export{a as validateConsent,b as validateConsentOptions}from'./chunk-PJNKQPQP.mjs';export{a as DSRDashboard,b as DSRTracker}from'./chunk-66NQ5CVY.mjs';export{a as DSRRequestForm}from'./chunk-XJO4DH3L.mjs';export{a as sanitizeInput}from'./chunk-EWVK45Z3.mjs';export{a as useDSR}from'./chunk-MPBPAEZC.mjs';export{b as formatDSRRequest}from'./chunk-RZ6GC6WN.mjs';export{a as DPIAReport,b as StepIndicator}from'./chunk-O45PKBZA.mjs';export{a as DPIAQuestionnaire}from'./chunk-ZQZJNKVB.mjs';export{a as useDPIA}from'./chunk-H3XJV2IR.mjs';export{a as assessDPIARisk}from'./chunk-LRRENTT5.mjs';import {b,a}from'./chunk-ITCY2Z66.mjs';export{b as LEGAL_DISCLAIMER_LONG,a as LEGAL_DISCLAIMER_SHORT,c as legalDisclaimerBlock}from'./chunk-ITCY2Z66.mjs';export{a as resolveClass}from'./chunk-SFGW37LE.mjs';import'./chunk-DBZSN4WP.mjs';import'./chunk-ZJYULEER.mjs';import {useMemo}from'react';import {jsx}from'react/jsx-runtime';var xe=({theme:o,className:s,children:n})=>{let t=useMemo(()=>{if(!o)return;let r={};if(o.colors){let e=o.colors;e.primary!==void 0&&(r["--ndpr-primary"]=e.primary),e.primaryHover!==void 0&&(r["--ndpr-primary-hover"]=e.primaryHover),e.primaryForeground!==void 0&&(r["--ndpr-primary-foreground"]=e.primaryForeground),e.background!==void 0&&(r["--ndpr-background"]=e.background),e.surface!==void 0&&(r["--ndpr-surface"]=e.surface),e.foreground!==void 0&&(r["--ndpr-foreground"]=e.foreground),e.muted!==void 0&&(r["--ndpr-muted"]=e.muted),e.mutedForeground!==void 0&&(r["--ndpr-muted-foreground"]=e.mutedForeground),e.border!==void 0&&(r["--ndpr-border"]=e.border),e.input!==void 0&&(r["--ndpr-input"]=e.input),e.ring!==void 0&&(r["--ndpr-ring"]=e.ring),e.success!==void 0&&(r["--ndpr-success"]=e.success),e.destructive!==void 0&&(r["--ndpr-destructive"]=e.destructive),e.warning!==void 0&&(r["--ndpr-warning"]=e.warning);}if(o.radius){let e=o.radius;e.sm!==void 0&&(r["--ndpr-radius-sm"]=e.sm),e.base!==void 0&&(r["--ndpr-radius"]=e.base),e.lg!==void 0&&(r["--ndpr-radius-lg"]=e.lg),e.full!==void 0&&(r["--ndpr-radius-full"]=e.full);}if(o.spacing){let e=o.spacing;e[1]!==void 0&&(r["--ndpr-space-1"]=e[1]),e[2]!==void 0&&(r["--ndpr-space-2"]=e[2]),e[3]!==void 0&&(r["--ndpr-space-3"]=e[3]),e[4]!==void 0&&(r["--ndpr-space-4"]=e[4]),e[5]!==void 0&&(r["--ndpr-space-5"]=e[5]),e[6]!==void 0&&(r["--ndpr-space-6"]=e[6]),e[8]!==void 0&&(r["--ndpr-space-8"]=e[8]);}if(o.shadow){let e=o.shadow;e.sm!==void 0&&(r["--ndpr-shadow-sm"]=e.sm),e.base!==void 0&&(r["--ndpr-shadow"]=e.base),e.lg!==void 0&&(r["--ndpr-shadow-lg"]=e.lg);}if(o.font){let e=o.font;e.sans!==void 0&&(r["--ndpr-font-sans"]=e.sans),e.sizeXs!==void 0&&(r["--ndpr-font-size-xs"]=e.sizeXs),e.sizeSm!==void 0&&(r["--ndpr-font-size-sm"]=e.sizeSm),e.sizeBase!==void 0&&(r["--ndpr-font-size-base"]=e.sizeBase),e.sizeLg!==void 0&&(r["--ndpr-font-size-lg"]=e.sizeLg),e.sizeXl!==void 0&&(r["--ndpr-font-size-xl"]=e.sizeXl),e.lineHeight!==void 0&&(r["--ndpr-line-height"]=e.lineHeight),e.lineHeightTight!==void 0&&(r["--ndpr-line-height-tight"]=e.lineHeightTight);}if(o.transition){let e=o.transition;e.base!==void 0&&(r["--ndpr-transition"]=e.base),e.slow!==void 0&&(r["--ndpr-transition-slow"]=e.slow);}if(o.z){let e=o.z;e.banner!==void 0&&(r["--ndpr-z-banner"]=String(e.banner)),e.modal!==void 0&&(r["--ndpr-z-modal"]=String(e.modal));}return Object.keys(r).length>0?r:void 0},[o]),p=o==null?void 0:o.mode;return jsx("div",{"data-ndpr-theme":"","data-theme":p,className:s,style:t,children:n})};var Ce=({variant:o="short",className:s,hidden:n})=>{if(n)return null;let t=o==="long"?b:a;return jsx("p",{role:"note",className:s!=null?s:"ndpr-legal-notice","data-ndpr-legal-notice":o,children:t})};export{Ce as LegalNotice,xe as NDPRThemeProvider};
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
import React__default from 'react';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Analyzes all processing activities and returns compliance gaps including
|
|
5
|
+
* missing DPO approval, overdue reviews, undocumented justifications,
|
|
6
|
+
* missing LIA for legitimate interests, and other documentation issues.
|
|
7
|
+
*
|
|
8
|
+
* @param activities Array of processing activities to analyze
|
|
9
|
+
* @returns Array of identified compliance gaps
|
|
10
|
+
*/
|
|
11
|
+
export declare function assessComplianceGaps(activities: ProcessingActivity[]): LawfulBasisComplianceGap[];
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Generates a summary of all lawful basis documentation across processing activities.
|
|
15
|
+
*
|
|
16
|
+
* @param activities Array of processing activities to summarize
|
|
17
|
+
* @returns LawfulBasisSummary with counts, breakdowns, and flagged activities
|
|
18
|
+
*/
|
|
19
|
+
export declare function generateLawfulBasisSummary(activities: ProcessingActivity[]): LawfulBasisSummary;
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Compliance gap identified across processing activities
|
|
23
|
+
*/
|
|
24
|
+
export declare interface LawfulBasisComplianceGap {
|
|
25
|
+
activityId: string;
|
|
26
|
+
activityName: string;
|
|
27
|
+
type: 'missing_approval' | 'overdue_review' | 'missing_justification' | 'missing_lia' | 'missing_sensitive_condition' | 'missing_retention' | 'missing_data_categories' | 'missing_purposes';
|
|
28
|
+
severity: 'high' | 'medium' | 'low';
|
|
29
|
+
description: string;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Summary of all lawful basis documentation for compliance reporting
|
|
34
|
+
*/
|
|
35
|
+
export declare interface LawfulBasisSummary {
|
|
36
|
+
/** Total number of processing activities */
|
|
37
|
+
totalActivities: number;
|
|
38
|
+
/** Breakdown by lawful basis */
|
|
39
|
+
byBasis: Record<LawfulBasisType, number>;
|
|
40
|
+
/** Number of activities involving sensitive data */
|
|
41
|
+
sensitiveDataActivities: number;
|
|
42
|
+
/** Number of activities involving cross-border transfers */
|
|
43
|
+
crossBorderActivities: number;
|
|
44
|
+
/** Activities due for review */
|
|
45
|
+
activitiesDueForReview: ProcessingActivity[];
|
|
46
|
+
/** Activities without DPO approval */
|
|
47
|
+
activitiesWithoutApproval: ProcessingActivity[];
|
|
48
|
+
/** Last updated timestamp */
|
|
49
|
+
lastUpdated: number;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
export declare const LawfulBasisTrackerLite: React__default.FC<LawfulBasisTrackerLiteProps>;
|
|
53
|
+
|
|
54
|
+
export declare interface LawfulBasisTrackerLiteClassNames {
|
|
55
|
+
root?: string;
|
|
56
|
+
header?: string;
|
|
57
|
+
title?: string;
|
|
58
|
+
summary?: string;
|
|
59
|
+
summaryCard?: string;
|
|
60
|
+
table?: string;
|
|
61
|
+
tableHeader?: string;
|
|
62
|
+
tableRow?: string;
|
|
63
|
+
statusBadge?: string;
|
|
64
|
+
complianceScore?: string;
|
|
65
|
+
gapAlert?: string;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
export declare interface LawfulBasisTrackerLiteProps {
|
|
69
|
+
activities: ProcessingActivity[];
|
|
70
|
+
title?: string;
|
|
71
|
+
description?: string;
|
|
72
|
+
className?: string;
|
|
73
|
+
classNames?: LawfulBasisTrackerLiteClassNames;
|
|
74
|
+
unstyled?: boolean;
|
|
75
|
+
showSummary?: boolean;
|
|
76
|
+
showComplianceGaps?: boolean;
|
|
77
|
+
onActivityClick?: (activity: ProcessingActivity) => void;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
/**
|
|
81
|
+
* Lawful Basis types aligned with NDPA 2023 Part III (Sections 24-28)
|
|
82
|
+
* Every processing activity must have a documented lawful basis
|
|
83
|
+
*/
|
|
84
|
+
/**
|
|
85
|
+
* The six lawful bases for processing personal data per NDPA Section 25(1)
|
|
86
|
+
*/
|
|
87
|
+
export declare type LawfulBasisType = 'consent' | 'contract' | 'legal_obligation' | 'vital_interests' | 'public_interest' | 'legitimate_interests';
|
|
88
|
+
|
|
89
|
+
/**
|
|
90
|
+
* Validation result for a processing activity
|
|
91
|
+
*/
|
|
92
|
+
export declare interface LawfulBasisValidationResult {
|
|
93
|
+
isValid: boolean;
|
|
94
|
+
errors: string[];
|
|
95
|
+
warnings: string[];
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
/**
|
|
99
|
+
* Represents a processing activity and its lawful basis
|
|
100
|
+
*/
|
|
101
|
+
export declare interface ProcessingActivity {
|
|
102
|
+
/** Unique identifier */
|
|
103
|
+
id: string;
|
|
104
|
+
/** Name of the processing activity */
|
|
105
|
+
name: string;
|
|
106
|
+
/** Description of what processing is performed */
|
|
107
|
+
description: string;
|
|
108
|
+
/** The lawful basis for this processing activity */
|
|
109
|
+
lawfulBasis: LawfulBasisType;
|
|
110
|
+
/** Justification for why this lawful basis applies */
|
|
111
|
+
lawfulBasisJustification: string;
|
|
112
|
+
/** Categories of personal data being processed */
|
|
113
|
+
dataCategories: string[];
|
|
114
|
+
/** Whether sensitive personal data is involved */
|
|
115
|
+
involvesSensitiveData: boolean;
|
|
116
|
+
/** Condition for processing sensitive data (required if involvesSensitiveData is true) */
|
|
117
|
+
sensitiveDataCondition?: SensitiveDataCondition;
|
|
118
|
+
/** Categories of data subjects */
|
|
119
|
+
dataSubjectCategories: string[];
|
|
120
|
+
/** Purposes of the processing */
|
|
121
|
+
purposes: string[];
|
|
122
|
+
/** Data retention period */
|
|
123
|
+
retentionPeriod: string;
|
|
124
|
+
/** Justification for the retention period */
|
|
125
|
+
retentionJustification?: string;
|
|
126
|
+
/** Recipients or categories of recipients */
|
|
127
|
+
recipients?: string[];
|
|
128
|
+
/** Whether data is transferred outside Nigeria */
|
|
129
|
+
crossBorderTransfer: boolean;
|
|
130
|
+
/** Timestamp when the record was created */
|
|
131
|
+
createdAt: number;
|
|
132
|
+
/** Timestamp when the record was last updated */
|
|
133
|
+
updatedAt: number;
|
|
134
|
+
/** Next review date */
|
|
135
|
+
reviewDate?: number;
|
|
136
|
+
/** Status of the processing activity */
|
|
137
|
+
status: 'active' | 'inactive' | 'under_review' | 'archived';
|
|
138
|
+
/** DPO approval details */
|
|
139
|
+
dpoApproval?: {
|
|
140
|
+
approved: boolean;
|
|
141
|
+
approvedBy: string;
|
|
142
|
+
approvedAt: number;
|
|
143
|
+
notes?: string;
|
|
144
|
+
};
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
/**
|
|
148
|
+
* Additional conditions required for processing sensitive personal data
|
|
149
|
+
* per NDPA Section 27
|
|
150
|
+
*/
|
|
151
|
+
declare type SensitiveDataCondition = 'explicit_consent' | 'employment_law' | 'vital_interests_incapable' | 'nonprofit_legitimate' | 'publicly_available' | 'legal_claims' | 'substantial_public_interest' | 'health_purposes' | 'public_health' | 'archiving_research';
|
|
152
|
+
|
|
153
|
+
export { }
|