@tantainnovative/ndpr-toolkit 1.0.7 → 1.0.9
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/dist/index.d.mts +224 -32
- package/dist/index.d.ts +442 -18
- package/dist/index.js +190 -1
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +190 -1
- package/dist/index.mjs.map +1 -1
- package/dist/unstyled.d.mts +4 -4
- package/dist/unstyled.d.ts +22 -2
- package/package.json +28 -32
- package/dist/components/breach-notification/BreachNotificationForm.d.ts +0 -18
- package/dist/components/breach-notification/BreachNotificationForm.d.ts.map +0 -1
- package/dist/components/consent/ConsentBanner.d.ts +0 -30
- package/dist/components/consent/ConsentBanner.d.ts.map +0 -1
- package/dist/components/consent/ConsentManager.d.ts +0 -51
- package/dist/components/consent/ConsentManager.d.ts.map +0 -1
- package/dist/components/consent/ConsentSettings.d.ts +0 -15
- package/dist/components/consent/ConsentSettings.d.ts.map +0 -1
- package/dist/components/consent/unstyled/UnstyledConsentBanner.d.ts +0 -7
- package/dist/components/consent/unstyled/UnstyledConsentBanner.d.ts.map +0 -1
- package/dist/components/consent/unstyled/UnstyledConsentSettings.d.ts +0 -7
- package/dist/components/consent/unstyled/UnstyledConsentSettings.d.ts.map +0 -1
- package/dist/components/consent/unstyled/UnstyledConsentToggle.d.ts +0 -8
- package/dist/components/consent/unstyled/UnstyledConsentToggle.d.ts.map +0 -1
- package/dist/components/consent/unstyled/index.d.ts +0 -4
- package/dist/components/consent/unstyled/index.d.ts.map +0 -1
- package/dist/components/data-subject-rights/DataSubjectRequestForm.d.ts +0 -14
- package/dist/components/data-subject-rights/DataSubjectRequestForm.d.ts.map +0 -1
- package/dist/components/docs/DocLayout.d.ts +0 -9
- package/dist/components/docs/DocLayout.d.ts.map +0 -1
- package/dist/components/docs/index.d.ts +0 -2
- package/dist/components/docs/index.d.ts.map +0 -1
- package/dist/components/dpia/DPIAQuestionnaire.d.ts +0 -9
- package/dist/components/dpia/DPIAQuestionnaire.d.ts.map +0 -1
- package/dist/components/privacy-policy/PolicyGenerator.d.ts +0 -12
- package/dist/components/privacy-policy/PolicyGenerator.d.ts.map +0 -1
- package/dist/components/privacy-policy/data.d.ts +0 -8
- package/dist/components/privacy-policy/data.d.ts.map +0 -1
- package/dist/components/privacy-policy/shared/CheckboxField.d.ts +0 -13
- package/dist/components/privacy-policy/shared/CheckboxField.d.ts.map +0 -1
- package/dist/components/privacy-policy/shared/CheckboxGroup.d.ts +0 -13
- package/dist/components/privacy-policy/shared/CheckboxGroup.d.ts.map +0 -1
- package/dist/components/privacy-policy/shared/FormField.d.ts +0 -13
- package/dist/components/privacy-policy/shared/FormField.d.ts.map +0 -1
- package/dist/components/privacy-policy/shared/StepIndicator.d.ts +0 -8
- package/dist/components/privacy-policy/shared/StepIndicator.d.ts.map +0 -1
- package/dist/components/privacy-policy/steps/CustomSectionsStep.d.ts +0 -15
- package/dist/components/privacy-policy/steps/CustomSectionsStep.d.ts.map +0 -1
- package/dist/components/privacy-policy/steps/DataCollectionStep.d.ts +0 -20
- package/dist/components/privacy-policy/steps/DataCollectionStep.d.ts.map +0 -1
- package/dist/components/privacy-policy/steps/DataSharingStep.d.ts +0 -34
- package/dist/components/privacy-policy/steps/DataSharingStep.d.ts.map +0 -1
- package/dist/components/privacy-policy/steps/OrganizationInfoStep.d.ts +0 -17
- package/dist/components/privacy-policy/steps/OrganizationInfoStep.d.ts.map +0 -1
- package/dist/components/privacy-policy/steps/PolicyPreviewStep.d.ts +0 -30
- package/dist/components/privacy-policy/steps/PolicyPreviewStep.d.ts.map +0 -1
- package/dist/components/ui/Badge.d.ts +0 -10
- package/dist/components/ui/Badge.d.ts.map +0 -1
- package/dist/components/ui/Button.d.ts +0 -11
- package/dist/components/ui/Button.d.ts.map +0 -1
- package/dist/components/ui/Card.d.ts +0 -10
- package/dist/components/ui/Card.d.ts.map +0 -1
- package/dist/components/ui/Checkbox.d.ts +0 -8
- package/dist/components/ui/Checkbox.d.ts.map +0 -1
- package/dist/components/ui/FormField.d.ts +0 -11
- package/dist/components/ui/FormField.d.ts.map +0 -1
- package/dist/components/ui/Input.d.ts +0 -6
- package/dist/components/ui/Input.d.ts.map +0 -1
- package/dist/components/ui/Select.d.ts +0 -6
- package/dist/components/ui/Select.d.ts.map +0 -1
- package/dist/components/ui/TextArea.d.ts +0 -6
- package/dist/components/ui/TextArea.d.ts.map +0 -1
- package/dist/components/ui/dialog.d.ts +0 -18
- package/dist/components/ui/dialog.d.ts.map +0 -1
- package/dist/components/ui/label.d.ts +0 -5
- package/dist/components/ui/label.d.ts.map +0 -1
- package/dist/components/ui/switch.d.ts +0 -5
- package/dist/components/ui/switch.d.ts.map +0 -1
- package/dist/components/ui/tabs.d.ts +0 -8
- package/dist/components/ui/tabs.d.ts.map +0 -1
- package/dist/contexts/ConsentContext.d.ts +0 -35
- package/dist/contexts/ConsentContext.d.ts.map +0 -1
- package/dist/contexts/GenericConsentContext.d.ts +0 -11
- package/dist/contexts/GenericConsentContext.d.ts.map +0 -1
- package/dist/hooks/useConsent.d.ts +0 -12
- package/dist/hooks/useConsent.d.ts.map +0 -1
- package/dist/hooks/useConsentActions.d.ts +0 -12
- package/dist/hooks/useConsentActions.d.ts.map +0 -1
- package/dist/hooks/useConsentManager.d.ts +0 -14
- package/dist/hooks/useConsentManager.d.ts.map +0 -1
- package/dist/hooks/useConsentState.d.ts +0 -10
- package/dist/hooks/useConsentState.d.ts.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/lib/consentService.d.ts +0 -11
- package/dist/lib/consentService.d.ts.map +0 -1
- package/dist/lib/dpiaQuestions.d.ts +0 -3
- package/dist/lib/dpiaQuestions.d.ts.map +0 -1
- package/dist/lib/requestService.d.ts +0 -10
- package/dist/lib/requestService.d.ts.map +0 -1
- package/dist/lib/utils.d.ts +0 -3
- package/dist/lib/utils.d.ts.map +0 -1
- package/dist/types/consent.d.ts +0 -57
- package/dist/types/consent.d.ts.map +0 -1
- package/dist/types/index.d.ts +0 -91
- package/dist/types/index.d.ts.map +0 -1
- package/dist/unstyled.d.ts.map +0 -1
package/dist/index.d.ts
CHANGED
|
@@ -1,24 +1,448 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
export {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
1
|
+
import * as React$1 from 'react';
|
|
2
|
+
import React__default, { ReactNode } from 'react';
|
|
3
|
+
export { ConsentBanner as UnstyledConsentBanner, ConsentSettings as UnstyledConsentSettings, ConsentToggle as UnstyledConsentToggle } from './unstyled.js';
|
|
4
|
+
|
|
5
|
+
interface ConsentCategories {
|
|
6
|
+
necessary: boolean;
|
|
7
|
+
analytics: boolean;
|
|
8
|
+
marketing: boolean;
|
|
9
|
+
functional: boolean;
|
|
10
|
+
[key: string]: boolean;
|
|
11
|
+
}
|
|
12
|
+
interface ConsentState$1 {
|
|
13
|
+
hasUserConsented: boolean;
|
|
14
|
+
consentState: ConsentCategories;
|
|
15
|
+
showBanner: boolean;
|
|
16
|
+
showSettings: boolean;
|
|
17
|
+
}
|
|
18
|
+
interface ConsentActions$1 {
|
|
19
|
+
acceptAll: () => void;
|
|
20
|
+
rejectAll: () => void;
|
|
21
|
+
savePreferences: (preferences: Partial<ConsentCategories>) => void;
|
|
22
|
+
openSettings: () => void;
|
|
23
|
+
closeSettings: () => void;
|
|
24
|
+
updateConsent: (category: keyof ConsentCategories, value: boolean) => void;
|
|
25
|
+
}
|
|
26
|
+
interface ConsentContextValue$1 extends ConsentState$1, ConsentActions$1 {
|
|
27
|
+
}
|
|
28
|
+
declare const ConsentContext: React__default.Context<ConsentContextValue$1 | undefined>;
|
|
29
|
+
interface ConsentProviderProps$1 {
|
|
30
|
+
children: ReactNode;
|
|
31
|
+
initialConsent?: Partial<ConsentCategories>;
|
|
32
|
+
onConsentChange?: (consent: ConsentCategories) => void;
|
|
33
|
+
storageKey?: string;
|
|
34
|
+
}
|
|
35
|
+
declare function ConsentProvider({ children, initialConsent, onConsentChange, storageKey, }: ConsentProviderProps$1): React__default.JSX.Element;
|
|
36
|
+
declare function useConsent(): ConsentContextValue$1;
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* Base consent categories interface that can be extended
|
|
40
|
+
*/
|
|
41
|
+
interface BaseConsentCategories {
|
|
42
|
+
necessary: boolean;
|
|
43
|
+
[key: string]: boolean;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Default consent categories provided by the toolkit
|
|
47
|
+
*/
|
|
48
|
+
interface DefaultConsentCategories extends BaseConsentCategories {
|
|
49
|
+
necessary: boolean;
|
|
50
|
+
analytics: boolean;
|
|
51
|
+
marketing: boolean;
|
|
52
|
+
functional: boolean;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Generic consent state interface
|
|
56
|
+
*/
|
|
57
|
+
interface ConsentState<T extends BaseConsentCategories = DefaultConsentCategories> {
|
|
58
|
+
hasUserConsented: boolean;
|
|
59
|
+
consentState: T;
|
|
60
|
+
showBanner: boolean;
|
|
61
|
+
showSettings: boolean;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Generic consent actions interface
|
|
65
|
+
*/
|
|
66
|
+
interface ConsentActions<T extends BaseConsentCategories = DefaultConsentCategories> {
|
|
67
|
+
acceptAll: () => void;
|
|
68
|
+
rejectAll: () => void;
|
|
69
|
+
savePreferences: (preferences: Partial<T>) => void;
|
|
70
|
+
openSettings: () => void;
|
|
71
|
+
closeSettings: () => void;
|
|
72
|
+
updateConsent: (category: keyof T, value: boolean) => void;
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Combined consent context value
|
|
76
|
+
*/
|
|
77
|
+
interface ConsentContextValue<T extends BaseConsentCategories = DefaultConsentCategories> extends ConsentState<T>, ConsentActions<T> {
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Consent provider props with generic support
|
|
81
|
+
*/
|
|
82
|
+
interface ConsentProviderProps<T extends BaseConsentCategories = DefaultConsentCategories> {
|
|
83
|
+
children: React.ReactNode;
|
|
84
|
+
initialConsent?: Partial<T>;
|
|
85
|
+
onConsentChange?: (consent: T) => void;
|
|
86
|
+
storageKey?: string;
|
|
87
|
+
categories?: Array<{
|
|
88
|
+
id: keyof T;
|
|
89
|
+
name: string;
|
|
90
|
+
description: string;
|
|
91
|
+
required?: boolean;
|
|
92
|
+
}>;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
/**
|
|
96
|
+
* Factory function to create a typed consent context
|
|
97
|
+
*/
|
|
98
|
+
declare function createConsentContext<T extends BaseConsentCategories = DefaultConsentCategories>(): {
|
|
99
|
+
ConsentContext: React__default.Context<ConsentContextValue<T> | undefined>;
|
|
100
|
+
ConsentProvider: ({ children, initialConsent, onConsentChange, storageKey, categories, }: ConsentProviderProps<T>) => React__default.JSX.Element;
|
|
101
|
+
useConsent: () => ConsentContextValue<T>;
|
|
102
|
+
};
|
|
103
|
+
|
|
104
|
+
interface ConsentBannerProps {
|
|
105
|
+
renderBanner?: (props: BannerProps) => ReactNode;
|
|
106
|
+
theme?: {
|
|
107
|
+
primaryColor?: string;
|
|
108
|
+
textColor?: string;
|
|
109
|
+
backgroundColor?: string;
|
|
110
|
+
};
|
|
111
|
+
position?: "top" | "bottom" | "center";
|
|
112
|
+
animation?: "slide" | "fade" | "none";
|
|
113
|
+
fullWidth?: boolean;
|
|
114
|
+
maxWidth?: string;
|
|
115
|
+
unstyled?: boolean;
|
|
116
|
+
className?: string;
|
|
117
|
+
children?: ReactNode;
|
|
118
|
+
}
|
|
119
|
+
interface ConsentBannerComponent extends React__default.FC<ConsentBannerProps> {
|
|
120
|
+
Message: React__default.FC<{
|
|
121
|
+
children: ReactNode;
|
|
122
|
+
className?: string;
|
|
123
|
+
}>;
|
|
124
|
+
Actions: React__default.FC<{
|
|
125
|
+
children: ReactNode;
|
|
126
|
+
className?: string;
|
|
127
|
+
}>;
|
|
128
|
+
}
|
|
129
|
+
declare const ConsentBanner: ConsentBannerComponent;
|
|
130
|
+
|
|
131
|
+
interface ConsentSettingsProps {
|
|
132
|
+
renderSettings?: (props: SettingsProps) => ReactNode;
|
|
133
|
+
theme?: {
|
|
134
|
+
primaryColor?: string;
|
|
135
|
+
textColor?: string;
|
|
136
|
+
backgroundColor?: string;
|
|
137
|
+
};
|
|
138
|
+
unstyled?: boolean;
|
|
139
|
+
className?: string;
|
|
140
|
+
children?: ReactNode;
|
|
141
|
+
}
|
|
142
|
+
declare const ConsentSettings: React__default.FC<ConsentSettingsProps>;
|
|
143
|
+
|
|
144
|
+
interface BannerProps {
|
|
145
|
+
onAcceptAll: () => void;
|
|
146
|
+
onRejectAll: () => void;
|
|
147
|
+
onOpenSettings: () => void;
|
|
148
|
+
}
|
|
149
|
+
interface SettingsProps {
|
|
150
|
+
consentState: ConsentCategories;
|
|
151
|
+
onUpdateConsent: (category: keyof ConsentCategories, value: boolean) => void;
|
|
152
|
+
onSave: () => void;
|
|
153
|
+
onClose: () => void;
|
|
154
|
+
}
|
|
155
|
+
interface RenderProps {
|
|
156
|
+
consents: ConsentCategories;
|
|
157
|
+
actions: ConsentActions$1;
|
|
158
|
+
ui: {
|
|
159
|
+
showBanner: boolean;
|
|
160
|
+
showSettings: boolean;
|
|
161
|
+
openSettings: () => void;
|
|
162
|
+
closeSettings: () => void;
|
|
163
|
+
};
|
|
164
|
+
}
|
|
165
|
+
interface ConsentManagerProps extends Omit<ConsentProviderProps$1, "children"> {
|
|
166
|
+
children?: ReactNode | ((props: RenderProps) => ReactNode);
|
|
167
|
+
headless?: boolean;
|
|
168
|
+
renderBanner?: (props: BannerProps) => ReactNode;
|
|
169
|
+
renderSettings?: (props: SettingsProps) => ReactNode;
|
|
170
|
+
components?: {
|
|
171
|
+
Banner?: React__default.ComponentType<unknown>;
|
|
172
|
+
Settings?: React__default.ComponentType<unknown>;
|
|
173
|
+
};
|
|
174
|
+
theme?: {
|
|
175
|
+
primaryColor?: string;
|
|
176
|
+
textColor?: string;
|
|
177
|
+
backgroundColor?: string;
|
|
178
|
+
};
|
|
179
|
+
position?: "top" | "bottom" | "center";
|
|
180
|
+
animation?: "slide" | "fade" | "none";
|
|
181
|
+
fullWidth?: boolean;
|
|
182
|
+
maxWidth?: string;
|
|
183
|
+
}
|
|
184
|
+
interface ConsentManagerComponent extends React__default.FC<ConsentManagerProps> {
|
|
185
|
+
Banner: typeof ConsentBanner;
|
|
186
|
+
Settings: typeof ConsentSettings;
|
|
187
|
+
}
|
|
188
|
+
declare const ConsentManager: ConsentManagerComponent;
|
|
189
|
+
|
|
190
|
+
/**
|
|
191
|
+
* Hook to access only the consent state without actions
|
|
192
|
+
*/
|
|
193
|
+
declare function useConsentState(): {
|
|
194
|
+
hasUserConsented: boolean;
|
|
195
|
+
consentState: ConsentCategories;
|
|
196
|
+
showBanner: boolean;
|
|
197
|
+
showSettings: boolean;
|
|
198
|
+
};
|
|
199
|
+
|
|
200
|
+
/**
|
|
201
|
+
* Hook to access only the consent actions without state
|
|
202
|
+
*/
|
|
203
|
+
declare function useConsentActions(): {
|
|
204
|
+
acceptAll: () => void;
|
|
205
|
+
rejectAll: () => void;
|
|
206
|
+
savePreferences: (preferences: Partial<ConsentCategories>) => void;
|
|
207
|
+
openSettings: () => void;
|
|
208
|
+
closeSettings: () => void;
|
|
209
|
+
updateConsent: (category: keyof ConsentCategories, value: boolean) => void;
|
|
210
|
+
};
|
|
211
|
+
|
|
212
|
+
type ConsentEventType = "consent:accepted" | "consent:rejected" | "consent:updated" | "banner:shown" | "banner:hidden" | "settings:opened" | "settings:closed";
|
|
213
|
+
type ConsentEventListener = (data?: unknown) => void;
|
|
214
|
+
interface ConsentEventManager {
|
|
215
|
+
on: (event: ConsentEventType, listener: ConsentEventListener) => () => void;
|
|
216
|
+
off: (event: ConsentEventType, listener: ConsentEventListener) => void;
|
|
217
|
+
emit: (event: ConsentEventType, data?: unknown) => void;
|
|
218
|
+
}
|
|
219
|
+
/**
|
|
220
|
+
* Advanced hook that provides event-driven consent management
|
|
221
|
+
*/
|
|
222
|
+
declare function useConsentManager(): ConsentEventManager & ReturnType<typeof useConsent>;
|
|
223
|
+
|
|
224
|
+
type DSRStatus = "pending" | "in-progress" | "completed" | "rejected";
|
|
225
|
+
type DSRType = "access" | "rectification" | "erasure" | "portability" | "objection" | "restriction";
|
|
226
|
+
type RequestType = DSRType;
|
|
227
|
+
interface DSRRequestType {
|
|
228
|
+
id: string;
|
|
229
|
+
name: string;
|
|
230
|
+
description: string;
|
|
231
|
+
estimatedCompletionTime: number;
|
|
232
|
+
requiresAdditionalInfo: boolean;
|
|
233
|
+
}
|
|
234
|
+
interface ConsentOption {
|
|
235
|
+
id: string;
|
|
236
|
+
label: string;
|
|
237
|
+
description: string;
|
|
238
|
+
required?: boolean;
|
|
239
|
+
defaultValue?: boolean;
|
|
240
|
+
}
|
|
241
|
+
interface BreachReport {
|
|
242
|
+
id: string;
|
|
243
|
+
title: string;
|
|
244
|
+
description: string;
|
|
245
|
+
category: string;
|
|
246
|
+
discoveredAt: number;
|
|
247
|
+
reportedAt: number;
|
|
248
|
+
reporter: {
|
|
249
|
+
name: string;
|
|
250
|
+
email: string;
|
|
251
|
+
department: string;
|
|
252
|
+
};
|
|
253
|
+
affectedSystems: string[];
|
|
254
|
+
dataTypes: string[];
|
|
255
|
+
estimatedAffectedSubjects: number;
|
|
256
|
+
status: "ongoing" | "resolved" | "contained";
|
|
257
|
+
initialActions: string;
|
|
258
|
+
}
|
|
259
|
+
interface DPIAQuestion {
|
|
260
|
+
id: string;
|
|
261
|
+
text: string;
|
|
262
|
+
type: "yes-no" | "multiple-choice" | "text" | "number" | "textarea" | "select" | "radio" | "checkbox" | "scale";
|
|
263
|
+
options?: Array<{
|
|
264
|
+
id?: string;
|
|
265
|
+
label: string;
|
|
266
|
+
value: string;
|
|
267
|
+
riskLevel?: unknown;
|
|
268
|
+
}>;
|
|
269
|
+
required?: boolean;
|
|
270
|
+
category?: string;
|
|
271
|
+
guidance?: string;
|
|
272
|
+
minValue?: number;
|
|
273
|
+
maxValue?: number;
|
|
274
|
+
scaleLabels?: Record<string, string>;
|
|
275
|
+
}
|
|
276
|
+
type RiskAssessmentQuestion = DPIAQuestion;
|
|
277
|
+
type BreachSeverity = "low" | "medium" | "high" | "critical";
|
|
278
|
+
interface ConsentRecord {
|
|
279
|
+
id: string;
|
|
280
|
+
userId?: string;
|
|
281
|
+
consents: Record<string, boolean>;
|
|
282
|
+
timestamp: Date;
|
|
283
|
+
ipAddress?: string;
|
|
284
|
+
userAgent?: string;
|
|
285
|
+
version: string;
|
|
286
|
+
}
|
|
287
|
+
interface ConsentHistoryEntry {
|
|
288
|
+
timestamp: Date;
|
|
289
|
+
consents: Record<string, boolean>;
|
|
290
|
+
action: "granted" | "revoked" | "updated";
|
|
291
|
+
ipAddress?: string;
|
|
292
|
+
userAgent?: string;
|
|
293
|
+
version: string;
|
|
294
|
+
}
|
|
295
|
+
interface DSRRequest {
|
|
296
|
+
id: string;
|
|
297
|
+
type: DSRType;
|
|
298
|
+
status: DSRStatus;
|
|
299
|
+
createdAt: number;
|
|
300
|
+
updatedAt: number;
|
|
301
|
+
dueDate: number;
|
|
302
|
+
completedAt?: number;
|
|
303
|
+
subject: {
|
|
304
|
+
name: string;
|
|
305
|
+
email: string;
|
|
306
|
+
phone?: string;
|
|
307
|
+
};
|
|
308
|
+
description: string;
|
|
309
|
+
}
|
|
310
|
+
interface RiskAssessment {
|
|
311
|
+
id: string;
|
|
312
|
+
breachId: string;
|
|
313
|
+
riskLevel: "low" | "medium" | "high" | "critical";
|
|
314
|
+
assessment: string;
|
|
315
|
+
mitigationMeasures: string[];
|
|
316
|
+
assessedAt: number;
|
|
317
|
+
assessor: string;
|
|
318
|
+
}
|
|
319
|
+
interface DPIAResult {
|
|
320
|
+
id: string;
|
|
321
|
+
title: string;
|
|
322
|
+
processingDescription: string;
|
|
323
|
+
startedAt: number;
|
|
324
|
+
completedAt?: number;
|
|
325
|
+
assessor: {
|
|
326
|
+
name: string;
|
|
327
|
+
role: string;
|
|
328
|
+
email: string;
|
|
329
|
+
};
|
|
330
|
+
answers: Record<string, unknown>;
|
|
331
|
+
risks: Array<{
|
|
332
|
+
id: string;
|
|
333
|
+
description: string;
|
|
334
|
+
likelihood: number;
|
|
335
|
+
impact: number;
|
|
336
|
+
score: number;
|
|
337
|
+
level: string;
|
|
338
|
+
mitigationMeasures: string[];
|
|
339
|
+
mitigated?: boolean;
|
|
340
|
+
residualScore?: number;
|
|
341
|
+
relatedQuestionIds?: string[];
|
|
342
|
+
}>;
|
|
343
|
+
overallRiskLevel: "low" | "medium" | "high" | "critical";
|
|
344
|
+
canProceed: boolean;
|
|
345
|
+
conclusion: string;
|
|
346
|
+
recommendations: string[];
|
|
347
|
+
reviewDate: number;
|
|
348
|
+
version: string;
|
|
349
|
+
}
|
|
350
|
+
interface PolicyVariable {
|
|
351
|
+
name: string;
|
|
352
|
+
label: string;
|
|
353
|
+
type: "text" | "textarea" | "select" | "checkbox" | "date";
|
|
354
|
+
required?: boolean;
|
|
355
|
+
options?: string[];
|
|
356
|
+
defaultValue?: unknown;
|
|
357
|
+
}
|
|
358
|
+
interface PolicyTemplate {
|
|
359
|
+
id: string;
|
|
360
|
+
name: string;
|
|
361
|
+
description: string;
|
|
362
|
+
sections: PolicySection[];
|
|
363
|
+
variables: PolicyVariable[];
|
|
364
|
+
version: string;
|
|
365
|
+
}
|
|
366
|
+
interface PolicySection {
|
|
367
|
+
id: string;
|
|
368
|
+
title: string;
|
|
369
|
+
content: string;
|
|
370
|
+
template?: string;
|
|
371
|
+
required: boolean;
|
|
372
|
+
order: number;
|
|
373
|
+
included?: boolean;
|
|
374
|
+
variables?: string[];
|
|
375
|
+
}
|
|
376
|
+
|
|
377
|
+
declare const consentService: {
|
|
378
|
+
saveConsent: (consents: Record<string, boolean>, userId?: string) => ConsentRecord;
|
|
379
|
+
getCurrentConsent: () => ConsentRecord | null;
|
|
380
|
+
getConsentHistory: () => ConsentHistoryEntry[];
|
|
381
|
+
updateConsent: (consents: Record<string, boolean>, changeReason?: string, userId?: string) => ConsentRecord;
|
|
382
|
+
clearConsentData: () => boolean;
|
|
383
|
+
hasConsent: (type: string) => boolean;
|
|
384
|
+
};
|
|
385
|
+
|
|
386
|
+
interface BreachNotificationFormProps {
|
|
387
|
+
onSubmit: (data: {
|
|
388
|
+
title: string;
|
|
389
|
+
description: string;
|
|
390
|
+
discoveryDate: string;
|
|
391
|
+
affectedDataSubjects: number;
|
|
392
|
+
dataCategories: string[];
|
|
393
|
+
severity: BreachSeverity;
|
|
394
|
+
mitigationSteps: string[];
|
|
395
|
+
reportedToAuthorities: boolean;
|
|
396
|
+
reportedToDataSubjects: boolean;
|
|
397
|
+
}) => void;
|
|
398
|
+
className?: string;
|
|
399
|
+
}
|
|
400
|
+
declare function BreachNotificationForm({ onSubmit, className, }: BreachNotificationFormProps): React$1.JSX.Element;
|
|
401
|
+
|
|
402
|
+
interface DPIAQuestionnaireProps {
|
|
403
|
+
questions: RiskAssessmentQuestion[];
|
|
404
|
+
onSubmit: (answers: Record<string, number>, projectName: string) => void;
|
|
405
|
+
className?: string;
|
|
406
|
+
}
|
|
407
|
+
declare function DPIAQuestionnaire({ questions, onSubmit, className, }: DPIAQuestionnaireProps): React$1.JSX.Element;
|
|
408
|
+
|
|
409
|
+
interface DataSubjectRequestFormProps {
|
|
410
|
+
onSubmit: (data: {
|
|
411
|
+
requestType: RequestType;
|
|
412
|
+
name: string;
|
|
413
|
+
email: string;
|
|
414
|
+
details: string;
|
|
415
|
+
consent: boolean;
|
|
416
|
+
}) => void;
|
|
417
|
+
className?: string;
|
|
418
|
+
}
|
|
419
|
+
declare function DataSubjectRequestForm({ onSubmit, className, }: DataSubjectRequestFormProps): React$1.JSX.Element;
|
|
420
|
+
|
|
421
|
+
interface PolicyGeneratorProps {
|
|
422
|
+
onGenerate: (policy: {
|
|
423
|
+
organizationName: string;
|
|
424
|
+
organizationContact: string;
|
|
425
|
+
sections: PolicySection[];
|
|
426
|
+
}) => void;
|
|
427
|
+
className?: string;
|
|
428
|
+
}
|
|
429
|
+
declare function PolicyGenerator({ onGenerate, className, }: PolicyGeneratorProps): React__default.JSX.Element;
|
|
430
|
+
|
|
431
|
+
declare const cookieUtils: {
|
|
15
432
|
set: (name: string, value: string, days: number) => void;
|
|
16
433
|
get: (name: string) => string | null;
|
|
17
434
|
delete: (name: string) => void;
|
|
18
435
|
};
|
|
19
|
-
|
|
20
|
-
save: (key: string, data:
|
|
21
|
-
load: (key: string) =>
|
|
436
|
+
declare const consentStorage: {
|
|
437
|
+
save: (key: string, data: unknown) => void;
|
|
438
|
+
load: <T = unknown>(key: string) => T | null;
|
|
439
|
+
remove: (key: string) => void;
|
|
440
|
+
};
|
|
441
|
+
|
|
442
|
+
declare const ConsentStorage: {
|
|
443
|
+
save: (key: string, data: unknown) => void;
|
|
444
|
+
load: <T = unknown>(key: string) => T | null;
|
|
22
445
|
remove: (key: string) => void;
|
|
23
446
|
};
|
|
24
|
-
|
|
447
|
+
|
|
448
|
+
export { type BannerProps, type BaseConsentCategories, BreachNotificationForm as BreachNotificationManager, type BreachReport, BreachNotificationForm as BreachReportForm, BreachNotificationForm as BreachRiskAssessment, type BreachSeverity, type ConsentActions$1 as ConsentActions, ConsentBanner, type ConsentCategories, ConsentContext, type ConsentContextValue$1 as ConsentContextValue, type ConsentHistoryEntry, ConsentManager, type ConsentManagerProps, type ConsentOption, ConsentProvider, type ConsentProviderProps, type ConsentRecord, ConsentSettings, type ConsentState$1 as ConsentState, ConsentStorage, type DPIAQuestion, DPIAQuestionnaire, type DPIAResult, DataSubjectRequestForm as DSRDashboard, type DSRRequest, DataSubjectRequestForm as DSRRequestForm, type DSRRequestType, type DSRStatus, DataSubjectRequestForm as DSRTracker, type DSRType, type DefaultConsentCategories, PolicyGenerator as PolicyExporter, PolicyGenerator, PolicyGenerator as PolicyPreview, type PolicySection, type PolicyTemplate, type PolicyVariable, BreachNotificationForm as RegulatoryReportGenerator, type RenderProps, type RequestType, type RiskAssessment, type SettingsProps, consentService, consentStorage, cookieUtils, createConsentContext, useConsent, useConsentActions, useConsentManager, useConsentState };
|