@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
@@ -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 };