@tantainnovative/ndpr-toolkit 5.4.0 → 5.5.0

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/dist/hooks.js CHANGED
@@ -1,2 +1,2 @@
1
1
  "use client";
2
- 'use strict';require('./chunk-OVW5ASY3.js');var chunkUFTDY43A_js=require('./chunk-UFTDY43A.js'),chunkEHQVTFYO_js=require('./chunk-EHQVTFYO.js'),chunkRC3XFXTJ_js=require('./chunk-RC3XFXTJ.js'),chunkQHW4UKGJ_js=require('./chunk-QHW4UKGJ.js'),chunkIRRUYR6M_js=require('./chunk-IRRUYR6M.js'),chunkHHK5LHEG_js=require('./chunk-HHK5LHEG.js'),chunkTLIHFGIJ_js=require('./chunk-TLIHFGIJ.js');require('./chunk-WKY26JLT.js'),require('./chunk-Y346CURW.js'),require('./chunk-JS7SYL5P.js'),require('./chunk-7TTXS7JX.js'),require('./chunk-3YTAOT5O.js'),require('./chunk-D2ZKDQVL.js'),require('./chunk-6LJHLE6G.js'),require('./chunk-YFBDJ4FH.js'),require('./chunk-WZYCBW2R.js'),require('./chunk-4CVBQC66.js');var chunkQKXGVT2Q_js=require('./chunk-QKXGVT2Q.js'),chunkL2VO3MEJ_js=require('./chunk-L2VO3MEJ.js');require('./chunk-C2KEXHRX.js'),require('./chunk-DKLJ5DYN.js');var chunkTVA6D6S4_js=require('./chunk-TVA6D6S4.js');require('./chunk-R2ZZMATR.js');var chunkJLQT3W3E_js=require('./chunk-JLQT3W3E.js');require('./chunk-TQZWJGJ2.js'),require('./chunk-ZVOIR4QH.js'),require('./chunk-VWED6UTN.js'),require('./chunk-RFPLZDIO.js');Object.defineProperty(exports,"useBreachNotificationAssessment",{enumerable:true,get:function(){return chunkUFTDY43A_js.a}});Object.defineProperty(exports,"useComplianceAuditReturn",{enumerable:true,get:function(){return chunkUFTDY43A_js.d}});Object.defineProperty(exports,"useComplianceScore",{enumerable:true,get:function(){return chunkUFTDY43A_js.b}});Object.defineProperty(exports,"useDCPMI",{enumerable:true,get:function(){return chunkUFTDY43A_js.c}});Object.defineProperty(exports,"useBreach",{enumerable:true,get:function(){return chunkEHQVTFYO_js.a}});Object.defineProperty(exports,"useDefaultPrivacyPolicy",{enumerable:true,get:function(){return chunkRC3XFXTJ_js.b}});Object.defineProperty(exports,"usePrivacyPolicy",{enumerable:true,get:function(){return chunkRC3XFXTJ_js.a}});Object.defineProperty(exports,"useAdaptivePolicyWizard",{enumerable:true,get:function(){return chunkQHW4UKGJ_js.a}});Object.defineProperty(exports,"useLawfulBasis",{enumerable:true,get:function(){return chunkIRRUYR6M_js.a}});Object.defineProperty(exports,"useCrossBorderTransfer",{enumerable:true,get:function(){return chunkHHK5LHEG_js.a}});Object.defineProperty(exports,"useROPA",{enumerable:true,get:function(){return chunkTLIHFGIJ_js.a}});Object.defineProperty(exports,"useConsent",{enumerable:true,get:function(){return chunkQKXGVT2Q_js.a}});Object.defineProperty(exports,"useFocusTrap",{enumerable:true,get:function(){return chunkL2VO3MEJ_js.a}});Object.defineProperty(exports,"useDSR",{enumerable:true,get:function(){return chunkTVA6D6S4_js.a}});Object.defineProperty(exports,"useDPIA",{enumerable:true,get:function(){return chunkJLQT3W3E_js.a}});
2
+ 'use strict';require('./chunk-OVW5ASY3.js');var chunkOW4GO3JF_js=require('./chunk-OW4GO3JF.js'),chunkEHQVTFYO_js=require('./chunk-EHQVTFYO.js'),chunkRC3XFXTJ_js=require('./chunk-RC3XFXTJ.js'),chunkQHW4UKGJ_js=require('./chunk-QHW4UKGJ.js'),chunkIRRUYR6M_js=require('./chunk-IRRUYR6M.js'),chunkHHK5LHEG_js=require('./chunk-HHK5LHEG.js'),chunkTLIHFGIJ_js=require('./chunk-TLIHFGIJ.js');require('./chunk-JS7SYL5P.js'),require('./chunk-WKY26JLT.js'),require('./chunk-7TTXS7JX.js'),require('./chunk-3YTAOT5O.js'),require('./chunk-Y346CURW.js'),require('./chunk-D2ZKDQVL.js'),require('./chunk-6LJHLE6G.js'),require('./chunk-YFBDJ4FH.js'),require('./chunk-WZYCBW2R.js'),require('./chunk-4CVBQC66.js');var chunkQKXGVT2Q_js=require('./chunk-QKXGVT2Q.js'),chunkL2VO3MEJ_js=require('./chunk-L2VO3MEJ.js');require('./chunk-C2KEXHRX.js'),require('./chunk-DKLJ5DYN.js');var chunkTVA6D6S4_js=require('./chunk-TVA6D6S4.js');require('./chunk-R2ZZMATR.js');var chunkJLQT3W3E_js=require('./chunk-JLQT3W3E.js');require('./chunk-TQZWJGJ2.js'),require('./chunk-ZVOIR4QH.js'),require('./chunk-VWED6UTN.js'),require('./chunk-RFPLZDIO.js');Object.defineProperty(exports,"useBreachNotificationAssessment",{enumerable:true,get:function(){return chunkOW4GO3JF_js.a}});Object.defineProperty(exports,"useComplianceAuditReturn",{enumerable:true,get:function(){return chunkOW4GO3JF_js.d}});Object.defineProperty(exports,"useComplianceScore",{enumerable:true,get:function(){return chunkOW4GO3JF_js.b}});Object.defineProperty(exports,"useDCPMI",{enumerable:true,get:function(){return chunkOW4GO3JF_js.c}});Object.defineProperty(exports,"useBreach",{enumerable:true,get:function(){return chunkEHQVTFYO_js.a}});Object.defineProperty(exports,"useDefaultPrivacyPolicy",{enumerable:true,get:function(){return chunkRC3XFXTJ_js.b}});Object.defineProperty(exports,"usePrivacyPolicy",{enumerable:true,get:function(){return chunkRC3XFXTJ_js.a}});Object.defineProperty(exports,"useAdaptivePolicyWizard",{enumerable:true,get:function(){return chunkQHW4UKGJ_js.a}});Object.defineProperty(exports,"useLawfulBasis",{enumerable:true,get:function(){return chunkIRRUYR6M_js.a}});Object.defineProperty(exports,"useCrossBorderTransfer",{enumerable:true,get:function(){return chunkHHK5LHEG_js.a}});Object.defineProperty(exports,"useROPA",{enumerable:true,get:function(){return chunkTLIHFGIJ_js.a}});Object.defineProperty(exports,"useConsent",{enumerable:true,get:function(){return chunkQKXGVT2Q_js.a}});Object.defineProperty(exports,"useFocusTrap",{enumerable:true,get:function(){return chunkL2VO3MEJ_js.a}});Object.defineProperty(exports,"useDSR",{enumerable:true,get:function(){return chunkTVA6D6S4_js.a}});Object.defineProperty(exports,"useDPIA",{enumerable:true,get:function(){return chunkJLQT3W3E_js.a}});
package/dist/hooks.mjs CHANGED
@@ -1,2 +1,2 @@
1
1
  "use client";
2
- import'./chunk-YQTZWPOS.mjs';export{a as useBreachNotificationAssessment,d as useComplianceAuditReturn,b as useComplianceScore,c as useDCPMI}from'./chunk-SDV2C5OT.mjs';export{a as useBreach}from'./chunk-RFXGD5NE.mjs';export{b as useDefaultPrivacyPolicy,a as usePrivacyPolicy}from'./chunk-UVXS7KRV.mjs';export{a as useAdaptivePolicyWizard}from'./chunk-KE2FZH2V.mjs';export{a as useLawfulBasis}from'./chunk-B6BRD5SL.mjs';export{a as useCrossBorderTransfer}from'./chunk-KDAZQO3N.mjs';export{a as useROPA}from'./chunk-FRMVSG4N.mjs';import'./chunk-SZXHNJGG.mjs';import'./chunk-WJSUVPYX.mjs';import'./chunk-IVSNHT24.mjs';import'./chunk-6A7M4CGJ.mjs';import'./chunk-WTGKZX7J.mjs';import'./chunk-NBQQ2GN3.mjs';import'./chunk-BIJSMSUU.mjs';import'./chunk-7BJXI2HI.mjs';import'./chunk-LWIKDDSU.mjs';import'./chunk-XP5PL6K7.mjs';export{a as useConsent}from'./chunk-PQ5IPUJN.mjs';export{a as useFocusTrap}from'./chunk-YTU4FNM2.mjs';import'./chunk-XC3DLYEG.mjs';import'./chunk-R3ZKV2J7.mjs';export{a as useDSR}from'./chunk-ZSRO4L3C.mjs';import'./chunk-RRVML7CU.mjs';export{a as useDPIA}from'./chunk-I3V3ITN7.mjs';import'./chunk-LRRENTT5.mjs';import'./chunk-ITCY2Z66.mjs';import'./chunk-DBZSN4WP.mjs';import'./chunk-ZJYULEER.mjs';
2
+ import'./chunk-YQTZWPOS.mjs';export{a as useBreachNotificationAssessment,d as useComplianceAuditReturn,b as useComplianceScore,c as useDCPMI}from'./chunk-Q5KB2DN3.mjs';export{a as useBreach}from'./chunk-RFXGD5NE.mjs';export{b as useDefaultPrivacyPolicy,a as usePrivacyPolicy}from'./chunk-UVXS7KRV.mjs';export{a as useAdaptivePolicyWizard}from'./chunk-KE2FZH2V.mjs';export{a as useLawfulBasis}from'./chunk-B6BRD5SL.mjs';export{a as useCrossBorderTransfer}from'./chunk-KDAZQO3N.mjs';export{a as useROPA}from'./chunk-FRMVSG4N.mjs';import'./chunk-IVSNHT24.mjs';import'./chunk-SZXHNJGG.mjs';import'./chunk-6A7M4CGJ.mjs';import'./chunk-WTGKZX7J.mjs';import'./chunk-WJSUVPYX.mjs';import'./chunk-NBQQ2GN3.mjs';import'./chunk-BIJSMSUU.mjs';import'./chunk-7BJXI2HI.mjs';import'./chunk-LWIKDDSU.mjs';import'./chunk-XP5PL6K7.mjs';export{a as useConsent}from'./chunk-PQ5IPUJN.mjs';export{a as useFocusTrap}from'./chunk-YTU4FNM2.mjs';import'./chunk-XC3DLYEG.mjs';import'./chunk-R3ZKV2J7.mjs';export{a as useDSR}from'./chunk-ZSRO4L3C.mjs';import'./chunk-RRVML7CU.mjs';export{a as useDPIA}from'./chunk-I3V3ITN7.mjs';import'./chunk-LRRENTT5.mjs';import'./chunk-ITCY2Z66.mjs';import'./chunk-DBZSN4WP.mjs';import'./chunk-ZJYULEER.mjs';
package/dist/index.d.mts CHANGED
@@ -160,6 +160,15 @@ export declare function assessDPIARisk(dpiaResult: DPIAResult): {
160
160
  */
161
161
  export declare function assessTransferRisk(transfer: CrossBorderTransfer): TransferRiskResult;
162
162
 
163
+ export declare interface AuditCheck {
164
+ id: string;
165
+ label: string;
166
+ status: AuditCheckStatus;
167
+ detail: string;
168
+ }
169
+
170
+ export declare type AuditCheckStatus = 'pass' | 'warn' | 'fail';
171
+
163
172
  /**
164
173
  * Breach notification types aligned with NDPA 2023 Section 40
165
174
  * Data controllers must notify the NDPC within 72 hours of becoming aware of a breach
@@ -2460,6 +2469,11 @@ export declare type EffortLevel = 'low' | 'medium' | 'high';
2460
2469
  */
2461
2470
  export declare function exportROPAToCSV(ropa: RecordOfProcessingActivities): string;
2462
2471
 
2472
+ export declare interface FormatAuditReportOptions {
2473
+ /** Wrap status symbols in ANSI colour codes. Default false. */
2474
+ color?: boolean;
2475
+ }
2476
+
2463
2477
  /**
2464
2478
  * Format a DSR request for display or submission. Returns the formatted
2465
2479
  * payload plus a typed `errors` array of `{ field, code, message }` for any
@@ -2485,6 +2499,11 @@ export declare interface FormatDSRRequestStructuredResult {
2485
2499
  data?: DSRRequest;
2486
2500
  }
2487
2501
 
2502
+ /**
2503
+ * Render an `NdprAuditResult` as a plain-text report.
2504
+ */
2505
+ export declare function formatNdprAuditReport(result: NdprAuditResult, options?: FormatAuditReportOptions): string;
2506
+
2488
2507
  /**
2489
2508
  * Derive the CAR schedule and status for a DCPMI under NDPC GAID 2025.
2490
2509
  */
@@ -2829,6 +2848,58 @@ export declare interface ModuleScore {
2829
2848
  gaps: string[];
2830
2849
  }
2831
2850
 
2851
+ /**
2852
+ * Aggregate NDPA 2023 compliance audit — combines the compliance-score engine
2853
+ * with the GAID 2025 DCPMI classifier, Compliance Audit Returns scheduler, and
2854
+ * breach-notification checker into a single pass/fail result suitable for CI.
2855
+ *
2856
+ * Pure and React-free: drive it from a config file via the `ndpr audit` CLI, a
2857
+ * CI job, or a server route. Not legal advice — verify against current NDPC
2858
+ * guidance.
2859
+ */
2860
+
2861
+ export declare interface NdprAuditInput {
2862
+ /** Compliance posture across the 8 NDPA modules. */
2863
+ compliance: ComplianceInput;
2864
+ /** Optional DCPMI classification input (GAID 2025 registration). */
2865
+ dcpmi?: DCPMIInput;
2866
+ /** Optional Compliance Audit Returns scheduling input. */
2867
+ car?: CARInput;
2868
+ /** Optional breach reports to check against the S. 40 / Article 33 duty. */
2869
+ breaches?: BreachReport[];
2870
+ }
2871
+
2872
+ export declare interface NdprAuditOptions {
2873
+ /** Minimum overall compliance score required to pass. Default 70. */
2874
+ minScore?: number;
2875
+ dcpmiOptions?: DCPMIClassificationOptions;
2876
+ carOptions?: CAROptions;
2877
+ breachOptions?: BreachNotificationOptions;
2878
+ }
2879
+
2880
+ export declare interface NdprAuditResult {
2881
+ /** True when the score meets `minScore` and no check is a hard failure. */
2882
+ passed: boolean;
2883
+ score: number;
2884
+ rating: ComplianceRating;
2885
+ minScore: number;
2886
+ checks: AuditCheck[];
2887
+ compliance: ComplianceReport;
2888
+ dcpmi?: DCPMIClassification;
2889
+ car?: ComplianceAuditReturn;
2890
+ breaches: Array<{
2891
+ id: string;
2892
+ title: string;
2893
+ assessment: BreachNotificationAssessment;
2894
+ }>;
2895
+ summary: {
2896
+ pass: number;
2897
+ warn: number;
2898
+ fail: number;
2899
+ };
2900
+ generatedAt: string;
2901
+ }
2902
+
2832
2903
  /**
2833
2904
  * Configuration for the NDPR toolkit provider.
2834
2905
  */
@@ -4267,6 +4338,11 @@ export declare interface ROPAValidationResult {
4267
4338
  errors: string[];
4268
4339
  }
4269
4340
 
4341
+ /**
4342
+ * Run the aggregate NDPA compliance audit.
4343
+ */
4344
+ export declare function runNdprAudit(input: NdprAuditInput, options?: NdprAuditOptions): NdprAuditResult;
4345
+
4270
4346
  /**
4271
4347
  * Sanitizes user input to prevent XSS attacks.
4272
4348
  * Escapes HTML special characters so that data rendered in dashboards
package/dist/index.d.ts CHANGED
@@ -160,6 +160,15 @@ export declare function assessDPIARisk(dpiaResult: DPIAResult): {
160
160
  */
161
161
  export declare function assessTransferRisk(transfer: CrossBorderTransfer): TransferRiskResult;
162
162
 
163
+ export declare interface AuditCheck {
164
+ id: string;
165
+ label: string;
166
+ status: AuditCheckStatus;
167
+ detail: string;
168
+ }
169
+
170
+ export declare type AuditCheckStatus = 'pass' | 'warn' | 'fail';
171
+
163
172
  /**
164
173
  * Breach notification types aligned with NDPA 2023 Section 40
165
174
  * Data controllers must notify the NDPC within 72 hours of becoming aware of a breach
@@ -2460,6 +2469,11 @@ export declare type EffortLevel = 'low' | 'medium' | 'high';
2460
2469
  */
2461
2470
  export declare function exportROPAToCSV(ropa: RecordOfProcessingActivities): string;
2462
2471
 
2472
+ export declare interface FormatAuditReportOptions {
2473
+ /** Wrap status symbols in ANSI colour codes. Default false. */
2474
+ color?: boolean;
2475
+ }
2476
+
2463
2477
  /**
2464
2478
  * Format a DSR request for display or submission. Returns the formatted
2465
2479
  * payload plus a typed `errors` array of `{ field, code, message }` for any
@@ -2485,6 +2499,11 @@ export declare interface FormatDSRRequestStructuredResult {
2485
2499
  data?: DSRRequest;
2486
2500
  }
2487
2501
 
2502
+ /**
2503
+ * Render an `NdprAuditResult` as a plain-text report.
2504
+ */
2505
+ export declare function formatNdprAuditReport(result: NdprAuditResult, options?: FormatAuditReportOptions): string;
2506
+
2488
2507
  /**
2489
2508
  * Derive the CAR schedule and status for a DCPMI under NDPC GAID 2025.
2490
2509
  */
@@ -2829,6 +2848,58 @@ export declare interface ModuleScore {
2829
2848
  gaps: string[];
2830
2849
  }
2831
2850
 
2851
+ /**
2852
+ * Aggregate NDPA 2023 compliance audit — combines the compliance-score engine
2853
+ * with the GAID 2025 DCPMI classifier, Compliance Audit Returns scheduler, and
2854
+ * breach-notification checker into a single pass/fail result suitable for CI.
2855
+ *
2856
+ * Pure and React-free: drive it from a config file via the `ndpr audit` CLI, a
2857
+ * CI job, or a server route. Not legal advice — verify against current NDPC
2858
+ * guidance.
2859
+ */
2860
+
2861
+ export declare interface NdprAuditInput {
2862
+ /** Compliance posture across the 8 NDPA modules. */
2863
+ compliance: ComplianceInput;
2864
+ /** Optional DCPMI classification input (GAID 2025 registration). */
2865
+ dcpmi?: DCPMIInput;
2866
+ /** Optional Compliance Audit Returns scheduling input. */
2867
+ car?: CARInput;
2868
+ /** Optional breach reports to check against the S. 40 / Article 33 duty. */
2869
+ breaches?: BreachReport[];
2870
+ }
2871
+
2872
+ export declare interface NdprAuditOptions {
2873
+ /** Minimum overall compliance score required to pass. Default 70. */
2874
+ minScore?: number;
2875
+ dcpmiOptions?: DCPMIClassificationOptions;
2876
+ carOptions?: CAROptions;
2877
+ breachOptions?: BreachNotificationOptions;
2878
+ }
2879
+
2880
+ export declare interface NdprAuditResult {
2881
+ /** True when the score meets `minScore` and no check is a hard failure. */
2882
+ passed: boolean;
2883
+ score: number;
2884
+ rating: ComplianceRating;
2885
+ minScore: number;
2886
+ checks: AuditCheck[];
2887
+ compliance: ComplianceReport;
2888
+ dcpmi?: DCPMIClassification;
2889
+ car?: ComplianceAuditReturn;
2890
+ breaches: Array<{
2891
+ id: string;
2892
+ title: string;
2893
+ assessment: BreachNotificationAssessment;
2894
+ }>;
2895
+ summary: {
2896
+ pass: number;
2897
+ warn: number;
2898
+ fail: number;
2899
+ };
2900
+ generatedAt: string;
2901
+ }
2902
+
2832
2903
  /**
2833
2904
  * Configuration for the NDPR toolkit provider.
2834
2905
  */
@@ -4267,6 +4338,11 @@ export declare interface ROPAValidationResult {
4267
4338
  errors: string[];
4268
4339
  }
4269
4340
 
4341
+ /**
4342
+ * Run the aggregate NDPA compliance audit.
4343
+ */
4344
+ export declare function runNdprAudit(input: NdprAuditInput, options?: NdprAuditOptions): NdprAuditResult;
4345
+
4270
4346
  /**
4271
4347
  * Sanitizes user input to prevent XSS attacks.
4272
4348
  * Escapes HTML special characters so that data rendered in dashboards
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
1
  "use client";
2
- 'use strict';var chunkNUWVPRNI_js=require('./chunk-NUWVPRNI.js'),chunkC7OOUURS_js=require('./chunk-C7OOUURS.js'),chunkLHQG25Y2_js=require('./chunk-LHQG25Y2.js'),chunk2MGLU3FY_js=require('./chunk-2MGLU3FY.js'),chunkERCGW2DJ_js=require('./chunk-ERCGW2DJ.js'),chunk2OSZT7KI_js=require('./chunk-2OSZT7KI.js'),chunk37VR2MXL_js=require('./chunk-37VR2MXL.js'),chunkUFTDY43A_js=require('./chunk-UFTDY43A.js'),chunkEHQVTFYO_js=require('./chunk-EHQVTFYO.js'),chunkRC3XFXTJ_js=require('./chunk-RC3XFXTJ.js'),chunkQHW4UKGJ_js=require('./chunk-QHW4UKGJ.js'),chunkIRRUYR6M_js=require('./chunk-IRRUYR6M.js'),chunkHHK5LHEG_js=require('./chunk-HHK5LHEG.js'),chunkTLIHFGIJ_js=require('./chunk-TLIHFGIJ.js'),chunkWKY26JLT_js=require('./chunk-WKY26JLT.js'),chunkY346CURW_js=require('./chunk-Y346CURW.js');require('./chunk-JS7SYL5P.js');var chunk7TTXS7JX_js=require('./chunk-7TTXS7JX.js'),chunk3YTAOT5O_js=require('./chunk-3YTAOT5O.js'),chunkD2ZKDQVL_js=require('./chunk-D2ZKDQVL.js');require('./chunk-6LJHLE6G.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'),chunkC32TMS75_js=require('./chunk-C32TMS75.js'),chunkPXUX4FYM_js=require('./chunk-PXUX4FYM.js'),chunk3IA3KDII_js=require('./chunk-3IA3KDII.js'),chunkQKXGVT2Q_js=require('./chunk-QKXGVT2Q.js'),chunkL2VO3MEJ_js=require('./chunk-L2VO3MEJ.js');require('./chunk-C2KEXHRX.js');var chunkDKLJ5DYN_js=require('./chunk-DKLJ5DYN.js'),chunkTYR5PFYD_js=require('./chunk-TYR5PFYD.js'),chunkFRHFIEWZ_js=require('./chunk-FRHFIEWZ.js'),chunkUXUMYP4L_js=require('./chunk-UXUMYP4L.js'),chunkTVA6D6S4_js=require('./chunk-TVA6D6S4.js'),chunkR2ZZMATR_js=require('./chunk-R2ZZMATR.js'),chunkQG72X7G4_js=require('./chunk-QG72X7G4.js'),chunkDRQURLN5_js=require('./chunk-DRQURLN5.js'),chunkJLQT3W3E_js=require('./chunk-JLQT3W3E.js'),chunkTQZWJGJ2_js=require('./chunk-TQZWJGJ2.js'),chunkZVOIR4QH_js=require('./chunk-ZVOIR4QH.js'),chunkAME4HJR4_js=require('./chunk-AME4HJR4.js'),chunkI5ZDNSX5_js=require('./chunk-I5ZDNSX5.js');require('./chunk-7563FVMY.js'),require('./chunk-VWED6UTN.js'),require('./chunk-RFPLZDIO.js');var react=require('react'),jsxRuntime=require('react/jsx-runtime');var Be=({theme:o,className:t,children:s})=>{let n=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:t,style:n,children:s})};var Ie=({variant:o="short",className:t,hidden:s})=>{if(s)return null;let n=o==="long"?chunkZVOIR4QH_js.b:chunkZVOIR4QH_js.a;return jsxRuntime.jsx("p",{role:"note",className:t!=null?t:"ndpr-legal-notice","data-ndpr-legal-notice":o,children:n})};Object.defineProperty(exports,"NDPRDashboard",{enumerable:true,get:function(){return chunkNUWVPRNI_js.a}});Object.defineProperty(exports,"BreachNotificationManager",{enumerable:true,get:function(){return chunkC7OOUURS_js.b}});Object.defineProperty(exports,"BreachRiskAssessment",{enumerable:true,get:function(){return chunkC7OOUURS_js.a}});Object.defineProperty(exports,"RegulatoryReportGenerator",{enumerable:true,get:function(){return chunkC7OOUURS_js.c}});Object.defineProperty(exports,"BreachReportForm",{enumerable:true,get:function(){return chunkLHQG25Y2_js.a}});Object.defineProperty(exports,"PolicyExporter",{enumerable:true,get:function(){return chunk2MGLU3FY_js.c}});Object.defineProperty(exports,"PolicyGenerator",{enumerable:true,get:function(){return chunk2MGLU3FY_js.a}});Object.defineProperty(exports,"PolicyPreview",{enumerable:true,get:function(){return chunk2MGLU3FY_js.b}});Object.defineProperty(exports,"LawfulBasisTracker",{enumerable:true,get:function(){return chunkERCGW2DJ_js.a}});Object.defineProperty(exports,"CrossBorderTransferManager",{enumerable:true,get:function(){return chunk2OSZT7KI_js.a}});Object.defineProperty(exports,"ROPAManager",{enumerable:true,get:function(){return chunk37VR2MXL_js.a}});Object.defineProperty(exports,"useBreachNotificationAssessment",{enumerable:true,get:function(){return chunkUFTDY43A_js.a}});Object.defineProperty(exports,"useComplianceAuditReturn",{enumerable:true,get:function(){return chunkUFTDY43A_js.d}});Object.defineProperty(exports,"useComplianceScore",{enumerable:true,get:function(){return chunkUFTDY43A_js.b}});Object.defineProperty(exports,"useDCPMI",{enumerable:true,get:function(){return chunkUFTDY43A_js.c}});Object.defineProperty(exports,"useBreach",{enumerable:true,get:function(){return chunkEHQVTFYO_js.a}});Object.defineProperty(exports,"useDefaultPrivacyPolicy",{enumerable:true,get:function(){return chunkRC3XFXTJ_js.b}});Object.defineProperty(exports,"usePrivacyPolicy",{enumerable:true,get:function(){return chunkRC3XFXTJ_js.a}});Object.defineProperty(exports,"useAdaptivePolicyWizard",{enumerable:true,get:function(){return chunkQHW4UKGJ_js.a}});Object.defineProperty(exports,"useLawfulBasis",{enumerable:true,get:function(){return chunkIRRUYR6M_js.a}});Object.defineProperty(exports,"useCrossBorderTransfer",{enumerable:true,get:function(){return chunkHHK5LHEG_js.a}});Object.defineProperty(exports,"useROPA",{enumerable:true,get:function(){return chunkTLIHFGIJ_js.a}});Object.defineProperty(exports,"DEFAULT_DCPMI_FEES_NGN",{enumerable:true,get:function(){return chunkWKY26JLT_js.b}});Object.defineProperty(exports,"DEFAULT_DCPMI_THRESHOLDS",{enumerable:true,get:function(){return chunkWKY26JLT_js.a}});Object.defineProperty(exports,"classifyDCPMI",{enumerable:true,get:function(){return chunkWKY26JLT_js.c}});Object.defineProperty(exports,"generateComplianceAuditReturn",{enumerable:true,get:function(){return chunkWKY26JLT_js.d}});Object.defineProperty(exports,"assessBreachNotification",{enumerable:true,get:function(){return chunkY346CURW_js.a}});Object.defineProperty(exports,"getComplianceScore",{enumerable:true,get:function(){return chunk7TTXS7JX_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 chunkD2ZKDQVL_js.c}});Object.defineProperty(exports,"DEFAULT_POLICY_VARIABLES",{enumerable:true,get:function(){return chunkD2ZKDQVL_js.d}});Object.defineProperty(exports,"createBusinessPolicyTemplate",{enumerable:true,get:function(){return chunkD2ZKDQVL_js.e}});Object.defineProperty(exports,"generatePolicyText",{enumerable:true,get:function(){return chunkD2ZKDQVL_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 chunkC32TMS75_js.a}});Object.defineProperty(exports,"ConsentBanner",{enumerable:true,get:function(){return chunkPXUX4FYM_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 chunkQKXGVT2Q_js.a}});Object.defineProperty(exports,"useFocusTrap",{enumerable:true,get:function(){return chunkL2VO3MEJ_js.a}});Object.defineProperty(exports,"validateConsentOptionsStructured",{enumerable:true,get:function(){return chunkDKLJ5DYN_js.b}});Object.defineProperty(exports,"validateConsentStructured",{enumerable:true,get:function(){return chunkDKLJ5DYN_js.a}});Object.defineProperty(exports,"DSRDashboard",{enumerable:true,get:function(){return chunkTYR5PFYD_js.a}});Object.defineProperty(exports,"DSRTracker",{enumerable:true,get:function(){return chunkTYR5PFYD_js.b}});Object.defineProperty(exports,"DSRRequestForm",{enumerable:true,get:function(){return chunkFRHFIEWZ_js.a}});Object.defineProperty(exports,"sanitizeInput",{enumerable:true,get:function(){return chunkUXUMYP4L_js.a}});Object.defineProperty(exports,"useDSR",{enumerable:true,get:function(){return chunkTVA6D6S4_js.a}});Object.defineProperty(exports,"formatDSRRequestStructured",{enumerable:true,get:function(){return chunkR2ZZMATR_js.b}});Object.defineProperty(exports,"validateDsrSubmissionStructured",{enumerable:true,get:function(){return chunkR2ZZMATR_js.a}});Object.defineProperty(exports,"DPIAReport",{enumerable:true,get:function(){return chunkQG72X7G4_js.a}});Object.defineProperty(exports,"StepIndicator",{enumerable:true,get:function(){return chunkQG72X7G4_js.b}});Object.defineProperty(exports,"DPIAQuestionnaire",{enumerable:true,get:function(){return chunkDRQURLN5_js.a}});Object.defineProperty(exports,"useDPIA",{enumerable:true,get:function(){return chunkJLQT3W3E_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}});Object.defineProperty(exports,"NDPRProvider",{enumerable:true,get:function(){return chunkI5ZDNSX5_js.a}});Object.defineProperty(exports,"useNDPRConfig",{enumerable:true,get:function(){return chunkI5ZDNSX5_js.b}});exports.LegalNotice=Ie;exports.NDPRThemeProvider=Be;
2
+ 'use strict';var chunkNUWVPRNI_js=require('./chunk-NUWVPRNI.js'),chunkC7OOUURS_js=require('./chunk-C7OOUURS.js'),chunkLHQG25Y2_js=require('./chunk-LHQG25Y2.js'),chunk2MGLU3FY_js=require('./chunk-2MGLU3FY.js'),chunkERCGW2DJ_js=require('./chunk-ERCGW2DJ.js'),chunk2OSZT7KI_js=require('./chunk-2OSZT7KI.js'),chunk37VR2MXL_js=require('./chunk-37VR2MXL.js'),chunkXCKX2WKD_js=require('./chunk-XCKX2WKD.js'),chunkOW4GO3JF_js=require('./chunk-OW4GO3JF.js'),chunkEHQVTFYO_js=require('./chunk-EHQVTFYO.js'),chunkRC3XFXTJ_js=require('./chunk-RC3XFXTJ.js'),chunkQHW4UKGJ_js=require('./chunk-QHW4UKGJ.js'),chunkIRRUYR6M_js=require('./chunk-IRRUYR6M.js'),chunkHHK5LHEG_js=require('./chunk-HHK5LHEG.js'),chunkTLIHFGIJ_js=require('./chunk-TLIHFGIJ.js');require('./chunk-JS7SYL5P.js');var chunkWKY26JLT_js=require('./chunk-WKY26JLT.js'),chunk7TTXS7JX_js=require('./chunk-7TTXS7JX.js'),chunk3YTAOT5O_js=require('./chunk-3YTAOT5O.js'),chunkY346CURW_js=require('./chunk-Y346CURW.js'),chunkD2ZKDQVL_js=require('./chunk-D2ZKDQVL.js');require('./chunk-6LJHLE6G.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'),chunkC32TMS75_js=require('./chunk-C32TMS75.js'),chunkPXUX4FYM_js=require('./chunk-PXUX4FYM.js'),chunk3IA3KDII_js=require('./chunk-3IA3KDII.js'),chunkQKXGVT2Q_js=require('./chunk-QKXGVT2Q.js'),chunkL2VO3MEJ_js=require('./chunk-L2VO3MEJ.js');require('./chunk-C2KEXHRX.js');var chunkDKLJ5DYN_js=require('./chunk-DKLJ5DYN.js'),chunkTYR5PFYD_js=require('./chunk-TYR5PFYD.js'),chunkFRHFIEWZ_js=require('./chunk-FRHFIEWZ.js'),chunkUXUMYP4L_js=require('./chunk-UXUMYP4L.js'),chunkTVA6D6S4_js=require('./chunk-TVA6D6S4.js'),chunkR2ZZMATR_js=require('./chunk-R2ZZMATR.js'),chunkQG72X7G4_js=require('./chunk-QG72X7G4.js'),chunkDRQURLN5_js=require('./chunk-DRQURLN5.js'),chunkJLQT3W3E_js=require('./chunk-JLQT3W3E.js'),chunkTQZWJGJ2_js=require('./chunk-TQZWJGJ2.js'),chunkZVOIR4QH_js=require('./chunk-ZVOIR4QH.js'),chunkAME4HJR4_js=require('./chunk-AME4HJR4.js'),chunkI5ZDNSX5_js=require('./chunk-I5ZDNSX5.js');require('./chunk-7563FVMY.js'),require('./chunk-VWED6UTN.js'),require('./chunk-RFPLZDIO.js');var react=require('react'),jsxRuntime=require('react/jsx-runtime');var Ie=({theme:o,className:t,children:s})=>{let n=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:t,style:n,children:s})};var Le=({variant:o="short",className:t,hidden:s})=>{if(s)return null;let n=o==="long"?chunkZVOIR4QH_js.b:chunkZVOIR4QH_js.a;return jsxRuntime.jsx("p",{role:"note",className:t!=null?t:"ndpr-legal-notice","data-ndpr-legal-notice":o,children:n})};Object.defineProperty(exports,"NDPRDashboard",{enumerable:true,get:function(){return chunkNUWVPRNI_js.a}});Object.defineProperty(exports,"BreachNotificationManager",{enumerable:true,get:function(){return chunkC7OOUURS_js.b}});Object.defineProperty(exports,"BreachRiskAssessment",{enumerable:true,get:function(){return chunkC7OOUURS_js.a}});Object.defineProperty(exports,"RegulatoryReportGenerator",{enumerable:true,get:function(){return chunkC7OOUURS_js.c}});Object.defineProperty(exports,"BreachReportForm",{enumerable:true,get:function(){return chunkLHQG25Y2_js.a}});Object.defineProperty(exports,"PolicyExporter",{enumerable:true,get:function(){return chunk2MGLU3FY_js.c}});Object.defineProperty(exports,"PolicyGenerator",{enumerable:true,get:function(){return chunk2MGLU3FY_js.a}});Object.defineProperty(exports,"PolicyPreview",{enumerable:true,get:function(){return chunk2MGLU3FY_js.b}});Object.defineProperty(exports,"LawfulBasisTracker",{enumerable:true,get:function(){return chunkERCGW2DJ_js.a}});Object.defineProperty(exports,"CrossBorderTransferManager",{enumerable:true,get:function(){return chunk2OSZT7KI_js.a}});Object.defineProperty(exports,"ROPAManager",{enumerable:true,get:function(){return chunk37VR2MXL_js.a}});Object.defineProperty(exports,"formatNdprAuditReport",{enumerable:true,get:function(){return chunkXCKX2WKD_js.b}});Object.defineProperty(exports,"runNdprAudit",{enumerable:true,get:function(){return chunkXCKX2WKD_js.a}});Object.defineProperty(exports,"useBreachNotificationAssessment",{enumerable:true,get:function(){return chunkOW4GO3JF_js.a}});Object.defineProperty(exports,"useComplianceAuditReturn",{enumerable:true,get:function(){return chunkOW4GO3JF_js.d}});Object.defineProperty(exports,"useComplianceScore",{enumerable:true,get:function(){return chunkOW4GO3JF_js.b}});Object.defineProperty(exports,"useDCPMI",{enumerable:true,get:function(){return chunkOW4GO3JF_js.c}});Object.defineProperty(exports,"useBreach",{enumerable:true,get:function(){return chunkEHQVTFYO_js.a}});Object.defineProperty(exports,"useDefaultPrivacyPolicy",{enumerable:true,get:function(){return chunkRC3XFXTJ_js.b}});Object.defineProperty(exports,"usePrivacyPolicy",{enumerable:true,get:function(){return chunkRC3XFXTJ_js.a}});Object.defineProperty(exports,"useAdaptivePolicyWizard",{enumerable:true,get:function(){return chunkQHW4UKGJ_js.a}});Object.defineProperty(exports,"useLawfulBasis",{enumerable:true,get:function(){return chunkIRRUYR6M_js.a}});Object.defineProperty(exports,"useCrossBorderTransfer",{enumerable:true,get:function(){return chunkHHK5LHEG_js.a}});Object.defineProperty(exports,"useROPA",{enumerable:true,get:function(){return chunkTLIHFGIJ_js.a}});Object.defineProperty(exports,"DEFAULT_DCPMI_FEES_NGN",{enumerable:true,get:function(){return chunkWKY26JLT_js.b}});Object.defineProperty(exports,"DEFAULT_DCPMI_THRESHOLDS",{enumerable:true,get:function(){return chunkWKY26JLT_js.a}});Object.defineProperty(exports,"classifyDCPMI",{enumerable:true,get:function(){return chunkWKY26JLT_js.c}});Object.defineProperty(exports,"generateComplianceAuditReturn",{enumerable:true,get:function(){return chunkWKY26JLT_js.d}});Object.defineProperty(exports,"getComplianceScore",{enumerable:true,get:function(){return chunk7TTXS7JX_js.a}});Object.defineProperty(exports,"calculateBreachSeverity",{enumerable:true,get:function(){return chunk3YTAOT5O_js.a}});Object.defineProperty(exports,"assessBreachNotification",{enumerable:true,get:function(){return chunkY346CURW_js.a}});Object.defineProperty(exports,"DEFAULT_POLICY_SECTIONS",{enumerable:true,get:function(){return chunkD2ZKDQVL_js.c}});Object.defineProperty(exports,"DEFAULT_POLICY_VARIABLES",{enumerable:true,get:function(){return chunkD2ZKDQVL_js.d}});Object.defineProperty(exports,"createBusinessPolicyTemplate",{enumerable:true,get:function(){return chunkD2ZKDQVL_js.e}});Object.defineProperty(exports,"generatePolicyText",{enumerable:true,get:function(){return chunkD2ZKDQVL_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 chunkC32TMS75_js.a}});Object.defineProperty(exports,"ConsentBanner",{enumerable:true,get:function(){return chunkPXUX4FYM_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 chunkQKXGVT2Q_js.a}});Object.defineProperty(exports,"useFocusTrap",{enumerable:true,get:function(){return chunkL2VO3MEJ_js.a}});Object.defineProperty(exports,"validateConsentOptionsStructured",{enumerable:true,get:function(){return chunkDKLJ5DYN_js.b}});Object.defineProperty(exports,"validateConsentStructured",{enumerable:true,get:function(){return chunkDKLJ5DYN_js.a}});Object.defineProperty(exports,"DSRDashboard",{enumerable:true,get:function(){return chunkTYR5PFYD_js.a}});Object.defineProperty(exports,"DSRTracker",{enumerable:true,get:function(){return chunkTYR5PFYD_js.b}});Object.defineProperty(exports,"DSRRequestForm",{enumerable:true,get:function(){return chunkFRHFIEWZ_js.a}});Object.defineProperty(exports,"sanitizeInput",{enumerable:true,get:function(){return chunkUXUMYP4L_js.a}});Object.defineProperty(exports,"useDSR",{enumerable:true,get:function(){return chunkTVA6D6S4_js.a}});Object.defineProperty(exports,"formatDSRRequestStructured",{enumerable:true,get:function(){return chunkR2ZZMATR_js.b}});Object.defineProperty(exports,"validateDsrSubmissionStructured",{enumerable:true,get:function(){return chunkR2ZZMATR_js.a}});Object.defineProperty(exports,"DPIAReport",{enumerable:true,get:function(){return chunkQG72X7G4_js.a}});Object.defineProperty(exports,"StepIndicator",{enumerable:true,get:function(){return chunkQG72X7G4_js.b}});Object.defineProperty(exports,"DPIAQuestionnaire",{enumerable:true,get:function(){return chunkDRQURLN5_js.a}});Object.defineProperty(exports,"useDPIA",{enumerable:true,get:function(){return chunkJLQT3W3E_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}});Object.defineProperty(exports,"NDPRProvider",{enumerable:true,get:function(){return chunkI5ZDNSX5_js.a}});Object.defineProperty(exports,"useNDPRConfig",{enumerable:true,get:function(){return chunkI5ZDNSX5_js.b}});exports.LegalNotice=Le;exports.NDPRThemeProvider=Ie;
package/dist/index.mjs CHANGED
@@ -1,2 +1,2 @@
1
1
  "use client";
2
- export{a as NDPRDashboard}from'./chunk-ZIZL37BG.mjs';export{b as BreachNotificationManager,a as BreachRiskAssessment,c as RegulatoryReportGenerator}from'./chunk-EF5CLD4V.mjs';export{a as BreachReportForm}from'./chunk-5ZMYNOMR.mjs';export{c as PolicyExporter,a as PolicyGenerator,b as PolicyPreview}from'./chunk-5E56KT7E.mjs';export{a as LawfulBasisTracker}from'./chunk-RW7V7DDR.mjs';export{a as CrossBorderTransferManager}from'./chunk-6UGLAVRM.mjs';export{a as ROPAManager}from'./chunk-2ASQQYJR.mjs';export{a as useBreachNotificationAssessment,d as useComplianceAuditReturn,b as useComplianceScore,c as useDCPMI}from'./chunk-SDV2C5OT.mjs';export{a as useBreach}from'./chunk-RFXGD5NE.mjs';export{b as useDefaultPrivacyPolicy,a as usePrivacyPolicy}from'./chunk-UVXS7KRV.mjs';export{a as useAdaptivePolicyWizard}from'./chunk-KE2FZH2V.mjs';export{a as useLawfulBasis}from'./chunk-B6BRD5SL.mjs';export{a as useCrossBorderTransfer}from'./chunk-KDAZQO3N.mjs';export{a as useROPA}from'./chunk-FRMVSG4N.mjs';export{b as DEFAULT_DCPMI_FEES_NGN,a as DEFAULT_DCPMI_THRESHOLDS,c as classifyDCPMI,d as generateComplianceAuditReturn}from'./chunk-SZXHNJGG.mjs';export{a as assessBreachNotification}from'./chunk-WJSUVPYX.mjs';import'./chunk-IVSNHT24.mjs';export{a as getComplianceScore}from'./chunk-6A7M4CGJ.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-NBQQ2GN3.mjs';import'./chunk-BIJSMSUU.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-CNCEP66F.mjs';export{a as ConsentBanner}from'./chunk-HMKXK23C.mjs';export{c as appendAuditEntry,a as createAuditEntry,b as getAuditLog}from'./chunk-V7UFP6QU.mjs';export{a as useConsent}from'./chunk-PQ5IPUJN.mjs';export{a as useFocusTrap}from'./chunk-YTU4FNM2.mjs';import'./chunk-XC3DLYEG.mjs';export{b as validateConsentOptionsStructured,a as validateConsentStructured}from'./chunk-R3ZKV2J7.mjs';export{a as DSRDashboard,b as DSRTracker}from'./chunk-AS2M5OTX.mjs';export{a as DSRRequestForm}from'./chunk-EAV4BZKO.mjs';export{a as sanitizeInput}from'./chunk-EWVK45Z3.mjs';export{a as useDSR}from'./chunk-ZSRO4L3C.mjs';export{b as formatDSRRequestStructured,a as validateDsrSubmissionStructured}from'./chunk-RRVML7CU.mjs';export{a as DPIAReport,b as StepIndicator}from'./chunk-MIQQYXTE.mjs';export{a as DPIAQuestionnaire}from'./chunk-YZHEEGGK.mjs';export{a as useDPIA}from'./chunk-I3V3ITN7.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';export{a as NDPRProvider,b as useNDPRConfig}from'./chunk-PHA3YMFO.mjs';import'./chunk-5LJ652AH.mjs';import'./chunk-DBZSN4WP.mjs';import'./chunk-ZJYULEER.mjs';import {useMemo}from'react';import {jsx}from'react/jsx-runtime';var Be=({theme:o,className:t,children:s})=>{let n=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:t,style:n,children:s})};var Ie=({variant:o="short",className:t,hidden:s})=>{if(s)return null;let n=o==="long"?b:a;return jsx("p",{role:"note",className:t!=null?t:"ndpr-legal-notice","data-ndpr-legal-notice":o,children:n})};export{Ie as LegalNotice,Be as NDPRThemeProvider};
2
+ export{a as NDPRDashboard}from'./chunk-ZIZL37BG.mjs';export{b as BreachNotificationManager,a as BreachRiskAssessment,c as RegulatoryReportGenerator}from'./chunk-EF5CLD4V.mjs';export{a as BreachReportForm}from'./chunk-5ZMYNOMR.mjs';export{c as PolicyExporter,a as PolicyGenerator,b as PolicyPreview}from'./chunk-5E56KT7E.mjs';export{a as LawfulBasisTracker}from'./chunk-RW7V7DDR.mjs';export{a as CrossBorderTransferManager}from'./chunk-6UGLAVRM.mjs';export{a as ROPAManager}from'./chunk-2ASQQYJR.mjs';export{b as formatNdprAuditReport,a as runNdprAudit}from'./chunk-JXK5RUR3.mjs';export{a as useBreachNotificationAssessment,d as useComplianceAuditReturn,b as useComplianceScore,c as useDCPMI}from'./chunk-Q5KB2DN3.mjs';export{a as useBreach}from'./chunk-RFXGD5NE.mjs';export{b as useDefaultPrivacyPolicy,a as usePrivacyPolicy}from'./chunk-UVXS7KRV.mjs';export{a as useAdaptivePolicyWizard}from'./chunk-KE2FZH2V.mjs';export{a as useLawfulBasis}from'./chunk-B6BRD5SL.mjs';export{a as useCrossBorderTransfer}from'./chunk-KDAZQO3N.mjs';export{a as useROPA}from'./chunk-FRMVSG4N.mjs';import'./chunk-IVSNHT24.mjs';export{b as DEFAULT_DCPMI_FEES_NGN,a as DEFAULT_DCPMI_THRESHOLDS,c as classifyDCPMI,d as generateComplianceAuditReturn}from'./chunk-SZXHNJGG.mjs';export{a as getComplianceScore}from'./chunk-6A7M4CGJ.mjs';export{a as calculateBreachSeverity}from'./chunk-WTGKZX7J.mjs';export{a as assessBreachNotification}from'./chunk-WJSUVPYX.mjs';export{c as DEFAULT_POLICY_SECTIONS,d as DEFAULT_POLICY_VARIABLES,e as createBusinessPolicyTemplate,b as generatePolicyText}from'./chunk-NBQQ2GN3.mjs';import'./chunk-BIJSMSUU.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-CNCEP66F.mjs';export{a as ConsentBanner}from'./chunk-HMKXK23C.mjs';export{c as appendAuditEntry,a as createAuditEntry,b as getAuditLog}from'./chunk-V7UFP6QU.mjs';export{a as useConsent}from'./chunk-PQ5IPUJN.mjs';export{a as useFocusTrap}from'./chunk-YTU4FNM2.mjs';import'./chunk-XC3DLYEG.mjs';export{b as validateConsentOptionsStructured,a as validateConsentStructured}from'./chunk-R3ZKV2J7.mjs';export{a as DSRDashboard,b as DSRTracker}from'./chunk-AS2M5OTX.mjs';export{a as DSRRequestForm}from'./chunk-EAV4BZKO.mjs';export{a as sanitizeInput}from'./chunk-EWVK45Z3.mjs';export{a as useDSR}from'./chunk-ZSRO4L3C.mjs';export{b as formatDSRRequestStructured,a as validateDsrSubmissionStructured}from'./chunk-RRVML7CU.mjs';export{a as DPIAReport,b as StepIndicator}from'./chunk-MIQQYXTE.mjs';export{a as DPIAQuestionnaire}from'./chunk-YZHEEGGK.mjs';export{a as useDPIA}from'./chunk-I3V3ITN7.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';export{a as NDPRProvider,b as useNDPRConfig}from'./chunk-PHA3YMFO.mjs';import'./chunk-5LJ652AH.mjs';import'./chunk-DBZSN4WP.mjs';import'./chunk-ZJYULEER.mjs';import {useMemo}from'react';import {jsx}from'react/jsx-runtime';var Ie=({theme:o,className:t,children:s})=>{let n=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:t,style:n,children:s})};var Le=({variant:o="short",className:t,hidden:s})=>{if(s)return null;let n=o==="long"?b:a;return jsx("p",{role:"note",className:t!=null?t:"ndpr-legal-notice","data-ndpr-legal-notice":o,children:n})};export{Le as LegalNotice,Ie as NDPRThemeProvider};
package/dist/presets.js CHANGED
@@ -1,2 +1,2 @@
1
1
  "use client";
2
- 'use strict';var chunkVTBHDHYK_js=require('./chunk-VTBHDHYK.js'),chunkVEWLYTRA_js=require('./chunk-VEWLYTRA.js'),chunkSMEZAQNJ_js=require('./chunk-SMEZAQNJ.js');require('./chunk-6KQADEFS.js');var chunkNUWVPRNI_js=require('./chunk-NUWVPRNI.js'),chunkLHQG25Y2_js=require('./chunk-LHQG25Y2.js'),chunkERCGW2DJ_js=require('./chunk-ERCGW2DJ.js'),chunk2OSZT7KI_js=require('./chunk-2OSZT7KI.js'),chunk37VR2MXL_js=require('./chunk-37VR2MXL.js');require('./chunk-NUOHT3LO.js'),require('./chunk-QHW4UKGJ.js'),require('./chunk-Y346CURW.js'),require('./chunk-JS7SYL5P.js');var chunk7TTXS7JX_js=require('./chunk-7TTXS7JX.js');require('./chunk-6LJHLE6G.js'),require('./chunk-YFBDJ4FH.js'),require('./chunk-WZYCBW2R.js'),require('./chunk-4CVBQC66.js'),require('./chunk-PXUX4FYM.js'),require('./chunk-L2VO3MEJ.js'),require('./chunk-FRHFIEWZ.js'),require('./chunk-UXUMYP4L.js');var chunkDRQURLN5_js=require('./chunk-DRQURLN5.js'),chunkTQZWJGJ2_js=require('./chunk-TQZWJGJ2.js');require('./chunk-ZVOIR4QH.js'),require('./chunk-AME4HJR4.js'),require('./chunk-I5ZDNSX5.js'),require('./chunk-7563FVMY.js'),require('./chunk-VWED6UTN.js');var chunkRFPLZDIO_js=require('./chunk-RFPLZDIO.js'),jsxRuntime=require('react/jsx-runtime'),react=require('react');var W=[{id:"unauthorized_access",name:"Unauthorized Access",description:"Unauthorized access to personal data",defaultSeverity:"high"},{id:"data_loss",name:"Data Loss",description:"Loss of personal data",defaultSeverity:"high"},{id:"data_theft",name:"Data Theft",description:"Theft of personal data",defaultSeverity:"critical"},{id:"system_breach",name:"System Breach",description:"Breach of system containing personal data",defaultSeverity:"critical"},{id:"accidental_disclosure",name:"Accidental Disclosure",description:"Unintended disclosure of personal data",defaultSeverity:"medium"}],Y=({categories:p=W,adapter:o,classNames:P,unstyled:h,onSubmit:a=()=>{},copy:r,description:c,submitTo:s,submitOptions:i,onSubmitError:f,onSubmitSuccess:R})=>{var e;let d=n=>chunkRFPLZDIO_js.d(null,null,function*(){var u,N;if(s){let C=typeof(i==null?void 0:i.headers)=="function"?i.headers():(u=i==null?void 0:i.headers)!=null?u:{};try{let A=yield fetch(s,{method:"POST",headers:chunkRFPLZDIO_js.a({"Content-Type":"application/json"},C),credentials:(N=i==null?void 0:i.credentials)!=null?N:"same-origin",body:JSON.stringify(n)});if(!A.ok)f==null||f({response:A});else if(R){let v;try{let D=yield A.clone().text();D&&(v=JSON.parse(D));}catch(D){}R({response:A,data:n,body:v});}}catch(A){f==null||f({error:A});}}else o&&o.save(n);a(n);}),t=(e=r==null?void 0:r.description)!=null?e:c;return jsxRuntime.jsx(chunkLHQG25Y2_js.a,{categories:p,onSubmit:d,classNames:P,unstyled:h,title:r==null?void 0:r.title,description:t,submitButtonText:r==null?void 0:r.submitButton})};var j=[{id:"project_overview",title:"Project Overview",description:"Provide basic details about the processing activity being assessed.",order:0,questions:[{id:"project_name",text:"What is the name of the project or processing activity?",type:"text",required:true},{id:"project_description",text:"Describe the nature and purpose of the processing.",guidance:"Include what personal data will be collected, why it is needed, and how it will be used.",type:"textarea",required:true},{id:"data_controller",text:"Who is the data controller responsible for this processing?",type:"text",required:true}]},{id:"necessity",title:"Necessity & Proportionality",description:"Assess whether the processing is necessary and proportionate to the purposes.",order:1,questions:[{id:"lawful_basis",text:"What is the lawful basis for processing under the NDPA 2023?",type:"select",required:true,options:[{value:"consent",label:"Consent (Section 25(1)(a))"},{value:"contract",label:"Contract (Section 25(1)(b))"},{value:"legal_obligation",label:"Legal Obligation (Section 25(1)(c))"},{value:"vital_interests",label:"Vital Interests (Section 25(1)(d))"},{value:"public_task",label:"Public Task (Section 25(1)(e))"},{value:"legitimate_interests",label:"Legitimate Interests (Section 25(1)(f))"}]},{id:"data_minimisation",text:"Is the processing limited to what is necessary for the specified purpose?",type:"radio",required:true,options:[{value:"yes",label:"Yes \u2014 only minimum data is collected",riskLevel:"low"},{value:"partial",label:"Partially \u2014 some additional data may be collected",riskLevel:"medium"},{value:"no",label:"No \u2014 more data is collected than strictly necessary",riskLevel:"high"}]}]},{id:"risk_identification",title:"Risk Identification",description:"Identify and assess risks to data subjects arising from the processing.",order:2,questions:[{id:"sensitive_data",text:"Does the processing involve sensitive personal data (e.g., health, biometric, financial, children's data)?",type:"radio",required:true,options:[{value:"no",label:"No sensitive data",riskLevel:"low"},{value:"yes_protected",label:"Yes, with appropriate safeguards",riskLevel:"medium"},{value:"yes_unprotected",label:"Yes, without adequate safeguards",riskLevel:"high"}]},{id:"scale",text:"What is the scale of processing?",type:"radio",required:true,options:[{value:"small",label:"Small scale (fewer than 1,000 individuals)",riskLevel:"low"},{value:"medium",label:"Medium scale (1,000 to 100,000 individuals)",riskLevel:"medium"},{value:"large",label:"Large scale (over 100,000 individuals)",riskLevel:"high"}]},{id:"cross_border",text:"Will data be transferred outside Nigeria?",type:"radio",required:true,options:[{value:"no",label:"No international transfers",riskLevel:"low"},{value:"adequate",label:"Yes, to countries with adequate protection",riskLevel:"medium"},{value:"inadequate",label:"Yes, to countries without adequate protection",riskLevel:"high"}]}]},{id:"mitigation",title:"Risk Mitigation & Measures",description:"Document the measures taken to address identified risks.",order:3,questions:[{id:"security_measures",text:"What technical and organisational security measures are in place?",guidance:"Include encryption, access controls, pseudonymisation, staff training, etc.",type:"textarea",required:true},{id:"retention_period",text:"What is the data retention period?",guidance:"Specify how long data will be kept and the criteria used to determine this.",type:"text",required:true},{id:"dpo_consulted",text:"Has the Data Protection Officer (DPO) been consulted on this assessment?",type:"radio",required:false,options:[{value:"yes",label:"Yes",riskLevel:"low"},{value:"no",label:"No",riskLevel:"medium"},{value:"na",label:"Not applicable \u2014 no DPO appointed",riskLevel:"medium"}]}]}];function J(p,o){let P=[],h=s=>{let i=o[s.id];if(i!=null&&s.riskLevel)if(["select","radio","checkbox"].includes(s.type)&&s.options)(Array.isArray(i)?i:[i]).forEach(R=>{var t;let d=(t=s.options)==null?void 0:t.find(e=>e.value===R);if(d!=null&&d.riskLevel){let e=d.riskLevel,n=e==="low"?1:e==="medium"?3:5,u=e==="low"?1:e==="medium"?3:5;P.push({id:`risk_${P.length+1}`,description:`${s.text} - ${d.label}`,likelihood:n,impact:u,score:n*u,level:e,mitigated:false,relatedQuestionIds:[s.id]});}});else {let f=s.riskLevel,R=f==="low"?1:f==="medium"?3:5,d=f==="low"?1:f==="medium"?3:5;P.push({id:`risk_${P.length+1}`,description:s.text,likelihood:R,impact:d,score:R*d,level:f,mitigated:false,relatedQuestionIds:[s.id]});}};p.forEach(s=>s.questions.forEach(h));let a=Date.now(),r={id:`dpia_${a}`,title:"",processingDescription:"",startedAt:a,completedAt:a,assessor:{name:"",role:"",email:""},answers:o,risks:P,overallRiskLevel:"low",canProceed:true,conclusion:"",version:"1.0"},c=chunkTQZWJGJ2_js.a(r);return r.overallRiskLevel=c.overallRiskLevel,r.canProceed=c.canProceed,r.conclusion=c.canProceed?"Based on the assessment, the processing can proceed with appropriate safeguards.":"Based on the assessment, the processing should not proceed without further mitigation measures.",r.recommendations=c.recommendations,r}var V=({sections:p=j,adapter:o,classNames:P,unstyled:h,onResult:a,copy:r,submitTo:c,submitOptions:s,onSubmitError:i,onSubmitSuccess:f})=>{let[R,d]=react.useState({}),[t,e]=react.useState(0),n=(v,D)=>{d(w=>chunkRFPLZDIO_js.b(chunkRFPLZDIO_js.a({},w),{[v]:D}));},u=v=>chunkRFPLZDIO_js.d(null,null,function*(){var D,w;if(c){let q=typeof(s==null?void 0:s.headers)=="function"?s.headers():(D=s==null?void 0:s.headers)!=null?D:{};try{let y=yield fetch(c,{method:"POST",headers:chunkRFPLZDIO_js.a({"Content-Type":"application/json"},q),credentials:(w=s==null?void 0:s.credentials)!=null?w:"same-origin",body:JSON.stringify(v)});if(!y.ok)i==null||i({response:y});else if(f){let x;try{let B=yield y.clone().text();B&&(x=JSON.parse(B));}catch(B){}f({response:y,data:v,body:x});}}catch(y){i==null||i({error:y});}}else o&&o.save(v);a==null||a(J(p,v));}),N=()=>{t<p.length-1?e(v=>v+1):u(R);},C=()=>{t>0&&e(v=>v-1);},A=Math.round((t+1)/p.length*100);return jsxRuntime.jsx(chunkDRQURLN5_js.a,{sections:p,answers:R,onAnswerChange:n,currentSectionIndex:t,onNextSection:N,onPrevSection:C,progress:A,classNames:P,unstyled:h,submitButtonText:r==null?void 0:r.submitButton,nextButtonText:r==null?void 0:r.nextButton,prevButtonText:r==null?void 0:r.prevButton})};var X=({initialData:p,adapter:o,classNames:P,unstyled:h,copy:a})=>{let r=p!=null?p:[],[c,s]=react.useState(()=>{if(o){let t=o.load();if(t&&!(t instanceof Promise))return t}return r});react.useEffect(()=>{if(!o)return;let t=false;return chunkRFPLZDIO_js.d(null,null,function*(){try{let e=yield o.load();!t&&e&&s(e);}catch(e){}}),()=>{t=true;}},[o]);let i=t=>{o&&o.save(t);};return jsxRuntime.jsx(chunkERCGW2DJ_js.a,{activities:c,onAdd:t=>{let e=Date.now(),n=chunkRFPLZDIO_js.b(chunkRFPLZDIO_js.a({},t),{id:`activity-${e}`,createdAt:e,updatedAt:e}),u=[...c,n];s(u),i(u);},onUpdate:(t,e)=>{let n=c.map(u=>u.id===t?chunkRFPLZDIO_js.b(chunkRFPLZDIO_js.a(chunkRFPLZDIO_js.a({},u),e),{updatedAt:Date.now()}):u);s(n),i(n);},onArchive:t=>{let e=c.map(n=>n.id===t?chunkRFPLZDIO_js.b(chunkRFPLZDIO_js.a({},n),{status:"inactive",updatedAt:Date.now()}):n);s(e),i(e);},classNames:P,unstyled:h,title:a==null?void 0:a.title,description:a==null?void 0:a.description})};var te=({initialData:p,adapter:o,classNames:P,unstyled:h,copy:a})=>{let r=p!=null?p:[],[c,s]=react.useState(()=>{if(o){let t=o.load();if(t&&!(t instanceof Promise))return t}return r});react.useEffect(()=>{if(!o)return;let t=false;return chunkRFPLZDIO_js.d(null,null,function*(){try{let e=yield o.load();!t&&e&&s(e);}catch(e){}}),()=>{t=true;}},[o]);let i=t=>{o&&o.save(t);};return jsxRuntime.jsx(chunk2OSZT7KI_js.a,{transfers:c,onAdd:t=>{let e=Date.now(),n=chunkRFPLZDIO_js.b(chunkRFPLZDIO_js.a({},t),{id:`transfer-${e}`,createdAt:e,updatedAt:e}),u=[...c,n];s(u),i(u);},onUpdate:(t,e)=>{let n=c.map(u=>u.id===t?chunkRFPLZDIO_js.b(chunkRFPLZDIO_js.a(chunkRFPLZDIO_js.a({},u),e),{updatedAt:Date.now()}):u);s(n),i(n);},onArchive:t=>{let e=c.filter(n=>n.id!==t);s(e),i(e);},classNames:P,unstyled:h,title:a==null?void 0:a.title,description:a==null?void 0:a.description})};var ae={id:"ndpr-ropa-default",organizationName:"Your Organisation",organizationContact:"",organizationAddress:"",records:[],lastUpdated:Date.now(),version:"1.0"},ie=({initialData:p,adapter:o,classNames:P,unstyled:h,copy:a})=>{let[r,c]=react.useState(p!=null?p:ae);react.useEffect(()=>{if(!o)return;let d=false;return chunkRFPLZDIO_js.d(null,null,function*(){let e=yield o.load();!d&&e&&c(e);}),()=>{d=true;}},[o]);let s=d=>{o&&o.save(d);};return jsxRuntime.jsx(chunk37VR2MXL_js.a,{ropa:r,onAdd:d=>{let t=chunkRFPLZDIO_js.b(chunkRFPLZDIO_js.a({},r),{records:[...r.records,d],lastUpdated:Date.now()});c(t),s(t);},onUpdate:(d,t)=>{let e=chunkRFPLZDIO_js.b(chunkRFPLZDIO_js.a({},r),{records:r.records.map(n=>n.id===d?chunkRFPLZDIO_js.b(chunkRFPLZDIO_js.a(chunkRFPLZDIO_js.a({},n),t),{updatedAt:Date.now()}):n),lastUpdated:Date.now()});c(e),s(e);},onArchive:d=>{let t=chunkRFPLZDIO_js.b(chunkRFPLZDIO_js.a({},r),{records:r.records.map(e=>e.id===d?chunkRFPLZDIO_js.b(chunkRFPLZDIO_js.a({},e),{status:"archived",updatedAt:Date.now()}):e),lastUpdated:Date.now()});c(t),s(t);},classNames:P,unstyled:h,title:a==null?void 0:a.title,description:a==null?void 0:a.description})};var de=P=>{var h=P,{input:p}=h,o=chunkRFPLZDIO_js.c(h,["input"]);let a=chunk7TTXS7JX_js.a(p);return jsxRuntime.jsx(chunkNUWVPRNI_js.a,chunkRFPLZDIO_js.a({report:a},o))};Object.defineProperty(exports,"NDPRConsent",{enumerable:true,get:function(){return chunkVTBHDHYK_js.a}});Object.defineProperty(exports,"NDPRSubjectRights",{enumerable:true,get:function(){return chunkVEWLYTRA_js.a}});Object.defineProperty(exports,"NDPRPrivacyPolicy",{enumerable:true,get:function(){return chunkSMEZAQNJ_js.a}});exports.NDPRBreachReport=Y;exports.NDPRComplianceDashboard=de;exports.NDPRCrossBorder=te;exports.NDPRDPIA=V;exports.NDPRLawfulBasis=X;exports.NDPRROPA=ie;
2
+ 'use strict';var chunkVTBHDHYK_js=require('./chunk-VTBHDHYK.js'),chunkVEWLYTRA_js=require('./chunk-VEWLYTRA.js'),chunkSMEZAQNJ_js=require('./chunk-SMEZAQNJ.js');require('./chunk-6KQADEFS.js');var chunkNUWVPRNI_js=require('./chunk-NUWVPRNI.js'),chunkLHQG25Y2_js=require('./chunk-LHQG25Y2.js'),chunkERCGW2DJ_js=require('./chunk-ERCGW2DJ.js'),chunk2OSZT7KI_js=require('./chunk-2OSZT7KI.js'),chunk37VR2MXL_js=require('./chunk-37VR2MXL.js');require('./chunk-NUOHT3LO.js'),require('./chunk-QHW4UKGJ.js'),require('./chunk-JS7SYL5P.js');var chunk7TTXS7JX_js=require('./chunk-7TTXS7JX.js');require('./chunk-Y346CURW.js'),require('./chunk-6LJHLE6G.js'),require('./chunk-YFBDJ4FH.js'),require('./chunk-WZYCBW2R.js'),require('./chunk-4CVBQC66.js'),require('./chunk-PXUX4FYM.js'),require('./chunk-L2VO3MEJ.js'),require('./chunk-FRHFIEWZ.js'),require('./chunk-UXUMYP4L.js');var chunkDRQURLN5_js=require('./chunk-DRQURLN5.js'),chunkTQZWJGJ2_js=require('./chunk-TQZWJGJ2.js');require('./chunk-ZVOIR4QH.js'),require('./chunk-AME4HJR4.js'),require('./chunk-I5ZDNSX5.js'),require('./chunk-7563FVMY.js'),require('./chunk-VWED6UTN.js');var chunkRFPLZDIO_js=require('./chunk-RFPLZDIO.js'),jsxRuntime=require('react/jsx-runtime'),react=require('react');var W=[{id:"unauthorized_access",name:"Unauthorized Access",description:"Unauthorized access to personal data",defaultSeverity:"high"},{id:"data_loss",name:"Data Loss",description:"Loss of personal data",defaultSeverity:"high"},{id:"data_theft",name:"Data Theft",description:"Theft of personal data",defaultSeverity:"critical"},{id:"system_breach",name:"System Breach",description:"Breach of system containing personal data",defaultSeverity:"critical"},{id:"accidental_disclosure",name:"Accidental Disclosure",description:"Unintended disclosure of personal data",defaultSeverity:"medium"}],Y=({categories:p=W,adapter:o,classNames:P,unstyled:h,onSubmit:a=()=>{},copy:r,description:c,submitTo:s,submitOptions:i,onSubmitError:f,onSubmitSuccess:R})=>{var e;let d=n=>chunkRFPLZDIO_js.d(null,null,function*(){var u,N;if(s){let C=typeof(i==null?void 0:i.headers)=="function"?i.headers():(u=i==null?void 0:i.headers)!=null?u:{};try{let A=yield fetch(s,{method:"POST",headers:chunkRFPLZDIO_js.a({"Content-Type":"application/json"},C),credentials:(N=i==null?void 0:i.credentials)!=null?N:"same-origin",body:JSON.stringify(n)});if(!A.ok)f==null||f({response:A});else if(R){let v;try{let D=yield A.clone().text();D&&(v=JSON.parse(D));}catch(D){}R({response:A,data:n,body:v});}}catch(A){f==null||f({error:A});}}else o&&o.save(n);a(n);}),t=(e=r==null?void 0:r.description)!=null?e:c;return jsxRuntime.jsx(chunkLHQG25Y2_js.a,{categories:p,onSubmit:d,classNames:P,unstyled:h,title:r==null?void 0:r.title,description:t,submitButtonText:r==null?void 0:r.submitButton})};var j=[{id:"project_overview",title:"Project Overview",description:"Provide basic details about the processing activity being assessed.",order:0,questions:[{id:"project_name",text:"What is the name of the project or processing activity?",type:"text",required:true},{id:"project_description",text:"Describe the nature and purpose of the processing.",guidance:"Include what personal data will be collected, why it is needed, and how it will be used.",type:"textarea",required:true},{id:"data_controller",text:"Who is the data controller responsible for this processing?",type:"text",required:true}]},{id:"necessity",title:"Necessity & Proportionality",description:"Assess whether the processing is necessary and proportionate to the purposes.",order:1,questions:[{id:"lawful_basis",text:"What is the lawful basis for processing under the NDPA 2023?",type:"select",required:true,options:[{value:"consent",label:"Consent (Section 25(1)(a))"},{value:"contract",label:"Contract (Section 25(1)(b))"},{value:"legal_obligation",label:"Legal Obligation (Section 25(1)(c))"},{value:"vital_interests",label:"Vital Interests (Section 25(1)(d))"},{value:"public_task",label:"Public Task (Section 25(1)(e))"},{value:"legitimate_interests",label:"Legitimate Interests (Section 25(1)(f))"}]},{id:"data_minimisation",text:"Is the processing limited to what is necessary for the specified purpose?",type:"radio",required:true,options:[{value:"yes",label:"Yes \u2014 only minimum data is collected",riskLevel:"low"},{value:"partial",label:"Partially \u2014 some additional data may be collected",riskLevel:"medium"},{value:"no",label:"No \u2014 more data is collected than strictly necessary",riskLevel:"high"}]}]},{id:"risk_identification",title:"Risk Identification",description:"Identify and assess risks to data subjects arising from the processing.",order:2,questions:[{id:"sensitive_data",text:"Does the processing involve sensitive personal data (e.g., health, biometric, financial, children's data)?",type:"radio",required:true,options:[{value:"no",label:"No sensitive data",riskLevel:"low"},{value:"yes_protected",label:"Yes, with appropriate safeguards",riskLevel:"medium"},{value:"yes_unprotected",label:"Yes, without adequate safeguards",riskLevel:"high"}]},{id:"scale",text:"What is the scale of processing?",type:"radio",required:true,options:[{value:"small",label:"Small scale (fewer than 1,000 individuals)",riskLevel:"low"},{value:"medium",label:"Medium scale (1,000 to 100,000 individuals)",riskLevel:"medium"},{value:"large",label:"Large scale (over 100,000 individuals)",riskLevel:"high"}]},{id:"cross_border",text:"Will data be transferred outside Nigeria?",type:"radio",required:true,options:[{value:"no",label:"No international transfers",riskLevel:"low"},{value:"adequate",label:"Yes, to countries with adequate protection",riskLevel:"medium"},{value:"inadequate",label:"Yes, to countries without adequate protection",riskLevel:"high"}]}]},{id:"mitigation",title:"Risk Mitigation & Measures",description:"Document the measures taken to address identified risks.",order:3,questions:[{id:"security_measures",text:"What technical and organisational security measures are in place?",guidance:"Include encryption, access controls, pseudonymisation, staff training, etc.",type:"textarea",required:true},{id:"retention_period",text:"What is the data retention period?",guidance:"Specify how long data will be kept and the criteria used to determine this.",type:"text",required:true},{id:"dpo_consulted",text:"Has the Data Protection Officer (DPO) been consulted on this assessment?",type:"radio",required:false,options:[{value:"yes",label:"Yes",riskLevel:"low"},{value:"no",label:"No",riskLevel:"medium"},{value:"na",label:"Not applicable \u2014 no DPO appointed",riskLevel:"medium"}]}]}];function J(p,o){let P=[],h=s=>{let i=o[s.id];if(i!=null&&s.riskLevel)if(["select","radio","checkbox"].includes(s.type)&&s.options)(Array.isArray(i)?i:[i]).forEach(R=>{var t;let d=(t=s.options)==null?void 0:t.find(e=>e.value===R);if(d!=null&&d.riskLevel){let e=d.riskLevel,n=e==="low"?1:e==="medium"?3:5,u=e==="low"?1:e==="medium"?3:5;P.push({id:`risk_${P.length+1}`,description:`${s.text} - ${d.label}`,likelihood:n,impact:u,score:n*u,level:e,mitigated:false,relatedQuestionIds:[s.id]});}});else {let f=s.riskLevel,R=f==="low"?1:f==="medium"?3:5,d=f==="low"?1:f==="medium"?3:5;P.push({id:`risk_${P.length+1}`,description:s.text,likelihood:R,impact:d,score:R*d,level:f,mitigated:false,relatedQuestionIds:[s.id]});}};p.forEach(s=>s.questions.forEach(h));let a=Date.now(),r={id:`dpia_${a}`,title:"",processingDescription:"",startedAt:a,completedAt:a,assessor:{name:"",role:"",email:""},answers:o,risks:P,overallRiskLevel:"low",canProceed:true,conclusion:"",version:"1.0"},c=chunkTQZWJGJ2_js.a(r);return r.overallRiskLevel=c.overallRiskLevel,r.canProceed=c.canProceed,r.conclusion=c.canProceed?"Based on the assessment, the processing can proceed with appropriate safeguards.":"Based on the assessment, the processing should not proceed without further mitigation measures.",r.recommendations=c.recommendations,r}var V=({sections:p=j,adapter:o,classNames:P,unstyled:h,onResult:a,copy:r,submitTo:c,submitOptions:s,onSubmitError:i,onSubmitSuccess:f})=>{let[R,d]=react.useState({}),[t,e]=react.useState(0),n=(v,D)=>{d(w=>chunkRFPLZDIO_js.b(chunkRFPLZDIO_js.a({},w),{[v]:D}));},u=v=>chunkRFPLZDIO_js.d(null,null,function*(){var D,w;if(c){let q=typeof(s==null?void 0:s.headers)=="function"?s.headers():(D=s==null?void 0:s.headers)!=null?D:{};try{let y=yield fetch(c,{method:"POST",headers:chunkRFPLZDIO_js.a({"Content-Type":"application/json"},q),credentials:(w=s==null?void 0:s.credentials)!=null?w:"same-origin",body:JSON.stringify(v)});if(!y.ok)i==null||i({response:y});else if(f){let x;try{let B=yield y.clone().text();B&&(x=JSON.parse(B));}catch(B){}f({response:y,data:v,body:x});}}catch(y){i==null||i({error:y});}}else o&&o.save(v);a==null||a(J(p,v));}),N=()=>{t<p.length-1?e(v=>v+1):u(R);},C=()=>{t>0&&e(v=>v-1);},A=Math.round((t+1)/p.length*100);return jsxRuntime.jsx(chunkDRQURLN5_js.a,{sections:p,answers:R,onAnswerChange:n,currentSectionIndex:t,onNextSection:N,onPrevSection:C,progress:A,classNames:P,unstyled:h,submitButtonText:r==null?void 0:r.submitButton,nextButtonText:r==null?void 0:r.nextButton,prevButtonText:r==null?void 0:r.prevButton})};var X=({initialData:p,adapter:o,classNames:P,unstyled:h,copy:a})=>{let r=p!=null?p:[],[c,s]=react.useState(()=>{if(o){let t=o.load();if(t&&!(t instanceof Promise))return t}return r});react.useEffect(()=>{if(!o)return;let t=false;return chunkRFPLZDIO_js.d(null,null,function*(){try{let e=yield o.load();!t&&e&&s(e);}catch(e){}}),()=>{t=true;}},[o]);let i=t=>{o&&o.save(t);};return jsxRuntime.jsx(chunkERCGW2DJ_js.a,{activities:c,onAdd:t=>{let e=Date.now(),n=chunkRFPLZDIO_js.b(chunkRFPLZDIO_js.a({},t),{id:`activity-${e}`,createdAt:e,updatedAt:e}),u=[...c,n];s(u),i(u);},onUpdate:(t,e)=>{let n=c.map(u=>u.id===t?chunkRFPLZDIO_js.b(chunkRFPLZDIO_js.a(chunkRFPLZDIO_js.a({},u),e),{updatedAt:Date.now()}):u);s(n),i(n);},onArchive:t=>{let e=c.map(n=>n.id===t?chunkRFPLZDIO_js.b(chunkRFPLZDIO_js.a({},n),{status:"inactive",updatedAt:Date.now()}):n);s(e),i(e);},classNames:P,unstyled:h,title:a==null?void 0:a.title,description:a==null?void 0:a.description})};var te=({initialData:p,adapter:o,classNames:P,unstyled:h,copy:a})=>{let r=p!=null?p:[],[c,s]=react.useState(()=>{if(o){let t=o.load();if(t&&!(t instanceof Promise))return t}return r});react.useEffect(()=>{if(!o)return;let t=false;return chunkRFPLZDIO_js.d(null,null,function*(){try{let e=yield o.load();!t&&e&&s(e);}catch(e){}}),()=>{t=true;}},[o]);let i=t=>{o&&o.save(t);};return jsxRuntime.jsx(chunk2OSZT7KI_js.a,{transfers:c,onAdd:t=>{let e=Date.now(),n=chunkRFPLZDIO_js.b(chunkRFPLZDIO_js.a({},t),{id:`transfer-${e}`,createdAt:e,updatedAt:e}),u=[...c,n];s(u),i(u);},onUpdate:(t,e)=>{let n=c.map(u=>u.id===t?chunkRFPLZDIO_js.b(chunkRFPLZDIO_js.a(chunkRFPLZDIO_js.a({},u),e),{updatedAt:Date.now()}):u);s(n),i(n);},onArchive:t=>{let e=c.filter(n=>n.id!==t);s(e),i(e);},classNames:P,unstyled:h,title:a==null?void 0:a.title,description:a==null?void 0:a.description})};var ae={id:"ndpr-ropa-default",organizationName:"Your Organisation",organizationContact:"",organizationAddress:"",records:[],lastUpdated:Date.now(),version:"1.0"},ie=({initialData:p,adapter:o,classNames:P,unstyled:h,copy:a})=>{let[r,c]=react.useState(p!=null?p:ae);react.useEffect(()=>{if(!o)return;let d=false;return chunkRFPLZDIO_js.d(null,null,function*(){let e=yield o.load();!d&&e&&c(e);}),()=>{d=true;}},[o]);let s=d=>{o&&o.save(d);};return jsxRuntime.jsx(chunk37VR2MXL_js.a,{ropa:r,onAdd:d=>{let t=chunkRFPLZDIO_js.b(chunkRFPLZDIO_js.a({},r),{records:[...r.records,d],lastUpdated:Date.now()});c(t),s(t);},onUpdate:(d,t)=>{let e=chunkRFPLZDIO_js.b(chunkRFPLZDIO_js.a({},r),{records:r.records.map(n=>n.id===d?chunkRFPLZDIO_js.b(chunkRFPLZDIO_js.a(chunkRFPLZDIO_js.a({},n),t),{updatedAt:Date.now()}):n),lastUpdated:Date.now()});c(e),s(e);},onArchive:d=>{let t=chunkRFPLZDIO_js.b(chunkRFPLZDIO_js.a({},r),{records:r.records.map(e=>e.id===d?chunkRFPLZDIO_js.b(chunkRFPLZDIO_js.a({},e),{status:"archived",updatedAt:Date.now()}):e),lastUpdated:Date.now()});c(t),s(t);},classNames:P,unstyled:h,title:a==null?void 0:a.title,description:a==null?void 0:a.description})};var de=P=>{var h=P,{input:p}=h,o=chunkRFPLZDIO_js.c(h,["input"]);let a=chunk7TTXS7JX_js.a(p);return jsxRuntime.jsx(chunkNUWVPRNI_js.a,chunkRFPLZDIO_js.a({report:a},o))};Object.defineProperty(exports,"NDPRConsent",{enumerable:true,get:function(){return chunkVTBHDHYK_js.a}});Object.defineProperty(exports,"NDPRSubjectRights",{enumerable:true,get:function(){return chunkVEWLYTRA_js.a}});Object.defineProperty(exports,"NDPRPrivacyPolicy",{enumerable:true,get:function(){return chunkSMEZAQNJ_js.a}});exports.NDPRBreachReport=Y;exports.NDPRComplianceDashboard=de;exports.NDPRCrossBorder=te;exports.NDPRDPIA=V;exports.NDPRLawfulBasis=X;exports.NDPRROPA=ie;
package/dist/presets.mjs CHANGED
@@ -1,2 +1,2 @@
1
1
  "use client";
2
- export{a as NDPRConsent}from'./chunk-C77CRJLD.mjs';export{a as NDPRSubjectRights}from'./chunk-OLTLB5MP.mjs';export{a as NDPRPrivacyPolicy}from'./chunk-TWWGNFPF.mjs';import'./chunk-HDPXARLC.mjs';import {a as a$7}from'./chunk-ZIZL37BG.mjs';import {a}from'./chunk-5ZMYNOMR.mjs';import {a as a$2}from'./chunk-RW7V7DDR.mjs';import {a as a$4}from'./chunk-6UGLAVRM.mjs';import {a as a$5}from'./chunk-2ASQQYJR.mjs';import'./chunk-CWY2FMIC.mjs';import'./chunk-KE2FZH2V.mjs';import'./chunk-WJSUVPYX.mjs';import'./chunk-IVSNHT24.mjs';import {a as a$6}from'./chunk-6A7M4CGJ.mjs';import'./chunk-BIJSMSUU.mjs';import'./chunk-7BJXI2HI.mjs';import'./chunk-LWIKDDSU.mjs';import'./chunk-XP5PL6K7.mjs';import'./chunk-HMKXK23C.mjs';import'./chunk-YTU4FNM2.mjs';import'./chunk-EAV4BZKO.mjs';import'./chunk-EWVK45Z3.mjs';import {a as a$1}from'./chunk-YZHEEGGK.mjs';import {a as a$8}from'./chunk-LRRENTT5.mjs';import'./chunk-ITCY2Z66.mjs';import'./chunk-SFGW37LE.mjs';import'./chunk-PHA3YMFO.mjs';import'./chunk-5LJ652AH.mjs';import'./chunk-DBZSN4WP.mjs';import {d,b,a as a$3,c}from'./chunk-ZJYULEER.mjs';import {jsx}from'react/jsx-runtime';import {useState,useEffect}from'react';var W=[{id:"unauthorized_access",name:"Unauthorized Access",description:"Unauthorized access to personal data",defaultSeverity:"high"},{id:"data_loss",name:"Data Loss",description:"Loss of personal data",defaultSeverity:"high"},{id:"data_theft",name:"Data Theft",description:"Theft of personal data",defaultSeverity:"critical"},{id:"system_breach",name:"System Breach",description:"Breach of system containing personal data",defaultSeverity:"critical"},{id:"accidental_disclosure",name:"Accidental Disclosure",description:"Unintended disclosure of personal data",defaultSeverity:"medium"}],Y=({categories:p=W,adapter:o,classNames:P,unstyled:h,onSubmit:a$1=()=>{},copy:r,description:c,submitTo:s,submitOptions:i,onSubmitError:f,onSubmitSuccess:R})=>{var e;let d$1=n=>d(null,null,function*(){var u,N;if(s){let C=typeof(i==null?void 0:i.headers)=="function"?i.headers():(u=i==null?void 0:i.headers)!=null?u:{};try{let A=yield fetch(s,{method:"POST",headers:a$3({"Content-Type":"application/json"},C),credentials:(N=i==null?void 0:i.credentials)!=null?N:"same-origin",body:JSON.stringify(n)});if(!A.ok)f==null||f({response:A});else if(R){let v;try{let D=yield A.clone().text();D&&(v=JSON.parse(D));}catch(D){}R({response:A,data:n,body:v});}}catch(A){f==null||f({error:A});}}else o&&o.save(n);a$1(n);}),t=(e=r==null?void 0:r.description)!=null?e:c;return jsx(a,{categories:p,onSubmit:d$1,classNames:P,unstyled:h,title:r==null?void 0:r.title,description:t,submitButtonText:r==null?void 0:r.submitButton})};var j=[{id:"project_overview",title:"Project Overview",description:"Provide basic details about the processing activity being assessed.",order:0,questions:[{id:"project_name",text:"What is the name of the project or processing activity?",type:"text",required:true},{id:"project_description",text:"Describe the nature and purpose of the processing.",guidance:"Include what personal data will be collected, why it is needed, and how it will be used.",type:"textarea",required:true},{id:"data_controller",text:"Who is the data controller responsible for this processing?",type:"text",required:true}]},{id:"necessity",title:"Necessity & Proportionality",description:"Assess whether the processing is necessary and proportionate to the purposes.",order:1,questions:[{id:"lawful_basis",text:"What is the lawful basis for processing under the NDPA 2023?",type:"select",required:true,options:[{value:"consent",label:"Consent (Section 25(1)(a))"},{value:"contract",label:"Contract (Section 25(1)(b))"},{value:"legal_obligation",label:"Legal Obligation (Section 25(1)(c))"},{value:"vital_interests",label:"Vital Interests (Section 25(1)(d))"},{value:"public_task",label:"Public Task (Section 25(1)(e))"},{value:"legitimate_interests",label:"Legitimate Interests (Section 25(1)(f))"}]},{id:"data_minimisation",text:"Is the processing limited to what is necessary for the specified purpose?",type:"radio",required:true,options:[{value:"yes",label:"Yes \u2014 only minimum data is collected",riskLevel:"low"},{value:"partial",label:"Partially \u2014 some additional data may be collected",riskLevel:"medium"},{value:"no",label:"No \u2014 more data is collected than strictly necessary",riskLevel:"high"}]}]},{id:"risk_identification",title:"Risk Identification",description:"Identify and assess risks to data subjects arising from the processing.",order:2,questions:[{id:"sensitive_data",text:"Does the processing involve sensitive personal data (e.g., health, biometric, financial, children's data)?",type:"radio",required:true,options:[{value:"no",label:"No sensitive data",riskLevel:"low"},{value:"yes_protected",label:"Yes, with appropriate safeguards",riskLevel:"medium"},{value:"yes_unprotected",label:"Yes, without adequate safeguards",riskLevel:"high"}]},{id:"scale",text:"What is the scale of processing?",type:"radio",required:true,options:[{value:"small",label:"Small scale (fewer than 1,000 individuals)",riskLevel:"low"},{value:"medium",label:"Medium scale (1,000 to 100,000 individuals)",riskLevel:"medium"},{value:"large",label:"Large scale (over 100,000 individuals)",riskLevel:"high"}]},{id:"cross_border",text:"Will data be transferred outside Nigeria?",type:"radio",required:true,options:[{value:"no",label:"No international transfers",riskLevel:"low"},{value:"adequate",label:"Yes, to countries with adequate protection",riskLevel:"medium"},{value:"inadequate",label:"Yes, to countries without adequate protection",riskLevel:"high"}]}]},{id:"mitigation",title:"Risk Mitigation & Measures",description:"Document the measures taken to address identified risks.",order:3,questions:[{id:"security_measures",text:"What technical and organisational security measures are in place?",guidance:"Include encryption, access controls, pseudonymisation, staff training, etc.",type:"textarea",required:true},{id:"retention_period",text:"What is the data retention period?",guidance:"Specify how long data will be kept and the criteria used to determine this.",type:"text",required:true},{id:"dpo_consulted",text:"Has the Data Protection Officer (DPO) been consulted on this assessment?",type:"radio",required:false,options:[{value:"yes",label:"Yes",riskLevel:"low"},{value:"no",label:"No",riskLevel:"medium"},{value:"na",label:"Not applicable \u2014 no DPO appointed",riskLevel:"medium"}]}]}];function J(p,o){let P=[],h=s=>{let i=o[s.id];if(i!=null&&s.riskLevel)if(["select","radio","checkbox"].includes(s.type)&&s.options)(Array.isArray(i)?i:[i]).forEach(R=>{var t;let d=(t=s.options)==null?void 0:t.find(e=>e.value===R);if(d!=null&&d.riskLevel){let e=d.riskLevel,n=e==="low"?1:e==="medium"?3:5,u=e==="low"?1:e==="medium"?3:5;P.push({id:`risk_${P.length+1}`,description:`${s.text} - ${d.label}`,likelihood:n,impact:u,score:n*u,level:e,mitigated:false,relatedQuestionIds:[s.id]});}});else {let f=s.riskLevel,R=f==="low"?1:f==="medium"?3:5,d=f==="low"?1:f==="medium"?3:5;P.push({id:`risk_${P.length+1}`,description:s.text,likelihood:R,impact:d,score:R*d,level:f,mitigated:false,relatedQuestionIds:[s.id]});}};p.forEach(s=>s.questions.forEach(h));let a=Date.now(),r={id:`dpia_${a}`,title:"",processingDescription:"",startedAt:a,completedAt:a,assessor:{name:"",role:"",email:""},answers:o,risks:P,overallRiskLevel:"low",canProceed:true,conclusion:"",version:"1.0"},c=a$8(r);return r.overallRiskLevel=c.overallRiskLevel,r.canProceed=c.canProceed,r.conclusion=c.canProceed?"Based on the assessment, the processing can proceed with appropriate safeguards.":"Based on the assessment, the processing should not proceed without further mitigation measures.",r.recommendations=c.recommendations,r}var V=({sections:p=j,adapter:o,classNames:P,unstyled:h,onResult:a,copy:r,submitTo:c,submitOptions:s,onSubmitError:i,onSubmitSuccess:f})=>{let[R,d$1]=useState({}),[t,e]=useState(0),n=(v,D)=>{d$1(w=>b(a$3({},w),{[v]:D}));},u=v=>d(null,null,function*(){var D,w;if(c){let q=typeof(s==null?void 0:s.headers)=="function"?s.headers():(D=s==null?void 0:s.headers)!=null?D:{};try{let y=yield fetch(c,{method:"POST",headers:a$3({"Content-Type":"application/json"},q),credentials:(w=s==null?void 0:s.credentials)!=null?w:"same-origin",body:JSON.stringify(v)});if(!y.ok)i==null||i({response:y});else if(f){let x;try{let B=yield y.clone().text();B&&(x=JSON.parse(B));}catch(B){}f({response:y,data:v,body:x});}}catch(y){i==null||i({error:y});}}else o&&o.save(v);a==null||a(J(p,v));}),N=()=>{t<p.length-1?e(v=>v+1):u(R);},C=()=>{t>0&&e(v=>v-1);},A=Math.round((t+1)/p.length*100);return jsx(a$1,{sections:p,answers:R,onAnswerChange:n,currentSectionIndex:t,onNextSection:N,onPrevSection:C,progress:A,classNames:P,unstyled:h,submitButtonText:r==null?void 0:r.submitButton,nextButtonText:r==null?void 0:r.nextButton,prevButtonText:r==null?void 0:r.prevButton})};var X=({initialData:p,adapter:o,classNames:P,unstyled:h,copy:a})=>{let r=p!=null?p:[],[c,s]=useState(()=>{if(o){let t=o.load();if(t&&!(t instanceof Promise))return t}return r});useEffect(()=>{if(!o)return;let t=false;return d(null,null,function*(){try{let e=yield o.load();!t&&e&&s(e);}catch(e){}}),()=>{t=true;}},[o]);let i=t=>{o&&o.save(t);};return jsx(a$2,{activities:c,onAdd:t=>{let e=Date.now(),n=b(a$3({},t),{id:`activity-${e}`,createdAt:e,updatedAt:e}),u=[...c,n];s(u),i(u);},onUpdate:(t,e)=>{let n=c.map(u=>u.id===t?b(a$3(a$3({},u),e),{updatedAt:Date.now()}):u);s(n),i(n);},onArchive:t=>{let e=c.map(n=>n.id===t?b(a$3({},n),{status:"inactive",updatedAt:Date.now()}):n);s(e),i(e);},classNames:P,unstyled:h,title:a==null?void 0:a.title,description:a==null?void 0:a.description})};var te=({initialData:p,adapter:o,classNames:P,unstyled:h,copy:a})=>{let r=p!=null?p:[],[c,s]=useState(()=>{if(o){let t=o.load();if(t&&!(t instanceof Promise))return t}return r});useEffect(()=>{if(!o)return;let t=false;return d(null,null,function*(){try{let e=yield o.load();!t&&e&&s(e);}catch(e){}}),()=>{t=true;}},[o]);let i=t=>{o&&o.save(t);};return jsx(a$4,{transfers:c,onAdd:t=>{let e=Date.now(),n=b(a$3({},t),{id:`transfer-${e}`,createdAt:e,updatedAt:e}),u=[...c,n];s(u),i(u);},onUpdate:(t,e)=>{let n=c.map(u=>u.id===t?b(a$3(a$3({},u),e),{updatedAt:Date.now()}):u);s(n),i(n);},onArchive:t=>{let e=c.filter(n=>n.id!==t);s(e),i(e);},classNames:P,unstyled:h,title:a==null?void 0:a.title,description:a==null?void 0:a.description})};var ae={id:"ndpr-ropa-default",organizationName:"Your Organisation",organizationContact:"",organizationAddress:"",records:[],lastUpdated:Date.now(),version:"1.0"},ie=({initialData:p,adapter:o,classNames:P,unstyled:h,copy:a})=>{let[r,c]=useState(p!=null?p:ae);useEffect(()=>{if(!o)return;let d$1=false;return d(null,null,function*(){let e=yield o.load();!d$1&&e&&c(e);}),()=>{d$1=true;}},[o]);let s=d=>{o&&o.save(d);};return jsx(a$5,{ropa:r,onAdd:d=>{let t=b(a$3({},r),{records:[...r.records,d],lastUpdated:Date.now()});c(t),s(t);},onUpdate:(d,t)=>{let e=b(a$3({},r),{records:r.records.map(n=>n.id===d?b(a$3(a$3({},n),t),{updatedAt:Date.now()}):n),lastUpdated:Date.now()});c(e),s(e);},onArchive:d=>{let t=b(a$3({},r),{records:r.records.map(e=>e.id===d?b(a$3({},e),{status:"archived",updatedAt:Date.now()}):e),lastUpdated:Date.now()});c(t),s(t);},classNames:P,unstyled:h,title:a==null?void 0:a.title,description:a==null?void 0:a.description})};var de=P=>{var h=P,{input:p}=h,o=c(h,["input"]);let a=a$6(p);return jsx(a$7,a$3({report:a},o))};export{Y as NDPRBreachReport,de as NDPRComplianceDashboard,te as NDPRCrossBorder,V as NDPRDPIA,X as NDPRLawfulBasis,ie as NDPRROPA};
2
+ export{a as NDPRConsent}from'./chunk-C77CRJLD.mjs';export{a as NDPRSubjectRights}from'./chunk-OLTLB5MP.mjs';export{a as NDPRPrivacyPolicy}from'./chunk-TWWGNFPF.mjs';import'./chunk-HDPXARLC.mjs';import {a as a$7}from'./chunk-ZIZL37BG.mjs';import {a}from'./chunk-5ZMYNOMR.mjs';import {a as a$2}from'./chunk-RW7V7DDR.mjs';import {a as a$4}from'./chunk-6UGLAVRM.mjs';import {a as a$5}from'./chunk-2ASQQYJR.mjs';import'./chunk-CWY2FMIC.mjs';import'./chunk-KE2FZH2V.mjs';import'./chunk-IVSNHT24.mjs';import {a as a$6}from'./chunk-6A7M4CGJ.mjs';import'./chunk-WJSUVPYX.mjs';import'./chunk-BIJSMSUU.mjs';import'./chunk-7BJXI2HI.mjs';import'./chunk-LWIKDDSU.mjs';import'./chunk-XP5PL6K7.mjs';import'./chunk-HMKXK23C.mjs';import'./chunk-YTU4FNM2.mjs';import'./chunk-EAV4BZKO.mjs';import'./chunk-EWVK45Z3.mjs';import {a as a$1}from'./chunk-YZHEEGGK.mjs';import {a as a$8}from'./chunk-LRRENTT5.mjs';import'./chunk-ITCY2Z66.mjs';import'./chunk-SFGW37LE.mjs';import'./chunk-PHA3YMFO.mjs';import'./chunk-5LJ652AH.mjs';import'./chunk-DBZSN4WP.mjs';import {d,b,a as a$3,c}from'./chunk-ZJYULEER.mjs';import {jsx}from'react/jsx-runtime';import {useState,useEffect}from'react';var W=[{id:"unauthorized_access",name:"Unauthorized Access",description:"Unauthorized access to personal data",defaultSeverity:"high"},{id:"data_loss",name:"Data Loss",description:"Loss of personal data",defaultSeverity:"high"},{id:"data_theft",name:"Data Theft",description:"Theft of personal data",defaultSeverity:"critical"},{id:"system_breach",name:"System Breach",description:"Breach of system containing personal data",defaultSeverity:"critical"},{id:"accidental_disclosure",name:"Accidental Disclosure",description:"Unintended disclosure of personal data",defaultSeverity:"medium"}],Y=({categories:p=W,adapter:o,classNames:P,unstyled:h,onSubmit:a$1=()=>{},copy:r,description:c,submitTo:s,submitOptions:i,onSubmitError:f,onSubmitSuccess:R})=>{var e;let d$1=n=>d(null,null,function*(){var u,N;if(s){let C=typeof(i==null?void 0:i.headers)=="function"?i.headers():(u=i==null?void 0:i.headers)!=null?u:{};try{let A=yield fetch(s,{method:"POST",headers:a$3({"Content-Type":"application/json"},C),credentials:(N=i==null?void 0:i.credentials)!=null?N:"same-origin",body:JSON.stringify(n)});if(!A.ok)f==null||f({response:A});else if(R){let v;try{let D=yield A.clone().text();D&&(v=JSON.parse(D));}catch(D){}R({response:A,data:n,body:v});}}catch(A){f==null||f({error:A});}}else o&&o.save(n);a$1(n);}),t=(e=r==null?void 0:r.description)!=null?e:c;return jsx(a,{categories:p,onSubmit:d$1,classNames:P,unstyled:h,title:r==null?void 0:r.title,description:t,submitButtonText:r==null?void 0:r.submitButton})};var j=[{id:"project_overview",title:"Project Overview",description:"Provide basic details about the processing activity being assessed.",order:0,questions:[{id:"project_name",text:"What is the name of the project or processing activity?",type:"text",required:true},{id:"project_description",text:"Describe the nature and purpose of the processing.",guidance:"Include what personal data will be collected, why it is needed, and how it will be used.",type:"textarea",required:true},{id:"data_controller",text:"Who is the data controller responsible for this processing?",type:"text",required:true}]},{id:"necessity",title:"Necessity & Proportionality",description:"Assess whether the processing is necessary and proportionate to the purposes.",order:1,questions:[{id:"lawful_basis",text:"What is the lawful basis for processing under the NDPA 2023?",type:"select",required:true,options:[{value:"consent",label:"Consent (Section 25(1)(a))"},{value:"contract",label:"Contract (Section 25(1)(b))"},{value:"legal_obligation",label:"Legal Obligation (Section 25(1)(c))"},{value:"vital_interests",label:"Vital Interests (Section 25(1)(d))"},{value:"public_task",label:"Public Task (Section 25(1)(e))"},{value:"legitimate_interests",label:"Legitimate Interests (Section 25(1)(f))"}]},{id:"data_minimisation",text:"Is the processing limited to what is necessary for the specified purpose?",type:"radio",required:true,options:[{value:"yes",label:"Yes \u2014 only minimum data is collected",riskLevel:"low"},{value:"partial",label:"Partially \u2014 some additional data may be collected",riskLevel:"medium"},{value:"no",label:"No \u2014 more data is collected than strictly necessary",riskLevel:"high"}]}]},{id:"risk_identification",title:"Risk Identification",description:"Identify and assess risks to data subjects arising from the processing.",order:2,questions:[{id:"sensitive_data",text:"Does the processing involve sensitive personal data (e.g., health, biometric, financial, children's data)?",type:"radio",required:true,options:[{value:"no",label:"No sensitive data",riskLevel:"low"},{value:"yes_protected",label:"Yes, with appropriate safeguards",riskLevel:"medium"},{value:"yes_unprotected",label:"Yes, without adequate safeguards",riskLevel:"high"}]},{id:"scale",text:"What is the scale of processing?",type:"radio",required:true,options:[{value:"small",label:"Small scale (fewer than 1,000 individuals)",riskLevel:"low"},{value:"medium",label:"Medium scale (1,000 to 100,000 individuals)",riskLevel:"medium"},{value:"large",label:"Large scale (over 100,000 individuals)",riskLevel:"high"}]},{id:"cross_border",text:"Will data be transferred outside Nigeria?",type:"radio",required:true,options:[{value:"no",label:"No international transfers",riskLevel:"low"},{value:"adequate",label:"Yes, to countries with adequate protection",riskLevel:"medium"},{value:"inadequate",label:"Yes, to countries without adequate protection",riskLevel:"high"}]}]},{id:"mitigation",title:"Risk Mitigation & Measures",description:"Document the measures taken to address identified risks.",order:3,questions:[{id:"security_measures",text:"What technical and organisational security measures are in place?",guidance:"Include encryption, access controls, pseudonymisation, staff training, etc.",type:"textarea",required:true},{id:"retention_period",text:"What is the data retention period?",guidance:"Specify how long data will be kept and the criteria used to determine this.",type:"text",required:true},{id:"dpo_consulted",text:"Has the Data Protection Officer (DPO) been consulted on this assessment?",type:"radio",required:false,options:[{value:"yes",label:"Yes",riskLevel:"low"},{value:"no",label:"No",riskLevel:"medium"},{value:"na",label:"Not applicable \u2014 no DPO appointed",riskLevel:"medium"}]}]}];function J(p,o){let P=[],h=s=>{let i=o[s.id];if(i!=null&&s.riskLevel)if(["select","radio","checkbox"].includes(s.type)&&s.options)(Array.isArray(i)?i:[i]).forEach(R=>{var t;let d=(t=s.options)==null?void 0:t.find(e=>e.value===R);if(d!=null&&d.riskLevel){let e=d.riskLevel,n=e==="low"?1:e==="medium"?3:5,u=e==="low"?1:e==="medium"?3:5;P.push({id:`risk_${P.length+1}`,description:`${s.text} - ${d.label}`,likelihood:n,impact:u,score:n*u,level:e,mitigated:false,relatedQuestionIds:[s.id]});}});else {let f=s.riskLevel,R=f==="low"?1:f==="medium"?3:5,d=f==="low"?1:f==="medium"?3:5;P.push({id:`risk_${P.length+1}`,description:s.text,likelihood:R,impact:d,score:R*d,level:f,mitigated:false,relatedQuestionIds:[s.id]});}};p.forEach(s=>s.questions.forEach(h));let a=Date.now(),r={id:`dpia_${a}`,title:"",processingDescription:"",startedAt:a,completedAt:a,assessor:{name:"",role:"",email:""},answers:o,risks:P,overallRiskLevel:"low",canProceed:true,conclusion:"",version:"1.0"},c=a$8(r);return r.overallRiskLevel=c.overallRiskLevel,r.canProceed=c.canProceed,r.conclusion=c.canProceed?"Based on the assessment, the processing can proceed with appropriate safeguards.":"Based on the assessment, the processing should not proceed without further mitigation measures.",r.recommendations=c.recommendations,r}var V=({sections:p=j,adapter:o,classNames:P,unstyled:h,onResult:a,copy:r,submitTo:c,submitOptions:s,onSubmitError:i,onSubmitSuccess:f})=>{let[R,d$1]=useState({}),[t,e]=useState(0),n=(v,D)=>{d$1(w=>b(a$3({},w),{[v]:D}));},u=v=>d(null,null,function*(){var D,w;if(c){let q=typeof(s==null?void 0:s.headers)=="function"?s.headers():(D=s==null?void 0:s.headers)!=null?D:{};try{let y=yield fetch(c,{method:"POST",headers:a$3({"Content-Type":"application/json"},q),credentials:(w=s==null?void 0:s.credentials)!=null?w:"same-origin",body:JSON.stringify(v)});if(!y.ok)i==null||i({response:y});else if(f){let x;try{let B=yield y.clone().text();B&&(x=JSON.parse(B));}catch(B){}f({response:y,data:v,body:x});}}catch(y){i==null||i({error:y});}}else o&&o.save(v);a==null||a(J(p,v));}),N=()=>{t<p.length-1?e(v=>v+1):u(R);},C=()=>{t>0&&e(v=>v-1);},A=Math.round((t+1)/p.length*100);return jsx(a$1,{sections:p,answers:R,onAnswerChange:n,currentSectionIndex:t,onNextSection:N,onPrevSection:C,progress:A,classNames:P,unstyled:h,submitButtonText:r==null?void 0:r.submitButton,nextButtonText:r==null?void 0:r.nextButton,prevButtonText:r==null?void 0:r.prevButton})};var X=({initialData:p,adapter:o,classNames:P,unstyled:h,copy:a})=>{let r=p!=null?p:[],[c,s]=useState(()=>{if(o){let t=o.load();if(t&&!(t instanceof Promise))return t}return r});useEffect(()=>{if(!o)return;let t=false;return d(null,null,function*(){try{let e=yield o.load();!t&&e&&s(e);}catch(e){}}),()=>{t=true;}},[o]);let i=t=>{o&&o.save(t);};return jsx(a$2,{activities:c,onAdd:t=>{let e=Date.now(),n=b(a$3({},t),{id:`activity-${e}`,createdAt:e,updatedAt:e}),u=[...c,n];s(u),i(u);},onUpdate:(t,e)=>{let n=c.map(u=>u.id===t?b(a$3(a$3({},u),e),{updatedAt:Date.now()}):u);s(n),i(n);},onArchive:t=>{let e=c.map(n=>n.id===t?b(a$3({},n),{status:"inactive",updatedAt:Date.now()}):n);s(e),i(e);},classNames:P,unstyled:h,title:a==null?void 0:a.title,description:a==null?void 0:a.description})};var te=({initialData:p,adapter:o,classNames:P,unstyled:h,copy:a})=>{let r=p!=null?p:[],[c,s]=useState(()=>{if(o){let t=o.load();if(t&&!(t instanceof Promise))return t}return r});useEffect(()=>{if(!o)return;let t=false;return d(null,null,function*(){try{let e=yield o.load();!t&&e&&s(e);}catch(e){}}),()=>{t=true;}},[o]);let i=t=>{o&&o.save(t);};return jsx(a$4,{transfers:c,onAdd:t=>{let e=Date.now(),n=b(a$3({},t),{id:`transfer-${e}`,createdAt:e,updatedAt:e}),u=[...c,n];s(u),i(u);},onUpdate:(t,e)=>{let n=c.map(u=>u.id===t?b(a$3(a$3({},u),e),{updatedAt:Date.now()}):u);s(n),i(n);},onArchive:t=>{let e=c.filter(n=>n.id!==t);s(e),i(e);},classNames:P,unstyled:h,title:a==null?void 0:a.title,description:a==null?void 0:a.description})};var ae={id:"ndpr-ropa-default",organizationName:"Your Organisation",organizationContact:"",organizationAddress:"",records:[],lastUpdated:Date.now(),version:"1.0"},ie=({initialData:p,adapter:o,classNames:P,unstyled:h,copy:a})=>{let[r,c]=useState(p!=null?p:ae);useEffect(()=>{if(!o)return;let d$1=false;return d(null,null,function*(){let e=yield o.load();!d$1&&e&&c(e);}),()=>{d$1=true;}},[o]);let s=d=>{o&&o.save(d);};return jsx(a$5,{ropa:r,onAdd:d=>{let t=b(a$3({},r),{records:[...r.records,d],lastUpdated:Date.now()});c(t),s(t);},onUpdate:(d,t)=>{let e=b(a$3({},r),{records:r.records.map(n=>n.id===d?b(a$3(a$3({},n),t),{updatedAt:Date.now()}):n),lastUpdated:Date.now()});c(e),s(e);},onArchive:d=>{let t=b(a$3({},r),{records:r.records.map(e=>e.id===d?b(a$3({},e),{status:"archived",updatedAt:Date.now()}):e),lastUpdated:Date.now()});c(t),s(t);},classNames:P,unstyled:h,title:a==null?void 0:a.title,description:a==null?void 0:a.description})};var de=P=>{var h=P,{input:p}=h,o=c(h,["input"]);let a=a$6(p);return jsx(a$7,a$3({report:a},o))};export{Y as NDPRBreachReport,de as NDPRComplianceDashboard,te as NDPRCrossBorder,V as NDPRDPIA,X as NDPRLawfulBasis,ie as NDPRROPA};