@tantainnovative/ndpr-toolkit 2.4.1 → 3.0.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 (182) 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-BIqSVjfC.d.mts} +4 -98
  19. package/dist/{policy-D2_jh5-T.d.ts → PolicyExporter-BNWaPBGU.d.ts} +4 -98
  20. package/dist/PolicyGenerator-BvcWPbxp.d.mts +96 -0
  21. package/dist/PolicyGenerator-BzRwtlgn.d.ts +96 -0
  22. package/dist/{ropa-entry-B0D7X1GV.d.ts → ROPAManager-BS4eB8Hw.d.mts} +4 -5
  23. package/dist/{ropa-entry-DiOThOc2.d.mts → ROPAManager-qxTrXLkD.d.ts} +4 -5
  24. package/dist/RegulatoryReportGenerator-BUYgzTTT.d.ts +282 -0
  25. package/dist/RegulatoryReportGenerator-DwcHcEFp.d.mts +282 -0
  26. package/dist/StepIndicator-D-nwRTyo.d.mts +171 -0
  27. package/dist/StepIndicator-D9ZATz_O.d.ts +171 -0
  28. package/dist/adapters.d.mts +25 -0
  29. package/dist/adapters.d.ts +25 -0
  30. package/dist/adapters.js +2 -0
  31. package/dist/adapters.mjs +2 -0
  32. package/dist/breach.d.mts +36 -431
  33. package/dist/breach.d.ts +36 -431
  34. package/dist/breach.js +1 -1
  35. package/dist/breach.mjs +1 -1
  36. package/dist/chunk-27NYSWUG.mjs +2 -0
  37. package/dist/chunk-2ORDHJRD.js +2 -0
  38. package/dist/chunk-2W7ARAW2.js +2 -0
  39. package/dist/chunk-3F34NACG.js +2 -0
  40. package/dist/chunk-3RGJV3VF.js +7 -0
  41. package/dist/chunk-3UWT64FI.mjs +2 -0
  42. package/dist/chunk-3V23O4ZJ.js +2 -0
  43. package/dist/chunk-3XAUN5IM.mjs +3 -0
  44. package/dist/chunk-5VMHKNJY.js +2 -0
  45. package/dist/chunk-6D3ZUGBB.mjs +2 -0
  46. package/dist/chunk-6E54NSAO.mjs +2 -0
  47. package/dist/chunk-7F5F5YWI.mjs +2 -0
  48. package/dist/chunk-7FIUX3ZM.js +89 -0
  49. package/dist/chunk-FR7ZYZXB.js +2 -0
  50. package/dist/chunk-FY5G6DGZ.js +7 -0
  51. package/dist/chunk-G26I6MP5.mjs +2 -0
  52. package/dist/chunk-GPJVTGHR.mjs +2 -0
  53. package/dist/chunk-GVANK6PL.js +3 -0
  54. package/dist/chunk-HNZK7LY3.mjs +2 -0
  55. package/dist/chunk-IKEPXHCZ.js +2 -0
  56. package/dist/chunk-IQQW52EF.js +2 -0
  57. package/dist/chunk-ISSGO2YT.mjs +72 -0
  58. package/dist/chunk-J6IKAGUP.mjs +89 -0
  59. package/dist/chunk-KHRBU5K7.js +2 -0
  60. package/dist/chunk-KNE4NXCY.mjs +7 -0
  61. package/dist/chunk-LFNA6WYQ.mjs +2 -0
  62. package/dist/chunk-NPI5T6NH.mjs +7 -0
  63. package/dist/chunk-NPLXE43Q.mjs +2 -0
  64. package/dist/chunk-P7BSBCB3.js +2 -0
  65. package/dist/chunk-PEH5GIMN.js +2 -0
  66. package/dist/chunk-RSUDIFZV.mjs +2 -0
  67. package/dist/chunk-SBNAMPAP.mjs +2 -0
  68. package/dist/chunk-SVCRYM4I.mjs +2 -0
  69. package/dist/chunk-U6VWHC46.js +72 -0
  70. package/dist/chunk-UK656RCG.js +2 -0
  71. package/dist/chunk-UNKXYVXY.js +2 -0
  72. package/dist/chunk-UOSEH6DC.js +2 -0
  73. package/dist/chunk-V37BM2LF.js +2 -0
  74. package/dist/chunk-V3MXWGXU.mjs +2 -0
  75. package/dist/chunk-VDZKGCAF.js +2 -0
  76. package/dist/chunk-WLSW4Z4W.mjs +2 -0
  77. package/dist/chunk-XSK4BSZJ.mjs +2 -0
  78. package/dist/chunk-YJCGEOLO.mjs +2 -0
  79. package/dist/chunk-ZCZ5RRZO.js +2 -0
  80. package/dist/compliance-score-racQe_E_.d.mts +115 -0
  81. package/dist/compliance-score-racQe_E_.d.ts +115 -0
  82. package/dist/consent.d.mts +67 -295
  83. package/dist/consent.d.ts +67 -295
  84. package/dist/consent.js +1 -1
  85. package/dist/consent.mjs +1 -1
  86. package/dist/core.d.mts +8 -5
  87. package/dist/core.d.ts +8 -5
  88. package/dist/core.js +1 -1
  89. package/dist/core.mjs +1 -1
  90. package/dist/cross-border-BBi9rZyO.d.mts +54 -0
  91. package/dist/cross-border-Dy-U9Hu6.d.ts +54 -0
  92. package/dist/{cross-border-BMcqLvjC.d.mts → cross-border-UyT00llA.d.mts} +1 -52
  93. package/dist/{cross-border-BMcqLvjC.d.ts → cross-border-UyT00llA.d.ts} +1 -52
  94. package/dist/cross-border.d.mts +32 -4
  95. package/dist/cross-border.d.ts +32 -4
  96. package/dist/cross-border.js +1 -1
  97. package/dist/cross-border.mjs +1 -1
  98. package/dist/dpia.d.mts +28 -284
  99. package/dist/dpia.d.ts +28 -284
  100. package/dist/dpia.js +1 -1
  101. package/dist/dpia.mjs +1 -1
  102. package/dist/dsr.d.mts +29 -300
  103. package/dist/dsr.d.ts +29 -300
  104. package/dist/dsr.js +1 -1
  105. package/dist/dsr.mjs +1 -1
  106. package/dist/hooks.d.mts +21 -10
  107. package/dist/hooks.d.ts +21 -10
  108. package/dist/hooks.js +1 -1
  109. package/dist/hooks.mjs +1 -1
  110. package/dist/index.d.mts +28 -18
  111. package/dist/index.d.ts +28 -18
  112. package/dist/index.js +1 -1
  113. package/dist/index.mjs +1 -1
  114. package/dist/lawful-basis.d.mts +31 -4
  115. package/dist/lawful-basis.d.ts +31 -4
  116. package/dist/lawful-basis.js +1 -1
  117. package/dist/lawful-basis.mjs +1 -1
  118. package/dist/policy.d.mts +36 -4
  119. package/dist/policy.d.ts +36 -4
  120. package/dist/policy.js +1 -1
  121. package/dist/policy.mjs +1 -1
  122. package/dist/presets.d.mts +124 -0
  123. package/dist/presets.d.ts +124 -0
  124. package/dist/presets.js +2 -0
  125. package/dist/presets.mjs +2 -0
  126. package/dist/{ropa-Li6UlL5H.d.ts → ropa-BDTM06tr.d.ts} +1 -49
  127. package/dist/{ropa-DP7pPPql.d.mts → ropa-CFHuT7jE.d.mts} +1 -49
  128. package/dist/ropa-CyynscU6.d.ts +51 -0
  129. package/dist/ropa-NIgxd8uP.d.mts +51 -0
  130. package/dist/ropa.d.mts +30 -4
  131. package/dist/ropa.d.ts +30 -4
  132. package/dist/ropa.js +1 -1
  133. package/dist/ropa.mjs +1 -1
  134. package/dist/styling-B7CBzYG7.d.ts +165 -0
  135. package/dist/styling-uJLsBbER.d.mts +165 -0
  136. package/dist/types-DK2CoKOC.d.mts +10 -0
  137. package/dist/types-DK2CoKOC.d.ts +10 -0
  138. package/dist/unstyled.d.mts +4 -4
  139. package/dist/unstyled.d.ts +4 -4
  140. package/dist/{useBreach-BBSoIcZO.d.mts → useBreach-CPr86Yan.d.mts} +18 -2
  141. package/dist/{useBreach-lFLbSyAN.d.ts → useBreach-DkVXvtJK.d.ts} +18 -2
  142. package/dist/{useConsent-D0pAfTlb.d.ts → useConsent-DCNkIJHR.d.mts} +12 -2
  143. package/dist/{useConsent-DOt2Njst.d.mts → useConsent-dOcELSfX.d.ts} +12 -2
  144. package/dist/{useCrossBorderTransfer-DmtACeqW.d.ts → useCrossBorderTransfer-BGNZt2lk.d.mts} +15 -3
  145. package/dist/{useCrossBorderTransfer-BZVFCXfr.d.mts → useCrossBorderTransfer-COqjgjsu.d.ts} +15 -3
  146. package/dist/{useDPIA-DBsg2yZx.d.ts → useDPIA-Dl16Te3r.d.ts} +13 -2
  147. package/dist/{useDPIA-Da7-Q_yW.d.mts → useDPIA-DzWye8JB.d.mts} +13 -2
  148. package/dist/{useDSR-YYZ6FYFs.d.mts → useDSR-C1LksCfP.d.mts} +13 -2
  149. package/dist/{useDSR-CYI7WCXr.d.ts → useDSR-DZel52O1.d.ts} +13 -2
  150. package/dist/{useDefaultPrivacyPolicy-CUluF_ic.d.mts → useDefaultPrivacyPolicy-BsYttRey.d.mts} +13 -2
  151. package/dist/{useDefaultPrivacyPolicy-B7kTHbZh.d.ts → useDefaultPrivacyPolicy-C-mG-A5S.d.ts} +13 -2
  152. package/dist/{useLawfulBasis-CpWuHtyh.d.mts → useLawfulBasis-CKJ-kw84.d.mts} +13 -2
  153. package/dist/{useLawfulBasis-CCWF9waR.d.ts → useLawfulBasis-DFTmu1ca.d.ts} +13 -2
  154. package/dist/{useROPA-BhJ3kvHp.d.ts → useROPA-BSSU1rfx.d.ts} +14 -2
  155. package/dist/{useROPA-DLFdjkxP.d.mts → useROPA-C2hjaBTz.d.mts} +14 -2
  156. package/package.json +18 -2
  157. package/dist/chunk-2XFAV267.mjs +0 -2
  158. package/dist/chunk-32UIWTGD.js +0 -72
  159. package/dist/chunk-3YCV2BA6.js +0 -2
  160. package/dist/chunk-4A354HL3.js +0 -2
  161. package/dist/chunk-5ZBO2UPH.js +0 -2
  162. package/dist/chunk-6GGGTRDZ.mjs +0 -2
  163. package/dist/chunk-BGHQTZAC.js +0 -94
  164. package/dist/chunk-BZTTQS4A.mjs +0 -7
  165. package/dist/chunk-EKVTLHBQ.js +0 -2
  166. package/dist/chunk-GMLNWS2N.mjs +0 -2
  167. package/dist/chunk-IBEKLDBY.mjs +0 -2
  168. package/dist/chunk-K3GMTMQ6.js +0 -2
  169. package/dist/chunk-L52PDW6O.mjs +0 -2
  170. package/dist/chunk-LI6WJ3LZ.js +0 -2
  171. package/dist/chunk-LXRXDTPI.js +0 -2
  172. package/dist/chunk-NW4A3JW6.mjs +0 -2
  173. package/dist/chunk-OITITR6K.mjs +0 -2
  174. package/dist/chunk-PDJGTQMY.mjs +0 -2
  175. package/dist/chunk-SKJCQKFL.mjs +0 -94
  176. package/dist/chunk-T44JQT2O.mjs +0 -2
  177. package/dist/chunk-TCJCE6WN.js +0 -2
  178. package/dist/chunk-VMJBW3EF.mjs +0 -2
  179. package/dist/chunk-WW3X3ELF.js +0 -2
  180. package/dist/chunk-XMYUYQH7.mjs +0 -72
  181. package/dist/chunk-ZNTMZ6NM.js +0 -7
  182. package/dist/chunk-ZU73VG3X.js +0 -2
@@ -0,0 +1,158 @@
1
+ import React__default from 'react';
2
+ import { B as BreachCategory } from './breach-Eu9byel8.js';
3
+
4
+ /**
5
+ * Represents the data submitted by the breach report form.
6
+ */
7
+ interface BreachFormSubmission {
8
+ /** Title/summary of the breach */
9
+ title: string;
10
+ /** Detailed description of the breach */
11
+ description: string;
12
+ /** Breach category identifier */
13
+ category: string;
14
+ /** Timestamp (ms) when the breach was discovered */
15
+ discoveredAt: number;
16
+ /** Timestamp (ms) when the breach occurred (if known) */
17
+ occurredAt?: number;
18
+ /** Timestamp (ms) when the form was submitted */
19
+ reportedAt: number;
20
+ /** Person reporting the breach */
21
+ reporter: {
22
+ name: string;
23
+ email: string;
24
+ department: string;
25
+ phone?: string;
26
+ };
27
+ /** Systems or applications affected by the breach */
28
+ affectedSystems: string[];
29
+ /** Types of data involved in the breach */
30
+ dataTypes: string[];
31
+ /** Estimated number of affected data subjects */
32
+ estimatedAffectedSubjects?: number;
33
+ /** Current status of the breach */
34
+ status: 'ongoing' | 'contained' | 'resolved';
35
+ /** Initial actions taken to address the breach */
36
+ initialActions?: string;
37
+ /** File attachments included with the report */
38
+ attachments: Array<{
39
+ name: string;
40
+ type: string;
41
+ size: number;
42
+ file: File;
43
+ }>;
44
+ }
45
+ interface BreachReportFormClassNames {
46
+ root?: string;
47
+ title?: string;
48
+ form?: string;
49
+ fieldGroup?: string;
50
+ label?: string;
51
+ input?: string;
52
+ select?: string;
53
+ textarea?: string;
54
+ submitButton?: string;
55
+ /** Alias for submitButton */
56
+ primaryButton?: string;
57
+ notice?: string;
58
+ /** Custom class applied when isSubmitting is true (e.g. a loading overlay) */
59
+ loadingOverlay?: string;
60
+ }
61
+ interface BreachReportFormProps {
62
+ /**
63
+ * Available breach categories
64
+ */
65
+ categories: BreachCategory[];
66
+ /**
67
+ * Callback function called when form is submitted
68
+ */
69
+ onSubmit: (data: BreachFormSubmission) => void;
70
+ /**
71
+ * Callback function called when form validation fails
72
+ */
73
+ onValidationError?: (errors: Record<string, string>) => void;
74
+ /**
75
+ * Title displayed on the form
76
+ * @default "Report a Data Breach"
77
+ */
78
+ title?: string;
79
+ /**
80
+ * Description text displayed on the form
81
+ * @default "Use this form to report a suspected or confirmed data breach in accordance with NDPA Section 40. All fields marked with * are required."
82
+ */
83
+ formDescription?: string;
84
+ /**
85
+ * Text for the submit button
86
+ * @default "Submit Report"
87
+ */
88
+ submitButtonText?: string;
89
+ /**
90
+ * Custom CSS class for the form
91
+ */
92
+ className?: string;
93
+ /**
94
+ * Custom CSS class for the submit button
95
+ */
96
+ buttonClassName?: string;
97
+ /**
98
+ * Override class names for individual elements
99
+ */
100
+ classNames?: BreachReportFormClassNames;
101
+ /**
102
+ * Remove all default styles, only applying classNames overrides
103
+ */
104
+ unstyled?: boolean;
105
+ /**
106
+ * Whether the form is currently submitting.
107
+ * When true, the submit button is disabled and shows "Submitting..." text.
108
+ */
109
+ isSubmitting?: boolean;
110
+ /**
111
+ * Whether to show a confirmation message after submission
112
+ * @default true
113
+ */
114
+ showConfirmation?: boolean;
115
+ /**
116
+ * Confirmation message to display after submission
117
+ * @default "Your breach report has been submitted successfully. The data protection team has been notified."
118
+ */
119
+ confirmationMessage?: string;
120
+ /**
121
+ * Whether to allow file attachments
122
+ * @default true
123
+ */
124
+ allowAttachments?: boolean;
125
+ /**
126
+ * Maximum number of attachments allowed
127
+ * @default 5
128
+ */
129
+ maxAttachments?: number;
130
+ /**
131
+ * Maximum file size for attachments (in bytes)
132
+ * @default 5242880 (5MB)
133
+ */
134
+ maxFileSize?: number;
135
+ /**
136
+ * Allowed file types for attachments
137
+ * @default ['.pdf', '.jpg', '.jpeg', '.png', '.doc', '.docx', '.xls', '.xlsx', '.txt']
138
+ */
139
+ allowedFileTypes?: string[];
140
+ /**
141
+ * Default values to pre-fill form fields.
142
+ * Useful for editing existing breach reports or pre-populating known data.
143
+ */
144
+ defaultValues?: Partial<BreachFormSubmission>;
145
+ /**
146
+ * Callback fired when the form is reset via the Reset button.
147
+ * To fully remount the component (clearing all internal state),
148
+ * change the `key` prop from the parent.
149
+ */
150
+ onReset?: () => void;
151
+ }
152
+ /**
153
+ * Breach report form component. Implements NDPA Section 40 breach notification requirements,
154
+ * enabling organizations to document and report data breaches within the mandated 72-hour window.
155
+ */
156
+ declare const BreachReportForm: React__default.FC<BreachReportFormProps>;
157
+
158
+ export { type BreachFormSubmission as B, BreachReportForm as a, type BreachReportFormClassNames as b, type BreachReportFormProps as c };
@@ -0,0 +1,158 @@
1
+ import React__default from 'react';
2
+ import { B as BreachCategory } from './breach-Eu9byel8.mjs';
3
+
4
+ /**
5
+ * Represents the data submitted by the breach report form.
6
+ */
7
+ interface BreachFormSubmission {
8
+ /** Title/summary of the breach */
9
+ title: string;
10
+ /** Detailed description of the breach */
11
+ description: string;
12
+ /** Breach category identifier */
13
+ category: string;
14
+ /** Timestamp (ms) when the breach was discovered */
15
+ discoveredAt: number;
16
+ /** Timestamp (ms) when the breach occurred (if known) */
17
+ occurredAt?: number;
18
+ /** Timestamp (ms) when the form was submitted */
19
+ reportedAt: number;
20
+ /** Person reporting the breach */
21
+ reporter: {
22
+ name: string;
23
+ email: string;
24
+ department: string;
25
+ phone?: string;
26
+ };
27
+ /** Systems or applications affected by the breach */
28
+ affectedSystems: string[];
29
+ /** Types of data involved in the breach */
30
+ dataTypes: string[];
31
+ /** Estimated number of affected data subjects */
32
+ estimatedAffectedSubjects?: number;
33
+ /** Current status of the breach */
34
+ status: 'ongoing' | 'contained' | 'resolved';
35
+ /** Initial actions taken to address the breach */
36
+ initialActions?: string;
37
+ /** File attachments included with the report */
38
+ attachments: Array<{
39
+ name: string;
40
+ type: string;
41
+ size: number;
42
+ file: File;
43
+ }>;
44
+ }
45
+ interface BreachReportFormClassNames {
46
+ root?: string;
47
+ title?: string;
48
+ form?: string;
49
+ fieldGroup?: string;
50
+ label?: string;
51
+ input?: string;
52
+ select?: string;
53
+ textarea?: string;
54
+ submitButton?: string;
55
+ /** Alias for submitButton */
56
+ primaryButton?: string;
57
+ notice?: string;
58
+ /** Custom class applied when isSubmitting is true (e.g. a loading overlay) */
59
+ loadingOverlay?: string;
60
+ }
61
+ interface BreachReportFormProps {
62
+ /**
63
+ * Available breach categories
64
+ */
65
+ categories: BreachCategory[];
66
+ /**
67
+ * Callback function called when form is submitted
68
+ */
69
+ onSubmit: (data: BreachFormSubmission) => void;
70
+ /**
71
+ * Callback function called when form validation fails
72
+ */
73
+ onValidationError?: (errors: Record<string, string>) => void;
74
+ /**
75
+ * Title displayed on the form
76
+ * @default "Report a Data Breach"
77
+ */
78
+ title?: string;
79
+ /**
80
+ * Description text displayed on the form
81
+ * @default "Use this form to report a suspected or confirmed data breach in accordance with NDPA Section 40. All fields marked with * are required."
82
+ */
83
+ formDescription?: string;
84
+ /**
85
+ * Text for the submit button
86
+ * @default "Submit Report"
87
+ */
88
+ submitButtonText?: string;
89
+ /**
90
+ * Custom CSS class for the form
91
+ */
92
+ className?: string;
93
+ /**
94
+ * Custom CSS class for the submit button
95
+ */
96
+ buttonClassName?: string;
97
+ /**
98
+ * Override class names for individual elements
99
+ */
100
+ classNames?: BreachReportFormClassNames;
101
+ /**
102
+ * Remove all default styles, only applying classNames overrides
103
+ */
104
+ unstyled?: boolean;
105
+ /**
106
+ * Whether the form is currently submitting.
107
+ * When true, the submit button is disabled and shows "Submitting..." text.
108
+ */
109
+ isSubmitting?: boolean;
110
+ /**
111
+ * Whether to show a confirmation message after submission
112
+ * @default true
113
+ */
114
+ showConfirmation?: boolean;
115
+ /**
116
+ * Confirmation message to display after submission
117
+ * @default "Your breach report has been submitted successfully. The data protection team has been notified."
118
+ */
119
+ confirmationMessage?: string;
120
+ /**
121
+ * Whether to allow file attachments
122
+ * @default true
123
+ */
124
+ allowAttachments?: boolean;
125
+ /**
126
+ * Maximum number of attachments allowed
127
+ * @default 5
128
+ */
129
+ maxAttachments?: number;
130
+ /**
131
+ * Maximum file size for attachments (in bytes)
132
+ * @default 5242880 (5MB)
133
+ */
134
+ maxFileSize?: number;
135
+ /**
136
+ * Allowed file types for attachments
137
+ * @default ['.pdf', '.jpg', '.jpeg', '.png', '.doc', '.docx', '.xls', '.xlsx', '.txt']
138
+ */
139
+ allowedFileTypes?: string[];
140
+ /**
141
+ * Default values to pre-fill form fields.
142
+ * Useful for editing existing breach reports or pre-populating known data.
143
+ */
144
+ defaultValues?: Partial<BreachFormSubmission>;
145
+ /**
146
+ * Callback fired when the form is reset via the Reset button.
147
+ * To fully remount the component (clearing all internal state),
148
+ * change the `key` prop from the parent.
149
+ */
150
+ onReset?: () => void;
151
+ }
152
+ /**
153
+ * Breach report form component. Implements NDPA Section 40 breach notification requirements,
154
+ * enabling organizations to document and report data breaches within the mandated 72-hour window.
155
+ */
156
+ declare const BreachReportForm: React__default.FC<BreachReportFormProps>;
157
+
158
+ export { type BreachFormSubmission as B, BreachReportForm as a, type BreachReportFormClassNames as b, type BreachReportFormProps as c };
@@ -0,0 +1,146 @@
1
+ import React__default from 'react';
2
+ import { C as ConsentOption, a as ConsentSettings } from './consent-CmVzqZUk.mjs';
3
+
4
+ interface ConsentAnalyticsEvent {
5
+ action: 'shown' | 'accepted_all' | 'rejected_all' | 'customized' | 'dismissed';
6
+ timestamp: number;
7
+ version: string;
8
+ categories?: Record<string, boolean>;
9
+ }
10
+ interface ConsentBannerClassNames {
11
+ root?: string;
12
+ container?: string;
13
+ title?: string;
14
+ description?: string;
15
+ optionsList?: string;
16
+ optionItem?: string;
17
+ optionCheckbox?: string;
18
+ optionLabel?: string;
19
+ optionDescription?: string;
20
+ buttonGroup?: string;
21
+ acceptButton?: string;
22
+ rejectButton?: string;
23
+ customizeButton?: string;
24
+ saveButton?: string;
25
+ customizePanel?: string;
26
+ selectAllButton?: string;
27
+ /** Alias for acceptButton */
28
+ primaryButton?: string;
29
+ /** Alias for rejectButton */
30
+ secondaryButton?: string;
31
+ }
32
+ interface ConsentBannerProps {
33
+ /**
34
+ * Array of consent options to display
35
+ */
36
+ options: ConsentOption[];
37
+ /**
38
+ * Callback function called when user saves their consent choices
39
+ */
40
+ onSave: (settings: ConsentSettings) => void;
41
+ /**
42
+ * Title displayed on the banner
43
+ * @default "We Value Your Privacy"
44
+ */
45
+ title?: string;
46
+ /**
47
+ * Description text displayed on the banner
48
+ * @default "We use cookies and similar technologies to provide our services and enhance your experience. Your consent is collected in accordance with NDPA Sections 25-26."
49
+ */
50
+ description?: string;
51
+ /**
52
+ * Text for the accept all button
53
+ * @default "Accept All"
54
+ */
55
+ acceptAllButtonText?: string;
56
+ /**
57
+ * Text for the reject all button
58
+ * @default "Reject All"
59
+ */
60
+ rejectAllButtonText?: string;
61
+ /**
62
+ * Text for the customize button
63
+ * @default "Customize"
64
+ */
65
+ customizeButtonText?: string;
66
+ /**
67
+ * Text for the save button
68
+ * @default "Save Preferences"
69
+ */
70
+ saveButtonText?: string;
71
+ /**
72
+ * Position of the banner.
73
+ * 'top', 'bottom', and 'center' render via a portal to document.body
74
+ * with fixed positioning so the banner overlays the page.
75
+ * 'inline' renders in the normal DOM tree without a portal.
76
+ * @default "bottom"
77
+ */
78
+ position?: 'top' | 'bottom' | 'center' | 'inline';
79
+ /**
80
+ * z-index applied to the fixed-position banner.
81
+ * Ignored when position is 'inline'.
82
+ * @default 9999
83
+ */
84
+ zIndex?: number;
85
+ /**
86
+ * Version of the consent form
87
+ * @default "1.0"
88
+ */
89
+ version?: string;
90
+ /**
91
+ * Whether to show the banner
92
+ * If not provided, the banner will be shown if no consent has been saved
93
+ */
94
+ show?: boolean;
95
+ /**
96
+ * Storage key for consent settings
97
+ * @default "ndpr_consent"
98
+ */
99
+ storageKey?: string;
100
+ /**
101
+ * Whether the banner manages its own localStorage persistence.
102
+ * Set to false when an external storage mechanism (e.g., ConsentStorage)
103
+ * is responsible for persisting consent settings under the same key.
104
+ * This avoids race conditions where two writers target the same storage key.
105
+ * @default true
106
+ */
107
+ manageStorage?: boolean;
108
+ /**
109
+ * Custom CSS class for the banner
110
+ */
111
+ className?: string;
112
+ /**
113
+ * Custom CSS class for the buttons
114
+ */
115
+ buttonClassName?: string;
116
+ /**
117
+ * Custom CSS class for the primary button
118
+ */
119
+ primaryButtonClassName?: string;
120
+ /**
121
+ * Custom CSS class for the secondary button
122
+ */
123
+ secondaryButtonClassName?: string;
124
+ /**
125
+ * Object of CSS class overrides keyed by semantic section name.
126
+ * Takes priority over buttonClassName / primaryButtonClassName / secondaryButtonClassName.
127
+ */
128
+ classNames?: ConsentBannerClassNames;
129
+ /**
130
+ * When true, all default Tailwind classes are removed so consumers
131
+ * can style from scratch using classNames.
132
+ */
133
+ unstyled?: boolean;
134
+ /**
135
+ * Optional analytics callback fired on each user interaction.
136
+ * Called when the banner is shown, accepted, rejected, customized, or dismissed.
137
+ */
138
+ onAnalytics?: (event: ConsentAnalyticsEvent) => void;
139
+ }
140
+ /**
141
+ * Consent banner component. Implements NDPA Sections 25-26 consent requirements
142
+ * for obtaining and managing data subject consent.
143
+ */
144
+ declare const ConsentBanner: React__default.FC<ConsentBannerProps>;
145
+
146
+ export { type ConsentAnalyticsEvent as C, ConsentBanner as a, type ConsentBannerClassNames as b, type ConsentBannerProps as c };
@@ -0,0 +1,146 @@
1
+ import React__default from 'react';
2
+ import { C as ConsentOption, a as ConsentSettings } from './consent-CmVzqZUk.js';
3
+
4
+ interface ConsentAnalyticsEvent {
5
+ action: 'shown' | 'accepted_all' | 'rejected_all' | 'customized' | 'dismissed';
6
+ timestamp: number;
7
+ version: string;
8
+ categories?: Record<string, boolean>;
9
+ }
10
+ interface ConsentBannerClassNames {
11
+ root?: string;
12
+ container?: string;
13
+ title?: string;
14
+ description?: string;
15
+ optionsList?: string;
16
+ optionItem?: string;
17
+ optionCheckbox?: string;
18
+ optionLabel?: string;
19
+ optionDescription?: string;
20
+ buttonGroup?: string;
21
+ acceptButton?: string;
22
+ rejectButton?: string;
23
+ customizeButton?: string;
24
+ saveButton?: string;
25
+ customizePanel?: string;
26
+ selectAllButton?: string;
27
+ /** Alias for acceptButton */
28
+ primaryButton?: string;
29
+ /** Alias for rejectButton */
30
+ secondaryButton?: string;
31
+ }
32
+ interface ConsentBannerProps {
33
+ /**
34
+ * Array of consent options to display
35
+ */
36
+ options: ConsentOption[];
37
+ /**
38
+ * Callback function called when user saves their consent choices
39
+ */
40
+ onSave: (settings: ConsentSettings) => void;
41
+ /**
42
+ * Title displayed on the banner
43
+ * @default "We Value Your Privacy"
44
+ */
45
+ title?: string;
46
+ /**
47
+ * Description text displayed on the banner
48
+ * @default "We use cookies and similar technologies to provide our services and enhance your experience. Your consent is collected in accordance with NDPA Sections 25-26."
49
+ */
50
+ description?: string;
51
+ /**
52
+ * Text for the accept all button
53
+ * @default "Accept All"
54
+ */
55
+ acceptAllButtonText?: string;
56
+ /**
57
+ * Text for the reject all button
58
+ * @default "Reject All"
59
+ */
60
+ rejectAllButtonText?: string;
61
+ /**
62
+ * Text for the customize button
63
+ * @default "Customize"
64
+ */
65
+ customizeButtonText?: string;
66
+ /**
67
+ * Text for the save button
68
+ * @default "Save Preferences"
69
+ */
70
+ saveButtonText?: string;
71
+ /**
72
+ * Position of the banner.
73
+ * 'top', 'bottom', and 'center' render via a portal to document.body
74
+ * with fixed positioning so the banner overlays the page.
75
+ * 'inline' renders in the normal DOM tree without a portal.
76
+ * @default "bottom"
77
+ */
78
+ position?: 'top' | 'bottom' | 'center' | 'inline';
79
+ /**
80
+ * z-index applied to the fixed-position banner.
81
+ * Ignored when position is 'inline'.
82
+ * @default 9999
83
+ */
84
+ zIndex?: number;
85
+ /**
86
+ * Version of the consent form
87
+ * @default "1.0"
88
+ */
89
+ version?: string;
90
+ /**
91
+ * Whether to show the banner
92
+ * If not provided, the banner will be shown if no consent has been saved
93
+ */
94
+ show?: boolean;
95
+ /**
96
+ * Storage key for consent settings
97
+ * @default "ndpr_consent"
98
+ */
99
+ storageKey?: string;
100
+ /**
101
+ * Whether the banner manages its own localStorage persistence.
102
+ * Set to false when an external storage mechanism (e.g., ConsentStorage)
103
+ * is responsible for persisting consent settings under the same key.
104
+ * This avoids race conditions where two writers target the same storage key.
105
+ * @default true
106
+ */
107
+ manageStorage?: boolean;
108
+ /**
109
+ * Custom CSS class for the banner
110
+ */
111
+ className?: string;
112
+ /**
113
+ * Custom CSS class for the buttons
114
+ */
115
+ buttonClassName?: string;
116
+ /**
117
+ * Custom CSS class for the primary button
118
+ */
119
+ primaryButtonClassName?: string;
120
+ /**
121
+ * Custom CSS class for the secondary button
122
+ */
123
+ secondaryButtonClassName?: string;
124
+ /**
125
+ * Object of CSS class overrides keyed by semantic section name.
126
+ * Takes priority over buttonClassName / primaryButtonClassName / secondaryButtonClassName.
127
+ */
128
+ classNames?: ConsentBannerClassNames;
129
+ /**
130
+ * When true, all default Tailwind classes are removed so consumers
131
+ * can style from scratch using classNames.
132
+ */
133
+ unstyled?: boolean;
134
+ /**
135
+ * Optional analytics callback fired on each user interaction.
136
+ * Called when the banner is shown, accepted, rejected, customized, or dismissed.
137
+ */
138
+ onAnalytics?: (event: ConsentAnalyticsEvent) => void;
139
+ }
140
+ /**
141
+ * Consent banner component. Implements NDPA Sections 25-26 consent requirements
142
+ * for obtaining and managing data subject consent.
143
+ */
144
+ declare const ConsentBanner: React__default.FC<ConsentBannerProps>;
145
+
146
+ export { type ConsentAnalyticsEvent as C, ConsentBanner as a, type ConsentBannerClassNames as b, type ConsentBannerProps as c };
@@ -1,6 +1,5 @@
1
- import React from 'react';
2
- import { a as CrossBorderTransfer, C as CrossBorderSummary } from './cross-border-BMcqLvjC.js';
3
- import './useCrossBorderTransfer-DmtACeqW.js';
1
+ import React__default from 'react';
2
+ import { a as CrossBorderTransfer, C as CrossBorderSummary } from './cross-border-UyT00llA.js';
4
3
 
5
4
  interface CrossBorderTransferManagerClassNames {
6
5
  root?: string;
@@ -86,6 +85,6 @@ interface CrossBorderTransferManagerProps {
86
85
  * for managing international data transfers, including adequacy decisions, standard contractual
87
86
  * clauses, and NDPC authorization.
88
87
  */
89
- declare const CrossBorderTransferManager: React.FC<CrossBorderTransferManagerProps>;
88
+ declare const CrossBorderTransferManager: React__default.FC<CrossBorderTransferManagerProps>;
90
89
 
91
- export { CrossBorderTransferManager as C, type CrossBorderTransferManagerClassNames as a };
90
+ export { CrossBorderTransferManager as C, type CrossBorderTransferManagerClassNames as a, type CrossBorderTransferManagerProps as b };
@@ -1,6 +1,5 @@
1
- import React from 'react';
2
- import { a as CrossBorderTransfer, C as CrossBorderSummary } from './cross-border-BMcqLvjC.mjs';
3
- import './useCrossBorderTransfer-BZVFCXfr.mjs';
1
+ import React__default from 'react';
2
+ import { a as CrossBorderTransfer, C as CrossBorderSummary } from './cross-border-UyT00llA.mjs';
4
3
 
5
4
  interface CrossBorderTransferManagerClassNames {
6
5
  root?: string;
@@ -86,6 +85,6 @@ interface CrossBorderTransferManagerProps {
86
85
  * for managing international data transfers, including adequacy decisions, standard contractual
87
86
  * clauses, and NDPC authorization.
88
87
  */
89
- declare const CrossBorderTransferManager: React.FC<CrossBorderTransferManagerProps>;
88
+ declare const CrossBorderTransferManager: React__default.FC<CrossBorderTransferManagerProps>;
90
89
 
91
- export { CrossBorderTransferManager as C, type CrossBorderTransferManagerClassNames as a };
90
+ export { CrossBorderTransferManager as C, type CrossBorderTransferManagerClassNames as a, type CrossBorderTransferManagerProps as b };