@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.
Files changed (70) hide show
  1. package/CHANGELOG.md +230 -0
  2. package/README.md +146 -1
  3. package/dist/chunk-2MIQXECH.mjs +3 -0
  4. package/dist/chunk-3GRGYT3P.js +1 -0
  5. package/dist/chunk-5IOC3VAW.js +1 -0
  6. package/dist/chunk-ATFUSHC2.mjs +2 -0
  7. package/dist/{chunk-SJRIOZ4K.mjs → chunk-EFIWANHF.mjs} +1 -1
  8. package/dist/chunk-GQYBS3A7.mjs +0 -0
  9. package/dist/chunk-HXWHL4BD.js +3 -0
  10. package/dist/chunk-OZCNFB5C.js +1 -0
  11. package/dist/chunk-R7545FP4.mjs +1 -0
  12. package/dist/chunk-UKLU6BQF.mjs +1 -0
  13. package/dist/{chunk-I2LMQWK3.js → chunk-W7OLQRJP.js} +2 -2
  14. package/dist/{chunk-RXZFYBUJ.js → chunk-XS3Z4UT7.js} +1 -1
  15. package/dist/core.d.mts +70 -0
  16. package/dist/core.d.ts +70 -0
  17. package/dist/core.js +1 -1
  18. package/dist/core.mjs +1 -1
  19. package/dist/cross-border-lite.d.mts +141 -0
  20. package/dist/cross-border-lite.d.ts +141 -0
  21. package/dist/cross-border-lite.js +2 -0
  22. package/dist/cross-border-lite.mjs +2 -0
  23. package/dist/dsr.js +1 -1
  24. package/dist/dsr.mjs +1 -1
  25. package/dist/headless.d.mts +2391 -0
  26. package/dist/headless.d.ts +2391 -0
  27. package/dist/headless.js +2 -0
  28. package/dist/headless.mjs +2 -0
  29. package/dist/hooks.d.mts +10 -0
  30. package/dist/hooks.d.ts +10 -0
  31. package/dist/hooks.js +1 -1
  32. package/dist/hooks.mjs +1 -1
  33. package/dist/index.d.mts +133 -0
  34. package/dist/index.d.ts +133 -0
  35. package/dist/index.js +1 -1
  36. package/dist/index.mjs +1 -1
  37. package/dist/lawful-basis-lite.d.mts +153 -0
  38. package/dist/lawful-basis-lite.d.ts +153 -0
  39. package/dist/lawful-basis-lite.js +2 -0
  40. package/dist/lawful-basis-lite.mjs +2 -0
  41. package/dist/policy.d.mts +86 -0
  42. package/dist/policy.d.ts +86 -0
  43. package/dist/policy.js +1 -1
  44. package/dist/policy.mjs +1 -1
  45. package/dist/presets-dsr.d.mts +25 -0
  46. package/dist/presets-dsr.d.ts +25 -0
  47. package/dist/presets-dsr.js +1 -1
  48. package/dist/presets-dsr.mjs +1 -1
  49. package/dist/presets-policy.d.mts +71 -0
  50. package/dist/presets-policy.d.ts +71 -0
  51. package/dist/presets-policy.js +1 -1
  52. package/dist/presets-policy.mjs +1 -1
  53. package/dist/presets.d.mts +96 -0
  54. package/dist/presets.d.ts +96 -0
  55. package/dist/presets.js +1 -1
  56. package/dist/presets.mjs +1 -1
  57. package/dist/ropa-lite.d.mts +218 -0
  58. package/dist/ropa-lite.d.ts +218 -0
  59. package/dist/ropa-lite.js +2 -0
  60. package/dist/ropa-lite.mjs +2 -0
  61. package/dist/server.d.mts +70 -0
  62. package/dist/server.d.ts +70 -0
  63. package/dist/server.js +1 -1
  64. package/dist/server.mjs +1 -1
  65. package/package.json +3 -2
  66. package/dist/chunk-BNHQFZHL.mjs +0 -2
  67. package/dist/chunk-O6CUBNXK.mjs +0 -3
  68. package/dist/chunk-RV2VMWZJ.mjs +0 -1
  69. package/dist/chunk-UI536RU2.js +0 -3
  70. package/dist/chunk-W7RBGZCC.js +0 -1
@@ -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'),chunkUI536RU2_js=require('./chunk-UI536RU2.js');require('./chunk-N3MQQUQP.js'),require('./chunk-LVGT3DLT.js'),require('./chunk-QPRYXVH2.js'),require('./chunk-Q64735OC.js'),require('./chunk-WZYCBW2R.js'),require('./chunk-YFBDJ4FH.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');var chunkVJTQXVAF_js=require('./chunk-VJTQXVAF.js');require('./chunk-3YTAOT5O.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,"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,"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}});Object.defineProperty(exports,"useBreach",{enumerable:true,get:function(){return chunkVJTQXVAF_js.a}});
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 useLawfulBasis}from'./chunk-4G3SRVRI.mjs';export{a as useCrossBorderTransfer}from'./chunk-KDAZQO3N.mjs';export{a as useROPA}from'./chunk-RPXRPGHL.mjs';export{a as useAdaptivePolicyWizard}from'./chunk-O6CUBNXK.mjs';import'./chunk-AOHKVFAS.mjs';import'./chunk-Y3MKMAFQ.mjs';import'./chunk-EFIBHKQE.mjs';import'./chunk-RMQ7OLNY.mjs';import'./chunk-LWIKDDSU.mjs';import'./chunk-7BJXI2HI.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';export{a as useBreach}from'./chunk-3HOXQNCH.mjs';import'./chunk-WTGKZX7J.mjs';import'./chunk-ITCY2Z66.mjs';import'./chunk-DBZSN4WP.mjs';import'./chunk-ZJYULEER.mjs';
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{c as PolicyExporter,a as PolicyGenerator,b as PolicyPreview}from'./chunk-TMXK4QKK.mjs';export{a as NDPRDashboard}from'./chunk-ZIZL37BG.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{b as useDefaultPrivacyPolicy,a as usePrivacyPolicy}from'./chunk-VYAL2TGT.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';export{a as useAdaptivePolicyWizard}from'./chunk-O6CUBNXK.mjs';import'./chunk-AOHKVFAS.mjs';export{c as DEFAULT_POLICY_SECTIONS,d as DEFAULT_POLICY_VARIABLES,e as createBusinessPolicyTemplate,b as generatePolicyText}from'./chunk-Y3MKMAFQ.mjs';export{a as getComplianceScore}from'./chunk-EFIBHKQE.mjs';import'./chunk-RMQ7OLNY.mjs';export{c as assessComplianceGaps,d as generateLawfulBasisSummary,b as getLawfulBasisDescription,a as validateProcessingActivity}from'./chunk-LWIKDDSU.mjs';export{h as assessTransferRisk,f as getTransferMechanismDescription,e as isNDPCApprovalRequired,g as validateTransfer}from'./chunk-7BJXI2HI.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 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';export{b as BreachNotificationManager,a as BreachRiskAssessment,c as RegulatoryReportGenerator}from'./chunk-X3GCGC3H.mjs';export{a as BreachReportForm}from'./chunk-ZHFLBL63.mjs';export{a as useBreach}from'./chunk-3HOXQNCH.mjs';export{a as calculateBreachSeverity}from'./chunk-WTGKZX7J.mjs';export{a as sanitizeInput}from'./chunk-EWVK45Z3.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 {jsx}from'react/jsx-runtime';var xe=({variant:t="short",className:e,hidden:s})=>{if(s)return null;let a$1=t==="long"?b:a;return jsx("p",{role:"note",className:e!=null?e:"ndpr-legal-notice","data-ndpr-legal-notice":t,children:a$1})};export{xe as LegalNotice};
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 { }