@tantainnovative/ndpr-toolkit 3.11.0 → 3.12.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/CHANGELOG.md +46 -0
- package/dist/breach.js +1 -1
- package/dist/breach.mjs +1 -1
- package/dist/{chunk-EZCGTHQV.js → chunk-4GIMXUMI.js} +3 -3
- package/dist/chunk-67KA345Q.mjs +1 -0
- package/dist/chunk-6OWCUDTN.mjs +1 -0
- package/dist/chunk-CAFCRCTZ.mjs +1 -0
- package/dist/chunk-JYZOKO2W.mjs +103 -0
- package/dist/chunk-NX5MOBRI.js +1 -0
- package/dist/chunk-O2WEABB3.js +1 -0
- package/dist/chunk-ROC64RLP.js +1 -0
- package/dist/{chunk-O45PKBZA.mjs → chunk-RR3KXNET.mjs} +3 -3
- package/dist/{chunk-KY6WYHWB.mjs → chunk-TN4TH3CT.mjs} +1 -1
- package/dist/{chunk-O2RDZGM2.js → chunk-VUFTRKKC.js} +1 -1
- package/dist/chunk-WKUC65HL.mjs +1 -0
- package/dist/chunk-WXUXCRAJ.js +1 -0
- package/dist/chunk-YK22SYCT.js +103 -0
- package/dist/chunk-YSD2DFBR.js +6 -0
- package/dist/chunk-ZHX62QAL.mjs +6 -0
- package/dist/cross-border.js +1 -1
- package/dist/cross-border.mjs +1 -1
- package/dist/dpia.js +1 -1
- package/dist/dpia.mjs +1 -1
- package/dist/headless.d.mts +24 -3
- package/dist/headless.d.ts +24 -3
- package/dist/headless.js +1 -1
- package/dist/headless.mjs +1 -1
- package/dist/hooks.d.mts +24 -3
- package/dist/hooks.d.ts +24 -3
- package/dist/hooks.js +1 -1
- package/dist/hooks.mjs +1 -1
- package/dist/index.d.mts +24 -3
- package/dist/index.d.ts +24 -3
- package/dist/index.js +1 -1
- package/dist/index.mjs +1 -1
- package/dist/lawful-basis.js +1 -1
- package/dist/lawful-basis.mjs +1 -1
- package/dist/presets.js +1 -1
- package/dist/presets.mjs +1 -1
- package/dist/ropa.d.mts +24 -3
- package/dist/ropa.d.ts +24 -3
- package/dist/ropa.js +1 -1
- package/dist/ropa.mjs +1 -1
- package/dist/styles.css +2 -0
- package/package.json +1 -1
- package/dist/chunk-3JPDTXGC.js +0 -1
- package/dist/chunk-43OQNS2J.mjs +0 -6
- package/dist/chunk-5GVMKUMP.js +0 -1
- package/dist/chunk-COD3RMTL.mjs +0 -1
- package/dist/chunk-EXEXUAF6.mjs +0 -1
- package/dist/chunk-PGI2LM6P.js +0 -103
- package/dist/chunk-PZRQWPWD.js +0 -1
- package/dist/chunk-RPXRPGHL.mjs +0 -1
- package/dist/chunk-SSH4U4TJ.js +0 -6
- package/dist/chunk-WDDCKYWA.js +0 -1
- package/dist/chunk-X3GCGC3H.mjs +0 -103
- package/dist/chunk-ZQZJNKVB.mjs +0 -1
package/dist/hooks.d.mts
CHANGED
|
@@ -2429,17 +2429,38 @@ export declare interface UseROPAReturn {
|
|
|
2429
2429
|
*/
|
|
2430
2430
|
getRecord: (id: string) => ProcessingRecord | undefined;
|
|
2431
2431
|
/**
|
|
2432
|
-
* Get a summary of the ROPA including statistics
|
|
2432
|
+
* Get a summary of the ROPA including statistics.
|
|
2433
|
+
* @deprecated Use the cached `summary` field instead — it is memoised on
|
|
2434
|
+
* `ropa` so consumers don't pay the recompute cost on every call.
|
|
2433
2435
|
*/
|
|
2434
2436
|
getSummary: () => ROPASummary;
|
|
2435
2437
|
/**
|
|
2436
|
-
* Export the ROPA as a CSV string
|
|
2438
|
+
* Export the ROPA as a CSV string.
|
|
2439
|
+
* @deprecated Use the cached `csv` field instead — it is memoised on
|
|
2440
|
+
* `ropa` so consumers don't pay the recompute cost on every call.
|
|
2437
2441
|
*/
|
|
2438
2442
|
exportCSV: () => string;
|
|
2439
2443
|
/**
|
|
2440
|
-
* Identify compliance gaps across all records
|
|
2444
|
+
* Identify compliance gaps across all records.
|
|
2445
|
+
* @deprecated Use the cached `complianceGaps` field instead — it is
|
|
2446
|
+
* memoised on `ropa` so consumers don't pay the recompute cost on every call.
|
|
2441
2447
|
*/
|
|
2442
2448
|
getComplianceGaps: () => ROPAComplianceGap[];
|
|
2449
|
+
/**
|
|
2450
|
+
* Memoised ROPA summary. Recomputed only when `ropa` changes.
|
|
2451
|
+
* Prefer this over `getSummary()` to avoid redundant recomputation.
|
|
2452
|
+
*/
|
|
2453
|
+
summary: ROPASummary;
|
|
2454
|
+
/**
|
|
2455
|
+
* Memoised CSV export string. Recomputed only when `ropa` changes.
|
|
2456
|
+
* Prefer this over `exportCSV()` to avoid redundant recomputation.
|
|
2457
|
+
*/
|
|
2458
|
+
csv: string;
|
|
2459
|
+
/**
|
|
2460
|
+
* Memoised compliance gap list. Recomputed only when `ropa` changes.
|
|
2461
|
+
* Prefer this over `getComplianceGaps()` to avoid redundant recomputation.
|
|
2462
|
+
*/
|
|
2463
|
+
complianceGaps: ROPAComplianceGap[];
|
|
2443
2464
|
/**
|
|
2444
2465
|
* Whether the adapter is still loading data (relevant for async adapters)
|
|
2445
2466
|
*/
|
package/dist/hooks.d.ts
CHANGED
|
@@ -2429,17 +2429,38 @@ export declare interface UseROPAReturn {
|
|
|
2429
2429
|
*/
|
|
2430
2430
|
getRecord: (id: string) => ProcessingRecord | undefined;
|
|
2431
2431
|
/**
|
|
2432
|
-
* Get a summary of the ROPA including statistics
|
|
2432
|
+
* Get a summary of the ROPA including statistics.
|
|
2433
|
+
* @deprecated Use the cached `summary` field instead — it is memoised on
|
|
2434
|
+
* `ropa` so consumers don't pay the recompute cost on every call.
|
|
2433
2435
|
*/
|
|
2434
2436
|
getSummary: () => ROPASummary;
|
|
2435
2437
|
/**
|
|
2436
|
-
* Export the ROPA as a CSV string
|
|
2438
|
+
* Export the ROPA as a CSV string.
|
|
2439
|
+
* @deprecated Use the cached `csv` field instead — it is memoised on
|
|
2440
|
+
* `ropa` so consumers don't pay the recompute cost on every call.
|
|
2437
2441
|
*/
|
|
2438
2442
|
exportCSV: () => string;
|
|
2439
2443
|
/**
|
|
2440
|
-
* Identify compliance gaps across all records
|
|
2444
|
+
* Identify compliance gaps across all records.
|
|
2445
|
+
* @deprecated Use the cached `complianceGaps` field instead — it is
|
|
2446
|
+
* memoised on `ropa` so consumers don't pay the recompute cost on every call.
|
|
2441
2447
|
*/
|
|
2442
2448
|
getComplianceGaps: () => ROPAComplianceGap[];
|
|
2449
|
+
/**
|
|
2450
|
+
* Memoised ROPA summary. Recomputed only when `ropa` changes.
|
|
2451
|
+
* Prefer this over `getSummary()` to avoid redundant recomputation.
|
|
2452
|
+
*/
|
|
2453
|
+
summary: ROPASummary;
|
|
2454
|
+
/**
|
|
2455
|
+
* Memoised CSV export string. Recomputed only when `ropa` changes.
|
|
2456
|
+
* Prefer this over `exportCSV()` to avoid redundant recomputation.
|
|
2457
|
+
*/
|
|
2458
|
+
csv: string;
|
|
2459
|
+
/**
|
|
2460
|
+
* Memoised compliance gap list. Recomputed only when `ropa` changes.
|
|
2461
|
+
* Prefer this over `getComplianceGaps()` to avoid redundant recomputation.
|
|
2462
|
+
*/
|
|
2463
|
+
complianceGaps: ROPAComplianceGap[];
|
|
2443
2464
|
/**
|
|
2444
2465
|
* Whether the adapter is still loading data (relevant for async adapters)
|
|
2445
2466
|
*/
|
package/dist/hooks.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
'use strict';require('./chunk-OZCNFB5C.js');var chunkFC3PTJFL_js=require('./chunk-FC3PTJFL.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'),
|
|
2
|
+
'use strict';require('./chunk-OZCNFB5C.js');var chunkFC3PTJFL_js=require('./chunk-FC3PTJFL.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'),chunkO2WEABB3_js=require('./chunk-O2WEABB3.js');require('./chunk-JS7SYL5P.js'),require('./chunk-RDALAH3Y.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 chunkHOAC5VUF_js=require('./chunk-HOAC5VUF.js'),chunkL2VO3MEJ_js=require('./chunk-L2VO3MEJ.js');require('./chunk-C2KEXHRX.js'),require('./chunk-B46SJB5V.js');var chunk5AECGMEB_js=require('./chunk-5AECGMEB.js');require('./chunk-OZHUINWS.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,"useComplianceScore",{enumerable:true,get:function(){return chunkFC3PTJFL_js.a}});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 chunkO2WEABB3_js.a}});Object.defineProperty(exports,"useConsent",{enumerable:true,get:function(){return chunkHOAC5VUF_js.a}});Object.defineProperty(exports,"useFocusTrap",{enumerable:true,get:function(){return chunkL2VO3MEJ_js.a}});Object.defineProperty(exports,"useDSR",{enumerable:true,get:function(){return chunk5AECGMEB_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-GQYBS3A7.mjs';export{a as useComplianceScore}from'./chunk-IQO3SIAG.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-
|
|
2
|
+
import'./chunk-GQYBS3A7.mjs';export{a as useComplianceScore}from'./chunk-IQO3SIAG.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-WKUC65HL.mjs';import'./chunk-IVSNHT24.mjs';import'./chunk-7RBO42IW.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-IHNAFXDM.mjs';export{a as useFocusTrap}from'./chunk-YTU4FNM2.mjs';import'./chunk-XC3DLYEG.mjs';import'./chunk-PJNKQPQP.mjs';export{a as useDSR}from'./chunk-IB3KSUPZ.mjs';import'./chunk-VPNK7OID.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
|
@@ -5198,17 +5198,38 @@ export declare interface UseROPAReturn {
|
|
|
5198
5198
|
*/
|
|
5199
5199
|
getRecord: (id: string) => ProcessingRecord | undefined;
|
|
5200
5200
|
/**
|
|
5201
|
-
* Get a summary of the ROPA including statistics
|
|
5201
|
+
* Get a summary of the ROPA including statistics.
|
|
5202
|
+
* @deprecated Use the cached `summary` field instead — it is memoised on
|
|
5203
|
+
* `ropa` so consumers don't pay the recompute cost on every call.
|
|
5202
5204
|
*/
|
|
5203
5205
|
getSummary: () => ROPASummary;
|
|
5204
5206
|
/**
|
|
5205
|
-
* Export the ROPA as a CSV string
|
|
5207
|
+
* Export the ROPA as a CSV string.
|
|
5208
|
+
* @deprecated Use the cached `csv` field instead — it is memoised on
|
|
5209
|
+
* `ropa` so consumers don't pay the recompute cost on every call.
|
|
5206
5210
|
*/
|
|
5207
5211
|
exportCSV: () => string;
|
|
5208
5212
|
/**
|
|
5209
|
-
* Identify compliance gaps across all records
|
|
5213
|
+
* Identify compliance gaps across all records.
|
|
5214
|
+
* @deprecated Use the cached `complianceGaps` field instead — it is
|
|
5215
|
+
* memoised on `ropa` so consumers don't pay the recompute cost on every call.
|
|
5210
5216
|
*/
|
|
5211
5217
|
getComplianceGaps: () => ROPAComplianceGap[];
|
|
5218
|
+
/**
|
|
5219
|
+
* Memoised ROPA summary. Recomputed only when `ropa` changes.
|
|
5220
|
+
* Prefer this over `getSummary()` to avoid redundant recomputation.
|
|
5221
|
+
*/
|
|
5222
|
+
summary: ROPASummary;
|
|
5223
|
+
/**
|
|
5224
|
+
* Memoised CSV export string. Recomputed only when `ropa` changes.
|
|
5225
|
+
* Prefer this over `exportCSV()` to avoid redundant recomputation.
|
|
5226
|
+
*/
|
|
5227
|
+
csv: string;
|
|
5228
|
+
/**
|
|
5229
|
+
* Memoised compliance gap list. Recomputed only when `ropa` changes.
|
|
5230
|
+
* Prefer this over `getComplianceGaps()` to avoid redundant recomputation.
|
|
5231
|
+
*/
|
|
5232
|
+
complianceGaps: ROPAComplianceGap[];
|
|
5212
5233
|
/**
|
|
5213
5234
|
* Whether the adapter is still loading data (relevant for async adapters)
|
|
5214
5235
|
*/
|
package/dist/index.d.ts
CHANGED
|
@@ -5198,17 +5198,38 @@ export declare interface UseROPAReturn {
|
|
|
5198
5198
|
*/
|
|
5199
5199
|
getRecord: (id: string) => ProcessingRecord | undefined;
|
|
5200
5200
|
/**
|
|
5201
|
-
* Get a summary of the ROPA including statistics
|
|
5201
|
+
* Get a summary of the ROPA including statistics.
|
|
5202
|
+
* @deprecated Use the cached `summary` field instead — it is memoised on
|
|
5203
|
+
* `ropa` so consumers don't pay the recompute cost on every call.
|
|
5202
5204
|
*/
|
|
5203
5205
|
getSummary: () => ROPASummary;
|
|
5204
5206
|
/**
|
|
5205
|
-
* Export the ROPA as a CSV string
|
|
5207
|
+
* Export the ROPA as a CSV string.
|
|
5208
|
+
* @deprecated Use the cached `csv` field instead — it is memoised on
|
|
5209
|
+
* `ropa` so consumers don't pay the recompute cost on every call.
|
|
5206
5210
|
*/
|
|
5207
5211
|
exportCSV: () => string;
|
|
5208
5212
|
/**
|
|
5209
|
-
* Identify compliance gaps across all records
|
|
5213
|
+
* Identify compliance gaps across all records.
|
|
5214
|
+
* @deprecated Use the cached `complianceGaps` field instead — it is
|
|
5215
|
+
* memoised on `ropa` so consumers don't pay the recompute cost on every call.
|
|
5210
5216
|
*/
|
|
5211
5217
|
getComplianceGaps: () => ROPAComplianceGap[];
|
|
5218
|
+
/**
|
|
5219
|
+
* Memoised ROPA summary. Recomputed only when `ropa` changes.
|
|
5220
|
+
* Prefer this over `getSummary()` to avoid redundant recomputation.
|
|
5221
|
+
*/
|
|
5222
|
+
summary: ROPASummary;
|
|
5223
|
+
/**
|
|
5224
|
+
* Memoised CSV export string. Recomputed only when `ropa` changes.
|
|
5225
|
+
* Prefer this over `exportCSV()` to avoid redundant recomputation.
|
|
5226
|
+
*/
|
|
5227
|
+
csv: string;
|
|
5228
|
+
/**
|
|
5229
|
+
* Memoised compliance gap list. Recomputed only when `ropa` changes.
|
|
5230
|
+
* Prefer this over `getComplianceGaps()` to avoid redundant recomputation.
|
|
5231
|
+
*/
|
|
5232
|
+
complianceGaps: ROPAComplianceGap[];
|
|
5212
5233
|
/**
|
|
5213
5234
|
* Whether the adapter is still loading data (relevant for async adapters)
|
|
5214
5235
|
*/
|
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
'use strict';var chunkNUWVPRNI_js=require('./chunk-NUWVPRNI.js'),chunkPGI2LM6P_js=require('./chunk-PGI2LM6P.js'),chunkO2RDZGM2_js=require('./chunk-O2RDZGM2.js'),chunkYWCBI7SI_js=require('./chunk-YWCBI7SI.js'),chunkPZRQWPWD_js=require('./chunk-PZRQWPWD.js'),chunkSSH4U4TJ_js=require('./chunk-SSH4U4TJ.js'),chunk5GVMKUMP_js=require('./chunk-5GVMKUMP.js'),chunkFC3PTJFL_js=require('./chunk-FC3PTJFL.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'),chunk3JPDTXGC_js=require('./chunk-3JPDTXGC.js');require('./chunk-JS7SYL5P.js');var chunkRDALAH3Y_js=require('./chunk-RDALAH3Y.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'),chunk73BMSK67_js=require('./chunk-73BMSK67.js'),chunkD3DVVJCT_js=require('./chunk-D3DVVJCT.js'),chunk3IA3KDII_js=require('./chunk-3IA3KDII.js'),chunkHOAC5VUF_js=require('./chunk-HOAC5VUF.js'),chunkL2VO3MEJ_js=require('./chunk-L2VO3MEJ.js');require('./chunk-C2KEXHRX.js');var chunkB46SJB5V_js=require('./chunk-B46SJB5V.js'),chunkQMAVEHOR_js=require('./chunk-QMAVEHOR.js'),chunkTWJHEIQH_js=require('./chunk-TWJHEIQH.js'),chunkUXUMYP4L_js=require('./chunk-UXUMYP4L.js'),chunk5AECGMEB_js=require('./chunk-5AECGMEB.js'),chunkOZHUINWS_js=require('./chunk-OZHUINWS.js'),chunkNDKDKDDX_js=require('./chunk-NDKDKDDX.js');require('./chunk-WKTKTLMF.js');var chunkEZCGTHQV_js=require('./chunk-EZCGTHQV.js'),chunkWDDCKYWA_js=require('./chunk-WDDCKYWA.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');require('./chunk-VWED6UTN.js'),require('./chunk-RFPLZDIO.js');var react=require('react'),jsxRuntime=require('react/jsx-runtime');var xe=({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 De=({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 chunkPGI2LM6P_js.b}});Object.defineProperty(exports,"BreachRiskAssessment",{enumerable:true,get:function(){return chunkPGI2LM6P_js.a}});Object.defineProperty(exports,"RegulatoryReportGenerator",{enumerable:true,get:function(){return chunkPGI2LM6P_js.c}});Object.defineProperty(exports,"BreachReportForm",{enumerable:true,get:function(){return chunkO2RDZGM2_js.a}});Object.defineProperty(exports,"PolicyExporter",{enumerable:true,get:function(){return chunkYWCBI7SI_js.c}});Object.defineProperty(exports,"PolicyGenerator",{enumerable:true,get:function(){return chunkYWCBI7SI_js.a}});Object.defineProperty(exports,"PolicyPreview",{enumerable:true,get:function(){return chunkYWCBI7SI_js.b}});Object.defineProperty(exports,"LawfulBasisTracker",{enumerable:true,get:function(){return chunkPZRQWPWD_js.a}});Object.defineProperty(exports,"CrossBorderTransferManager",{enumerable:true,get:function(){return chunkSSH4U4TJ_js.a}});Object.defineProperty(exports,"ROPAManager",{enumerable:true,get:function(){return chunk5GVMKUMP_js.a}});Object.defineProperty(exports,"useComplianceScore",{enumerable:true,get:function(){return chunkFC3PTJFL_js.a}});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 chunk3JPDTXGC_js.a}});Object.defineProperty(exports,"getComplianceScore",{enumerable:true,get:function(){return chunkRDALAH3Y_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 chunk73BMSK67_js.a}});Object.defineProperty(exports,"ConsentBanner",{enumerable:true,get:function(){return chunkD3DVVJCT_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 chunkHOAC5VUF_js.a}});Object.defineProperty(exports,"useFocusTrap",{enumerable:true,get:function(){return chunkL2VO3MEJ_js.a}});Object.defineProperty(exports,"validateConsent",{enumerable:true,get:function(){return chunkB46SJB5V_js.a}});Object.defineProperty(exports,"validateConsentOptions",{enumerable:true,get:function(){return chunkB46SJB5V_js.b}});Object.defineProperty(exports,"DSRDashboard",{enumerable:true,get:function(){return chunkQMAVEHOR_js.a}});Object.defineProperty(exports,"DSRTracker",{enumerable:true,get:function(){return chunkQMAVEHOR_js.b}});Object.defineProperty(exports,"DSRRequestForm",{enumerable:true,get:function(){return chunkTWJHEIQH_js.a}});Object.defineProperty(exports,"sanitizeInput",{enumerable:true,get:function(){return chunkUXUMYP4L_js.a}});Object.defineProperty(exports,"useDSR",{enumerable:true,get:function(){return chunk5AECGMEB_js.a}});Object.defineProperty(exports,"formatDSRRequest",{enumerable:true,get:function(){return chunkOZHUINWS_js.b}});Object.defineProperty(exports,"validateDsrSubmission",{enumerable:true,get:function(){return chunkOZHUINWS_js.a}});Object.defineProperty(exports,"NDPRProvider",{enumerable:true,get:function(){return chunkNDKDKDDX_js.a}});Object.defineProperty(exports,"useNDPRConfig",{enumerable:true,get:function(){return chunkNDKDKDDX_js.b}});Object.defineProperty(exports,"DPIAReport",{enumerable:true,get:function(){return chunkEZCGTHQV_js.a}});Object.defineProperty(exports,"StepIndicator",{enumerable:true,get:function(){return chunkEZCGTHQV_js.b}});Object.defineProperty(exports,"DPIAQuestionnaire",{enumerable:true,get:function(){return chunkWDDCKYWA_js.a}});Object.defineProperty(exports,"useDPIA",{enumerable:true,get:function(){return 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}});exports.LegalNotice=De;exports.NDPRThemeProvider=xe;
|
|
2
|
+
'use strict';var chunkNUWVPRNI_js=require('./chunk-NUWVPRNI.js'),chunkYK22SYCT_js=require('./chunk-YK22SYCT.js'),chunkVUFTRKKC_js=require('./chunk-VUFTRKKC.js'),chunkYWCBI7SI_js=require('./chunk-YWCBI7SI.js'),chunkNX5MOBRI_js=require('./chunk-NX5MOBRI.js'),chunkYSD2DFBR_js=require('./chunk-YSD2DFBR.js'),chunkWXUXCRAJ_js=require('./chunk-WXUXCRAJ.js'),chunkFC3PTJFL_js=require('./chunk-FC3PTJFL.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'),chunkO2WEABB3_js=require('./chunk-O2WEABB3.js');require('./chunk-JS7SYL5P.js');var chunkRDALAH3Y_js=require('./chunk-RDALAH3Y.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'),chunk73BMSK67_js=require('./chunk-73BMSK67.js'),chunkD3DVVJCT_js=require('./chunk-D3DVVJCT.js'),chunk3IA3KDII_js=require('./chunk-3IA3KDII.js'),chunkHOAC5VUF_js=require('./chunk-HOAC5VUF.js'),chunkL2VO3MEJ_js=require('./chunk-L2VO3MEJ.js');require('./chunk-C2KEXHRX.js');var chunkB46SJB5V_js=require('./chunk-B46SJB5V.js'),chunkQMAVEHOR_js=require('./chunk-QMAVEHOR.js'),chunkTWJHEIQH_js=require('./chunk-TWJHEIQH.js'),chunkUXUMYP4L_js=require('./chunk-UXUMYP4L.js'),chunk5AECGMEB_js=require('./chunk-5AECGMEB.js'),chunkOZHUINWS_js=require('./chunk-OZHUINWS.js'),chunkNDKDKDDX_js=require('./chunk-NDKDKDDX.js');require('./chunk-WKTKTLMF.js');var chunk4GIMXUMI_js=require('./chunk-4GIMXUMI.js'),chunkROC64RLP_js=require('./chunk-ROC64RLP.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');require('./chunk-VWED6UTN.js'),require('./chunk-RFPLZDIO.js');var react=require('react'),jsxRuntime=require('react/jsx-runtime');var xe=({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 De=({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 chunkYK22SYCT_js.b}});Object.defineProperty(exports,"BreachRiskAssessment",{enumerable:true,get:function(){return chunkYK22SYCT_js.a}});Object.defineProperty(exports,"RegulatoryReportGenerator",{enumerable:true,get:function(){return chunkYK22SYCT_js.c}});Object.defineProperty(exports,"BreachReportForm",{enumerable:true,get:function(){return chunkVUFTRKKC_js.a}});Object.defineProperty(exports,"PolicyExporter",{enumerable:true,get:function(){return chunkYWCBI7SI_js.c}});Object.defineProperty(exports,"PolicyGenerator",{enumerable:true,get:function(){return chunkYWCBI7SI_js.a}});Object.defineProperty(exports,"PolicyPreview",{enumerable:true,get:function(){return chunkYWCBI7SI_js.b}});Object.defineProperty(exports,"LawfulBasisTracker",{enumerable:true,get:function(){return chunkNX5MOBRI_js.a}});Object.defineProperty(exports,"CrossBorderTransferManager",{enumerable:true,get:function(){return chunkYSD2DFBR_js.a}});Object.defineProperty(exports,"ROPAManager",{enumerable:true,get:function(){return chunkWXUXCRAJ_js.a}});Object.defineProperty(exports,"useComplianceScore",{enumerable:true,get:function(){return chunkFC3PTJFL_js.a}});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 chunkO2WEABB3_js.a}});Object.defineProperty(exports,"getComplianceScore",{enumerable:true,get:function(){return chunkRDALAH3Y_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 chunk73BMSK67_js.a}});Object.defineProperty(exports,"ConsentBanner",{enumerable:true,get:function(){return chunkD3DVVJCT_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 chunkHOAC5VUF_js.a}});Object.defineProperty(exports,"useFocusTrap",{enumerable:true,get:function(){return chunkL2VO3MEJ_js.a}});Object.defineProperty(exports,"validateConsent",{enumerable:true,get:function(){return chunkB46SJB5V_js.a}});Object.defineProperty(exports,"validateConsentOptions",{enumerable:true,get:function(){return chunkB46SJB5V_js.b}});Object.defineProperty(exports,"DSRDashboard",{enumerable:true,get:function(){return chunkQMAVEHOR_js.a}});Object.defineProperty(exports,"DSRTracker",{enumerable:true,get:function(){return chunkQMAVEHOR_js.b}});Object.defineProperty(exports,"DSRRequestForm",{enumerable:true,get:function(){return chunkTWJHEIQH_js.a}});Object.defineProperty(exports,"sanitizeInput",{enumerable:true,get:function(){return chunkUXUMYP4L_js.a}});Object.defineProperty(exports,"useDSR",{enumerable:true,get:function(){return chunk5AECGMEB_js.a}});Object.defineProperty(exports,"formatDSRRequest",{enumerable:true,get:function(){return chunkOZHUINWS_js.b}});Object.defineProperty(exports,"validateDsrSubmission",{enumerable:true,get:function(){return chunkOZHUINWS_js.a}});Object.defineProperty(exports,"NDPRProvider",{enumerable:true,get:function(){return chunkNDKDKDDX_js.a}});Object.defineProperty(exports,"useNDPRConfig",{enumerable:true,get:function(){return chunkNDKDKDDX_js.b}});Object.defineProperty(exports,"DPIAReport",{enumerable:true,get:function(){return chunk4GIMXUMI_js.a}});Object.defineProperty(exports,"StepIndicator",{enumerable:true,get:function(){return chunk4GIMXUMI_js.b}});Object.defineProperty(exports,"DPIAQuestionnaire",{enumerable:true,get:function(){return chunkROC64RLP_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}});exports.LegalNotice=De;exports.NDPRThemeProvider=xe;
|
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-
|
|
2
|
+
export{a as NDPRDashboard}from'./chunk-ZIZL37BG.mjs';export{b as BreachNotificationManager,a as BreachRiskAssessment,c as RegulatoryReportGenerator}from'./chunk-JYZOKO2W.mjs';export{a as BreachReportForm}from'./chunk-TN4TH3CT.mjs';export{c as PolicyExporter,a as PolicyGenerator,b as PolicyPreview}from'./chunk-XN2UYZXH.mjs';export{a as LawfulBasisTracker}from'./chunk-67KA345Q.mjs';export{a as CrossBorderTransferManager}from'./chunk-ZHX62QAL.mjs';export{a as ROPAManager}from'./chunk-CAFCRCTZ.mjs';export{a as useComplianceScore}from'./chunk-IQO3SIAG.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-WKUC65HL.mjs';import'./chunk-IVSNHT24.mjs';export{a as getComplianceScore}from'./chunk-7RBO42IW.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-G7JKRYM5.mjs';export{a as ConsentBanner}from'./chunk-WYH3OA5L.mjs';export{c as appendAuditEntry,a as createAuditEntry,b as getAuditLog}from'./chunk-V7UFP6QU.mjs';export{a as useConsent}from'./chunk-IHNAFXDM.mjs';export{a as useFocusTrap}from'./chunk-YTU4FNM2.mjs';import'./chunk-XC3DLYEG.mjs';export{a as validateConsent,b as validateConsentOptions}from'./chunk-PJNKQPQP.mjs';export{a as DSRDashboard,b as DSRTracker}from'./chunk-Q4CSVWSS.mjs';export{a as DSRRequestForm}from'./chunk-IPWX5I5P.mjs';export{a as sanitizeInput}from'./chunk-EWVK45Z3.mjs';export{a as useDSR}from'./chunk-IB3KSUPZ.mjs';export{b as formatDSRRequest,a as validateDsrSubmission}from'./chunk-VPNK7OID.mjs';export{a as NDPRProvider,b as useNDPRConfig}from'./chunk-25TNTLHJ.mjs';import'./chunk-RBMLGRDN.mjs';export{a as DPIAReport,b as StepIndicator}from'./chunk-RR3KXNET.mjs';export{a as DPIAQuestionnaire}from'./chunk-6OWCUDTN.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';import'./chunk-DBZSN4WP.mjs';import'./chunk-ZJYULEER.mjs';import {useMemo}from'react';import {jsx}from'react/jsx-runtime';var xe=({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 De=({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{De as LegalNotice,xe as NDPRThemeProvider};
|
package/dist/lawful-basis.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
'use strict';var
|
|
2
|
+
'use strict';var chunkNX5MOBRI_js=require('./chunk-NX5MOBRI.js'),chunkIRRUYR6M_js=require('./chunk-IRRUYR6M.js'),chunkWZYCBW2R_js=require('./chunk-WZYCBW2R.js');require('./chunk-AME4HJR4.js'),require('./chunk-VWED6UTN.js'),require('./chunk-RFPLZDIO.js');var react=require('react'),jsxRuntime=require('react/jsx-runtime');var o=react.createContext(null);function x(){let s=react.useContext(o);if(!s)throw new Error("LawfulBasis compound components must be wrapped in <LawfulBasis.Provider>. Example: <LawfulBasis.Provider><LawfulBasis.Tracker /></LawfulBasis.Provider>");return s}var r=({adapter:s,storageKey:t,useLocalStorage:i,initialActivities:u,onAdd:f,onUpdate:p,onRemove:l,children:n})=>{let m=chunkIRRUYR6M_js.a({adapter:s,storageKey:t,useLocalStorage:i,initialActivities:u,onAdd:f,onUpdate:p,onRemove:l});return jsxRuntime.jsx(o.Provider,{value:m,children:n})};var y={Provider:r,Tracker:chunkNX5MOBRI_js.a};Object.defineProperty(exports,"LawfulBasisTracker",{enumerable:true,get:function(){return chunkNX5MOBRI_js.a}});Object.defineProperty(exports,"useLawfulBasis",{enumerable:true,get:function(){return chunkIRRUYR6M_js.a}});Object.defineProperty(exports,"assessComplianceGaps",{enumerable:true,get:function(){return chunkWZYCBW2R_js.c}});Object.defineProperty(exports,"generateLawfulBasisSummary",{enumerable:true,get:function(){return chunkWZYCBW2R_js.d}});Object.defineProperty(exports,"getLawfulBasisDescription",{enumerable:true,get:function(){return chunkWZYCBW2R_js.b}});Object.defineProperty(exports,"validateProcessingActivity",{enumerable:true,get:function(){return chunkWZYCBW2R_js.a}});exports.LawfulBasis=y;exports.LawfulBasisProvider=r;exports.useLawfulBasisCompound=x;
|
package/dist/lawful-basis.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import {a}from'./chunk-
|
|
2
|
+
import {a}from'./chunk-67KA345Q.mjs';export{a as LawfulBasisTracker}from'./chunk-67KA345Q.mjs';import {a as a$1}from'./chunk-B6BRD5SL.mjs';export{a as useLawfulBasis}from'./chunk-B6BRD5SL.mjs';export{c as assessComplianceGaps,d as generateLawfulBasisSummary,b as getLawfulBasisDescription,a as validateProcessingActivity}from'./chunk-LWIKDDSU.mjs';import'./chunk-SFGW37LE.mjs';import'./chunk-DBZSN4WP.mjs';import'./chunk-ZJYULEER.mjs';import {createContext,useContext}from'react';import {jsx}from'react/jsx-runtime';var o=createContext(null);function x(){let s=useContext(o);if(!s)throw new Error("LawfulBasis compound components must be wrapped in <LawfulBasis.Provider>. Example: <LawfulBasis.Provider><LawfulBasis.Tracker /></LawfulBasis.Provider>");return s}var r=({adapter:s,storageKey:t,useLocalStorage:i,initialActivities:u,onAdd:f,onUpdate:p,onRemove:l,children:n})=>{let m=a$1({adapter:s,storageKey:t,useLocalStorage:i,initialActivities:u,onAdd:f,onUpdate:p,onRemove:l});return jsx(o.Provider,{value:m,children:n})};var y={Provider:r,Tracker:a};export{y as LawfulBasis,r as LawfulBasisProvider,x as useLawfulBasisCompound};
|
package/dist/presets.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
'use strict';var chunkEKNWO4DK_js=require('./chunk-EKNWO4DK.js'),chunkUS2VGJ7I_js=require('./chunk-US2VGJ7I.js'),chunkJWAN5J4Y_js=require('./chunk-JWAN5J4Y.js');require('./chunk-6GM2PBTF.js');var chunkNUWVPRNI_js=require('./chunk-NUWVPRNI.js'),
|
|
2
|
+
'use strict';var chunkEKNWO4DK_js=require('./chunk-EKNWO4DK.js'),chunkUS2VGJ7I_js=require('./chunk-US2VGJ7I.js'),chunkJWAN5J4Y_js=require('./chunk-JWAN5J4Y.js');require('./chunk-6GM2PBTF.js');var chunkNUWVPRNI_js=require('./chunk-NUWVPRNI.js'),chunkVUFTRKKC_js=require('./chunk-VUFTRKKC.js'),chunkNX5MOBRI_js=require('./chunk-NX5MOBRI.js'),chunkYSD2DFBR_js=require('./chunk-YSD2DFBR.js'),chunkWXUXCRAJ_js=require('./chunk-WXUXCRAJ.js');require('./chunk-NUOHT3LO.js'),require('./chunk-QHW4UKGJ.js'),require('./chunk-JS7SYL5P.js');var chunkRDALAH3Y_js=require('./chunk-RDALAH3Y.js');require('./chunk-6LJHLE6G.js'),require('./chunk-YFBDJ4FH.js'),require('./chunk-WZYCBW2R.js'),require('./chunk-4CVBQC66.js'),require('./chunk-D3DVVJCT.js'),require('./chunk-L2VO3MEJ.js'),require('./chunk-TWJHEIQH.js'),require('./chunk-UXUMYP4L.js'),require('./chunk-NDKDKDDX.js'),require('./chunk-WKTKTLMF.js');var chunkROC64RLP_js=require('./chunk-ROC64RLP.js');require('./chunk-ZVOIR4QH.js'),require('./chunk-AME4HJR4.js'),require('./chunk-VWED6UTN.js');var chunkRFPLZDIO_js=require('./chunk-RFPLZDIO.js'),jsxRuntime=require('react/jsx-runtime'),react=require('react');var L=[{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"}],I=({categories:c=L,adapter:r,classNames:u,unstyled:p,onSubmit:o=()=>{}})=>jsxRuntime.jsx(chunkVUFTRKKC_js.a,{categories:c,onSubmit:d=>{r&&r.save(d),o(d);},classNames:u,unstyled:p});var k=[{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"}]}]}],_=({sections:c=k,adapter:r,classNames:u,unstyled:p,onComplete:o=()=>{}})=>{let[n,d]=react.useState({}),[m,P]=react.useState(0),h=(a,C)=>{d(S=>chunkRFPLZDIO_js.b(chunkRFPLZDIO_js.a({},S),{[a]:C}));},e=()=>{m<c.length-1?P(a=>a+1):(r&&r.save(n),o(n));},t=()=>{m>0&&P(a=>a-1);},s=Math.round((m+1)/c.length*100);return jsxRuntime.jsx(chunkROC64RLP_js.a,{sections:c,answers:n,onAnswerChange:h,currentSectionIndex:m,onNextSection:e,onPrevSection:t,progress:s,classNames:u,unstyled:p})};var M=({initialActivities:c=[],adapter:r,classNames:u,unstyled:p})=>{let[o,n]=react.useState(()=>{if(r){let e=r.load();if(e&&!(e instanceof Promise))return e}return c});react.useEffect(()=>{if(!r)return;let e=false;return chunkRFPLZDIO_js.d(null,null,function*(){try{let t=yield r.load();!e&&t&&n(t);}catch(t){}}),()=>{e=true;}},[r]);let d=e=>{r&&r.save(e);};return jsxRuntime.jsx(chunkNX5MOBRI_js.a,{activities:o,onAddActivity:e=>{let t=Date.now(),s=chunkRFPLZDIO_js.b(chunkRFPLZDIO_js.a({},e),{id:`activity-${t}`,createdAt:t,updatedAt:t}),a=[...o,s];n(a),d(a);},onUpdateActivity:(e,t)=>{let s=o.map(a=>a.id===e?chunkRFPLZDIO_js.b(chunkRFPLZDIO_js.a(chunkRFPLZDIO_js.a({},a),t),{updatedAt:Date.now()}):a);n(s),d(s);},onArchiveActivity:e=>{let t=o.map(s=>s.id===e?chunkRFPLZDIO_js.b(chunkRFPLZDIO_js.a({},s),{status:"inactive",updatedAt:Date.now()}):s);n(t),d(t);},classNames:u,unstyled:p})};var z=({initialTransfers:c=[],adapter:r,classNames:u,unstyled:p})=>{let[o,n]=react.useState(()=>{if(r){let e=r.load();if(e&&!(e instanceof Promise))return e}return c});react.useEffect(()=>{if(!r)return;let e=false;return chunkRFPLZDIO_js.d(null,null,function*(){try{let t=yield r.load();!e&&t&&n(t);}catch(t){}}),()=>{e=true;}},[r]);let d=e=>{r&&r.save(e);};return jsxRuntime.jsx(chunkYSD2DFBR_js.a,{transfers:o,onAddTransfer:e=>{let t=Date.now(),s=chunkRFPLZDIO_js.b(chunkRFPLZDIO_js.a({},e),{id:`transfer-${t}`,createdAt:t,updatedAt:t}),a=[...o,s];n(a),d(a);},onUpdateTransfer:(e,t)=>{let s=o.map(a=>a.id===e?chunkRFPLZDIO_js.b(chunkRFPLZDIO_js.a(chunkRFPLZDIO_js.a({},a),t),{updatedAt:Date.now()}):a);n(s),d(s);},onRemoveTransfer:e=>{let t=o.filter(s=>s.id!==e);n(t),d(t);},classNames:u,unstyled:p})};var $={id:"ndpr-ropa-default",organizationName:"Your Organisation",organizationContact:"",organizationAddress:"",records:[],lastUpdated:Date.now(),version:"1.0"},G=({initialData:c,adapter:r,classNames:u,unstyled:p})=>{let[o,n]=react.useState(c!=null?c:$);react.useEffect(()=>{if(!r)return;let e=false;return chunkRFPLZDIO_js.d(null,null,function*(){let s=yield r.load();!e&&s&&n(s);}),()=>{e=true;}},[r]);let d=e=>{r&&r.save(e);};return jsxRuntime.jsx(chunkWXUXCRAJ_js.a,{ropa:o,onAddRecord:e=>{let t=chunkRFPLZDIO_js.b(chunkRFPLZDIO_js.a({},o),{records:[...o.records,e],lastUpdated:Date.now()});n(t),d(t);},onUpdateRecord:(e,t)=>{let s=chunkRFPLZDIO_js.b(chunkRFPLZDIO_js.a({},o),{records:o.records.map(a=>a.id===e?chunkRFPLZDIO_js.b(chunkRFPLZDIO_js.a(chunkRFPLZDIO_js.a({},a),t),{updatedAt:Date.now()}):a),lastUpdated:Date.now()});n(s),d(s);},onArchiveRecord:e=>{let t=chunkRFPLZDIO_js.b(chunkRFPLZDIO_js.a({},o),{records:o.records.map(s=>s.id===e?chunkRFPLZDIO_js.b(chunkRFPLZDIO_js.a({},s),{status:"archived",updatedAt:Date.now()}):s),lastUpdated:Date.now()});n(t),d(t);},classNames:u,unstyled:p})};var J=u=>{var p=u,{input:c}=p,r=chunkRFPLZDIO_js.c(p,["input"]);let o=chunkRDALAH3Y_js.a(c);return jsxRuntime.jsx(chunkNUWVPRNI_js.a,chunkRFPLZDIO_js.a({report:o},r))};Object.defineProperty(exports,"NDPRConsent",{enumerable:true,get:function(){return chunkEKNWO4DK_js.a}});Object.defineProperty(exports,"NDPRSubjectRights",{enumerable:true,get:function(){return chunkUS2VGJ7I_js.a}});Object.defineProperty(exports,"NDPRPrivacyPolicy",{enumerable:true,get:function(){return chunkJWAN5J4Y_js.a}});exports.NDPRBreachReport=I;exports.NDPRComplianceDashboard=J;exports.NDPRCrossBorder=z;exports.NDPRDPIA=_;exports.NDPRLawfulBasis=M;exports.NDPRROPA=G;
|
package/dist/presets.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
export{a as NDPRConsent}from'./chunk-OLEUIYE2.mjs';export{a as NDPRSubjectRights}from'./chunk-MTSZ7GL6.mjs';export{a as NDPRPrivacyPolicy}from'./chunk-GEP52QFH.mjs';import'./chunk-TDHH7GS2.mjs';import {a as a$7}from'./chunk-ZIZL37BG.mjs';import {a}from'./chunk-
|
|
2
|
+
export{a as NDPRConsent}from'./chunk-OLEUIYE2.mjs';export{a as NDPRSubjectRights}from'./chunk-MTSZ7GL6.mjs';export{a as NDPRPrivacyPolicy}from'./chunk-GEP52QFH.mjs';import'./chunk-TDHH7GS2.mjs';import {a as a$7}from'./chunk-ZIZL37BG.mjs';import {a}from'./chunk-TN4TH3CT.mjs';import {a as a$2}from'./chunk-67KA345Q.mjs';import {a as a$4}from'./chunk-ZHX62QAL.mjs';import {a as a$5}from'./chunk-CAFCRCTZ.mjs';import'./chunk-CWY2FMIC.mjs';import'./chunk-KE2FZH2V.mjs';import'./chunk-IVSNHT24.mjs';import {a as a$6}from'./chunk-7RBO42IW.mjs';import'./chunk-BIJSMSUU.mjs';import'./chunk-7BJXI2HI.mjs';import'./chunk-LWIKDDSU.mjs';import'./chunk-XP5PL6K7.mjs';import'./chunk-WYH3OA5L.mjs';import'./chunk-YTU4FNM2.mjs';import'./chunk-IPWX5I5P.mjs';import'./chunk-EWVK45Z3.mjs';import'./chunk-25TNTLHJ.mjs';import'./chunk-RBMLGRDN.mjs';import {a as a$1}from'./chunk-6OWCUDTN.mjs';import'./chunk-ITCY2Z66.mjs';import'./chunk-SFGW37LE.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 L=[{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"}],I=({categories:c=L,adapter:r,classNames:u,unstyled:p,onSubmit:o=()=>{}})=>jsx(a,{categories:c,onSubmit:d=>{r&&r.save(d),o(d);},classNames:u,unstyled:p});var k=[{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"}]}]}],_=({sections:c=k,adapter:r,classNames:u,unstyled:p,onComplete:o=()=>{}})=>{let[n,d]=useState({}),[m,P]=useState(0),h=(a,C)=>{d(S=>b(a$3({},S),{[a]:C}));},e=()=>{m<c.length-1?P(a=>a+1):(r&&r.save(n),o(n));},t=()=>{m>0&&P(a=>a-1);},s=Math.round((m+1)/c.length*100);return jsx(a$1,{sections:c,answers:n,onAnswerChange:h,currentSectionIndex:m,onNextSection:e,onPrevSection:t,progress:s,classNames:u,unstyled:p})};var M=({initialActivities:c=[],adapter:r,classNames:u,unstyled:p})=>{let[o,n]=useState(()=>{if(r){let e=r.load();if(e&&!(e instanceof Promise))return e}return c});useEffect(()=>{if(!r)return;let e=false;return d(null,null,function*(){try{let t=yield r.load();!e&&t&&n(t);}catch(t){}}),()=>{e=true;}},[r]);let d$1=e=>{r&&r.save(e);};return jsx(a$2,{activities:o,onAddActivity:e=>{let t=Date.now(),s=b(a$3({},e),{id:`activity-${t}`,createdAt:t,updatedAt:t}),a=[...o,s];n(a),d$1(a);},onUpdateActivity:(e,t)=>{let s=o.map(a=>a.id===e?b(a$3(a$3({},a),t),{updatedAt:Date.now()}):a);n(s),d$1(s);},onArchiveActivity:e=>{let t=o.map(s=>s.id===e?b(a$3({},s),{status:"inactive",updatedAt:Date.now()}):s);n(t),d$1(t);},classNames:u,unstyled:p})};var z=({initialTransfers:c=[],adapter:r,classNames:u,unstyled:p})=>{let[o,n]=useState(()=>{if(r){let e=r.load();if(e&&!(e instanceof Promise))return e}return c});useEffect(()=>{if(!r)return;let e=false;return d(null,null,function*(){try{let t=yield r.load();!e&&t&&n(t);}catch(t){}}),()=>{e=true;}},[r]);let d$1=e=>{r&&r.save(e);};return jsx(a$4,{transfers:o,onAddTransfer:e=>{let t=Date.now(),s=b(a$3({},e),{id:`transfer-${t}`,createdAt:t,updatedAt:t}),a=[...o,s];n(a),d$1(a);},onUpdateTransfer:(e,t)=>{let s=o.map(a=>a.id===e?b(a$3(a$3({},a),t),{updatedAt:Date.now()}):a);n(s),d$1(s);},onRemoveTransfer:e=>{let t=o.filter(s=>s.id!==e);n(t),d$1(t);},classNames:u,unstyled:p})};var $={id:"ndpr-ropa-default",organizationName:"Your Organisation",organizationContact:"",organizationAddress:"",records:[],lastUpdated:Date.now(),version:"1.0"},G=({initialData:c,adapter:r,classNames:u,unstyled:p})=>{let[o,n]=useState(c!=null?c:$);useEffect(()=>{if(!r)return;let e=false;return d(null,null,function*(){let s=yield r.load();!e&&s&&n(s);}),()=>{e=true;}},[r]);let d$1=e=>{r&&r.save(e);};return jsx(a$5,{ropa:o,onAddRecord:e=>{let t=b(a$3({},o),{records:[...o.records,e],lastUpdated:Date.now()});n(t),d$1(t);},onUpdateRecord:(e,t)=>{let s=b(a$3({},o),{records:o.records.map(a=>a.id===e?b(a$3(a$3({},a),t),{updatedAt:Date.now()}):a),lastUpdated:Date.now()});n(s),d$1(s);},onArchiveRecord:e=>{let t=b(a$3({},o),{records:o.records.map(s=>s.id===e?b(a$3({},s),{status:"archived",updatedAt:Date.now()}):s),lastUpdated:Date.now()});n(t),d$1(t);},classNames:u,unstyled:p})};var J=u=>{var p=u,{input:c$1}=p,r=c(p,["input"]);let o=a$6(c$1);return jsx(a$7,a$3({report:o},r))};export{I as NDPRBreachReport,J as NDPRComplianceDashboard,z as NDPRCrossBorder,_ as NDPRDPIA,M as NDPRLawfulBasis,G as NDPRROPA};
|
package/dist/ropa.d.mts
CHANGED
|
@@ -382,17 +382,38 @@ export declare interface UseROPAReturn {
|
|
|
382
382
|
*/
|
|
383
383
|
getRecord: (id: string) => ProcessingRecord | undefined;
|
|
384
384
|
/**
|
|
385
|
-
* Get a summary of the ROPA including statistics
|
|
385
|
+
* Get a summary of the ROPA including statistics.
|
|
386
|
+
* @deprecated Use the cached `summary` field instead — it is memoised on
|
|
387
|
+
* `ropa` so consumers don't pay the recompute cost on every call.
|
|
386
388
|
*/
|
|
387
389
|
getSummary: () => ROPASummary;
|
|
388
390
|
/**
|
|
389
|
-
* Export the ROPA as a CSV string
|
|
391
|
+
* Export the ROPA as a CSV string.
|
|
392
|
+
* @deprecated Use the cached `csv` field instead — it is memoised on
|
|
393
|
+
* `ropa` so consumers don't pay the recompute cost on every call.
|
|
390
394
|
*/
|
|
391
395
|
exportCSV: () => string;
|
|
392
396
|
/**
|
|
393
|
-
* Identify compliance gaps across all records
|
|
397
|
+
* Identify compliance gaps across all records.
|
|
398
|
+
* @deprecated Use the cached `complianceGaps` field instead — it is
|
|
399
|
+
* memoised on `ropa` so consumers don't pay the recompute cost on every call.
|
|
394
400
|
*/
|
|
395
401
|
getComplianceGaps: () => ROPAComplianceGap[];
|
|
402
|
+
/**
|
|
403
|
+
* Memoised ROPA summary. Recomputed only when `ropa` changes.
|
|
404
|
+
* Prefer this over `getSummary()` to avoid redundant recomputation.
|
|
405
|
+
*/
|
|
406
|
+
summary: ROPASummary;
|
|
407
|
+
/**
|
|
408
|
+
* Memoised CSV export string. Recomputed only when `ropa` changes.
|
|
409
|
+
* Prefer this over `exportCSV()` to avoid redundant recomputation.
|
|
410
|
+
*/
|
|
411
|
+
csv: string;
|
|
412
|
+
/**
|
|
413
|
+
* Memoised compliance gap list. Recomputed only when `ropa` changes.
|
|
414
|
+
* Prefer this over `getComplianceGaps()` to avoid redundant recomputation.
|
|
415
|
+
*/
|
|
416
|
+
complianceGaps: ROPAComplianceGap[];
|
|
396
417
|
/**
|
|
397
418
|
* Whether the adapter is still loading data (relevant for async adapters)
|
|
398
419
|
*/
|
package/dist/ropa.d.ts
CHANGED
|
@@ -382,17 +382,38 @@ export declare interface UseROPAReturn {
|
|
|
382
382
|
*/
|
|
383
383
|
getRecord: (id: string) => ProcessingRecord | undefined;
|
|
384
384
|
/**
|
|
385
|
-
* Get a summary of the ROPA including statistics
|
|
385
|
+
* Get a summary of the ROPA including statistics.
|
|
386
|
+
* @deprecated Use the cached `summary` field instead — it is memoised on
|
|
387
|
+
* `ropa` so consumers don't pay the recompute cost on every call.
|
|
386
388
|
*/
|
|
387
389
|
getSummary: () => ROPASummary;
|
|
388
390
|
/**
|
|
389
|
-
* Export the ROPA as a CSV string
|
|
391
|
+
* Export the ROPA as a CSV string.
|
|
392
|
+
* @deprecated Use the cached `csv` field instead — it is memoised on
|
|
393
|
+
* `ropa` so consumers don't pay the recompute cost on every call.
|
|
390
394
|
*/
|
|
391
395
|
exportCSV: () => string;
|
|
392
396
|
/**
|
|
393
|
-
* Identify compliance gaps across all records
|
|
397
|
+
* Identify compliance gaps across all records.
|
|
398
|
+
* @deprecated Use the cached `complianceGaps` field instead — it is
|
|
399
|
+
* memoised on `ropa` so consumers don't pay the recompute cost on every call.
|
|
394
400
|
*/
|
|
395
401
|
getComplianceGaps: () => ROPAComplianceGap[];
|
|
402
|
+
/**
|
|
403
|
+
* Memoised ROPA summary. Recomputed only when `ropa` changes.
|
|
404
|
+
* Prefer this over `getSummary()` to avoid redundant recomputation.
|
|
405
|
+
*/
|
|
406
|
+
summary: ROPASummary;
|
|
407
|
+
/**
|
|
408
|
+
* Memoised CSV export string. Recomputed only when `ropa` changes.
|
|
409
|
+
* Prefer this over `exportCSV()` to avoid redundant recomputation.
|
|
410
|
+
*/
|
|
411
|
+
csv: string;
|
|
412
|
+
/**
|
|
413
|
+
* Memoised compliance gap list. Recomputed only when `ropa` changes.
|
|
414
|
+
* Prefer this over `getComplianceGaps()` to avoid redundant recomputation.
|
|
415
|
+
*/
|
|
416
|
+
complianceGaps: ROPAComplianceGap[];
|
|
396
417
|
/**
|
|
397
418
|
* Whether the adapter is still loading data (relevant for async adapters)
|
|
398
419
|
*/
|
package/dist/ropa.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
'use strict';var
|
|
2
|
+
'use strict';var chunkWXUXCRAJ_js=require('./chunk-WXUXCRAJ.js'),chunkO2WEABB3_js=require('./chunk-O2WEABB3.js'),chunk4CVBQC66_js=require('./chunk-4CVBQC66.js');require('./chunk-AME4HJR4.js'),require('./chunk-RFPLZDIO.js');var react=require('react'),jsxRuntime=require('react/jsx-runtime');var t=react.createContext(null);function u(){let r=react.useContext(t);if(!r)throw new Error("ROPA compound components must be wrapped in <ROPA.Provider>. Example: <ROPA.Provider initialData={...}><ROPA.Manager /></ROPA.Provider>");return r}var p=({initialData:r,adapter:i,onRecordAdd:P,onRecordUpdate:n,onRecordArchive:a,children:s})=>{let R=chunkO2WEABB3_js.a({initialData:r,adapter:i,onRecordAdd:P,onRecordUpdate:n,onRecordArchive:a});return jsxRuntime.jsx(t.Provider,{value:R,children:s})};var v={Provider:p,Manager:chunkWXUXCRAJ_js.a};Object.defineProperty(exports,"ROPAManager",{enumerable:true,get:function(){return chunkWXUXCRAJ_js.a}});Object.defineProperty(exports,"useROPA",{enumerable:true,get:function(){return chunkO2WEABB3_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}});exports.ROPA=v;exports.ROPAProvider=p;exports.useROPACompound=u;
|
package/dist/ropa.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import {a}from'./chunk-
|
|
2
|
+
import {a}from'./chunk-CAFCRCTZ.mjs';export{a as ROPAManager}from'./chunk-CAFCRCTZ.mjs';import {a as a$1}from'./chunk-WKUC65HL.mjs';export{a as useROPA}from'./chunk-WKUC65HL.mjs';export{c as exportROPAToCSV,b as generateROPASummary,d as identifyComplianceGaps,a as validateProcessingRecord}from'./chunk-XP5PL6K7.mjs';import'./chunk-SFGW37LE.mjs';import'./chunk-ZJYULEER.mjs';import {createContext,useContext}from'react';import {jsx}from'react/jsx-runtime';var t=createContext(null);function u(){let r=useContext(t);if(!r)throw new Error("ROPA compound components must be wrapped in <ROPA.Provider>. Example: <ROPA.Provider initialData={...}><ROPA.Manager /></ROPA.Provider>");return r}var p=({initialData:r,adapter:i,onRecordAdd:P,onRecordUpdate:n,onRecordArchive:a,children:s})=>{let R=a$1({initialData:r,adapter:i,onRecordAdd:P,onRecordUpdate:n,onRecordArchive:a});return jsx(t.Provider,{value:R,children:s})};var v={Provider:p,Manager:a};export{v as ROPA,p as ROPAProvider,u as useROPACompound};
|
package/dist/styles.css
CHANGED
|
@@ -389,6 +389,7 @@
|
|
|
389
389
|
align-items: center;
|
|
390
390
|
justify-content: center;
|
|
391
391
|
padding: var(--ndpr-space-2) var(--ndpr-space-4);
|
|
392
|
+
min-height: 44px;
|
|
392
393
|
border: 1px solid transparent;
|
|
393
394
|
border-radius: var(--ndpr-radius);
|
|
394
395
|
font-size: var(--ndpr-font-size-sm);
|
|
@@ -1203,6 +1204,7 @@
|
|
|
1203
1204
|
justify-content: center;
|
|
1204
1205
|
gap: var(--ndpr-space-2);
|
|
1205
1206
|
padding: var(--ndpr-space-2) var(--ndpr-space-4);
|
|
1207
|
+
min-height: 44px;
|
|
1206
1208
|
border: 1px solid transparent;
|
|
1207
1209
|
border-radius: var(--ndpr-radius);
|
|
1208
1210
|
font-size: var(--ndpr-font-size-sm);
|
package/package.json
CHANGED
package/dist/chunk-3JPDTXGC.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
'use strict';var chunk4CVBQC66_js=require('./chunk-4CVBQC66.js'),chunkRFPLZDIO_js=require('./chunk-RFPLZDIO.js'),react=require('react');function E({initialData:S,adapter:R,onRecordAdd:g,onRecordUpdate:f,onRecordArchive:P}){let d=react.useRef(R);d.current=R;let[s,u]=react.useState(S),[v,p]=react.useState(true);react.useEffect(()=>{if(!d.current){p(false);return}let t=false;try{let e=d.current.load();e instanceof Promise?e.then(r=>{t||(r&&u(r),p(!1));},()=>{t||p(!1);}):(e&&u(e),p(!1));}catch(e){t||p(false);}return ()=>{t=true;}},[]);let a=react.useCallback(t=>{d.current&&Promise.resolve(d.current.save(t)).catch(e=>{console.warn("[ndpr-toolkit] Failed to save ROPA:",e);});},[]),C=react.useCallback(t=>{u(e=>{let r=chunkRFPLZDIO_js.b(chunkRFPLZDIO_js.a({},e),{records:[...e.records,t],lastUpdated:Date.now()});return a(r),r}),g==null||g(t);},[g,a]),w=react.useCallback((t,e)=>{u(r=>{let n=chunkRFPLZDIO_js.b(chunkRFPLZDIO_js.a({},r),{records:r.records.map(l=>l.id===t?chunkRFPLZDIO_js.b(chunkRFPLZDIO_js.a(chunkRFPLZDIO_js.a({},l),e),{updatedAt:Date.now()}):l),lastUpdated:Date.now()});return a(n),n}),f==null||f(t,e);},[f,a]),x=react.useCallback(t=>{u(e=>{let r=chunkRFPLZDIO_js.b(chunkRFPLZDIO_js.a({},e),{records:e.records.map(n=>n.id===t?chunkRFPLZDIO_js.b(chunkRFPLZDIO_js.a({},n),{status:"archived",updatedAt:Date.now()}):n),lastUpdated:Date.now()});return a(r),r}),P==null||P(t);},[P,a]),D=react.useCallback(t=>s.records.find(e=>e.id===t),[s.records]),G=react.useCallback(()=>chunk4CVBQC66_js.b(s),[s]),b=react.useCallback(()=>chunk4CVBQC66_js.c(s),[s]),L=react.useCallback(()=>chunk4CVBQC66_js.d(s),[s]);return {ropa:s,addRecord:C,updateRecord:w,archiveRecord:x,getRecord:D,getSummary:G,exportCSV:b,getComplianceGaps:L,isLoading:v}}exports.a=E;
|