@tantainnovative/ndpr-toolkit 3.4.1 → 3.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (177) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/dist/adapters.d.mts +34 -25
  3. package/dist/adapters.d.ts +34 -25
  4. package/dist/breach.d.mts +803 -44
  5. package/dist/breach.d.ts +803 -44
  6. package/dist/breach.js +1 -1
  7. package/dist/breach.mjs +1 -1
  8. package/dist/{chunk-ASLMPY54.js → chunk-3EGQWLJ6.js} +3 -3
  9. package/dist/chunk-B4Z5MBUC.mjs +2 -0
  10. package/dist/{chunk-LSCMXAPY.mjs → chunk-CKGJK4D7.mjs} +3 -3
  11. package/dist/{chunk-XSEZDQLB.js → chunk-CKJAECGV.js} +2 -2
  12. package/dist/{chunk-AHSMDPG5.js → chunk-CPK5D5FY.js} +2 -2
  13. package/dist/{chunk-DCJK5OZT.mjs → chunk-CWHBCQGT.mjs} +2 -2
  14. package/dist/{chunk-MLOWRZXO.mjs → chunk-F5TXUA4O.mjs} +3 -3
  15. package/dist/{chunk-BN77GP4W.mjs → chunk-GN5C32JB.mjs} +2 -2
  16. package/dist/{chunk-ZLSWOFAY.mjs → chunk-GRLIPT5V.mjs} +2 -2
  17. package/dist/{chunk-DUY6F3GT.mjs → chunk-H3EYBSVP.mjs} +3 -3
  18. package/dist/{chunk-NFJ4CB63.mjs → chunk-ID2NYIVE.mjs} +3 -3
  19. package/dist/chunk-J5WCPZLW.js +2 -0
  20. package/dist/{chunk-P2YV6DR3.js → chunk-LIM64IV2.js} +3 -3
  21. package/dist/chunk-LU7PKE7Y.mjs +2 -0
  22. package/dist/{chunk-HQSU7LGM.js → chunk-LWXZMKC2.js} +4 -4
  23. package/dist/{chunk-4BOEFDDE.js → chunk-ORFC66EA.js} +3 -3
  24. package/dist/{chunk-VTITKWGX.mjs → chunk-QSVVAZVT.mjs} +2 -2
  25. package/dist/chunk-SCWNM4PC.mjs +2 -0
  26. package/dist/{chunk-EHAZIKDX.js → chunk-SKKOMFXH.js} +2 -2
  27. package/dist/{chunk-WH6ZMUOS.mjs → chunk-TUNQUVHU.mjs} +2 -2
  28. package/dist/chunk-TV4U6AIS.js +2 -0
  29. package/dist/{chunk-ZYLDLGFL.js → chunk-VIQUXWJC.js} +2 -2
  30. package/dist/{chunk-SUEGUY35.js → chunk-XIM7KMD6.js} +2 -2
  31. package/dist/{chunk-P6QAFBCV.js → chunk-XNSZ7KUH.js} +2 -2
  32. package/dist/consent.d.mts +648 -84
  33. package/dist/consent.d.ts +648 -84
  34. package/dist/consent.js +1 -1
  35. package/dist/consent.mjs +1 -1
  36. package/dist/core.d.mts +2049 -23
  37. package/dist/core.d.ts +2049 -23
  38. package/dist/core.js +1 -1
  39. package/dist/core.mjs +1 -1
  40. package/dist/cross-border.d.mts +470 -99
  41. package/dist/cross-border.d.ts +470 -99
  42. package/dist/dpia.d.mts +591 -37
  43. package/dist/dpia.d.ts +591 -37
  44. package/dist/dsr.d.mts +654 -37
  45. package/dist/dsr.d.ts +654 -37
  46. package/dist/dsr.js +1 -1
  47. package/dist/dsr.mjs +1 -1
  48. package/dist/hooks.d.mts +2174 -30
  49. package/dist/hooks.d.ts +2174 -30
  50. package/dist/hooks.js +1 -1
  51. package/dist/hooks.mjs +1 -1
  52. package/dist/index.d.mts +4428 -43
  53. package/dist/index.d.ts +4428 -43
  54. package/dist/index.js +1 -1
  55. package/dist/index.mjs +1 -1
  56. package/dist/lawful-basis.d.mts +368 -32
  57. package/dist/lawful-basis.d.ts +368 -32
  58. package/dist/policy.d.mts +1178 -83
  59. package/dist/policy.d.ts +1178 -83
  60. package/dist/policy.js +1 -1
  61. package/dist/policy.mjs +1 -1
  62. package/dist/presets.d.mts +1020 -114
  63. package/dist/presets.d.ts +1020 -114
  64. package/dist/presets.js +1 -1
  65. package/dist/presets.mjs +1 -1
  66. package/dist/ropa.d.mts +396 -31
  67. package/dist/ropa.d.ts +396 -31
  68. package/dist/ropa.js +1 -1
  69. package/dist/ropa.mjs +1 -1
  70. package/dist/server.d.mts +2133 -24
  71. package/dist/server.d.ts +2133 -24
  72. package/dist/server.js +1 -1
  73. package/dist/server.mjs +1 -1
  74. package/dist/unstyled.d.mts +523 -55
  75. package/dist/unstyled.d.ts +523 -55
  76. package/dist/unstyled.js +1 -1
  77. package/dist/unstyled.mjs +1 -1
  78. package/package.json +3 -3
  79. package/dist/BreachReportForm-DpRrBoxU.d.ts +0 -158
  80. package/dist/BreachReportForm-yJ2Zl6gz.d.mts +0 -158
  81. package/dist/ConsentBanner-F5ayys5K.d.mts +0 -156
  82. package/dist/ConsentBanner-VqIPophc.d.ts +0 -156
  83. package/dist/ConsentManager-C7I3PDe8.d.mts +0 -105
  84. package/dist/ConsentManager-CQ2IZtUU.d.ts +0 -105
  85. package/dist/CrossBorderTransferManager-D5Lc0e46.d.ts +0 -90
  86. package/dist/CrossBorderTransferManager-DkZhv9vD.d.mts +0 -90
  87. package/dist/DPIAQuestionnaire-VXBoWFMC.d.ts +0 -123
  88. package/dist/DPIAQuestionnaire-jkt1Veb6.d.mts +0 -123
  89. package/dist/DSRRequestForm-D8rPTNmU.d.ts +0 -146
  90. package/dist/DSRRequestForm-DRouEr9j.d.mts +0 -146
  91. package/dist/DSRTracker-Bl__d4df.d.ts +0 -163
  92. package/dist/DSRTracker-CSVDfgQQ.d.mts +0 -163
  93. package/dist/LawfulBasisTracker-CBqOxX1D.d.mts +0 -85
  94. package/dist/LawfulBasisTracker-Cg30NbDA.d.ts +0 -85
  95. package/dist/NDPRDashboard-CLJpEg0X.d.mts +0 -44
  96. package/dist/NDPRDashboard-DDWNd2Ah.d.ts +0 -44
  97. package/dist/NDPRProvider-DYFb8xEl.d.ts +0 -68
  98. package/dist/NDPRProvider-U3QNu6MA.d.mts +0 -68
  99. package/dist/PolicyExporter-Bgi6nz82.d.mts +0 -291
  100. package/dist/PolicyExporter-BnvuFncj.d.ts +0 -291
  101. package/dist/ROPAManager-BS4eB8Hw.d.mts +0 -79
  102. package/dist/ROPAManager-qxTrXLkD.d.ts +0 -79
  103. package/dist/RegulatoryReportGenerator-BUYgzTTT.d.ts +0 -282
  104. package/dist/RegulatoryReportGenerator-DwcHcEFp.d.mts +0 -282
  105. package/dist/StepIndicator-CgrlokSV.d.ts +0 -171
  106. package/dist/StepIndicator-W8S_QjgO.d.mts +0 -171
  107. package/dist/breach-B_-6lDqS.d.mts +0 -17
  108. package/dist/breach-CzXqSsaY.d.ts +0 -17
  109. package/dist/breach-Eu9byel8.d.mts +0 -185
  110. package/dist/breach-Eu9byel8.d.ts +0 -185
  111. package/dist/chunk-2L7BSG7G.mjs +0 -2
  112. package/dist/chunk-5X32J5IA.mjs +0 -2
  113. package/dist/chunk-7D2OIPHH.mjs +0 -2
  114. package/dist/chunk-JKKRPS4P.js +0 -2
  115. package/dist/chunk-UHTJ6UFW.js +0 -2
  116. package/dist/compliance-score-racQe_E_.d.mts +0 -115
  117. package/dist/compliance-score-racQe_E_.d.ts +0 -115
  118. package/dist/consent-CmVzqZUk.d.mts +0 -99
  119. package/dist/consent-CmVzqZUk.d.ts +0 -99
  120. package/dist/consent-audit-BdByjYlM.d.mts +0 -65
  121. package/dist/consent-audit-DhbfMR0n.d.ts +0 -65
  122. package/dist/cross-border-BBi9rZyO.d.mts +0 -54
  123. package/dist/cross-border-Dy-U9Hu6.d.ts +0 -54
  124. package/dist/cross-border-UyT00llA.d.mts +0 -141
  125. package/dist/cross-border-UyT00llA.d.ts +0 -141
  126. package/dist/docx-4n8g4zul.d.mts +0 -64
  127. package/dist/docx-VvcTLYZM.d.ts +0 -64
  128. package/dist/dpia-D82hUrJe.d.ts +0 -15
  129. package/dist/dpia-DQDFw2_l.d.mts +0 -15
  130. package/dist/dpia-c9GiiOq0.d.mts +0 -137
  131. package/dist/dpia-c9GiiOq0.d.ts +0 -137
  132. package/dist/dsr-CIx5sd7e.d.ts +0 -14
  133. package/dist/dsr-XZ_HqTlA.d.mts +0 -14
  134. package/dist/dsr-yKbqX531.d.mts +0 -128
  135. package/dist/dsr-yKbqX531.d.ts +0 -128
  136. package/dist/lawful-basis-BEyI0kGg.d.ts +0 -57
  137. package/dist/lawful-basis-C2eGaoHM.d.mts +0 -57
  138. package/dist/lawful-basis-Cv1VmDLn.d.mts +0 -112
  139. package/dist/lawful-basis-Cv1VmDLn.d.ts +0 -112
  140. package/dist/locale-CxJx2tzn.d.mts +0 -25
  141. package/dist/locale-DSkrtf-c.d.ts +0 -25
  142. package/dist/policy-engine-5qTfp2z4.d.mts +0 -174
  143. package/dist/policy-engine-DzPxskOK.d.ts +0 -174
  144. package/dist/policy-sections-9tCb7VU7.d.ts +0 -56
  145. package/dist/policy-sections-CBWcJv-R.d.mts +0 -56
  146. package/dist/policy-templates-DhLwq4R-.d.ts +0 -43
  147. package/dist/policy-templates-DwYl2329.d.mts +0 -43
  148. package/dist/privacy-Ca6te9Ir.d.mts +0 -138
  149. package/dist/privacy-Ca6te9Ir.d.ts +0 -138
  150. package/dist/ropa-BDTM06tr.d.ts +0 -152
  151. package/dist/ropa-CFHuT7jE.d.mts +0 -152
  152. package/dist/ropa-CyynscU6.d.ts +0 -51
  153. package/dist/ropa-NIgxd8uP.d.mts +0 -51
  154. package/dist/sanitize-CxxwKxAx.d.mts +0 -94
  155. package/dist/sanitize-CxxwKxAx.d.ts +0 -94
  156. package/dist/styling-BMDGQDgS.d.mts +0 -64
  157. package/dist/styling-BaoQtV06.d.ts +0 -64
  158. package/dist/types-DK2CoKOC.d.mts +0 -10
  159. package/dist/types-DK2CoKOC.d.ts +0 -10
  160. package/dist/useAdaptivePolicyWizard-BSLyltzZ.d.mts +0 -52
  161. package/dist/useAdaptivePolicyWizard-CL7C7MTZ.d.ts +0 -52
  162. package/dist/useBreach-CPr86Yan.d.mts +0 -115
  163. package/dist/useBreach-DkVXvtJK.d.ts +0 -115
  164. package/dist/useConsent-DCNkIJHR.d.mts +0 -75
  165. package/dist/useConsent-dOcELSfX.d.ts +0 -75
  166. package/dist/useCrossBorderTransfer-DixjLjN1.d.mts +0 -78
  167. package/dist/useCrossBorderTransfer-DvSq06lv.d.ts +0 -78
  168. package/dist/useDPIA-B6180UQn.d.mts +0 -109
  169. package/dist/useDPIA-CTqbNbww.d.ts +0 -109
  170. package/dist/useDSR-WvHk8_iu.d.mts +0 -85
  171. package/dist/useDSR-wH4H6hSM.d.ts +0 -85
  172. package/dist/useDefaultPrivacyPolicy-Cs2WQSYQ.d.mts +0 -162
  173. package/dist/useDefaultPrivacyPolicy-DkOqMg2e.d.ts +0 -162
  174. package/dist/useLawfulBasis-CKJ-kw84.d.mts +0 -79
  175. package/dist/useLawfulBasis-DFTmu1ca.d.ts +0 -79
  176. package/dist/useROPA-BSSU1rfx.d.ts +0 -76
  177. package/dist/useROPA-C2hjaBTz.d.mts +0 -76
package/dist/core.js CHANGED
@@ -1,2 +1,2 @@
1
- 'use strict';var chunkRXL6CZAI_js=require('./chunk-RXL6CZAI.js'),chunk6QPRDQZF_js=require('./chunk-6QPRDQZF.js'),chunkC5QO3SX4_js=require('./chunk-C5QO3SX4.js'),chunkYPKUHSK4_js=require('./chunk-YPKUHSK4.js'),chunkP2YV6DR3_js=require('./chunk-P2YV6DR3.js'),chunkS4GRSNB4_js=require('./chunk-S4GRSNB4.js'),chunkAHSMDPG5_js=require('./chunk-AHSMDPG5.js'),chunkTDDAYVKK_js=require('./chunk-TDDAYVKK.js'),chunkC4YM4UMI_js=require('./chunk-C4YM4UMI.js'),chunkGOU6FU6Y_js=require('./chunk-GOU6FU6Y.js'),chunkMJGOLP5M_js=require('./chunk-MJGOLP5M.js'),chunkHO5M7M4M_js=require('./chunk-HO5M7M4M.js'),chunkJKKRPS4P_js=require('./chunk-JKKRPS4P.js'),chunkP42Z5CFE_js=require('./chunk-P42Z5CFE.js'),chunkBKRETVJ6_js=require('./chunk-BKRETVJ6.js'),chunkI54CDQGN_js=require('./chunk-I54CDQGN.js');require('./chunk-MQFZHA2D.js');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,"useNDPRLocale",{enumerable:true,get:function(){return chunkRXL6CZAI_js.c}});Object.defineProperty(exports,"hausaLocale",{enumerable:true,get:function(){return chunk6QPRDQZF_js.c}});Object.defineProperty(exports,"igboLocale",{enumerable:true,get:function(){return chunk6QPRDQZF_js.b}});Object.defineProperty(exports,"pidginLocale",{enumerable:true,get:function(){return chunk6QPRDQZF_js.d}});Object.defineProperty(exports,"yorubaLocale",{enumerable:true,get:function(){return chunk6QPRDQZF_js.a}});Object.defineProperty(exports,"defaultLocale",{enumerable:true,get:function(){return chunkC5QO3SX4_js.a}});Object.defineProperty(exports,"mergeLocale",{enumerable:true,get:function(){return chunkC5QO3SX4_js.b}});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 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,"getComplianceScore",{enumerable:true,get:function(){return chunkS4GRSNB4_js.a}});Object.defineProperty(exports,"assemblePolicy",{enumerable:true,get:function(){return chunkAHSMDPG5_js.c}});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,"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,"validateConsent",{enumerable:true,get:function(){return chunkHO5M7M4M_js.a}});Object.defineProperty(exports,"validateConsentOptions",{enumerable:true,get:function(){return chunkHO5M7M4M_js.b}});Object.defineProperty(exports,"formatDSRRequest",{enumerable:true,get:function(){return chunkJKKRPS4P_js.a}});Object.defineProperty(exports,"assessDPIARisk",{enumerable:true,get:function(){return chunkP42Z5CFE_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}});//# sourceMappingURL=core.js.map
1
+ 'use strict';var chunkRXL6CZAI_js=require('./chunk-RXL6CZAI.js'),chunk6QPRDQZF_js=require('./chunk-6QPRDQZF.js'),chunkC5QO3SX4_js=require('./chunk-C5QO3SX4.js'),chunkYPKUHSK4_js=require('./chunk-YPKUHSK4.js'),chunkLIM64IV2_js=require('./chunk-LIM64IV2.js'),chunkS4GRSNB4_js=require('./chunk-S4GRSNB4.js'),chunkCPK5D5FY_js=require('./chunk-CPK5D5FY.js'),chunkTDDAYVKK_js=require('./chunk-TDDAYVKK.js'),chunkC4YM4UMI_js=require('./chunk-C4YM4UMI.js'),chunkGOU6FU6Y_js=require('./chunk-GOU6FU6Y.js'),chunkMJGOLP5M_js=require('./chunk-MJGOLP5M.js'),chunkHO5M7M4M_js=require('./chunk-HO5M7M4M.js'),chunkJ5WCPZLW_js=require('./chunk-J5WCPZLW.js'),chunkP42Z5CFE_js=require('./chunk-P42Z5CFE.js'),chunkBKRETVJ6_js=require('./chunk-BKRETVJ6.js'),chunkI54CDQGN_js=require('./chunk-I54CDQGN.js');require('./chunk-MQFZHA2D.js');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,"useNDPRLocale",{enumerable:true,get:function(){return chunkRXL6CZAI_js.c}});Object.defineProperty(exports,"hausaLocale",{enumerable:true,get:function(){return chunk6QPRDQZF_js.c}});Object.defineProperty(exports,"igboLocale",{enumerable:true,get:function(){return chunk6QPRDQZF_js.b}});Object.defineProperty(exports,"pidginLocale",{enumerable:true,get:function(){return chunk6QPRDQZF_js.d}});Object.defineProperty(exports,"yorubaLocale",{enumerable:true,get:function(){return chunk6QPRDQZF_js.a}});Object.defineProperty(exports,"defaultLocale",{enumerable:true,get:function(){return chunkC5QO3SX4_js.a}});Object.defineProperty(exports,"mergeLocale",{enumerable:true,get:function(){return chunkC5QO3SX4_js.b}});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,"getComplianceScore",{enumerable:true,get:function(){return chunkS4GRSNB4_js.a}});Object.defineProperty(exports,"assemblePolicy",{enumerable:true,get:function(){return chunkCPK5D5FY_js.c}});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,"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,"validateConsent",{enumerable:true,get:function(){return chunkHO5M7M4M_js.a}});Object.defineProperty(exports,"validateConsentOptions",{enumerable:true,get:function(){return chunkHO5M7M4M_js.b}});Object.defineProperty(exports,"formatDSRRequest",{enumerable:true,get:function(){return chunkJ5WCPZLW_js.b}});Object.defineProperty(exports,"validateDsrSubmission",{enumerable:true,get:function(){return chunkJ5WCPZLW_js.a}});Object.defineProperty(exports,"assessDPIARisk",{enumerable:true,get:function(){return chunkP42Z5CFE_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}});//# sourceMappingURL=core.js.map
2
2
  //# sourceMappingURL=core.js.map
package/dist/core.mjs CHANGED
@@ -1,2 +1,2 @@
1
- export{a as NDPRProvider,b as useNDPRConfig,c as useNDPRLocale}from'./chunk-74Z23WUA.mjs';export{c as hausaLocale,b as igboLocale,d as pidginLocale,a as yorubaLocale}from'./chunk-R5FW5XUQ.mjs';export{a as defaultLocale,b as mergeLocale}from'./chunk-XHROISIF.mjs';export{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-LSCMXAPY.mjs';export{a as getComplianceScore}from'./chunk-ABDB7LEV.mjs';export{c as assemblePolicy}from'./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{c as appendAuditEntry,a as createAuditEntry,b as getAuditLog}from'./chunk-P3PULLYP.mjs';export{a as validateConsent,b as validateConsentOptions}from'./chunk-U62QYKVG.mjs';export{a as formatDSRRequest}from'./chunk-7D2OIPHH.mjs';export{a as assessDPIARisk}from'./chunk-6TA2MVTU.mjs';export{a as calculateBreachSeverity}from'./chunk-DJGS7SSN.mjs';export{a as sanitizeInput}from'./chunk-GKKAK6ES.mjs';import'./chunk-WWT2ZSNU.mjs';//# sourceMappingURL=core.mjs.map
1
+ export{a as NDPRProvider,b as useNDPRConfig,c as useNDPRLocale}from'./chunk-74Z23WUA.mjs';export{c as hausaLocale,b as igboLocale,d as pidginLocale,a as yorubaLocale}from'./chunk-R5FW5XUQ.mjs';export{a as defaultLocale,b as mergeLocale}from'./chunk-XHROISIF.mjs';export{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{a as getComplianceScore}from'./chunk-ABDB7LEV.mjs';export{c as assemblePolicy}from'./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{c as appendAuditEntry,a as createAuditEntry,b as getAuditLog}from'./chunk-P3PULLYP.mjs';export{a as validateConsent,b as validateConsentOptions}from'./chunk-U62QYKVG.mjs';export{b as formatDSRRequest,a as validateDsrSubmission}from'./chunk-B4Z5MBUC.mjs';export{a as assessDPIARisk}from'./chunk-6TA2MVTU.mjs';export{a as calculateBreachSeverity}from'./chunk-DJGS7SSN.mjs';export{a as sanitizeInput}from'./chunk-GKKAK6ES.mjs';import'./chunk-WWT2ZSNU.mjs';//# sourceMappingURL=core.mjs.map
2
2
  //# sourceMappingURL=core.mjs.map
@@ -1,99 +1,470 @@
1
- import { b as CrossBorderTransferManagerProps } from './CrossBorderTransferManager-DkZhv9vD.mjs';
2
- export { C as CrossBorderTransferManager } from './CrossBorderTransferManager-DkZhv9vD.mjs';
3
- import { U as UseCrossBorderTransferReturn } from './useCrossBorderTransfer-DixjLjN1.mjs';
4
- export { u as useCrossBorderTransfer } from './useCrossBorderTransfer-DixjLjN1.mjs';
5
- export { T as TransferRiskResult, a as TransferValidationResult, b as assessTransferRisk, g as getTransferMechanismDescription, i as isNDPCApprovalRequired, v as validateTransfer } from './cross-border-BBi9rZyO.mjs';
6
- import { a as CrossBorderTransfer } from './cross-border-UyT00llA.mjs';
7
- export { A as AdequacyStatus, C as CrossBorderSummary, T as TransferImpactAssessment, b as TransferMechanism } from './cross-border-UyT00llA.mjs';
8
- import * as React from 'react';
9
- import React__default from 'react';
10
- import { S as StorageAdapter } from './types-DK2CoKOC.mjs';
11
-
12
- /**
13
- * Country adequacy determinations for cross-border data transfers
14
- * under the Nigeria Data Protection Act (NDPA).
15
- *
16
- * This module provides a reference database of adequacy statuses for countries
17
- * that Nigerian businesses commonly transfer personal data to, along with
18
- * helper functions for querying adequacy and determining whether NDPC approval
19
- * is required for a given destination.
20
- */
21
- /**
22
- * Adequacy status of a country for cross-border data transfers.
23
- */
24
- type CountryAdequacyStatus = 'adequate' | 'partially_adequate' | 'not_adequate' | 'pending';
25
- /**
26
- * Represents a country's adequacy determination for cross-border data transfers.
27
- */
28
- interface CountryAdequacy {
29
- /** Full country name */
30
- country: string;
31
- /** ISO 3166-1 alpha-2 country code */
32
- isoCode: string;
33
- /** Adequacy status for data protection purposes */
34
- adequacyStatus: CountryAdequacyStatus;
35
- /** Authority or framework that recognized the adequacy (e.g. 'NDPC', 'EU') */
36
- recognizedBy: string;
37
- /** Additional notes about the adequacy determination */
38
- notes: string;
39
- /** Date the adequacy determination was last reviewed */
40
- lastUpdated: string;
41
- }
42
- /**
43
- * Database of country adequacy determinations for cross-border data transfers.
44
- *
45
- * This map is keyed by ISO 3166-1 alpha-2 country code (uppercase).
46
- * Statuses reflect general assessments based on each country's data protection
47
- * framework and are provided for guidance purposes. Organizations should verify
48
- * current NDPC guidance before relying on these determinations.
49
- */
50
- declare const COUNTRY_ADEQUACY_MAP: Record<string, CountryAdequacy>;
51
- /**
52
- * Look up the adequacy determination for a country by name or ISO code.
53
- *
54
- * The search is case-insensitive and matches against both the `country` field
55
- * and the `isoCode` field.
56
- *
57
- * @param countryOrCode A country name (e.g. "Germany") or ISO 3166-1 alpha-2 code (e.g. "DE")
58
- * @returns The matching CountryAdequacy entry, or undefined if not found
59
- */
60
- declare function getCountryAdequacy(countryOrCode: string): CountryAdequacy | undefined;
61
- /**
62
- * Returns all countries that are considered adequate for cross-border data transfers.
63
- *
64
- * @returns Array of CountryAdequacy entries with adequacyStatus === 'adequate'
65
- */
66
- declare function getAdequateCountries(): CountryAdequacy[];
67
- /**
68
- * Determines whether a transfer to the specified country requires NDPC approval.
69
- *
70
- * Countries that are not in the adequacy database or that have a status other
71
- * than 'adequate' require NDPC approval (or an alternative transfer mechanism
72
- * such as standard contractual clauses or binding corporate rules).
73
- *
74
- * @param countryOrCode A country name or ISO 3166-1 alpha-2 code
75
- * @returns true if NDPC approval is likely required for transfers to this country
76
- */
77
- declare function requiresNDPCApproval(countryOrCode: string): boolean;
78
-
79
- interface CrossBorderProviderProps {
80
- adapter?: StorageAdapter<CrossBorderTransfer[]>;
81
- storageKey?: string;
82
- useLocalStorage?: boolean;
83
- initialTransfers?: CrossBorderTransfer[];
84
- onAdd?: (transfer: CrossBorderTransfer) => void;
85
- onUpdate?: (transfer: CrossBorderTransfer) => void;
86
- onRemove?: (id: string) => void;
87
- children: React__default.ReactNode;
88
- }
89
- declare const CrossBorderProvider: React__default.FC<CrossBorderProviderProps>;
90
-
91
- declare const CrossBorder: {
92
- Provider: React.FC<CrossBorderProviderProps>;
93
- Manager: React.FC<CrossBorderTransferManagerProps>;
94
- };
95
-
96
- type CrossBorderContextValue = UseCrossBorderTransferReturn;
97
- declare function useCrossBorderCompound(): CrossBorderContextValue;
98
-
99
- export { COUNTRY_ADEQUACY_MAP, type CountryAdequacy, type CountryAdequacyStatus, CrossBorder, CrossBorderProvider, type CrossBorderProviderProps, CrossBorderTransfer, StorageAdapter, UseCrossBorderTransferReturn, getAdequateCountries, getCountryAdequacy, requiresNDPCApproval, useCrossBorderCompound };
1
+ import * as React_2 from 'react';
2
+ import React__default from 'react';
3
+
4
+ /**
5
+ * Adequacy status of a destination country
6
+ */
7
+ export declare type AdequacyStatus = 'adequate' | 'inadequate' | 'pending_review' | 'unknown';
8
+
9
+ /**
10
+ * Performs a basic risk assessment of a cross-border transfer based on adequacy status,
11
+ * transfer mechanism, and data sensitivity.
12
+ *
13
+ * @param transfer The cross-border transfer to assess
14
+ * @returns Risk assessment result with score, factors, and recommendations
15
+ */
16
+ export declare function assessTransferRisk(transfer: CrossBorderTransfer): TransferRiskResult;
17
+
18
+ /**
19
+ * Database of country adequacy determinations for cross-border data transfers.
20
+ *
21
+ * This map is keyed by ISO 3166-1 alpha-2 country code (uppercase).
22
+ * Statuses reflect general assessments based on each country's data protection
23
+ * framework and are provided for guidance purposes. Organizations should verify
24
+ * current NDPC guidance before relying on these determinations.
25
+ */
26
+ export declare const COUNTRY_ADEQUACY_MAP: Record<string, CountryAdequacy>;
27
+
28
+ /**
29
+ * Represents a country's adequacy determination for cross-border data transfers.
30
+ */
31
+ export declare interface CountryAdequacy {
32
+ /** Full country name */
33
+ country: string;
34
+ /** ISO 3166-1 alpha-2 country code */
35
+ isoCode: string;
36
+ /** Adequacy status for data protection purposes */
37
+ adequacyStatus: CountryAdequacyStatus;
38
+ /** Authority or framework that recognized the adequacy (e.g. 'NDPC', 'EU') */
39
+ recognizedBy: string;
40
+ /** Additional notes about the adequacy determination */
41
+ notes: string;
42
+ /** Date the adequacy determination was last reviewed */
43
+ lastUpdated: string;
44
+ }
45
+
46
+ /**
47
+ * Country adequacy determinations for cross-border data transfers
48
+ * under the Nigeria Data Protection Act (NDPA).
49
+ *
50
+ * This module provides a reference database of adequacy statuses for countries
51
+ * that Nigerian businesses commonly transfer personal data to, along with
52
+ * helper functions for querying adequacy and determining whether NDPC approval
53
+ * is required for a given destination.
54
+ */
55
+ /**
56
+ * Adequacy status of a country for cross-border data transfers.
57
+ */
58
+ export declare type CountryAdequacyStatus = 'adequate' | 'partially_adequate' | 'not_adequate' | 'pending';
59
+
60
+ export declare const CrossBorder: {
61
+ Provider: React_2.FC<CrossBorderProviderProps>;
62
+ Manager: React_2.FC<CrossBorderTransferManagerProps>;
63
+ };
64
+
65
+ declare type CrossBorderContextValue = UseCrossBorderTransferReturn;
66
+
67
+ export declare const CrossBorderProvider: React__default.FC<CrossBorderProviderProps>;
68
+
69
+ export declare interface CrossBorderProviderProps {
70
+ adapter?: StorageAdapter<CrossBorderTransfer[]>;
71
+ storageKey?: string;
72
+ useLocalStorage?: boolean;
73
+ initialTransfers?: CrossBorderTransfer[];
74
+ onAdd?: (transfer: CrossBorderTransfer) => void;
75
+ onUpdate?: (transfer: CrossBorderTransfer) => void;
76
+ onRemove?: (id: string) => void;
77
+ children: React__default.ReactNode;
78
+ }
79
+
80
+ /**
81
+ * Summary of cross-border transfer compliance
82
+ */
83
+ export declare interface CrossBorderSummary {
84
+ /** Total number of active transfers */
85
+ totalActiveTransfers: number;
86
+ /** Breakdown by transfer mechanism */
87
+ byMechanism: Record<TransferMechanism, number>;
88
+ /** Breakdown by adequacy status */
89
+ byAdequacy: Record<AdequacyStatus, number>;
90
+ /** Transfers pending NDPC approval */
91
+ pendingApproval: CrossBorderTransfer[];
92
+ /** Transfers due for review */
93
+ dueForReview: CrossBorderTransfer[];
94
+ /** Transfers missing TIA */
95
+ missingTIA: CrossBorderTransfer[];
96
+ /** High-risk transfers */
97
+ highRiskTransfers: CrossBorderTransfer[];
98
+ /** Last updated timestamp */
99
+ lastUpdated: number;
100
+ }
101
+
102
+ /**
103
+ * Represents a cross-border data transfer record
104
+ */
105
+ export declare interface CrossBorderTransfer {
106
+ /** Unique identifier */
107
+ id: string;
108
+ /** Destination country or territory */
109
+ destinationCountry: string;
110
+ /** ISO country code */
111
+ destinationCountryCode?: string;
112
+ /** Adequacy status of the destination */
113
+ adequacyStatus: AdequacyStatus;
114
+ /** The transfer mechanism being relied upon */
115
+ transferMechanism: TransferMechanism;
116
+ /** Categories of personal data being transferred */
117
+ dataCategories: string[];
118
+ /** Whether sensitive personal data is included */
119
+ includesSensitiveData: boolean;
120
+ /** Estimated number of data subjects whose data is transferred */
121
+ estimatedDataSubjects?: number;
122
+ /** Name of the recipient organization */
123
+ recipientOrganization: string;
124
+ /** Contact details of the recipient */
125
+ recipientContact: {
126
+ name: string;
127
+ email: string;
128
+ phone?: string;
129
+ address?: string;
130
+ };
131
+ /** Purpose of the data transfer */
132
+ purpose: string;
133
+ /** Safeguards in place to protect the data */
134
+ safeguards: string[];
135
+ /** Risk assessment summary */
136
+ riskAssessment: string;
137
+ /** Risk level of the transfer */
138
+ riskLevel: 'low' | 'medium' | 'high';
139
+ /** NDPC approval details (required for some transfer mechanisms) */
140
+ ndpcApproval?: {
141
+ required: boolean;
142
+ applied: boolean;
143
+ approved?: boolean;
144
+ referenceNumber?: string;
145
+ appliedAt?: number;
146
+ approvedAt?: number;
147
+ };
148
+ /** Whether a Transfer Impact Assessment has been conducted */
149
+ tiaCompleted: boolean;
150
+ /** Reference to the TIA document */
151
+ tiaReference?: string;
152
+ /** Frequency of the transfer */
153
+ frequency: 'one_time' | 'periodic' | 'continuous';
154
+ /** Start date of the transfer */
155
+ startDate: number;
156
+ /** End date of the transfer (if applicable) */
157
+ endDate?: number;
158
+ /** Status of the transfer */
159
+ status: 'active' | 'suspended' | 'terminated' | 'pending_approval';
160
+ /** Timestamp when the record was created */
161
+ createdAt: number;
162
+ /** Timestamp when the record was last updated */
163
+ updatedAt: number;
164
+ /** Next review date */
165
+ reviewDate?: number;
166
+ }
167
+
168
+ /**
169
+ * Cross-border data transfer management component. Implements NDPA Sections 41-45 requirements
170
+ * for managing international data transfers, including adequacy decisions, standard contractual
171
+ * clauses, and NDPC authorization.
172
+ */
173
+ export declare const CrossBorderTransferManager: React__default.FC<CrossBorderTransferManagerProps>;
174
+
175
+ declare interface CrossBorderTransferManagerClassNames {
176
+ root?: string;
177
+ header?: string;
178
+ title?: string;
179
+ summary?: string;
180
+ summaryCard?: string;
181
+ transferList?: string;
182
+ transferItem?: string;
183
+ form?: string;
184
+ input?: string;
185
+ select?: string;
186
+ submitButton?: string;
187
+ /** Alias for submitButton */
188
+ primaryButton?: string;
189
+ riskBadge?: string;
190
+ statusBadge?: string;
191
+ detailPanel?: string;
192
+ approvalStatus?: string;
193
+ }
194
+
195
+ declare interface CrossBorderTransferManagerProps {
196
+ /**
197
+ * List of cross-border transfers to display
198
+ */
199
+ transfers: CrossBorderTransfer[];
200
+ /**
201
+ * Callback when a new transfer is added
202
+ */
203
+ onAddTransfer?: (transfer: Omit<CrossBorderTransfer, 'id' | 'createdAt' | 'updatedAt'>) => void;
204
+ /**
205
+ * Callback when a transfer is updated
206
+ */
207
+ onUpdateTransfer?: (id: string, updates: Partial<CrossBorderTransfer>) => void;
208
+ /**
209
+ * Callback when a transfer is removed
210
+ */
211
+ onRemoveTransfer?: (id: string) => void;
212
+ /**
213
+ * Compliance summary data
214
+ */
215
+ summary?: CrossBorderSummary;
216
+ /**
217
+ * Title displayed on the manager
218
+ * @default "Cross-Border Data Transfer Manager"
219
+ */
220
+ title?: string;
221
+ /**
222
+ * Description text displayed on the manager
223
+ * @default "Manage and document cross-border personal data transfers in compliance with NDPA 2023 Part VI (Sections 41-45)."
224
+ */
225
+ description?: string;
226
+ /**
227
+ * Custom CSS class for the manager container
228
+ */
229
+ className?: string;
230
+ /**
231
+ * Custom CSS class for buttons
232
+ */
233
+ buttonClassName?: string;
234
+ /**
235
+ * Whether to show the compliance summary section
236
+ * @default true
237
+ */
238
+ showSummary?: boolean;
239
+ /**
240
+ * Whether to show the TIA section in the form
241
+ * @default true
242
+ */
243
+ showTIA?: boolean;
244
+ /**
245
+ * Override class names for individual sections of the component.
246
+ * Takes priority over className / buttonClassName.
247
+ */
248
+ classNames?: CrossBorderTransferManagerClassNames;
249
+ /**
250
+ * When true, all default styling is removed so consumers
251
+ * can style from scratch using classNames.
252
+ */
253
+ unstyled?: boolean;
254
+ }
255
+
256
+ /**
257
+ * Returns all countries that are considered adequate for cross-border data transfers.
258
+ *
259
+ * @returns Array of CountryAdequacy entries with adequacyStatus === 'adequate'
260
+ */
261
+ export declare function getAdequateCountries(): CountryAdequacy[];
262
+
263
+ /**
264
+ * Look up the adequacy determination for a country by name or ISO code.
265
+ *
266
+ * The search is case-insensitive and matches against both the `country` field
267
+ * and the `isoCode` field.
268
+ *
269
+ * @param countryOrCode A country name (e.g. "Germany") or ISO 3166-1 alpha-2 code (e.g. "DE")
270
+ * @returns The matching CountryAdequacy entry, or undefined if not found
271
+ */
272
+ export declare function getCountryAdequacy(countryOrCode: string): CountryAdequacy | undefined;
273
+
274
+ /**
275
+ * Returns a human-readable description of a transfer mechanism with its NDPA section reference.
276
+ *
277
+ * @param mechanism The transfer mechanism
278
+ * @returns Description including the relevant NDPA section
279
+ */
280
+ export declare function getTransferMechanismDescription(mechanism: TransferMechanism): string;
281
+
282
+ /**
283
+ * Returns whether NDPC approval is required for a given transfer mechanism.
284
+ * Approval is required for standard contractual clauses (Section 42),
285
+ * binding corporate rules (Section 43), and specific NDPC authorization (Section 44).
286
+ *
287
+ * @param mechanism The transfer mechanism
288
+ * @returns Whether NDPC approval is required
289
+ */
290
+ export declare function isNDPCApprovalRequired(mechanism: TransferMechanism): boolean;
291
+
292
+ /**
293
+ * Determines whether a transfer to the specified country requires NDPC approval.
294
+ *
295
+ * Countries that are not in the adequacy database or that have a status other
296
+ * than 'adequate' require NDPC approval (or an alternative transfer mechanism
297
+ * such as standard contractual clauses or binding corporate rules).
298
+ *
299
+ * @param countryOrCode A country name or ISO 3166-1 alpha-2 code
300
+ * @returns true if NDPC approval is likely required for transfers to this country
301
+ */
302
+ export declare function requiresNDPCApproval(countryOrCode: string): boolean;
303
+
304
+ export declare interface StorageAdapter<T = unknown> {
305
+ /** Load persisted data. Called once on hook mount. */
306
+ load(): T | null | Promise<T | null>;
307
+ /** Persist data. Called on every state change. */
308
+ save(data: T): void | Promise<void>;
309
+ /** Clear persisted data. Called on reset. */
310
+ remove(): void | Promise<void>;
311
+ }
312
+
313
+ /**
314
+ * Transfer Impact Assessment (TIA) for cross-border transfers
315
+ */
316
+ export declare interface TransferImpactAssessment {
317
+ /** Unique identifier */
318
+ id: string;
319
+ /** ID of the associated cross-border transfer */
320
+ transferId: string;
321
+ /** Date the assessment was conducted */
322
+ assessmentDate: number;
323
+ /** Person who conducted the assessment */
324
+ assessor: {
325
+ name: string;
326
+ role: string;
327
+ email: string;
328
+ };
329
+ /** Analysis of the destination country's legal framework */
330
+ destinationLegalFramework: string;
331
+ /** Whether the destination has data protection legislation */
332
+ hasDataProtectionLaw: boolean;
333
+ /** Whether the destination has an independent supervisory authority */
334
+ hasIndependentAuthority: boolean;
335
+ /** Risk of government access to the data */
336
+ governmentAccessRisk: 'low' | 'medium' | 'high';
337
+ /** Overall assessment of data protection level */
338
+ dataProtectionLevel: 'adequate' | 'partially_adequate' | 'inadequate';
339
+ /** Supplementary measures to address gaps */
340
+ supplementaryMeasures: string[];
341
+ /** Technical measures (encryption, pseudonymization, etc.) */
342
+ technicalMeasures: string[];
343
+ /** Contractual measures */
344
+ contractualMeasures: string[];
345
+ /** Organizational measures */
346
+ organizationalMeasures: string[];
347
+ /** Overall conclusion */
348
+ conclusion: string;
349
+ /** Whether the transfer can proceed based on the assessment */
350
+ approved: boolean;
351
+ /** Conditions for the transfer (if approved with conditions) */
352
+ conditions?: string[];
353
+ }
354
+
355
+ /**
356
+ * Cross-Border Data Transfer types aligned with NDPA 2023 Part VI (Sections 41-45)
357
+ * Personal data may only be transferred outside Nigeria under specific conditions
358
+ */
359
+ /**
360
+ * Transfer mechanisms recognized under the NDPA
361
+ */
362
+ export declare type TransferMechanism = 'adequacy_decision' | 'standard_clauses' | 'binding_corporate_rules' | 'ndpc_authorization' | 'explicit_consent' | 'contract_performance' | 'public_interest' | 'legal_claims' | 'vital_interests';
363
+
364
+ /**
365
+ * Risk assessment result for a cross-border transfer
366
+ */
367
+ export declare interface TransferRiskResult {
368
+ riskLevel: 'low' | 'medium' | 'high';
369
+ riskScore: number;
370
+ factors: string[];
371
+ recommendations: string[];
372
+ }
373
+
374
+ /**
375
+ * Validation result for a cross-border transfer
376
+ */
377
+ export declare interface TransferValidationResult {
378
+ isValid: boolean;
379
+ errors: string[];
380
+ warnings: string[];
381
+ }
382
+
383
+ export declare function useCrossBorderCompound(): CrossBorderContextValue;
384
+
385
+ /**
386
+ * Hook for managing cross-border data transfers in compliance with NDPA Part VI (Sections 41-45)
387
+ */
388
+ export declare function useCrossBorderTransfer({ initialTransfers, adapter, storageKey, useLocalStorage, onAdd, onUpdate, onRemove, }?: UseCrossBorderTransferOptions): UseCrossBorderTransferReturn;
389
+
390
+ declare interface UseCrossBorderTransferOptions {
391
+ /**
392
+ * Initial transfers to load
393
+ */
394
+ initialTransfers?: CrossBorderTransfer[];
395
+ /**
396
+ * Pluggable storage adapter. When provided, takes precedence over storageKey/useLocalStorage.
397
+ */
398
+ adapter?: StorageAdapter<CrossBorderTransfer[]>;
399
+ /**
400
+ * Storage key for transfer data
401
+ * @default "ndpr_cross_border_transfers"
402
+ * @deprecated Use adapter instead
403
+ */
404
+ storageKey?: string;
405
+ /**
406
+ * Whether to use local storage to persist transfers
407
+ * @default true
408
+ * @deprecated Use adapter instead
409
+ */
410
+ useLocalStorage?: boolean;
411
+ /**
412
+ * Callback function called when a transfer is added
413
+ */
414
+ onAdd?: (transfer: CrossBorderTransfer) => void;
415
+ /**
416
+ * Callback function called when a transfer is updated
417
+ */
418
+ onUpdate?: (transfer: CrossBorderTransfer) => void;
419
+ /**
420
+ * Callback function called when a transfer is removed
421
+ */
422
+ onRemove?: (id: string) => void;
423
+ }
424
+
425
+ export declare interface UseCrossBorderTransferReturn {
426
+ /**
427
+ * All cross-border transfers
428
+ */
429
+ transfers: CrossBorderTransfer[];
430
+ /**
431
+ * Add a new cross-border transfer
432
+ */
433
+ addTransfer: (transfer: Omit<CrossBorderTransfer, 'id' | 'createdAt' | 'updatedAt'>) => CrossBorderTransfer;
434
+ /**
435
+ * Update an existing cross-border transfer
436
+ */
437
+ updateTransfer: (id: string, updates: Partial<CrossBorderTransfer>) => CrossBorderTransfer | null;
438
+ /**
439
+ * Remove a cross-border transfer
440
+ */
441
+ removeTransfer: (id: string) => void;
442
+ /**
443
+ * Get a cross-border transfer by ID
444
+ */
445
+ getTransfer: (id: string) => CrossBorderTransfer | null;
446
+ /**
447
+ * Get a compliance summary of all cross-border transfers
448
+ */
449
+ getSummary: () => CrossBorderSummary;
450
+ /**
451
+ * Validate a cross-border transfer
452
+ */
453
+ validateTransfer: (transfer: CrossBorderTransfer) => TransferValidationResult;
454
+ /**
455
+ * Whether the adapter is still loading data (relevant for async adapters)
456
+ */
457
+ isLoading: boolean;
458
+ }
459
+
460
+ /**
461
+ * Validates a cross-border transfer record for completeness and compliance.
462
+ * Checks required fields, verifies that NDPC approval is documented when required,
463
+ * and ensures safeguards are in place.
464
+ *
465
+ * @param transfer The cross-border transfer to validate
466
+ * @returns Validation result with errors and warnings
467
+ */
468
+ export declare function validateTransfer(transfer: CrossBorderTransfer): TransferValidationResult;
469
+
470
+ export { }