@tantainnovative/ndpr-toolkit 3.5.1 → 3.6.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.
Files changed (199) hide show
  1. package/CHANGELOG.md +125 -0
  2. package/README.md +29 -8
  3. package/dist/adapters.d.mts +137 -3
  4. package/dist/adapters.d.ts +137 -3
  5. package/dist/adapters.js +1 -2
  6. package/dist/adapters.mjs +1 -2
  7. package/dist/breach.d.mts +80 -1
  8. package/dist/breach.d.ts +80 -1
  9. package/dist/breach.js +1 -2
  10. package/dist/breach.mjs +1 -2
  11. package/dist/{chunk-PATONNTZ.mjs → chunk-3HOXQNCH.mjs} +1 -2
  12. package/dist/{chunk-MJGOLP5M.js → chunk-3IA3KDII.js} +1 -2
  13. package/dist/{chunk-M2TPT5GB.js → chunk-3JPDTXGC.js} +1 -2
  14. package/dist/{chunk-BKRETVJ6.js → chunk-3YTAOT5O.js} +1 -2
  15. package/dist/{chunk-GOU6FU6Y.js → chunk-4CVBQC66.js} +1 -2
  16. package/dist/{chunk-E4NCJ7RD.mjs → chunk-4G3SRVRI.mjs} +1 -2
  17. package/dist/{chunk-6QPRDQZF.js → chunk-4QXTB3L6.js} +1 -2
  18. package/dist/{chunk-XNSZ7KUH.js → chunk-5GVMKUMP.js} +1 -2
  19. package/dist/chunk-66NQ5CVY.mjs +1 -0
  20. package/dist/chunk-732C2EVN.js +1 -0
  21. package/dist/chunk-7BJXI2HI.mjs +1 -0
  22. package/dist/{chunk-C5QO3SX4.js → chunk-7IFSWCQP.js} +1 -2
  23. package/dist/{chunk-A4PK7JB2.js → chunk-7ZZO7GVB.js} +1 -2
  24. package/dist/chunk-AME4HJR4.js +1 -0
  25. package/dist/chunk-AOHKVFAS.mjs +322 -0
  26. package/dist/{chunk-HO5M7M4M.js → chunk-B46SJB5V.js} +1 -2
  27. package/dist/chunk-BFAX7JQA.mjs +1 -0
  28. package/dist/{chunk-ID2NYIVE.mjs → chunk-BNHQFZHL.mjs} +2 -3
  29. package/dist/{chunk-RLYTX3MM.js → chunk-BRS52EDT.js} +1 -2
  30. package/dist/{chunk-OPYQIJKY.js → chunk-C7IDR2IV.js} +1 -2
  31. package/dist/{chunk-CISJAQ6W.mjs → chunk-COD3RMTL.mjs} +1 -2
  32. package/dist/chunk-CR2QZTGW.js +1 -0
  33. package/dist/{chunk-6WIP33TW.mjs → chunk-DBZSN4WP.mjs} +1 -2
  34. package/dist/{chunk-74Z23WUA.mjs → chunk-EEQALYOY.mjs} +1 -2
  35. package/dist/chunk-EFIBHKQE.mjs +1 -0
  36. package/dist/{chunk-GKKAK6ES.mjs → chunk-EWVK45Z3.mjs} +1 -2
  37. package/dist/{chunk-QSVVAZVT.mjs → chunk-EXEXUAF6.mjs} +1 -2
  38. package/dist/chunk-EZCGTHQV.js +6 -0
  39. package/dist/{chunk-SYMQJO2W.mjs → chunk-GTYXVAJX.mjs} +2 -3
  40. package/dist/{chunk-6FGCGLH5.mjs → chunk-H3XJV2IR.mjs} +1 -2
  41. package/dist/chunk-HBLGN4SD.js +1 -0
  42. package/dist/{chunk-MCWV7S2G.js → chunk-HHK5LHEG.js} +1 -2
  43. package/dist/{chunk-XHROISIF.mjs → chunk-HWHBINVN.mjs} +1 -2
  44. package/dist/{chunk-3EGQWLJ6.js → chunk-I2LMQWK3.js} +2 -3
  45. package/dist/{chunk-NQNFS3QI.js → chunk-I3Y4LOSL.js} +4 -5
  46. package/dist/chunk-ITCY2Z66.mjs +4 -0
  47. package/dist/{chunk-Z6IIMLZU.mjs → chunk-KDAZQO3N.mjs} +1 -2
  48. package/dist/{chunk-J5WCPZLW.js → chunk-L2BRFMVS.js} +1 -2
  49. package/dist/chunk-L2VO3MEJ.js +1 -0
  50. package/dist/{chunk-R5FW5XUQ.mjs → chunk-LQTARVPU.mjs} +1 -2
  51. package/dist/{chunk-6TA2MVTU.mjs → chunk-LRRENTT5.mjs} +1 -2
  52. package/dist/chunk-LTPSN2SU.mjs +1 -0
  53. package/dist/{chunk-LIM64IV2.js → chunk-LVGT3DLT.js} +2 -3
  54. package/dist/{chunk-TXBZPCGF.mjs → chunk-LWIKDDSU.mjs} +1 -2
  55. package/dist/chunk-MPBPAEZC.mjs +1 -0
  56. package/dist/{chunk-Z73T6MWY.js → chunk-N3MQQUQP.js} +39 -35
  57. package/dist/{chunk-HGGLW5TE.js → chunk-NUWVPRNI.js} +1 -2
  58. package/dist/chunk-O45PKBZA.mjs +6 -0
  59. package/dist/chunk-O6CUBNXK.mjs +3 -0
  60. package/dist/{chunk-7SMLHZ4B.js → chunk-P4LNLCSF.js} +1 -2
  61. package/dist/{chunk-VWPGIES4.mjs → chunk-PCU6GKBE.mjs} +1 -2
  62. package/dist/chunk-PGI2LM6P.js +103 -0
  63. package/dist/{chunk-U62QYKVG.mjs → chunk-PJNKQPQP.mjs} +1 -2
  64. package/dist/chunk-PL4XNCQA.mjs +1 -0
  65. package/dist/{chunk-LSNL4XR5.js → chunk-PZRQWPWD.js} +1 -2
  66. package/dist/chunk-Q64735OC.js +144 -0
  67. package/dist/chunk-QPRYXVH2.js +1 -0
  68. package/dist/{chunk-MQFZHA2D.js → chunk-RFPLZDIO.js} +1 -2
  69. package/dist/chunk-RMQ7OLNY.mjs +144 -0
  70. package/dist/chunk-ROTLSZMV.js +1 -0
  71. package/dist/{chunk-2AW7KAZO.mjs → chunk-RPXRPGHL.mjs} +1 -2
  72. package/dist/chunk-RV2VMWZJ.mjs +1 -0
  73. package/dist/chunk-RXZFYBUJ.js +1 -0
  74. package/dist/chunk-RYREGZVQ.js +1 -0
  75. package/dist/{chunk-B4Z5MBUC.mjs → chunk-RZ6GC6WN.mjs} +1 -2
  76. package/dist/chunk-S6COXIZA.js +2 -0
  77. package/dist/chunk-SFGW37LE.mjs +1 -0
  78. package/dist/{chunk-3NQQSU4P.js → chunk-SJDDNB6M.js} +1 -2
  79. package/dist/chunk-SJRIOZ4K.mjs +1 -0
  80. package/dist/{chunk-H3EYBSVP.mjs → chunk-TMXK4QKK.mjs} +2 -3
  81. package/dist/{chunk-P42Z5CFE.js → chunk-TQZWJGJ2.js} +1 -2
  82. package/dist/{chunk-EPT2K355.mjs → chunk-U5RWJRGA.mjs} +1 -2
  83. package/dist/{chunk-R3OYAJI6.mjs → chunk-UASG46LP.mjs} +1 -2
  84. package/dist/{chunk-RXL6CZAI.js → chunk-UAV7V4EM.js} +1 -2
  85. package/dist/chunk-UI536RU2.js +3 -0
  86. package/dist/{chunk-7AVN424U.js → chunk-UTFBKL73.js} +1 -2
  87. package/dist/{chunk-I54CDQGN.js → chunk-UXUMYP4L.js} +1 -2
  88. package/dist/chunk-V3RYHNHN.js +1 -0
  89. package/dist/{chunk-P3PULLYP.mjs → chunk-V7UFP6QU.mjs} +1 -2
  90. package/dist/{chunk-I4M2AA3N.js → chunk-VJTQXVAF.js} +1 -2
  91. package/dist/{chunk-ELKB2AFZ.js → chunk-VWED6UTN.js} +1 -2
  92. package/dist/{chunk-LU7PKE7Y.mjs → chunk-VYAL2TGT.mjs} +1 -2
  93. package/dist/chunk-W47OSMT6.js +2 -0
  94. package/dist/chunk-W65ZWTLD.mjs +1 -0
  95. package/dist/chunk-W7RBGZCC.js +1 -0
  96. package/dist/{chunk-5HL4UBFV.js → chunk-WDDCKYWA.js} +1 -2
  97. package/dist/{chunk-DJGS7SSN.mjs → chunk-WTGKZX7J.mjs} +1 -2
  98. package/dist/{chunk-TDDAYVKK.js → chunk-WZYCBW2R.js} +1 -2
  99. package/dist/chunk-X3GCGC3H.mjs +103 -0
  100. package/dist/chunk-XJO4DH3L.mjs +2 -0
  101. package/dist/{chunk-LWXZMKC2.js → chunk-XO3VQYTL.js} +7 -8
  102. package/dist/{chunk-IZCWCE7W.mjs → chunk-XOH4WXOZ.mjs} +1 -2
  103. package/dist/{chunk-SHMJNRHO.mjs → chunk-XP5PL6K7.mjs} +1 -2
  104. package/dist/{chunk-CKGJK4D7.mjs → chunk-Y3MKMAFQ.mjs} +2 -3
  105. package/dist/chunk-YFBDJ4FH.js +1 -0
  106. package/dist/chunk-YTU4FNM2.mjs +1 -0
  107. package/dist/{chunk-TV4U6AIS.js → chunk-Z763UI5U.js} +1 -2
  108. package/dist/chunk-ZHFLBL63.mjs +2 -0
  109. package/dist/{chunk-RRVKUCFR.mjs → chunk-ZIZL37BG.mjs} +1 -2
  110. package/dist/{chunk-WWT2ZSNU.mjs → chunk-ZJYULEER.mjs} +1 -2
  111. package/dist/{chunk-LJNNPAFU.mjs → chunk-ZQZJNKVB.mjs} +1 -2
  112. package/dist/chunk-ZVOIR4QH.js +4 -0
  113. package/dist/consent.js +1 -2
  114. package/dist/consent.mjs +1 -2
  115. package/dist/core.d.mts +98 -19
  116. package/dist/core.d.ts +98 -19
  117. package/dist/core.js +1 -2
  118. package/dist/core.mjs +1 -2
  119. package/dist/cross-border.d.mts +36 -14
  120. package/dist/cross-border.d.ts +36 -14
  121. package/dist/cross-border.js +1 -2
  122. package/dist/cross-border.mjs +1 -2
  123. package/dist/dpia.d.mts +4 -4
  124. package/dist/dpia.d.ts +4 -4
  125. package/dist/dpia.js +1 -2
  126. package/dist/dpia.mjs +1 -2
  127. package/dist/dsr.d.mts +30 -17
  128. package/dist/dsr.d.ts +30 -17
  129. package/dist/dsr.js +1 -2
  130. package/dist/dsr.mjs +1 -2
  131. package/dist/hooks.d.mts +113 -20
  132. package/dist/hooks.d.ts +113 -20
  133. package/dist/hooks.js +1 -2
  134. package/dist/hooks.mjs +1 -2
  135. package/dist/index.d.mts +422 -26
  136. package/dist/index.d.ts +422 -26
  137. package/dist/index.js +1 -2
  138. package/dist/index.mjs +1 -2
  139. package/dist/lawful-basis.js +1 -2
  140. package/dist/lawful-basis.mjs +1 -2
  141. package/dist/policy.js +1 -2
  142. package/dist/policy.mjs +1 -2
  143. package/dist/presets-consent.d.mts +139 -0
  144. package/dist/presets-consent.d.ts +139 -0
  145. package/dist/presets-consent.js +2 -0
  146. package/dist/presets-consent.mjs +2 -0
  147. package/dist/presets-dsr.d.mts +133 -0
  148. package/dist/presets-dsr.d.ts +133 -0
  149. package/dist/presets-dsr.js +2 -0
  150. package/dist/presets-dsr.mjs +2 -0
  151. package/dist/presets-policy.d.mts +203 -0
  152. package/dist/presets-policy.d.ts +203 -0
  153. package/dist/presets-policy.js +2 -0
  154. package/dist/presets-policy.mjs +2 -0
  155. package/dist/presets.d.mts +127 -5
  156. package/dist/presets.d.ts +127 -5
  157. package/dist/presets.js +1 -2
  158. package/dist/presets.mjs +1 -2
  159. package/dist/ropa.js +1 -2
  160. package/dist/ropa.mjs +1 -2
  161. package/dist/server.d.mts +226 -22
  162. package/dist/server.d.ts +226 -22
  163. package/dist/server.js +1 -2
  164. package/dist/server.mjs +1 -2
  165. package/dist/styles.css +34 -0
  166. package/dist/unstyled.d.mts +3 -1
  167. package/dist/unstyled.d.ts +3 -1
  168. package/dist/unstyled.js +1 -2
  169. package/dist/unstyled.mjs +1 -2
  170. package/package.json +83 -20
  171. package/dist/chunk-3VQAYQR7.js +0 -7
  172. package/dist/chunk-6HZL2WDU.mjs +0 -2
  173. package/dist/chunk-75TJPK2N.mjs +0 -2
  174. package/dist/chunk-ABDB7LEV.mjs +0 -2
  175. package/dist/chunk-AYKLAEOU.mjs +0 -2
  176. package/dist/chunk-C4YM4UMI.js +0 -2
  177. package/dist/chunk-CKJAECGV.js +0 -2
  178. package/dist/chunk-CPK5D5FY.js +0 -132
  179. package/dist/chunk-CWHBCQGT.mjs +0 -2
  180. package/dist/chunk-E64TU6IU.js +0 -2
  181. package/dist/chunk-F5TXUA4O.mjs +0 -4
  182. package/dist/chunk-GN5C32JB.mjs +0 -2
  183. package/dist/chunk-GRLIPT5V.mjs +0 -132
  184. package/dist/chunk-I557S566.mjs +0 -15
  185. package/dist/chunk-JBSCER34.js +0 -2
  186. package/dist/chunk-JFFOPHU3.mjs +0 -318
  187. package/dist/chunk-KF3EFJEF.mjs +0 -3
  188. package/dist/chunk-ORFC66EA.js +0 -4
  189. package/dist/chunk-RY3PGVLZ.mjs +0 -2
  190. package/dist/chunk-S4GRSNB4.js +0 -2
  191. package/dist/chunk-SCWNM4PC.mjs +0 -2
  192. package/dist/chunk-SKKOMFXH.js +0 -81
  193. package/dist/chunk-TCN22KYP.mjs +0 -7
  194. package/dist/chunk-TUNQUVHU.mjs +0 -81
  195. package/dist/chunk-VIQUXWJC.js +0 -2
  196. package/dist/chunk-WTJGLNTB.js +0 -3
  197. package/dist/chunk-XIM7KMD6.js +0 -2
  198. package/dist/chunk-YPKUHSK4.js +0 -15
  199. package/dist/chunk-ZPKVLTSX.js +0 -2
package/dist/index.mjs CHANGED
@@ -1,3 +1,2 @@
1
1
  "use client";
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
- //# sourceMappingURL=index.mjs.map
2
+ export{c as PolicyExporter,a as PolicyGenerator,b as PolicyPreview}from'./chunk-TMXK4QKK.mjs';export{a as NDPRDashboard}from'./chunk-ZIZL37BG.mjs';export{a as LawfulBasisTracker}from'./chunk-COD3RMTL.mjs';export{a as CrossBorderTransferManager}from'./chunk-GTYXVAJX.mjs';export{a as ROPAManager}from'./chunk-EXEXUAF6.mjs';export{a as NDPRProvider,b as useNDPRConfig}from'./chunk-EEQALYOY.mjs';import'./chunk-HWHBINVN.mjs';export{a as useComplianceScore}from'./chunk-W65ZWTLD.mjs';export{b as useDefaultPrivacyPolicy,a as usePrivacyPolicy}from'./chunk-VYAL2TGT.mjs';export{a as useLawfulBasis}from'./chunk-4G3SRVRI.mjs';export{a as useCrossBorderTransfer}from'./chunk-KDAZQO3N.mjs';export{a as useROPA}from'./chunk-RPXRPGHL.mjs';export{a as useAdaptivePolicyWizard}from'./chunk-O6CUBNXK.mjs';import'./chunk-AOHKVFAS.mjs';export{c as DEFAULT_POLICY_SECTIONS,d as DEFAULT_POLICY_VARIABLES,e as createBusinessPolicyTemplate,b as generatePolicyText}from'./chunk-Y3MKMAFQ.mjs';export{a as getComplianceScore}from'./chunk-EFIBHKQE.mjs';import'./chunk-RMQ7OLNY.mjs';export{c as assessComplianceGaps,d as generateLawfulBasisSummary,b as getLawfulBasisDescription,a as validateProcessingActivity}from'./chunk-LWIKDDSU.mjs';export{h as assessTransferRisk,f as getTransferMechanismDescription,e as isNDPCApprovalRequired,g as validateTransfer}from'./chunk-7BJXI2HI.mjs';export{c as exportROPAToCSV,b as generateROPASummary,d as identifyComplianceGaps,a as validateProcessingRecord}from'./chunk-XP5PL6K7.mjs';export{a as ConsentStorage}from'./chunk-XOH4WXOZ.mjs';export{a as ConsentManager}from'./chunk-U5RWJRGA.mjs';export{a as ConsentBanner}from'./chunk-BFAX7JQA.mjs';export{c as appendAuditEntry,a as createAuditEntry,b as getAuditLog}from'./chunk-V7UFP6QU.mjs';export{a as useConsent}from'./chunk-PCU6GKBE.mjs';export{a as useFocusTrap}from'./chunk-YTU4FNM2.mjs';import'./chunk-UASG46LP.mjs';export{a as validateConsent,b as validateConsentOptions}from'./chunk-PJNKQPQP.mjs';export{a as DSRDashboard,b as DSRTracker}from'./chunk-66NQ5CVY.mjs';export{a as DSRRequestForm}from'./chunk-XJO4DH3L.mjs';export{a as useDSR}from'./chunk-MPBPAEZC.mjs';export{b as formatDSRRequest}from'./chunk-RZ6GC6WN.mjs';export{a as DPIAReport,b as StepIndicator}from'./chunk-O45PKBZA.mjs';export{a as DPIAQuestionnaire}from'./chunk-ZQZJNKVB.mjs';export{a as useDPIA}from'./chunk-H3XJV2IR.mjs';export{a as assessDPIARisk}from'./chunk-LRRENTT5.mjs';export{b as BreachNotificationManager,a as BreachRiskAssessment,c as RegulatoryReportGenerator}from'./chunk-X3GCGC3H.mjs';export{a as BreachReportForm}from'./chunk-ZHFLBL63.mjs';export{a as useBreach}from'./chunk-3HOXQNCH.mjs';export{a as calculateBreachSeverity}from'./chunk-WTGKZX7J.mjs';export{a as sanitizeInput}from'./chunk-EWVK45Z3.mjs';import {b,a}from'./chunk-ITCY2Z66.mjs';export{b as LEGAL_DISCLAIMER_LONG,a as LEGAL_DISCLAIMER_SHORT,c as legalDisclaimerBlock}from'./chunk-ITCY2Z66.mjs';export{a as resolveClass}from'./chunk-SFGW37LE.mjs';import'./chunk-DBZSN4WP.mjs';import'./chunk-ZJYULEER.mjs';import {jsx}from'react/jsx-runtime';var xe=({variant:t="short",className:e,hidden:s})=>{if(s)return null;let a$1=t==="long"?b:a;return jsx("p",{role:"note",className:e!=null?e:"ndpr-legal-notice","data-ndpr-legal-notice":t,children:a$1})};export{xe as LegalNotice};
@@ -1,3 +1,2 @@
1
1
  "use client";
2
- 'use strict';var chunkLSNL4XR5_js=require('./chunk-LSNL4XR5.js'),chunk7AVN424U_js=require('./chunk-7AVN424U.js'),chunkTDDAYVKK_js=require('./chunk-TDDAYVKK.js');require('./chunk-E64TU6IU.js'),require('./chunk-ELKB2AFZ.js'),require('./chunk-MQFZHA2D.js');var react=require('react'),jsxRuntime=require('react/jsx-runtime');var r=react.createContext(null);function x(){let s=react.useContext(r);if(!s)throw new Error("LawfulBasis compound components must be wrapped in <LawfulBasis.Provider>. Example: <LawfulBasis.Provider><LawfulBasis.Tracker /></LawfulBasis.Provider>");return s}var e=({adapter:s,storageKey:t,useLocalStorage:i,initialActivities:u,onAdd:f,onUpdate:p,onRemove:l,children:n})=>{let m=chunk7AVN424U_js.a({adapter:s,storageKey:t,useLocalStorage:i,initialActivities:u,onAdd:f,onUpdate:p,onRemove:l});return jsxRuntime.jsx(r.Provider,{value:m,children:n})};var y={Provider:e,Tracker:chunkLSNL4XR5_js.a};Object.defineProperty(exports,"LawfulBasisTracker",{enumerable:true,get:function(){return chunkLSNL4XR5_js.a}});Object.defineProperty(exports,"useLawfulBasis",{enumerable:true,get:function(){return chunk7AVN424U_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}});exports.LawfulBasis=y;exports.LawfulBasisProvider=e;exports.useLawfulBasisCompound=x;//# sourceMappingURL=lawful-basis.js.map
3
- //# sourceMappingURL=lawful-basis.js.map
2
+ 'use strict';var chunkPZRQWPWD_js=require('./chunk-PZRQWPWD.js'),chunkUTFBKL73_js=require('./chunk-UTFBKL73.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=chunkUTFBKL73_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:chunkPZRQWPWD_js.a};Object.defineProperty(exports,"LawfulBasisTracker",{enumerable:true,get:function(){return chunkPZRQWPWD_js.a}});Object.defineProperty(exports,"useLawfulBasis",{enumerable:true,get:function(){return chunkUTFBKL73_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;
@@ -1,3 +1,2 @@
1
1
  "use client";
2
- import {a}from'./chunk-CISJAQ6W.mjs';export{a as LawfulBasisTracker}from'./chunk-CISJAQ6W.mjs';import {a as a$1}from'./chunk-E4NCJ7RD.mjs';export{a as useLawfulBasis}from'./chunk-E4NCJ7RD.mjs';export{c as assessComplianceGaps,d as generateLawfulBasisSummary,b as getLawfulBasisDescription,a as validateProcessingActivity}from'./chunk-TXBZPCGF.mjs';import'./chunk-AYKLAEOU.mjs';import'./chunk-6WIP33TW.mjs';import'./chunk-WWT2ZSNU.mjs';import {createContext,useContext}from'react';import {jsx}from'react/jsx-runtime';var r=createContext(null);function x(){let s=useContext(r);if(!s)throw new Error("LawfulBasis compound components must be wrapped in <LawfulBasis.Provider>. Example: <LawfulBasis.Provider><LawfulBasis.Tracker /></LawfulBasis.Provider>");return s}var e=({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(r.Provider,{value:m,children:n})};var y={Provider:e,Tracker:a};export{y as LawfulBasis,e as LawfulBasisProvider,x as useLawfulBasisCompound};//# sourceMappingURL=lawful-basis.mjs.map
3
- //# sourceMappingURL=lawful-basis.mjs.map
2
+ import {a}from'./chunk-COD3RMTL.mjs';export{a as LawfulBasisTracker}from'./chunk-COD3RMTL.mjs';import {a as a$1}from'./chunk-4G3SRVRI.mjs';export{a as useLawfulBasis}from'./chunk-4G3SRVRI.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/policy.js CHANGED
@@ -1,3 +1,2 @@
1
1
  "use client";
2
- 'use strict';var chunk3EGQWLJ6_js=require('./chunk-3EGQWLJ6.js'),chunkLWXZMKC2_js=require('./chunk-LWXZMKC2.js'),chunkORFC66EA_js=require('./chunk-ORFC66EA.js'),chunkTV4U6AIS_js=require('./chunk-TV4U6AIS.js'),chunkZ73T6MWY_js=require('./chunk-Z73T6MWY.js'),chunkYPKUHSK4_js=require('./chunk-YPKUHSK4.js'),chunkLIM64IV2_js=require('./chunk-LIM64IV2.js'),chunkCPK5D5FY_js=require('./chunk-CPK5D5FY.js');require('./chunk-E64TU6IU.js'),require('./chunk-ELKB2AFZ.js');var chunkMQFZHA2D_js=require('./chunk-MQFZHA2D.js'),react=require('react'),jsxRuntime=require('react/jsx-runtime');var x=react.createContext(null);function Y(){let o=react.useContext(x);if(!o)throw new Error("Policy compound components must be wrapped in <Policy.Provider>. Example: <Policy.Provider templates={...}><Policy.Generator /></Policy.Provider>");return o}var s=({templates:o,adapter:l,storageKey:t,useLocalStorage:i,initialPolicy:p,onGenerate:m,children:e})=>{let d=chunkTV4U6AIS_js.a({templates:o,adapter:l,storageKey:t,useLocalStorage:i,initialPolicy:p,onGenerate:m}),r=chunkMQFZHA2D_js.b(chunkMQFZHA2D_js.a({},d),{templates:o});return jsxRuntime.jsx(x.Provider,{value:r,children:e})};var X={Provider:s,Generator:chunkLWXZMKC2_js.a,Preview:chunkLWXZMKC2_js.b,Exporter:chunkLWXZMKC2_js.c};var Q=({policy:o,className:l,mode:t="shadow",options:i})=>{let p=react.useRef(null);if(react.useEffect(()=>{var g;if(t!=="shadow")return;let e=p.current;if(!e)return;let d=chunkZ73T6MWY_js.a(o,chunkMQFZHA2D_js.a({includeStyles:true,includePrintCSS:true},i)),r=(g=e.shadowRoot)!=null?g:e.attachShadow({mode:"open"});r.innerHTML=d;let v=h=>{var A;let C=h.target;if(!C)return;let T=C.closest("a[href]");if(!T)return;let f=(A=T.getAttribute("href"))!=null?A:"";if(!f.startsWith("#")||f.length<2)return;let R=decodeURIComponent(f.slice(1)),E=r.getElementById(R);E&&(h.preventDefault(),E.scrollIntoView({behavior:"smooth",block:"start"}));};return r.addEventListener("click",v),()=>{r.removeEventListener("click",v),e.shadowRoot&&(e.shadowRoot.innerHTML="");}},[o,i,t]),t==="shadow")return jsxRuntime.jsx("div",{ref:p,"data-ndpr-component":"policy-page",className:l});let m=chunkZ73T6MWY_js.a(o,chunkMQFZHA2D_js.a({includeStyles:false},i));return jsxRuntime.jsx("div",{"data-ndpr-component":"policy-page",className:l,dangerouslySetInnerHTML:{__html:m}})};Object.defineProperty(exports,"AdaptivePolicyWizard",{enumerable:true,get:function(){return chunk3EGQWLJ6_js.a}});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,"useAdaptivePolicyWizard",{enumerable:true,get:function(){return chunkORFC66EA_js.a}});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,"exportDOCX",{enumerable:true,get:function(){return chunkZ73T6MWY_js.d}});Object.defineProperty(exports,"exportHTML",{enumerable:true,get:function(){return chunkZ73T6MWY_js.a}});Object.defineProperty(exports,"exportMarkdown",{enumerable:true,get:function(){return chunkZ73T6MWY_js.b}});Object.defineProperty(exports,"exportPDF",{enumerable:true,get:function(){return chunkZ73T6MWY_js.c}});Object.defineProperty(exports,"DEFAULT_DATA_CATEGORIES",{enumerable:true,get:function(){return chunkYPKUHSK4_js.a}});Object.defineProperty(exports,"createDefaultContext",{enumerable:true,get:function(){return chunkYPKUHSK4_js.b}});Object.defineProperty(exports,"evaluatePolicyCompliance",{enumerable:true,get:function(){return chunkYPKUHSK4_js.c}});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,"findUnfilledTokens",{enumerable:true,get:function(){return chunkLIM64IV2_js.a}});Object.defineProperty(exports,"generatePolicyText",{enumerable:true,get:function(){return chunkLIM64IV2_js.b}});Object.defineProperty(exports,"assemblePolicy",{enumerable:true,get:function(){return chunkCPK5D5FY_js.c}});exports.Policy=X;exports.PolicyPage=Q;exports.PolicyProvider=s;exports.usePolicyCompound=Y;//# sourceMappingURL=policy.js.map
3
- //# sourceMappingURL=policy.js.map
2
+ 'use strict';var chunkI2LMQWK3_js=require('./chunk-I2LMQWK3.js'),chunkXO3VQYTL_js=require('./chunk-XO3VQYTL.js'),chunkZ763UI5U_js=require('./chunk-Z763UI5U.js'),chunkUI536RU2_js=require('./chunk-UI536RU2.js'),chunkN3MQQUQP_js=require('./chunk-N3MQQUQP.js'),chunkLVGT3DLT_js=require('./chunk-LVGT3DLT.js'),chunkQ64735OC_js=require('./chunk-Q64735OC.js');require('./chunk-ZVOIR4QH.js'),require('./chunk-AME4HJR4.js'),require('./chunk-VWED6UTN.js');var chunkRFPLZDIO_js=require('./chunk-RFPLZDIO.js'),react=require('react'),jsxRuntime=require('react/jsx-runtime');var u=react.createContext(null);function Y(){let o=react.useContext(u);if(!o)throw new Error("Policy compound components must be wrapped in <Policy.Provider>. Example: <Policy.Provider templates={...}><Policy.Generator /></Policy.Provider>");return o}var x=({templates:o,adapter:l,storageKey:t,useLocalStorage:i,initialPolicy:p,onGenerate:a,children:e})=>{let y=chunkZ763UI5U_js.a({templates:o,adapter:l,storageKey:t,useLocalStorage:i,initialPolicy:p,onGenerate:a}),r=chunkRFPLZDIO_js.b(chunkRFPLZDIO_js.a({},y),{templates:o});return jsxRuntime.jsx(u.Provider,{value:r,children:e})};var X={Provider:x,Generator:chunkXO3VQYTL_js.a,Preview:chunkXO3VQYTL_js.b,Exporter:chunkXO3VQYTL_js.c};var Q=({policy:o,className:l,mode:t="shadow",options:i})=>{let p=react.useRef(null);if(react.useEffect(()=>{var g;if(t!=="shadow")return;let e=p.current;if(!e)return;let y=chunkN3MQQUQP_js.a(o,chunkRFPLZDIO_js.a({includeStyles:true,includePrintCSS:true},i)),r=(g=e.shadowRoot)!=null?g:e.attachShadow({mode:"open"});r.innerHTML=y;let v=h=>{var A;let C=h.target;if(!C)return;let T=C.closest("a[href]");if(!T)return;let P=(A=T.getAttribute("href"))!=null?A:"";if(!P.startsWith("#")||P.length<2)return;let R=decodeURIComponent(P.slice(1)),E=r.getElementById(R);E&&(h.preventDefault(),E.scrollIntoView({behavior:"smooth",block:"start"}));};return r.addEventListener("click",v),()=>{r.removeEventListener("click",v),e.shadowRoot&&(e.shadowRoot.innerHTML="");}},[o,i,t]),t==="shadow")return jsxRuntime.jsx("div",{ref:p,"data-ndpr-component":"policy-page",className:l});let a=chunkN3MQQUQP_js.a(o,chunkRFPLZDIO_js.a({includeStyles:false},i));return jsxRuntime.jsx("div",{"data-ndpr-component":"policy-page",className:l,dangerouslySetInnerHTML:{__html:a}})};Object.defineProperty(exports,"AdaptivePolicyWizard",{enumerable:true,get:function(){return chunkI2LMQWK3_js.a}});Object.defineProperty(exports,"PolicyExporter",{enumerable:true,get:function(){return chunkXO3VQYTL_js.c}});Object.defineProperty(exports,"PolicyGenerator",{enumerable:true,get:function(){return chunkXO3VQYTL_js.a}});Object.defineProperty(exports,"PolicyPreview",{enumerable:true,get:function(){return chunkXO3VQYTL_js.b}});Object.defineProperty(exports,"useDefaultPrivacyPolicy",{enumerable:true,get:function(){return chunkZ763UI5U_js.b}});Object.defineProperty(exports,"usePrivacyPolicy",{enumerable:true,get:function(){return chunkZ763UI5U_js.a}});Object.defineProperty(exports,"useAdaptivePolicyWizard",{enumerable:true,get:function(){return chunkUI536RU2_js.a}});Object.defineProperty(exports,"exportDOCX",{enumerable:true,get:function(){return chunkN3MQQUQP_js.d}});Object.defineProperty(exports,"exportHTML",{enumerable:true,get:function(){return chunkN3MQQUQP_js.a}});Object.defineProperty(exports,"exportMarkdown",{enumerable:true,get:function(){return chunkN3MQQUQP_js.b}});Object.defineProperty(exports,"exportPDF",{enumerable:true,get:function(){return chunkN3MQQUQP_js.c}});Object.defineProperty(exports,"DEFAULT_POLICY_SECTIONS",{enumerable:true,get:function(){return chunkLVGT3DLT_js.c}});Object.defineProperty(exports,"DEFAULT_POLICY_VARIABLES",{enumerable:true,get:function(){return chunkLVGT3DLT_js.d}});Object.defineProperty(exports,"createBusinessPolicyTemplate",{enumerable:true,get:function(){return chunkLVGT3DLT_js.e}});Object.defineProperty(exports,"findUnfilledTokens",{enumerable:true,get:function(){return chunkLVGT3DLT_js.a}});Object.defineProperty(exports,"generatePolicyText",{enumerable:true,get:function(){return chunkLVGT3DLT_js.b}});Object.defineProperty(exports,"DEFAULT_DATA_CATEGORIES",{enumerable:true,get:function(){return chunkQ64735OC_js.d}});Object.defineProperty(exports,"assemblePolicy",{enumerable:true,get:function(){return chunkQ64735OC_js.c}});Object.defineProperty(exports,"createDefaultContext",{enumerable:true,get:function(){return chunkQ64735OC_js.e}});Object.defineProperty(exports,"evaluatePolicyCompliance",{enumerable:true,get:function(){return chunkQ64735OC_js.f}});exports.Policy=X;exports.PolicyPage=Q;exports.PolicyProvider=x;exports.usePolicyCompound=Y;
package/dist/policy.mjs CHANGED
@@ -1,3 +1,2 @@
1
1
  "use client";
2
- export{a as AdaptivePolicyWizard}from'./chunk-ID2NYIVE.mjs';import {c,b,a}from'./chunk-H3EYBSVP.mjs';export{c as PolicyExporter,a as PolicyGenerator,b as PolicyPreview}from'./chunk-H3EYBSVP.mjs';export{a as useAdaptivePolicyWizard}from'./chunk-F5TXUA4O.mjs';import {a as a$1}from'./chunk-LU7PKE7Y.mjs';export{b as useDefaultPrivacyPolicy,a as usePrivacyPolicy}from'./chunk-LU7PKE7Y.mjs';import {a as a$3}from'./chunk-JFFOPHU3.mjs';export{d as exportDOCX,a as exportHTML,b as exportMarkdown,c as exportPDF}from'./chunk-JFFOPHU3.mjs';export{a as DEFAULT_DATA_CATEGORIES,b as createDefaultContext,c as evaluatePolicyCompliance}from'./chunk-I557S566.mjs';export{c as DEFAULT_POLICY_SECTIONS,d as DEFAULT_POLICY_VARIABLES,e as createBusinessPolicyTemplate,a as findUnfilledTokens,b as generatePolicyText}from'./chunk-CKGJK4D7.mjs';export{c as assemblePolicy}from'./chunk-GRLIPT5V.mjs';import'./chunk-AYKLAEOU.mjs';import'./chunk-6WIP33TW.mjs';import {b as b$1,a as a$2}from'./chunk-WWT2ZSNU.mjs';import {createContext,useContext,useRef,useEffect}from'react';import {jsx}from'react/jsx-runtime';var x=createContext(null);function Y(){let o=useContext(x);if(!o)throw new Error("Policy compound components must be wrapped in <Policy.Provider>. Example: <Policy.Provider templates={...}><Policy.Generator /></Policy.Provider>");return o}var s=({templates:o,adapter:l,storageKey:t,useLocalStorage:i,initialPolicy:p,onGenerate:m,children:e})=>{let d=a$1({templates:o,adapter:l,storageKey:t,useLocalStorage:i,initialPolicy:p,onGenerate:m}),r=b$1(a$2({},d),{templates:o});return jsx(x.Provider,{value:r,children:e})};var X={Provider:s,Generator:a,Preview:b,Exporter:c};var Q=({policy:o,className:l,mode:t="shadow",options:i})=>{let p=useRef(null);if(useEffect(()=>{var g;if(t!=="shadow")return;let e=p.current;if(!e)return;let d=a$3(o,a$2({includeStyles:true,includePrintCSS:true},i)),r=(g=e.shadowRoot)!=null?g:e.attachShadow({mode:"open"});r.innerHTML=d;let v=h=>{var A;let C=h.target;if(!C)return;let T=C.closest("a[href]");if(!T)return;let f=(A=T.getAttribute("href"))!=null?A:"";if(!f.startsWith("#")||f.length<2)return;let R=decodeURIComponent(f.slice(1)),E=r.getElementById(R);E&&(h.preventDefault(),E.scrollIntoView({behavior:"smooth",block:"start"}));};return r.addEventListener("click",v),()=>{r.removeEventListener("click",v),e.shadowRoot&&(e.shadowRoot.innerHTML="");}},[o,i,t]),t==="shadow")return jsx("div",{ref:p,"data-ndpr-component":"policy-page",className:l});let m=a$3(o,a$2({includeStyles:false},i));return jsx("div",{"data-ndpr-component":"policy-page",className:l,dangerouslySetInnerHTML:{__html:m}})};export{X as Policy,Q as PolicyPage,s as PolicyProvider,Y as usePolicyCompound};//# sourceMappingURL=policy.mjs.map
3
- //# sourceMappingURL=policy.mjs.map
2
+ export{a as AdaptivePolicyWizard}from'./chunk-BNHQFZHL.mjs';import {c,b,a}from'./chunk-TMXK4QKK.mjs';export{c as PolicyExporter,a as PolicyGenerator,b as PolicyPreview}from'./chunk-TMXK4QKK.mjs';import {a as a$1}from'./chunk-VYAL2TGT.mjs';export{b as useDefaultPrivacyPolicy,a as usePrivacyPolicy}from'./chunk-VYAL2TGT.mjs';export{a as useAdaptivePolicyWizard}from'./chunk-O6CUBNXK.mjs';import {a as a$3}from'./chunk-AOHKVFAS.mjs';export{d as exportDOCX,a as exportHTML,b as exportMarkdown,c as exportPDF}from'./chunk-AOHKVFAS.mjs';export{c as DEFAULT_POLICY_SECTIONS,d as DEFAULT_POLICY_VARIABLES,e as createBusinessPolicyTemplate,a as findUnfilledTokens,b as generatePolicyText}from'./chunk-Y3MKMAFQ.mjs';export{d as DEFAULT_DATA_CATEGORIES,c as assemblePolicy,e as createDefaultContext,f as evaluatePolicyCompliance}from'./chunk-RMQ7OLNY.mjs';import'./chunk-ITCY2Z66.mjs';import'./chunk-SFGW37LE.mjs';import'./chunk-DBZSN4WP.mjs';import {b as b$1,a as a$2}from'./chunk-ZJYULEER.mjs';import {createContext,useContext,useRef,useEffect}from'react';import {jsx}from'react/jsx-runtime';var u=createContext(null);function Y(){let o=useContext(u);if(!o)throw new Error("Policy compound components must be wrapped in <Policy.Provider>. Example: <Policy.Provider templates={...}><Policy.Generator /></Policy.Provider>");return o}var x=({templates:o,adapter:l,storageKey:t,useLocalStorage:i,initialPolicy:p,onGenerate:a,children:e})=>{let y=a$1({templates:o,adapter:l,storageKey:t,useLocalStorage:i,initialPolicy:p,onGenerate:a}),r=b$1(a$2({},y),{templates:o});return jsx(u.Provider,{value:r,children:e})};var X={Provider:x,Generator:a,Preview:b,Exporter:c};var Q=({policy:o,className:l,mode:t="shadow",options:i})=>{let p=useRef(null);if(useEffect(()=>{var g;if(t!=="shadow")return;let e=p.current;if(!e)return;let y=a$3(o,a$2({includeStyles:true,includePrintCSS:true},i)),r=(g=e.shadowRoot)!=null?g:e.attachShadow({mode:"open"});r.innerHTML=y;let v=h=>{var A;let C=h.target;if(!C)return;let T=C.closest("a[href]");if(!T)return;let P=(A=T.getAttribute("href"))!=null?A:"";if(!P.startsWith("#")||P.length<2)return;let R=decodeURIComponent(P.slice(1)),E=r.getElementById(R);E&&(h.preventDefault(),E.scrollIntoView({behavior:"smooth",block:"start"}));};return r.addEventListener("click",v),()=>{r.removeEventListener("click",v),e.shadowRoot&&(e.shadowRoot.innerHTML="");}},[o,i,t]),t==="shadow")return jsx("div",{ref:p,"data-ndpr-component":"policy-page",className:l});let a=a$3(o,a$2({includeStyles:false},i));return jsx("div",{"data-ndpr-component":"policy-page",className:l,dangerouslySetInnerHTML:{__html:a}})};export{X as Policy,Q as PolicyPage,x as PolicyProvider,Y as usePolicyCompound};
@@ -0,0 +1,139 @@
1
+ import React__default from 'react';
2
+
3
+ declare interface ConsentBannerClassNames {
4
+ root?: string;
5
+ container?: string;
6
+ title?: string;
7
+ description?: string;
8
+ optionsList?: string;
9
+ optionItem?: string;
10
+ optionCheckbox?: string;
11
+ optionLabel?: string;
12
+ optionDescription?: string;
13
+ buttonGroup?: string;
14
+ acceptButton?: string;
15
+ rejectButton?: string;
16
+ customizeButton?: string;
17
+ saveButton?: string;
18
+ customizePanel?: string;
19
+ selectAllButton?: string;
20
+ /** Alias for acceptButton */
21
+ primaryButton?: string;
22
+ /** Alias for rejectButton */
23
+ secondaryButton?: string;
24
+ }
25
+
26
+ /**
27
+ * Consent types aligned with NDPA 2023 Section 25-26
28
+ * Consent must be freely given, specific, informed, and unambiguous
29
+ */
30
+ /**
31
+ * Represents a consent option that can be presented to users
32
+ */
33
+ declare interface ConsentOption {
34
+ /** Unique identifier for the consent option */
35
+ id: string;
36
+ /** Display label for the consent option */
37
+ label: string;
38
+ /** Detailed description of what this consent option covers */
39
+ description: string;
40
+ /** Whether this consent option is required (cannot be declined) */
41
+ required: boolean;
42
+ /**
43
+ * The specific purpose for which data will be processed
44
+ * NDPA Section 25(2) requires consent to be specific to each purpose
45
+ */
46
+ purpose: string;
47
+ /**
48
+ * Default state of the consent option
49
+ * @default false
50
+ */
51
+ defaultValue?: boolean;
52
+ /**
53
+ * Categories of personal data covered by this consent option
54
+ */
55
+ dataCategories?: string[];
56
+ }
57
+
58
+ /**
59
+ * Represents the user's consent settings
60
+ */
61
+ declare interface ConsentSettings {
62
+ /** Map of consent option IDs to boolean values indicating consent status */
63
+ consents: Record<string, boolean>;
64
+ /** Timestamp when consent was last updated */
65
+ timestamp: number;
66
+ /** Version of the consent form that was accepted */
67
+ version: string;
68
+ /** Method used to collect consent (e.g., "banner", "settings", "api") */
69
+ method: string;
70
+ /** Whether the user has actively made a choice (as opposed to default settings) */
71
+ hasInteracted: boolean;
72
+ /**
73
+ * The lawful basis under which processing is conducted
74
+ * Required by NDPA Section 25(1)
75
+ */
76
+ lawfulBasis?: LawfulBasisType;
77
+ }
78
+
79
+ /**
80
+ * Lawful basis for processing personal data per NDPA Section 25(1)
81
+ */
82
+ declare type LawfulBasisType = 'consent' | 'contract' | 'legal_obligation' | 'vital_interests' | 'public_interest' | 'legitimate_interests';
83
+
84
+ export declare const NDPRConsent: React__default.FC<NDPRConsentProps>;
85
+
86
+ /**
87
+ * UX copy overrides for the NDPRConsent preset. Pass any subset to
88
+ * replace the default text without dropping to the lower-level
89
+ * `<ConsentBanner>` API. Strings you omit fall back to the toolkit
90
+ * defaults (which already cite NDPA Section 26).
91
+ *
92
+ * @example
93
+ * <NDPRConsent copy={{
94
+ * title: 'Cookie preferences',
95
+ * description: 'Acme uses cookies to keep you signed in and improve our store.',
96
+ * acceptAll: 'Allow all',
97
+ * rejectAll: 'Only essentials',
98
+ * }} />
99
+ */
100
+ export declare interface NDPRConsentCopy {
101
+ /** Banner heading. Default: "We Value Your Privacy" */
102
+ title?: string;
103
+ /** Body paragraph under the heading. Default cites NDPA Section 26. */
104
+ description?: string;
105
+ /** Primary CTA — accepts all categories. Default: "Accept All" */
106
+ acceptAll?: string;
107
+ /** Secondary CTA — rejects all non-essential categories. Default: "Reject All" */
108
+ rejectAll?: string;
109
+ /** Tertiary CTA — opens the per-category controls. Default: "Customize" */
110
+ customize?: string;
111
+ /** Submit button on the per-category panel. Default: "Save Preferences" */
112
+ save?: string;
113
+ }
114
+
115
+ export declare interface NDPRConsentProps {
116
+ extraOptions?: ConsentOption[];
117
+ options?: ConsentOption[];
118
+ adapter?: StorageAdapter<ConsentSettings>;
119
+ position?: 'top' | 'bottom' | 'center' | 'inline';
120
+ classNames?: ConsentBannerClassNames;
121
+ unstyled?: boolean;
122
+ onSave?: (settings: ConsentSettings) => void;
123
+ /**
124
+ * UX copy overrides — see {@link NDPRConsentCopy}. Lets you brand the
125
+ * banner without dropping to the lower-level `<ConsentBanner>` API.
126
+ */
127
+ copy?: NDPRConsentCopy;
128
+ }
129
+
130
+ declare interface StorageAdapter<T = unknown> {
131
+ /** Load persisted data. Called once on hook mount. */
132
+ load(): T | null | Promise<T | null>;
133
+ /** Persist data. Called on every state change. */
134
+ save(data: T): void | Promise<void>;
135
+ /** Clear persisted data. Called on reset. */
136
+ remove(): void | Promise<void>;
137
+ }
138
+
139
+ export { }
@@ -0,0 +1,139 @@
1
+ import React__default from 'react';
2
+
3
+ declare interface ConsentBannerClassNames {
4
+ root?: string;
5
+ container?: string;
6
+ title?: string;
7
+ description?: string;
8
+ optionsList?: string;
9
+ optionItem?: string;
10
+ optionCheckbox?: string;
11
+ optionLabel?: string;
12
+ optionDescription?: string;
13
+ buttonGroup?: string;
14
+ acceptButton?: string;
15
+ rejectButton?: string;
16
+ customizeButton?: string;
17
+ saveButton?: string;
18
+ customizePanel?: string;
19
+ selectAllButton?: string;
20
+ /** Alias for acceptButton */
21
+ primaryButton?: string;
22
+ /** Alias for rejectButton */
23
+ secondaryButton?: string;
24
+ }
25
+
26
+ /**
27
+ * Consent types aligned with NDPA 2023 Section 25-26
28
+ * Consent must be freely given, specific, informed, and unambiguous
29
+ */
30
+ /**
31
+ * Represents a consent option that can be presented to users
32
+ */
33
+ declare interface ConsentOption {
34
+ /** Unique identifier for the consent option */
35
+ id: string;
36
+ /** Display label for the consent option */
37
+ label: string;
38
+ /** Detailed description of what this consent option covers */
39
+ description: string;
40
+ /** Whether this consent option is required (cannot be declined) */
41
+ required: boolean;
42
+ /**
43
+ * The specific purpose for which data will be processed
44
+ * NDPA Section 25(2) requires consent to be specific to each purpose
45
+ */
46
+ purpose: string;
47
+ /**
48
+ * Default state of the consent option
49
+ * @default false
50
+ */
51
+ defaultValue?: boolean;
52
+ /**
53
+ * Categories of personal data covered by this consent option
54
+ */
55
+ dataCategories?: string[];
56
+ }
57
+
58
+ /**
59
+ * Represents the user's consent settings
60
+ */
61
+ declare interface ConsentSettings {
62
+ /** Map of consent option IDs to boolean values indicating consent status */
63
+ consents: Record<string, boolean>;
64
+ /** Timestamp when consent was last updated */
65
+ timestamp: number;
66
+ /** Version of the consent form that was accepted */
67
+ version: string;
68
+ /** Method used to collect consent (e.g., "banner", "settings", "api") */
69
+ method: string;
70
+ /** Whether the user has actively made a choice (as opposed to default settings) */
71
+ hasInteracted: boolean;
72
+ /**
73
+ * The lawful basis under which processing is conducted
74
+ * Required by NDPA Section 25(1)
75
+ */
76
+ lawfulBasis?: LawfulBasisType;
77
+ }
78
+
79
+ /**
80
+ * Lawful basis for processing personal data per NDPA Section 25(1)
81
+ */
82
+ declare type LawfulBasisType = 'consent' | 'contract' | 'legal_obligation' | 'vital_interests' | 'public_interest' | 'legitimate_interests';
83
+
84
+ export declare const NDPRConsent: React__default.FC<NDPRConsentProps>;
85
+
86
+ /**
87
+ * UX copy overrides for the NDPRConsent preset. Pass any subset to
88
+ * replace the default text without dropping to the lower-level
89
+ * `<ConsentBanner>` API. Strings you omit fall back to the toolkit
90
+ * defaults (which already cite NDPA Section 26).
91
+ *
92
+ * @example
93
+ * <NDPRConsent copy={{
94
+ * title: 'Cookie preferences',
95
+ * description: 'Acme uses cookies to keep you signed in and improve our store.',
96
+ * acceptAll: 'Allow all',
97
+ * rejectAll: 'Only essentials',
98
+ * }} />
99
+ */
100
+ export declare interface NDPRConsentCopy {
101
+ /** Banner heading. Default: "We Value Your Privacy" */
102
+ title?: string;
103
+ /** Body paragraph under the heading. Default cites NDPA Section 26. */
104
+ description?: string;
105
+ /** Primary CTA — accepts all categories. Default: "Accept All" */
106
+ acceptAll?: string;
107
+ /** Secondary CTA — rejects all non-essential categories. Default: "Reject All" */
108
+ rejectAll?: string;
109
+ /** Tertiary CTA — opens the per-category controls. Default: "Customize" */
110
+ customize?: string;
111
+ /** Submit button on the per-category panel. Default: "Save Preferences" */
112
+ save?: string;
113
+ }
114
+
115
+ export declare interface NDPRConsentProps {
116
+ extraOptions?: ConsentOption[];
117
+ options?: ConsentOption[];
118
+ adapter?: StorageAdapter<ConsentSettings>;
119
+ position?: 'top' | 'bottom' | 'center' | 'inline';
120
+ classNames?: ConsentBannerClassNames;
121
+ unstyled?: boolean;
122
+ onSave?: (settings: ConsentSettings) => void;
123
+ /**
124
+ * UX copy overrides — see {@link NDPRConsentCopy}. Lets you brand the
125
+ * banner without dropping to the lower-level `<ConsentBanner>` API.
126
+ */
127
+ copy?: NDPRConsentCopy;
128
+ }
129
+
130
+ declare interface StorageAdapter<T = unknown> {
131
+ /** Load persisted data. Called once on hook mount. */
132
+ load(): T | null | Promise<T | null>;
133
+ /** Persist data. Called on every state change. */
134
+ save(data: T): void | Promise<void>;
135
+ /** Clear persisted data. Called on reset. */
136
+ remove(): void | Promise<void>;
137
+ }
138
+
139
+ export { }
@@ -0,0 +1,2 @@
1
+ "use client";
2
+ 'use strict';var chunkV3RYHNHN_js=require('./chunk-V3RYHNHN.js');require('./chunk-732C2EVN.js'),require('./chunk-L2VO3MEJ.js'),require('./chunk-AME4HJR4.js'),require('./chunk-RFPLZDIO.js');Object.defineProperty(exports,"NDPRConsent",{enumerable:true,get:function(){return chunkV3RYHNHN_js.a}});
@@ -0,0 +1,2 @@
1
+ "use client";
2
+ export{a as NDPRConsent}from'./chunk-LTPSN2SU.mjs';import'./chunk-BFAX7JQA.mjs';import'./chunk-YTU4FNM2.mjs';import'./chunk-SFGW37LE.mjs';import'./chunk-ZJYULEER.mjs';
@@ -0,0 +1,133 @@
1
+ import React__default from 'react';
2
+
3
+ /**
4
+ * Represents the data submitted by the DSR request form.
5
+ */
6
+ declare interface DSRFormSubmission {
7
+ /** The selected request type identifier */
8
+ requestType: string;
9
+ /** Data subject personal information */
10
+ dataSubject: {
11
+ fullName: string;
12
+ email: string;
13
+ phone?: string;
14
+ identifierType: string;
15
+ identifierValue: string;
16
+ };
17
+ /** Additional information provided for the selected request type */
18
+ additionalInfo?: Record<string, string | number | boolean | null>;
19
+ /** Timestamp (ms) when the form was submitted */
20
+ submittedAt: number;
21
+ }
22
+
23
+ declare interface DSRRequestFormClassNames {
24
+ root?: string;
25
+ title?: string;
26
+ description?: string;
27
+ form?: string;
28
+ fieldGroup?: string;
29
+ label?: string;
30
+ input?: string;
31
+ select?: string;
32
+ textarea?: string;
33
+ submitButton?: string;
34
+ /** Alias for submitButton */
35
+ primaryButton?: string;
36
+ successMessage?: string;
37
+ /** Custom class applied when isSubmitting is true (e.g. a loading overlay) */
38
+ loadingOverlay?: string;
39
+ }
40
+
41
+ export declare const NDPRSubjectRights: React__default.FC<NDPRSubjectRightsProps>;
42
+
43
+ export declare interface NDPRSubjectRightsProps {
44
+ requestTypes?: RequestType[];
45
+ adapter?: StorageAdapter<DSRFormSubmission>;
46
+ classNames?: DSRRequestFormClassNames;
47
+ unstyled?: boolean;
48
+ onSubmit?: (data: DSRFormSubmission) => void;
49
+ /**
50
+ * Public-form mode. Use when the form should submit to your existing
51
+ * backend workflow instead of being state-managed by an adapter.
52
+ *
53
+ * When `submitTo` is set:
54
+ * - the form does NOT require an `adapter`
55
+ * - on submit, the toolkit POSTs the JSON-serialised `DSRFormSubmission`
56
+ * to this URL (with `Content-Type: application/json`)
57
+ * - your `onSubmit` callback still fires (after the POST resolves)
58
+ * - submit failures are surfaced via `onSubmitError`
59
+ *
60
+ * For more control over headers, credentials, or retry behaviour, build
61
+ * an `apiAdapter` (which now supports CSRF, retry, and error hooks in
62
+ * 3.6.0) and pass that as `adapter` instead. `submitTo` is the
63
+ * fire-and-forget shortcut for public forms.
64
+ *
65
+ * @example
66
+ * <NDPRSubjectRights submitTo="/api/dsr" />
67
+ */
68
+ submitTo?: string;
69
+ /**
70
+ * Fetch options for the `submitTo` POST. Useful for adding `credentials`
71
+ * (cookies/auth), `X-CSRF-Token`, or any other header your backend
72
+ * requires. Ignored unless `submitTo` is set.
73
+ *
74
+ * @default { credentials: 'same-origin' }
75
+ */
76
+ submitOptions?: {
77
+ headers?: Record<string, string> | (() => Record<string, string>);
78
+ credentials?: RequestCredentials;
79
+ };
80
+ /**
81
+ * Called when a `submitTo` POST fails (network error or non-2xx
82
+ * response). Receives the underlying error or Response.
83
+ */
84
+ onSubmitError?: (ctx: {
85
+ error?: unknown;
86
+ response?: Response;
87
+ }) => void;
88
+ }
89
+
90
+ /**
91
+ * Represents a type of data subject request (detailed configuration)
92
+ */
93
+ declare interface RequestType {
94
+ /** Unique identifier for the request type */
95
+ id: string;
96
+ /** Display name for the request type */
97
+ name: string;
98
+ /** Description of what this request type entails */
99
+ description: string;
100
+ /**
101
+ * NDPA 2023 section reference for this right
102
+ * (e.g., "Section 34(1)(a)" for access, "Section 38" for portability).
103
+ * Used for display purposes only — verify the exact subsection with counsel.
104
+ */
105
+ ndpaSection?: string;
106
+ /**
107
+ * Estimated time to fulfill this type of request (in days)
108
+ * NDPA requires response within 30 days
109
+ */
110
+ estimatedCompletionTime: number;
111
+ /** Whether additional information is required for this request type */
112
+ requiresAdditionalInfo: boolean;
113
+ /** Custom fields required for this request type */
114
+ additionalFields?: Array<{
115
+ id: string;
116
+ label: string;
117
+ type: 'text' | 'textarea' | 'select' | 'checkbox' | 'file';
118
+ options?: string[];
119
+ required: boolean;
120
+ placeholder?: string;
121
+ }>;
122
+ }
123
+
124
+ declare interface StorageAdapter<T = unknown> {
125
+ /** Load persisted data. Called once on hook mount. */
126
+ load(): T | null | Promise<T | null>;
127
+ /** Persist data. Called on every state change. */
128
+ save(data: T): void | Promise<void>;
129
+ /** Clear persisted data. Called on reset. */
130
+ remove(): void | Promise<void>;
131
+ }
132
+
133
+ export { }
@@ -0,0 +1,133 @@
1
+ import React__default from 'react';
2
+
3
+ /**
4
+ * Represents the data submitted by the DSR request form.
5
+ */
6
+ declare interface DSRFormSubmission {
7
+ /** The selected request type identifier */
8
+ requestType: string;
9
+ /** Data subject personal information */
10
+ dataSubject: {
11
+ fullName: string;
12
+ email: string;
13
+ phone?: string;
14
+ identifierType: string;
15
+ identifierValue: string;
16
+ };
17
+ /** Additional information provided for the selected request type */
18
+ additionalInfo?: Record<string, string | number | boolean | null>;
19
+ /** Timestamp (ms) when the form was submitted */
20
+ submittedAt: number;
21
+ }
22
+
23
+ declare interface DSRRequestFormClassNames {
24
+ root?: string;
25
+ title?: string;
26
+ description?: string;
27
+ form?: string;
28
+ fieldGroup?: string;
29
+ label?: string;
30
+ input?: string;
31
+ select?: string;
32
+ textarea?: string;
33
+ submitButton?: string;
34
+ /** Alias for submitButton */
35
+ primaryButton?: string;
36
+ successMessage?: string;
37
+ /** Custom class applied when isSubmitting is true (e.g. a loading overlay) */
38
+ loadingOverlay?: string;
39
+ }
40
+
41
+ export declare const NDPRSubjectRights: React__default.FC<NDPRSubjectRightsProps>;
42
+
43
+ export declare interface NDPRSubjectRightsProps {
44
+ requestTypes?: RequestType[];
45
+ adapter?: StorageAdapter<DSRFormSubmission>;
46
+ classNames?: DSRRequestFormClassNames;
47
+ unstyled?: boolean;
48
+ onSubmit?: (data: DSRFormSubmission) => void;
49
+ /**
50
+ * Public-form mode. Use when the form should submit to your existing
51
+ * backend workflow instead of being state-managed by an adapter.
52
+ *
53
+ * When `submitTo` is set:
54
+ * - the form does NOT require an `adapter`
55
+ * - on submit, the toolkit POSTs the JSON-serialised `DSRFormSubmission`
56
+ * to this URL (with `Content-Type: application/json`)
57
+ * - your `onSubmit` callback still fires (after the POST resolves)
58
+ * - submit failures are surfaced via `onSubmitError`
59
+ *
60
+ * For more control over headers, credentials, or retry behaviour, build
61
+ * an `apiAdapter` (which now supports CSRF, retry, and error hooks in
62
+ * 3.6.0) and pass that as `adapter` instead. `submitTo` is the
63
+ * fire-and-forget shortcut for public forms.
64
+ *
65
+ * @example
66
+ * <NDPRSubjectRights submitTo="/api/dsr" />
67
+ */
68
+ submitTo?: string;
69
+ /**
70
+ * Fetch options for the `submitTo` POST. Useful for adding `credentials`
71
+ * (cookies/auth), `X-CSRF-Token`, or any other header your backend
72
+ * requires. Ignored unless `submitTo` is set.
73
+ *
74
+ * @default { credentials: 'same-origin' }
75
+ */
76
+ submitOptions?: {
77
+ headers?: Record<string, string> | (() => Record<string, string>);
78
+ credentials?: RequestCredentials;
79
+ };
80
+ /**
81
+ * Called when a `submitTo` POST fails (network error or non-2xx
82
+ * response). Receives the underlying error or Response.
83
+ */
84
+ onSubmitError?: (ctx: {
85
+ error?: unknown;
86
+ response?: Response;
87
+ }) => void;
88
+ }
89
+
90
+ /**
91
+ * Represents a type of data subject request (detailed configuration)
92
+ */
93
+ declare interface RequestType {
94
+ /** Unique identifier for the request type */
95
+ id: string;
96
+ /** Display name for the request type */
97
+ name: string;
98
+ /** Description of what this request type entails */
99
+ description: string;
100
+ /**
101
+ * NDPA 2023 section reference for this right
102
+ * (e.g., "Section 34(1)(a)" for access, "Section 38" for portability).
103
+ * Used for display purposes only — verify the exact subsection with counsel.
104
+ */
105
+ ndpaSection?: string;
106
+ /**
107
+ * Estimated time to fulfill this type of request (in days)
108
+ * NDPA requires response within 30 days
109
+ */
110
+ estimatedCompletionTime: number;
111
+ /** Whether additional information is required for this request type */
112
+ requiresAdditionalInfo: boolean;
113
+ /** Custom fields required for this request type */
114
+ additionalFields?: Array<{
115
+ id: string;
116
+ label: string;
117
+ type: 'text' | 'textarea' | 'select' | 'checkbox' | 'file';
118
+ options?: string[];
119
+ required: boolean;
120
+ placeholder?: string;
121
+ }>;
122
+ }
123
+
124
+ declare interface StorageAdapter<T = unknown> {
125
+ /** Load persisted data. Called once on hook mount. */
126
+ load(): T | null | Promise<T | null>;
127
+ /** Persist data. Called on every state change. */
128
+ save(data: T): void | Promise<void>;
129
+ /** Clear persisted data. Called on reset. */
130
+ remove(): void | Promise<void>;
131
+ }
132
+
133
+ export { }
@@ -0,0 +1,2 @@
1
+ "use client";
2
+ 'use strict';var chunkRXZFYBUJ_js=require('./chunk-RXZFYBUJ.js');require('./chunk-W47OSMT6.js'),require('./chunk-UXUMYP4L.js'),require('./chunk-AME4HJR4.js'),require('./chunk-RFPLZDIO.js');Object.defineProperty(exports,"NDPRSubjectRights",{enumerable:true,get:function(){return chunkRXZFYBUJ_js.a}});
@@ -0,0 +1,2 @@
1
+ "use client";
2
+ export{a as NDPRSubjectRights}from'./chunk-SJRIOZ4K.mjs';import'./chunk-XJO4DH3L.mjs';import'./chunk-EWVK45Z3.mjs';import'./chunk-SFGW37LE.mjs';import'./chunk-ZJYULEER.mjs';