@tantainnovative/ndpr-toolkit 2.4.1 → 3.2.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 (192) hide show
  1. package/README.md +226 -246
  2. package/dist/BreachReportForm-DpRrBoxU.d.ts +158 -0
  3. package/dist/BreachReportForm-yJ2Zl6gz.d.mts +158 -0
  4. package/dist/ConsentBanner-CDRT0o2k.d.mts +146 -0
  5. package/dist/ConsentBanner-Vxyt8SCX.d.ts +146 -0
  6. package/dist/{cross-border-entry-BrWVPly6.d.ts → CrossBorderTransferManager-D5Lc0e46.d.ts} +4 -5
  7. package/dist/{cross-border-entry-cCTvpwnT.d.mts → CrossBorderTransferManager-DkZhv9vD.d.mts} +4 -5
  8. package/dist/DPIAQuestionnaire-BkejviPj.d.mts +123 -0
  9. package/dist/DPIAQuestionnaire-DdSqXG3x.d.ts +123 -0
  10. package/dist/DSRRequestForm-BY8PogCU.d.mts +146 -0
  11. package/dist/DSRRequestForm-CHUg9cZh.d.ts +146 -0
  12. package/dist/DSRTracker-C6u_jAaK.d.mts +163 -0
  13. package/dist/DSRTracker-Dr_aT0pg.d.ts +163 -0
  14. package/dist/{lawful-basis-entry-CxZrofwG.d.mts → LawfulBasisTracker-CBqOxX1D.d.mts} +3 -5
  15. package/dist/{lawful-basis-entry-15qjKcNO.d.ts → LawfulBasisTracker-Cg30NbDA.d.ts} +3 -5
  16. package/dist/NDPRDashboard-CLJpEg0X.d.mts +44 -0
  17. package/dist/NDPRDashboard-DDWNd2Ah.d.ts +44 -0
  18. package/dist/{policy-E0fXZkda.d.mts → PolicyExporter-Bgi6nz82.d.mts} +5 -7
  19. package/dist/{policy-D2_jh5-T.d.ts → PolicyExporter-BnvuFncj.d.ts} +5 -7
  20. package/dist/{ropa-entry-B0D7X1GV.d.ts → ROPAManager-BS4eB8Hw.d.mts} +4 -5
  21. package/dist/{ropa-entry-DiOThOc2.d.mts → ROPAManager-qxTrXLkD.d.ts} +4 -5
  22. package/dist/RegulatoryReportGenerator-BUYgzTTT.d.ts +282 -0
  23. package/dist/RegulatoryReportGenerator-DwcHcEFp.d.mts +282 -0
  24. package/dist/StepIndicator-D-nwRTyo.d.mts +171 -0
  25. package/dist/StepIndicator-D9ZATz_O.d.ts +171 -0
  26. package/dist/adapters.d.mts +25 -0
  27. package/dist/adapters.d.ts +25 -0
  28. package/dist/adapters.js +2 -0
  29. package/dist/adapters.mjs +2 -0
  30. package/dist/breach.d.mts +36 -431
  31. package/dist/breach.d.ts +36 -431
  32. package/dist/breach.js +1 -1
  33. package/dist/breach.mjs +1 -1
  34. package/dist/chunk-27NYSWUG.mjs +2 -0
  35. package/dist/chunk-2ORDHJRD.js +2 -0
  36. package/dist/chunk-2W7ARAW2.js +2 -0
  37. package/dist/chunk-3F34NACG.js +2 -0
  38. package/dist/chunk-3UWT64FI.mjs +2 -0
  39. package/dist/chunk-3V23O4ZJ.js +2 -0
  40. package/dist/chunk-3XAUN5IM.mjs +3 -0
  41. package/dist/chunk-44W4H2EY.js +2 -0
  42. package/dist/chunk-5VMHKNJY.js +2 -0
  43. package/dist/chunk-6D3ZUGBB.mjs +2 -0
  44. package/dist/chunk-6E54NSAO.mjs +2 -0
  45. package/dist/chunk-7F5F5YWI.mjs +2 -0
  46. package/dist/chunk-DQLDX5X6.js +316 -0
  47. package/dist/chunk-FR7ZYZXB.js +2 -0
  48. package/dist/chunk-FY5G6DGZ.js +7 -0
  49. package/dist/chunk-G26I6MP5.mjs +2 -0
  50. package/dist/chunk-GCQRHMTQ.mjs +144 -0
  51. package/dist/chunk-GPJVTGHR.mjs +2 -0
  52. package/dist/chunk-GVANK6PL.js +3 -0
  53. package/dist/chunk-HNZK7LY3.mjs +2 -0
  54. package/dist/chunk-IKEPXHCZ.js +2 -0
  55. package/dist/chunk-IQQW52EF.js +2 -0
  56. package/dist/chunk-ISSGO2YT.mjs +72 -0
  57. package/dist/chunk-JZKH5RMC.js +3 -0
  58. package/dist/chunk-KHRBU5K7.js +2 -0
  59. package/dist/chunk-LFNA6WYQ.mjs +2 -0
  60. package/dist/chunk-LU4PFST7.js +144 -0
  61. package/dist/chunk-NPI5T6NH.mjs +7 -0
  62. package/dist/chunk-NPLXE43Q.mjs +2 -0
  63. package/dist/chunk-P7BSBCB3.js +2 -0
  64. package/dist/chunk-PEH5GIMN.js +2 -0
  65. package/dist/chunk-RSUDIFZV.mjs +2 -0
  66. package/dist/chunk-SBNAMPAP.mjs +2 -0
  67. package/dist/chunk-SVCRYM4I.mjs +2 -0
  68. package/dist/chunk-TKBZRULW.mjs +316 -0
  69. package/dist/chunk-TVW6KBVV.mjs +2 -0
  70. package/dist/chunk-U6VWHC46.js +72 -0
  71. package/dist/chunk-UK656RCG.js +2 -0
  72. package/dist/chunk-UNKXYVXY.js +2 -0
  73. package/dist/chunk-UOSEH6DC.js +2 -0
  74. package/dist/chunk-V37BM2LF.js +2 -0
  75. package/dist/chunk-V3MXWGXU.mjs +2 -0
  76. package/dist/chunk-VDZKGCAF.js +2 -0
  77. package/dist/chunk-WLSW4Z4W.mjs +2 -0
  78. package/dist/chunk-XSK4BSZJ.mjs +2 -0
  79. package/dist/chunk-YJCGEOLO.mjs +2 -0
  80. package/dist/chunk-ZCZ5RRZO.js +2 -0
  81. package/dist/chunk-ZQSX5ZHB.mjs +3 -0
  82. package/dist/compliance-score-racQe_E_.d.mts +115 -0
  83. package/dist/compliance-score-racQe_E_.d.ts +115 -0
  84. package/dist/consent.d.mts +67 -295
  85. package/dist/consent.d.ts +67 -295
  86. package/dist/consent.js +1 -1
  87. package/dist/consent.mjs +1 -1
  88. package/dist/core.d.mts +14 -48
  89. package/dist/core.d.ts +14 -48
  90. package/dist/core.js +1 -1
  91. package/dist/core.mjs +1 -1
  92. package/dist/cross-border-BBi9rZyO.d.mts +54 -0
  93. package/dist/cross-border-Dy-U9Hu6.d.ts +54 -0
  94. package/dist/{cross-border-BMcqLvjC.d.mts → cross-border-UyT00llA.d.mts} +1 -52
  95. package/dist/{cross-border-BMcqLvjC.d.ts → cross-border-UyT00llA.d.ts} +1 -52
  96. package/dist/cross-border.d.mts +32 -4
  97. package/dist/cross-border.d.ts +32 -4
  98. package/dist/cross-border.js +1 -1
  99. package/dist/cross-border.mjs +1 -1
  100. package/dist/dpia.d.mts +28 -284
  101. package/dist/dpia.d.ts +28 -284
  102. package/dist/dpia.js +1 -1
  103. package/dist/dpia.mjs +1 -1
  104. package/dist/dsr.d.mts +29 -300
  105. package/dist/dsr.d.ts +29 -300
  106. package/dist/dsr.js +1 -1
  107. package/dist/dsr.mjs +1 -1
  108. package/dist/hooks.d.mts +23 -10
  109. package/dist/hooks.d.ts +23 -10
  110. package/dist/hooks.js +1 -1
  111. package/dist/hooks.mjs +1 -1
  112. package/dist/index.d.mts +28 -19
  113. package/dist/index.d.ts +28 -19
  114. package/dist/index.js +1 -1
  115. package/dist/index.mjs +1 -1
  116. package/dist/lawful-basis.d.mts +31 -4
  117. package/dist/lawful-basis.d.ts +31 -4
  118. package/dist/lawful-basis.js +1 -1
  119. package/dist/lawful-basis.mjs +1 -1
  120. package/dist/policy-engine-C-tShzZH.d.mts +154 -0
  121. package/dist/policy-engine-DSQpT55_.d.ts +154 -0
  122. package/dist/policy-sections-CfNVBLCh.d.mts +54 -0
  123. package/dist/policy-sections-DqH0iZRf.d.ts +54 -0
  124. package/dist/policy.d.mts +117 -4
  125. package/dist/policy.d.ts +117 -4
  126. package/dist/policy.js +1 -1
  127. package/dist/policy.mjs +1 -1
  128. package/dist/presets.d.mts +114 -0
  129. package/dist/presets.d.ts +114 -0
  130. package/dist/presets.js +2 -0
  131. package/dist/presets.mjs +2 -0
  132. package/dist/{ropa-Li6UlL5H.d.ts → ropa-BDTM06tr.d.ts} +1 -49
  133. package/dist/{ropa-DP7pPPql.d.mts → ropa-CFHuT7jE.d.mts} +1 -49
  134. package/dist/ropa-CyynscU6.d.ts +51 -0
  135. package/dist/ropa-NIgxd8uP.d.mts +51 -0
  136. package/dist/ropa.d.mts +30 -4
  137. package/dist/ropa.d.ts +30 -4
  138. package/dist/ropa.js +1 -1
  139. package/dist/ropa.mjs +1 -1
  140. package/dist/sanitize-9mOO_cJW.d.mts +147 -0
  141. package/dist/sanitize-9mOO_cJW.d.ts +147 -0
  142. package/dist/styling-B7CBzYG7.d.ts +165 -0
  143. package/dist/styling-uJLsBbER.d.mts +165 -0
  144. package/dist/types-DK2CoKOC.d.mts +10 -0
  145. package/dist/types-DK2CoKOC.d.ts +10 -0
  146. package/dist/unstyled.d.mts +4 -4
  147. package/dist/unstyled.d.ts +4 -4
  148. package/dist/useAdaptivePolicyWizard-B9Op2gYM.d.ts +52 -0
  149. package/dist/useAdaptivePolicyWizard-N4eUM4Tj.d.mts +52 -0
  150. package/dist/{useBreach-BBSoIcZO.d.mts → useBreach-CPr86Yan.d.mts} +18 -2
  151. package/dist/{useBreach-lFLbSyAN.d.ts → useBreach-DkVXvtJK.d.ts} +18 -2
  152. package/dist/{useConsent-D0pAfTlb.d.ts → useConsent-DCNkIJHR.d.mts} +12 -2
  153. package/dist/{useConsent-DOt2Njst.d.mts → useConsent-dOcELSfX.d.ts} +12 -2
  154. package/dist/{useCrossBorderTransfer-DmtACeqW.d.ts → useCrossBorderTransfer-BGNZt2lk.d.mts} +15 -3
  155. package/dist/{useCrossBorderTransfer-BZVFCXfr.d.mts → useCrossBorderTransfer-COqjgjsu.d.ts} +15 -3
  156. package/dist/{useDPIA-DBsg2yZx.d.ts → useDPIA-Dl16Te3r.d.ts} +13 -2
  157. package/dist/{useDPIA-Da7-Q_yW.d.mts → useDPIA-DzWye8JB.d.mts} +13 -2
  158. package/dist/{useDSR-YYZ6FYFs.d.mts → useDSR-C1LksCfP.d.mts} +13 -2
  159. package/dist/{useDSR-CYI7WCXr.d.ts → useDSR-DZel52O1.d.ts} +13 -2
  160. package/dist/{useDefaultPrivacyPolicy-CUluF_ic.d.mts → useDefaultPrivacyPolicy-BsYttRey.d.mts} +13 -2
  161. package/dist/{useDefaultPrivacyPolicy-B7kTHbZh.d.ts → useDefaultPrivacyPolicy-C-mG-A5S.d.ts} +13 -2
  162. package/dist/{useLawfulBasis-CpWuHtyh.d.mts → useLawfulBasis-CKJ-kw84.d.mts} +13 -2
  163. package/dist/{useLawfulBasis-CCWF9waR.d.ts → useLawfulBasis-DFTmu1ca.d.ts} +13 -2
  164. package/dist/{useROPA-BhJ3kvHp.d.ts → useROPA-BSSU1rfx.d.ts} +14 -2
  165. package/dist/{useROPA-DLFdjkxP.d.mts → useROPA-C2hjaBTz.d.mts} +14 -2
  166. package/package.json +24 -3
  167. package/dist/chunk-2XFAV267.mjs +0 -2
  168. package/dist/chunk-32UIWTGD.js +0 -72
  169. package/dist/chunk-3YCV2BA6.js +0 -2
  170. package/dist/chunk-4A354HL3.js +0 -2
  171. package/dist/chunk-5ZBO2UPH.js +0 -2
  172. package/dist/chunk-6GGGTRDZ.mjs +0 -2
  173. package/dist/chunk-BZTTQS4A.mjs +0 -7
  174. package/dist/chunk-EKVTLHBQ.js +0 -2
  175. package/dist/chunk-GMLNWS2N.mjs +0 -2
  176. package/dist/chunk-IBEKLDBY.mjs +0 -2
  177. package/dist/chunk-ILCNDOBU.js +0 -2
  178. package/dist/chunk-K3GMTMQ6.js +0 -2
  179. package/dist/chunk-L52PDW6O.mjs +0 -2
  180. package/dist/chunk-LI6WJ3LZ.js +0 -2
  181. package/dist/chunk-LXRXDTPI.js +0 -2
  182. package/dist/chunk-NW4A3JW6.mjs +0 -2
  183. package/dist/chunk-OITITR6K.mjs +0 -2
  184. package/dist/chunk-PDJGTQMY.mjs +0 -2
  185. package/dist/chunk-T44JQT2O.mjs +0 -2
  186. package/dist/chunk-TCJCE6WN.js +0 -2
  187. package/dist/chunk-VMJBW3EF.mjs +0 -2
  188. package/dist/chunk-WSHSHIIM.mjs +0 -2
  189. package/dist/chunk-WW3X3ELF.js +0 -2
  190. package/dist/chunk-XMYUYQH7.mjs +0 -72
  191. package/dist/chunk-ZNTMZ6NM.js +0 -7
  192. package/dist/chunk-ZU73VG3X.js +0 -2
@@ -149,52 +149,4 @@ interface ROPASummary {
149
149
  lastUpdated: number;
150
150
  }
151
151
 
152
- /**
153
- * Compliance gap found in a processing record
154
- */
155
- interface ROPAComplianceGap {
156
- recordId: string;
157
- recordName: string;
158
- gaps: string[];
159
- }
160
- /**
161
- * Validation result for a processing record
162
- */
163
- interface ROPAValidationResult {
164
- valid: boolean;
165
- errors: string[];
166
- }
167
- /**
168
- * Validates a processing record to ensure all required fields are present
169
- * and properly filled per NDPA 2023 requirements.
170
- *
171
- * @param record - The processing record to validate
172
- * @returns Validation result with any errors found
173
- */
174
- declare function validateProcessingRecord(record: ProcessingRecord): ROPAValidationResult;
175
- /**
176
- * Generates a summary of the Record of Processing Activities.
177
- * Provides statistics and identifies records that are due for review.
178
- *
179
- * @param ropa - The full Record of Processing Activities
180
- * @returns Summary statistics for the ROPA
181
- */
182
- declare function generateROPASummary(ropa: RecordOfProcessingActivities): ROPASummary;
183
- /**
184
- * Exports the Record of Processing Activities to a CSV string.
185
- * The CSV includes all key fields from each processing record.
186
- *
187
- * @param ropa - The full Record of Processing Activities
188
- * @returns CSV-formatted string
189
- */
190
- declare function exportROPAToCSV(ropa: RecordOfProcessingActivities): string;
191
- /**
192
- * Identifies compliance gaps in the Record of Processing Activities.
193
- * Finds records that are missing required information per NDPA 2023.
194
- *
195
- * @param ropa - The full Record of Processing Activities
196
- * @returns Array of compliance gaps grouped by record
197
- */
198
- declare function identifyComplianceGaps(ropa: RecordOfProcessingActivities): ROPAComplianceGap[];
199
-
200
- export { type ProcessingRecord as P, type ROPAComplianceGap as R, type ROPASummary as a, type ROPAValidationResult as b, type RecordOfProcessingActivities as c, exportROPAToCSV as e, generateROPASummary as g, identifyComplianceGaps as i, validateProcessingRecord as v };
152
+ export type { ProcessingRecord as P, ROPASummary as R, RecordOfProcessingActivities as a };
@@ -0,0 +1,51 @@
1
+ import { a as RecordOfProcessingActivities, R as ROPASummary, P as ProcessingRecord } from './ropa-BDTM06tr.js';
2
+
3
+ /**
4
+ * Compliance gap found in a processing record
5
+ */
6
+ interface ROPAComplianceGap {
7
+ recordId: string;
8
+ recordName: string;
9
+ gaps: string[];
10
+ }
11
+ /**
12
+ * Validation result for a processing record
13
+ */
14
+ interface ROPAValidationResult {
15
+ valid: boolean;
16
+ errors: string[];
17
+ }
18
+ /**
19
+ * Validates a processing record to ensure all required fields are present
20
+ * and properly filled per NDPA 2023 requirements.
21
+ *
22
+ * @param record - The processing record to validate
23
+ * @returns Validation result with any errors found
24
+ */
25
+ declare function validateProcessingRecord(record: ProcessingRecord): ROPAValidationResult;
26
+ /**
27
+ * Generates a summary of the Record of Processing Activities.
28
+ * Provides statistics and identifies records that are due for review.
29
+ *
30
+ * @param ropa - The full Record of Processing Activities
31
+ * @returns Summary statistics for the ROPA
32
+ */
33
+ declare function generateROPASummary(ropa: RecordOfProcessingActivities): ROPASummary;
34
+ /**
35
+ * Exports the Record of Processing Activities to a CSV string.
36
+ * The CSV includes all key fields from each processing record.
37
+ *
38
+ * @param ropa - The full Record of Processing Activities
39
+ * @returns CSV-formatted string
40
+ */
41
+ declare function exportROPAToCSV(ropa: RecordOfProcessingActivities): string;
42
+ /**
43
+ * Identifies compliance gaps in the Record of Processing Activities.
44
+ * Finds records that are missing required information per NDPA 2023.
45
+ *
46
+ * @param ropa - The full Record of Processing Activities
47
+ * @returns Array of compliance gaps grouped by record
48
+ */
49
+ declare function identifyComplianceGaps(ropa: RecordOfProcessingActivities): ROPAComplianceGap[];
50
+
51
+ export { type ROPAComplianceGap as R, type ROPAValidationResult as a, exportROPAToCSV as e, generateROPASummary as g, identifyComplianceGaps as i, validateProcessingRecord as v };
@@ -0,0 +1,51 @@
1
+ import { a as RecordOfProcessingActivities, R as ROPASummary, P as ProcessingRecord } from './ropa-CFHuT7jE.mjs';
2
+
3
+ /**
4
+ * Compliance gap found in a processing record
5
+ */
6
+ interface ROPAComplianceGap {
7
+ recordId: string;
8
+ recordName: string;
9
+ gaps: string[];
10
+ }
11
+ /**
12
+ * Validation result for a processing record
13
+ */
14
+ interface ROPAValidationResult {
15
+ valid: boolean;
16
+ errors: string[];
17
+ }
18
+ /**
19
+ * Validates a processing record to ensure all required fields are present
20
+ * and properly filled per NDPA 2023 requirements.
21
+ *
22
+ * @param record - The processing record to validate
23
+ * @returns Validation result with any errors found
24
+ */
25
+ declare function validateProcessingRecord(record: ProcessingRecord): ROPAValidationResult;
26
+ /**
27
+ * Generates a summary of the Record of Processing Activities.
28
+ * Provides statistics and identifies records that are due for review.
29
+ *
30
+ * @param ropa - The full Record of Processing Activities
31
+ * @returns Summary statistics for the ROPA
32
+ */
33
+ declare function generateROPASummary(ropa: RecordOfProcessingActivities): ROPASummary;
34
+ /**
35
+ * Exports the Record of Processing Activities to a CSV string.
36
+ * The CSV includes all key fields from each processing record.
37
+ *
38
+ * @param ropa - The full Record of Processing Activities
39
+ * @returns CSV-formatted string
40
+ */
41
+ declare function exportROPAToCSV(ropa: RecordOfProcessingActivities): string;
42
+ /**
43
+ * Identifies compliance gaps in the Record of Processing Activities.
44
+ * Finds records that are missing required information per NDPA 2023.
45
+ *
46
+ * @param ropa - The full Record of Processing Activities
47
+ * @returns Array of compliance gaps grouped by record
48
+ */
49
+ declare function identifyComplianceGaps(ropa: RecordOfProcessingActivities): ROPAComplianceGap[];
50
+
51
+ export { type ROPAComplianceGap as R, type ROPAValidationResult as a, exportROPAToCSV as e, generateROPASummary as g, identifyComplianceGaps as i, validateProcessingRecord as v };
package/dist/ropa.d.mts CHANGED
@@ -1,5 +1,31 @@
1
- export { R as ROPAManager } from './ropa-entry-DiOThOc2.mjs';
2
- export { U as UseROPAOptions, a as UseROPAReturn, u as useROPA } from './useROPA-DLFdjkxP.mjs';
3
- export { P as ProcessingRecord, R as ROPAComplianceGap, a as ROPASummary, b as ROPAValidationResult, c as RecordOfProcessingActivities, e as exportROPAToCSV, g as generateROPASummary, i as identifyComplianceGaps, v as validateProcessingRecord } from './ropa-DP7pPPql.mjs';
4
- import 'react';
1
+ import { b as ROPAManagerProps } from './ROPAManager-BS4eB8Hw.mjs';
2
+ export { R as ROPAManager } from './ROPAManager-BS4eB8Hw.mjs';
3
+ import { a as UseROPAReturn } from './useROPA-C2hjaBTz.mjs';
4
+ export { U as UseROPAOptions, u as useROPA } from './useROPA-C2hjaBTz.mjs';
5
+ export { R as ROPAComplianceGap, a as ROPAValidationResult, e as exportROPAToCSV, g as generateROPASummary, i as identifyComplianceGaps, v as validateProcessingRecord } from './ropa-NIgxd8uP.mjs';
6
+ import { a as RecordOfProcessingActivities, P as ProcessingRecord } from './ropa-CFHuT7jE.mjs';
7
+ export { R as ROPASummary } from './ropa-CFHuT7jE.mjs';
8
+ import * as React from 'react';
9
+ import React__default from 'react';
10
+ import { S as StorageAdapter } from './types-DK2CoKOC.mjs';
5
11
  import './lawful-basis-Cv1VmDLn.mjs';
12
+
13
+ interface ROPAProviderProps {
14
+ initialData: RecordOfProcessingActivities;
15
+ adapter?: StorageAdapter<RecordOfProcessingActivities>;
16
+ onRecordAdd?: (record: ProcessingRecord) => void;
17
+ onRecordUpdate?: (id: string, updates: Partial<ProcessingRecord>) => void;
18
+ onRecordArchive?: (id: string) => void;
19
+ children: React__default.ReactNode;
20
+ }
21
+ declare const ROPAProvider: React__default.FC<ROPAProviderProps>;
22
+
23
+ declare const ROPA: {
24
+ Provider: React.FC<ROPAProviderProps>;
25
+ Manager: React.FC<ROPAManagerProps>;
26
+ };
27
+
28
+ type ROPAContextValue = UseROPAReturn;
29
+ declare function useROPACompound(): ROPAContextValue;
30
+
31
+ export { ProcessingRecord, ROPA, ROPAProvider, type ROPAProviderProps, RecordOfProcessingActivities, StorageAdapter, UseROPAReturn, useROPACompound };
package/dist/ropa.d.ts CHANGED
@@ -1,5 +1,31 @@
1
- export { R as ROPAManager } from './ropa-entry-B0D7X1GV.js';
2
- export { U as UseROPAOptions, a as UseROPAReturn, u as useROPA } from './useROPA-BhJ3kvHp.js';
3
- export { P as ProcessingRecord, R as ROPAComplianceGap, a as ROPASummary, b as ROPAValidationResult, c as RecordOfProcessingActivities, e as exportROPAToCSV, g as generateROPASummary, i as identifyComplianceGaps, v as validateProcessingRecord } from './ropa-Li6UlL5H.js';
4
- import 'react';
1
+ import { b as ROPAManagerProps } from './ROPAManager-qxTrXLkD.js';
2
+ export { R as ROPAManager } from './ROPAManager-qxTrXLkD.js';
3
+ import { a as UseROPAReturn } from './useROPA-BSSU1rfx.js';
4
+ export { U as UseROPAOptions, u as useROPA } from './useROPA-BSSU1rfx.js';
5
+ export { R as ROPAComplianceGap, a as ROPAValidationResult, e as exportROPAToCSV, g as generateROPASummary, i as identifyComplianceGaps, v as validateProcessingRecord } from './ropa-CyynscU6.js';
6
+ import { a as RecordOfProcessingActivities, P as ProcessingRecord } from './ropa-BDTM06tr.js';
7
+ export { R as ROPASummary } from './ropa-BDTM06tr.js';
8
+ import * as React from 'react';
9
+ import React__default from 'react';
10
+ import { S as StorageAdapter } from './types-DK2CoKOC.js';
5
11
  import './lawful-basis-Cv1VmDLn.js';
12
+
13
+ interface ROPAProviderProps {
14
+ initialData: RecordOfProcessingActivities;
15
+ adapter?: StorageAdapter<RecordOfProcessingActivities>;
16
+ onRecordAdd?: (record: ProcessingRecord) => void;
17
+ onRecordUpdate?: (id: string, updates: Partial<ProcessingRecord>) => void;
18
+ onRecordArchive?: (id: string) => void;
19
+ children: React__default.ReactNode;
20
+ }
21
+ declare const ROPAProvider: React__default.FC<ROPAProviderProps>;
22
+
23
+ declare const ROPA: {
24
+ Provider: React.FC<ROPAProviderProps>;
25
+ Manager: React.FC<ROPAManagerProps>;
26
+ };
27
+
28
+ type ROPAContextValue = UseROPAReturn;
29
+ declare function useROPACompound(): ROPAContextValue;
30
+
31
+ export { ProcessingRecord, ROPA, ROPAProvider, type ROPAProviderProps, RecordOfProcessingActivities, StorageAdapter, UseROPAReturn, useROPACompound };
package/dist/ropa.js CHANGED
@@ -1,2 +1,2 @@
1
- 'use strict';var chunkUZ5EZOA7_js=require('./chunk-UZ5EZOA7.js'),chunk4A354HL3_js=require('./chunk-4A354HL3.js'),chunkSWF3YVE5_js=require('./chunk-SWF3YVE5.js');require('./chunk-E64TU6IU.js'),require('./chunk-MQFZHA2D.js');Object.defineProperty(exports,"ROPAManager",{enumerable:true,get:function(){return chunkUZ5EZOA7_js.a}});Object.defineProperty(exports,"useROPA",{enumerable:true,get:function(){return chunk4A354HL3_js.a}});Object.defineProperty(exports,"exportROPAToCSV",{enumerable:true,get:function(){return chunkSWF3YVE5_js.c}});Object.defineProperty(exports,"generateROPASummary",{enumerable:true,get:function(){return chunkSWF3YVE5_js.b}});Object.defineProperty(exports,"identifyComplianceGaps",{enumerable:true,get:function(){return chunkSWF3YVE5_js.d}});Object.defineProperty(exports,"validateProcessingRecord",{enumerable:true,get:function(){return chunkSWF3YVE5_js.a}});//# sourceMappingURL=ropa.js.map
1
+ 'use strict';var chunkUZ5EZOA7_js=require('./chunk-UZ5EZOA7.js'),chunkKHRBU5K7_js=require('./chunk-KHRBU5K7.js'),chunkSWF3YVE5_js=require('./chunk-SWF3YVE5.js');require('./chunk-E64TU6IU.js'),require('./chunk-MQFZHA2D.js');var react=require('react'),jsxRuntime=require('react/jsx-runtime');var p=react.createContext(null);function u(){let r=react.useContext(p);if(!r)throw new Error("ROPA compound components must be wrapped in <ROPA.Provider>. Example: <ROPA.Provider initialData={...}><ROPA.Manager /></ROPA.Provider>");return r}var e=({initialData:r,adapter:i,onRecordAdd:P,onRecordUpdate:n,onRecordArchive:a,children:s})=>{let R=chunkKHRBU5K7_js.a({initialData:r,adapter:i,onRecordAdd:P,onRecordUpdate:n,onRecordArchive:a});return jsxRuntime.jsx(p.Provider,{value:R,children:s})};var v={Provider:e,Manager:chunkUZ5EZOA7_js.a};Object.defineProperty(exports,"ROPAManager",{enumerable:true,get:function(){return chunkUZ5EZOA7_js.a}});Object.defineProperty(exports,"useROPA",{enumerable:true,get:function(){return chunkKHRBU5K7_js.a}});Object.defineProperty(exports,"exportROPAToCSV",{enumerable:true,get:function(){return chunkSWF3YVE5_js.c}});Object.defineProperty(exports,"generateROPASummary",{enumerable:true,get:function(){return chunkSWF3YVE5_js.b}});Object.defineProperty(exports,"identifyComplianceGaps",{enumerable:true,get:function(){return chunkSWF3YVE5_js.d}});Object.defineProperty(exports,"validateProcessingRecord",{enumerable:true,get:function(){return chunkSWF3YVE5_js.a}});exports.ROPA=v;exports.ROPAProvider=e;exports.useROPACompound=u;//# sourceMappingURL=ropa.js.map
2
2
  //# sourceMappingURL=ropa.js.map
package/dist/ropa.mjs CHANGED
@@ -1,2 +1,2 @@
1
- export{a as ROPAManager}from'./chunk-4VVARDN2.mjs';export{a as useROPA}from'./chunk-T44JQT2O.mjs';export{c as exportROPAToCSV,b as generateROPASummary,d as identifyComplianceGaps,a as validateProcessingRecord}from'./chunk-PYEX7DFR.mjs';import'./chunk-AYKLAEOU.mjs';import'./chunk-WWT2ZSNU.mjs';//# sourceMappingURL=ropa.mjs.map
1
+ import {a}from'./chunk-4VVARDN2.mjs';export{a as ROPAManager}from'./chunk-4VVARDN2.mjs';import {a as a$1}from'./chunk-WLSW4Z4W.mjs';export{a as useROPA}from'./chunk-WLSW4Z4W.mjs';export{c as exportROPAToCSV,b as generateROPASummary,d as identifyComplianceGaps,a as validateProcessingRecord}from'./chunk-PYEX7DFR.mjs';import'./chunk-AYKLAEOU.mjs';import'./chunk-WWT2ZSNU.mjs';import {createContext,useContext}from'react';import {jsx}from'react/jsx-runtime';var p=createContext(null);function u(){let r=useContext(p);if(!r)throw new Error("ROPA compound components must be wrapped in <ROPA.Provider>. Example: <ROPA.Provider initialData={...}><ROPA.Manager /></ROPA.Provider>");return r}var e=({initialData:r,adapter:i,onRecordAdd:P,onRecordUpdate:n,onRecordArchive:a,children:s})=>{let R=a$1({initialData:r,adapter:i,onRecordAdd:P,onRecordUpdate:n,onRecordArchive:a});return jsx(p.Provider,{value:R,children:s})};var v={Provider:e,Manager:a};export{v as ROPA,e as ROPAProvider,u as useROPACompound};//# sourceMappingURL=ropa.mjs.map
2
2
  //# sourceMappingURL=ropa.mjs.map
@@ -0,0 +1,147 @@
1
+ import React__default from 'react';
2
+
3
+ /**
4
+ * Locale strings for all toolkit components.
5
+ * Pass partial overrides — missing keys fall back to English defaults.
6
+ */
7
+ interface NDPRLocale {
8
+ consent?: {
9
+ title?: string;
10
+ description?: string;
11
+ acceptAll?: string;
12
+ rejectAll?: string;
13
+ customize?: string;
14
+ savePreferences?: string;
15
+ selectAll?: string;
16
+ deselectAll?: string;
17
+ required?: string;
18
+ cookieNotice?: string;
19
+ };
20
+ dsr?: {
21
+ title?: string;
22
+ description?: string;
23
+ submitRequest?: string;
24
+ reset?: string;
25
+ fullName?: string;
26
+ email?: string;
27
+ phone?: string;
28
+ requestType?: string;
29
+ additionalInfo?: string;
30
+ identityVerification?: string;
31
+ identifierType?: string;
32
+ identifierValue?: string;
33
+ privacyNotice?: string;
34
+ successMessage?: string;
35
+ };
36
+ breach?: {
37
+ title?: string;
38
+ description?: string;
39
+ submitReport?: string;
40
+ breachTitle?: string;
41
+ category?: string;
42
+ discoveredAt?: string;
43
+ detailedDescription?: string;
44
+ };
45
+ dpia?: {
46
+ title?: string;
47
+ next?: string;
48
+ previous?: string;
49
+ complete?: string;
50
+ progress?: string;
51
+ };
52
+ policy?: {
53
+ title?: string;
54
+ generate?: string;
55
+ preview?: string;
56
+ export?: string;
57
+ sections?: string;
58
+ variables?: string;
59
+ };
60
+ compliance?: {
61
+ score?: string;
62
+ excellent?: string;
63
+ good?: string;
64
+ needsWork?: string;
65
+ critical?: string;
66
+ recommendations?: string;
67
+ passed?: string;
68
+ gaps?: string;
69
+ };
70
+ common?: {
71
+ loading?: string;
72
+ error?: string;
73
+ save?: string;
74
+ cancel?: string;
75
+ delete?: string;
76
+ edit?: string;
77
+ add?: string;
78
+ back?: string;
79
+ next?: string;
80
+ search?: string;
81
+ noResults?: string;
82
+ };
83
+ }
84
+
85
+ declare const defaultLocale: Required<{
86
+ [K in keyof NDPRLocale]: Required<NonNullable<NDPRLocale[K]>>;
87
+ }>;
88
+
89
+ /**
90
+ * Configuration for the NDPR toolkit provider.
91
+ */
92
+ interface NDPRConfig {
93
+ /** The official name of the organisation */
94
+ organizationName?: string;
95
+ /** Email address of the Data Protection Officer */
96
+ dpoEmail?: string;
97
+ /** NDPC registration number, if registered */
98
+ ndpcRegistrationNumber?: string;
99
+ /** Prefix for localStorage/sessionStorage keys used by toolkit components */
100
+ storageKeyPrefix?: string;
101
+ /** When true, removes all default styles from toolkit components */
102
+ unstyled?: boolean;
103
+ /** Theme overrides applied as CSS custom properties */
104
+ theme?: {
105
+ /** Primary brand colour (e.g. "#0070f3") */
106
+ primary?: string;
107
+ /** Hover state for primary colour */
108
+ primaryHover?: string;
109
+ /** Foreground colour used on primary backgrounds */
110
+ primaryForeground?: string;
111
+ };
112
+ /**
113
+ * Locale strings for all toolkit components.
114
+ * Pass partial overrides — missing keys fall back to English defaults.
115
+ */
116
+ locale?: NDPRLocale;
117
+ }
118
+ /**
119
+ * Provides NDPR configuration to all descendant toolkit components.
120
+ *
121
+ * When a `theme` is supplied, the corresponding CSS custom properties
122
+ * (`--ndpr-primary`, `--ndpr-primary-hover`, `--ndpr-primary-foreground`)
123
+ * are set on the wrapping element so components can reference them.
124
+ */
125
+ declare const NDPRProvider: React__default.FC<NDPRConfig & {
126
+ children: React__default.ReactNode;
127
+ }>;
128
+ /**
129
+ * Returns the current NDPR configuration from the nearest `NDPRProvider`.
130
+ * If no provider is found, returns an empty config object.
131
+ */
132
+ declare function useNDPRConfig(): NDPRConfig;
133
+ /**
134
+ * Returns the resolved locale for the nearest `NDPRProvider`.
135
+ * Merges any partial `locale` prop with the default English strings,
136
+ * so all keys are always present and non-nullable.
137
+ */
138
+ declare function useNDPRLocale(): typeof defaultLocale;
139
+
140
+ /**
141
+ * Sanitizes user input to prevent XSS attacks.
142
+ * Escapes HTML special characters so that data rendered in dashboards
143
+ * or other consumer UIs cannot execute embedded scripts.
144
+ */
145
+ declare function sanitizeInput(input: string): string;
146
+
147
+ export { type NDPRConfig as N, NDPRProvider as a, type NDPRLocale as b, useNDPRLocale as c, defaultLocale as d, sanitizeInput as s, useNDPRConfig as u };
@@ -0,0 +1,147 @@
1
+ import React__default from 'react';
2
+
3
+ /**
4
+ * Locale strings for all toolkit components.
5
+ * Pass partial overrides — missing keys fall back to English defaults.
6
+ */
7
+ interface NDPRLocale {
8
+ consent?: {
9
+ title?: string;
10
+ description?: string;
11
+ acceptAll?: string;
12
+ rejectAll?: string;
13
+ customize?: string;
14
+ savePreferences?: string;
15
+ selectAll?: string;
16
+ deselectAll?: string;
17
+ required?: string;
18
+ cookieNotice?: string;
19
+ };
20
+ dsr?: {
21
+ title?: string;
22
+ description?: string;
23
+ submitRequest?: string;
24
+ reset?: string;
25
+ fullName?: string;
26
+ email?: string;
27
+ phone?: string;
28
+ requestType?: string;
29
+ additionalInfo?: string;
30
+ identityVerification?: string;
31
+ identifierType?: string;
32
+ identifierValue?: string;
33
+ privacyNotice?: string;
34
+ successMessage?: string;
35
+ };
36
+ breach?: {
37
+ title?: string;
38
+ description?: string;
39
+ submitReport?: string;
40
+ breachTitle?: string;
41
+ category?: string;
42
+ discoveredAt?: string;
43
+ detailedDescription?: string;
44
+ };
45
+ dpia?: {
46
+ title?: string;
47
+ next?: string;
48
+ previous?: string;
49
+ complete?: string;
50
+ progress?: string;
51
+ };
52
+ policy?: {
53
+ title?: string;
54
+ generate?: string;
55
+ preview?: string;
56
+ export?: string;
57
+ sections?: string;
58
+ variables?: string;
59
+ };
60
+ compliance?: {
61
+ score?: string;
62
+ excellent?: string;
63
+ good?: string;
64
+ needsWork?: string;
65
+ critical?: string;
66
+ recommendations?: string;
67
+ passed?: string;
68
+ gaps?: string;
69
+ };
70
+ common?: {
71
+ loading?: string;
72
+ error?: string;
73
+ save?: string;
74
+ cancel?: string;
75
+ delete?: string;
76
+ edit?: string;
77
+ add?: string;
78
+ back?: string;
79
+ next?: string;
80
+ search?: string;
81
+ noResults?: string;
82
+ };
83
+ }
84
+
85
+ declare const defaultLocale: Required<{
86
+ [K in keyof NDPRLocale]: Required<NonNullable<NDPRLocale[K]>>;
87
+ }>;
88
+
89
+ /**
90
+ * Configuration for the NDPR toolkit provider.
91
+ */
92
+ interface NDPRConfig {
93
+ /** The official name of the organisation */
94
+ organizationName?: string;
95
+ /** Email address of the Data Protection Officer */
96
+ dpoEmail?: string;
97
+ /** NDPC registration number, if registered */
98
+ ndpcRegistrationNumber?: string;
99
+ /** Prefix for localStorage/sessionStorage keys used by toolkit components */
100
+ storageKeyPrefix?: string;
101
+ /** When true, removes all default styles from toolkit components */
102
+ unstyled?: boolean;
103
+ /** Theme overrides applied as CSS custom properties */
104
+ theme?: {
105
+ /** Primary brand colour (e.g. "#0070f3") */
106
+ primary?: string;
107
+ /** Hover state for primary colour */
108
+ primaryHover?: string;
109
+ /** Foreground colour used on primary backgrounds */
110
+ primaryForeground?: string;
111
+ };
112
+ /**
113
+ * Locale strings for all toolkit components.
114
+ * Pass partial overrides — missing keys fall back to English defaults.
115
+ */
116
+ locale?: NDPRLocale;
117
+ }
118
+ /**
119
+ * Provides NDPR configuration to all descendant toolkit components.
120
+ *
121
+ * When a `theme` is supplied, the corresponding CSS custom properties
122
+ * (`--ndpr-primary`, `--ndpr-primary-hover`, `--ndpr-primary-foreground`)
123
+ * are set on the wrapping element so components can reference them.
124
+ */
125
+ declare const NDPRProvider: React__default.FC<NDPRConfig & {
126
+ children: React__default.ReactNode;
127
+ }>;
128
+ /**
129
+ * Returns the current NDPR configuration from the nearest `NDPRProvider`.
130
+ * If no provider is found, returns an empty config object.
131
+ */
132
+ declare function useNDPRConfig(): NDPRConfig;
133
+ /**
134
+ * Returns the resolved locale for the nearest `NDPRProvider`.
135
+ * Merges any partial `locale` prop with the default English strings,
136
+ * so all keys are always present and non-nullable.
137
+ */
138
+ declare function useNDPRLocale(): typeof defaultLocale;
139
+
140
+ /**
141
+ * Sanitizes user input to prevent XSS attacks.
142
+ * Escapes HTML special characters so that data rendered in dashboards
143
+ * or other consumer UIs cannot execute embedded scripts.
144
+ */
145
+ declare function sanitizeInput(input: string): string;
146
+
147
+ export { type NDPRConfig as N, NDPRProvider as a, type NDPRLocale as b, useNDPRLocale as c, defaultLocale as d, sanitizeInput as s, useNDPRConfig as u };