@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.
- package/README.md +226 -246
- package/dist/BreachReportForm-DpRrBoxU.d.ts +158 -0
- package/dist/BreachReportForm-yJ2Zl6gz.d.mts +158 -0
- package/dist/ConsentBanner-CDRT0o2k.d.mts +146 -0
- package/dist/ConsentBanner-Vxyt8SCX.d.ts +146 -0
- package/dist/{cross-border-entry-BrWVPly6.d.ts → CrossBorderTransferManager-D5Lc0e46.d.ts} +4 -5
- package/dist/{cross-border-entry-cCTvpwnT.d.mts → CrossBorderTransferManager-DkZhv9vD.d.mts} +4 -5
- package/dist/DPIAQuestionnaire-BkejviPj.d.mts +123 -0
- package/dist/DPIAQuestionnaire-DdSqXG3x.d.ts +123 -0
- package/dist/DSRRequestForm-BY8PogCU.d.mts +146 -0
- package/dist/DSRRequestForm-CHUg9cZh.d.ts +146 -0
- package/dist/DSRTracker-C6u_jAaK.d.mts +163 -0
- package/dist/DSRTracker-Dr_aT0pg.d.ts +163 -0
- package/dist/{lawful-basis-entry-CxZrofwG.d.mts → LawfulBasisTracker-CBqOxX1D.d.mts} +3 -5
- package/dist/{lawful-basis-entry-15qjKcNO.d.ts → LawfulBasisTracker-Cg30NbDA.d.ts} +3 -5
- package/dist/NDPRDashboard-CLJpEg0X.d.mts +44 -0
- package/dist/NDPRDashboard-DDWNd2Ah.d.ts +44 -0
- package/dist/{policy-E0fXZkda.d.mts → PolicyExporter-BIqSVjfC.d.mts} +4 -98
- package/dist/{policy-D2_jh5-T.d.ts → PolicyExporter-BNWaPBGU.d.ts} +4 -98
- package/dist/PolicyGenerator-BvcWPbxp.d.mts +96 -0
- package/dist/PolicyGenerator-BzRwtlgn.d.ts +96 -0
- package/dist/{ropa-entry-B0D7X1GV.d.ts → ROPAManager-BS4eB8Hw.d.mts} +4 -5
- package/dist/{ropa-entry-DiOThOc2.d.mts → ROPAManager-qxTrXLkD.d.ts} +4 -5
- package/dist/{breach-ouXoVTWs.d.ts → RegulatoryReportGenerator-BUYgzTTT.d.ts} +6 -162
- package/dist/{breach-yRiyyc4n.d.mts → RegulatoryReportGenerator-DwcHcEFp.d.mts} +6 -162
- package/dist/StepIndicator-D-nwRTyo.d.mts +171 -0
- package/dist/StepIndicator-D9ZATz_O.d.ts +171 -0
- package/dist/adapters.d.mts +25 -0
- package/dist/adapters.d.ts +25 -0
- package/dist/adapters.js +2 -0
- package/dist/adapters.mjs +2 -0
- package/dist/breach.d.mts +43 -4
- package/dist/breach.d.ts +43 -4
- package/dist/breach.js +1 -1
- package/dist/breach.mjs +1 -1
- package/dist/chunk-27NYSWUG.mjs +2 -0
- package/dist/chunk-2ORDHJRD.js +2 -0
- package/dist/chunk-2W7ARAW2.js +2 -0
- package/dist/chunk-3F34NACG.js +2 -0
- package/dist/chunk-3RGJV3VF.js +7 -0
- package/dist/chunk-3UWT64FI.mjs +2 -0
- package/dist/chunk-3V23O4ZJ.js +2 -0
- package/dist/chunk-3XAUN5IM.mjs +3 -0
- package/dist/chunk-5VMHKNJY.js +2 -0
- package/dist/chunk-6D3ZUGBB.mjs +2 -0
- package/dist/chunk-6E54NSAO.mjs +2 -0
- package/dist/chunk-7F5F5YWI.mjs +2 -0
- package/dist/chunk-7FIUX3ZM.js +89 -0
- package/dist/chunk-FR7ZYZXB.js +2 -0
- package/dist/chunk-FY5G6DGZ.js +7 -0
- package/dist/chunk-G26I6MP5.mjs +2 -0
- package/dist/chunk-GPJVTGHR.mjs +2 -0
- package/dist/chunk-GVANK6PL.js +3 -0
- package/dist/chunk-HNZK7LY3.mjs +2 -0
- package/dist/chunk-IKEPXHCZ.js +2 -0
- package/dist/chunk-IQQW52EF.js +2 -0
- package/dist/chunk-ISSGO2YT.mjs +72 -0
- package/dist/chunk-J6IKAGUP.mjs +89 -0
- package/dist/chunk-KHRBU5K7.js +2 -0
- package/dist/chunk-KNE4NXCY.mjs +7 -0
- package/dist/chunk-LFNA6WYQ.mjs +2 -0
- package/dist/chunk-NPI5T6NH.mjs +7 -0
- package/dist/chunk-NPLXE43Q.mjs +2 -0
- package/dist/chunk-P7BSBCB3.js +2 -0
- package/dist/chunk-PEH5GIMN.js +2 -0
- package/dist/chunk-RSUDIFZV.mjs +2 -0
- package/dist/chunk-SBNAMPAP.mjs +2 -0
- package/dist/chunk-SVCRYM4I.mjs +2 -0
- package/dist/chunk-U6VWHC46.js +72 -0
- package/dist/chunk-UK656RCG.js +2 -0
- package/dist/chunk-UNKXYVXY.js +2 -0
- package/dist/chunk-UOSEH6DC.js +2 -0
- package/dist/chunk-V37BM2LF.js +2 -0
- package/dist/chunk-V3MXWGXU.mjs +2 -0
- package/dist/chunk-VDZKGCAF.js +2 -0
- package/dist/chunk-WLSW4Z4W.mjs +2 -0
- package/dist/chunk-XSK4BSZJ.mjs +2 -0
- package/dist/chunk-YJCGEOLO.mjs +2 -0
- package/dist/chunk-ZCZ5RRZO.js +2 -0
- package/dist/compliance-score-racQe_E_.d.mts +115 -0
- package/dist/compliance-score-racQe_E_.d.ts +115 -0
- package/dist/consent.d.mts +67 -295
- package/dist/consent.d.ts +67 -295
- package/dist/consent.js +1 -1
- package/dist/consent.mjs +1 -1
- package/dist/core.d.mts +8 -5
- package/dist/core.d.ts +8 -5
- package/dist/core.js +1 -1
- package/dist/core.mjs +1 -1
- package/dist/cross-border-BBi9rZyO.d.mts +54 -0
- package/dist/cross-border-Dy-U9Hu6.d.ts +54 -0
- package/dist/{cross-border-BMcqLvjC.d.mts → cross-border-UyT00llA.d.mts} +1 -52
- package/dist/{cross-border-BMcqLvjC.d.ts → cross-border-UyT00llA.d.ts} +1 -52
- package/dist/cross-border.d.mts +32 -4
- package/dist/cross-border.d.ts +32 -4
- package/dist/cross-border.js +1 -1
- package/dist/cross-border.mjs +1 -1
- package/dist/dpia.d.mts +28 -284
- package/dist/dpia.d.ts +28 -284
- package/dist/dpia.js +1 -1
- package/dist/dpia.mjs +1 -1
- package/dist/dsr.d.mts +36 -4
- package/dist/dsr.d.ts +36 -4
- package/dist/dsr.js +1 -1
- package/dist/dsr.mjs +1 -1
- package/dist/hooks.d.mts +21 -10
- package/dist/hooks.d.ts +21 -10
- package/dist/hooks.js +1 -1
- package/dist/hooks.mjs +1 -1
- package/dist/index.d.mts +28 -18
- package/dist/index.d.ts +28 -18
- package/dist/index.js +1 -1
- package/dist/index.mjs +1 -1
- package/dist/lawful-basis.d.mts +31 -4
- package/dist/lawful-basis.d.ts +31 -4
- package/dist/lawful-basis.js +1 -1
- package/dist/lawful-basis.mjs +1 -1
- package/dist/policy.d.mts +36 -4
- package/dist/policy.d.ts +36 -4
- package/dist/policy.js +1 -1
- package/dist/policy.mjs +1 -1
- package/dist/presets.d.mts +124 -0
- package/dist/presets.d.ts +124 -0
- package/dist/presets.js +2 -0
- package/dist/presets.mjs +2 -0
- package/dist/{ropa-Li6UlL5H.d.ts → ropa-BDTM06tr.d.ts} +1 -49
- package/dist/{ropa-DP7pPPql.d.mts → ropa-CFHuT7jE.d.mts} +1 -49
- package/dist/ropa-CyynscU6.d.ts +51 -0
- package/dist/ropa-NIgxd8uP.d.mts +51 -0
- package/dist/ropa.d.mts +30 -4
- package/dist/ropa.d.ts +30 -4
- package/dist/ropa.js +1 -1
- package/dist/ropa.mjs +1 -1
- package/dist/styling-B7CBzYG7.d.ts +165 -0
- package/dist/styling-uJLsBbER.d.mts +165 -0
- package/dist/types-DK2CoKOC.d.mts +10 -0
- package/dist/types-DK2CoKOC.d.ts +10 -0
- package/dist/unstyled.d.mts +4 -4
- package/dist/unstyled.d.ts +4 -4
- package/dist/{useBreach-BBSoIcZO.d.mts → useBreach-CPr86Yan.d.mts} +18 -2
- package/dist/{useBreach-lFLbSyAN.d.ts → useBreach-DkVXvtJK.d.ts} +18 -2
- package/dist/{useConsent-D0pAfTlb.d.ts → useConsent-DCNkIJHR.d.mts} +12 -2
- package/dist/{useConsent-DOt2Njst.d.mts → useConsent-dOcELSfX.d.ts} +12 -2
- package/dist/{useCrossBorderTransfer-DmtACeqW.d.ts → useCrossBorderTransfer-BGNZt2lk.d.mts} +15 -3
- package/dist/{useCrossBorderTransfer-BZVFCXfr.d.mts → useCrossBorderTransfer-COqjgjsu.d.ts} +15 -3
- package/dist/{useDPIA-DBsg2yZx.d.ts → useDPIA-Dl16Te3r.d.ts} +13 -2
- package/dist/{useDPIA-Da7-Q_yW.d.mts → useDPIA-DzWye8JB.d.mts} +13 -2
- package/dist/{useDSR-YYZ6FYFs.d.mts → useDSR-C1LksCfP.d.mts} +13 -2
- package/dist/{useDSR-CYI7WCXr.d.ts → useDSR-DZel52O1.d.ts} +13 -2
- package/dist/{useDefaultPrivacyPolicy-CUluF_ic.d.mts → useDefaultPrivacyPolicy-BsYttRey.d.mts} +13 -2
- package/dist/{useDefaultPrivacyPolicy-B7kTHbZh.d.ts → useDefaultPrivacyPolicy-C-mG-A5S.d.ts} +13 -2
- package/dist/{useLawfulBasis-CpWuHtyh.d.mts → useLawfulBasis-CKJ-kw84.d.mts} +13 -2
- package/dist/{useLawfulBasis-CCWF9waR.d.ts → useLawfulBasis-DFTmu1ca.d.ts} +13 -2
- package/dist/{useROPA-BhJ3kvHp.d.ts → useROPA-BSSU1rfx.d.ts} +14 -2
- package/dist/{useROPA-DLFdjkxP.d.mts → useROPA-C2hjaBTz.d.mts} +14 -2
- package/package.json +18 -2
- package/dist/chunk-2XFAV267.mjs +0 -2
- package/dist/chunk-32UIWTGD.js +0 -72
- package/dist/chunk-3YCV2BA6.js +0 -2
- package/dist/chunk-4A354HL3.js +0 -2
- package/dist/chunk-5ZBO2UPH.js +0 -2
- package/dist/chunk-6GGGTRDZ.mjs +0 -2
- package/dist/chunk-BGHQTZAC.js +0 -94
- package/dist/chunk-BZTTQS4A.mjs +0 -7
- package/dist/chunk-EKVTLHBQ.js +0 -2
- package/dist/chunk-GMLNWS2N.mjs +0 -2
- package/dist/chunk-IBEKLDBY.mjs +0 -2
- package/dist/chunk-K3GMTMQ6.js +0 -2
- package/dist/chunk-L52PDW6O.mjs +0 -2
- package/dist/chunk-LI6WJ3LZ.js +0 -2
- package/dist/chunk-LXRXDTPI.js +0 -2
- package/dist/chunk-NW4A3JW6.mjs +0 -2
- package/dist/chunk-OITITR6K.mjs +0 -2
- package/dist/chunk-PDJGTQMY.mjs +0 -2
- package/dist/chunk-SKJCQKFL.mjs +0 -94
- package/dist/chunk-T44JQT2O.mjs +0 -2
- package/dist/chunk-TCJCE6WN.js +0 -2
- package/dist/chunk-VMJBW3EF.mjs +0 -2
- package/dist/chunk-WW3X3ELF.js +0 -2
- package/dist/chunk-XMYUYQH7.mjs +0 -72
- package/dist/chunk-ZNTMZ6NM.js +0 -7
- package/dist/chunk-ZU73VG3X.js +0 -2
- package/dist/dsr-190YpijW.d.ts +0 -307
- package/dist/dsr-BTT-Xd7H.d.mts +0 -307
|
@@ -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
|
|
2
|
-
import { a as CrossBorderTransfer, C as CrossBorderSummary } from './cross-border-
|
|
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:
|
|
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 };
|
package/dist/{cross-border-entry-cCTvpwnT.d.mts → CrossBorderTransferManager-DkZhv9vD.d.mts}
RENAMED
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { a as CrossBorderTransfer, C as CrossBorderSummary } from './cross-border-
|
|
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:
|
|
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 };
|