@tantainnovative/ndpr-toolkit 2.4.1 → 3.2.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-Bgi6nz82.d.mts} +5 -7
- package/dist/{policy-D2_jh5-T.d.ts → PolicyExporter-BnvuFncj.d.ts} +5 -7
- 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/RegulatoryReportGenerator-BUYgzTTT.d.ts +282 -0
- package/dist/RegulatoryReportGenerator-DwcHcEFp.d.mts +282 -0
- 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 +36 -431
- package/dist/breach.d.ts +36 -431
- 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-3UWT64FI.mjs +2 -0
- package/dist/chunk-3V23O4ZJ.js +2 -0
- package/dist/chunk-3XAUN5IM.mjs +3 -0
- package/dist/chunk-44W4H2EY.js +2 -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-DQLDX5X6.js +316 -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-GCQRHMTQ.mjs +144 -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-JZKH5RMC.js +3 -0
- package/dist/chunk-KHRBU5K7.js +2 -0
- package/dist/chunk-LFNA6WYQ.mjs +2 -0
- package/dist/chunk-LU4PFST7.js +144 -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-TKBZRULW.mjs +316 -0
- package/dist/chunk-TVW6KBVV.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/chunk-ZQSX5ZHB.mjs +3 -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 +14 -48
- package/dist/core.d.ts +14 -48
- 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 +29 -300
- package/dist/dsr.d.ts +29 -300
- package/dist/dsr.js +1 -1
- package/dist/dsr.mjs +1 -1
- package/dist/hooks.d.mts +23 -10
- package/dist/hooks.d.ts +23 -10
- package/dist/hooks.js +1 -1
- package/dist/hooks.mjs +1 -1
- package/dist/index.d.mts +28 -19
- package/dist/index.d.ts +28 -19
- 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-engine-C-tShzZH.d.mts +154 -0
- package/dist/policy-engine-DSQpT55_.d.ts +154 -0
- package/dist/policy-sections-CfNVBLCh.d.mts +54 -0
- package/dist/policy-sections-DqH0iZRf.d.ts +54 -0
- package/dist/policy.d.mts +117 -4
- package/dist/policy.d.ts +117 -4
- package/dist/policy.js +1 -1
- package/dist/policy.mjs +1 -1
- package/dist/presets.d.mts +114 -0
- package/dist/presets.d.ts +114 -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/sanitize-9mOO_cJW.d.mts +147 -0
- package/dist/sanitize-9mOO_cJW.d.ts +147 -0
- 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/useAdaptivePolicyWizard-B9Op2gYM.d.ts +52 -0
- package/dist/useAdaptivePolicyWizard-N4eUM4Tj.d.mts +52 -0
- 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 +24 -3
- 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-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-ILCNDOBU.js +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-T44JQT2O.mjs +0 -2
- package/dist/chunk-TCJCE6WN.js +0 -2
- package/dist/chunk-VMJBW3EF.mjs +0 -2
- package/dist/chunk-WSHSHIIM.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
|
@@ -0,0 +1,282 @@
|
|
|
1
|
+
import React__default from 'react';
|
|
2
|
+
import { a as BreachReport, b as RiskAssessment, R as RegulatoryNotification } from './breach-Eu9byel8.mjs';
|
|
3
|
+
|
|
4
|
+
interface BreachRiskAssessmentClassNames {
|
|
5
|
+
root?: string;
|
|
6
|
+
header?: string;
|
|
7
|
+
title?: string;
|
|
8
|
+
slider?: string;
|
|
9
|
+
riskBadge?: string;
|
|
10
|
+
riskScore?: string;
|
|
11
|
+
notificationStatus?: string;
|
|
12
|
+
submitButton?: string;
|
|
13
|
+
/** Alias for submitButton */
|
|
14
|
+
primaryButton?: string;
|
|
15
|
+
}
|
|
16
|
+
interface BreachRiskAssessmentProps {
|
|
17
|
+
/**
|
|
18
|
+
* The breach data to assess
|
|
19
|
+
*/
|
|
20
|
+
breachData: BreachReport;
|
|
21
|
+
/**
|
|
22
|
+
* Initial assessment data (if editing an existing assessment)
|
|
23
|
+
*/
|
|
24
|
+
initialAssessment?: Partial<RiskAssessment>;
|
|
25
|
+
/**
|
|
26
|
+
* Callback function called when assessment is completed
|
|
27
|
+
*/
|
|
28
|
+
onComplete: (assessment: RiskAssessment) => void;
|
|
29
|
+
/**
|
|
30
|
+
* Title displayed on the assessment form
|
|
31
|
+
* @default "Breach Risk Assessment"
|
|
32
|
+
*/
|
|
33
|
+
title?: string;
|
|
34
|
+
/**
|
|
35
|
+
* Description text displayed on the assessment form
|
|
36
|
+
* @default "Assess the risk level of this data breach to determine notification requirements under NDPA Section 40."
|
|
37
|
+
*/
|
|
38
|
+
description?: string;
|
|
39
|
+
/**
|
|
40
|
+
* Text for the submit button
|
|
41
|
+
* @default "Complete Assessment"
|
|
42
|
+
*/
|
|
43
|
+
submitButtonText?: string;
|
|
44
|
+
/**
|
|
45
|
+
* Custom CSS class for the form
|
|
46
|
+
*/
|
|
47
|
+
className?: string;
|
|
48
|
+
/**
|
|
49
|
+
* Custom CSS class for the submit button
|
|
50
|
+
*/
|
|
51
|
+
buttonClassName?: string;
|
|
52
|
+
/**
|
|
53
|
+
* Override class names for individual elements
|
|
54
|
+
*/
|
|
55
|
+
classNames?: BreachRiskAssessmentClassNames;
|
|
56
|
+
/**
|
|
57
|
+
* Remove all default styles, only applying classNames overrides
|
|
58
|
+
*/
|
|
59
|
+
unstyled?: boolean;
|
|
60
|
+
/**
|
|
61
|
+
* Whether to show the breach summary
|
|
62
|
+
* @default true
|
|
63
|
+
*/
|
|
64
|
+
showBreachSummary?: boolean;
|
|
65
|
+
/**
|
|
66
|
+
* Whether to show notification requirements after assessment
|
|
67
|
+
* @default true
|
|
68
|
+
*/
|
|
69
|
+
showNotificationRequirements?: boolean;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Breach risk assessment component. Implements NDPA Section 40 requirements for assessing
|
|
73
|
+
* breach severity and determining whether NDPC notification is required within 72 hours.
|
|
74
|
+
*/
|
|
75
|
+
declare const BreachRiskAssessment: React__default.FC<BreachRiskAssessmentProps>;
|
|
76
|
+
|
|
77
|
+
interface BreachNotificationManagerClassNames {
|
|
78
|
+
root?: string;
|
|
79
|
+
header?: string;
|
|
80
|
+
title?: string;
|
|
81
|
+
breachList?: string;
|
|
82
|
+
breachItem?: string;
|
|
83
|
+
statusBadge?: string;
|
|
84
|
+
timeline?: string;
|
|
85
|
+
timelineStep?: string;
|
|
86
|
+
detailPanel?: string;
|
|
87
|
+
}
|
|
88
|
+
interface BreachNotificationManagerProps {
|
|
89
|
+
/**
|
|
90
|
+
* List of breach reports to manage
|
|
91
|
+
*/
|
|
92
|
+
breachReports: BreachReport[];
|
|
93
|
+
/**
|
|
94
|
+
* List of risk assessments
|
|
95
|
+
*/
|
|
96
|
+
riskAssessments: RiskAssessment[];
|
|
97
|
+
/**
|
|
98
|
+
* List of regulatory notifications
|
|
99
|
+
*/
|
|
100
|
+
regulatoryNotifications: RegulatoryNotification[];
|
|
101
|
+
/**
|
|
102
|
+
* Callback function called when a breach is selected
|
|
103
|
+
*/
|
|
104
|
+
onSelectBreach?: (breachId: string) => void;
|
|
105
|
+
/**
|
|
106
|
+
* Callback function called when a risk assessment is requested
|
|
107
|
+
*/
|
|
108
|
+
onRequestAssessment?: (breachId: string) => void;
|
|
109
|
+
/**
|
|
110
|
+
* Callback function called when a notification is requested
|
|
111
|
+
*/
|
|
112
|
+
onRequestNotification?: (breachId: string) => void;
|
|
113
|
+
/**
|
|
114
|
+
* Title displayed on the manager
|
|
115
|
+
* @default "Breach Notification Manager"
|
|
116
|
+
*/
|
|
117
|
+
title?: string;
|
|
118
|
+
/**
|
|
119
|
+
* Description text displayed on the manager
|
|
120
|
+
* @default "Manage data breach notifications and track compliance with NDPA Section 40 requirements."
|
|
121
|
+
*/
|
|
122
|
+
description?: string;
|
|
123
|
+
/**
|
|
124
|
+
* Custom CSS class for the manager
|
|
125
|
+
*/
|
|
126
|
+
className?: string;
|
|
127
|
+
/**
|
|
128
|
+
* Custom CSS class for the buttons
|
|
129
|
+
*/
|
|
130
|
+
buttonClassName?: string;
|
|
131
|
+
/**
|
|
132
|
+
* Override class names for individual elements
|
|
133
|
+
*/
|
|
134
|
+
classNames?: BreachNotificationManagerClassNames;
|
|
135
|
+
/**
|
|
136
|
+
* Remove all default styles, only applying classNames overrides
|
|
137
|
+
*/
|
|
138
|
+
unstyled?: boolean;
|
|
139
|
+
/**
|
|
140
|
+
* Whether to show the breach details
|
|
141
|
+
* @default true
|
|
142
|
+
*/
|
|
143
|
+
showBreachDetails?: boolean;
|
|
144
|
+
/**
|
|
145
|
+
* Whether to show the notification timeline
|
|
146
|
+
* @default true
|
|
147
|
+
*/
|
|
148
|
+
showNotificationTimeline?: boolean;
|
|
149
|
+
/**
|
|
150
|
+
* Whether to show the deadline alerts
|
|
151
|
+
* @default true
|
|
152
|
+
*/
|
|
153
|
+
showDeadlineAlerts?: boolean;
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* Breach notification management component. Implements NDPA Section 40 requirements for
|
|
157
|
+
* managing breach notifications, tracking 72-hour NDPC reporting deadlines, and coordinating
|
|
158
|
+
* data subject notifications.
|
|
159
|
+
*/
|
|
160
|
+
declare const BreachNotificationManager: React__default.FC<BreachNotificationManagerProps>;
|
|
161
|
+
|
|
162
|
+
interface RegulatoryReportGeneratorClassNames {
|
|
163
|
+
root?: string;
|
|
164
|
+
header?: string;
|
|
165
|
+
title?: string;
|
|
166
|
+
reportPreview?: string;
|
|
167
|
+
field?: string;
|
|
168
|
+
fieldLabel?: string;
|
|
169
|
+
fieldValue?: string;
|
|
170
|
+
generateButton?: string;
|
|
171
|
+
/** Alias for generateButton */
|
|
172
|
+
primaryButton?: string;
|
|
173
|
+
downloadButton?: string;
|
|
174
|
+
/** Alias for downloadButton */
|
|
175
|
+
secondaryButton?: string;
|
|
176
|
+
}
|
|
177
|
+
interface OrganizationInfo {
|
|
178
|
+
/**
|
|
179
|
+
* Name of the organization
|
|
180
|
+
*/
|
|
181
|
+
name: string;
|
|
182
|
+
/**
|
|
183
|
+
* Registration number or business ID
|
|
184
|
+
*/
|
|
185
|
+
registrationNumber?: string;
|
|
186
|
+
/**
|
|
187
|
+
* Physical address of the organization
|
|
188
|
+
*/
|
|
189
|
+
address: string;
|
|
190
|
+
/**
|
|
191
|
+
* Website URL
|
|
192
|
+
*/
|
|
193
|
+
website?: string;
|
|
194
|
+
/**
|
|
195
|
+
* Name of the Data Protection Officer
|
|
196
|
+
*/
|
|
197
|
+
dpoName: string;
|
|
198
|
+
/**
|
|
199
|
+
* Email of the Data Protection Officer
|
|
200
|
+
*/
|
|
201
|
+
dpoEmail: string;
|
|
202
|
+
/**
|
|
203
|
+
* Phone number of the Data Protection Officer
|
|
204
|
+
*/
|
|
205
|
+
dpoPhone?: string;
|
|
206
|
+
}
|
|
207
|
+
interface RegulatoryReportGeneratorProps {
|
|
208
|
+
/**
|
|
209
|
+
* The breach data to include in the report
|
|
210
|
+
*/
|
|
211
|
+
breachData: BreachReport;
|
|
212
|
+
/**
|
|
213
|
+
* The risk assessment data
|
|
214
|
+
*/
|
|
215
|
+
assessmentData?: RiskAssessment;
|
|
216
|
+
/**
|
|
217
|
+
* Organization information to include in the report
|
|
218
|
+
*/
|
|
219
|
+
organizationInfo: OrganizationInfo;
|
|
220
|
+
/**
|
|
221
|
+
* Callback function called when the report is generated
|
|
222
|
+
*/
|
|
223
|
+
onGenerate: (report: RegulatoryNotification) => void;
|
|
224
|
+
/**
|
|
225
|
+
* Title displayed on the generator form
|
|
226
|
+
* @default "Generate NDPC Notification Report"
|
|
227
|
+
*/
|
|
228
|
+
title?: string;
|
|
229
|
+
/**
|
|
230
|
+
* Description text displayed on the generator form
|
|
231
|
+
* @default "Generate a report for submission to the NDPC in compliance with NDPA Section 40 breach notification requirements."
|
|
232
|
+
*/
|
|
233
|
+
description?: string;
|
|
234
|
+
/**
|
|
235
|
+
* Text for the generate button
|
|
236
|
+
* @default "Generate Report"
|
|
237
|
+
*/
|
|
238
|
+
generateButtonText?: string;
|
|
239
|
+
/**
|
|
240
|
+
* Custom CSS class for the form
|
|
241
|
+
*/
|
|
242
|
+
className?: string;
|
|
243
|
+
/**
|
|
244
|
+
* Custom CSS class for the buttons
|
|
245
|
+
*/
|
|
246
|
+
buttonClassName?: string;
|
|
247
|
+
/**
|
|
248
|
+
* Override class names for individual elements
|
|
249
|
+
*/
|
|
250
|
+
classNames?: RegulatoryReportGeneratorClassNames;
|
|
251
|
+
/**
|
|
252
|
+
* Remove all default styles, only applying classNames overrides
|
|
253
|
+
*/
|
|
254
|
+
unstyled?: boolean;
|
|
255
|
+
/**
|
|
256
|
+
* Whether to show a preview of the generated report
|
|
257
|
+
* @default true
|
|
258
|
+
*/
|
|
259
|
+
showPreview?: boolean;
|
|
260
|
+
/**
|
|
261
|
+
* Whether to allow editing the report content
|
|
262
|
+
* @default true
|
|
263
|
+
*/
|
|
264
|
+
allowEditing?: boolean;
|
|
265
|
+
/**
|
|
266
|
+
* Whether to allow downloading the report
|
|
267
|
+
* @default true
|
|
268
|
+
*/
|
|
269
|
+
allowDownload?: boolean;
|
|
270
|
+
/**
|
|
271
|
+
* Format for downloading the report
|
|
272
|
+
* @default "pdf"
|
|
273
|
+
*/
|
|
274
|
+
downloadFormat?: 'pdf' | 'docx' | 'html';
|
|
275
|
+
}
|
|
276
|
+
/**
|
|
277
|
+
* Regulatory report generator component. Implements NDPA Section 40 requirements for
|
|
278
|
+
* generating formal breach notification reports for submission to the NDPC.
|
|
279
|
+
*/
|
|
280
|
+
declare const RegulatoryReportGenerator: React__default.FC<RegulatoryReportGeneratorProps>;
|
|
281
|
+
|
|
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 };
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
import React__default from 'react';
|
|
2
|
+
import { a as DPIAResult, c as DPIASection } from './dpia-5OQVA1R_.js';
|
|
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 };
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { S as StorageAdapter } from './types-DK2CoKOC.mjs';
|
|
2
|
+
|
|
3
|
+
declare function localStorageAdapter<T = unknown>(key: string): StorageAdapter<T>;
|
|
4
|
+
|
|
5
|
+
declare function sessionStorageAdapter<T = unknown>(key: string): StorageAdapter<T>;
|
|
6
|
+
|
|
7
|
+
interface CookieAdapterOptions {
|
|
8
|
+
domain?: string;
|
|
9
|
+
path?: string;
|
|
10
|
+
expires?: number;
|
|
11
|
+
secure?: boolean;
|
|
12
|
+
sameSite?: 'Strict' | 'Lax' | 'None';
|
|
13
|
+
}
|
|
14
|
+
declare function cookieAdapter<T = unknown>(key: string, options?: CookieAdapterOptions): StorageAdapter<T>;
|
|
15
|
+
|
|
16
|
+
interface ApiAdapterOptions {
|
|
17
|
+
headers?: Record<string, string>;
|
|
18
|
+
}
|
|
19
|
+
declare function apiAdapter<T = unknown>(endpoint: string, options?: ApiAdapterOptions): StorageAdapter<T>;
|
|
20
|
+
|
|
21
|
+
declare function memoryAdapter<T = unknown>(initialData?: T): StorageAdapter<T>;
|
|
22
|
+
|
|
23
|
+
declare function composeAdapters<T = unknown>(primary: StorageAdapter<T>, ...secondaries: StorageAdapter<T>[]): StorageAdapter<T>;
|
|
24
|
+
|
|
25
|
+
export { type ApiAdapterOptions, type CookieAdapterOptions, StorageAdapter, apiAdapter, composeAdapters, cookieAdapter, localStorageAdapter, memoryAdapter, sessionStorageAdapter };
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { S as StorageAdapter } from './types-DK2CoKOC.js';
|
|
2
|
+
|
|
3
|
+
declare function localStorageAdapter<T = unknown>(key: string): StorageAdapter<T>;
|
|
4
|
+
|
|
5
|
+
declare function sessionStorageAdapter<T = unknown>(key: string): StorageAdapter<T>;
|
|
6
|
+
|
|
7
|
+
interface CookieAdapterOptions {
|
|
8
|
+
domain?: string;
|
|
9
|
+
path?: string;
|
|
10
|
+
expires?: number;
|
|
11
|
+
secure?: boolean;
|
|
12
|
+
sameSite?: 'Strict' | 'Lax' | 'None';
|
|
13
|
+
}
|
|
14
|
+
declare function cookieAdapter<T = unknown>(key: string, options?: CookieAdapterOptions): StorageAdapter<T>;
|
|
15
|
+
|
|
16
|
+
interface ApiAdapterOptions {
|
|
17
|
+
headers?: Record<string, string>;
|
|
18
|
+
}
|
|
19
|
+
declare function apiAdapter<T = unknown>(endpoint: string, options?: ApiAdapterOptions): StorageAdapter<T>;
|
|
20
|
+
|
|
21
|
+
declare function memoryAdapter<T = unknown>(initialData?: T): StorageAdapter<T>;
|
|
22
|
+
|
|
23
|
+
declare function composeAdapters<T = unknown>(primary: StorageAdapter<T>, ...secondaries: StorageAdapter<T>[]): StorageAdapter<T>;
|
|
24
|
+
|
|
25
|
+
export { type ApiAdapterOptions, type CookieAdapterOptions, StorageAdapter, apiAdapter, composeAdapters, cookieAdapter, localStorageAdapter, memoryAdapter, sessionStorageAdapter };
|
package/dist/adapters.js
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
'use strict';var chunk3F34NACG_js=require('./chunk-3F34NACG.js'),chunkUK656RCG_js=require('./chunk-UK656RCG.js'),chunkMQFZHA2D_js=require('./chunk-MQFZHA2D.js');function l(e,t={}){var a;let r=(a=t.headers)!=null?a:{};return {load(){return chunkMQFZHA2D_js.d(this,null,function*(){try{let o=yield fetch(e,{method:"GET",headers:chunkMQFZHA2D_js.a({},r)});return o.ok?yield o.json():null}catch(o){return null}})},save(o){return chunkMQFZHA2D_js.d(this,null,function*(){try{yield fetch(e,{method:"POST",headers:chunkMQFZHA2D_js.a({"Content-Type":"application/json"},r),body:JSON.stringify(o)});}catch(d){console.warn(`[ndpr-toolkit] Failed to save to ${e}`);}})},remove(){return chunkMQFZHA2D_js.d(this,null,function*(){try{yield fetch(e,{method:"DELETE",headers:chunkMQFZHA2D_js.a({},r)});}catch(o){console.warn(`[ndpr-toolkit] Failed to delete from ${e}`);}})}}}function f(e){let t=e!=null?e:null;return {load(){return t},save(r){t=r;},remove(){t=null;}}}function u(e,...t){return {load(){return e.load()},save(r){let a=e.save(r),p=()=>chunkMQFZHA2D_js.d(null,null,function*(){for(let o of t)try{yield o.save(r);}catch(d){console.warn("[ndpr-toolkit] Secondary adapter save failed:",d);}});return a instanceof Promise?a.then(()=>p()):p()},remove(){let r=e.remove(),a=()=>chunkMQFZHA2D_js.d(null,null,function*(){for(let p of t)try{yield p.remove();}catch(o){console.warn("[ndpr-toolkit] Secondary adapter remove failed:",o);}});return r instanceof Promise?r.then(()=>a()):a()}}}Object.defineProperty(exports,"cookieAdapter",{enumerable:true,get:function(){return chunk3F34NACG_js.b}});Object.defineProperty(exports,"sessionStorageAdapter",{enumerable:true,get:function(){return chunk3F34NACG_js.a}});Object.defineProperty(exports,"localStorageAdapter",{enumerable:true,get:function(){return chunkUK656RCG_js.a}});exports.apiAdapter=l;exports.composeAdapters=u;exports.memoryAdapter=f;//# sourceMappingURL=adapters.js.map
|
|
2
|
+
//# sourceMappingURL=adapters.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export{b as cookieAdapter,a as sessionStorageAdapter}from'./chunk-YJCGEOLO.mjs';export{a as localStorageAdapter}from'./chunk-SBNAMPAP.mjs';import {d,a}from'./chunk-WWT2ZSNU.mjs';function l(e,t={}){var a$1;let r=(a$1=t.headers)!=null?a$1:{};return {load(){return d(this,null,function*(){try{let o=yield fetch(e,{method:"GET",headers:a({},r)});return o.ok?yield o.json():null}catch(o){return null}})},save(o){return d(this,null,function*(){try{yield fetch(e,{method:"POST",headers:a({"Content-Type":"application/json"},r),body:JSON.stringify(o)});}catch(d){console.warn(`[ndpr-toolkit] Failed to save to ${e}`);}})},remove(){return d(this,null,function*(){try{yield fetch(e,{method:"DELETE",headers:a({},r)});}catch(o){console.warn(`[ndpr-toolkit] Failed to delete from ${e}`);}})}}}function f(e){let t=e!=null?e:null;return {load(){return t},save(r){t=r;},remove(){t=null;}}}function u(e,...t){return {load(){return e.load()},save(r){let a=e.save(r),p=()=>d(null,null,function*(){for(let o of t)try{yield o.save(r);}catch(d){console.warn("[ndpr-toolkit] Secondary adapter save failed:",d);}});return a instanceof Promise?a.then(()=>p()):p()},remove(){let r=e.remove(),a=()=>d(null,null,function*(){for(let p of t)try{yield p.remove();}catch(o){console.warn("[ndpr-toolkit] Secondary adapter remove failed:",o);}});return r instanceof Promise?r.then(()=>a()):a()}}}export{l as apiAdapter,u as composeAdapters,f as memoryAdapter};//# sourceMappingURL=adapters.mjs.map
|
|
2
|
+
//# sourceMappingURL=adapters.mjs.map
|