@tantainnovative/ndpr-toolkit 2.4.0 → 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 (184) 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/{breach-ouXoVTWs.d.ts → RegulatoryReportGenerator-BUYgzTTT.d.ts} +6 -162
  25. package/dist/{breach-yRiyyc4n.d.mts → RegulatoryReportGenerator-DwcHcEFp.d.mts} +6 -162
  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 +43 -4
  33. package/dist/breach.d.ts +43 -4
  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 +36 -4
  103. package/dist/dsr.d.ts +36 -4
  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
  183. package/dist/dsr-190YpijW.d.ts +0 -307
  184. package/dist/dsr-BTT-Xd7H.d.mts +0 -307
@@ -0,0 +1,96 @@
1
+ import React__default from 'react';
2
+ import { P as PolicySection, b as PolicyVariable } from './privacy-Ca6te9Ir.js';
3
+
4
+ interface PolicyGeneratorClassNames {
5
+ /** Root container */
6
+ root?: string;
7
+ /** Header area containing title and description */
8
+ header?: string;
9
+ /** Title element */
10
+ title?: string;
11
+ /** Description element */
12
+ description?: string;
13
+ /** Section list container */
14
+ sectionList?: string;
15
+ /** Individual section item */
16
+ sectionItem?: string;
17
+ /** Variable form container */
18
+ form?: string;
19
+ /** Form input fields */
20
+ input?: string;
21
+ /** Generate button */
22
+ generateButton?: string;
23
+ /** Alias for generateButton */
24
+ primaryButton?: string;
25
+ /** NDPA compliance notice */
26
+ complianceNotice?: string;
27
+ }
28
+ interface PolicyGeneratorProps {
29
+ /**
30
+ * List of policy sections
31
+ * @default DEFAULT_POLICY_SECTIONS
32
+ */
33
+ sections?: PolicySection[];
34
+ /**
35
+ * List of policy variables
36
+ * @default DEFAULT_POLICY_VARIABLES
37
+ */
38
+ variables?: PolicyVariable[];
39
+ /**
40
+ * Callback function called when the policy is generated
41
+ */
42
+ onGenerate: (policy: {
43
+ sections: PolicySection[];
44
+ variables: PolicyVariable[];
45
+ content: string;
46
+ }) => void;
47
+ /**
48
+ * Title displayed on the generator
49
+ * @default "NDPA Privacy Policy Generator"
50
+ */
51
+ title?: string;
52
+ /**
53
+ * Description text displayed on the generator
54
+ * @default "Generate an NDPA-compliant privacy policy for your organization in accordance with NDPA Section 24."
55
+ */
56
+ description?: string;
57
+ /**
58
+ * Custom CSS class for the generator
59
+ */
60
+ className?: string;
61
+ /**
62
+ * Custom CSS class for the buttons
63
+ */
64
+ buttonClassName?: string;
65
+ /**
66
+ * Text for the generate button
67
+ * @default "Generate Policy"
68
+ */
69
+ generateButtonText?: string;
70
+ /**
71
+ * Whether to show a preview of the generated policy
72
+ * @default true
73
+ */
74
+ showPreview?: boolean;
75
+ /**
76
+ * Whether to allow editing the policy content
77
+ * @default true
78
+ */
79
+ allowEditing?: boolean;
80
+ /**
81
+ * Override class names for internal elements
82
+ */
83
+ classNames?: PolicyGeneratorClassNames;
84
+ /**
85
+ * If true, removes all default styles. Use with classNames to apply your own.
86
+ * @default false
87
+ */
88
+ unstyled?: boolean;
89
+ }
90
+ /**
91
+ * Privacy policy generator component. Implements NDPA Section 24 transparency requirements,
92
+ * helping organizations generate compliant privacy policies that disclose required information.
93
+ */
94
+ declare const PolicyGenerator: React__default.FC<PolicyGeneratorProps>;
95
+
96
+ export { PolicyGenerator as P, type PolicyGeneratorClassNames as a, type PolicyGeneratorProps as b };
@@ -1,6 +1,5 @@
1
- import React from 'react';
2
- import { c as RecordOfProcessingActivities, P as ProcessingRecord } from './ropa-Li6UlL5H.js';
3
- import './useROPA-BhJ3kvHp.js';
1
+ import React__default from 'react';
2
+ import { a as RecordOfProcessingActivities, P as ProcessingRecord } from './ropa-CFHuT7jE.mjs';
4
3
 
5
4
  interface ROPAManagerClassNames {
6
5
  root?: string;
@@ -75,6 +74,6 @@ interface ROPAManagerProps {
75
74
  * accountability principle, requiring organizations to maintain comprehensive records
76
75
  * of all personal data processing activities.
77
76
  */
78
- declare const ROPAManager: React.FC<ROPAManagerProps>;
77
+ declare const ROPAManager: React__default.FC<ROPAManagerProps>;
79
78
 
80
- export { ROPAManager as R, type ROPAManagerClassNames as a };
79
+ export { ROPAManager as R, type ROPAManagerClassNames as a, type ROPAManagerProps as b };
@@ -1,6 +1,5 @@
1
- import React from 'react';
2
- import { c as RecordOfProcessingActivities, P as ProcessingRecord } from './ropa-DP7pPPql.mjs';
3
- import './useROPA-DLFdjkxP.mjs';
1
+ import React__default from 'react';
2
+ import { a as RecordOfProcessingActivities, P as ProcessingRecord } from './ropa-BDTM06tr.js';
4
3
 
5
4
  interface ROPAManagerClassNames {
6
5
  root?: string;
@@ -75,6 +74,6 @@ interface ROPAManagerProps {
75
74
  * accountability principle, requiring organizations to maintain comprehensive records
76
75
  * of all personal data processing activities.
77
76
  */
78
- declare const ROPAManager: React.FC<ROPAManagerProps>;
77
+ declare const ROPAManager: React__default.FC<ROPAManagerProps>;
79
78
 
80
- export { ROPAManager as R, type ROPAManagerClassNames as a };
79
+ export { ROPAManager as R, type ROPAManagerClassNames as a, type ROPAManagerProps as b };
@@ -1,161 +1,5 @@
1
- import React from 'react';
2
- import { B as BreachCategory, a as BreachReport, b as RiskAssessment, R as RegulatoryNotification } from './breach-Eu9byel8.js';
3
- import './useBreach-lFLbSyAN.js';
4
- import './breach-CzXqSsaY.js';
5
-
6
- /**
7
- * Represents the data submitted by the breach report form.
8
- */
9
- interface BreachFormSubmission {
10
- /** Title/summary of the breach */
11
- title: string;
12
- /** Detailed description of the breach */
13
- description: string;
14
- /** Breach category identifier */
15
- category: string;
16
- /** Timestamp (ms) when the breach was discovered */
17
- discoveredAt: number;
18
- /** Timestamp (ms) when the breach occurred (if known) */
19
- occurredAt?: number;
20
- /** Timestamp (ms) when the form was submitted */
21
- reportedAt: number;
22
- /** Person reporting the breach */
23
- reporter: {
24
- name: string;
25
- email: string;
26
- department: string;
27
- phone?: string;
28
- };
29
- /** Systems or applications affected by the breach */
30
- affectedSystems: string[];
31
- /** Types of data involved in the breach */
32
- dataTypes: string[];
33
- /** Estimated number of affected data subjects */
34
- estimatedAffectedSubjects?: number;
35
- /** Current status of the breach */
36
- status: 'ongoing' | 'contained' | 'resolved';
37
- /** Initial actions taken to address the breach */
38
- initialActions?: string;
39
- /** File attachments included with the report */
40
- attachments: Array<{
41
- name: string;
42
- type: string;
43
- size: number;
44
- file: File;
45
- }>;
46
- }
47
- interface BreachReportFormClassNames {
48
- root?: string;
49
- title?: string;
50
- form?: string;
51
- fieldGroup?: string;
52
- label?: string;
53
- input?: string;
54
- select?: string;
55
- textarea?: string;
56
- submitButton?: string;
57
- /** Alias for submitButton */
58
- primaryButton?: string;
59
- notice?: string;
60
- /** Custom class applied when isSubmitting is true (e.g. a loading overlay) */
61
- loadingOverlay?: string;
62
- }
63
- interface BreachReportFormProps {
64
- /**
65
- * Available breach categories
66
- */
67
- categories: BreachCategory[];
68
- /**
69
- * Callback function called when form is submitted
70
- */
71
- onSubmit: (data: BreachFormSubmission) => void;
72
- /**
73
- * Callback function called when form validation fails
74
- */
75
- onValidationError?: (errors: Record<string, string>) => void;
76
- /**
77
- * Title displayed on the form
78
- * @default "Report a Data Breach"
79
- */
80
- title?: string;
81
- /**
82
- * Description text displayed on the form
83
- * @default "Use this form to report a suspected or confirmed data breach in accordance with NDPA Section 40. All fields marked with * are required."
84
- */
85
- formDescription?: string;
86
- /**
87
- * Text for the submit button
88
- * @default "Submit Report"
89
- */
90
- submitButtonText?: string;
91
- /**
92
- * Custom CSS class for the form
93
- */
94
- className?: string;
95
- /**
96
- * Custom CSS class for the submit button
97
- */
98
- buttonClassName?: string;
99
- /**
100
- * Override class names for individual elements
101
- */
102
- classNames?: BreachReportFormClassNames;
103
- /**
104
- * Remove all default styles, only applying classNames overrides
105
- */
106
- unstyled?: boolean;
107
- /**
108
- * Whether the form is currently submitting.
109
- * When true, the submit button is disabled and shows "Submitting..." text.
110
- */
111
- isSubmitting?: boolean;
112
- /**
113
- * Whether to show a confirmation message after submission
114
- * @default true
115
- */
116
- showConfirmation?: boolean;
117
- /**
118
- * Confirmation message to display after submission
119
- * @default "Your breach report has been submitted successfully. The data protection team has been notified."
120
- */
121
- confirmationMessage?: string;
122
- /**
123
- * Whether to allow file attachments
124
- * @default true
125
- */
126
- allowAttachments?: boolean;
127
- /**
128
- * Maximum number of attachments allowed
129
- * @default 5
130
- */
131
- maxAttachments?: number;
132
- /**
133
- * Maximum file size for attachments (in bytes)
134
- * @default 5242880 (5MB)
135
- */
136
- maxFileSize?: number;
137
- /**
138
- * Allowed file types for attachments
139
- * @default ['.pdf', '.jpg', '.jpeg', '.png', '.doc', '.docx', '.xls', '.xlsx', '.txt']
140
- */
141
- allowedFileTypes?: string[];
142
- /**
143
- * Default values to pre-fill form fields.
144
- * Useful for editing existing breach reports or pre-populating known data.
145
- */
146
- defaultValues?: Partial<BreachFormSubmission>;
147
- /**
148
- * Callback fired when the form is reset via the Reset button.
149
- * To fully remount the component (clearing all internal state),
150
- * change the `key` prop from the parent.
151
- */
152
- onReset?: () => void;
153
- }
154
- /**
155
- * Breach report form component. Implements NDPA Section 40 breach notification requirements,
156
- * enabling organizations to document and report data breaches within the mandated 72-hour window.
157
- */
158
- declare const BreachReportForm: React.FC<BreachReportFormProps>;
1
+ import React__default from 'react';
2
+ import { a as BreachReport, b as RiskAssessment, R as RegulatoryNotification } from './breach-Eu9byel8.js';
159
3
 
160
4
  interface BreachRiskAssessmentClassNames {
161
5
  root?: string;
@@ -228,7 +72,7 @@ interface BreachRiskAssessmentProps {
228
72
  * Breach risk assessment component. Implements NDPA Section 40 requirements for assessing
229
73
  * breach severity and determining whether NDPC notification is required within 72 hours.
230
74
  */
231
- declare const BreachRiskAssessment: React.FC<BreachRiskAssessmentProps>;
75
+ declare const BreachRiskAssessment: React__default.FC<BreachRiskAssessmentProps>;
232
76
 
233
77
  interface BreachNotificationManagerClassNames {
234
78
  root?: string;
@@ -313,7 +157,7 @@ interface BreachNotificationManagerProps {
313
157
  * managing breach notifications, tracking 72-hour NDPC reporting deadlines, and coordinating
314
158
  * data subject notifications.
315
159
  */
316
- declare const BreachNotificationManager: React.FC<BreachNotificationManagerProps>;
160
+ declare const BreachNotificationManager: React__default.FC<BreachNotificationManagerProps>;
317
161
 
318
162
  interface RegulatoryReportGeneratorClassNames {
319
163
  root?: string;
@@ -433,6 +277,6 @@ interface RegulatoryReportGeneratorProps {
433
277
  * Regulatory report generator component. Implements NDPA Section 40 requirements for
434
278
  * generating formal breach notification reports for submission to the NDPC.
435
279
  */
436
- declare const RegulatoryReportGenerator: React.FC<RegulatoryReportGeneratorProps>;
280
+ declare const RegulatoryReportGenerator: React__default.FC<RegulatoryReportGeneratorProps>;
437
281
 
438
- export { type BreachFormSubmission as B, RegulatoryReportGenerator as R, BreachNotificationManager as a, type BreachNotificationManagerClassNames as b, BreachReportForm as c, type BreachReportFormClassNames as d, BreachRiskAssessment as e, type BreachRiskAssessmentClassNames as f, type RegulatoryReportGeneratorClassNames as g };
282
+ export { BreachNotificationManager as B, RegulatoryReportGenerator as R, type BreachNotificationManagerClassNames as a, BreachRiskAssessment as b, type BreachRiskAssessmentClassNames as c, type RegulatoryReportGeneratorClassNames as d, type BreachRiskAssessmentProps as e, type BreachNotificationManagerProps as f, type RegulatoryReportGeneratorProps as g };
@@ -1,161 +1,5 @@
1
- import React from 'react';
2
- import { B as BreachCategory, a as BreachReport, b as RiskAssessment, R as RegulatoryNotification } from './breach-Eu9byel8.mjs';
3
- import './useBreach-BBSoIcZO.mjs';
4
- import './breach-B_-6lDqS.mjs';
5
-
6
- /**
7
- * Represents the data submitted by the breach report form.
8
- */
9
- interface BreachFormSubmission {
10
- /** Title/summary of the breach */
11
- title: string;
12
- /** Detailed description of the breach */
13
- description: string;
14
- /** Breach category identifier */
15
- category: string;
16
- /** Timestamp (ms) when the breach was discovered */
17
- discoveredAt: number;
18
- /** Timestamp (ms) when the breach occurred (if known) */
19
- occurredAt?: number;
20
- /** Timestamp (ms) when the form was submitted */
21
- reportedAt: number;
22
- /** Person reporting the breach */
23
- reporter: {
24
- name: string;
25
- email: string;
26
- department: string;
27
- phone?: string;
28
- };
29
- /** Systems or applications affected by the breach */
30
- affectedSystems: string[];
31
- /** Types of data involved in the breach */
32
- dataTypes: string[];
33
- /** Estimated number of affected data subjects */
34
- estimatedAffectedSubjects?: number;
35
- /** Current status of the breach */
36
- status: 'ongoing' | 'contained' | 'resolved';
37
- /** Initial actions taken to address the breach */
38
- initialActions?: string;
39
- /** File attachments included with the report */
40
- attachments: Array<{
41
- name: string;
42
- type: string;
43
- size: number;
44
- file: File;
45
- }>;
46
- }
47
- interface BreachReportFormClassNames {
48
- root?: string;
49
- title?: string;
50
- form?: string;
51
- fieldGroup?: string;
52
- label?: string;
53
- input?: string;
54
- select?: string;
55
- textarea?: string;
56
- submitButton?: string;
57
- /** Alias for submitButton */
58
- primaryButton?: string;
59
- notice?: string;
60
- /** Custom class applied when isSubmitting is true (e.g. a loading overlay) */
61
- loadingOverlay?: string;
62
- }
63
- interface BreachReportFormProps {
64
- /**
65
- * Available breach categories
66
- */
67
- categories: BreachCategory[];
68
- /**
69
- * Callback function called when form is submitted
70
- */
71
- onSubmit: (data: BreachFormSubmission) => void;
72
- /**
73
- * Callback function called when form validation fails
74
- */
75
- onValidationError?: (errors: Record<string, string>) => void;
76
- /**
77
- * Title displayed on the form
78
- * @default "Report a Data Breach"
79
- */
80
- title?: string;
81
- /**
82
- * Description text displayed on the form
83
- * @default "Use this form to report a suspected or confirmed data breach in accordance with NDPA Section 40. All fields marked with * are required."
84
- */
85
- formDescription?: string;
86
- /**
87
- * Text for the submit button
88
- * @default "Submit Report"
89
- */
90
- submitButtonText?: string;
91
- /**
92
- * Custom CSS class for the form
93
- */
94
- className?: string;
95
- /**
96
- * Custom CSS class for the submit button
97
- */
98
- buttonClassName?: string;
99
- /**
100
- * Override class names for individual elements
101
- */
102
- classNames?: BreachReportFormClassNames;
103
- /**
104
- * Remove all default styles, only applying classNames overrides
105
- */
106
- unstyled?: boolean;
107
- /**
108
- * Whether the form is currently submitting.
109
- * When true, the submit button is disabled and shows "Submitting..." text.
110
- */
111
- isSubmitting?: boolean;
112
- /**
113
- * Whether to show a confirmation message after submission
114
- * @default true
115
- */
116
- showConfirmation?: boolean;
117
- /**
118
- * Confirmation message to display after submission
119
- * @default "Your breach report has been submitted successfully. The data protection team has been notified."
120
- */
121
- confirmationMessage?: string;
122
- /**
123
- * Whether to allow file attachments
124
- * @default true
125
- */
126
- allowAttachments?: boolean;
127
- /**
128
- * Maximum number of attachments allowed
129
- * @default 5
130
- */
131
- maxAttachments?: number;
132
- /**
133
- * Maximum file size for attachments (in bytes)
134
- * @default 5242880 (5MB)
135
- */
136
- maxFileSize?: number;
137
- /**
138
- * Allowed file types for attachments
139
- * @default ['.pdf', '.jpg', '.jpeg', '.png', '.doc', '.docx', '.xls', '.xlsx', '.txt']
140
- */
141
- allowedFileTypes?: string[];
142
- /**
143
- * Default values to pre-fill form fields.
144
- * Useful for editing existing breach reports or pre-populating known data.
145
- */
146
- defaultValues?: Partial<BreachFormSubmission>;
147
- /**
148
- * Callback fired when the form is reset via the Reset button.
149
- * To fully remount the component (clearing all internal state),
150
- * change the `key` prop from the parent.
151
- */
152
- onReset?: () => void;
153
- }
154
- /**
155
- * Breach report form component. Implements NDPA Section 40 breach notification requirements,
156
- * enabling organizations to document and report data breaches within the mandated 72-hour window.
157
- */
158
- declare const BreachReportForm: React.FC<BreachReportFormProps>;
1
+ import React__default from 'react';
2
+ import { a as BreachReport, b as RiskAssessment, R as RegulatoryNotification } from './breach-Eu9byel8.mjs';
159
3
 
160
4
  interface BreachRiskAssessmentClassNames {
161
5
  root?: string;
@@ -228,7 +72,7 @@ interface BreachRiskAssessmentProps {
228
72
  * Breach risk assessment component. Implements NDPA Section 40 requirements for assessing
229
73
  * breach severity and determining whether NDPC notification is required within 72 hours.
230
74
  */
231
- declare const BreachRiskAssessment: React.FC<BreachRiskAssessmentProps>;
75
+ declare const BreachRiskAssessment: React__default.FC<BreachRiskAssessmentProps>;
232
76
 
233
77
  interface BreachNotificationManagerClassNames {
234
78
  root?: string;
@@ -313,7 +157,7 @@ interface BreachNotificationManagerProps {
313
157
  * managing breach notifications, tracking 72-hour NDPC reporting deadlines, and coordinating
314
158
  * data subject notifications.
315
159
  */
316
- declare const BreachNotificationManager: React.FC<BreachNotificationManagerProps>;
160
+ declare const BreachNotificationManager: React__default.FC<BreachNotificationManagerProps>;
317
161
 
318
162
  interface RegulatoryReportGeneratorClassNames {
319
163
  root?: string;
@@ -433,6 +277,6 @@ interface RegulatoryReportGeneratorProps {
433
277
  * Regulatory report generator component. Implements NDPA Section 40 requirements for
434
278
  * generating formal breach notification reports for submission to the NDPC.
435
279
  */
436
- declare const RegulatoryReportGenerator: React.FC<RegulatoryReportGeneratorProps>;
280
+ declare const RegulatoryReportGenerator: React__default.FC<RegulatoryReportGeneratorProps>;
437
281
 
438
- export { type BreachFormSubmission as B, RegulatoryReportGenerator as R, BreachNotificationManager as a, type BreachNotificationManagerClassNames as b, BreachReportForm as c, type BreachReportFormClassNames as d, BreachRiskAssessment as e, type BreachRiskAssessmentClassNames as f, type RegulatoryReportGeneratorClassNames as g };
282
+ export { BreachNotificationManager as B, RegulatoryReportGenerator as R, type BreachNotificationManagerClassNames as a, BreachRiskAssessment as b, type BreachRiskAssessmentClassNames as c, type RegulatoryReportGeneratorClassNames as d, type BreachRiskAssessmentProps as e, type BreachNotificationManagerProps as f, type RegulatoryReportGeneratorProps as g };
@@ -0,0 +1,171 @@
1
+ import React__default from 'react';
2
+ import { a as DPIAResult, c as DPIASection } from './dpia-5OQVA1R_.mjs';
3
+
4
+ interface DPIAReportClassNames {
5
+ /** Outermost wrapper */
6
+ root?: string;
7
+ /** Report header area */
8
+ header?: string;
9
+ /** Main report title */
10
+ title?: string;
11
+ /** Executive summary section */
12
+ summary?: string;
13
+ /** Risk level badge */
14
+ riskBadge?: string;
15
+ /** Risks table element */
16
+ riskTable?: string;
17
+ /** Individual risk row */
18
+ riskRow?: string;
19
+ /** Recommendation list item */
20
+ recommendation?: string;
21
+ /** Conclusion text */
22
+ conclusion?: string;
23
+ /** Print button */
24
+ printButton?: string;
25
+ /** Alias for printButton */
26
+ primaryButton?: string;
27
+ }
28
+ interface DPIAReportProps {
29
+ /**
30
+ * The DPIA result to display
31
+ */
32
+ result: DPIAResult;
33
+ /**
34
+ * The sections of the DPIA questionnaire
35
+ */
36
+ sections: DPIASection[];
37
+ /**
38
+ * Whether to show the full report or just a summary
39
+ * @default true
40
+ */
41
+ showFullReport?: boolean;
42
+ /**
43
+ * Whether to allow printing the report
44
+ * @default true
45
+ */
46
+ allowPrint?: boolean;
47
+ /**
48
+ * Whether to allow exporting the report as PDF
49
+ * @default true
50
+ */
51
+ allowExport?: boolean;
52
+ /**
53
+ * Callback function called when the report is exported
54
+ */
55
+ onExport?: (format: 'pdf' | 'docx' | 'html') => void;
56
+ /**
57
+ * Custom CSS class for the report container
58
+ */
59
+ className?: string;
60
+ /**
61
+ * Custom CSS class for the buttons
62
+ */
63
+ buttonClassName?: string;
64
+ /**
65
+ * Per-section class name overrides
66
+ */
67
+ classNames?: DPIAReportClassNames;
68
+ /**
69
+ * When true, all default classes are stripped.
70
+ * Only explicit overrides from `classNames` are applied.
71
+ * @default false
72
+ */
73
+ unstyled?: boolean;
74
+ }
75
+ /**
76
+ * DPIA report component. Implements NDPA Sections 38-39 requirements for documenting
77
+ * and presenting Data Protection Impact Assessment findings, risks, and recommendations.
78
+ */
79
+ declare const DPIAReport: React__default.FC<DPIAReportProps>;
80
+
81
+ interface Step {
82
+ /**
83
+ * Unique identifier for the step
84
+ */
85
+ id: string;
86
+ /**
87
+ * Display label for the step
88
+ */
89
+ label: string;
90
+ /**
91
+ * Optional description for the step
92
+ */
93
+ description?: string;
94
+ /**
95
+ * Whether the step is completed
96
+ */
97
+ completed: boolean;
98
+ /**
99
+ * Whether the step is the current active step
100
+ */
101
+ active: boolean;
102
+ /**
103
+ * Optional icon for the step
104
+ */
105
+ icon?: React__default.ReactNode;
106
+ }
107
+ interface StepIndicatorClassNames {
108
+ /** Outermost wrapper */
109
+ root?: string;
110
+ /** Individual step wrapper */
111
+ step?: string;
112
+ /** Active step circle / indicator */
113
+ stepActive?: string;
114
+ /** Completed step circle / indicator */
115
+ stepCompleted?: string;
116
+ /** Pending (incomplete, inactive) step circle / indicator */
117
+ stepPending?: string;
118
+ /** Connector line between steps */
119
+ connector?: string;
120
+ /** Step label text */
121
+ label?: string;
122
+ }
123
+ interface StepIndicatorProps {
124
+ /**
125
+ * Array of steps to display
126
+ */
127
+ steps: Step[];
128
+ /**
129
+ * Callback function called when a step is clicked
130
+ */
131
+ onStepClick?: (stepId: string) => void;
132
+ /**
133
+ * Whether the steps are clickable
134
+ * @default true
135
+ */
136
+ clickable?: boolean;
137
+ /**
138
+ * Orientation of the step indicator
139
+ * @default "horizontal"
140
+ */
141
+ orientation?: 'horizontal' | 'vertical';
142
+ /**
143
+ * Custom CSS class for the container
144
+ */
145
+ className?: string;
146
+ /**
147
+ * Custom CSS class for the active step
148
+ */
149
+ activeStepClassName?: string;
150
+ /**
151
+ * Custom CSS class for completed steps
152
+ */
153
+ completedStepClassName?: string;
154
+ /**
155
+ * Custom CSS class for incomplete steps
156
+ */
157
+ incompleteStepClassName?: string;
158
+ /**
159
+ * Per-section class name overrides
160
+ */
161
+ classNames?: StepIndicatorClassNames;
162
+ /**
163
+ * When true, all default classes are stripped.
164
+ * Only explicit overrides from `classNames` are applied.
165
+ * @default false
166
+ */
167
+ unstyled?: boolean;
168
+ }
169
+ declare const StepIndicator: React__default.FC<StepIndicatorProps>;
170
+
171
+ export { DPIAReport as D, StepIndicator as S, type DPIAReportClassNames as a, type StepIndicatorClassNames as b, type DPIAReportProps as c, type StepIndicatorProps as d };