@tantainnovative/ndpr-toolkit 3.4.1 → 3.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (177) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/dist/adapters.d.mts +34 -25
  3. package/dist/adapters.d.ts +34 -25
  4. package/dist/breach.d.mts +803 -44
  5. package/dist/breach.d.ts +803 -44
  6. package/dist/breach.js +1 -1
  7. package/dist/breach.mjs +1 -1
  8. package/dist/{chunk-ASLMPY54.js → chunk-3EGQWLJ6.js} +3 -3
  9. package/dist/chunk-B4Z5MBUC.mjs +2 -0
  10. package/dist/{chunk-LSCMXAPY.mjs → chunk-CKGJK4D7.mjs} +3 -3
  11. package/dist/{chunk-XSEZDQLB.js → chunk-CKJAECGV.js} +2 -2
  12. package/dist/{chunk-AHSMDPG5.js → chunk-CPK5D5FY.js} +2 -2
  13. package/dist/{chunk-DCJK5OZT.mjs → chunk-CWHBCQGT.mjs} +2 -2
  14. package/dist/{chunk-MLOWRZXO.mjs → chunk-F5TXUA4O.mjs} +3 -3
  15. package/dist/{chunk-BN77GP4W.mjs → chunk-GN5C32JB.mjs} +2 -2
  16. package/dist/{chunk-ZLSWOFAY.mjs → chunk-GRLIPT5V.mjs} +2 -2
  17. package/dist/{chunk-DUY6F3GT.mjs → chunk-H3EYBSVP.mjs} +3 -3
  18. package/dist/{chunk-NFJ4CB63.mjs → chunk-ID2NYIVE.mjs} +3 -3
  19. package/dist/chunk-J5WCPZLW.js +2 -0
  20. package/dist/{chunk-P2YV6DR3.js → chunk-LIM64IV2.js} +3 -3
  21. package/dist/chunk-LU7PKE7Y.mjs +2 -0
  22. package/dist/{chunk-HQSU7LGM.js → chunk-LWXZMKC2.js} +4 -4
  23. package/dist/{chunk-4BOEFDDE.js → chunk-ORFC66EA.js} +3 -3
  24. package/dist/{chunk-VTITKWGX.mjs → chunk-QSVVAZVT.mjs} +2 -2
  25. package/dist/chunk-SCWNM4PC.mjs +2 -0
  26. package/dist/{chunk-EHAZIKDX.js → chunk-SKKOMFXH.js} +2 -2
  27. package/dist/{chunk-WH6ZMUOS.mjs → chunk-TUNQUVHU.mjs} +2 -2
  28. package/dist/chunk-TV4U6AIS.js +2 -0
  29. package/dist/{chunk-ZYLDLGFL.js → chunk-VIQUXWJC.js} +2 -2
  30. package/dist/{chunk-SUEGUY35.js → chunk-XIM7KMD6.js} +2 -2
  31. package/dist/{chunk-P6QAFBCV.js → chunk-XNSZ7KUH.js} +2 -2
  32. package/dist/consent.d.mts +648 -84
  33. package/dist/consent.d.ts +648 -84
  34. package/dist/consent.js +1 -1
  35. package/dist/consent.mjs +1 -1
  36. package/dist/core.d.mts +2049 -23
  37. package/dist/core.d.ts +2049 -23
  38. package/dist/core.js +1 -1
  39. package/dist/core.mjs +1 -1
  40. package/dist/cross-border.d.mts +470 -99
  41. package/dist/cross-border.d.ts +470 -99
  42. package/dist/dpia.d.mts +591 -37
  43. package/dist/dpia.d.ts +591 -37
  44. package/dist/dsr.d.mts +654 -37
  45. package/dist/dsr.d.ts +654 -37
  46. package/dist/dsr.js +1 -1
  47. package/dist/dsr.mjs +1 -1
  48. package/dist/hooks.d.mts +2174 -30
  49. package/dist/hooks.d.ts +2174 -30
  50. package/dist/hooks.js +1 -1
  51. package/dist/hooks.mjs +1 -1
  52. package/dist/index.d.mts +4428 -43
  53. package/dist/index.d.ts +4428 -43
  54. package/dist/index.js +1 -1
  55. package/dist/index.mjs +1 -1
  56. package/dist/lawful-basis.d.mts +368 -32
  57. package/dist/lawful-basis.d.ts +368 -32
  58. package/dist/policy.d.mts +1178 -83
  59. package/dist/policy.d.ts +1178 -83
  60. package/dist/policy.js +1 -1
  61. package/dist/policy.mjs +1 -1
  62. package/dist/presets.d.mts +1020 -114
  63. package/dist/presets.d.ts +1020 -114
  64. package/dist/presets.js +1 -1
  65. package/dist/presets.mjs +1 -1
  66. package/dist/ropa.d.mts +396 -31
  67. package/dist/ropa.d.ts +396 -31
  68. package/dist/ropa.js +1 -1
  69. package/dist/ropa.mjs +1 -1
  70. package/dist/server.d.mts +2133 -24
  71. package/dist/server.d.ts +2133 -24
  72. package/dist/server.js +1 -1
  73. package/dist/server.mjs +1 -1
  74. package/dist/unstyled.d.mts +523 -55
  75. package/dist/unstyled.d.ts +523 -55
  76. package/dist/unstyled.js +1 -1
  77. package/dist/unstyled.mjs +1 -1
  78. package/package.json +3 -3
  79. package/dist/BreachReportForm-DpRrBoxU.d.ts +0 -158
  80. package/dist/BreachReportForm-yJ2Zl6gz.d.mts +0 -158
  81. package/dist/ConsentBanner-F5ayys5K.d.mts +0 -156
  82. package/dist/ConsentBanner-VqIPophc.d.ts +0 -156
  83. package/dist/ConsentManager-C7I3PDe8.d.mts +0 -105
  84. package/dist/ConsentManager-CQ2IZtUU.d.ts +0 -105
  85. package/dist/CrossBorderTransferManager-D5Lc0e46.d.ts +0 -90
  86. package/dist/CrossBorderTransferManager-DkZhv9vD.d.mts +0 -90
  87. package/dist/DPIAQuestionnaire-VXBoWFMC.d.ts +0 -123
  88. package/dist/DPIAQuestionnaire-jkt1Veb6.d.mts +0 -123
  89. package/dist/DSRRequestForm-D8rPTNmU.d.ts +0 -146
  90. package/dist/DSRRequestForm-DRouEr9j.d.mts +0 -146
  91. package/dist/DSRTracker-Bl__d4df.d.ts +0 -163
  92. package/dist/DSRTracker-CSVDfgQQ.d.mts +0 -163
  93. package/dist/LawfulBasisTracker-CBqOxX1D.d.mts +0 -85
  94. package/dist/LawfulBasisTracker-Cg30NbDA.d.ts +0 -85
  95. package/dist/NDPRDashboard-CLJpEg0X.d.mts +0 -44
  96. package/dist/NDPRDashboard-DDWNd2Ah.d.ts +0 -44
  97. package/dist/NDPRProvider-DYFb8xEl.d.ts +0 -68
  98. package/dist/NDPRProvider-U3QNu6MA.d.mts +0 -68
  99. package/dist/PolicyExporter-Bgi6nz82.d.mts +0 -291
  100. package/dist/PolicyExporter-BnvuFncj.d.ts +0 -291
  101. package/dist/ROPAManager-BS4eB8Hw.d.mts +0 -79
  102. package/dist/ROPAManager-qxTrXLkD.d.ts +0 -79
  103. package/dist/RegulatoryReportGenerator-BUYgzTTT.d.ts +0 -282
  104. package/dist/RegulatoryReportGenerator-DwcHcEFp.d.mts +0 -282
  105. package/dist/StepIndicator-CgrlokSV.d.ts +0 -171
  106. package/dist/StepIndicator-W8S_QjgO.d.mts +0 -171
  107. package/dist/breach-B_-6lDqS.d.mts +0 -17
  108. package/dist/breach-CzXqSsaY.d.ts +0 -17
  109. package/dist/breach-Eu9byel8.d.mts +0 -185
  110. package/dist/breach-Eu9byel8.d.ts +0 -185
  111. package/dist/chunk-2L7BSG7G.mjs +0 -2
  112. package/dist/chunk-5X32J5IA.mjs +0 -2
  113. package/dist/chunk-7D2OIPHH.mjs +0 -2
  114. package/dist/chunk-JKKRPS4P.js +0 -2
  115. package/dist/chunk-UHTJ6UFW.js +0 -2
  116. package/dist/compliance-score-racQe_E_.d.mts +0 -115
  117. package/dist/compliance-score-racQe_E_.d.ts +0 -115
  118. package/dist/consent-CmVzqZUk.d.mts +0 -99
  119. package/dist/consent-CmVzqZUk.d.ts +0 -99
  120. package/dist/consent-audit-BdByjYlM.d.mts +0 -65
  121. package/dist/consent-audit-DhbfMR0n.d.ts +0 -65
  122. package/dist/cross-border-BBi9rZyO.d.mts +0 -54
  123. package/dist/cross-border-Dy-U9Hu6.d.ts +0 -54
  124. package/dist/cross-border-UyT00llA.d.mts +0 -141
  125. package/dist/cross-border-UyT00llA.d.ts +0 -141
  126. package/dist/docx-4n8g4zul.d.mts +0 -64
  127. package/dist/docx-VvcTLYZM.d.ts +0 -64
  128. package/dist/dpia-D82hUrJe.d.ts +0 -15
  129. package/dist/dpia-DQDFw2_l.d.mts +0 -15
  130. package/dist/dpia-c9GiiOq0.d.mts +0 -137
  131. package/dist/dpia-c9GiiOq0.d.ts +0 -137
  132. package/dist/dsr-CIx5sd7e.d.ts +0 -14
  133. package/dist/dsr-XZ_HqTlA.d.mts +0 -14
  134. package/dist/dsr-yKbqX531.d.mts +0 -128
  135. package/dist/dsr-yKbqX531.d.ts +0 -128
  136. package/dist/lawful-basis-BEyI0kGg.d.ts +0 -57
  137. package/dist/lawful-basis-C2eGaoHM.d.mts +0 -57
  138. package/dist/lawful-basis-Cv1VmDLn.d.mts +0 -112
  139. package/dist/lawful-basis-Cv1VmDLn.d.ts +0 -112
  140. package/dist/locale-CxJx2tzn.d.mts +0 -25
  141. package/dist/locale-DSkrtf-c.d.ts +0 -25
  142. package/dist/policy-engine-5qTfp2z4.d.mts +0 -174
  143. package/dist/policy-engine-DzPxskOK.d.ts +0 -174
  144. package/dist/policy-sections-9tCb7VU7.d.ts +0 -56
  145. package/dist/policy-sections-CBWcJv-R.d.mts +0 -56
  146. package/dist/policy-templates-DhLwq4R-.d.ts +0 -43
  147. package/dist/policy-templates-DwYl2329.d.mts +0 -43
  148. package/dist/privacy-Ca6te9Ir.d.mts +0 -138
  149. package/dist/privacy-Ca6te9Ir.d.ts +0 -138
  150. package/dist/ropa-BDTM06tr.d.ts +0 -152
  151. package/dist/ropa-CFHuT7jE.d.mts +0 -152
  152. package/dist/ropa-CyynscU6.d.ts +0 -51
  153. package/dist/ropa-NIgxd8uP.d.mts +0 -51
  154. package/dist/sanitize-CxxwKxAx.d.mts +0 -94
  155. package/dist/sanitize-CxxwKxAx.d.ts +0 -94
  156. package/dist/styling-BMDGQDgS.d.mts +0 -64
  157. package/dist/styling-BaoQtV06.d.ts +0 -64
  158. package/dist/types-DK2CoKOC.d.mts +0 -10
  159. package/dist/types-DK2CoKOC.d.ts +0 -10
  160. package/dist/useAdaptivePolicyWizard-BSLyltzZ.d.mts +0 -52
  161. package/dist/useAdaptivePolicyWizard-CL7C7MTZ.d.ts +0 -52
  162. package/dist/useBreach-CPr86Yan.d.mts +0 -115
  163. package/dist/useBreach-DkVXvtJK.d.ts +0 -115
  164. package/dist/useConsent-DCNkIJHR.d.mts +0 -75
  165. package/dist/useConsent-dOcELSfX.d.ts +0 -75
  166. package/dist/useCrossBorderTransfer-DixjLjN1.d.mts +0 -78
  167. package/dist/useCrossBorderTransfer-DvSq06lv.d.ts +0 -78
  168. package/dist/useDPIA-B6180UQn.d.mts +0 -109
  169. package/dist/useDPIA-CTqbNbww.d.ts +0 -109
  170. package/dist/useDSR-WvHk8_iu.d.mts +0 -85
  171. package/dist/useDSR-wH4H6hSM.d.ts +0 -85
  172. package/dist/useDefaultPrivacyPolicy-Cs2WQSYQ.d.mts +0 -162
  173. package/dist/useDefaultPrivacyPolicy-DkOqMg2e.d.ts +0 -162
  174. package/dist/useLawfulBasis-CKJ-kw84.d.mts +0 -79
  175. package/dist/useLawfulBasis-DFTmu1ca.d.ts +0 -79
  176. package/dist/useROPA-BSSU1rfx.d.ts +0 -76
  177. package/dist/useROPA-C2hjaBTz.d.mts +0 -76
package/dist/index.js CHANGED
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- 'use strict';var chunkHQSU7LGM_js=require('./chunk-HQSU7LGM.js'),chunkHGGLW5TE_js=require('./chunk-HGGLW5TE.js'),chunkLSNL4XR5_js=require('./chunk-LSNL4XR5.js'),chunkNQNFS3QI_js=require('./chunk-NQNFS3QI.js'),chunkP6QAFBCV_js=require('./chunk-P6QAFBCV.js'),chunkRXL6CZAI_js=require('./chunk-RXL6CZAI.js');require('./chunk-C5QO3SX4.js');var chunkUHTJ6UFW_js=require('./chunk-UHTJ6UFW.js'),chunk7AVN424U_js=require('./chunk-7AVN424U.js'),chunkMCWV7S2G_js=require('./chunk-MCWV7S2G.js'),chunkM2TPT5GB_js=require('./chunk-M2TPT5GB.js'),chunkP2YV6DR3_js=require('./chunk-P2YV6DR3.js'),chunkS4GRSNB4_js=require('./chunk-S4GRSNB4.js');require('./chunk-AHSMDPG5.js');var chunkTDDAYVKK_js=require('./chunk-TDDAYVKK.js'),chunkC4YM4UMI_js=require('./chunk-C4YM4UMI.js'),chunkGOU6FU6Y_js=require('./chunk-GOU6FU6Y.js'),chunk3NQQSU4P_js=require('./chunk-3NQQSU4P.js'),chunkRLYTX3MM_js=require('./chunk-RLYTX3MM.js'),chunkSUEGUY35_js=require('./chunk-SUEGUY35.js'),chunkMJGOLP5M_js=require('./chunk-MJGOLP5M.js'),chunk7SMLHZ4B_js=require('./chunk-7SMLHZ4B.js');require('./chunk-A4PK7JB2.js');var chunkHO5M7M4M_js=require('./chunk-HO5M7M4M.js'),chunkZYLDLGFL_js=require('./chunk-ZYLDLGFL.js'),chunkZPKVLTSX_js=require('./chunk-ZPKVLTSX.js'),chunkXSEZDQLB_js=require('./chunk-XSEZDQLB.js'),chunkJKKRPS4P_js=require('./chunk-JKKRPS4P.js'),chunk3VQAYQR7_js=require('./chunk-3VQAYQR7.js'),chunk5HL4UBFV_js=require('./chunk-5HL4UBFV.js'),chunkOPYQIJKY_js=require('./chunk-OPYQIJKY.js'),chunkP42Z5CFE_js=require('./chunk-P42Z5CFE.js'),chunkEHAZIKDX_js=require('./chunk-EHAZIKDX.js'),chunkWTJGLNTB_js=require('./chunk-WTJGLNTB.js'),chunkI4M2AA3N_js=require('./chunk-I4M2AA3N.js'),chunkBKRETVJ6_js=require('./chunk-BKRETVJ6.js'),chunkI54CDQGN_js=require('./chunk-I54CDQGN.js'),chunkE64TU6IU_js=require('./chunk-E64TU6IU.js');require('./chunk-ELKB2AFZ.js'),require('./chunk-MQFZHA2D.js');Object.defineProperty(exports,"PolicyExporter",{enumerable:true,get:function(){return chunkHQSU7LGM_js.c}});Object.defineProperty(exports,"PolicyGenerator",{enumerable:true,get:function(){return chunkHQSU7LGM_js.a}});Object.defineProperty(exports,"PolicyPreview",{enumerable:true,get:function(){return chunkHQSU7LGM_js.b}});Object.defineProperty(exports,"NDPRDashboard",{enumerable:true,get:function(){return chunkHGGLW5TE_js.a}});Object.defineProperty(exports,"LawfulBasisTracker",{enumerable:true,get:function(){return chunkLSNL4XR5_js.a}});Object.defineProperty(exports,"CrossBorderTransferManager",{enumerable:true,get:function(){return chunkNQNFS3QI_js.a}});Object.defineProperty(exports,"ROPAManager",{enumerable:true,get:function(){return chunkP6QAFBCV_js.a}});Object.defineProperty(exports,"NDPRProvider",{enumerable:true,get:function(){return chunkRXL6CZAI_js.a}});Object.defineProperty(exports,"useNDPRConfig",{enumerable:true,get:function(){return chunkRXL6CZAI_js.b}});Object.defineProperty(exports,"useDefaultPrivacyPolicy",{enumerable:true,get:function(){return chunkUHTJ6UFW_js.b}});Object.defineProperty(exports,"usePrivacyPolicy",{enumerable:true,get:function(){return chunkUHTJ6UFW_js.a}});Object.defineProperty(exports,"useLawfulBasis",{enumerable:true,get:function(){return chunk7AVN424U_js.a}});Object.defineProperty(exports,"useCrossBorderTransfer",{enumerable:true,get:function(){return chunkMCWV7S2G_js.a}});Object.defineProperty(exports,"useROPA",{enumerable:true,get:function(){return chunkM2TPT5GB_js.a}});Object.defineProperty(exports,"DEFAULT_POLICY_SECTIONS",{enumerable:true,get:function(){return chunkP2YV6DR3_js.c}});Object.defineProperty(exports,"DEFAULT_POLICY_VARIABLES",{enumerable:true,get:function(){return chunkP2YV6DR3_js.d}});Object.defineProperty(exports,"createBusinessPolicyTemplate",{enumerable:true,get:function(){return chunkP2YV6DR3_js.e}});Object.defineProperty(exports,"generatePolicyText",{enumerable:true,get:function(){return chunkP2YV6DR3_js.b}});Object.defineProperty(exports,"getComplianceScore",{enumerable:true,get:function(){return chunkS4GRSNB4_js.a}});Object.defineProperty(exports,"assessComplianceGaps",{enumerable:true,get:function(){return chunkTDDAYVKK_js.c}});Object.defineProperty(exports,"generateLawfulBasisSummary",{enumerable:true,get:function(){return chunkTDDAYVKK_js.d}});Object.defineProperty(exports,"getLawfulBasisDescription",{enumerable:true,get:function(){return chunkTDDAYVKK_js.b}});Object.defineProperty(exports,"validateProcessingActivity",{enumerable:true,get:function(){return chunkTDDAYVKK_js.a}});Object.defineProperty(exports,"assessTransferRisk",{enumerable:true,get:function(){return chunkC4YM4UMI_js.h}});Object.defineProperty(exports,"getTransferMechanismDescription",{enumerable:true,get:function(){return chunkC4YM4UMI_js.f}});Object.defineProperty(exports,"isNDPCApprovalRequired",{enumerable:true,get:function(){return chunkC4YM4UMI_js.e}});Object.defineProperty(exports,"validateTransfer",{enumerable:true,get:function(){return chunkC4YM4UMI_js.g}});Object.defineProperty(exports,"exportROPAToCSV",{enumerable:true,get:function(){return chunkGOU6FU6Y_js.c}});Object.defineProperty(exports,"generateROPASummary",{enumerable:true,get:function(){return chunkGOU6FU6Y_js.b}});Object.defineProperty(exports,"identifyComplianceGaps",{enumerable:true,get:function(){return chunkGOU6FU6Y_js.d}});Object.defineProperty(exports,"validateProcessingRecord",{enumerable:true,get:function(){return chunkGOU6FU6Y_js.a}});Object.defineProperty(exports,"ConsentStorage",{enumerable:true,get:function(){return chunk3NQQSU4P_js.a}});Object.defineProperty(exports,"ConsentManager",{enumerable:true,get:function(){return chunkRLYTX3MM_js.a}});Object.defineProperty(exports,"ConsentBanner",{enumerable:true,get:function(){return chunkSUEGUY35_js.a}});Object.defineProperty(exports,"appendAuditEntry",{enumerable:true,get:function(){return chunkMJGOLP5M_js.c}});Object.defineProperty(exports,"createAuditEntry",{enumerable:true,get:function(){return chunkMJGOLP5M_js.a}});Object.defineProperty(exports,"getAuditLog",{enumerable:true,get:function(){return chunkMJGOLP5M_js.b}});Object.defineProperty(exports,"useConsent",{enumerable:true,get:function(){return chunk7SMLHZ4B_js.a}});Object.defineProperty(exports,"validateConsent",{enumerable:true,get:function(){return chunkHO5M7M4M_js.a}});Object.defineProperty(exports,"validateConsentOptions",{enumerable:true,get:function(){return chunkHO5M7M4M_js.b}});Object.defineProperty(exports,"DSRDashboard",{enumerable:true,get:function(){return chunkZYLDLGFL_js.a}});Object.defineProperty(exports,"DSRTracker",{enumerable:true,get:function(){return chunkZYLDLGFL_js.b}});Object.defineProperty(exports,"DSRRequestForm",{enumerable:true,get:function(){return chunkZPKVLTSX_js.a}});Object.defineProperty(exports,"useDSR",{enumerable:true,get:function(){return chunkXSEZDQLB_js.a}});Object.defineProperty(exports,"formatDSRRequest",{enumerable:true,get:function(){return chunkJKKRPS4P_js.a}});Object.defineProperty(exports,"DPIAReport",{enumerable:true,get:function(){return chunk3VQAYQR7_js.a}});Object.defineProperty(exports,"StepIndicator",{enumerable:true,get:function(){return chunk3VQAYQR7_js.b}});Object.defineProperty(exports,"DPIAQuestionnaire",{enumerable:true,get:function(){return chunk5HL4UBFV_js.a}});Object.defineProperty(exports,"useDPIA",{enumerable:true,get:function(){return chunkOPYQIJKY_js.a}});Object.defineProperty(exports,"assessDPIARisk",{enumerable:true,get:function(){return chunkP42Z5CFE_js.a}});Object.defineProperty(exports,"BreachNotificationManager",{enumerable:true,get:function(){return chunkEHAZIKDX_js.b}});Object.defineProperty(exports,"BreachRiskAssessment",{enumerable:true,get:function(){return chunkEHAZIKDX_js.a}});Object.defineProperty(exports,"RegulatoryReportGenerator",{enumerable:true,get:function(){return chunkEHAZIKDX_js.c}});Object.defineProperty(exports,"BreachReportForm",{enumerable:true,get:function(){return chunkWTJGLNTB_js.a}});Object.defineProperty(exports,"useBreach",{enumerable:true,get:function(){return chunkI4M2AA3N_js.a}});Object.defineProperty(exports,"calculateBreachSeverity",{enumerable:true,get:function(){return chunkBKRETVJ6_js.a}});Object.defineProperty(exports,"sanitizeInput",{enumerable:true,get:function(){return chunkI54CDQGN_js.a}});Object.defineProperty(exports,"resolveClass",{enumerable:true,get:function(){return chunkE64TU6IU_js.a}});//# sourceMappingURL=index.js.map
2
+ 'use strict';var chunkLWXZMKC2_js=require('./chunk-LWXZMKC2.js'),chunkHGGLW5TE_js=require('./chunk-HGGLW5TE.js'),chunkLSNL4XR5_js=require('./chunk-LSNL4XR5.js'),chunkNQNFS3QI_js=require('./chunk-NQNFS3QI.js'),chunkXNSZ7KUH_js=require('./chunk-XNSZ7KUH.js'),chunkRXL6CZAI_js=require('./chunk-RXL6CZAI.js');require('./chunk-C5QO3SX4.js');var chunkTV4U6AIS_js=require('./chunk-TV4U6AIS.js'),chunk7AVN424U_js=require('./chunk-7AVN424U.js'),chunkMCWV7S2G_js=require('./chunk-MCWV7S2G.js'),chunkM2TPT5GB_js=require('./chunk-M2TPT5GB.js'),chunkLIM64IV2_js=require('./chunk-LIM64IV2.js'),chunkS4GRSNB4_js=require('./chunk-S4GRSNB4.js');require('./chunk-CPK5D5FY.js');var chunkTDDAYVKK_js=require('./chunk-TDDAYVKK.js'),chunkC4YM4UMI_js=require('./chunk-C4YM4UMI.js'),chunkGOU6FU6Y_js=require('./chunk-GOU6FU6Y.js'),chunk3NQQSU4P_js=require('./chunk-3NQQSU4P.js'),chunkRLYTX3MM_js=require('./chunk-RLYTX3MM.js'),chunkXIM7KMD6_js=require('./chunk-XIM7KMD6.js'),chunkMJGOLP5M_js=require('./chunk-MJGOLP5M.js'),chunk7SMLHZ4B_js=require('./chunk-7SMLHZ4B.js');require('./chunk-A4PK7JB2.js');var chunkHO5M7M4M_js=require('./chunk-HO5M7M4M.js'),chunkVIQUXWJC_js=require('./chunk-VIQUXWJC.js'),chunkZPKVLTSX_js=require('./chunk-ZPKVLTSX.js'),chunkCKJAECGV_js=require('./chunk-CKJAECGV.js'),chunkJ5WCPZLW_js=require('./chunk-J5WCPZLW.js'),chunk3VQAYQR7_js=require('./chunk-3VQAYQR7.js'),chunk5HL4UBFV_js=require('./chunk-5HL4UBFV.js'),chunkOPYQIJKY_js=require('./chunk-OPYQIJKY.js'),chunkP42Z5CFE_js=require('./chunk-P42Z5CFE.js'),chunkSKKOMFXH_js=require('./chunk-SKKOMFXH.js'),chunkWTJGLNTB_js=require('./chunk-WTJGLNTB.js'),chunkI4M2AA3N_js=require('./chunk-I4M2AA3N.js'),chunkBKRETVJ6_js=require('./chunk-BKRETVJ6.js'),chunkI54CDQGN_js=require('./chunk-I54CDQGN.js'),chunkE64TU6IU_js=require('./chunk-E64TU6IU.js');require('./chunk-ELKB2AFZ.js'),require('./chunk-MQFZHA2D.js');Object.defineProperty(exports,"PolicyExporter",{enumerable:true,get:function(){return chunkLWXZMKC2_js.c}});Object.defineProperty(exports,"PolicyGenerator",{enumerable:true,get:function(){return chunkLWXZMKC2_js.a}});Object.defineProperty(exports,"PolicyPreview",{enumerable:true,get:function(){return chunkLWXZMKC2_js.b}});Object.defineProperty(exports,"NDPRDashboard",{enumerable:true,get:function(){return chunkHGGLW5TE_js.a}});Object.defineProperty(exports,"LawfulBasisTracker",{enumerable:true,get:function(){return chunkLSNL4XR5_js.a}});Object.defineProperty(exports,"CrossBorderTransferManager",{enumerable:true,get:function(){return chunkNQNFS3QI_js.a}});Object.defineProperty(exports,"ROPAManager",{enumerable:true,get:function(){return chunkXNSZ7KUH_js.a}});Object.defineProperty(exports,"NDPRProvider",{enumerable:true,get:function(){return chunkRXL6CZAI_js.a}});Object.defineProperty(exports,"useNDPRConfig",{enumerable:true,get:function(){return chunkRXL6CZAI_js.b}});Object.defineProperty(exports,"useDefaultPrivacyPolicy",{enumerable:true,get:function(){return chunkTV4U6AIS_js.b}});Object.defineProperty(exports,"usePrivacyPolicy",{enumerable:true,get:function(){return chunkTV4U6AIS_js.a}});Object.defineProperty(exports,"useLawfulBasis",{enumerable:true,get:function(){return chunk7AVN424U_js.a}});Object.defineProperty(exports,"useCrossBorderTransfer",{enumerable:true,get:function(){return chunkMCWV7S2G_js.a}});Object.defineProperty(exports,"useROPA",{enumerable:true,get:function(){return chunkM2TPT5GB_js.a}});Object.defineProperty(exports,"DEFAULT_POLICY_SECTIONS",{enumerable:true,get:function(){return chunkLIM64IV2_js.c}});Object.defineProperty(exports,"DEFAULT_POLICY_VARIABLES",{enumerable:true,get:function(){return chunkLIM64IV2_js.d}});Object.defineProperty(exports,"createBusinessPolicyTemplate",{enumerable:true,get:function(){return chunkLIM64IV2_js.e}});Object.defineProperty(exports,"generatePolicyText",{enumerable:true,get:function(){return chunkLIM64IV2_js.b}});Object.defineProperty(exports,"getComplianceScore",{enumerable:true,get:function(){return chunkS4GRSNB4_js.a}});Object.defineProperty(exports,"assessComplianceGaps",{enumerable:true,get:function(){return chunkTDDAYVKK_js.c}});Object.defineProperty(exports,"generateLawfulBasisSummary",{enumerable:true,get:function(){return chunkTDDAYVKK_js.d}});Object.defineProperty(exports,"getLawfulBasisDescription",{enumerable:true,get:function(){return chunkTDDAYVKK_js.b}});Object.defineProperty(exports,"validateProcessingActivity",{enumerable:true,get:function(){return chunkTDDAYVKK_js.a}});Object.defineProperty(exports,"assessTransferRisk",{enumerable:true,get:function(){return chunkC4YM4UMI_js.h}});Object.defineProperty(exports,"getTransferMechanismDescription",{enumerable:true,get:function(){return chunkC4YM4UMI_js.f}});Object.defineProperty(exports,"isNDPCApprovalRequired",{enumerable:true,get:function(){return chunkC4YM4UMI_js.e}});Object.defineProperty(exports,"validateTransfer",{enumerable:true,get:function(){return chunkC4YM4UMI_js.g}});Object.defineProperty(exports,"exportROPAToCSV",{enumerable:true,get:function(){return chunkGOU6FU6Y_js.c}});Object.defineProperty(exports,"generateROPASummary",{enumerable:true,get:function(){return chunkGOU6FU6Y_js.b}});Object.defineProperty(exports,"identifyComplianceGaps",{enumerable:true,get:function(){return chunkGOU6FU6Y_js.d}});Object.defineProperty(exports,"validateProcessingRecord",{enumerable:true,get:function(){return chunkGOU6FU6Y_js.a}});Object.defineProperty(exports,"ConsentStorage",{enumerable:true,get:function(){return chunk3NQQSU4P_js.a}});Object.defineProperty(exports,"ConsentManager",{enumerable:true,get:function(){return chunkRLYTX3MM_js.a}});Object.defineProperty(exports,"ConsentBanner",{enumerable:true,get:function(){return chunkXIM7KMD6_js.a}});Object.defineProperty(exports,"appendAuditEntry",{enumerable:true,get:function(){return chunkMJGOLP5M_js.c}});Object.defineProperty(exports,"createAuditEntry",{enumerable:true,get:function(){return chunkMJGOLP5M_js.a}});Object.defineProperty(exports,"getAuditLog",{enumerable:true,get:function(){return chunkMJGOLP5M_js.b}});Object.defineProperty(exports,"useConsent",{enumerable:true,get:function(){return chunk7SMLHZ4B_js.a}});Object.defineProperty(exports,"validateConsent",{enumerable:true,get:function(){return chunkHO5M7M4M_js.a}});Object.defineProperty(exports,"validateConsentOptions",{enumerable:true,get:function(){return chunkHO5M7M4M_js.b}});Object.defineProperty(exports,"DSRDashboard",{enumerable:true,get:function(){return chunkVIQUXWJC_js.a}});Object.defineProperty(exports,"DSRTracker",{enumerable:true,get:function(){return chunkVIQUXWJC_js.b}});Object.defineProperty(exports,"DSRRequestForm",{enumerable:true,get:function(){return chunkZPKVLTSX_js.a}});Object.defineProperty(exports,"useDSR",{enumerable:true,get:function(){return chunkCKJAECGV_js.a}});Object.defineProperty(exports,"formatDSRRequest",{enumerable:true,get:function(){return chunkJ5WCPZLW_js.b}});Object.defineProperty(exports,"DPIAReport",{enumerable:true,get:function(){return chunk3VQAYQR7_js.a}});Object.defineProperty(exports,"StepIndicator",{enumerable:true,get:function(){return chunk3VQAYQR7_js.b}});Object.defineProperty(exports,"DPIAQuestionnaire",{enumerable:true,get:function(){return chunk5HL4UBFV_js.a}});Object.defineProperty(exports,"useDPIA",{enumerable:true,get:function(){return chunkOPYQIJKY_js.a}});Object.defineProperty(exports,"assessDPIARisk",{enumerable:true,get:function(){return chunkP42Z5CFE_js.a}});Object.defineProperty(exports,"BreachNotificationManager",{enumerable:true,get:function(){return chunkSKKOMFXH_js.b}});Object.defineProperty(exports,"BreachRiskAssessment",{enumerable:true,get:function(){return chunkSKKOMFXH_js.a}});Object.defineProperty(exports,"RegulatoryReportGenerator",{enumerable:true,get:function(){return chunkSKKOMFXH_js.c}});Object.defineProperty(exports,"BreachReportForm",{enumerable:true,get:function(){return chunkWTJGLNTB_js.a}});Object.defineProperty(exports,"useBreach",{enumerable:true,get:function(){return chunkI4M2AA3N_js.a}});Object.defineProperty(exports,"calculateBreachSeverity",{enumerable:true,get:function(){return chunkBKRETVJ6_js.a}});Object.defineProperty(exports,"sanitizeInput",{enumerable:true,get:function(){return chunkI54CDQGN_js.a}});Object.defineProperty(exports,"resolveClass",{enumerable:true,get:function(){return chunkE64TU6IU_js.a}});//# sourceMappingURL=index.js.map
3
3
  //# sourceMappingURL=index.js.map
package/dist/index.mjs CHANGED
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- export{c as PolicyExporter,a as PolicyGenerator,b as PolicyPreview}from'./chunk-DUY6F3GT.mjs';export{a as NDPRDashboard}from'./chunk-RRVKUCFR.mjs';export{a as LawfulBasisTracker}from'./chunk-CISJAQ6W.mjs';export{a as CrossBorderTransferManager}from'./chunk-SYMQJO2W.mjs';export{a as ROPAManager}from'./chunk-VTITKWGX.mjs';export{a as NDPRProvider,b as useNDPRConfig}from'./chunk-74Z23WUA.mjs';import'./chunk-XHROISIF.mjs';export{b as useDefaultPrivacyPolicy,a as usePrivacyPolicy}from'./chunk-2L7BSG7G.mjs';export{a as useLawfulBasis}from'./chunk-E4NCJ7RD.mjs';export{a as useCrossBorderTransfer}from'./chunk-Z6IIMLZU.mjs';export{a as useROPA}from'./chunk-2AW7KAZO.mjs';export{c as DEFAULT_POLICY_SECTIONS,d as DEFAULT_POLICY_VARIABLES,e as createBusinessPolicyTemplate,b as generatePolicyText}from'./chunk-LSCMXAPY.mjs';export{a as getComplianceScore}from'./chunk-ABDB7LEV.mjs';import'./chunk-ZLSWOFAY.mjs';export{c as assessComplianceGaps,d as generateLawfulBasisSummary,b as getLawfulBasisDescription,a as validateProcessingActivity}from'./chunk-TXBZPCGF.mjs';export{h as assessTransferRisk,f as getTransferMechanismDescription,e as isNDPCApprovalRequired,g as validateTransfer}from'./chunk-75TJPK2N.mjs';export{c as exportROPAToCSV,b as generateROPASummary,d as identifyComplianceGaps,a as validateProcessingRecord}from'./chunk-SHMJNRHO.mjs';export{a as ConsentStorage}from'./chunk-IZCWCE7W.mjs';export{a as ConsentManager}from'./chunk-EPT2K355.mjs';export{a as ConsentBanner}from'./chunk-BN77GP4W.mjs';export{c as appendAuditEntry,a as createAuditEntry,b as getAuditLog}from'./chunk-P3PULLYP.mjs';export{a as useConsent}from'./chunk-VWPGIES4.mjs';import'./chunk-R3OYAJI6.mjs';export{a as validateConsent,b as validateConsentOptions}from'./chunk-U62QYKVG.mjs';export{a as DSRDashboard,b as DSRTracker}from'./chunk-5X32J5IA.mjs';export{a as DSRRequestForm}from'./chunk-6HZL2WDU.mjs';export{a as useDSR}from'./chunk-DCJK5OZT.mjs';export{a as formatDSRRequest}from'./chunk-7D2OIPHH.mjs';export{a as DPIAReport,b as StepIndicator}from'./chunk-TCN22KYP.mjs';export{a as DPIAQuestionnaire}from'./chunk-LJNNPAFU.mjs';export{a as useDPIA}from'./chunk-6FGCGLH5.mjs';export{a as assessDPIARisk}from'./chunk-6TA2MVTU.mjs';export{b as BreachNotificationManager,a as BreachRiskAssessment,c as RegulatoryReportGenerator}from'./chunk-WH6ZMUOS.mjs';export{a as BreachReportForm}from'./chunk-KF3EFJEF.mjs';export{a as useBreach}from'./chunk-PATONNTZ.mjs';export{a as calculateBreachSeverity}from'./chunk-DJGS7SSN.mjs';export{a as sanitizeInput}from'./chunk-GKKAK6ES.mjs';export{a as resolveClass}from'./chunk-AYKLAEOU.mjs';import'./chunk-6WIP33TW.mjs';import'./chunk-WWT2ZSNU.mjs';//# sourceMappingURL=index.mjs.map
2
+ export{c as PolicyExporter,a as PolicyGenerator,b as PolicyPreview}from'./chunk-H3EYBSVP.mjs';export{a as NDPRDashboard}from'./chunk-RRVKUCFR.mjs';export{a as LawfulBasisTracker}from'./chunk-CISJAQ6W.mjs';export{a as CrossBorderTransferManager}from'./chunk-SYMQJO2W.mjs';export{a as ROPAManager}from'./chunk-QSVVAZVT.mjs';export{a as NDPRProvider,b as useNDPRConfig}from'./chunk-74Z23WUA.mjs';import'./chunk-XHROISIF.mjs';export{b as useDefaultPrivacyPolicy,a as usePrivacyPolicy}from'./chunk-LU7PKE7Y.mjs';export{a as useLawfulBasis}from'./chunk-E4NCJ7RD.mjs';export{a as useCrossBorderTransfer}from'./chunk-Z6IIMLZU.mjs';export{a as useROPA}from'./chunk-2AW7KAZO.mjs';export{c as DEFAULT_POLICY_SECTIONS,d as DEFAULT_POLICY_VARIABLES,e as createBusinessPolicyTemplate,b as generatePolicyText}from'./chunk-CKGJK4D7.mjs';export{a as getComplianceScore}from'./chunk-ABDB7LEV.mjs';import'./chunk-GRLIPT5V.mjs';export{c as assessComplianceGaps,d as generateLawfulBasisSummary,b as getLawfulBasisDescription,a as validateProcessingActivity}from'./chunk-TXBZPCGF.mjs';export{h as assessTransferRisk,f as getTransferMechanismDescription,e as isNDPCApprovalRequired,g as validateTransfer}from'./chunk-75TJPK2N.mjs';export{c as exportROPAToCSV,b as generateROPASummary,d as identifyComplianceGaps,a as validateProcessingRecord}from'./chunk-SHMJNRHO.mjs';export{a as ConsentStorage}from'./chunk-IZCWCE7W.mjs';export{a as ConsentManager}from'./chunk-EPT2K355.mjs';export{a as ConsentBanner}from'./chunk-GN5C32JB.mjs';export{c as appendAuditEntry,a as createAuditEntry,b as getAuditLog}from'./chunk-P3PULLYP.mjs';export{a as useConsent}from'./chunk-VWPGIES4.mjs';import'./chunk-R3OYAJI6.mjs';export{a as validateConsent,b as validateConsentOptions}from'./chunk-U62QYKVG.mjs';export{a as DSRDashboard,b as DSRTracker}from'./chunk-SCWNM4PC.mjs';export{a as DSRRequestForm}from'./chunk-6HZL2WDU.mjs';export{a as useDSR}from'./chunk-CWHBCQGT.mjs';export{b as formatDSRRequest}from'./chunk-B4Z5MBUC.mjs';export{a as DPIAReport,b as StepIndicator}from'./chunk-TCN22KYP.mjs';export{a as DPIAQuestionnaire}from'./chunk-LJNNPAFU.mjs';export{a as useDPIA}from'./chunk-6FGCGLH5.mjs';export{a as assessDPIARisk}from'./chunk-6TA2MVTU.mjs';export{b as BreachNotificationManager,a as BreachRiskAssessment,c as RegulatoryReportGenerator}from'./chunk-TUNQUVHU.mjs';export{a as BreachReportForm}from'./chunk-KF3EFJEF.mjs';export{a as useBreach}from'./chunk-PATONNTZ.mjs';export{a as calculateBreachSeverity}from'./chunk-DJGS7SSN.mjs';export{a as sanitizeInput}from'./chunk-GKKAK6ES.mjs';export{a as resolveClass}from'./chunk-AYKLAEOU.mjs';import'./chunk-6WIP33TW.mjs';import'./chunk-WWT2ZSNU.mjs';//# sourceMappingURL=index.mjs.map
3
3
  //# sourceMappingURL=index.mjs.map
@@ -1,32 +1,368 @@
1
- import { b as LawfulBasisTrackerProps } from './LawfulBasisTracker-CBqOxX1D.mjs';
2
- export { L as LawfulBasisTracker } from './LawfulBasisTracker-CBqOxX1D.mjs';
3
- import { U as UseLawfulBasisReturn } from './useLawfulBasis-CKJ-kw84.mjs';
4
- export { u as useLawfulBasis } from './useLawfulBasis-CKJ-kw84.mjs';
5
- export { L as LawfulBasisComplianceGap, a as LawfulBasisValidationResult, b as assessComplianceGaps, g as generateLawfulBasisSummary, c as getLawfulBasisDescription, v as validateProcessingActivity } from './lawful-basis-C2eGaoHM.mjs';
6
- import { P as ProcessingActivity } from './lawful-basis-Cv1VmDLn.mjs';
7
- export { a as LawfulBasisSummary, L as LawfulBasisType, b as LegitimateInterestAssessment, S as SensitiveDataCondition } from './lawful-basis-Cv1VmDLn.mjs';
8
- import * as React from 'react';
9
- import React__default from 'react';
10
- import { S as StorageAdapter } from './types-DK2CoKOC.mjs';
11
-
12
- interface LawfulBasisProviderProps {
13
- adapter?: StorageAdapter<ProcessingActivity[]>;
14
- storageKey?: string;
15
- useLocalStorage?: boolean;
16
- initialActivities?: ProcessingActivity[];
17
- onAdd?: (activity: ProcessingActivity) => void;
18
- onUpdate?: (activity: ProcessingActivity) => void;
19
- onRemove?: (id: string) => void;
20
- children: React__default.ReactNode;
21
- }
22
- declare const LawfulBasisProvider: React__default.FC<LawfulBasisProviderProps>;
23
-
24
- declare const LawfulBasis: {
25
- Provider: React.FC<LawfulBasisProviderProps>;
26
- Tracker: React.FC<LawfulBasisTrackerProps>;
27
- };
28
-
29
- type LawfulBasisContextValue = UseLawfulBasisReturn;
30
- declare function useLawfulBasisCompound(): LawfulBasisContextValue;
31
-
32
- export { LawfulBasis, LawfulBasisProvider, type LawfulBasisProviderProps, ProcessingActivity, StorageAdapter, UseLawfulBasisReturn, useLawfulBasisCompound };
1
+ import * as React_2 from 'react';
2
+ import React__default from 'react';
3
+
4
+ /**
5
+ * Analyzes all processing activities and returns compliance gaps including
6
+ * missing DPO approval, overdue reviews, undocumented justifications,
7
+ * missing LIA for legitimate interests, and other documentation issues.
8
+ *
9
+ * @param activities Array of processing activities to analyze
10
+ * @returns Array of identified compliance gaps
11
+ */
12
+ export declare function assessComplianceGaps(activities: ProcessingActivity[]): LawfulBasisComplianceGap[];
13
+
14
+ /**
15
+ * Generates a summary of all lawful basis documentation across processing activities.
16
+ *
17
+ * @param activities Array of processing activities to summarize
18
+ * @returns LawfulBasisSummary with counts, breakdowns, and flagged activities
19
+ */
20
+ export declare function generateLawfulBasisSummary(activities: ProcessingActivity[]): LawfulBasisSummary;
21
+
22
+ /**
23
+ * Returns a human-readable description of a lawful basis with the relevant
24
+ * NDPA section reference.
25
+ *
26
+ * @param basis The lawful basis to describe
27
+ * @returns Description string including NDPA section reference
28
+ */
29
+ export declare function getLawfulBasisDescription(basis: LawfulBasisType): string;
30
+
31
+ export declare const LawfulBasis: {
32
+ Provider: React_2.FC<LawfulBasisProviderProps>;
33
+ Tracker: React_2.FC<LawfulBasisTrackerProps>;
34
+ };
35
+
36
+ /**
37
+ * Compliance gap identified across processing activities
38
+ */
39
+ export declare interface LawfulBasisComplianceGap {
40
+ activityId: string;
41
+ activityName: string;
42
+ type: 'missing_approval' | 'overdue_review' | 'missing_justification' | 'missing_lia' | 'missing_sensitive_condition' | 'missing_retention' | 'missing_data_categories' | 'missing_purposes';
43
+ severity: 'high' | 'medium' | 'low';
44
+ description: string;
45
+ }
46
+
47
+ declare type LawfulBasisContextValue = UseLawfulBasisReturn;
48
+
49
+ export declare const LawfulBasisProvider: React__default.FC<LawfulBasisProviderProps>;
50
+
51
+ export declare interface LawfulBasisProviderProps {
52
+ adapter?: StorageAdapter<ProcessingActivity[]>;
53
+ storageKey?: string;
54
+ useLocalStorage?: boolean;
55
+ initialActivities?: ProcessingActivity[];
56
+ onAdd?: (activity: ProcessingActivity) => void;
57
+ onUpdate?: (activity: ProcessingActivity) => void;
58
+ onRemove?: (id: string) => void;
59
+ children: React__default.ReactNode;
60
+ }
61
+
62
+ /**
63
+ * Summary of all lawful basis documentation for compliance reporting
64
+ */
65
+ export declare interface LawfulBasisSummary {
66
+ /** Total number of processing activities */
67
+ totalActivities: number;
68
+ /** Breakdown by lawful basis */
69
+ byBasis: Record<LawfulBasisType, number>;
70
+ /** Number of activities involving sensitive data */
71
+ sensitiveDataActivities: number;
72
+ /** Number of activities involving cross-border transfers */
73
+ crossBorderActivities: number;
74
+ /** Activities due for review */
75
+ activitiesDueForReview: ProcessingActivity[];
76
+ /** Activities without DPO approval */
77
+ activitiesWithoutApproval: ProcessingActivity[];
78
+ /** Last updated timestamp */
79
+ lastUpdated: number;
80
+ }
81
+
82
+ /**
83
+ * Lawful basis tracker component. Implements NDPA Section 25 requirements for documenting
84
+ * and tracking the lawful basis for each personal data processing activity.
85
+ */
86
+ export declare const LawfulBasisTracker: React__default.FC<LawfulBasisTrackerProps>;
87
+
88
+ declare interface LawfulBasisTrackerClassNames {
89
+ root?: string;
90
+ header?: string;
91
+ title?: string;
92
+ summary?: string;
93
+ summaryCard?: string;
94
+ table?: string;
95
+ tableHeader?: string;
96
+ tableRow?: string;
97
+ form?: string;
98
+ input?: string;
99
+ select?: string;
100
+ submitButton?: string;
101
+ /** Alias for submitButton */
102
+ primaryButton?: string;
103
+ statusBadge?: string;
104
+ complianceScore?: string;
105
+ gapAlert?: string;
106
+ }
107
+
108
+ declare interface LawfulBasisTrackerProps {
109
+ /**
110
+ * List of processing activities to display
111
+ */
112
+ activities: ProcessingActivity[];
113
+ /**
114
+ * Callback when a new activity is created
115
+ */
116
+ onAddActivity?: (activity: Omit<ProcessingActivity, 'id' | 'createdAt' | 'updatedAt'>) => void;
117
+ /**
118
+ * Callback when an activity is updated
119
+ */
120
+ onUpdateActivity?: (id: string, updates: Partial<ProcessingActivity>) => void;
121
+ /**
122
+ * Callback when an activity is archived
123
+ */
124
+ onArchiveActivity?: (id: string) => void;
125
+ /**
126
+ * Title displayed on the tracker
127
+ * @default "Lawful Basis Tracker"
128
+ */
129
+ title?: string;
130
+ /**
131
+ * Description text displayed on the tracker
132
+ * @default "Document and track the lawful basis for each processing activity as required by NDPA 2023 Section 25."
133
+ */
134
+ description?: string;
135
+ /**
136
+ * Custom CSS class for the tracker container
137
+ */
138
+ className?: string;
139
+ /**
140
+ * Custom CSS class for buttons
141
+ */
142
+ buttonClassName?: string;
143
+ /**
144
+ * Whether to show the compliance summary at the top
145
+ * @default true
146
+ */
147
+ showSummary?: boolean;
148
+ /**
149
+ * Whether to show compliance gap alerts
150
+ * @default true
151
+ */
152
+ showComplianceGaps?: boolean;
153
+ /**
154
+ * Override class names for individual sections of the component.
155
+ * Takes priority over className / buttonClassName.
156
+ */
157
+ classNames?: LawfulBasisTrackerClassNames;
158
+ /**
159
+ * When true, all default styling is removed so consumers
160
+ * can style from scratch using classNames.
161
+ */
162
+ unstyled?: boolean;
163
+ }
164
+
165
+ /**
166
+ * Lawful Basis types aligned with NDPA 2023 Part III (Sections 24-28)
167
+ * Every processing activity must have a documented lawful basis
168
+ */
169
+ /**
170
+ * The six lawful bases for processing personal data per NDPA Section 25(1)
171
+ */
172
+ export declare type LawfulBasisType = 'consent' | 'contract' | 'legal_obligation' | 'vital_interests' | 'public_interest' | 'legitimate_interests';
173
+
174
+ /**
175
+ * Validation result for a processing activity
176
+ */
177
+ export declare interface LawfulBasisValidationResult {
178
+ isValid: boolean;
179
+ errors: string[];
180
+ warnings: string[];
181
+ }
182
+
183
+ /**
184
+ * Represents a Legitimate Interest Assessment (LIA)
185
+ * Required when the lawful basis is 'legitimate_interests'
186
+ */
187
+ export declare interface LegitimateInterestAssessment {
188
+ /** Unique identifier */
189
+ id: string;
190
+ /** ID of the associated processing activity */
191
+ processingActivityId: string;
192
+ /** Date the assessment was conducted */
193
+ assessmentDate: number;
194
+ /** Person who conducted the assessment */
195
+ assessor: {
196
+ name: string;
197
+ role: string;
198
+ email: string;
199
+ };
200
+ /** Description of the legitimate interest being pursued */
201
+ purposeTest: string;
202
+ /** Why the processing is necessary for this purpose */
203
+ necessityTest: string;
204
+ /** Balancing test: rights of data subject vs. legitimate interest */
205
+ balancingTest: string;
206
+ /** Safeguards applied to protect data subject rights */
207
+ safeguards: string[];
208
+ /** Overall conclusion */
209
+ conclusion: string;
210
+ /** Whether the assessment concluded the processing is justified */
211
+ approved: boolean;
212
+ }
213
+
214
+ /**
215
+ * Represents a processing activity and its lawful basis
216
+ */
217
+ export declare interface ProcessingActivity {
218
+ /** Unique identifier */
219
+ id: string;
220
+ /** Name of the processing activity */
221
+ name: string;
222
+ /** Description of what processing is performed */
223
+ description: string;
224
+ /** The lawful basis for this processing activity */
225
+ lawfulBasis: LawfulBasisType;
226
+ /** Justification for why this lawful basis applies */
227
+ lawfulBasisJustification: string;
228
+ /** Categories of personal data being processed */
229
+ dataCategories: string[];
230
+ /** Whether sensitive personal data is involved */
231
+ involvesSensitiveData: boolean;
232
+ /** Condition for processing sensitive data (required if involvesSensitiveData is true) */
233
+ sensitiveDataCondition?: SensitiveDataCondition;
234
+ /** Categories of data subjects */
235
+ dataSubjectCategories: string[];
236
+ /** Purposes of the processing */
237
+ purposes: string[];
238
+ /** Data retention period */
239
+ retentionPeriod: string;
240
+ /** Justification for the retention period */
241
+ retentionJustification?: string;
242
+ /** Recipients or categories of recipients */
243
+ recipients?: string[];
244
+ /** Whether data is transferred outside Nigeria */
245
+ crossBorderTransfer: boolean;
246
+ /** Timestamp when the record was created */
247
+ createdAt: number;
248
+ /** Timestamp when the record was last updated */
249
+ updatedAt: number;
250
+ /** Next review date */
251
+ reviewDate?: number;
252
+ /** Status of the processing activity */
253
+ status: 'active' | 'inactive' | 'under_review' | 'archived';
254
+ /** DPO approval details */
255
+ dpoApproval?: {
256
+ approved: boolean;
257
+ approvedBy: string;
258
+ approvedAt: number;
259
+ notes?: string;
260
+ };
261
+ }
262
+
263
+ /**
264
+ * Additional conditions required for processing sensitive personal data
265
+ * per NDPA Section 27
266
+ */
267
+ export declare type SensitiveDataCondition = 'explicit_consent' | 'employment_law' | 'vital_interests_incapable' | 'nonprofit_legitimate' | 'publicly_available' | 'legal_claims' | 'substantial_public_interest' | 'health_purposes' | 'public_health' | 'archiving_research';
268
+
269
+ export declare interface StorageAdapter<T = unknown> {
270
+ /** Load persisted data. Called once on hook mount. */
271
+ load(): T | null | Promise<T | null>;
272
+ /** Persist data. Called on every state change. */
273
+ save(data: T): void | Promise<void>;
274
+ /** Clear persisted data. Called on reset. */
275
+ remove(): void | Promise<void>;
276
+ }
277
+
278
+ /**
279
+ * Hook for managing lawful basis documentation for processing activities
280
+ * in compliance with NDPA 2023 Section 25.
281
+ */
282
+ export declare function useLawfulBasis({ initialActivities, adapter, storageKey, useLocalStorage, onAdd, onUpdate, onRemove, }?: UseLawfulBasisOptions): UseLawfulBasisReturn;
283
+
284
+ export declare function useLawfulBasisCompound(): LawfulBasisContextValue;
285
+
286
+ declare interface UseLawfulBasisOptions {
287
+ /**
288
+ * Initial processing activities to load
289
+ */
290
+ initialActivities?: ProcessingActivity[];
291
+ /**
292
+ * Pluggable storage adapter. When provided, takes precedence over storageKey/useLocalStorage.
293
+ */
294
+ adapter?: StorageAdapter<ProcessingActivity[]>;
295
+ /**
296
+ * Storage key for persisting activities
297
+ * @default "ndpr_lawful_basis_activities"
298
+ * @deprecated Use adapter instead
299
+ */
300
+ storageKey?: string;
301
+ /**
302
+ * Whether to use local storage to persist activities
303
+ * @default true
304
+ * @deprecated Use adapter instead
305
+ */
306
+ useLocalStorage?: boolean;
307
+ /**
308
+ * Callback when an activity is added
309
+ */
310
+ onAdd?: (activity: ProcessingActivity) => void;
311
+ /**
312
+ * Callback when an activity is updated
313
+ */
314
+ onUpdate?: (activity: ProcessingActivity) => void;
315
+ /**
316
+ * Callback when an activity is removed
317
+ */
318
+ onRemove?: (id: string) => void;
319
+ }
320
+
321
+ export declare interface UseLawfulBasisReturn {
322
+ /**
323
+ * All processing activities
324
+ */
325
+ activities: ProcessingActivity[];
326
+ /**
327
+ * Add a new processing activity
328
+ */
329
+ addActivity: (activity: Omit<ProcessingActivity, 'id' | 'createdAt' | 'updatedAt'>) => ProcessingActivity;
330
+ /**
331
+ * Update an existing processing activity
332
+ */
333
+ updateActivity: (id: string, updates: Partial<ProcessingActivity>) => ProcessingActivity | null;
334
+ /**
335
+ * Remove a processing activity
336
+ */
337
+ removeActivity: (id: string) => void;
338
+ /**
339
+ * Get a specific processing activity by ID
340
+ */
341
+ getActivity: (id: string) => ProcessingActivity | null;
342
+ /**
343
+ * Get a summary of all lawful basis documentation
344
+ */
345
+ getSummary: () => LawfulBasisSummary;
346
+ /**
347
+ * Validate a processing activity
348
+ */
349
+ validateActivity: (activity: ProcessingActivity) => LawfulBasisValidationResult;
350
+ /**
351
+ * Whether the adapter is still loading data (relevant for async adapters)
352
+ */
353
+ isLoading: boolean;
354
+ }
355
+
356
+ /**
357
+ * Validates that all required fields are present on a processing activity
358
+ * and that the lawful basis is properly documented.
359
+ *
360
+ * If lawfulBasis is 'legitimate_interests', ensures a LIA justification exists.
361
+ * If involvesSensitiveData is true, ensures sensitiveDataCondition is set.
362
+ *
363
+ * @param activity The processing activity to validate
364
+ * @returns Validation result with errors and warnings
365
+ */
366
+ export declare function validateProcessingActivity(activity: ProcessingActivity): LawfulBasisValidationResult;
367
+
368
+ export { }