@tantainnovative/ndpr-toolkit 3.4.0 → 3.5.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 (188) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/README.md +80 -38
  3. package/dist/adapters.d.mts +34 -25
  4. package/dist/adapters.d.ts +34 -25
  5. package/dist/breach.d.mts +803 -44
  6. package/dist/breach.d.ts +803 -44
  7. package/dist/breach.js +2 -1
  8. package/dist/breach.mjs +2 -1
  9. package/dist/{chunk-2WH4DLV5.js → chunk-3EGQWLJ6.js} +3 -3
  10. package/dist/chunk-B4Z5MBUC.mjs +2 -0
  11. package/dist/{chunk-LSCMXAPY.mjs → chunk-CKGJK4D7.mjs} +3 -3
  12. package/dist/{chunk-XSEZDQLB.js → chunk-CKJAECGV.js} +2 -2
  13. package/dist/{chunk-AHSMDPG5.js → chunk-CPK5D5FY.js} +2 -2
  14. package/dist/{chunk-DCJK5OZT.mjs → chunk-CWHBCQGT.mjs} +2 -2
  15. package/dist/{chunk-KSERBMXW.mjs → chunk-F5TXUA4O.mjs} +3 -3
  16. package/dist/{chunk-BN77GP4W.mjs → chunk-GN5C32JB.mjs} +2 -2
  17. package/dist/{chunk-ZLSWOFAY.mjs → chunk-GRLIPT5V.mjs} +2 -2
  18. package/dist/{chunk-DUY6F3GT.mjs → chunk-H3EYBSVP.mjs} +3 -3
  19. package/dist/{chunk-MG73MOZC.mjs → chunk-I557S566.mjs} +2 -2
  20. package/dist/{chunk-QVULSG6J.mjs → chunk-ID2NYIVE.mjs} +3 -3
  21. package/dist/chunk-J5WCPZLW.js +2 -0
  22. package/dist/{chunk-4R42ZNO7.mjs → chunk-JFFOPHU3.mjs} +57 -57
  23. package/dist/{chunk-P2YV6DR3.js → chunk-LIM64IV2.js} +3 -3
  24. package/dist/chunk-LU7PKE7Y.mjs +2 -0
  25. package/dist/{chunk-HQSU7LGM.js → chunk-LWXZMKC2.js} +4 -4
  26. package/dist/{chunk-XMBSJJ5U.js → chunk-ORFC66EA.js} +3 -3
  27. package/dist/{chunk-VTITKWGX.mjs → chunk-QSVVAZVT.mjs} +2 -2
  28. package/dist/chunk-SCWNM4PC.mjs +2 -0
  29. package/dist/{chunk-EHAZIKDX.js → chunk-SKKOMFXH.js} +2 -2
  30. package/dist/{chunk-WH6ZMUOS.mjs → chunk-TUNQUVHU.mjs} +2 -2
  31. package/dist/chunk-TV4U6AIS.js +2 -0
  32. package/dist/{chunk-ZYLDLGFL.js → chunk-VIQUXWJC.js} +2 -2
  33. package/dist/{chunk-SUEGUY35.js → chunk-XIM7KMD6.js} +2 -2
  34. package/dist/{chunk-P6QAFBCV.js → chunk-XNSZ7KUH.js} +2 -2
  35. package/dist/{chunk-RNTNHVKZ.js → chunk-YPKUHSK4.js} +2 -2
  36. package/dist/{chunk-UFPSUO52.js → chunk-Z73T6MWY.js} +57 -57
  37. package/dist/consent.d.mts +648 -84
  38. package/dist/consent.d.ts +648 -84
  39. package/dist/consent.js +2 -1
  40. package/dist/consent.mjs +2 -1
  41. package/dist/core.d.mts +2049 -23
  42. package/dist/core.d.ts +2049 -23
  43. package/dist/core.js +1 -1
  44. package/dist/core.mjs +1 -1
  45. package/dist/cross-border.d.mts +470 -99
  46. package/dist/cross-border.d.ts +470 -99
  47. package/dist/cross-border.js +1 -0
  48. package/dist/cross-border.mjs +1 -0
  49. package/dist/dpia.d.mts +591 -37
  50. package/dist/dpia.d.ts +591 -37
  51. package/dist/dpia.js +1 -0
  52. package/dist/dpia.mjs +1 -0
  53. package/dist/dsr.d.mts +654 -37
  54. package/dist/dsr.d.ts +654 -37
  55. package/dist/dsr.js +2 -1
  56. package/dist/dsr.mjs +2 -1
  57. package/dist/hooks.d.mts +2174 -30
  58. package/dist/hooks.d.ts +2174 -30
  59. package/dist/hooks.js +2 -1
  60. package/dist/hooks.mjs +2 -1
  61. package/dist/index.d.mts +4428 -43
  62. package/dist/index.d.ts +4428 -43
  63. package/dist/index.js +2 -1
  64. package/dist/index.mjs +2 -1
  65. package/dist/lawful-basis.d.mts +368 -32
  66. package/dist/lawful-basis.d.ts +368 -32
  67. package/dist/lawful-basis.js +1 -0
  68. package/dist/lawful-basis.mjs +1 -0
  69. package/dist/policy.d.mts +1178 -83
  70. package/dist/policy.d.ts +1178 -83
  71. package/dist/policy.js +2 -1
  72. package/dist/policy.mjs +2 -1
  73. package/dist/presets.d.mts +1020 -114
  74. package/dist/presets.d.ts +1020 -114
  75. package/dist/presets.js +2 -1
  76. package/dist/presets.mjs +2 -1
  77. package/dist/ropa.d.mts +396 -31
  78. package/dist/ropa.d.ts +396 -31
  79. package/dist/ropa.js +2 -1
  80. package/dist/ropa.mjs +2 -1
  81. package/dist/server.d.mts +2133 -24
  82. package/dist/server.d.ts +2133 -24
  83. package/dist/server.js +1 -1
  84. package/dist/server.mjs +1 -1
  85. package/dist/unstyled.d.mts +523 -55
  86. package/dist/unstyled.d.ts +523 -55
  87. package/dist/unstyled.js +2 -1
  88. package/dist/unstyled.mjs +2 -1
  89. package/package.json +3 -3
  90. package/dist/BreachReportForm-DpRrBoxU.d.ts +0 -158
  91. package/dist/BreachReportForm-yJ2Zl6gz.d.mts +0 -158
  92. package/dist/ConsentBanner-F5ayys5K.d.mts +0 -156
  93. package/dist/ConsentBanner-VqIPophc.d.ts +0 -156
  94. package/dist/ConsentManager-C7I3PDe8.d.mts +0 -105
  95. package/dist/ConsentManager-CQ2IZtUU.d.ts +0 -105
  96. package/dist/CrossBorderTransferManager-D5Lc0e46.d.ts +0 -90
  97. package/dist/CrossBorderTransferManager-DkZhv9vD.d.mts +0 -90
  98. package/dist/DPIAQuestionnaire-VXBoWFMC.d.ts +0 -123
  99. package/dist/DPIAQuestionnaire-jkt1Veb6.d.mts +0 -123
  100. package/dist/DSRRequestForm-D8rPTNmU.d.ts +0 -146
  101. package/dist/DSRRequestForm-DRouEr9j.d.mts +0 -146
  102. package/dist/DSRTracker-Bl__d4df.d.ts +0 -163
  103. package/dist/DSRTracker-CSVDfgQQ.d.mts +0 -163
  104. package/dist/LawfulBasisTracker-CBqOxX1D.d.mts +0 -85
  105. package/dist/LawfulBasisTracker-Cg30NbDA.d.ts +0 -85
  106. package/dist/NDPRDashboard-CLJpEg0X.d.mts +0 -44
  107. package/dist/NDPRDashboard-DDWNd2Ah.d.ts +0 -44
  108. package/dist/NDPRProvider-DYFb8xEl.d.ts +0 -68
  109. package/dist/NDPRProvider-U3QNu6MA.d.mts +0 -68
  110. package/dist/PolicyExporter-Bgi6nz82.d.mts +0 -291
  111. package/dist/PolicyExporter-BnvuFncj.d.ts +0 -291
  112. package/dist/ROPAManager-BS4eB8Hw.d.mts +0 -79
  113. package/dist/ROPAManager-qxTrXLkD.d.ts +0 -79
  114. package/dist/RegulatoryReportGenerator-BUYgzTTT.d.ts +0 -282
  115. package/dist/RegulatoryReportGenerator-DwcHcEFp.d.mts +0 -282
  116. package/dist/StepIndicator-CgrlokSV.d.ts +0 -171
  117. package/dist/StepIndicator-W8S_QjgO.d.mts +0 -171
  118. package/dist/breach-B_-6lDqS.d.mts +0 -17
  119. package/dist/breach-CzXqSsaY.d.ts +0 -17
  120. package/dist/breach-Eu9byel8.d.mts +0 -185
  121. package/dist/breach-Eu9byel8.d.ts +0 -185
  122. package/dist/chunk-5X32J5IA.mjs +0 -2
  123. package/dist/chunk-7D2OIPHH.mjs +0 -2
  124. package/dist/chunk-JKKRPS4P.js +0 -2
  125. package/dist/chunk-NCOZB2WU.mjs +0 -2
  126. package/dist/chunk-RGNP45VR.js +0 -2
  127. package/dist/compliance-score-racQe_E_.d.mts +0 -115
  128. package/dist/compliance-score-racQe_E_.d.ts +0 -115
  129. package/dist/consent-CmVzqZUk.d.mts +0 -99
  130. package/dist/consent-CmVzqZUk.d.ts +0 -99
  131. package/dist/consent-audit-BdByjYlM.d.mts +0 -65
  132. package/dist/consent-audit-DhbfMR0n.d.ts +0 -65
  133. package/dist/cross-border-BBi9rZyO.d.mts +0 -54
  134. package/dist/cross-border-Dy-U9Hu6.d.ts +0 -54
  135. package/dist/cross-border-UyT00llA.d.mts +0 -141
  136. package/dist/cross-border-UyT00llA.d.ts +0 -141
  137. package/dist/docx-BxKascXN.d.ts +0 -64
  138. package/dist/docx-CV7Vsry_.d.mts +0 -64
  139. package/dist/dpia-D82hUrJe.d.ts +0 -15
  140. package/dist/dpia-DQDFw2_l.d.mts +0 -15
  141. package/dist/dpia-c9GiiOq0.d.mts +0 -137
  142. package/dist/dpia-c9GiiOq0.d.ts +0 -137
  143. package/dist/dsr-CIx5sd7e.d.ts +0 -14
  144. package/dist/dsr-XZ_HqTlA.d.mts +0 -14
  145. package/dist/dsr-yKbqX531.d.mts +0 -128
  146. package/dist/dsr-yKbqX531.d.ts +0 -128
  147. package/dist/lawful-basis-BEyI0kGg.d.ts +0 -57
  148. package/dist/lawful-basis-C2eGaoHM.d.mts +0 -57
  149. package/dist/lawful-basis-Cv1VmDLn.d.mts +0 -112
  150. package/dist/lawful-basis-Cv1VmDLn.d.ts +0 -112
  151. package/dist/locale-CxJx2tzn.d.mts +0 -25
  152. package/dist/locale-DSkrtf-c.d.ts +0 -25
  153. package/dist/policy-engine-CCUCud2T.d.ts +0 -154
  154. package/dist/policy-engine-fYSqEqSW.d.mts +0 -154
  155. package/dist/policy-sections-BYx6fEFk.d.ts +0 -56
  156. package/dist/policy-sections-Dm97Nq8m.d.mts +0 -56
  157. package/dist/policy-templates-DhLwq4R-.d.ts +0 -43
  158. package/dist/policy-templates-DwYl2329.d.mts +0 -43
  159. package/dist/privacy-Ca6te9Ir.d.mts +0 -138
  160. package/dist/privacy-Ca6te9Ir.d.ts +0 -138
  161. package/dist/ropa-BDTM06tr.d.ts +0 -152
  162. package/dist/ropa-CFHuT7jE.d.mts +0 -152
  163. package/dist/ropa-CyynscU6.d.ts +0 -51
  164. package/dist/ropa-NIgxd8uP.d.mts +0 -51
  165. package/dist/sanitize-CxxwKxAx.d.mts +0 -94
  166. package/dist/sanitize-CxxwKxAx.d.ts +0 -94
  167. package/dist/styling-BMDGQDgS.d.mts +0 -64
  168. package/dist/styling-BaoQtV06.d.ts +0 -64
  169. package/dist/types-DK2CoKOC.d.mts +0 -10
  170. package/dist/types-DK2CoKOC.d.ts +0 -10
  171. package/dist/useAdaptivePolicyWizard-BnjW4OR4.d.mts +0 -52
  172. package/dist/useAdaptivePolicyWizard-sb3m4-Zk.d.ts +0 -52
  173. package/dist/useBreach-CPr86Yan.d.mts +0 -115
  174. package/dist/useBreach-DkVXvtJK.d.ts +0 -115
  175. package/dist/useConsent-DCNkIJHR.d.mts +0 -75
  176. package/dist/useConsent-dOcELSfX.d.ts +0 -75
  177. package/dist/useCrossBorderTransfer-DixjLjN1.d.mts +0 -78
  178. package/dist/useCrossBorderTransfer-DvSq06lv.d.ts +0 -78
  179. package/dist/useDPIA-B6180UQn.d.mts +0 -109
  180. package/dist/useDPIA-CTqbNbww.d.ts +0 -109
  181. package/dist/useDSR-WvHk8_iu.d.mts +0 -85
  182. package/dist/useDSR-wH4H6hSM.d.ts +0 -85
  183. package/dist/useDefaultPrivacyPolicy-Cs2WQSYQ.d.mts +0 -162
  184. package/dist/useDefaultPrivacyPolicy-DkOqMg2e.d.ts +0 -162
  185. package/dist/useLawfulBasis-CKJ-kw84.d.mts +0 -79
  186. package/dist/useLawfulBasis-DFTmu1ca.d.ts +0 -79
  187. package/dist/useROPA-BSSU1rfx.d.ts +0 -76
  188. package/dist/useROPA-C2hjaBTz.d.mts +0 -76
@@ -1,162 +0,0 @@
1
- import { c as PrivacyPolicy, a as PolicyTemplate, O as OrganizationInfo } from './privacy-Ca6te9Ir.js';
2
- import { S as StorageAdapter } from './types-DK2CoKOC.js';
3
-
4
- interface UsePrivacyPolicyOptions {
5
- /**
6
- * Available policy templates
7
- */
8
- templates: PolicyTemplate[];
9
- /**
10
- * Initial policy data (if editing an existing policy)
11
- */
12
- initialPolicy?: PrivacyPolicy;
13
- /**
14
- * Pluggable storage adapter. When provided, takes precedence over storageKey/useLocalStorage.
15
- */
16
- adapter?: StorageAdapter<PrivacyPolicy>;
17
- /**
18
- * Storage key for policy data
19
- * @default "ndpr_privacy_policy"
20
- * @deprecated Use adapter instead
21
- */
22
- storageKey?: string;
23
- /**
24
- * Whether to use local storage to persist policy data
25
- * @default true
26
- * @deprecated Use adapter instead
27
- */
28
- useLocalStorage?: boolean;
29
- /**
30
- * Callback function called when a policy is generated
31
- */
32
- onGenerate?: (policy: PrivacyPolicy) => void;
33
- }
34
- interface UsePrivacyPolicyReturn {
35
- /**
36
- * Current policy data
37
- */
38
- policy: PrivacyPolicy | null;
39
- /**
40
- * Selected template
41
- */
42
- selectedTemplate: PolicyTemplate | null;
43
- /**
44
- * Organization information
45
- */
46
- organizationInfo: OrganizationInfo;
47
- /**
48
- * Select a template
49
- */
50
- selectTemplate: (templateId: string) => boolean;
51
- /**
52
- * Update organization information
53
- */
54
- updateOrganizationInfo: (updates: Partial<OrganizationInfo>) => void;
55
- /**
56
- * Toggle whether a section is included in the policy
57
- */
58
- toggleSection: (sectionId: string, included: boolean) => void;
59
- /**
60
- * Update section content
61
- */
62
- updateSectionContent: (sectionId: string, content: string) => void;
63
- /**
64
- * Update variable values
65
- */
66
- updateVariableValue: (variable: string, value: string) => void;
67
- /**
68
- * Generate the policy
69
- */
70
- generatePolicy: () => PrivacyPolicy | null;
71
- /**
72
- * Get the generated policy text
73
- */
74
- getPolicyText: () => {
75
- fullText: string;
76
- sectionTexts: Record<string, string>;
77
- missingVariables: string[];
78
- };
79
- /**
80
- * Reset the policy
81
- */
82
- resetPolicy: () => void;
83
- /**
84
- * Check if the policy is valid
85
- */
86
- isValid: () => {
87
- valid: boolean;
88
- errors: string[];
89
- };
90
- /**
91
- * Whether the adapter is still loading data (relevant for async adapters)
92
- */
93
- isLoading: boolean;
94
- }
95
- /**
96
- * Hook for generating NDPA-compliant privacy policies
97
- */
98
- declare function usePrivacyPolicy({ templates, initialPolicy, adapter, storageKey, useLocalStorage, onGenerate, }: UsePrivacyPolicyOptions): UsePrivacyPolicyReturn;
99
-
100
- interface UseDefaultPrivacyPolicyOptions {
101
- /**
102
- * Organisation information to pre-fill into the policy. When provided and
103
- * `autoGenerate` is true (the default), the hook will auto-select the
104
- * default template and generate a renderable policy on first commit, so
105
- * `policy` is non-null on the first useful render.
106
- */
107
- orgInfo?: {
108
- /** Organisation name (maps to `organizationInfo.name` and `orgName` variable) */
109
- name?: string;
110
- /** Privacy contact email (maps to `privacyEmail`) */
111
- email?: string;
112
- /** Organisation website URL */
113
- website?: string;
114
- /** Physical address */
115
- address?: string;
116
- /** Industry / sector descriptor */
117
- industry?: string;
118
- /** Data Protection Officer name */
119
- dpoName?: string;
120
- /** DPO email address */
121
- dpoEmail?: string;
122
- };
123
- /**
124
- * Whether the hook should auto-select the default template and generate
125
- * the policy as soon as it's mounted with `orgInfo`. Set to false to
126
- * retain manual control via `selectTemplate` / `generatePolicy`.
127
- * @default true
128
- */
129
- autoGenerate?: boolean;
130
- /**
131
- * Storage key for policy data.
132
- * @default "ndpr_privacy_policy"
133
- */
134
- storageKey?: string;
135
- /**
136
- * Whether to persist policy data in local storage.
137
- * @default true
138
- */
139
- useLocalStorage?: boolean;
140
- /**
141
- * Pluggable storage adapter. When provided, takes precedence over
142
- * storageKey/useLocalStorage.
143
- */
144
- adapter?: StorageAdapter<PrivacyPolicy>;
145
- }
146
- /**
147
- * Convenience wrapper around `usePrivacyPolicy`. With `orgInfo` provided
148
- * and `autoGenerate` enabled (default), `policy` is non-null on the first
149
- * post-load render — no manual `selectTemplate` / `generatePolicy` chaining
150
- * required.
151
- *
152
- * @example
153
- * ```tsx
154
- * const { policy } = useDefaultPrivacyPolicy({
155
- * orgInfo: { name: 'Acme Ltd', email: 'privacy@acme.ng' }
156
- * });
157
- * return policy ? <PolicyPage policy={policy} /> : <Spinner />;
158
- * ```
159
- */
160
- declare function useDefaultPrivacyPolicy(options?: UseDefaultPrivacyPolicyOptions): UsePrivacyPolicyReturn;
161
-
162
- export { type UsePrivacyPolicyReturn as U, usePrivacyPolicy as a, useDefaultPrivacyPolicy as u };
@@ -1,79 +0,0 @@
1
- import { P as ProcessingActivity, a as LawfulBasisSummary } from './lawful-basis-Cv1VmDLn.mjs';
2
- import { a as LawfulBasisValidationResult } from './lawful-basis-C2eGaoHM.mjs';
3
- import { S as StorageAdapter } from './types-DK2CoKOC.mjs';
4
-
5
- interface UseLawfulBasisOptions {
6
- /**
7
- * Initial processing activities to load
8
- */
9
- initialActivities?: ProcessingActivity[];
10
- /**
11
- * Pluggable storage adapter. When provided, takes precedence over storageKey/useLocalStorage.
12
- */
13
- adapter?: StorageAdapter<ProcessingActivity[]>;
14
- /**
15
- * Storage key for persisting activities
16
- * @default "ndpr_lawful_basis_activities"
17
- * @deprecated Use adapter instead
18
- */
19
- storageKey?: string;
20
- /**
21
- * Whether to use local storage to persist activities
22
- * @default true
23
- * @deprecated Use adapter instead
24
- */
25
- useLocalStorage?: boolean;
26
- /**
27
- * Callback when an activity is added
28
- */
29
- onAdd?: (activity: ProcessingActivity) => void;
30
- /**
31
- * Callback when an activity is updated
32
- */
33
- onUpdate?: (activity: ProcessingActivity) => void;
34
- /**
35
- * Callback when an activity is removed
36
- */
37
- onRemove?: (id: string) => void;
38
- }
39
- interface UseLawfulBasisReturn {
40
- /**
41
- * All processing activities
42
- */
43
- activities: ProcessingActivity[];
44
- /**
45
- * Add a new processing activity
46
- */
47
- addActivity: (activity: Omit<ProcessingActivity, 'id' | 'createdAt' | 'updatedAt'>) => ProcessingActivity;
48
- /**
49
- * Update an existing processing activity
50
- */
51
- updateActivity: (id: string, updates: Partial<ProcessingActivity>) => ProcessingActivity | null;
52
- /**
53
- * Remove a processing activity
54
- */
55
- removeActivity: (id: string) => void;
56
- /**
57
- * Get a specific processing activity by ID
58
- */
59
- getActivity: (id: string) => ProcessingActivity | null;
60
- /**
61
- * Get a summary of all lawful basis documentation
62
- */
63
- getSummary: () => LawfulBasisSummary;
64
- /**
65
- * Validate a processing activity
66
- */
67
- validateActivity: (activity: ProcessingActivity) => LawfulBasisValidationResult;
68
- /**
69
- * Whether the adapter is still loading data (relevant for async adapters)
70
- */
71
- isLoading: boolean;
72
- }
73
- /**
74
- * Hook for managing lawful basis documentation for processing activities
75
- * in compliance with NDPA 2023 Section 25.
76
- */
77
- declare function useLawfulBasis({ initialActivities, adapter, storageKey, useLocalStorage, onAdd, onUpdate, onRemove, }?: UseLawfulBasisOptions): UseLawfulBasisReturn;
78
-
79
- export { type UseLawfulBasisReturn as U, useLawfulBasis as u };
@@ -1,79 +0,0 @@
1
- import { P as ProcessingActivity, a as LawfulBasisSummary } from './lawful-basis-Cv1VmDLn.js';
2
- import { a as LawfulBasisValidationResult } from './lawful-basis-BEyI0kGg.js';
3
- import { S as StorageAdapter } from './types-DK2CoKOC.js';
4
-
5
- interface UseLawfulBasisOptions {
6
- /**
7
- * Initial processing activities to load
8
- */
9
- initialActivities?: ProcessingActivity[];
10
- /**
11
- * Pluggable storage adapter. When provided, takes precedence over storageKey/useLocalStorage.
12
- */
13
- adapter?: StorageAdapter<ProcessingActivity[]>;
14
- /**
15
- * Storage key for persisting activities
16
- * @default "ndpr_lawful_basis_activities"
17
- * @deprecated Use adapter instead
18
- */
19
- storageKey?: string;
20
- /**
21
- * Whether to use local storage to persist activities
22
- * @default true
23
- * @deprecated Use adapter instead
24
- */
25
- useLocalStorage?: boolean;
26
- /**
27
- * Callback when an activity is added
28
- */
29
- onAdd?: (activity: ProcessingActivity) => void;
30
- /**
31
- * Callback when an activity is updated
32
- */
33
- onUpdate?: (activity: ProcessingActivity) => void;
34
- /**
35
- * Callback when an activity is removed
36
- */
37
- onRemove?: (id: string) => void;
38
- }
39
- interface UseLawfulBasisReturn {
40
- /**
41
- * All processing activities
42
- */
43
- activities: ProcessingActivity[];
44
- /**
45
- * Add a new processing activity
46
- */
47
- addActivity: (activity: Omit<ProcessingActivity, 'id' | 'createdAt' | 'updatedAt'>) => ProcessingActivity;
48
- /**
49
- * Update an existing processing activity
50
- */
51
- updateActivity: (id: string, updates: Partial<ProcessingActivity>) => ProcessingActivity | null;
52
- /**
53
- * Remove a processing activity
54
- */
55
- removeActivity: (id: string) => void;
56
- /**
57
- * Get a specific processing activity by ID
58
- */
59
- getActivity: (id: string) => ProcessingActivity | null;
60
- /**
61
- * Get a summary of all lawful basis documentation
62
- */
63
- getSummary: () => LawfulBasisSummary;
64
- /**
65
- * Validate a processing activity
66
- */
67
- validateActivity: (activity: ProcessingActivity) => LawfulBasisValidationResult;
68
- /**
69
- * Whether the adapter is still loading data (relevant for async adapters)
70
- */
71
- isLoading: boolean;
72
- }
73
- /**
74
- * Hook for managing lawful basis documentation for processing activities
75
- * in compliance with NDPA 2023 Section 25.
76
- */
77
- declare function useLawfulBasis({ initialActivities, adapter, storageKey, useLocalStorage, onAdd, onUpdate, onRemove, }?: UseLawfulBasisOptions): UseLawfulBasisReturn;
78
-
79
- export { type UseLawfulBasisReturn as U, useLawfulBasis as u };
@@ -1,76 +0,0 @@
1
- import { a as RecordOfProcessingActivities, P as ProcessingRecord, R as ROPASummary } from './ropa-BDTM06tr.js';
2
- import { R as ROPAComplianceGap } from './ropa-CyynscU6.js';
3
- import { S as StorageAdapter } from './types-DK2CoKOC.js';
4
-
5
- interface UseROPAOptions {
6
- /**
7
- * Initial ROPA state
8
- */
9
- initialData: RecordOfProcessingActivities;
10
- /**
11
- * Pluggable storage adapter. When provided, adapter data is loaded on mount
12
- * and the ROPA is persisted after every mutation. Falls back to initialData
13
- * when no adapter data is found.
14
- */
15
- adapter?: StorageAdapter<RecordOfProcessingActivities>;
16
- /**
17
- * Callback when a record is added
18
- */
19
- onRecordAdd?: (record: ProcessingRecord) => void;
20
- /**
21
- * Callback when a record is updated
22
- */
23
- onRecordUpdate?: (id: string, updates: Partial<ProcessingRecord>) => void;
24
- /**
25
- * Callback when a record is archived
26
- */
27
- onRecordArchive?: (id: string) => void;
28
- }
29
- interface UseROPAReturn {
30
- /**
31
- * Current state of the Record of Processing Activities
32
- */
33
- ropa: RecordOfProcessingActivities;
34
- /**
35
- * Add a new processing record
36
- */
37
- addRecord: (record: ProcessingRecord) => void;
38
- /**
39
- * Update an existing processing record
40
- */
41
- updateRecord: (id: string, updates: Partial<ProcessingRecord>) => void;
42
- /**
43
- * Archive a processing record by setting its status to 'archived'
44
- */
45
- archiveRecord: (id: string) => void;
46
- /**
47
- * Get a single processing record by ID
48
- */
49
- getRecord: (id: string) => ProcessingRecord | undefined;
50
- /**
51
- * Get a summary of the ROPA including statistics
52
- */
53
- getSummary: () => ROPASummary;
54
- /**
55
- * Export the ROPA as a CSV string
56
- */
57
- exportCSV: () => string;
58
- /**
59
- * Identify compliance gaps across all records
60
- */
61
- getComplianceGaps: () => ROPAComplianceGap[];
62
- /**
63
- * Whether the adapter is still loading data (relevant for async adapters)
64
- */
65
- isLoading: boolean;
66
- }
67
- /**
68
- * Hook for managing a Record of Processing Activities (ROPA)
69
- * in compliance with NDPA 2023 requirements.
70
- *
71
- * Provides state management and utility functions for maintaining
72
- * a comprehensive register of all data processing activities.
73
- */
74
- declare function useROPA({ initialData, adapter, onRecordAdd, onRecordUpdate, onRecordArchive, }: UseROPAOptions): UseROPAReturn;
75
-
76
- export { type UseROPAOptions as U, type UseROPAReturn as a, useROPA as u };
@@ -1,76 +0,0 @@
1
- import { a as RecordOfProcessingActivities, P as ProcessingRecord, R as ROPASummary } from './ropa-CFHuT7jE.mjs';
2
- import { R as ROPAComplianceGap } from './ropa-NIgxd8uP.mjs';
3
- import { S as StorageAdapter } from './types-DK2CoKOC.mjs';
4
-
5
- interface UseROPAOptions {
6
- /**
7
- * Initial ROPA state
8
- */
9
- initialData: RecordOfProcessingActivities;
10
- /**
11
- * Pluggable storage adapter. When provided, adapter data is loaded on mount
12
- * and the ROPA is persisted after every mutation. Falls back to initialData
13
- * when no adapter data is found.
14
- */
15
- adapter?: StorageAdapter<RecordOfProcessingActivities>;
16
- /**
17
- * Callback when a record is added
18
- */
19
- onRecordAdd?: (record: ProcessingRecord) => void;
20
- /**
21
- * Callback when a record is updated
22
- */
23
- onRecordUpdate?: (id: string, updates: Partial<ProcessingRecord>) => void;
24
- /**
25
- * Callback when a record is archived
26
- */
27
- onRecordArchive?: (id: string) => void;
28
- }
29
- interface UseROPAReturn {
30
- /**
31
- * Current state of the Record of Processing Activities
32
- */
33
- ropa: RecordOfProcessingActivities;
34
- /**
35
- * Add a new processing record
36
- */
37
- addRecord: (record: ProcessingRecord) => void;
38
- /**
39
- * Update an existing processing record
40
- */
41
- updateRecord: (id: string, updates: Partial<ProcessingRecord>) => void;
42
- /**
43
- * Archive a processing record by setting its status to 'archived'
44
- */
45
- archiveRecord: (id: string) => void;
46
- /**
47
- * Get a single processing record by ID
48
- */
49
- getRecord: (id: string) => ProcessingRecord | undefined;
50
- /**
51
- * Get a summary of the ROPA including statistics
52
- */
53
- getSummary: () => ROPASummary;
54
- /**
55
- * Export the ROPA as a CSV string
56
- */
57
- exportCSV: () => string;
58
- /**
59
- * Identify compliance gaps across all records
60
- */
61
- getComplianceGaps: () => ROPAComplianceGap[];
62
- /**
63
- * Whether the adapter is still loading data (relevant for async adapters)
64
- */
65
- isLoading: boolean;
66
- }
67
- /**
68
- * Hook for managing a Record of Processing Activities (ROPA)
69
- * in compliance with NDPA 2023 requirements.
70
- *
71
- * Provides state management and utility functions for maintaining
72
- * a comprehensive register of all data processing activities.
73
- */
74
- declare function useROPA({ initialData, adapter, onRecordAdd, onRecordUpdate, onRecordArchive, }: UseROPAOptions): UseROPAReturn;
75
-
76
- export { type UseROPAOptions as U, type UseROPAReturn as a, useROPA as u };