@tantainnovative/ndpr-toolkit 3.13.0 → 4.1.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/CHANGELOG.md +131 -0
- package/README.md +1 -1
- package/dist/breach.d.mts +2 -7
- package/dist/breach.d.ts +2 -7
- package/dist/breach.js +1 -1
- package/dist/breach.mjs +1 -1
- package/dist/chunk-3APT25XO.mjs +1 -0
- package/dist/chunk-45D7AMB3.js +1 -0
- package/dist/chunk-63WM5PHZ.js +1 -0
- package/dist/chunk-65J4P5ID.js +1 -0
- package/dist/chunk-6A6VI7ZP.mjs +1 -0
- package/dist/{chunk-NB6SKG76.mjs → chunk-6H6IXTHA.mjs} +1 -1
- package/dist/chunk-6OPGI27L.mjs +1 -0
- package/dist/{chunk-3XU6FL2I.js → chunk-6YFPDGNB.js} +1 -1
- package/dist/{chunk-IHNAFXDM.mjs → chunk-7Z7NURIA.mjs} +1 -1
- package/dist/chunk-D2UWB5OI.js +2 -0
- package/dist/chunk-D3HHDWBR.js +1 -0
- package/dist/chunk-DK7P5JEG.mjs +2 -0
- package/dist/chunk-DSIIEUAD.mjs +1 -0
- package/dist/chunk-H2FDWK4F.js +6 -0
- package/dist/chunk-HLFS3NXG.js +1 -0
- package/dist/chunk-JGY65SHX.mjs +1 -0
- package/dist/chunk-NI54X543.mjs +1 -0
- package/dist/chunk-O4ATGGVK.js +1 -0
- package/dist/chunk-P5MPUC5F.js +1 -0
- package/dist/{chunk-BGV2AKT7.mjs → chunk-PSPYIRIF.mjs} +1 -1
- package/dist/{chunk-HOAC5VUF.js → chunk-ROOUYQD4.js} +1 -1
- package/dist/{chunk-WMISQDSV.js → chunk-UJGNW6CH.js} +1 -1
- package/dist/chunk-UTXDZDYF.mjs +6 -0
- package/dist/chunk-W6VVLHRQ.mjs +1 -0
- package/dist/consent.d.mts +2 -0
- package/dist/consent.d.ts +2 -0
- package/dist/consent.js +1 -1
- package/dist/consent.mjs +1 -1
- package/dist/core.d.mts +13 -0
- package/dist/core.d.ts +13 -0
- package/dist/core.js +1 -1
- package/dist/core.mjs +1 -1
- package/dist/cross-border.d.mts +24 -0
- package/dist/cross-border.d.ts +24 -0
- package/dist/cross-border.js +1 -1
- package/dist/cross-border.mjs +1 -1
- package/dist/dsr.d.mts +15 -3
- package/dist/dsr.d.ts +15 -3
- package/dist/dsr.js +1 -1
- package/dist/dsr.mjs +1 -1
- package/dist/headless.d.mts +34 -4
- package/dist/headless.d.ts +34 -4
- package/dist/headless.js +1 -1
- package/dist/headless.mjs +1 -1
- package/dist/hooks.d.mts +34 -4
- package/dist/hooks.d.ts +34 -4
- package/dist/hooks.js +1 -1
- package/dist/hooks.mjs +1 -1
- package/dist/index.d.mts +229 -11
- package/dist/index.d.ts +229 -11
- package/dist/index.js +1 -1
- package/dist/index.mjs +1 -1
- package/dist/lawful-basis.d.mts +21 -0
- package/dist/lawful-basis.d.ts +21 -0
- package/dist/lawful-basis.js +1 -1
- package/dist/lawful-basis.mjs +1 -1
- package/dist/presets-consent.d.mts +5 -1
- package/dist/presets-consent.d.ts +5 -1
- package/dist/presets-consent.js +1 -1
- package/dist/presets-consent.mjs +1 -1
- package/dist/presets.d.mts +103 -22
- package/dist/presets.d.ts +103 -22
- package/dist/presets.js +1 -1
- package/dist/presets.mjs +1 -1
- package/dist/ropa-lite.d.mts +13 -1
- package/dist/ropa-lite.d.ts +13 -1
- package/dist/ropa-lite.js +1 -1
- package/dist/ropa-lite.mjs +1 -1
- package/dist/ropa.d.mts +43 -1
- package/dist/ropa.d.ts +43 -1
- package/dist/ropa.js +1 -1
- package/dist/ropa.mjs +1 -1
- package/dist/server.d.mts +135 -0
- package/dist/server.d.ts +135 -0
- package/dist/server.js +1 -1
- package/dist/server.mjs +1 -1
- package/dist/styles.css +18 -16
- package/package.json +3 -3
- package/dist/chunk-42JPSNVV.mjs +0 -6
- package/dist/chunk-737EMUUC.mjs +0 -1
- package/dist/chunk-7FXNGGMO.js +0 -1
- package/dist/chunk-B46SJB5V.js +0 -1
- package/dist/chunk-BL5W472Q.js +0 -1
- package/dist/chunk-NUIRMJKQ.mjs +0 -2
- package/dist/chunk-O2WEABB3.js +0 -1
- package/dist/chunk-OZHUINWS.js +0 -1
- package/dist/chunk-PJNKQPQP.mjs +0 -1
- package/dist/chunk-PXDSPF5B.js +0 -2
- package/dist/chunk-QGUOFGVJ.js +0 -2
- package/dist/chunk-RBKFNCGO.mjs +0 -1
- package/dist/chunk-VPNK7OID.mjs +0 -1
- package/dist/chunk-WHQ4PEYS.mjs +0 -2
- package/dist/chunk-WKUC65HL.mjs +0 -1
- package/dist/chunk-XYGGUGTO.js +0 -6
- package/dist/chunk-Z2M5VJX2.mjs +0 -1
- package/dist/chunk-ZM5DLFCZ.js +0 -1
package/dist/index.d.ts
CHANGED
|
@@ -476,16 +476,11 @@ export declare interface BreachReportFormProps {
|
|
|
476
476
|
*/
|
|
477
477
|
title?: string;
|
|
478
478
|
/**
|
|
479
|
-
* Description text displayed on the form.
|
|
480
|
-
*
|
|
479
|
+
* Description text displayed on the form.
|
|
480
|
+
*
|
|
481
481
|
* @default "Use this form to report a suspected or confirmed data breach in accordance with NDPA Section 40. All fields marked with * are required."
|
|
482
482
|
*/
|
|
483
483
|
description?: string;
|
|
484
|
-
/**
|
|
485
|
-
* @deprecated Renamed to `description`. Will be removed in 4.0.
|
|
486
|
-
* If both are set, `description` wins.
|
|
487
|
-
*/
|
|
488
|
-
formDescription?: string;
|
|
489
484
|
/**
|
|
490
485
|
* Text for the submit button
|
|
491
486
|
* @default "Submit Report"
|
|
@@ -1335,16 +1330,40 @@ export declare interface CrossBorderTransferManagerProps {
|
|
|
1335
1330
|
transfers: CrossBorderTransfer[];
|
|
1336
1331
|
/**
|
|
1337
1332
|
* Callback when a new transfer is added
|
|
1333
|
+
* @deprecated Renamed to `onAdd` in 4.1. The legacy name still fires
|
|
1334
|
+
* for backward compatibility and will be removed in 5.0.
|
|
1338
1335
|
*/
|
|
1339
1336
|
onAddTransfer?: (transfer: Omit<CrossBorderTransfer, 'id' | 'createdAt' | 'updatedAt'>) => void;
|
|
1340
1337
|
/**
|
|
1341
1338
|
* Callback when a transfer is updated
|
|
1339
|
+
* @deprecated Renamed to `onUpdate` in 4.1. The legacy name still fires
|
|
1340
|
+
* for backward compatibility and will be removed in 5.0.
|
|
1342
1341
|
*/
|
|
1343
1342
|
onUpdateTransfer?: (id: string, updates: Partial<CrossBorderTransfer>) => void;
|
|
1344
1343
|
/**
|
|
1345
1344
|
* Callback when a transfer is removed
|
|
1345
|
+
* @deprecated Renamed to `onArchive` in 4.1 (NDPA prefers soft-delete
|
|
1346
|
+
* over hard delete). The legacy name still fires for backward
|
|
1347
|
+
* compatibility and will be removed in 5.0.
|
|
1346
1348
|
*/
|
|
1347
1349
|
onRemoveTransfer?: (id: string) => void;
|
|
1350
|
+
/**
|
|
1351
|
+
* Callback when a new transfer is added (uniform 4.1+ name).
|
|
1352
|
+
* Takes precedence over `onAddTransfer` when both are provided.
|
|
1353
|
+
*/
|
|
1354
|
+
onAdd?: (transfer: Omit<CrossBorderTransfer, 'id' | 'createdAt' | 'updatedAt'>) => void;
|
|
1355
|
+
/**
|
|
1356
|
+
* Callback when a transfer is updated (uniform 4.1+ name).
|
|
1357
|
+
* Takes precedence over `onUpdateTransfer` when both are provided.
|
|
1358
|
+
*/
|
|
1359
|
+
onUpdate?: (id: string, updates: Partial<CrossBorderTransfer>) => void;
|
|
1360
|
+
/**
|
|
1361
|
+
* Callback when a transfer is archived (uniform 4.1+ name). NDPA
|
|
1362
|
+
* preference is soft-delete over hard-delete; consumers should treat
|
|
1363
|
+
* this as an archive signal. Takes precedence over `onRemoveTransfer`
|
|
1364
|
+
* when both are provided.
|
|
1365
|
+
*/
|
|
1366
|
+
onArchive?: (id: string) => void;
|
|
1348
1367
|
/**
|
|
1349
1368
|
* Compliance summary data
|
|
1350
1369
|
*/
|
|
@@ -2224,6 +2243,7 @@ export declare function exportROPAToCSV(ropa: RecordOfProcessingActivities): str
|
|
|
2224
2243
|
* Formats a DSR request for display or submission
|
|
2225
2244
|
* @param request The DSR request to format
|
|
2226
2245
|
* @returns Formatted request data
|
|
2246
|
+
* @deprecated Use `formatDSRRequestStructured()` for typed `{ field, code, message }[]` errors. The legacy string-returning shape will be removed in 5.0.
|
|
2227
2247
|
*/
|
|
2228
2248
|
export declare function formatDSRRequest(request: DSRRequest): {
|
|
2229
2249
|
formattedRequest: Record<string, unknown>;
|
|
@@ -2231,6 +2251,31 @@ export declare function formatDSRRequest(request: DSRRequest): {
|
|
|
2231
2251
|
validationErrors: string[];
|
|
2232
2252
|
};
|
|
2233
2253
|
|
|
2254
|
+
/**
|
|
2255
|
+
* Structured-result variant of {@link formatDSRRequest}. Same formatting
|
|
2256
|
+
* output, but `validationErrors` is replaced with a typed `errors` array
|
|
2257
|
+
* of `{ field, code, message }`.
|
|
2258
|
+
*
|
|
2259
|
+
* Codes emitted:
|
|
2260
|
+
* - `request_id_required`
|
|
2261
|
+
* - `request_type_required`
|
|
2262
|
+
* - `request_status_required`
|
|
2263
|
+
* - `created_at_required`
|
|
2264
|
+
* - `subject_name_required`
|
|
2265
|
+
* - `subject_email_required`
|
|
2266
|
+
*/
|
|
2267
|
+
export declare function formatDSRRequestStructured(request: DSRRequest): FormatDSRRequestStructuredResult;
|
|
2268
|
+
|
|
2269
|
+
/** Result of {@link formatDSRRequestStructured}. */
|
|
2270
|
+
export declare interface FormatDSRRequestStructuredResult {
|
|
2271
|
+
valid: boolean;
|
|
2272
|
+
errors: StructuredValidationError[];
|
|
2273
|
+
/** Formatted request payload — always populated regardless of `valid`. */
|
|
2274
|
+
formattedRequest: Record<string, unknown>;
|
|
2275
|
+
/** Narrowed input — populated only on `valid: true`. */
|
|
2276
|
+
data?: DSRRequest;
|
|
2277
|
+
}
|
|
2278
|
+
|
|
2234
2279
|
/**
|
|
2235
2280
|
* Generates a summary of all lawful basis documentation across processing activities.
|
|
2236
2281
|
*
|
|
@@ -2423,16 +2468,37 @@ export declare interface LawfulBasisTrackerProps {
|
|
|
2423
2468
|
activities: ProcessingActivity[];
|
|
2424
2469
|
/**
|
|
2425
2470
|
* Callback when a new activity is created
|
|
2471
|
+
* @deprecated Renamed to `onAdd` in 4.1. The legacy name still fires
|
|
2472
|
+
* for backward compatibility and will be removed in 5.0.
|
|
2426
2473
|
*/
|
|
2427
2474
|
onAddActivity?: (activity: Omit<ProcessingActivity, 'id' | 'createdAt' | 'updatedAt'>) => void;
|
|
2428
2475
|
/**
|
|
2429
2476
|
* Callback when an activity is updated
|
|
2477
|
+
* @deprecated Renamed to `onUpdate` in 4.1. The legacy name still fires
|
|
2478
|
+
* for backward compatibility and will be removed in 5.0.
|
|
2430
2479
|
*/
|
|
2431
2480
|
onUpdateActivity?: (id: string, updates: Partial<ProcessingActivity>) => void;
|
|
2432
2481
|
/**
|
|
2433
2482
|
* Callback when an activity is archived
|
|
2483
|
+
* @deprecated Renamed to `onArchive` in 4.1. The legacy name still fires
|
|
2484
|
+
* for backward compatibility and will be removed in 5.0.
|
|
2434
2485
|
*/
|
|
2435
2486
|
onArchiveActivity?: (id: string) => void;
|
|
2487
|
+
/**
|
|
2488
|
+
* Callback when a new activity is created (uniform 4.1+ name).
|
|
2489
|
+
* Takes precedence over `onAddActivity` when both are provided.
|
|
2490
|
+
*/
|
|
2491
|
+
onAdd?: (activity: Omit<ProcessingActivity, 'id' | 'createdAt' | 'updatedAt'>) => void;
|
|
2492
|
+
/**
|
|
2493
|
+
* Callback when an activity is updated (uniform 4.1+ name).
|
|
2494
|
+
* Takes precedence over `onUpdateActivity` when both are provided.
|
|
2495
|
+
*/
|
|
2496
|
+
onUpdate?: (id: string, updates: Partial<ProcessingActivity>) => void;
|
|
2497
|
+
/**
|
|
2498
|
+
* Callback when an activity is archived (uniform 4.1+ name).
|
|
2499
|
+
* Takes precedence over `onArchiveActivity` when both are provided.
|
|
2500
|
+
*/
|
|
2501
|
+
onArchive?: (id: string) => void;
|
|
2436
2502
|
/**
|
|
2437
2503
|
* Title displayed on the tracker
|
|
2438
2504
|
* @default "Lawful Basis Tracker"
|
|
@@ -3930,16 +3996,37 @@ export declare interface ROPAManagerProps {
|
|
|
3930
3996
|
ropa: RecordOfProcessingActivities;
|
|
3931
3997
|
/**
|
|
3932
3998
|
* Callback when a new record is added
|
|
3999
|
+
* @deprecated Renamed to `onAdd` in 4.1. The legacy name still fires
|
|
4000
|
+
* for backward compatibility and will be removed in 5.0.
|
|
3933
4001
|
*/
|
|
3934
4002
|
onAddRecord?: (record: ProcessingRecord) => void;
|
|
3935
4003
|
/**
|
|
3936
4004
|
* Callback when a record is updated
|
|
4005
|
+
* @deprecated Renamed to `onUpdate` in 4.1. The legacy name still fires
|
|
4006
|
+
* for backward compatibility and will be removed in 5.0.
|
|
3937
4007
|
*/
|
|
3938
4008
|
onUpdateRecord?: (id: string, updates: Partial<ProcessingRecord>) => void;
|
|
3939
4009
|
/**
|
|
3940
4010
|
* Callback when a record is archived
|
|
4011
|
+
* @deprecated Renamed to `onArchive` in 4.1. The legacy name still fires
|
|
4012
|
+
* for backward compatibility and will be removed in 5.0.
|
|
3941
4013
|
*/
|
|
3942
4014
|
onArchiveRecord?: (id: string) => void;
|
|
4015
|
+
/**
|
|
4016
|
+
* Callback when a new record is added (uniform 4.1+ name).
|
|
4017
|
+
* Takes precedence over `onAddRecord` when both are provided.
|
|
4018
|
+
*/
|
|
4019
|
+
onAdd?: (record: ProcessingRecord) => void;
|
|
4020
|
+
/**
|
|
4021
|
+
* Callback when a record is updated (uniform 4.1+ name).
|
|
4022
|
+
* Takes precedence over `onUpdateRecord` when both are provided.
|
|
4023
|
+
*/
|
|
4024
|
+
onUpdate?: (id: string, updates: Partial<ProcessingRecord>) => void;
|
|
4025
|
+
/**
|
|
4026
|
+
* Callback when a record is archived (uniform 4.1+ name).
|
|
4027
|
+
* Takes precedence over `onArchiveRecord` when both are provided.
|
|
4028
|
+
*/
|
|
4029
|
+
onArchive?: (id: string) => void;
|
|
3943
4030
|
/**
|
|
3944
4031
|
* Title displayed on the manager
|
|
3945
4032
|
* @default "Record of Processing Activities (ROPA)"
|
|
@@ -4122,6 +4209,30 @@ export declare interface StorageAdapter<T = unknown> {
|
|
|
4122
4209
|
remove(): void | Promise<void>;
|
|
4123
4210
|
}
|
|
4124
4211
|
|
|
4212
|
+
/**
|
|
4213
|
+
* Single structured validation error with a stable, locale-independent
|
|
4214
|
+
* `code` consumers can switch on programmatically.
|
|
4215
|
+
*/
|
|
4216
|
+
export declare interface StructuredValidationError {
|
|
4217
|
+
/** Dot-path of the offending field (e.g. `'timestamp'`, `'dataSubject.email'`, `'options[0].purpose'`). */
|
|
4218
|
+
field: string;
|
|
4219
|
+
/** Stable, snake_case error code — safe to switch on across locales. */
|
|
4220
|
+
code: string;
|
|
4221
|
+
/** Human-readable English message — informational only; do not regex-match. */
|
|
4222
|
+
message: string;
|
|
4223
|
+
}
|
|
4224
|
+
|
|
4225
|
+
/**
|
|
4226
|
+
* Result of a structured validator. `errors` is an array (one entry per
|
|
4227
|
+
* failed rule). `data` is the narrowed, typed payload, only populated on
|
|
4228
|
+
* `valid: true`.
|
|
4229
|
+
*/
|
|
4230
|
+
export declare interface StructuredValidationResult<T> {
|
|
4231
|
+
valid: boolean;
|
|
4232
|
+
errors: StructuredValidationError[];
|
|
4233
|
+
data?: T;
|
|
4234
|
+
}
|
|
4235
|
+
|
|
4125
4236
|
/** Full context used to generate an adaptive privacy policy. */
|
|
4126
4237
|
declare interface TemplateContext {
|
|
4127
4238
|
/** Organisation details, extended with industry and size. */
|
|
@@ -4882,9 +4993,18 @@ declare interface UseDSROptions {
|
|
|
4882
4993
|
*/
|
|
4883
4994
|
storageKey?: string;
|
|
4884
4995
|
/**
|
|
4885
|
-
* Whether to use local storage to persist requests
|
|
4886
|
-
*
|
|
4887
|
-
*
|
|
4996
|
+
* Whether to use local storage to persist requests.
|
|
4997
|
+
*
|
|
4998
|
+
* **Changed in 4.0:** the default is now `false`. `useDSR` is the admin
|
|
4999
|
+
* tracker hook and its state contains data subjects' PII; the previous
|
|
5000
|
+
* default (true) stored that PII in the admin's browser localStorage,
|
|
5001
|
+
* which is rarely appropriate. Opt in by passing `useLocalStorage: true`
|
|
5002
|
+
* if you specifically want the old behaviour.
|
|
5003
|
+
*
|
|
5004
|
+
* For production deployments, pass an explicit `adapter` instead.
|
|
5005
|
+
*
|
|
5006
|
+
* @default false (as of 4.0; was `true` in 3.x)
|
|
5007
|
+
* @deprecated Pass an explicit `adapter` instead of toggling this flag.
|
|
4888
5008
|
*/
|
|
4889
5009
|
useLocalStorage?: boolean;
|
|
4890
5010
|
/**
|
|
@@ -5217,7 +5337,7 @@ declare interface UsePrivacyPolicyReturn {
|
|
|
5217
5337
|
* }
|
|
5218
5338
|
* ```
|
|
5219
5339
|
*/
|
|
5220
|
-
export declare function useROPA({ initialData, adapter, onRecordAdd, onRecordUpdate, onRecordArchive, }: UseROPAOptions): UseROPAReturn;
|
|
5340
|
+
export declare function useROPA({ initialData, adapter, onRecordAdd, onRecordUpdate, onRecordArchive, onAdd, onUpdate, onArchive, }: UseROPAOptions): UseROPAReturn;
|
|
5221
5341
|
|
|
5222
5342
|
export declare interface UseROPAOptions {
|
|
5223
5343
|
/**
|
|
@@ -5232,16 +5352,37 @@ export declare interface UseROPAOptions {
|
|
|
5232
5352
|
adapter?: StorageAdapter<RecordOfProcessingActivities>;
|
|
5233
5353
|
/**
|
|
5234
5354
|
* Callback when a record is added
|
|
5355
|
+
* @deprecated Renamed to `onAdd` in 4.1. The legacy name still fires
|
|
5356
|
+
* for backward compatibility and will be removed in 5.0.
|
|
5235
5357
|
*/
|
|
5236
5358
|
onRecordAdd?: (record: ProcessingRecord) => void;
|
|
5237
5359
|
/**
|
|
5238
5360
|
* Callback when a record is updated
|
|
5361
|
+
* @deprecated Renamed to `onUpdate` in 4.1. The legacy name still fires
|
|
5362
|
+
* for backward compatibility and will be removed in 5.0.
|
|
5239
5363
|
*/
|
|
5240
5364
|
onRecordUpdate?: (id: string, updates: Partial<ProcessingRecord>) => void;
|
|
5241
5365
|
/**
|
|
5242
5366
|
* Callback when a record is archived
|
|
5367
|
+
* @deprecated Renamed to `onArchive` in 4.1. The legacy name still fires
|
|
5368
|
+
* for backward compatibility and will be removed in 5.0.
|
|
5243
5369
|
*/
|
|
5244
5370
|
onRecordArchive?: (id: string) => void;
|
|
5371
|
+
/**
|
|
5372
|
+
* Callback when a record is added (uniform 4.1+ name).
|
|
5373
|
+
* Takes precedence over `onRecordAdd` when both are provided.
|
|
5374
|
+
*/
|
|
5375
|
+
onAdd?: (record: ProcessingRecord) => void;
|
|
5376
|
+
/**
|
|
5377
|
+
* Callback when a record is updated (uniform 4.1+ name).
|
|
5378
|
+
* Takes precedence over `onRecordUpdate` when both are provided.
|
|
5379
|
+
*/
|
|
5380
|
+
onUpdate?: (id: string, updates: Partial<ProcessingRecord>) => void;
|
|
5381
|
+
/**
|
|
5382
|
+
* Callback when a record is archived (uniform 4.1+ name).
|
|
5383
|
+
* Takes precedence over `onRecordArchive` when both are provided.
|
|
5384
|
+
*/
|
|
5385
|
+
onArchive?: (id: string) => void;
|
|
5245
5386
|
}
|
|
5246
5387
|
|
|
5247
5388
|
export declare interface UseROPAReturn {
|
|
@@ -5308,6 +5449,7 @@ export declare interface UseROPAReturn {
|
|
|
5308
5449
|
* Validates consent settings to ensure they meet NDPA requirements
|
|
5309
5450
|
* @param settings The consent settings to validate
|
|
5310
5451
|
* @returns An object containing validation result and any error messages
|
|
5452
|
+
* @deprecated Use `validateConsentStructured()` for typed `{ field, code, message }[]` errors. The legacy string-returning shape will be removed in 5.0.
|
|
5311
5453
|
*/
|
|
5312
5454
|
export declare function validateConsent(settings: ConsentSettings): {
|
|
5313
5455
|
valid: boolean;
|
|
@@ -5320,12 +5462,50 @@ export declare function validateConsent(settings: ConsentSettings): {
|
|
|
5320
5462
|
* as consent must be specific and informed per the Nigeria Data Protection Act.
|
|
5321
5463
|
* @param options The consent options to validate
|
|
5322
5464
|
* @returns An object containing validation result and any error messages
|
|
5465
|
+
* @deprecated Use `validateConsentOptionsStructured()` for typed `{ field, code, message }[]` errors. The legacy string-returning shape will be removed in 5.0.
|
|
5323
5466
|
*/
|
|
5324
5467
|
export declare function validateConsentOptions(options: ConsentOption[]): {
|
|
5325
5468
|
valid: boolean;
|
|
5326
5469
|
errors: string[];
|
|
5327
5470
|
};
|
|
5328
5471
|
|
|
5472
|
+
/**
|
|
5473
|
+
* Structured-result variant of {@link validateConsentOptions}. Each option
|
|
5474
|
+
* is checked for a non-empty `purpose` (NDPA Section 26). Failing options
|
|
5475
|
+
* are reported with `field: 'options[i].purpose'` so consumers can map
|
|
5476
|
+
* errors back to the originating option index.
|
|
5477
|
+
*
|
|
5478
|
+
* Codes emitted:
|
|
5479
|
+
* - `options_required` — empty / missing options array
|
|
5480
|
+
* - `purpose_required` — single option missing a purpose
|
|
5481
|
+
*/
|
|
5482
|
+
export declare function validateConsentOptionsStructured(options: ConsentOption[]): StructuredValidationResult<ConsentOption[]>;
|
|
5483
|
+
|
|
5484
|
+
/**
|
|
5485
|
+
* Structured-result variant of {@link validateConsent}. Returns the same
|
|
5486
|
+
* checks as `{ field, code, message }[]` so consumers can switch on `code`
|
|
5487
|
+
* across locales without regex-matching English strings.
|
|
5488
|
+
*
|
|
5489
|
+
* Codes emitted:
|
|
5490
|
+
* - `consents_required`
|
|
5491
|
+
* - `timestamp_required`
|
|
5492
|
+
* - `timestamp_invalid`
|
|
5493
|
+
* - `version_required`
|
|
5494
|
+
* - `method_required`
|
|
5495
|
+
* - `has_interacted_required`
|
|
5496
|
+
* - `consent_stale`
|
|
5497
|
+
*
|
|
5498
|
+
* @example
|
|
5499
|
+
* ```ts
|
|
5500
|
+
* const { valid, errors, data } = validateConsentStructured(settings);
|
|
5501
|
+
* if (!valid) {
|
|
5502
|
+
* const stale = errors.find((e) => e.code === 'consent_stale');
|
|
5503
|
+
* if (stale) showRefreshBanner();
|
|
5504
|
+
* }
|
|
5505
|
+
* ```
|
|
5506
|
+
*/
|
|
5507
|
+
export declare function validateConsentStructured(settings: ConsentSettings): StructuredValidationResult<ConsentSettings>;
|
|
5508
|
+
|
|
5329
5509
|
/**
|
|
5330
5510
|
* Validate a raw DSR submission payload against the same rules
|
|
5331
5511
|
* `<DSRRequestForm />` enforces client-side. Designed to be called from a
|
|
@@ -5361,6 +5541,8 @@ export declare function validateConsentOptions(options: ConsentOption[]): {
|
|
|
5361
5541
|
* ```ts
|
|
5362
5542
|
* validateDsrSubmission(payload, { requireIdentityVerification: false });
|
|
5363
5543
|
* ```
|
|
5544
|
+
*
|
|
5545
|
+
* @deprecated Use `validateDsrSubmissionStructured()` for typed `{ field, code, message }[]` errors. The legacy string-returning shape will be removed in 5.0.
|
|
5364
5546
|
*/
|
|
5365
5547
|
export declare function validateDsrSubmission(payload: unknown, options?: ValidateDsrSubmissionOptions): DsrSubmissionValidationResult;
|
|
5366
5548
|
|
|
@@ -5381,6 +5563,42 @@ export declare interface ValidateDsrSubmissionOptions {
|
|
|
5381
5563
|
allowedRequestTypes?: string[];
|
|
5382
5564
|
}
|
|
5383
5565
|
|
|
5566
|
+
/**
|
|
5567
|
+
* Structured-result variant of {@link validateDsrSubmission}. Same rules,
|
|
5568
|
+
* but returns an array of `{ field, code, message }` so callers can switch
|
|
5569
|
+
* on `code` programmatically across locales.
|
|
5570
|
+
*
|
|
5571
|
+
* Codes emitted:
|
|
5572
|
+
* - `payload_not_object`
|
|
5573
|
+
* - `request_type_required`
|
|
5574
|
+
* - `request_type_not_allowed`
|
|
5575
|
+
* - `data_subject_required`
|
|
5576
|
+
* - `full_name_required`
|
|
5577
|
+
* - `email_required`
|
|
5578
|
+
* - `email_invalid_format`
|
|
5579
|
+
* - `phone_invalid_type`
|
|
5580
|
+
* - `identifier_type_required`
|
|
5581
|
+
* - `identifier_value_required`
|
|
5582
|
+
* - `submitted_at_invalid`
|
|
5583
|
+
* - `additional_info_invalid_type`
|
|
5584
|
+
* - `payload_final_narrowing_failed`
|
|
5585
|
+
*
|
|
5586
|
+
* @example **Next.js Route Handler**
|
|
5587
|
+
* ```ts
|
|
5588
|
+
* import { validateDsrSubmissionStructured } from '@tantainnovative/ndpr-toolkit/server';
|
|
5589
|
+
*
|
|
5590
|
+
* export async function POST(req: Request) {
|
|
5591
|
+
* const { valid, errors, data } = validateDsrSubmissionStructured(await req.json());
|
|
5592
|
+
* if (!valid) {
|
|
5593
|
+
* return Response.json({ errors }, { status: 422 });
|
|
5594
|
+
* }
|
|
5595
|
+
* await dsrStore.create(data);
|
|
5596
|
+
* return Response.json({ ok: true }, { status: 201 });
|
|
5597
|
+
* }
|
|
5598
|
+
* ```
|
|
5599
|
+
*/
|
|
5600
|
+
export declare function validateDsrSubmissionStructured(payload: unknown, options?: ValidateDsrSubmissionOptions): StructuredValidationResult<DsrSubmissionPayload>;
|
|
5601
|
+
|
|
5384
5602
|
/**
|
|
5385
5603
|
* Validates that all required fields are present on a processing activity
|
|
5386
5604
|
* and that the lawful basis is properly documented.
|
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
'use strict';var chunkNUWVPRNI_js=require('./chunk-NUWVPRNI.js'),chunk3I6FYA5C_js=require('./chunk-3I6FYA5C.js'),chunkQGUOFGVJ_js=require('./chunk-QGUOFGVJ.js'),chunk3SIYRGJF_js=require('./chunk-3SIYRGJF.js'),chunk7FXNGGMO_js=require('./chunk-7FXNGGMO.js'),chunkXYGGUGTO_js=require('./chunk-XYGGUGTO.js'),chunkBL5W472Q_js=require('./chunk-BL5W472Q.js'),chunkFC3PTJFL_js=require('./chunk-FC3PTJFL.js'),chunkEHQVTFYO_js=require('./chunk-EHQVTFYO.js'),chunkRC3XFXTJ_js=require('./chunk-RC3XFXTJ.js'),chunkQHW4UKGJ_js=require('./chunk-QHW4UKGJ.js'),chunkIRRUYR6M_js=require('./chunk-IRRUYR6M.js'),chunkHHK5LHEG_js=require('./chunk-HHK5LHEG.js'),chunkO2WEABB3_js=require('./chunk-O2WEABB3.js');require('./chunk-JS7SYL5P.js');var chunkRDALAH3Y_js=require('./chunk-RDALAH3Y.js'),chunk3YTAOT5O_js=require('./chunk-3YTAOT5O.js'),chunkD2ZKDQVL_js=require('./chunk-D2ZKDQVL.js');require('./chunk-6LJHLE6G.js');var chunkYFBDJ4FH_js=require('./chunk-YFBDJ4FH.js'),chunkWZYCBW2R_js=require('./chunk-WZYCBW2R.js'),chunk4CVBQC66_js=require('./chunk-4CVBQC66.js'),chunkSJDDNB6M_js=require('./chunk-SJDDNB6M.js'),chunk42UJFTII_js=require('./chunk-42UJFTII.js'),chunkZD2W3YU2_js=require('./chunk-ZD2W3YU2.js'),chunk3IA3KDII_js=require('./chunk-3IA3KDII.js'),chunkHOAC5VUF_js=require('./chunk-HOAC5VUF.js'),chunkL2VO3MEJ_js=require('./chunk-L2VO3MEJ.js');require('./chunk-C2KEXHRX.js');var chunkB46SJB5V_js=require('./chunk-B46SJB5V.js'),chunkWMISQDSV_js=require('./chunk-WMISQDSV.js'),chunkUZNWXJ2W_js=require('./chunk-UZNWXJ2W.js'),chunkUXUMYP4L_js=require('./chunk-UXUMYP4L.js'),chunkPXDSPF5B_js=require('./chunk-PXDSPF5B.js'),chunkOZHUINWS_js=require('./chunk-OZHUINWS.js'),chunk37VFK5SR_js=require('./chunk-37VFK5SR.js'),chunkWCTFED27_js=require('./chunk-WCTFED27.js'),chunkJLQT3W3E_js=require('./chunk-JLQT3W3E.js'),chunkTQZWJGJ2_js=require('./chunk-TQZWJGJ2.js'),chunkZVOIR4QH_js=require('./chunk-ZVOIR4QH.js'),chunkAME4HJR4_js=require('./chunk-AME4HJR4.js'),chunkYDKWD6MQ_js=require('./chunk-YDKWD6MQ.js');require('./chunk-TTMGFC6C.js'),require('./chunk-VWED6UTN.js'),require('./chunk-RFPLZDIO.js');var react=require('react'),jsxRuntime=require('react/jsx-runtime');var xe=({theme:o,className:t,children:s})=>{let n=react.useMemo(()=>{if(!o)return;let r={};if(o.colors){let e=o.colors;e.primary!==void 0&&(r["--ndpr-primary"]=e.primary),e.primaryHover!==void 0&&(r["--ndpr-primary-hover"]=e.primaryHover),e.primaryForeground!==void 0&&(r["--ndpr-primary-foreground"]=e.primaryForeground),e.background!==void 0&&(r["--ndpr-background"]=e.background),e.surface!==void 0&&(r["--ndpr-surface"]=e.surface),e.foreground!==void 0&&(r["--ndpr-foreground"]=e.foreground),e.muted!==void 0&&(r["--ndpr-muted"]=e.muted),e.mutedForeground!==void 0&&(r["--ndpr-muted-foreground"]=e.mutedForeground),e.border!==void 0&&(r["--ndpr-border"]=e.border),e.input!==void 0&&(r["--ndpr-input"]=e.input),e.ring!==void 0&&(r["--ndpr-ring"]=e.ring),e.success!==void 0&&(r["--ndpr-success"]=e.success),e.destructive!==void 0&&(r["--ndpr-destructive"]=e.destructive),e.warning!==void 0&&(r["--ndpr-warning"]=e.warning);}if(o.radius){let e=o.radius;e.sm!==void 0&&(r["--ndpr-radius-sm"]=e.sm),e.base!==void 0&&(r["--ndpr-radius"]=e.base),e.lg!==void 0&&(r["--ndpr-radius-lg"]=e.lg),e.full!==void 0&&(r["--ndpr-radius-full"]=e.full);}if(o.spacing){let e=o.spacing;e[1]!==void 0&&(r["--ndpr-space-1"]=e[1]),e[2]!==void 0&&(r["--ndpr-space-2"]=e[2]),e[3]!==void 0&&(r["--ndpr-space-3"]=e[3]),e[4]!==void 0&&(r["--ndpr-space-4"]=e[4]),e[5]!==void 0&&(r["--ndpr-space-5"]=e[5]),e[6]!==void 0&&(r["--ndpr-space-6"]=e[6]),e[8]!==void 0&&(r["--ndpr-space-8"]=e[8]);}if(o.shadow){let e=o.shadow;e.sm!==void 0&&(r["--ndpr-shadow-sm"]=e.sm),e.base!==void 0&&(r["--ndpr-shadow"]=e.base),e.lg!==void 0&&(r["--ndpr-shadow-lg"]=e.lg);}if(o.font){let e=o.font;e.sans!==void 0&&(r["--ndpr-font-sans"]=e.sans),e.sizeXs!==void 0&&(r["--ndpr-font-size-xs"]=e.sizeXs),e.sizeSm!==void 0&&(r["--ndpr-font-size-sm"]=e.sizeSm),e.sizeBase!==void 0&&(r["--ndpr-font-size-base"]=e.sizeBase),e.sizeLg!==void 0&&(r["--ndpr-font-size-lg"]=e.sizeLg),e.sizeXl!==void 0&&(r["--ndpr-font-size-xl"]=e.sizeXl),e.lineHeight!==void 0&&(r["--ndpr-line-height"]=e.lineHeight),e.lineHeightTight!==void 0&&(r["--ndpr-line-height-tight"]=e.lineHeightTight);}if(o.transition){let e=o.transition;e.base!==void 0&&(r["--ndpr-transition"]=e.base),e.slow!==void 0&&(r["--ndpr-transition-slow"]=e.slow);}if(o.z){let e=o.z;e.banner!==void 0&&(r["--ndpr-z-banner"]=String(e.banner)),e.modal!==void 0&&(r["--ndpr-z-modal"]=String(e.modal));}return Object.keys(r).length>0?r:void 0},[o]),p=o==null?void 0:o.mode;return jsxRuntime.jsx("div",{"data-ndpr-theme":"","data-theme":p,className:t,style:n,children:s})};var De=({variant:o="short",className:t,hidden:s})=>{if(s)return null;let n=o==="long"?chunkZVOIR4QH_js.b:chunkZVOIR4QH_js.a;return jsxRuntime.jsx("p",{role:"note",className:t!=null?t:"ndpr-legal-notice","data-ndpr-legal-notice":o,children:n})};Object.defineProperty(exports,"NDPRDashboard",{enumerable:true,get:function(){return chunkNUWVPRNI_js.a}});Object.defineProperty(exports,"BreachNotificationManager",{enumerable:true,get:function(){return chunk3I6FYA5C_js.b}});Object.defineProperty(exports,"BreachRiskAssessment",{enumerable:true,get:function(){return chunk3I6FYA5C_js.a}});Object.defineProperty(exports,"RegulatoryReportGenerator",{enumerable:true,get:function(){return chunk3I6FYA5C_js.c}});Object.defineProperty(exports,"BreachReportForm",{enumerable:true,get:function(){return chunkQGUOFGVJ_js.a}});Object.defineProperty(exports,"PolicyExporter",{enumerable:true,get:function(){return chunk3SIYRGJF_js.c}});Object.defineProperty(exports,"PolicyGenerator",{enumerable:true,get:function(){return chunk3SIYRGJF_js.a}});Object.defineProperty(exports,"PolicyPreview",{enumerable:true,get:function(){return chunk3SIYRGJF_js.b}});Object.defineProperty(exports,"LawfulBasisTracker",{enumerable:true,get:function(){return chunk7FXNGGMO_js.a}});Object.defineProperty(exports,"CrossBorderTransferManager",{enumerable:true,get:function(){return chunkXYGGUGTO_js.a}});Object.defineProperty(exports,"ROPAManager",{enumerable:true,get:function(){return chunkBL5W472Q_js.a}});Object.defineProperty(exports,"useComplianceScore",{enumerable:true,get:function(){return chunkFC3PTJFL_js.a}});Object.defineProperty(exports,"useBreach",{enumerable:true,get:function(){return chunkEHQVTFYO_js.a}});Object.defineProperty(exports,"useDefaultPrivacyPolicy",{enumerable:true,get:function(){return chunkRC3XFXTJ_js.b}});Object.defineProperty(exports,"usePrivacyPolicy",{enumerable:true,get:function(){return chunkRC3XFXTJ_js.a}});Object.defineProperty(exports,"useAdaptivePolicyWizard",{enumerable:true,get:function(){return chunkQHW4UKGJ_js.a}});Object.defineProperty(exports,"useLawfulBasis",{enumerable:true,get:function(){return chunkIRRUYR6M_js.a}});Object.defineProperty(exports,"useCrossBorderTransfer",{enumerable:true,get:function(){return chunkHHK5LHEG_js.a}});Object.defineProperty(exports,"useROPA",{enumerable:true,get:function(){return chunkO2WEABB3_js.a}});Object.defineProperty(exports,"getComplianceScore",{enumerable:true,get:function(){return chunkRDALAH3Y_js.a}});Object.defineProperty(exports,"calculateBreachSeverity",{enumerable:true,get:function(){return chunk3YTAOT5O_js.a}});Object.defineProperty(exports,"DEFAULT_POLICY_SECTIONS",{enumerable:true,get:function(){return chunkD2ZKDQVL_js.c}});Object.defineProperty(exports,"DEFAULT_POLICY_VARIABLES",{enumerable:true,get:function(){return chunkD2ZKDQVL_js.d}});Object.defineProperty(exports,"createBusinessPolicyTemplate",{enumerable:true,get:function(){return chunkD2ZKDQVL_js.e}});Object.defineProperty(exports,"generatePolicyText",{enumerable:true,get:function(){return chunkD2ZKDQVL_js.b}});Object.defineProperty(exports,"assessTransferRisk",{enumerable:true,get:function(){return chunkYFBDJ4FH_js.h}});Object.defineProperty(exports,"getTransferMechanismDescription",{enumerable:true,get:function(){return chunkYFBDJ4FH_js.f}});Object.defineProperty(exports,"isNDPCApprovalRequired",{enumerable:true,get:function(){return chunkYFBDJ4FH_js.e}});Object.defineProperty(exports,"validateTransfer",{enumerable:true,get:function(){return chunkYFBDJ4FH_js.g}});Object.defineProperty(exports,"assessComplianceGaps",{enumerable:true,get:function(){return chunkWZYCBW2R_js.c}});Object.defineProperty(exports,"generateLawfulBasisSummary",{enumerable:true,get:function(){return chunkWZYCBW2R_js.d}});Object.defineProperty(exports,"getLawfulBasisDescription",{enumerable:true,get:function(){return chunkWZYCBW2R_js.b}});Object.defineProperty(exports,"validateProcessingActivity",{enumerable:true,get:function(){return chunkWZYCBW2R_js.a}});Object.defineProperty(exports,"exportROPAToCSV",{enumerable:true,get:function(){return chunk4CVBQC66_js.c}});Object.defineProperty(exports,"generateROPASummary",{enumerable:true,get:function(){return chunk4CVBQC66_js.b}});Object.defineProperty(exports,"identifyComplianceGaps",{enumerable:true,get:function(){return chunk4CVBQC66_js.d}});Object.defineProperty(exports,"validateProcessingRecord",{enumerable:true,get:function(){return chunk4CVBQC66_js.a}});Object.defineProperty(exports,"ConsentStorage",{enumerable:true,get:function(){return chunkSJDDNB6M_js.a}});Object.defineProperty(exports,"ConsentManager",{enumerable:true,get:function(){return chunk42UJFTII_js.a}});Object.defineProperty(exports,"ConsentBanner",{enumerable:true,get:function(){return chunkZD2W3YU2_js.a}});Object.defineProperty(exports,"appendAuditEntry",{enumerable:true,get:function(){return chunk3IA3KDII_js.c}});Object.defineProperty(exports,"createAuditEntry",{enumerable:true,get:function(){return chunk3IA3KDII_js.a}});Object.defineProperty(exports,"getAuditLog",{enumerable:true,get:function(){return chunk3IA3KDII_js.b}});Object.defineProperty(exports,"useConsent",{enumerable:true,get:function(){return chunkHOAC5VUF_js.a}});Object.defineProperty(exports,"useFocusTrap",{enumerable:true,get:function(){return chunkL2VO3MEJ_js.a}});Object.defineProperty(exports,"validateConsent",{enumerable:true,get:function(){return chunkB46SJB5V_js.a}});Object.defineProperty(exports,"validateConsentOptions",{enumerable:true,get:function(){return chunkB46SJB5V_js.b}});Object.defineProperty(exports,"DSRDashboard",{enumerable:true,get:function(){return chunkWMISQDSV_js.a}});Object.defineProperty(exports,"DSRTracker",{enumerable:true,get:function(){return chunkWMISQDSV_js.b}});Object.defineProperty(exports,"DSRRequestForm",{enumerable:true,get:function(){return chunkUZNWXJ2W_js.a}});Object.defineProperty(exports,"sanitizeInput",{enumerable:true,get:function(){return chunkUXUMYP4L_js.a}});Object.defineProperty(exports,"useDSR",{enumerable:true,get:function(){return chunkPXDSPF5B_js.a}});Object.defineProperty(exports,"formatDSRRequest",{enumerable:true,get:function(){return chunkOZHUINWS_js.b}});Object.defineProperty(exports,"validateDsrSubmission",{enumerable:true,get:function(){return chunkOZHUINWS_js.a}});Object.defineProperty(exports,"DPIAReport",{enumerable:true,get:function(){return chunk37VFK5SR_js.a}});Object.defineProperty(exports,"StepIndicator",{enumerable:true,get:function(){return chunk37VFK5SR_js.b}});Object.defineProperty(exports,"DPIAQuestionnaire",{enumerable:true,get:function(){return chunkWCTFED27_js.a}});Object.defineProperty(exports,"useDPIA",{enumerable:true,get:function(){return chunkJLQT3W3E_js.a}});Object.defineProperty(exports,"assessDPIARisk",{enumerable:true,get:function(){return chunkTQZWJGJ2_js.a}});Object.defineProperty(exports,"LEGAL_DISCLAIMER_LONG",{enumerable:true,get:function(){return chunkZVOIR4QH_js.b}});Object.defineProperty(exports,"LEGAL_DISCLAIMER_SHORT",{enumerable:true,get:function(){return chunkZVOIR4QH_js.a}});Object.defineProperty(exports,"legalDisclaimerBlock",{enumerable:true,get:function(){return chunkZVOIR4QH_js.c}});Object.defineProperty(exports,"resolveClass",{enumerable:true,get:function(){return chunkAME4HJR4_js.a}});Object.defineProperty(exports,"NDPRProvider",{enumerable:true,get:function(){return chunkYDKWD6MQ_js.a}});Object.defineProperty(exports,"useNDPRConfig",{enumerable:true,get:function(){return chunkYDKWD6MQ_js.b}});exports.LegalNotice=De;exports.NDPRThemeProvider=xe;
|
|
2
|
+
'use strict';var chunkNUWVPRNI_js=require('./chunk-NUWVPRNI.js'),chunk3I6FYA5C_js=require('./chunk-3I6FYA5C.js'),chunkD2UWB5OI_js=require('./chunk-D2UWB5OI.js'),chunk3SIYRGJF_js=require('./chunk-3SIYRGJF.js'),chunk65J4P5ID_js=require('./chunk-65J4P5ID.js'),chunkH2FDWK4F_js=require('./chunk-H2FDWK4F.js'),chunkHLFS3NXG_js=require('./chunk-HLFS3NXG.js'),chunkFC3PTJFL_js=require('./chunk-FC3PTJFL.js'),chunkEHQVTFYO_js=require('./chunk-EHQVTFYO.js'),chunkRC3XFXTJ_js=require('./chunk-RC3XFXTJ.js'),chunkQHW4UKGJ_js=require('./chunk-QHW4UKGJ.js'),chunkIRRUYR6M_js=require('./chunk-IRRUYR6M.js'),chunkHHK5LHEG_js=require('./chunk-HHK5LHEG.js'),chunkP5MPUC5F_js=require('./chunk-P5MPUC5F.js');require('./chunk-JS7SYL5P.js');var chunkRDALAH3Y_js=require('./chunk-RDALAH3Y.js'),chunk3YTAOT5O_js=require('./chunk-3YTAOT5O.js'),chunkD2ZKDQVL_js=require('./chunk-D2ZKDQVL.js');require('./chunk-6LJHLE6G.js');var chunkYFBDJ4FH_js=require('./chunk-YFBDJ4FH.js'),chunkWZYCBW2R_js=require('./chunk-WZYCBW2R.js'),chunk4CVBQC66_js=require('./chunk-4CVBQC66.js'),chunkSJDDNB6M_js=require('./chunk-SJDDNB6M.js'),chunk42UJFTII_js=require('./chunk-42UJFTII.js'),chunkZD2W3YU2_js=require('./chunk-ZD2W3YU2.js'),chunk3IA3KDII_js=require('./chunk-3IA3KDII.js'),chunkROOUYQD4_js=require('./chunk-ROOUYQD4.js'),chunkL2VO3MEJ_js=require('./chunk-L2VO3MEJ.js');require('./chunk-C2KEXHRX.js');var chunkD3HHDWBR_js=require('./chunk-D3HHDWBR.js'),chunkUJGNW6CH_js=require('./chunk-UJGNW6CH.js'),chunkUZNWXJ2W_js=require('./chunk-UZNWXJ2W.js'),chunkUXUMYP4L_js=require('./chunk-UXUMYP4L.js'),chunkO4ATGGVK_js=require('./chunk-O4ATGGVK.js'),chunk45D7AMB3_js=require('./chunk-45D7AMB3.js'),chunk37VFK5SR_js=require('./chunk-37VFK5SR.js'),chunkWCTFED27_js=require('./chunk-WCTFED27.js'),chunkJLQT3W3E_js=require('./chunk-JLQT3W3E.js'),chunkTQZWJGJ2_js=require('./chunk-TQZWJGJ2.js'),chunkZVOIR4QH_js=require('./chunk-ZVOIR4QH.js'),chunkAME4HJR4_js=require('./chunk-AME4HJR4.js'),chunkYDKWD6MQ_js=require('./chunk-YDKWD6MQ.js');require('./chunk-TTMGFC6C.js'),require('./chunk-VWED6UTN.js'),require('./chunk-RFPLZDIO.js');var react=require('react'),jsxRuntime=require('react/jsx-runtime');var Ae=({theme:o,className:t,children:s})=>{let n=react.useMemo(()=>{if(!o)return;let r={};if(o.colors){let e=o.colors;e.primary!==void 0&&(r["--ndpr-primary"]=e.primary),e.primaryHover!==void 0&&(r["--ndpr-primary-hover"]=e.primaryHover),e.primaryForeground!==void 0&&(r["--ndpr-primary-foreground"]=e.primaryForeground),e.background!==void 0&&(r["--ndpr-background"]=e.background),e.surface!==void 0&&(r["--ndpr-surface"]=e.surface),e.foreground!==void 0&&(r["--ndpr-foreground"]=e.foreground),e.muted!==void 0&&(r["--ndpr-muted"]=e.muted),e.mutedForeground!==void 0&&(r["--ndpr-muted-foreground"]=e.mutedForeground),e.border!==void 0&&(r["--ndpr-border"]=e.border),e.input!==void 0&&(r["--ndpr-input"]=e.input),e.ring!==void 0&&(r["--ndpr-ring"]=e.ring),e.success!==void 0&&(r["--ndpr-success"]=e.success),e.destructive!==void 0&&(r["--ndpr-destructive"]=e.destructive),e.warning!==void 0&&(r["--ndpr-warning"]=e.warning);}if(o.radius){let e=o.radius;e.sm!==void 0&&(r["--ndpr-radius-sm"]=e.sm),e.base!==void 0&&(r["--ndpr-radius"]=e.base),e.lg!==void 0&&(r["--ndpr-radius-lg"]=e.lg),e.full!==void 0&&(r["--ndpr-radius-full"]=e.full);}if(o.spacing){let e=o.spacing;e[1]!==void 0&&(r["--ndpr-space-1"]=e[1]),e[2]!==void 0&&(r["--ndpr-space-2"]=e[2]),e[3]!==void 0&&(r["--ndpr-space-3"]=e[3]),e[4]!==void 0&&(r["--ndpr-space-4"]=e[4]),e[5]!==void 0&&(r["--ndpr-space-5"]=e[5]),e[6]!==void 0&&(r["--ndpr-space-6"]=e[6]),e[8]!==void 0&&(r["--ndpr-space-8"]=e[8]);}if(o.shadow){let e=o.shadow;e.sm!==void 0&&(r["--ndpr-shadow-sm"]=e.sm),e.base!==void 0&&(r["--ndpr-shadow"]=e.base),e.lg!==void 0&&(r["--ndpr-shadow-lg"]=e.lg);}if(o.font){let e=o.font;e.sans!==void 0&&(r["--ndpr-font-sans"]=e.sans),e.sizeXs!==void 0&&(r["--ndpr-font-size-xs"]=e.sizeXs),e.sizeSm!==void 0&&(r["--ndpr-font-size-sm"]=e.sizeSm),e.sizeBase!==void 0&&(r["--ndpr-font-size-base"]=e.sizeBase),e.sizeLg!==void 0&&(r["--ndpr-font-size-lg"]=e.sizeLg),e.sizeXl!==void 0&&(r["--ndpr-font-size-xl"]=e.sizeXl),e.lineHeight!==void 0&&(r["--ndpr-line-height"]=e.lineHeight),e.lineHeightTight!==void 0&&(r["--ndpr-line-height-tight"]=e.lineHeightTight);}if(o.transition){let e=o.transition;e.base!==void 0&&(r["--ndpr-transition"]=e.base),e.slow!==void 0&&(r["--ndpr-transition-slow"]=e.slow);}if(o.z){let e=o.z;e.banner!==void 0&&(r["--ndpr-z-banner"]=String(e.banner)),e.modal!==void 0&&(r["--ndpr-z-modal"]=String(e.modal));}return Object.keys(r).length>0?r:void 0},[o]),p=o==null?void 0:o.mode;return jsxRuntime.jsx("div",{"data-ndpr-theme":"","data-theme":p,className:t,style:n,children:s})};var be=({variant:o="short",className:t,hidden:s})=>{if(s)return null;let n=o==="long"?chunkZVOIR4QH_js.b:chunkZVOIR4QH_js.a;return jsxRuntime.jsx("p",{role:"note",className:t!=null?t:"ndpr-legal-notice","data-ndpr-legal-notice":o,children:n})};Object.defineProperty(exports,"NDPRDashboard",{enumerable:true,get:function(){return chunkNUWVPRNI_js.a}});Object.defineProperty(exports,"BreachNotificationManager",{enumerable:true,get:function(){return chunk3I6FYA5C_js.b}});Object.defineProperty(exports,"BreachRiskAssessment",{enumerable:true,get:function(){return chunk3I6FYA5C_js.a}});Object.defineProperty(exports,"RegulatoryReportGenerator",{enumerable:true,get:function(){return chunk3I6FYA5C_js.c}});Object.defineProperty(exports,"BreachReportForm",{enumerable:true,get:function(){return chunkD2UWB5OI_js.a}});Object.defineProperty(exports,"PolicyExporter",{enumerable:true,get:function(){return chunk3SIYRGJF_js.c}});Object.defineProperty(exports,"PolicyGenerator",{enumerable:true,get:function(){return chunk3SIYRGJF_js.a}});Object.defineProperty(exports,"PolicyPreview",{enumerable:true,get:function(){return chunk3SIYRGJF_js.b}});Object.defineProperty(exports,"LawfulBasisTracker",{enumerable:true,get:function(){return chunk65J4P5ID_js.a}});Object.defineProperty(exports,"CrossBorderTransferManager",{enumerable:true,get:function(){return chunkH2FDWK4F_js.a}});Object.defineProperty(exports,"ROPAManager",{enumerable:true,get:function(){return chunkHLFS3NXG_js.a}});Object.defineProperty(exports,"useComplianceScore",{enumerable:true,get:function(){return chunkFC3PTJFL_js.a}});Object.defineProperty(exports,"useBreach",{enumerable:true,get:function(){return chunkEHQVTFYO_js.a}});Object.defineProperty(exports,"useDefaultPrivacyPolicy",{enumerable:true,get:function(){return chunkRC3XFXTJ_js.b}});Object.defineProperty(exports,"usePrivacyPolicy",{enumerable:true,get:function(){return chunkRC3XFXTJ_js.a}});Object.defineProperty(exports,"useAdaptivePolicyWizard",{enumerable:true,get:function(){return chunkQHW4UKGJ_js.a}});Object.defineProperty(exports,"useLawfulBasis",{enumerable:true,get:function(){return chunkIRRUYR6M_js.a}});Object.defineProperty(exports,"useCrossBorderTransfer",{enumerable:true,get:function(){return chunkHHK5LHEG_js.a}});Object.defineProperty(exports,"useROPA",{enumerable:true,get:function(){return chunkP5MPUC5F_js.a}});Object.defineProperty(exports,"getComplianceScore",{enumerable:true,get:function(){return chunkRDALAH3Y_js.a}});Object.defineProperty(exports,"calculateBreachSeverity",{enumerable:true,get:function(){return chunk3YTAOT5O_js.a}});Object.defineProperty(exports,"DEFAULT_POLICY_SECTIONS",{enumerable:true,get:function(){return chunkD2ZKDQVL_js.c}});Object.defineProperty(exports,"DEFAULT_POLICY_VARIABLES",{enumerable:true,get:function(){return chunkD2ZKDQVL_js.d}});Object.defineProperty(exports,"createBusinessPolicyTemplate",{enumerable:true,get:function(){return chunkD2ZKDQVL_js.e}});Object.defineProperty(exports,"generatePolicyText",{enumerable:true,get:function(){return chunkD2ZKDQVL_js.b}});Object.defineProperty(exports,"assessTransferRisk",{enumerable:true,get:function(){return chunkYFBDJ4FH_js.h}});Object.defineProperty(exports,"getTransferMechanismDescription",{enumerable:true,get:function(){return chunkYFBDJ4FH_js.f}});Object.defineProperty(exports,"isNDPCApprovalRequired",{enumerable:true,get:function(){return chunkYFBDJ4FH_js.e}});Object.defineProperty(exports,"validateTransfer",{enumerable:true,get:function(){return chunkYFBDJ4FH_js.g}});Object.defineProperty(exports,"assessComplianceGaps",{enumerable:true,get:function(){return chunkWZYCBW2R_js.c}});Object.defineProperty(exports,"generateLawfulBasisSummary",{enumerable:true,get:function(){return chunkWZYCBW2R_js.d}});Object.defineProperty(exports,"getLawfulBasisDescription",{enumerable:true,get:function(){return chunkWZYCBW2R_js.b}});Object.defineProperty(exports,"validateProcessingActivity",{enumerable:true,get:function(){return chunkWZYCBW2R_js.a}});Object.defineProperty(exports,"exportROPAToCSV",{enumerable:true,get:function(){return chunk4CVBQC66_js.c}});Object.defineProperty(exports,"generateROPASummary",{enumerable:true,get:function(){return chunk4CVBQC66_js.b}});Object.defineProperty(exports,"identifyComplianceGaps",{enumerable:true,get:function(){return chunk4CVBQC66_js.d}});Object.defineProperty(exports,"validateProcessingRecord",{enumerable:true,get:function(){return chunk4CVBQC66_js.a}});Object.defineProperty(exports,"ConsentStorage",{enumerable:true,get:function(){return chunkSJDDNB6M_js.a}});Object.defineProperty(exports,"ConsentManager",{enumerable:true,get:function(){return chunk42UJFTII_js.a}});Object.defineProperty(exports,"ConsentBanner",{enumerable:true,get:function(){return chunkZD2W3YU2_js.a}});Object.defineProperty(exports,"appendAuditEntry",{enumerable:true,get:function(){return chunk3IA3KDII_js.c}});Object.defineProperty(exports,"createAuditEntry",{enumerable:true,get:function(){return chunk3IA3KDII_js.a}});Object.defineProperty(exports,"getAuditLog",{enumerable:true,get:function(){return chunk3IA3KDII_js.b}});Object.defineProperty(exports,"useConsent",{enumerable:true,get:function(){return chunkROOUYQD4_js.a}});Object.defineProperty(exports,"useFocusTrap",{enumerable:true,get:function(){return chunkL2VO3MEJ_js.a}});Object.defineProperty(exports,"validateConsent",{enumerable:true,get:function(){return chunkD3HHDWBR_js.a}});Object.defineProperty(exports,"validateConsentOptions",{enumerable:true,get:function(){return chunkD3HHDWBR_js.c}});Object.defineProperty(exports,"validateConsentOptionsStructured",{enumerable:true,get:function(){return chunkD3HHDWBR_js.d}});Object.defineProperty(exports,"validateConsentStructured",{enumerable:true,get:function(){return chunkD3HHDWBR_js.b}});Object.defineProperty(exports,"DSRDashboard",{enumerable:true,get:function(){return chunkUJGNW6CH_js.a}});Object.defineProperty(exports,"DSRTracker",{enumerable:true,get:function(){return chunkUJGNW6CH_js.b}});Object.defineProperty(exports,"DSRRequestForm",{enumerable:true,get:function(){return chunkUZNWXJ2W_js.a}});Object.defineProperty(exports,"sanitizeInput",{enumerable:true,get:function(){return chunkUXUMYP4L_js.a}});Object.defineProperty(exports,"useDSR",{enumerable:true,get:function(){return chunkO4ATGGVK_js.a}});Object.defineProperty(exports,"formatDSRRequest",{enumerable:true,get:function(){return chunk45D7AMB3_js.b}});Object.defineProperty(exports,"formatDSRRequestStructured",{enumerable:true,get:function(){return chunk45D7AMB3_js.d}});Object.defineProperty(exports,"validateDsrSubmission",{enumerable:true,get:function(){return chunk45D7AMB3_js.a}});Object.defineProperty(exports,"validateDsrSubmissionStructured",{enumerable:true,get:function(){return chunk45D7AMB3_js.c}});Object.defineProperty(exports,"DPIAReport",{enumerable:true,get:function(){return chunk37VFK5SR_js.a}});Object.defineProperty(exports,"StepIndicator",{enumerable:true,get:function(){return chunk37VFK5SR_js.b}});Object.defineProperty(exports,"DPIAQuestionnaire",{enumerable:true,get:function(){return chunkWCTFED27_js.a}});Object.defineProperty(exports,"useDPIA",{enumerable:true,get:function(){return chunkJLQT3W3E_js.a}});Object.defineProperty(exports,"assessDPIARisk",{enumerable:true,get:function(){return chunkTQZWJGJ2_js.a}});Object.defineProperty(exports,"LEGAL_DISCLAIMER_LONG",{enumerable:true,get:function(){return chunkZVOIR4QH_js.b}});Object.defineProperty(exports,"LEGAL_DISCLAIMER_SHORT",{enumerable:true,get:function(){return chunkZVOIR4QH_js.a}});Object.defineProperty(exports,"legalDisclaimerBlock",{enumerable:true,get:function(){return chunkZVOIR4QH_js.c}});Object.defineProperty(exports,"resolveClass",{enumerable:true,get:function(){return chunkAME4HJR4_js.a}});Object.defineProperty(exports,"NDPRProvider",{enumerable:true,get:function(){return chunkYDKWD6MQ_js.a}});Object.defineProperty(exports,"useNDPRConfig",{enumerable:true,get:function(){return chunkYDKWD6MQ_js.b}});exports.LegalNotice=be;exports.NDPRThemeProvider=Ae;
|
package/dist/index.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
export{a as NDPRDashboard}from'./chunk-ZIZL37BG.mjs';export{b as BreachNotificationManager,a as BreachRiskAssessment,c as RegulatoryReportGenerator}from'./chunk-J7BIJ45O.mjs';export{a as BreachReportForm}from'./chunk-
|
|
2
|
+
export{a as NDPRDashboard}from'./chunk-ZIZL37BG.mjs';export{b as BreachNotificationManager,a as BreachRiskAssessment,c as RegulatoryReportGenerator}from'./chunk-J7BIJ45O.mjs';export{a as BreachReportForm}from'./chunk-DK7P5JEG.mjs';export{c as PolicyExporter,a as PolicyGenerator,b as PolicyPreview}from'./chunk-3H6FYU3Z.mjs';export{a as LawfulBasisTracker}from'./chunk-DSIIEUAD.mjs';export{a as CrossBorderTransferManager}from'./chunk-UTXDZDYF.mjs';export{a as ROPAManager}from'./chunk-W6VVLHRQ.mjs';export{a as useComplianceScore}from'./chunk-IQO3SIAG.mjs';export{a as useBreach}from'./chunk-RFXGD5NE.mjs';export{b as useDefaultPrivacyPolicy,a as usePrivacyPolicy}from'./chunk-UVXS7KRV.mjs';export{a as useAdaptivePolicyWizard}from'./chunk-KE2FZH2V.mjs';export{a as useLawfulBasis}from'./chunk-B6BRD5SL.mjs';export{a as useCrossBorderTransfer}from'./chunk-KDAZQO3N.mjs';export{a as useROPA}from'./chunk-JGY65SHX.mjs';import'./chunk-IVSNHT24.mjs';export{a as getComplianceScore}from'./chunk-7RBO42IW.mjs';export{a as calculateBreachSeverity}from'./chunk-WTGKZX7J.mjs';export{c as DEFAULT_POLICY_SECTIONS,d as DEFAULT_POLICY_VARIABLES,e as createBusinessPolicyTemplate,b as generatePolicyText}from'./chunk-NBQQ2GN3.mjs';import'./chunk-BIJSMSUU.mjs';export{h as assessTransferRisk,f as getTransferMechanismDescription,e as isNDPCApprovalRequired,g as validateTransfer}from'./chunk-7BJXI2HI.mjs';export{c as assessComplianceGaps,d as generateLawfulBasisSummary,b as getLawfulBasisDescription,a as validateProcessingActivity}from'./chunk-LWIKDDSU.mjs';export{c as exportROPAToCSV,b as generateROPASummary,d as identifyComplianceGaps,a as validateProcessingRecord}from'./chunk-XP5PL6K7.mjs';export{a as ConsentStorage}from'./chunk-XOH4WXOZ.mjs';export{a as ConsentManager}from'./chunk-BPMVJOHH.mjs';export{a as ConsentBanner}from'./chunk-I2ZBMR7F.mjs';export{c as appendAuditEntry,a as createAuditEntry,b as getAuditLog}from'./chunk-V7UFP6QU.mjs';export{a as useConsent}from'./chunk-7Z7NURIA.mjs';export{a as useFocusTrap}from'./chunk-YTU4FNM2.mjs';import'./chunk-XC3DLYEG.mjs';export{a as validateConsent,c as validateConsentOptions,d as validateConsentOptionsStructured,b as validateConsentStructured}from'./chunk-NI54X543.mjs';export{a as DSRDashboard,b as DSRTracker}from'./chunk-6H6IXTHA.mjs';export{a as DSRRequestForm}from'./chunk-L3FR4PQE.mjs';export{a as sanitizeInput}from'./chunk-EWVK45Z3.mjs';export{a as useDSR}from'./chunk-6OPGI27L.mjs';export{b as formatDSRRequest,d as formatDSRRequestStructured,a as validateDsrSubmission,c as validateDsrSubmissionStructured}from'./chunk-3APT25XO.mjs';export{a as DPIAReport,b as StepIndicator}from'./chunk-N72RNTGP.mjs';export{a as DPIAQuestionnaire}from'./chunk-ZQHGIOYP.mjs';export{a as useDPIA}from'./chunk-I3V3ITN7.mjs';export{a as assessDPIARisk}from'./chunk-LRRENTT5.mjs';import {b,a}from'./chunk-ITCY2Z66.mjs';export{b as LEGAL_DISCLAIMER_LONG,a as LEGAL_DISCLAIMER_SHORT,c as legalDisclaimerBlock}from'./chunk-ITCY2Z66.mjs';export{a as resolveClass}from'./chunk-SFGW37LE.mjs';export{a as NDPRProvider,b as useNDPRConfig}from'./chunk-FRQFU44F.mjs';import'./chunk-V5TZJJWU.mjs';import'./chunk-DBZSN4WP.mjs';import'./chunk-ZJYULEER.mjs';import {useMemo}from'react';import {jsx}from'react/jsx-runtime';var Ae=({theme:o,className:t,children:s})=>{let n=useMemo(()=>{if(!o)return;let r={};if(o.colors){let e=o.colors;e.primary!==void 0&&(r["--ndpr-primary"]=e.primary),e.primaryHover!==void 0&&(r["--ndpr-primary-hover"]=e.primaryHover),e.primaryForeground!==void 0&&(r["--ndpr-primary-foreground"]=e.primaryForeground),e.background!==void 0&&(r["--ndpr-background"]=e.background),e.surface!==void 0&&(r["--ndpr-surface"]=e.surface),e.foreground!==void 0&&(r["--ndpr-foreground"]=e.foreground),e.muted!==void 0&&(r["--ndpr-muted"]=e.muted),e.mutedForeground!==void 0&&(r["--ndpr-muted-foreground"]=e.mutedForeground),e.border!==void 0&&(r["--ndpr-border"]=e.border),e.input!==void 0&&(r["--ndpr-input"]=e.input),e.ring!==void 0&&(r["--ndpr-ring"]=e.ring),e.success!==void 0&&(r["--ndpr-success"]=e.success),e.destructive!==void 0&&(r["--ndpr-destructive"]=e.destructive),e.warning!==void 0&&(r["--ndpr-warning"]=e.warning);}if(o.radius){let e=o.radius;e.sm!==void 0&&(r["--ndpr-radius-sm"]=e.sm),e.base!==void 0&&(r["--ndpr-radius"]=e.base),e.lg!==void 0&&(r["--ndpr-radius-lg"]=e.lg),e.full!==void 0&&(r["--ndpr-radius-full"]=e.full);}if(o.spacing){let e=o.spacing;e[1]!==void 0&&(r["--ndpr-space-1"]=e[1]),e[2]!==void 0&&(r["--ndpr-space-2"]=e[2]),e[3]!==void 0&&(r["--ndpr-space-3"]=e[3]),e[4]!==void 0&&(r["--ndpr-space-4"]=e[4]),e[5]!==void 0&&(r["--ndpr-space-5"]=e[5]),e[6]!==void 0&&(r["--ndpr-space-6"]=e[6]),e[8]!==void 0&&(r["--ndpr-space-8"]=e[8]);}if(o.shadow){let e=o.shadow;e.sm!==void 0&&(r["--ndpr-shadow-sm"]=e.sm),e.base!==void 0&&(r["--ndpr-shadow"]=e.base),e.lg!==void 0&&(r["--ndpr-shadow-lg"]=e.lg);}if(o.font){let e=o.font;e.sans!==void 0&&(r["--ndpr-font-sans"]=e.sans),e.sizeXs!==void 0&&(r["--ndpr-font-size-xs"]=e.sizeXs),e.sizeSm!==void 0&&(r["--ndpr-font-size-sm"]=e.sizeSm),e.sizeBase!==void 0&&(r["--ndpr-font-size-base"]=e.sizeBase),e.sizeLg!==void 0&&(r["--ndpr-font-size-lg"]=e.sizeLg),e.sizeXl!==void 0&&(r["--ndpr-font-size-xl"]=e.sizeXl),e.lineHeight!==void 0&&(r["--ndpr-line-height"]=e.lineHeight),e.lineHeightTight!==void 0&&(r["--ndpr-line-height-tight"]=e.lineHeightTight);}if(o.transition){let e=o.transition;e.base!==void 0&&(r["--ndpr-transition"]=e.base),e.slow!==void 0&&(r["--ndpr-transition-slow"]=e.slow);}if(o.z){let e=o.z;e.banner!==void 0&&(r["--ndpr-z-banner"]=String(e.banner)),e.modal!==void 0&&(r["--ndpr-z-modal"]=String(e.modal));}return Object.keys(r).length>0?r:void 0},[o]),p=o==null?void 0:o.mode;return jsx("div",{"data-ndpr-theme":"","data-theme":p,className:t,style:n,children:s})};var be=({variant:o="short",className:t,hidden:s})=>{if(s)return null;let n=o==="long"?b:a;return jsx("p",{role:"note",className:t!=null?t:"ndpr-legal-notice","data-ndpr-legal-notice":o,children:n})};export{be as LegalNotice,Ae as NDPRThemeProvider};
|
package/dist/lawful-basis.d.mts
CHANGED
|
@@ -112,16 +112,37 @@ declare interface LawfulBasisTrackerProps {
|
|
|
112
112
|
activities: ProcessingActivity[];
|
|
113
113
|
/**
|
|
114
114
|
* Callback when a new activity is created
|
|
115
|
+
* @deprecated Renamed to `onAdd` in 4.1. The legacy name still fires
|
|
116
|
+
* for backward compatibility and will be removed in 5.0.
|
|
115
117
|
*/
|
|
116
118
|
onAddActivity?: (activity: Omit<ProcessingActivity, 'id' | 'createdAt' | 'updatedAt'>) => void;
|
|
117
119
|
/**
|
|
118
120
|
* Callback when an activity is updated
|
|
121
|
+
* @deprecated Renamed to `onUpdate` in 4.1. The legacy name still fires
|
|
122
|
+
* for backward compatibility and will be removed in 5.0.
|
|
119
123
|
*/
|
|
120
124
|
onUpdateActivity?: (id: string, updates: Partial<ProcessingActivity>) => void;
|
|
121
125
|
/**
|
|
122
126
|
* Callback when an activity is archived
|
|
127
|
+
* @deprecated Renamed to `onArchive` in 4.1. The legacy name still fires
|
|
128
|
+
* for backward compatibility and will be removed in 5.0.
|
|
123
129
|
*/
|
|
124
130
|
onArchiveActivity?: (id: string) => void;
|
|
131
|
+
/**
|
|
132
|
+
* Callback when a new activity is created (uniform 4.1+ name).
|
|
133
|
+
* Takes precedence over `onAddActivity` when both are provided.
|
|
134
|
+
*/
|
|
135
|
+
onAdd?: (activity: Omit<ProcessingActivity, 'id' | 'createdAt' | 'updatedAt'>) => void;
|
|
136
|
+
/**
|
|
137
|
+
* Callback when an activity is updated (uniform 4.1+ name).
|
|
138
|
+
* Takes precedence over `onUpdateActivity` when both are provided.
|
|
139
|
+
*/
|
|
140
|
+
onUpdate?: (id: string, updates: Partial<ProcessingActivity>) => void;
|
|
141
|
+
/**
|
|
142
|
+
* Callback when an activity is archived (uniform 4.1+ name).
|
|
143
|
+
* Takes precedence over `onArchiveActivity` when both are provided.
|
|
144
|
+
*/
|
|
145
|
+
onArchive?: (id: string) => void;
|
|
125
146
|
/**
|
|
126
147
|
* Title displayed on the tracker
|
|
127
148
|
* @default "Lawful Basis Tracker"
|
package/dist/lawful-basis.d.ts
CHANGED
|
@@ -112,16 +112,37 @@ declare interface LawfulBasisTrackerProps {
|
|
|
112
112
|
activities: ProcessingActivity[];
|
|
113
113
|
/**
|
|
114
114
|
* Callback when a new activity is created
|
|
115
|
+
* @deprecated Renamed to `onAdd` in 4.1. The legacy name still fires
|
|
116
|
+
* for backward compatibility and will be removed in 5.0.
|
|
115
117
|
*/
|
|
116
118
|
onAddActivity?: (activity: Omit<ProcessingActivity, 'id' | 'createdAt' | 'updatedAt'>) => void;
|
|
117
119
|
/**
|
|
118
120
|
* Callback when an activity is updated
|
|
121
|
+
* @deprecated Renamed to `onUpdate` in 4.1. The legacy name still fires
|
|
122
|
+
* for backward compatibility and will be removed in 5.0.
|
|
119
123
|
*/
|
|
120
124
|
onUpdateActivity?: (id: string, updates: Partial<ProcessingActivity>) => void;
|
|
121
125
|
/**
|
|
122
126
|
* Callback when an activity is archived
|
|
127
|
+
* @deprecated Renamed to `onArchive` in 4.1. The legacy name still fires
|
|
128
|
+
* for backward compatibility and will be removed in 5.0.
|
|
123
129
|
*/
|
|
124
130
|
onArchiveActivity?: (id: string) => void;
|
|
131
|
+
/**
|
|
132
|
+
* Callback when a new activity is created (uniform 4.1+ name).
|
|
133
|
+
* Takes precedence over `onAddActivity` when both are provided.
|
|
134
|
+
*/
|
|
135
|
+
onAdd?: (activity: Omit<ProcessingActivity, 'id' | 'createdAt' | 'updatedAt'>) => void;
|
|
136
|
+
/**
|
|
137
|
+
* Callback when an activity is updated (uniform 4.1+ name).
|
|
138
|
+
* Takes precedence over `onUpdateActivity` when both are provided.
|
|
139
|
+
*/
|
|
140
|
+
onUpdate?: (id: string, updates: Partial<ProcessingActivity>) => void;
|
|
141
|
+
/**
|
|
142
|
+
* Callback when an activity is archived (uniform 4.1+ name).
|
|
143
|
+
* Takes precedence over `onArchiveActivity` when both are provided.
|
|
144
|
+
*/
|
|
145
|
+
onArchive?: (id: string) => void;
|
|
125
146
|
/**
|
|
126
147
|
* Title displayed on the tracker
|
|
127
148
|
* @default "Lawful Basis Tracker"
|
package/dist/lawful-basis.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
'use strict';var
|
|
2
|
+
'use strict';var chunk65J4P5ID_js=require('./chunk-65J4P5ID.js'),chunkIRRUYR6M_js=require('./chunk-IRRUYR6M.js'),chunkWZYCBW2R_js=require('./chunk-WZYCBW2R.js');require('./chunk-AME4HJR4.js'),require('./chunk-YDKWD6MQ.js'),require('./chunk-TTMGFC6C.js'),require('./chunk-VWED6UTN.js'),require('./chunk-RFPLZDIO.js');var react=require('react'),jsxRuntime=require('react/jsx-runtime');var o=react.createContext(null);function x(){let s=react.useContext(o);if(!s)throw new Error("LawfulBasis compound components must be wrapped in <LawfulBasis.Provider>. Example: <LawfulBasis.Provider><LawfulBasis.Tracker /></LawfulBasis.Provider>");return s}var r=({adapter:s,storageKey:t,useLocalStorage:i,initialActivities:u,onAdd:f,onUpdate:p,onRemove:l,children:n})=>{let m=chunkIRRUYR6M_js.a({adapter:s,storageKey:t,useLocalStorage:i,initialActivities:u,onAdd:f,onUpdate:p,onRemove:l});return jsxRuntime.jsx(o.Provider,{value:m,children:n})};var y={Provider:r,Tracker:chunk65J4P5ID_js.a};Object.defineProperty(exports,"LawfulBasisTracker",{enumerable:true,get:function(){return chunk65J4P5ID_js.a}});Object.defineProperty(exports,"useLawfulBasis",{enumerable:true,get:function(){return chunkIRRUYR6M_js.a}});Object.defineProperty(exports,"assessComplianceGaps",{enumerable:true,get:function(){return chunkWZYCBW2R_js.c}});Object.defineProperty(exports,"generateLawfulBasisSummary",{enumerable:true,get:function(){return chunkWZYCBW2R_js.d}});Object.defineProperty(exports,"getLawfulBasisDescription",{enumerable:true,get:function(){return chunkWZYCBW2R_js.b}});Object.defineProperty(exports,"validateProcessingActivity",{enumerable:true,get:function(){return chunkWZYCBW2R_js.a}});exports.LawfulBasis=y;exports.LawfulBasisProvider=r;exports.useLawfulBasisCompound=x;
|
package/dist/lawful-basis.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import {a}from'./chunk-
|
|
2
|
+
import {a}from'./chunk-DSIIEUAD.mjs';export{a as LawfulBasisTracker}from'./chunk-DSIIEUAD.mjs';import {a as a$1}from'./chunk-B6BRD5SL.mjs';export{a as useLawfulBasis}from'./chunk-B6BRD5SL.mjs';export{c as assessComplianceGaps,d as generateLawfulBasisSummary,b as getLawfulBasisDescription,a as validateProcessingActivity}from'./chunk-LWIKDDSU.mjs';import'./chunk-SFGW37LE.mjs';import'./chunk-FRQFU44F.mjs';import'./chunk-V5TZJJWU.mjs';import'./chunk-DBZSN4WP.mjs';import'./chunk-ZJYULEER.mjs';import {createContext,useContext}from'react';import {jsx}from'react/jsx-runtime';var o=createContext(null);function x(){let s=useContext(o);if(!s)throw new Error("LawfulBasis compound components must be wrapped in <LawfulBasis.Provider>. Example: <LawfulBasis.Provider><LawfulBasis.Tracker /></LawfulBasis.Provider>");return s}var r=({adapter:s,storageKey:t,useLocalStorage:i,initialActivities:u,onAdd:f,onUpdate:p,onRemove:l,children:n})=>{let m=a$1({adapter:s,storageKey:t,useLocalStorage:i,initialActivities:u,onAdd:f,onUpdate:p,onRemove:l});return jsx(o.Provider,{value:m,children:n})};var y={Provider:r,Tracker:a};export{y as LawfulBasis,r as LawfulBasisProvider,x as useLawfulBasisCompound};
|
|
@@ -113,7 +113,11 @@ export declare interface NDPRConsentCopy {
|
|
|
113
113
|
}
|
|
114
114
|
|
|
115
115
|
export declare interface NDPRConsentProps {
|
|
116
|
-
|
|
116
|
+
/**
|
|
117
|
+
* Consent categories to present. When omitted, the toolkit's
|
|
118
|
+
* default options are used. (4.0: legacy `extraOptions` was removed —
|
|
119
|
+
* pass the full options array here instead.)
|
|
120
|
+
*/
|
|
117
121
|
options?: ConsentOption[];
|
|
118
122
|
adapter?: StorageAdapter<ConsentSettings>;
|
|
119
123
|
position?: 'top' | 'bottom' | 'center' | 'inline';
|
|
@@ -113,7 +113,11 @@ export declare interface NDPRConsentCopy {
|
|
|
113
113
|
}
|
|
114
114
|
|
|
115
115
|
export declare interface NDPRConsentProps {
|
|
116
|
-
|
|
116
|
+
/**
|
|
117
|
+
* Consent categories to present. When omitted, the toolkit's
|
|
118
|
+
* default options are used. (4.0: legacy `extraOptions` was removed —
|
|
119
|
+
* pass the full options array here instead.)
|
|
120
|
+
*/
|
|
117
121
|
options?: ConsentOption[];
|
|
118
122
|
adapter?: StorageAdapter<ConsentSettings>;
|
|
119
123
|
position?: 'top' | 'bottom' | 'center' | 'inline';
|
package/dist/presets-consent.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
'use strict';var
|
|
2
|
+
'use strict';var chunk63WM5PHZ_js=require('./chunk-63WM5PHZ.js');require('./chunk-ZD2W3YU2.js'),require('./chunk-L2VO3MEJ.js'),require('./chunk-AME4HJR4.js'),require('./chunk-YDKWD6MQ.js'),require('./chunk-TTMGFC6C.js'),require('./chunk-RFPLZDIO.js');Object.defineProperty(exports,"NDPRConsent",{enumerable:true,get:function(){return chunk63WM5PHZ_js.a}});
|
package/dist/presets-consent.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
export{a as NDPRConsent}from'./chunk-
|
|
2
|
+
export{a as NDPRConsent}from'./chunk-6A6VI7ZP.mjs';import'./chunk-I2ZBMR7F.mjs';import'./chunk-YTU4FNM2.mjs';import'./chunk-SFGW37LE.mjs';import'./chunk-FRQFU44F.mjs';import'./chunk-V5TZJJWU.mjs';import'./chunk-ZJYULEER.mjs';
|