@tantainnovative/ndpr-toolkit 3.3.0 → 3.4.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 (176) hide show
  1. package/CHANGELOG.md +529 -0
  2. package/README.md +4 -4
  3. package/dist/{ConsentBanner-CDRT0o2k.d.mts → ConsentBanner-F5ayys5K.d.mts} +10 -0
  4. package/dist/{ConsentBanner-Vxyt8SCX.d.ts → ConsentBanner-VqIPophc.d.ts} +10 -0
  5. package/dist/{styling-B7CBzYG7.d.ts → ConsentManager-C7I3PDe8.d.mts} +2 -62
  6. package/dist/{styling-uJLsBbER.d.mts → ConsentManager-CQ2IZtUU.d.ts} +2 -62
  7. package/dist/{sanitize-B0AzEm1D.d.mts → NDPRProvider-DYFb8xEl.d.ts} +2 -94
  8. package/dist/{sanitize-B0AzEm1D.d.ts → NDPRProvider-U3QNu6MA.d.mts} +2 -94
  9. package/dist/adapters.js +1 -1
  10. package/dist/adapters.mjs +1 -1
  11. package/dist/breach.js +1 -1
  12. package/dist/breach.mjs +1 -1
  13. package/dist/chunk-2AW7KAZO.mjs +2 -0
  14. package/dist/chunk-2WH4DLV5.js +3 -0
  15. package/dist/chunk-3NQQSU4P.js +2 -0
  16. package/dist/chunk-3VQAYQR7.js +7 -0
  17. package/dist/chunk-4R42ZNO7.mjs +318 -0
  18. package/dist/chunk-5HL4UBFV.js +2 -0
  19. package/dist/chunk-6FGCGLH5.mjs +2 -0
  20. package/dist/chunk-6HZL2WDU.mjs +2 -0
  21. package/dist/chunk-6QPRDQZF.js +2 -0
  22. package/dist/chunk-74Z23WUA.mjs +2 -0
  23. package/dist/chunk-AHSMDPG5.js +132 -0
  24. package/dist/chunk-BN77GP4W.mjs +2 -0
  25. package/dist/chunk-C5QO3SX4.js +2 -0
  26. package/dist/chunk-CISJAQ6W.mjs +2 -0
  27. package/dist/chunk-DCJK5OZT.mjs +2 -0
  28. package/dist/chunk-DUY6F3GT.mjs +94 -0
  29. package/dist/chunk-EHAZIKDX.js +81 -0
  30. package/dist/chunk-EPT2K355.mjs +2 -0
  31. package/dist/chunk-HGGLW5TE.js +2 -0
  32. package/dist/chunk-HQSU7LGM.js +94 -0
  33. package/dist/chunk-IZCWCE7W.mjs +2 -0
  34. package/dist/chunk-JBSCER34.js +2 -0
  35. package/dist/chunk-KF3EFJEF.mjs +3 -0
  36. package/dist/chunk-KSERBMXW.mjs +4 -0
  37. package/dist/chunk-LJNNPAFU.mjs +2 -0
  38. package/dist/{chunk-UXMGBIX6.js → chunk-LSCMXAPY.mjs} +4 -4
  39. package/dist/chunk-LSNL4XR5.js +2 -0
  40. package/dist/chunk-M2TPT5GB.js +2 -0
  41. package/dist/chunk-MCWV7S2G.js +2 -0
  42. package/dist/chunk-MG73MOZC.mjs +15 -0
  43. package/dist/chunk-NCOZB2WU.mjs +2 -0
  44. package/dist/chunk-NQNFS3QI.js +7 -0
  45. package/dist/chunk-OPYQIJKY.js +2 -0
  46. package/dist/{chunk-ZEOQYWOE.mjs → chunk-P2YV6DR3.js} +4 -4
  47. package/dist/chunk-P6QAFBCV.js +2 -0
  48. package/dist/chunk-QVULSG6J.mjs +3 -0
  49. package/dist/chunk-R5FW5XUQ.mjs +2 -0
  50. package/dist/chunk-RGNP45VR.js +2 -0
  51. package/dist/chunk-RLYTX3MM.js +2 -0
  52. package/dist/chunk-RNTNHVKZ.js +15 -0
  53. package/dist/chunk-RRVKUCFR.mjs +2 -0
  54. package/dist/chunk-RXL6CZAI.js +2 -0
  55. package/dist/chunk-RY3PGVLZ.mjs +2 -0
  56. package/dist/chunk-SUEGUY35.js +2 -0
  57. package/dist/chunk-SYMQJO2W.mjs +7 -0
  58. package/dist/chunk-TCN22KYP.mjs +7 -0
  59. package/dist/chunk-UFPSUO52.js +318 -0
  60. package/dist/chunk-VTITKWGX.mjs +2 -0
  61. package/dist/chunk-WH6ZMUOS.mjs +81 -0
  62. package/dist/chunk-WTJGLNTB.js +3 -0
  63. package/dist/chunk-XHROISIF.mjs +2 -0
  64. package/dist/chunk-XMBSJJ5U.js +4 -0
  65. package/dist/chunk-XSEZDQLB.js +2 -0
  66. package/dist/chunk-Z6IIMLZU.mjs +2 -0
  67. package/dist/chunk-ZLSWOFAY.mjs +132 -0
  68. package/dist/chunk-ZPKVLTSX.js +2 -0
  69. package/dist/consent.d.mts +6 -4
  70. package/dist/consent.d.ts +6 -4
  71. package/dist/consent.js +1 -1
  72. package/dist/consent.mjs +1 -1
  73. package/dist/core.d.mts +6 -25
  74. package/dist/core.d.ts +6 -25
  75. package/dist/core.js +1 -1
  76. package/dist/core.mjs +1 -1
  77. package/dist/cross-border.d.mts +2 -2
  78. package/dist/cross-border.d.ts +2 -2
  79. package/dist/cross-border.js +1 -1
  80. package/dist/cross-border.mjs +1 -1
  81. package/dist/docx-BxKascXN.d.ts +64 -0
  82. package/dist/docx-CV7Vsry_.d.mts +64 -0
  83. package/dist/dpia.js +1 -1
  84. package/dist/dpia.mjs +1 -1
  85. package/dist/dsr.js +1 -1
  86. package/dist/dsr.mjs +1 -1
  87. package/dist/hooks.d.mts +4 -4
  88. package/dist/hooks.d.ts +4 -4
  89. package/dist/hooks.js +1 -1
  90. package/dist/hooks.mjs +1 -1
  91. package/dist/index.d.mts +8 -6
  92. package/dist/index.d.ts +8 -6
  93. package/dist/index.js +1 -1
  94. package/dist/index.mjs +1 -1
  95. package/dist/lawful-basis.js +1 -1
  96. package/dist/lawful-basis.mjs +1 -1
  97. package/dist/locale-CxJx2tzn.d.mts +25 -0
  98. package/dist/locale-DSkrtf-c.d.ts +25 -0
  99. package/dist/{policy-engine-C6nC2t3a.d.ts → policy-engine-CCUCud2T.d.ts} +1 -1
  100. package/dist/{policy-engine-DefZcX3R.d.mts → policy-engine-fYSqEqSW.d.mts} +1 -1
  101. package/dist/{policy-sections-DFDPVCCg.d.ts → policy-sections-BYx6fEFk.d.ts} +4 -2
  102. package/dist/{policy-sections-Bylm31kZ.d.mts → policy-sections-Dm97Nq8m.d.mts} +4 -2
  103. package/dist/{policy-templates-CIKcV0i1.d.ts → policy-templates-DhLwq4R-.d.ts} +8 -1
  104. package/dist/{policy-templates-DMsPwOSZ.d.mts → policy-templates-DwYl2329.d.mts} +8 -1
  105. package/dist/policy.d.mts +36 -71
  106. package/dist/policy.d.ts +36 -71
  107. package/dist/policy.js +1 -1
  108. package/dist/policy.mjs +1 -1
  109. package/dist/presets.d.mts +2 -2
  110. package/dist/presets.d.ts +2 -2
  111. package/dist/presets.js +1 -1
  112. package/dist/presets.mjs +1 -1
  113. package/dist/ropa.js +1 -1
  114. package/dist/ropa.mjs +1 -1
  115. package/dist/sanitize-CxxwKxAx.d.mts +94 -0
  116. package/dist/sanitize-CxxwKxAx.d.ts +94 -0
  117. package/dist/server.d.mts +24 -0
  118. package/dist/server.d.ts +24 -0
  119. package/dist/server.js +2 -0
  120. package/dist/server.mjs +2 -0
  121. package/dist/styles.css +1423 -31
  122. package/dist/styling-BMDGQDgS.d.mts +64 -0
  123. package/dist/styling-BaoQtV06.d.ts +64 -0
  124. package/dist/unstyled.d.mts +52 -19
  125. package/dist/unstyled.d.ts +52 -19
  126. package/dist/unstyled.js +1 -1
  127. package/dist/unstyled.mjs +1 -1
  128. package/dist/{useAdaptivePolicyWizard-A1PyOy6P.d.mts → useAdaptivePolicyWizard-BnjW4OR4.d.mts} +1 -1
  129. package/dist/{useAdaptivePolicyWizard-LVIKhAxw.d.ts → useAdaptivePolicyWizard-sb3m4-Zk.d.ts} +1 -1
  130. package/dist/{useCrossBorderTransfer-BGNZt2lk.d.mts → useCrossBorderTransfer-DixjLjN1.d.mts} +1 -1
  131. package/dist/{useCrossBorderTransfer-COqjgjsu.d.ts → useCrossBorderTransfer-DvSq06lv.d.ts} +1 -1
  132. package/dist/{useDefaultPrivacyPolicy-BsYttRey.d.mts → useDefaultPrivacyPolicy-Cs2WQSYQ.d.mts} +34 -9
  133. package/dist/{useDefaultPrivacyPolicy-C-mG-A5S.d.ts → useDefaultPrivacyPolicy-DkOqMg2e.d.ts} +34 -9
  134. package/package.json +20 -6
  135. package/dist/chunk-256APOQM.js +0 -2
  136. package/dist/chunk-25OOUES4.js +0 -2
  137. package/dist/chunk-4JKTIR33.mjs +0 -2
  138. package/dist/chunk-5BUS6AI7.js +0 -2
  139. package/dist/chunk-6BXUVS6E.js +0 -81
  140. package/dist/chunk-6JCRDJQI.mjs +0 -2
  141. package/dist/chunk-6RQGQZT2.js +0 -2
  142. package/dist/chunk-6YN73KR7.mjs +0 -2
  143. package/dist/chunk-CDZDT2OS.mjs +0 -320
  144. package/dist/chunk-CSIJCLGZ.mjs +0 -2
  145. package/dist/chunk-CWUPGY3M.mjs +0 -3
  146. package/dist/chunk-E63VPR7U.js +0 -2
  147. package/dist/chunk-FDDI426Y.mjs +0 -2
  148. package/dist/chunk-GCQRHMTQ.mjs +0 -144
  149. package/dist/chunk-GMLCWGNJ.js +0 -7
  150. package/dist/chunk-GQVNLUP2.js +0 -94
  151. package/dist/chunk-GXLSOZCH.mjs +0 -2
  152. package/dist/chunk-IQJO7WIH.js +0 -7
  153. package/dist/chunk-LETEUS5X.mjs +0 -2
  154. package/dist/chunk-LU4PFST7.js +0 -144
  155. package/dist/chunk-M6XETYNL.js +0 -2
  156. package/dist/chunk-NBSVFQ5G.js +0 -2
  157. package/dist/chunk-NUDVUAD4.mjs +0 -81
  158. package/dist/chunk-NUULHXVL.mjs +0 -7
  159. package/dist/chunk-PM7O5IGE.mjs +0 -2
  160. package/dist/chunk-Q7VHB64E.mjs +0 -2
  161. package/dist/chunk-QDHHD2KR.mjs +0 -94
  162. package/dist/chunk-SAA7UVI2.js +0 -3
  163. package/dist/chunk-TI2M7H6R.mjs +0 -7
  164. package/dist/chunk-TKVJ3OOV.mjs +0 -2
  165. package/dist/chunk-TXXWCB5O.js +0 -320
  166. package/dist/chunk-UGY5ZYUG.js +0 -2
  167. package/dist/chunk-UO6QPJLH.js +0 -2
  168. package/dist/chunk-UX6ZZNEM.mjs +0 -3
  169. package/dist/chunk-VLSGE2YA.js +0 -2
  170. package/dist/chunk-XFUEZ3MP.mjs +0 -2
  171. package/dist/chunk-XHSHPB74.js +0 -2
  172. package/dist/chunk-YCX6BFOQ.js +0 -2
  173. package/dist/chunk-YURSF2YO.mjs +0 -2
  174. package/dist/chunk-YZXUAIYN.js +0 -3
  175. package/dist/chunk-ZGJA7OO4.js +0 -2
  176. package/dist/chunk-ZT7KNFAU.mjs +0 -2
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- 'use strict';var chunk25OOUES4_js=require('./chunk-25OOUES4.js'),chunkUO6QPJLH_js=require('./chunk-UO6QPJLH.js'),chunkGMLCWGNJ_js=require('./chunk-GMLCWGNJ.js'),chunk5BUS6AI7_js=require('./chunk-5BUS6AI7.js'),chunkUGY5ZYUG_js=require('./chunk-UGY5ZYUG.js'),chunk7AVN424U_js=require('./chunk-7AVN424U.js'),chunkM6XETYNL_js=require('./chunk-M6XETYNL.js'),chunk6RQGQZT2_js=require('./chunk-6RQGQZT2.js'),chunkS4GRSNB4_js=require('./chunk-S4GRSNB4.js'),chunkTDDAYVKK_js=require('./chunk-TDDAYVKK.js'),chunkC4YM4UMI_js=require('./chunk-C4YM4UMI.js'),chunkGOU6FU6Y_js=require('./chunk-GOU6FU6Y.js'),chunk256APOQM_js=require('./chunk-256APOQM.js'),chunkNBSVFQ5G_js=require('./chunk-NBSVFQ5G.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'),chunkYCX6BFOQ_js=require('./chunk-YCX6BFOQ.js'),chunkVLSGE2YA_js=require('./chunk-VLSGE2YA.js'),chunkJKKRPS4P_js=require('./chunk-JKKRPS4P.js'),chunkIQJO7WIH_js=require('./chunk-IQJO7WIH.js'),chunkXHSHPB74_js=require('./chunk-XHSHPB74.js'),chunkZGJA7OO4_js=require('./chunk-ZGJA7OO4.js'),chunkP42Z5CFE_js=require('./chunk-P42Z5CFE.js'),chunk6BXUVS6E_js=require('./chunk-6BXUVS6E.js'),chunkSAA7UVI2_js=require('./chunk-SAA7UVI2.js'),chunkI4M2AA3N_js=require('./chunk-I4M2AA3N.js'),chunkBKRETVJ6_js=require('./chunk-BKRETVJ6.js'),chunkI54CDQGN_js=require('./chunk-I54CDQGN.js'),chunkGQVNLUP2_js=require('./chunk-GQVNLUP2.js'),chunkE63VPR7U_js=require('./chunk-E63VPR7U.js'),chunkUXMGBIX6_js=require('./chunk-UXMGBIX6.js'),chunkE64TU6IU_js=require('./chunk-E64TU6IU.js');require('./chunk-ELKB2AFZ.js'),require('./chunk-MQFZHA2D.js');Object.defineProperty(exports,"NDPRDashboard",{enumerable:true,get:function(){return chunk25OOUES4_js.a}});Object.defineProperty(exports,"LawfulBasisTracker",{enumerable:true,get:function(){return chunkUO6QPJLH_js.a}});Object.defineProperty(exports,"CrossBorderTransferManager",{enumerable:true,get:function(){return chunkGMLCWGNJ_js.a}});Object.defineProperty(exports,"ROPAManager",{enumerable:true,get:function(){return chunk5BUS6AI7_js.a}});Object.defineProperty(exports,"NDPRProvider",{enumerable:true,get:function(){return chunkUGY5ZYUG_js.c}});Object.defineProperty(exports,"useNDPRConfig",{enumerable:true,get:function(){return chunkUGY5ZYUG_js.d}});Object.defineProperty(exports,"useLawfulBasis",{enumerable:true,get:function(){return chunk7AVN424U_js.a}});Object.defineProperty(exports,"useCrossBorderTransfer",{enumerable:true,get:function(){return chunkM6XETYNL_js.a}});Object.defineProperty(exports,"useROPA",{enumerable:true,get:function(){return chunk6RQGQZT2_js.a}});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,"ConsentManager",{enumerable:true,get:function(){return chunk256APOQM_js.a}});Object.defineProperty(exports,"ConsentStorage",{enumerable:true,get:function(){return chunk256APOQM_js.b}});Object.defineProperty(exports,"ConsentBanner",{enumerable:true,get:function(){return chunkNBSVFQ5G_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 chunkYCX6BFOQ_js.a}});Object.defineProperty(exports,"useDSR",{enumerable:true,get:function(){return chunkVLSGE2YA_js.a}});Object.defineProperty(exports,"formatDSRRequest",{enumerable:true,get:function(){return chunkJKKRPS4P_js.a}});Object.defineProperty(exports,"DPIAReport",{enumerable:true,get:function(){return chunkIQJO7WIH_js.a}});Object.defineProperty(exports,"StepIndicator",{enumerable:true,get:function(){return chunkIQJO7WIH_js.b}});Object.defineProperty(exports,"DPIAQuestionnaire",{enumerable:true,get:function(){return chunkXHSHPB74_js.a}});Object.defineProperty(exports,"useDPIA",{enumerable:true,get:function(){return chunkZGJA7OO4_js.a}});Object.defineProperty(exports,"assessDPIARisk",{enumerable:true,get:function(){return chunkP42Z5CFE_js.a}});Object.defineProperty(exports,"BreachNotificationManager",{enumerable:true,get:function(){return chunk6BXUVS6E_js.b}});Object.defineProperty(exports,"BreachRiskAssessment",{enumerable:true,get:function(){return chunk6BXUVS6E_js.a}});Object.defineProperty(exports,"RegulatoryReportGenerator",{enumerable:true,get:function(){return chunk6BXUVS6E_js.c}});Object.defineProperty(exports,"BreachReportForm",{enumerable:true,get:function(){return chunkSAA7UVI2_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,"PolicyExporter",{enumerable:true,get:function(){return chunkGQVNLUP2_js.c}});Object.defineProperty(exports,"PolicyGenerator",{enumerable:true,get:function(){return chunkGQVNLUP2_js.a}});Object.defineProperty(exports,"PolicyPreview",{enumerable:true,get:function(){return chunkGQVNLUP2_js.b}});Object.defineProperty(exports,"useDefaultPrivacyPolicy",{enumerable:true,get:function(){return chunkE63VPR7U_js.b}});Object.defineProperty(exports,"usePrivacyPolicy",{enumerable:true,get:function(){return chunkE63VPR7U_js.a}});Object.defineProperty(exports,"DEFAULT_POLICY_SECTIONS",{enumerable:true,get:function(){return chunkUXMGBIX6_js.b}});Object.defineProperty(exports,"DEFAULT_POLICY_VARIABLES",{enumerable:true,get:function(){return chunkUXMGBIX6_js.c}});Object.defineProperty(exports,"createBusinessPolicyTemplate",{enumerable:true,get:function(){return chunkUXMGBIX6_js.d}});Object.defineProperty(exports,"generatePolicyText",{enumerable:true,get:function(){return chunkUXMGBIX6_js.a}});Object.defineProperty(exports,"resolveClass",{enumerable:true,get:function(){return chunkE64TU6IU_js.a}});//# sourceMappingURL=index.js.map
1
+ '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 chunkRGNP45VR_js=require('./chunk-RGNP45VR.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 chunkRGNP45VR_js.b}});Object.defineProperty(exports,"usePrivacyPolicy",{enumerable:true,get:function(){return chunkRGNP45VR_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
2
  //# sourceMappingURL=index.js.map
package/dist/index.mjs CHANGED
@@ -1,2 +1,2 @@
1
- export{a as NDPRDashboard}from'./chunk-XFUEZ3MP.mjs';export{a as LawfulBasisTracker}from'./chunk-ZT7KNFAU.mjs';export{a as CrossBorderTransferManager}from'./chunk-TI2M7H6R.mjs';export{a as ROPAManager}from'./chunk-YURSF2YO.mjs';export{c as NDPRProvider,d as useNDPRConfig}from'./chunk-LETEUS5X.mjs';export{a as useLawfulBasis}from'./chunk-E4NCJ7RD.mjs';export{a as useCrossBorderTransfer}from'./chunk-TKVJ3OOV.mjs';export{a as useROPA}from'./chunk-PM7O5IGE.mjs';export{a as getComplianceScore}from'./chunk-ABDB7LEV.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 ConsentManager,b as ConsentStorage}from'./chunk-Q7VHB64E.mjs';export{a as ConsentBanner}from'./chunk-4JKTIR33.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-6YN73KR7.mjs';export{a as useDSR}from'./chunk-CSIJCLGZ.mjs';export{a as formatDSRRequest}from'./chunk-7D2OIPHH.mjs';export{a as DPIAReport,b as StepIndicator}from'./chunk-NUULHXVL.mjs';export{a as DPIAQuestionnaire}from'./chunk-GXLSOZCH.mjs';export{a as useDPIA}from'./chunk-6JCRDJQI.mjs';export{a as assessDPIARisk}from'./chunk-6TA2MVTU.mjs';export{b as BreachNotificationManager,a as BreachRiskAssessment,c as RegulatoryReportGenerator}from'./chunk-NUDVUAD4.mjs';export{a as BreachReportForm}from'./chunk-CWUPGY3M.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{c as PolicyExporter,a as PolicyGenerator,b as PolicyPreview}from'./chunk-QDHHD2KR.mjs';export{b as useDefaultPrivacyPolicy,a as usePrivacyPolicy}from'./chunk-FDDI426Y.mjs';export{b as DEFAULT_POLICY_SECTIONS,c as DEFAULT_POLICY_VARIABLES,d as createBusinessPolicyTemplate,a as generatePolicyText}from'./chunk-ZEOQYWOE.mjs';export{a as resolveClass}from'./chunk-AYKLAEOU.mjs';import'./chunk-6WIP33TW.mjs';import'./chunk-WWT2ZSNU.mjs';//# sourceMappingURL=index.mjs.map
1
+ 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-NCOZB2WU.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
2
  //# sourceMappingURL=index.mjs.map
@@ -1,2 +1,2 @@
1
- 'use strict';var chunkUO6QPJLH_js=require('./chunk-UO6QPJLH.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:chunkUO6QPJLH_js.a};Object.defineProperty(exports,"LawfulBasisTracker",{enumerable:true,get:function(){return chunkUO6QPJLH_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
1
+ '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
2
2
  //# sourceMappingURL=lawful-basis.js.map
@@ -1,2 +1,2 @@
1
- import {a}from'./chunk-ZT7KNFAU.mjs';export{a as LawfulBasisTracker}from'./chunk-ZT7KNFAU.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
1
+ 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
2
2
  //# sourceMappingURL=lawful-basis.mjs.map
@@ -0,0 +1,25 @@
1
+ import { N as NDPRLocale, d as defaultLocale } from './sanitize-CxxwKxAx.mjs';
2
+
3
+ declare const yorubaLocale: Required<{
4
+ [K in keyof NDPRLocale]: Required<NonNullable<NDPRLocale[K]>>;
5
+ }>;
6
+
7
+ declare const igboLocale: Required<{
8
+ [K in keyof NDPRLocale]: Required<NonNullable<NDPRLocale[K]>>;
9
+ }>;
10
+
11
+ declare const hausaLocale: Required<{
12
+ [K in keyof NDPRLocale]: Required<NonNullable<NDPRLocale[K]>>;
13
+ }>;
14
+
15
+ declare const pidginLocale: Required<{
16
+ [K in keyof NDPRLocale]: Required<NonNullable<NDPRLocale[K]>>;
17
+ }>;
18
+
19
+ /**
20
+ * Deep merges a partial locale with the default English locale.
21
+ * Any missing keys fall back to English.
22
+ */
23
+ declare function mergeLocale(partial?: NDPRLocale): typeof defaultLocale;
24
+
25
+ export { hausaLocale as h, igboLocale as i, mergeLocale as m, pidginLocale as p, yorubaLocale as y };
@@ -0,0 +1,25 @@
1
+ import { N as NDPRLocale, d as defaultLocale } from './sanitize-CxxwKxAx.js';
2
+
3
+ declare const yorubaLocale: Required<{
4
+ [K in keyof NDPRLocale]: Required<NonNullable<NDPRLocale[K]>>;
5
+ }>;
6
+
7
+ declare const igboLocale: Required<{
8
+ [K in keyof NDPRLocale]: Required<NonNullable<NDPRLocale[K]>>;
9
+ }>;
10
+
11
+ declare const hausaLocale: Required<{
12
+ [K in keyof NDPRLocale]: Required<NonNullable<NDPRLocale[K]>>;
13
+ }>;
14
+
15
+ declare const pidginLocale: Required<{
16
+ [K in keyof NDPRLocale]: Required<NonNullable<NDPRLocale[K]>>;
17
+ }>;
18
+
19
+ /**
20
+ * Deep merges a partial locale with the default English locale.
21
+ * Any missing keys fall back to English.
22
+ */
23
+ declare function mergeLocale(partial?: NDPRLocale): typeof defaultLocale;
24
+
25
+ export { hausaLocale as h, igboLocale as i, mergeLocale as m, pidginLocale as p, yorubaLocale as y };
@@ -151,4 +151,4 @@ declare const DEFAULT_DATA_CATEGORIES: DataCategory[];
151
151
  */
152
152
  declare function createDefaultContext(): TemplateContext;
153
153
 
154
- export { type ComplianceGap as C, type DOCXExportOptions as D, type HTMLExportOptions as H, type Industry as I, type OrgSize as O, type PolicyDraft as P, type TemplateContext as T, type CustomSection as a, type ComplianceResult as b, type PDFExportOptions as c, type DataCategory as d, type ThirdPartyProcessor as e, createDefaultContext as f, DEFAULT_DATA_CATEGORIES as g, type ProcessingPurpose as h };
154
+ export { type ComplianceGap as C, type DataCategory as D, type HTMLExportOptions as H, type Industry as I, type OrgSize as O, type PolicyDraft as P, type TemplateContext as T, type ComplianceResult as a, type CustomSection as b, type ThirdPartyProcessor as c, createDefaultContext as d, DEFAULT_DATA_CATEGORIES as e, type DOCXExportOptions as f, type PDFExportOptions as g, type ProcessingPurpose as h };
@@ -151,4 +151,4 @@ declare const DEFAULT_DATA_CATEGORIES: DataCategory[];
151
151
  */
152
152
  declare function createDefaultContext(): TemplateContext;
153
153
 
154
- export { type ComplianceGap as C, type DOCXExportOptions as D, type HTMLExportOptions as H, type Industry as I, type OrgSize as O, type PolicyDraft as P, type TemplateContext as T, type CustomSection as a, type ComplianceResult as b, type PDFExportOptions as c, type DataCategory as d, type ThirdPartyProcessor as e, createDefaultContext as f, DEFAULT_DATA_CATEGORIES as g, type ProcessingPurpose as h };
154
+ export { type ComplianceGap as C, type DataCategory as D, type HTMLExportOptions as H, type Industry as I, type OrgSize as O, type PolicyDraft as P, type TemplateContext as T, type ComplianceResult as a, type CustomSection as b, type ThirdPartyProcessor as c, createDefaultContext as d, DEFAULT_DATA_CATEGORIES as e, type DOCXExportOptions as f, type PDFExportOptions as g, type ProcessingPurpose as h };
@@ -1,5 +1,5 @@
1
1
  import { c as PrivacyPolicy, P as PolicySection } from './privacy-Ca6te9Ir.js';
2
- import { T as TemplateContext, b as ComplianceResult } from './policy-engine-C6nC2t3a.js';
2
+ import { T as TemplateContext, a as ComplianceResult } from './policy-engine-CCUCud2T.js';
3
3
 
4
4
  /**
5
5
  * NDPA policy compliance checker.
@@ -40,6 +40,8 @@ declare function evaluatePolicyCompliance(policy: PrivacyPolicy, context: Templa
40
40
  * interface from `types/privacy.ts`.
41
41
  */
42
42
 
43
+ declare const UNFILLED_PREFIX = "\u00ABTODO: ";
44
+ declare const UNFILLED_SUFFIX = "\u00BB";
43
45
  /**
44
46
  * Assembles an ordered array of privacy policy sections based on the
45
47
  * provided template context. Core sections are always included; conditional
@@ -51,4 +53,4 @@ declare function evaluatePolicyCompliance(policy: PrivacyPolicy, context: Templa
51
53
  */
52
54
  declare function assemblePolicy(context: TemplateContext): PolicySection[];
53
55
 
54
- export { assemblePolicy as a, evaluatePolicyCompliance as e };
56
+ export { UNFILLED_PREFIX as U, assemblePolicy as a, UNFILLED_SUFFIX as b, evaluatePolicyCompliance as e };
@@ -1,5 +1,5 @@
1
1
  import { c as PrivacyPolicy, P as PolicySection } from './privacy-Ca6te9Ir.mjs';
2
- import { T as TemplateContext, b as ComplianceResult } from './policy-engine-DefZcX3R.mjs';
2
+ import { T as TemplateContext, a as ComplianceResult } from './policy-engine-fYSqEqSW.mjs';
3
3
 
4
4
  /**
5
5
  * NDPA policy compliance checker.
@@ -40,6 +40,8 @@ declare function evaluatePolicyCompliance(policy: PrivacyPolicy, context: Templa
40
40
  * interface from `types/privacy.ts`.
41
41
  */
42
42
 
43
+ declare const UNFILLED_PREFIX = "\u00ABTODO: ";
44
+ declare const UNFILLED_SUFFIX = "\u00BB";
43
45
  /**
44
46
  * Assembles an ordered array of privacy policy sections based on the
45
47
  * provided template context. Core sections are always included; conditional
@@ -51,4 +53,4 @@ declare function evaluatePolicyCompliance(policy: PrivacyPolicy, context: Templa
51
53
  */
52
54
  declare function assemblePolicy(context: TemplateContext): PolicySection[];
53
55
 
54
- export { assemblePolicy as a, evaluatePolicyCompliance as e };
56
+ export { UNFILLED_PREFIX as U, assemblePolicy as a, UNFILLED_SUFFIX as b, evaluatePolicyCompliance as e };
@@ -1,5 +1,12 @@
1
1
  import { P as PolicySection, O as OrganizationInfo, b as PolicyVariable } from './privacy-Ca6te9Ir.js';
2
2
 
3
+ /**
4
+ * Scans rendered policy text for unfilled tokens. Returns the list of field
5
+ * names that were left unfilled (deduplicated). Use in CI to assert a
6
+ * canonical org-info fixture renders cleanly, or at runtime to surface
7
+ * "policy is missing X" errors before publishing.
8
+ */
9
+ declare function findUnfilledTokens(rendered: string): string[];
3
10
  /**
4
11
  * Generates policy text by replacing variables in a template with organization-specific values
5
12
  * @param sectionsOrTemplate The policy sections or template string to generate text for
@@ -33,4 +40,4 @@ declare function createBusinessPolicyTemplate(): {
33
40
  variables: PolicyVariable[];
34
41
  };
35
42
 
36
- export { DEFAULT_POLICY_SECTIONS as D, DEFAULT_POLICY_VARIABLES as a, createBusinessPolicyTemplate as c, generatePolicyText as g };
43
+ export { DEFAULT_POLICY_SECTIONS as D, DEFAULT_POLICY_VARIABLES as a, createBusinessPolicyTemplate as c, findUnfilledTokens as f, generatePolicyText as g };
@@ -1,5 +1,12 @@
1
1
  import { P as PolicySection, O as OrganizationInfo, b as PolicyVariable } from './privacy-Ca6te9Ir.mjs';
2
2
 
3
+ /**
4
+ * Scans rendered policy text for unfilled tokens. Returns the list of field
5
+ * names that were left unfilled (deduplicated). Use in CI to assert a
6
+ * canonical org-info fixture renders cleanly, or at runtime to surface
7
+ * "policy is missing X" errors before publishing.
8
+ */
9
+ declare function findUnfilledTokens(rendered: string): string[];
3
10
  /**
4
11
  * Generates policy text by replacing variables in a template with organization-specific values
5
12
  * @param sectionsOrTemplate The policy sections or template string to generate text for
@@ -33,4 +40,4 @@ declare function createBusinessPolicyTemplate(): {
33
40
  variables: PolicyVariable[];
34
41
  };
35
42
 
36
- export { DEFAULT_POLICY_SECTIONS as D, DEFAULT_POLICY_VARIABLES as a, createBusinessPolicyTemplate as c, generatePolicyText as g };
43
+ export { DEFAULT_POLICY_SECTIONS as D, DEFAULT_POLICY_VARIABLES as a, createBusinessPolicyTemplate as c, findUnfilledTokens as f, generatePolicyText as g };
package/dist/policy.d.mts CHANGED
@@ -1,17 +1,18 @@
1
1
  import { f as PolicyGeneratorProps, g as PolicyPreviewProps, h as PolicyExporterProps } from './PolicyExporter-Bgi6nz82.mjs';
2
2
  export { P as PolicyExporter, b as PolicyGenerator, d as PolicyPreview } from './PolicyExporter-Bgi6nz82.mjs';
3
- import { U as UsePrivacyPolicyReturn } from './useDefaultPrivacyPolicy-BsYttRey.mjs';
4
- export { u as useDefaultPrivacyPolicy, a as usePrivacyPolicy } from './useDefaultPrivacyPolicy-BsYttRey.mjs';
5
- export { D as DEFAULT_POLICY_SECTIONS, a as DEFAULT_POLICY_VARIABLES, c as createBusinessPolicyTemplate, g as generatePolicyText } from './policy-templates-DMsPwOSZ.mjs';
3
+ import { U as UsePrivacyPolicyReturn } from './useDefaultPrivacyPolicy-Cs2WQSYQ.mjs';
4
+ export { u as useDefaultPrivacyPolicy, a as usePrivacyPolicy } from './useDefaultPrivacyPolicy-Cs2WQSYQ.mjs';
5
+ export { D as DEFAULT_POLICY_SECTIONS, a as DEFAULT_POLICY_VARIABLES, c as createBusinessPolicyTemplate, f as findUnfilledTokens, g as generatePolicyText } from './policy-templates-DwYl2329.mjs';
6
6
  import { a as PolicyTemplate, c as PrivacyPolicy } from './privacy-Ca6te9Ir.mjs';
7
7
  export { O as OrganizationInfo, P as PolicySection, b as PolicyVariable } from './privacy-Ca6te9Ir.mjs';
8
8
  import * as React from 'react';
9
9
  import React__default from 'react';
10
10
  import { S as StorageAdapter } from './types-DK2CoKOC.mjs';
11
- import { P as PolicyDraft, H as HTMLExportOptions, c as PDFExportOptions, D as DOCXExportOptions } from './policy-engine-DefZcX3R.mjs';
12
- export { C as ComplianceGap, b as ComplianceResult, a as CustomSection, g as DEFAULT_DATA_CATEGORIES, d as DataCategory, I as Industry, O as OrgSize, h as ProcessingPurpose, T as TemplateContext, e as ThirdPartyProcessor, f as createDefaultContext } from './policy-engine-DefZcX3R.mjs';
13
- export { U as UseAdaptivePolicyWizardOptions, a as UseAdaptivePolicyWizardReturn, u as useAdaptivePolicyWizard } from './useAdaptivePolicyWizard-A1PyOy6P.mjs';
14
- export { a as assemblePolicy, e as evaluatePolicyCompliance } from './policy-sections-Bylm31kZ.mjs';
11
+ import { P as PolicyDraft, H as HTMLExportOptions } from './policy-engine-fYSqEqSW.mjs';
12
+ export { C as ComplianceGap, a as ComplianceResult, b as CustomSection, e as DEFAULT_DATA_CATEGORIES, D as DataCategory, I as Industry, O as OrgSize, h as ProcessingPurpose, T as TemplateContext, c as ThirdPartyProcessor, d as createDefaultContext } from './policy-engine-fYSqEqSW.mjs';
13
+ export { U as UseAdaptivePolicyWizardOptions, a as UseAdaptivePolicyWizardReturn, u as useAdaptivePolicyWizard } from './useAdaptivePolicyWizard-BnjW4OR4.mjs';
14
+ export { a as assemblePolicy, e as evaluatePolicyCompliance } from './policy-sections-Dm97Nq8m.mjs';
15
+ export { e as exportDOCX, a as exportHTML, b as exportMarkdown, c as exportPDF } from './docx-CV7Vsry_.mjs';
15
16
 
16
17
  interface PolicyProviderProps {
17
18
  templates: PolicyTemplate[];
@@ -44,75 +45,39 @@ interface AdaptivePolicyWizardProps {
44
45
  }
45
46
  declare const AdaptivePolicyWizard: React__default.FC<AdaptivePolicyWizardProps>;
46
47
 
48
+ type PolicyPageMode = 'shadow' | 'inline';
47
49
  interface PolicyPageProps {
48
50
  policy: PrivacyPolicy;
49
51
  className?: string;
52
+ /**
53
+ * Render mode.
54
+ *
55
+ * - `'shadow'` (default): mounts the rendered policy inside a Shadow DOM
56
+ * root, fully isolating the embedded `<style>` block from the host page.
57
+ * Use this for in-app embeds where you want the rich, opinionated
58
+ * default styling without polluting global CSS. Client-only.
59
+ *
60
+ * - `'inline'`: injects the policy markup directly into the host document.
61
+ * Defaults to `includeStyles: false` so bare element selectors don't
62
+ * leak. Pair with your own CSS / design tokens. SSR-safe.
63
+ */
64
+ mode?: PolicyPageMode;
65
+ /**
66
+ * Pass-through to {@link exportHTML}. Lets you toggle `includeStyles`,
67
+ * `includePrintCSS`, or inject `customCSS`. Defaults differ by mode:
68
+ * shadow mode includes styles; inline mode omits them.
69
+ */
70
+ options?: HTMLExportOptions;
50
71
  }
51
72
  /**
52
- * PolicyPage renders a full styled privacy policy page.
53
- * HTML is generated internally by exportHTML from a typed PrivacyPolicy object
54
- * and does not contain untrusted user input.
55
- */
56
- declare const PolicyPage: React__default.FC<PolicyPageProps>;
57
-
58
- /**
59
- * Export a PrivacyPolicy as a self-contained HTML string.
73
+ * PolicyPage renders a full privacy policy. By default uses Shadow DOM so the
74
+ * embedded stylesheet (bare selectors like `body`, `article`, `h1`) cannot
75
+ * leak into the host application's CSS. Pass `mode="inline"` for SSR/SEO
76
+ * scenarios where the policy text must appear in the host document.
60
77
  *
61
- * The returned string includes:
62
- * - An embedded `<style>` block (responsive, dark/light, print-friendly)
63
- * - An `<article>` wrapper with semantic markup
64
- * - A `<nav>` table of contents with anchor links
65
- * - A `<section>` for every included policy section
66
- * - A metadata footer (org name, effective date, version, generator credit)
67
- * - Optional custom CSS injection via `options.customCSS`
78
+ * HTML is generated internally by exportHTML from a typed PrivacyPolicy and
79
+ * never contains untrusted user input.
68
80
  */
69
- declare function exportHTML(policy: PrivacyPolicy, options?: HTMLExportOptions): string;
70
-
71
- /**
72
- * Export a PrivacyPolicy as a clean Markdown string.
73
- *
74
- * Structure:
75
- * ```
76
- * # Policy Title
77
- * _Effective: date | Version: X | Org Name_
78
- *
79
- * ## Table of Contents
80
- * - [Section Title](#anchor)
81
- *
82
- * ## 1. Section Title
83
- * Section content...
84
- * ```
85
- */
86
- declare function exportMarkdown(policy: PrivacyPolicy): string;
87
-
88
- /**
89
- * Export a PrivacyPolicy to a PDF Blob using jspdf (optional peer dependency).
90
- *
91
- * Features:
92
- * - Optional cover page with title, organisation, date, version and compliance badge
93
- * - Optional table of contents page
94
- * - One section per heading, content reflowed to fit the page
95
- * - Automatic page breaks
96
- * - Page header (org name) and footer (page X of Y) on every page
97
- * - PDF metadata (title, author, subject, keywords)
98
- *
99
- * @throws {Error} if the `jspdf` package is not installed
100
- */
101
- declare function exportPDF(policy: PrivacyPolicy, options?: PDFExportOptions): Promise<Blob>;
102
-
103
- /**
104
- * Export a PrivacyPolicy as a Word (.docx) Blob using the `docx` library
105
- * (optional peer dependency).
106
- *
107
- * Features:
108
- * - Title paragraph with large bold text
109
- * - Organisation name + version subtitle
110
- * - Optional table of contents placeholder heading
111
- * - All included policy sections as Heading 1 + body paragraphs / bullet lists
112
- * - Running header (org name) and page-number footer on every page
113
- *
114
- * @throws {Error} if the `docx` package is not installed
115
- */
116
- declare function exportDOCX(policy: PrivacyPolicy, options?: DOCXExportOptions): Promise<Blob>;
81
+ declare const PolicyPage: React__default.FC<PolicyPageProps>;
117
82
 
118
- export { AdaptivePolicyWizard, Policy, PolicyDraft, PolicyPage, PolicyProvider, type PolicyProviderProps, PolicyTemplate, PrivacyPolicy, StorageAdapter, exportDOCX, exportHTML, exportMarkdown, exportPDF, usePolicyCompound };
83
+ export { AdaptivePolicyWizard, Policy, PolicyDraft, PolicyPage, PolicyProvider, type PolicyProviderProps, PolicyTemplate, PrivacyPolicy, StorageAdapter, usePolicyCompound };
package/dist/policy.d.ts CHANGED
@@ -1,17 +1,18 @@
1
1
  import { f as PolicyGeneratorProps, g as PolicyPreviewProps, h as PolicyExporterProps } from './PolicyExporter-BnvuFncj.js';
2
2
  export { P as PolicyExporter, b as PolicyGenerator, d as PolicyPreview } from './PolicyExporter-BnvuFncj.js';
3
- import { U as UsePrivacyPolicyReturn } from './useDefaultPrivacyPolicy-C-mG-A5S.js';
4
- export { u as useDefaultPrivacyPolicy, a as usePrivacyPolicy } from './useDefaultPrivacyPolicy-C-mG-A5S.js';
5
- export { D as DEFAULT_POLICY_SECTIONS, a as DEFAULT_POLICY_VARIABLES, c as createBusinessPolicyTemplate, g as generatePolicyText } from './policy-templates-CIKcV0i1.js';
3
+ import { U as UsePrivacyPolicyReturn } from './useDefaultPrivacyPolicy-DkOqMg2e.js';
4
+ export { u as useDefaultPrivacyPolicy, a as usePrivacyPolicy } from './useDefaultPrivacyPolicy-DkOqMg2e.js';
5
+ export { D as DEFAULT_POLICY_SECTIONS, a as DEFAULT_POLICY_VARIABLES, c as createBusinessPolicyTemplate, f as findUnfilledTokens, g as generatePolicyText } from './policy-templates-DhLwq4R-.js';
6
6
  import { a as PolicyTemplate, c as PrivacyPolicy } from './privacy-Ca6te9Ir.js';
7
7
  export { O as OrganizationInfo, P as PolicySection, b as PolicyVariable } from './privacy-Ca6te9Ir.js';
8
8
  import * as React from 'react';
9
9
  import React__default from 'react';
10
10
  import { S as StorageAdapter } from './types-DK2CoKOC.js';
11
- import { P as PolicyDraft, H as HTMLExportOptions, c as PDFExportOptions, D as DOCXExportOptions } from './policy-engine-C6nC2t3a.js';
12
- export { C as ComplianceGap, b as ComplianceResult, a as CustomSection, g as DEFAULT_DATA_CATEGORIES, d as DataCategory, I as Industry, O as OrgSize, h as ProcessingPurpose, T as TemplateContext, e as ThirdPartyProcessor, f as createDefaultContext } from './policy-engine-C6nC2t3a.js';
13
- export { U as UseAdaptivePolicyWizardOptions, a as UseAdaptivePolicyWizardReturn, u as useAdaptivePolicyWizard } from './useAdaptivePolicyWizard-LVIKhAxw.js';
14
- export { a as assemblePolicy, e as evaluatePolicyCompliance } from './policy-sections-DFDPVCCg.js';
11
+ import { P as PolicyDraft, H as HTMLExportOptions } from './policy-engine-CCUCud2T.js';
12
+ export { C as ComplianceGap, a as ComplianceResult, b as CustomSection, e as DEFAULT_DATA_CATEGORIES, D as DataCategory, I as Industry, O as OrgSize, h as ProcessingPurpose, T as TemplateContext, c as ThirdPartyProcessor, d as createDefaultContext } from './policy-engine-CCUCud2T.js';
13
+ export { U as UseAdaptivePolicyWizardOptions, a as UseAdaptivePolicyWizardReturn, u as useAdaptivePolicyWizard } from './useAdaptivePolicyWizard-sb3m4-Zk.js';
14
+ export { a as assemblePolicy, e as evaluatePolicyCompliance } from './policy-sections-BYx6fEFk.js';
15
+ export { e as exportDOCX, a as exportHTML, b as exportMarkdown, c as exportPDF } from './docx-BxKascXN.js';
15
16
 
16
17
  interface PolicyProviderProps {
17
18
  templates: PolicyTemplate[];
@@ -44,75 +45,39 @@ interface AdaptivePolicyWizardProps {
44
45
  }
45
46
  declare const AdaptivePolicyWizard: React__default.FC<AdaptivePolicyWizardProps>;
46
47
 
48
+ type PolicyPageMode = 'shadow' | 'inline';
47
49
  interface PolicyPageProps {
48
50
  policy: PrivacyPolicy;
49
51
  className?: string;
52
+ /**
53
+ * Render mode.
54
+ *
55
+ * - `'shadow'` (default): mounts the rendered policy inside a Shadow DOM
56
+ * root, fully isolating the embedded `<style>` block from the host page.
57
+ * Use this for in-app embeds where you want the rich, opinionated
58
+ * default styling without polluting global CSS. Client-only.
59
+ *
60
+ * - `'inline'`: injects the policy markup directly into the host document.
61
+ * Defaults to `includeStyles: false` so bare element selectors don't
62
+ * leak. Pair with your own CSS / design tokens. SSR-safe.
63
+ */
64
+ mode?: PolicyPageMode;
65
+ /**
66
+ * Pass-through to {@link exportHTML}. Lets you toggle `includeStyles`,
67
+ * `includePrintCSS`, or inject `customCSS`. Defaults differ by mode:
68
+ * shadow mode includes styles; inline mode omits them.
69
+ */
70
+ options?: HTMLExportOptions;
50
71
  }
51
72
  /**
52
- * PolicyPage renders a full styled privacy policy page.
53
- * HTML is generated internally by exportHTML from a typed PrivacyPolicy object
54
- * and does not contain untrusted user input.
55
- */
56
- declare const PolicyPage: React__default.FC<PolicyPageProps>;
57
-
58
- /**
59
- * Export a PrivacyPolicy as a self-contained HTML string.
73
+ * PolicyPage renders a full privacy policy. By default uses Shadow DOM so the
74
+ * embedded stylesheet (bare selectors like `body`, `article`, `h1`) cannot
75
+ * leak into the host application's CSS. Pass `mode="inline"` for SSR/SEO
76
+ * scenarios where the policy text must appear in the host document.
60
77
  *
61
- * The returned string includes:
62
- * - An embedded `<style>` block (responsive, dark/light, print-friendly)
63
- * - An `<article>` wrapper with semantic markup
64
- * - A `<nav>` table of contents with anchor links
65
- * - A `<section>` for every included policy section
66
- * - A metadata footer (org name, effective date, version, generator credit)
67
- * - Optional custom CSS injection via `options.customCSS`
78
+ * HTML is generated internally by exportHTML from a typed PrivacyPolicy and
79
+ * never contains untrusted user input.
68
80
  */
69
- declare function exportHTML(policy: PrivacyPolicy, options?: HTMLExportOptions): string;
70
-
71
- /**
72
- * Export a PrivacyPolicy as a clean Markdown string.
73
- *
74
- * Structure:
75
- * ```
76
- * # Policy Title
77
- * _Effective: date | Version: X | Org Name_
78
- *
79
- * ## Table of Contents
80
- * - [Section Title](#anchor)
81
- *
82
- * ## 1. Section Title
83
- * Section content...
84
- * ```
85
- */
86
- declare function exportMarkdown(policy: PrivacyPolicy): string;
87
-
88
- /**
89
- * Export a PrivacyPolicy to a PDF Blob using jspdf (optional peer dependency).
90
- *
91
- * Features:
92
- * - Optional cover page with title, organisation, date, version and compliance badge
93
- * - Optional table of contents page
94
- * - One section per heading, content reflowed to fit the page
95
- * - Automatic page breaks
96
- * - Page header (org name) and footer (page X of Y) on every page
97
- * - PDF metadata (title, author, subject, keywords)
98
- *
99
- * @throws {Error} if the `jspdf` package is not installed
100
- */
101
- declare function exportPDF(policy: PrivacyPolicy, options?: PDFExportOptions): Promise<Blob>;
102
-
103
- /**
104
- * Export a PrivacyPolicy as a Word (.docx) Blob using the `docx` library
105
- * (optional peer dependency).
106
- *
107
- * Features:
108
- * - Title paragraph with large bold text
109
- * - Organisation name + version subtitle
110
- * - Optional table of contents placeholder heading
111
- * - All included policy sections as Heading 1 + body paragraphs / bullet lists
112
- * - Running header (org name) and page-number footer on every page
113
- *
114
- * @throws {Error} if the `docx` package is not installed
115
- */
116
- declare function exportDOCX(policy: PrivacyPolicy, options?: DOCXExportOptions): Promise<Blob>;
81
+ declare const PolicyPage: React__default.FC<PolicyPageProps>;
117
82
 
118
- export { AdaptivePolicyWizard, Policy, PolicyDraft, PolicyPage, PolicyProvider, type PolicyProviderProps, PolicyTemplate, PrivacyPolicy, StorageAdapter, exportDOCX, exportHTML, exportMarkdown, exportPDF, usePolicyCompound };
83
+ export { AdaptivePolicyWizard, Policy, PolicyDraft, PolicyPage, PolicyProvider, type PolicyProviderProps, PolicyTemplate, PrivacyPolicy, StorageAdapter, usePolicyCompound };
package/dist/policy.js CHANGED
@@ -1,2 +1,2 @@
1
- 'use strict';var chunkYZXUAIYN_js=require('./chunk-YZXUAIYN.js'),chunkGQVNLUP2_js=require('./chunk-GQVNLUP2.js'),chunkTXXWCB5O_js=require('./chunk-TXXWCB5O.js'),chunkE63VPR7U_js=require('./chunk-E63VPR7U.js'),chunkLU4PFST7_js=require('./chunk-LU4PFST7.js'),chunkUXMGBIX6_js=require('./chunk-UXMGBIX6.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 a=react.createContext(null);function z(){let o=react.useContext(a);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 i=({templates:o,adapter:p,storageKey:c,useLocalStorage:m,initialPolicy:s,onGenerate:d,children:x})=>{let f=chunkE63VPR7U_js.a({templates:o,adapter:p,storageKey:c,useLocalStorage:m,initialPolicy:s,onGenerate:d}),v=chunkMQFZHA2D_js.b(chunkMQFZHA2D_js.a({},f),{templates:o});return jsxRuntime.jsx(a.Provider,{value:v,children:x})};var F={Provider:i,Generator:chunkGQVNLUP2_js.a,Preview:chunkGQVNLUP2_js.b,Exporter:chunkGQVNLUP2_js.c};var N=({policy:o,className:p})=>{let c=chunkTXXWCB5O_js.a(o,{includeStyles:true,includePrintCSS:true});return jsxRuntime.jsx("div",{"data-ndpr-component":"policy-page",className:p,dangerouslySetInnerHTML:{__html:c}})};Object.defineProperty(exports,"AdaptivePolicyWizard",{enumerable:true,get:function(){return chunkYZXUAIYN_js.a}});Object.defineProperty(exports,"PolicyExporter",{enumerable:true,get:function(){return chunkGQVNLUP2_js.c}});Object.defineProperty(exports,"PolicyGenerator",{enumerable:true,get:function(){return chunkGQVNLUP2_js.a}});Object.defineProperty(exports,"PolicyPreview",{enumerable:true,get:function(){return chunkGQVNLUP2_js.b}});Object.defineProperty(exports,"exportDOCX",{enumerable:true,get:function(){return chunkTXXWCB5O_js.d}});Object.defineProperty(exports,"exportHTML",{enumerable:true,get:function(){return chunkTXXWCB5O_js.a}});Object.defineProperty(exports,"exportMarkdown",{enumerable:true,get:function(){return chunkTXXWCB5O_js.b}});Object.defineProperty(exports,"exportPDF",{enumerable:true,get:function(){return chunkTXXWCB5O_js.c}});Object.defineProperty(exports,"useAdaptivePolicyWizard",{enumerable:true,get:function(){return chunkTXXWCB5O_js.e}});Object.defineProperty(exports,"useDefaultPrivacyPolicy",{enumerable:true,get:function(){return chunkE63VPR7U_js.b}});Object.defineProperty(exports,"usePrivacyPolicy",{enumerable:true,get:function(){return chunkE63VPR7U_js.a}});Object.defineProperty(exports,"DEFAULT_DATA_CATEGORIES",{enumerable:true,get:function(){return chunkLU4PFST7_js.a}});Object.defineProperty(exports,"assemblePolicy",{enumerable:true,get:function(){return chunkLU4PFST7_js.d}});Object.defineProperty(exports,"createDefaultContext",{enumerable:true,get:function(){return chunkLU4PFST7_js.b}});Object.defineProperty(exports,"evaluatePolicyCompliance",{enumerable:true,get:function(){return chunkLU4PFST7_js.c}});Object.defineProperty(exports,"DEFAULT_POLICY_SECTIONS",{enumerable:true,get:function(){return chunkUXMGBIX6_js.b}});Object.defineProperty(exports,"DEFAULT_POLICY_VARIABLES",{enumerable:true,get:function(){return chunkUXMGBIX6_js.c}});Object.defineProperty(exports,"createBusinessPolicyTemplate",{enumerable:true,get:function(){return chunkUXMGBIX6_js.d}});Object.defineProperty(exports,"generatePolicyText",{enumerable:true,get:function(){return chunkUXMGBIX6_js.a}});exports.Policy=F;exports.PolicyPage=N;exports.PolicyProvider=i;exports.usePolicyCompound=z;//# sourceMappingURL=policy.js.map
1
+ 'use strict';var chunk2WH4DLV5_js=require('./chunk-2WH4DLV5.js'),chunkHQSU7LGM_js=require('./chunk-HQSU7LGM.js'),chunkXMBSJJ5U_js=require('./chunk-XMBSJJ5U.js'),chunkRGNP45VR_js=require('./chunk-RGNP45VR.js'),chunkUFPSUO52_js=require('./chunk-UFPSUO52.js'),chunkRNTNHVKZ_js=require('./chunk-RNTNHVKZ.js'),chunkP2YV6DR3_js=require('./chunk-P2YV6DR3.js'),chunkAHSMDPG5_js=require('./chunk-AHSMDPG5.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 z(){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 n=({templates:o,adapter:p,storageKey:r,useLocalStorage:t,initialPolicy:c,onGenerate:s,children:e})=>{let m=chunkRGNP45VR_js.a({templates:o,adapter:p,storageKey:r,useLocalStorage:t,initialPolicy:c,onGenerate:s}),d=chunkMQFZHA2D_js.b(chunkMQFZHA2D_js.a({},m),{templates:o});return jsxRuntime.jsx(x.Provider,{value:d,children:e})};var N={Provider:n,Generator:chunkHQSU7LGM_js.a,Preview:chunkHQSU7LGM_js.b,Exporter:chunkHQSU7LGM_js.c};var b=({policy:o,className:p,mode:r="shadow",options:t})=>{let c=react.useRef(null);if(react.useEffect(()=>{var u;if(r!=="shadow")return;let e=c.current;if(!e)return;let m=chunkUFPSUO52_js.a(o,chunkMQFZHA2D_js.a({includeStyles:true,includePrintCSS:true},t)),d=(u=e.shadowRoot)!=null?u:e.attachShadow({mode:"open"});return d.innerHTML=m,()=>{e.shadowRoot&&(e.shadowRoot.innerHTML="");}},[o,t,r]),r==="shadow")return jsxRuntime.jsx("div",{ref:c,"data-ndpr-component":"policy-page",className:p});let s=chunkUFPSUO52_js.a(o,chunkMQFZHA2D_js.a({includeStyles:false},t));return jsxRuntime.jsx("div",{"data-ndpr-component":"policy-page",className:p,dangerouslySetInnerHTML:{__html:s}})};Object.defineProperty(exports,"AdaptivePolicyWizard",{enumerable:true,get:function(){return chunk2WH4DLV5_js.a}});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,"useAdaptivePolicyWizard",{enumerable:true,get:function(){return chunkXMBSJJ5U_js.a}});Object.defineProperty(exports,"useDefaultPrivacyPolicy",{enumerable:true,get:function(){return chunkRGNP45VR_js.b}});Object.defineProperty(exports,"usePrivacyPolicy",{enumerable:true,get:function(){return chunkRGNP45VR_js.a}});Object.defineProperty(exports,"exportDOCX",{enumerable:true,get:function(){return chunkUFPSUO52_js.d}});Object.defineProperty(exports,"exportHTML",{enumerable:true,get:function(){return chunkUFPSUO52_js.a}});Object.defineProperty(exports,"exportMarkdown",{enumerable:true,get:function(){return chunkUFPSUO52_js.b}});Object.defineProperty(exports,"exportPDF",{enumerable:true,get:function(){return chunkUFPSUO52_js.c}});Object.defineProperty(exports,"DEFAULT_DATA_CATEGORIES",{enumerable:true,get:function(){return chunkRNTNHVKZ_js.a}});Object.defineProperty(exports,"createDefaultContext",{enumerable:true,get:function(){return chunkRNTNHVKZ_js.b}});Object.defineProperty(exports,"evaluatePolicyCompliance",{enumerable:true,get:function(){return chunkRNTNHVKZ_js.c}});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,"findUnfilledTokens",{enumerable:true,get:function(){return chunkP2YV6DR3_js.a}});Object.defineProperty(exports,"generatePolicyText",{enumerable:true,get:function(){return chunkP2YV6DR3_js.b}});Object.defineProperty(exports,"assemblePolicy",{enumerable:true,get:function(){return chunkAHSMDPG5_js.c}});exports.Policy=N;exports.PolicyPage=b;exports.PolicyProvider=n;exports.usePolicyCompound=z;//# sourceMappingURL=policy.js.map
2
2
  //# sourceMappingURL=policy.js.map
package/dist/policy.mjs CHANGED
@@ -1,2 +1,2 @@
1
- export{a as AdaptivePolicyWizard}from'./chunk-UX6ZZNEM.mjs';import {c,b,a as a$1}from'./chunk-QDHHD2KR.mjs';export{c as PolicyExporter,a as PolicyGenerator,b as PolicyPreview}from'./chunk-QDHHD2KR.mjs';import {a as a$4}from'./chunk-CDZDT2OS.mjs';export{d as exportDOCX,a as exportHTML,b as exportMarkdown,c as exportPDF,e as useAdaptivePolicyWizard}from'./chunk-CDZDT2OS.mjs';import {a as a$2}from'./chunk-FDDI426Y.mjs';export{b as useDefaultPrivacyPolicy,a as usePrivacyPolicy}from'./chunk-FDDI426Y.mjs';export{a as DEFAULT_DATA_CATEGORIES,d as assemblePolicy,b as createDefaultContext,c as evaluatePolicyCompliance}from'./chunk-GCQRHMTQ.mjs';export{b as DEFAULT_POLICY_SECTIONS,c as DEFAULT_POLICY_VARIABLES,d as createBusinessPolicyTemplate,a as generatePolicyText}from'./chunk-ZEOQYWOE.mjs';import'./chunk-AYKLAEOU.mjs';import'./chunk-6WIP33TW.mjs';import {b as b$1,a as a$3}from'./chunk-WWT2ZSNU.mjs';import {createContext,useContext}from'react';import {jsx}from'react/jsx-runtime';var a=createContext(null);function z(){let o=useContext(a);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 i=({templates:o,adapter:p,storageKey:c,useLocalStorage:m,initialPolicy:s,onGenerate:d,children:x})=>{let f=a$2({templates:o,adapter:p,storageKey:c,useLocalStorage:m,initialPolicy:s,onGenerate:d}),v=b$1(a$3({},f),{templates:o});return jsx(a.Provider,{value:v,children:x})};var F={Provider:i,Generator:a$1,Preview:b,Exporter:c};var N=({policy:o,className:p})=>{let c=a$4(o,{includeStyles:true,includePrintCSS:true});return jsx("div",{"data-ndpr-component":"policy-page",className:p,dangerouslySetInnerHTML:{__html:c}})};export{F as Policy,N as PolicyPage,i as PolicyProvider,z as usePolicyCompound};//# sourceMappingURL=policy.mjs.map
1
+ export{a as AdaptivePolicyWizard}from'./chunk-QVULSG6J.mjs';import {c,b as b$1,a}from'./chunk-DUY6F3GT.mjs';export{c as PolicyExporter,a as PolicyGenerator,b as PolicyPreview}from'./chunk-DUY6F3GT.mjs';export{a as useAdaptivePolicyWizard}from'./chunk-KSERBMXW.mjs';import {a as a$1}from'./chunk-NCOZB2WU.mjs';export{b as useDefaultPrivacyPolicy,a as usePrivacyPolicy}from'./chunk-NCOZB2WU.mjs';import {a as a$3}from'./chunk-4R42ZNO7.mjs';export{d as exportDOCX,a as exportHTML,b as exportMarkdown,c as exportPDF}from'./chunk-4R42ZNO7.mjs';export{a as DEFAULT_DATA_CATEGORIES,b as createDefaultContext,c as evaluatePolicyCompliance}from'./chunk-MG73MOZC.mjs';export{c as DEFAULT_POLICY_SECTIONS,d as DEFAULT_POLICY_VARIABLES,e as createBusinessPolicyTemplate,a as findUnfilledTokens,b as generatePolicyText}from'./chunk-LSCMXAPY.mjs';export{c as assemblePolicy}from'./chunk-ZLSWOFAY.mjs';import'./chunk-AYKLAEOU.mjs';import'./chunk-6WIP33TW.mjs';import {b as b$2,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 z(){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 n=({templates:o,adapter:p,storageKey:r,useLocalStorage:t,initialPolicy:c,onGenerate:s,children:e})=>{let m=a$1({templates:o,adapter:p,storageKey:r,useLocalStorage:t,initialPolicy:c,onGenerate:s}),d=b$2(a$2({},m),{templates:o});return jsx(x.Provider,{value:d,children:e})};var N={Provider:n,Generator:a,Preview:b$1,Exporter:c};var b=({policy:o,className:p,mode:r="shadow",options:t})=>{let c=useRef(null);if(useEffect(()=>{var u;if(r!=="shadow")return;let e=c.current;if(!e)return;let m=a$3(o,a$2({includeStyles:true,includePrintCSS:true},t)),d=(u=e.shadowRoot)!=null?u:e.attachShadow({mode:"open"});return d.innerHTML=m,()=>{e.shadowRoot&&(e.shadowRoot.innerHTML="");}},[o,t,r]),r==="shadow")return jsx("div",{ref:c,"data-ndpr-component":"policy-page",className:p});let s=a$3(o,a$2({includeStyles:false},t));return jsx("div",{"data-ndpr-component":"policy-page",className:p,dangerouslySetInnerHTML:{__html:s}})};export{N as Policy,b as PolicyPage,n as PolicyProvider,z as usePolicyCompound};//# sourceMappingURL=policy.mjs.map
2
2
  //# sourceMappingURL=policy.mjs.map
@@ -1,5 +1,5 @@
1
1
  import React__default from 'react';
2
- import { b as ConsentBannerClassNames } from './ConsentBanner-CDRT0o2k.mjs';
2
+ import { b as ConsentBannerClassNames } from './ConsentBanner-F5ayys5K.mjs';
3
3
  import { C as ConsentOption, a as ConsentSettings } from './consent-CmVzqZUk.mjs';
4
4
  import { S as StorageAdapter } from './types-DK2CoKOC.mjs';
5
5
  import { D as DSRFormSubmission, b as DSRRequestFormClassNames } from './DSRRequestForm-DRouEr9j.mjs';
@@ -7,7 +7,7 @@ import { c as RequestType } from './dsr-yKbqX531.mjs';
7
7
  import { B as BreachFormSubmission, b as BreachReportFormClassNames } from './BreachReportForm-yJ2Zl6gz.mjs';
8
8
  import { B as BreachCategory } from './breach-Eu9byel8.mjs';
9
9
  import { c as PrivacyPolicy } from './privacy-Ca6te9Ir.mjs';
10
- import { P as PolicyDraft } from './policy-engine-DefZcX3R.mjs';
10
+ import { P as PolicyDraft } from './policy-engine-fYSqEqSW.mjs';
11
11
  import { a as DPIAQuestionnaireClassNames } from './DPIAQuestionnaire-jkt1Veb6.mjs';
12
12
  import { c as DPIASection } from './dpia-c9GiiOq0.mjs';
13
13
  import { a as LawfulBasisTrackerClassNames } from './LawfulBasisTracker-CBqOxX1D.mjs';
package/dist/presets.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import React__default from 'react';
2
- import { b as ConsentBannerClassNames } from './ConsentBanner-Vxyt8SCX.js';
2
+ import { b as ConsentBannerClassNames } from './ConsentBanner-VqIPophc.js';
3
3
  import { C as ConsentOption, a as ConsentSettings } from './consent-CmVzqZUk.js';
4
4
  import { S as StorageAdapter } from './types-DK2CoKOC.js';
5
5
  import { D as DSRFormSubmission, b as DSRRequestFormClassNames } from './DSRRequestForm-D8rPTNmU.js';
@@ -7,7 +7,7 @@ import { c as RequestType } from './dsr-yKbqX531.js';
7
7
  import { B as BreachFormSubmission, b as BreachReportFormClassNames } from './BreachReportForm-DpRrBoxU.js';
8
8
  import { B as BreachCategory } from './breach-Eu9byel8.js';
9
9
  import { c as PrivacyPolicy } from './privacy-Ca6te9Ir.js';
10
- import { P as PolicyDraft } from './policy-engine-C6nC2t3a.js';
10
+ import { P as PolicyDraft } from './policy-engine-CCUCud2T.js';
11
11
  import { a as DPIAQuestionnaireClassNames } from './DPIAQuestionnaire-VXBoWFMC.js';
12
12
  import { c as DPIASection } from './dpia-c9GiiOq0.js';
13
13
  import { a as LawfulBasisTrackerClassNames } from './LawfulBasisTracker-Cg30NbDA.js';