@tantainnovative/ndpr-toolkit 4.0.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.
Files changed (83) hide show
  1. package/CHANGELOG.md +56 -0
  2. package/dist/chunk-3APT25XO.mjs +1 -0
  3. package/dist/chunk-45D7AMB3.js +1 -0
  4. package/dist/chunk-65J4P5ID.js +1 -0
  5. package/dist/{chunk-NB6SKG76.mjs → chunk-6H6IXTHA.mjs} +1 -1
  6. package/dist/{chunk-GUERZD4O.mjs → chunk-6OPGI27L.mjs} +1 -1
  7. package/dist/{chunk-3XU6FL2I.js → chunk-6YFPDGNB.js} +1 -1
  8. package/dist/{chunk-IHNAFXDM.mjs → chunk-7Z7NURIA.mjs} +1 -1
  9. package/dist/chunk-D3HHDWBR.js +1 -0
  10. package/dist/chunk-DSIIEUAD.mjs +1 -0
  11. package/dist/chunk-H2FDWK4F.js +6 -0
  12. package/dist/chunk-HLFS3NXG.js +1 -0
  13. package/dist/chunk-JGY65SHX.mjs +1 -0
  14. package/dist/chunk-NI54X543.mjs +1 -0
  15. package/dist/{chunk-5F2IAUWJ.js → chunk-O4ATGGVK.js} +1 -1
  16. package/dist/chunk-P5MPUC5F.js +1 -0
  17. package/dist/{chunk-BGV2AKT7.mjs → chunk-PSPYIRIF.mjs} +1 -1
  18. package/dist/{chunk-HOAC5VUF.js → chunk-ROOUYQD4.js} +1 -1
  19. package/dist/{chunk-WMISQDSV.js → chunk-UJGNW6CH.js} +1 -1
  20. package/dist/chunk-UTXDZDYF.mjs +6 -0
  21. package/dist/chunk-W6VVLHRQ.mjs +1 -0
  22. package/dist/consent.d.mts +2 -0
  23. package/dist/consent.d.ts +2 -0
  24. package/dist/consent.js +1 -1
  25. package/dist/consent.mjs +1 -1
  26. package/dist/core.d.mts +13 -0
  27. package/dist/core.d.ts +13 -0
  28. package/dist/core.js +1 -1
  29. package/dist/core.mjs +1 -1
  30. package/dist/cross-border.d.mts +24 -0
  31. package/dist/cross-border.d.ts +24 -0
  32. package/dist/cross-border.js +1 -1
  33. package/dist/cross-border.mjs +1 -1
  34. package/dist/dsr.d.mts +3 -0
  35. package/dist/dsr.d.ts +3 -0
  36. package/dist/dsr.js +1 -1
  37. package/dist/dsr.mjs +1 -1
  38. package/dist/headless.d.mts +22 -1
  39. package/dist/headless.d.ts +22 -1
  40. package/dist/headless.js +1 -1
  41. package/dist/headless.mjs +1 -1
  42. package/dist/hooks.d.mts +22 -1
  43. package/dist/hooks.d.ts +22 -1
  44. package/dist/hooks.js +1 -1
  45. package/dist/hooks.mjs +1 -1
  46. package/dist/index.d.mts +215 -1
  47. package/dist/index.d.ts +215 -1
  48. package/dist/index.js +1 -1
  49. package/dist/index.mjs +1 -1
  50. package/dist/lawful-basis.d.mts +21 -0
  51. package/dist/lawful-basis.d.ts +21 -0
  52. package/dist/lawful-basis.js +1 -1
  53. package/dist/lawful-basis.mjs +1 -1
  54. package/dist/presets.d.mts +93 -0
  55. package/dist/presets.d.ts +93 -0
  56. package/dist/presets.js +1 -1
  57. package/dist/presets.mjs +1 -1
  58. package/dist/ropa-lite.d.mts +13 -1
  59. package/dist/ropa-lite.d.ts +13 -1
  60. package/dist/ropa-lite.js +1 -1
  61. package/dist/ropa-lite.mjs +1 -1
  62. package/dist/ropa.d.mts +43 -1
  63. package/dist/ropa.d.ts +43 -1
  64. package/dist/ropa.js +1 -1
  65. package/dist/ropa.mjs +1 -1
  66. package/dist/server.d.mts +135 -0
  67. package/dist/server.d.ts +135 -0
  68. package/dist/server.js +1 -1
  69. package/dist/server.mjs +1 -1
  70. package/dist/styles.css +18 -16
  71. package/package.json +1 -1
  72. package/dist/chunk-42JPSNVV.mjs +0 -6
  73. package/dist/chunk-7FXNGGMO.js +0 -1
  74. package/dist/chunk-B46SJB5V.js +0 -1
  75. package/dist/chunk-BL5W472Q.js +0 -1
  76. package/dist/chunk-O2WEABB3.js +0 -1
  77. package/dist/chunk-OZHUINWS.js +0 -1
  78. package/dist/chunk-PJNKQPQP.mjs +0 -1
  79. package/dist/chunk-RBKFNCGO.mjs +0 -1
  80. package/dist/chunk-VPNK7OID.mjs +0 -1
  81. package/dist/chunk-WKUC65HL.mjs +0 -1
  82. package/dist/chunk-XYGGUGTO.js +0 -6
  83. package/dist/chunk-Z2M5VJX2.mjs +0 -1
package/dist/core.mjs CHANGED
@@ -1 +1 @@
1
- export{c as hausaLocale,b as igboLocale,d as pidginLocale,a as yorubaLocale}from'./chunk-BGV2AKT7.mjs';export{a as ORG_POLICY_TEMPLATE_REGISTRY,b as createOrgTemplate,b as templateContextFor}from'./chunk-CWY2FMIC.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,a as findUnfilledTokens,b as generatePolicyText}from'./chunk-NBQQ2GN3.mjs';export{c as assemblePolicy,e as createDefaultContext,f as evaluatePolicyCompliance}from'./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{c as appendAuditEntry,a as createAuditEntry,b as getAuditLog}from'./chunk-V7UFP6QU.mjs';export{a as validateConsent,b as validateConsentOptions}from'./chunk-PJNKQPQP.mjs';export{a as sanitizeInput}from'./chunk-EWVK45Z3.mjs';export{b as formatDSRRequest,a as validateDsrSubmission}from'./chunk-VPNK7OID.mjs';export{a as assessDPIARisk}from'./chunk-LRRENTT5.mjs';export{b as LEGAL_DISCLAIMER_LONG,a as LEGAL_DISCLAIMER_SHORT,c as legalDisclaimerBlock}from'./chunk-ITCY2Z66.mjs';export{a as NDPRProvider,b as useNDPRConfig,c as useNDPRLocale}from'./chunk-FRQFU44F.mjs';export{a as defaultLocale,b as mergeLocale}from'./chunk-V5TZJJWU.mjs';import'./chunk-ZJYULEER.mjs';
1
+ export{e as arabicLocale,f as frenchLocale,c as hausaLocale,b as igboLocale,d as pidginLocale,a as yorubaLocale}from'./chunk-PSPYIRIF.mjs';export{a as ORG_POLICY_TEMPLATE_REGISTRY,b as createOrgTemplate,b as templateContextFor}from'./chunk-CWY2FMIC.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,a as findUnfilledTokens,b as generatePolicyText}from'./chunk-NBQQ2GN3.mjs';export{c as assemblePolicy,e as createDefaultContext,f as evaluatePolicyCompliance}from'./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{c as appendAuditEntry,a as createAuditEntry,b as getAuditLog}from'./chunk-V7UFP6QU.mjs';export{a as validateConsent,c as validateConsentOptions}from'./chunk-NI54X543.mjs';export{a as sanitizeInput}from'./chunk-EWVK45Z3.mjs';export{b as formatDSRRequest,a as validateDsrSubmission}from'./chunk-3APT25XO.mjs';export{a as assessDPIARisk}from'./chunk-LRRENTT5.mjs';export{b as LEGAL_DISCLAIMER_LONG,a as LEGAL_DISCLAIMER_SHORT,c as legalDisclaimerBlock}from'./chunk-ITCY2Z66.mjs';export{a as NDPRProvider,b as useNDPRConfig,c as useNDPRLocale}from'./chunk-FRQFU44F.mjs';export{a as defaultLocale,b as mergeLocale}from'./chunk-V5TZJJWU.mjs';import'./chunk-ZJYULEER.mjs';
@@ -216,16 +216,40 @@ declare interface CrossBorderTransferManagerProps {
216
216
  transfers: CrossBorderTransfer[];
217
217
  /**
218
218
  * Callback when a new transfer is added
219
+ * @deprecated Renamed to `onAdd` in 4.1. The legacy name still fires
220
+ * for backward compatibility and will be removed in 5.0.
219
221
  */
220
222
  onAddTransfer?: (transfer: Omit<CrossBorderTransfer, 'id' | 'createdAt' | 'updatedAt'>) => void;
221
223
  /**
222
224
  * Callback when a transfer is updated
225
+ * @deprecated Renamed to `onUpdate` in 4.1. The legacy name still fires
226
+ * for backward compatibility and will be removed in 5.0.
223
227
  */
224
228
  onUpdateTransfer?: (id: string, updates: Partial<CrossBorderTransfer>) => void;
225
229
  /**
226
230
  * Callback when a transfer is removed
231
+ * @deprecated Renamed to `onArchive` in 4.1 (NDPA prefers soft-delete
232
+ * over hard delete). The legacy name still fires for backward
233
+ * compatibility and will be removed in 5.0.
227
234
  */
228
235
  onRemoveTransfer?: (id: string) => void;
236
+ /**
237
+ * Callback when a new transfer is added (uniform 4.1+ name).
238
+ * Takes precedence over `onAddTransfer` when both are provided.
239
+ */
240
+ onAdd?: (transfer: Omit<CrossBorderTransfer, 'id' | 'createdAt' | 'updatedAt'>) => void;
241
+ /**
242
+ * Callback when a transfer is updated (uniform 4.1+ name).
243
+ * Takes precedence over `onUpdateTransfer` when both are provided.
244
+ */
245
+ onUpdate?: (id: string, updates: Partial<CrossBorderTransfer>) => void;
246
+ /**
247
+ * Callback when a transfer is archived (uniform 4.1+ name). NDPA
248
+ * preference is soft-delete over hard-delete; consumers should treat
249
+ * this as an archive signal. Takes precedence over `onRemoveTransfer`
250
+ * when both are provided.
251
+ */
252
+ onArchive?: (id: string) => void;
229
253
  /**
230
254
  * Compliance summary data
231
255
  */
@@ -216,16 +216,40 @@ declare interface CrossBorderTransferManagerProps {
216
216
  transfers: CrossBorderTransfer[];
217
217
  /**
218
218
  * Callback when a new transfer is added
219
+ * @deprecated Renamed to `onAdd` in 4.1. The legacy name still fires
220
+ * for backward compatibility and will be removed in 5.0.
219
221
  */
220
222
  onAddTransfer?: (transfer: Omit<CrossBorderTransfer, 'id' | 'createdAt' | 'updatedAt'>) => void;
221
223
  /**
222
224
  * Callback when a transfer is updated
225
+ * @deprecated Renamed to `onUpdate` in 4.1. The legacy name still fires
226
+ * for backward compatibility and will be removed in 5.0.
223
227
  */
224
228
  onUpdateTransfer?: (id: string, updates: Partial<CrossBorderTransfer>) => void;
225
229
  /**
226
230
  * Callback when a transfer is removed
231
+ * @deprecated Renamed to `onArchive` in 4.1 (NDPA prefers soft-delete
232
+ * over hard delete). The legacy name still fires for backward
233
+ * compatibility and will be removed in 5.0.
227
234
  */
228
235
  onRemoveTransfer?: (id: string) => void;
236
+ /**
237
+ * Callback when a new transfer is added (uniform 4.1+ name).
238
+ * Takes precedence over `onAddTransfer` when both are provided.
239
+ */
240
+ onAdd?: (transfer: Omit<CrossBorderTransfer, 'id' | 'createdAt' | 'updatedAt'>) => void;
241
+ /**
242
+ * Callback when a transfer is updated (uniform 4.1+ name).
243
+ * Takes precedence over `onUpdateTransfer` when both are provided.
244
+ */
245
+ onUpdate?: (id: string, updates: Partial<CrossBorderTransfer>) => void;
246
+ /**
247
+ * Callback when a transfer is archived (uniform 4.1+ name). NDPA
248
+ * preference is soft-delete over hard-delete; consumers should treat
249
+ * this as an archive signal. Takes precedence over `onRemoveTransfer`
250
+ * when both are provided.
251
+ */
252
+ onArchive?: (id: string) => void;
229
253
  /**
230
254
  * Compliance summary data
231
255
  */
@@ -1,2 +1,2 @@
1
1
  "use client";
2
- 'use strict';var chunkXYGGUGTO_js=require('./chunk-XYGGUGTO.js'),chunkHHK5LHEG_js=require('./chunk-HHK5LHEG.js'),chunkYFBDJ4FH_js=require('./chunk-YFBDJ4FH.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 s=react.createContext(null);function A(){let r=react.useContext(s);if(!r)throw new Error("CrossBorder compound components must be wrapped in <CrossBorder.Provider>. Example: <CrossBorder.Provider><CrossBorder.Manager /></CrossBorder.Provider>");return r}var t=({adapter:r,storageKey:d,useLocalStorage:a,initialTransfers:n,onAdd:p,onUpdate:C,onRemove:f,children:i})=>{let m=chunkHHK5LHEG_js.a({adapter:r,storageKey:d,useLocalStorage:a,initialTransfers:n,onAdd:p,onUpdate:C,onRemove:f});return jsxRuntime.jsx(s.Provider,{value:m,children:i})};var q={Provider:t,Manager:chunkXYGGUGTO_js.a};Object.defineProperty(exports,"CrossBorderTransferManager",{enumerable:true,get:function(){return chunkXYGGUGTO_js.a}});Object.defineProperty(exports,"useCrossBorderTransfer",{enumerable:true,get:function(){return chunkHHK5LHEG_js.a}});Object.defineProperty(exports,"COUNTRY_ADEQUACY_MAP",{enumerable:true,get:function(){return chunkYFBDJ4FH_js.a}});Object.defineProperty(exports,"assessTransferRisk",{enumerable:true,get:function(){return chunkYFBDJ4FH_js.h}});Object.defineProperty(exports,"getAdequateCountries",{enumerable:true,get:function(){return chunkYFBDJ4FH_js.c}});Object.defineProperty(exports,"getCountryAdequacy",{enumerable:true,get:function(){return chunkYFBDJ4FH_js.b}});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,"requiresNDPCApproval",{enumerable:true,get:function(){return chunkYFBDJ4FH_js.d}});Object.defineProperty(exports,"validateTransfer",{enumerable:true,get:function(){return chunkYFBDJ4FH_js.g}});exports.CrossBorder=q;exports.CrossBorderProvider=t;exports.useCrossBorderCompound=A;
2
+ 'use strict';var chunkH2FDWK4F_js=require('./chunk-H2FDWK4F.js'),chunkHHK5LHEG_js=require('./chunk-HHK5LHEG.js'),chunkYFBDJ4FH_js=require('./chunk-YFBDJ4FH.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 s=react.createContext(null);function A(){let r=react.useContext(s);if(!r)throw new Error("CrossBorder compound components must be wrapped in <CrossBorder.Provider>. Example: <CrossBorder.Provider><CrossBorder.Manager /></CrossBorder.Provider>");return r}var t=({adapter:r,storageKey:d,useLocalStorage:a,initialTransfers:n,onAdd:p,onUpdate:C,onRemove:f,children:i})=>{let m=chunkHHK5LHEG_js.a({adapter:r,storageKey:d,useLocalStorage:a,initialTransfers:n,onAdd:p,onUpdate:C,onRemove:f});return jsxRuntime.jsx(s.Provider,{value:m,children:i})};var q={Provider:t,Manager:chunkH2FDWK4F_js.a};Object.defineProperty(exports,"CrossBorderTransferManager",{enumerable:true,get:function(){return chunkH2FDWK4F_js.a}});Object.defineProperty(exports,"useCrossBorderTransfer",{enumerable:true,get:function(){return chunkHHK5LHEG_js.a}});Object.defineProperty(exports,"COUNTRY_ADEQUACY_MAP",{enumerable:true,get:function(){return chunkYFBDJ4FH_js.a}});Object.defineProperty(exports,"assessTransferRisk",{enumerable:true,get:function(){return chunkYFBDJ4FH_js.h}});Object.defineProperty(exports,"getAdequateCountries",{enumerable:true,get:function(){return chunkYFBDJ4FH_js.c}});Object.defineProperty(exports,"getCountryAdequacy",{enumerable:true,get:function(){return chunkYFBDJ4FH_js.b}});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,"requiresNDPCApproval",{enumerable:true,get:function(){return chunkYFBDJ4FH_js.d}});Object.defineProperty(exports,"validateTransfer",{enumerable:true,get:function(){return chunkYFBDJ4FH_js.g}});exports.CrossBorder=q;exports.CrossBorderProvider=t;exports.useCrossBorderCompound=A;
@@ -1,2 +1,2 @@
1
1
  "use client";
2
- import {a}from'./chunk-42JPSNVV.mjs';export{a as CrossBorderTransferManager}from'./chunk-42JPSNVV.mjs';import {a as a$1}from'./chunk-KDAZQO3N.mjs';export{a as useCrossBorderTransfer}from'./chunk-KDAZQO3N.mjs';export{a as COUNTRY_ADEQUACY_MAP,h as assessTransferRisk,c as getAdequateCountries,b as getCountryAdequacy,f as getTransferMechanismDescription,e as isNDPCApprovalRequired,d as requiresNDPCApproval,g as validateTransfer}from'./chunk-7BJXI2HI.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 s=createContext(null);function A(){let r=useContext(s);if(!r)throw new Error("CrossBorder compound components must be wrapped in <CrossBorder.Provider>. Example: <CrossBorder.Provider><CrossBorder.Manager /></CrossBorder.Provider>");return r}var t=({adapter:r,storageKey:d,useLocalStorage:a,initialTransfers:n,onAdd:p,onUpdate:C,onRemove:f,children:i})=>{let m=a$1({adapter:r,storageKey:d,useLocalStorage:a,initialTransfers:n,onAdd:p,onUpdate:C,onRemove:f});return jsx(s.Provider,{value:m,children:i})};var q={Provider:t,Manager:a};export{q as CrossBorder,t as CrossBorderProvider,A as useCrossBorderCompound};
2
+ import {a}from'./chunk-UTXDZDYF.mjs';export{a as CrossBorderTransferManager}from'./chunk-UTXDZDYF.mjs';import {a as a$1}from'./chunk-KDAZQO3N.mjs';export{a as useCrossBorderTransfer}from'./chunk-KDAZQO3N.mjs';export{a as COUNTRY_ADEQUACY_MAP,h as assessTransferRisk,c as getAdequateCountries,b as getCountryAdequacy,f as getTransferMechanismDescription,e as isNDPCApprovalRequired,d as requiresNDPCApproval,g as validateTransfer}from'./chunk-7BJXI2HI.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 s=createContext(null);function A(){let r=useContext(s);if(!r)throw new Error("CrossBorder compound components must be wrapped in <CrossBorder.Provider>. Example: <CrossBorder.Provider><CrossBorder.Manager /></CrossBorder.Provider>");return r}var t=({adapter:r,storageKey:d,useLocalStorage:a,initialTransfers:n,onAdd:p,onUpdate:C,onRemove:f,children:i})=>{let m=a$1({adapter:r,storageKey:d,useLocalStorage:a,initialTransfers:n,onAdd:p,onUpdate:C,onRemove:f});return jsx(s.Provider,{value:m,children:i})};var q={Provider:t,Manager:a};export{q as CrossBorder,t as CrossBorderProvider,A as useCrossBorderCompound};
package/dist/dsr.d.mts CHANGED
@@ -462,6 +462,7 @@ export declare type DSRType = 'information' | 'access' | 'rectification' | 'eras
462
462
  * Formats a DSR request for display or submission
463
463
  * @param request The DSR request to format
464
464
  * @returns Formatted request data
465
+ * @deprecated Use `formatDSRRequestStructured()` for typed `{ field, code, message }[]` errors. The legacy string-returning shape will be removed in 5.0.
465
466
  */
466
467
  export declare function formatDSRRequest(request: DSRRequest): {
467
468
  formattedRequest: Record<string, unknown>;
@@ -673,6 +674,8 @@ declare interface UseDSRReturn {
673
674
  * ```ts
674
675
  * validateDsrSubmission(payload, { requireIdentityVerification: false });
675
676
  * ```
677
+ *
678
+ * @deprecated Use `validateDsrSubmissionStructured()` for typed `{ field, code, message }[]` errors. The legacy string-returning shape will be removed in 5.0.
676
679
  */
677
680
  export declare function validateDsrSubmission(payload: unknown, options?: ValidateDsrSubmissionOptions): DsrSubmissionValidationResult;
678
681
 
package/dist/dsr.d.ts CHANGED
@@ -462,6 +462,7 @@ export declare type DSRType = 'information' | 'access' | 'rectification' | 'eras
462
462
  * Formats a DSR request for display or submission
463
463
  * @param request The DSR request to format
464
464
  * @returns Formatted request data
465
+ * @deprecated Use `formatDSRRequestStructured()` for typed `{ field, code, message }[]` errors. The legacy string-returning shape will be removed in 5.0.
465
466
  */
466
467
  export declare function formatDSRRequest(request: DSRRequest): {
467
468
  formattedRequest: Record<string, unknown>;
@@ -673,6 +674,8 @@ declare interface UseDSRReturn {
673
674
  * ```ts
674
675
  * validateDsrSubmission(payload, { requireIdentityVerification: false });
675
676
  * ```
677
+ *
678
+ * @deprecated Use `validateDsrSubmissionStructured()` for typed `{ field, code, message }[]` errors. The legacy string-returning shape will be removed in 5.0.
676
679
  */
677
680
  export declare function validateDsrSubmission(payload: unknown, options?: ValidateDsrSubmissionOptions): DsrSubmissionValidationResult;
678
681
 
package/dist/dsr.js CHANGED
@@ -1,2 +1,2 @@
1
1
  "use client";
2
- 'use strict';var chunkWMISQDSV_js=require('./chunk-WMISQDSV.js'),chunkUZNWXJ2W_js=require('./chunk-UZNWXJ2W.js');require('./chunk-UXUMYP4L.js');var chunk5F2IAUWJ_js=require('./chunk-5F2IAUWJ.js'),chunkOZHUINWS_js=require('./chunk-OZHUINWS.js');require('./chunk-AME4HJR4.js'),require('./chunk-YDKWD6MQ.js'),require('./chunk-TTMGFC6C.js'),require('./chunk-VWED6UTN.js');var chunkRFPLZDIO_js=require('./chunk-RFPLZDIO.js'),react=require('react'),jsxRuntime=require('react/jsx-runtime');var p=react.createContext(null);function P(){let e=react.useContext(p);if(!e)throw new Error("DSR compound components must be wrapped in <DSR.Provider>. Example: <DSR.Provider requestTypes={...}><DSR.Form /></DSR.Provider>");return e}var m=({requestTypes:e,adapter:S,storageKey:D,useLocalStorage:d,onSubmit:u,onUpdate:i,children:n})=>{let f=chunk5F2IAUWJ_js.a({requestTypes:e,adapter:S,storageKey:D,useLocalStorage:d,onSubmit:u,onUpdate:i}),x=chunkRFPLZDIO_js.b(chunkRFPLZDIO_js.a({},f),{requestTypes:e});return jsxRuntime.jsx(p.Provider,{value:x,children:n})};var C={Provider:m,Form:chunkUZNWXJ2W_js.a,Dashboard:chunkWMISQDSV_js.a,Tracker:chunkWMISQDSV_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,"useDSR",{enumerable:true,get:function(){return chunk5F2IAUWJ_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}});exports.DSR=C;exports.DSRProvider=m;exports.useDSRCompound=P;
2
+ 'use strict';var chunkUJGNW6CH_js=require('./chunk-UJGNW6CH.js'),chunkUZNWXJ2W_js=require('./chunk-UZNWXJ2W.js');require('./chunk-UXUMYP4L.js');var chunkO4ATGGVK_js=require('./chunk-O4ATGGVK.js'),chunk45D7AMB3_js=require('./chunk-45D7AMB3.js');require('./chunk-AME4HJR4.js'),require('./chunk-YDKWD6MQ.js'),require('./chunk-TTMGFC6C.js'),require('./chunk-VWED6UTN.js');var chunkRFPLZDIO_js=require('./chunk-RFPLZDIO.js'),react=require('react'),jsxRuntime=require('react/jsx-runtime');var p=react.createContext(null);function P(){let e=react.useContext(p);if(!e)throw new Error("DSR compound components must be wrapped in <DSR.Provider>. Example: <DSR.Provider requestTypes={...}><DSR.Form /></DSR.Provider>");return e}var m=({requestTypes:e,adapter:S,storageKey:D,useLocalStorage:d,onSubmit:u,onUpdate:i,children:n})=>{let f=chunkO4ATGGVK_js.a({requestTypes:e,adapter:S,storageKey:D,useLocalStorage:d,onSubmit:u,onUpdate:i}),x=chunkRFPLZDIO_js.b(chunkRFPLZDIO_js.a({},f),{requestTypes:e});return jsxRuntime.jsx(p.Provider,{value:x,children:n})};var C={Provider:m,Form:chunkUZNWXJ2W_js.a,Dashboard:chunkUJGNW6CH_js.a,Tracker:chunkUJGNW6CH_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,"useDSR",{enumerable:true,get:function(){return chunkO4ATGGVK_js.a}});Object.defineProperty(exports,"formatDSRRequest",{enumerable:true,get:function(){return chunk45D7AMB3_js.b}});Object.defineProperty(exports,"validateDsrSubmission",{enumerable:true,get:function(){return chunk45D7AMB3_js.a}});exports.DSR=C;exports.DSRProvider=m;exports.useDSRCompound=P;
package/dist/dsr.mjs CHANGED
@@ -1,2 +1,2 @@
1
1
  "use client";
2
- import {b,a}from'./chunk-NB6SKG76.mjs';export{a as DSRDashboard,b as DSRTracker}from'./chunk-NB6SKG76.mjs';import {a as a$1}from'./chunk-L3FR4PQE.mjs';export{a as DSRRequestForm}from'./chunk-L3FR4PQE.mjs';import'./chunk-EWVK45Z3.mjs';import {a as a$2}from'./chunk-GUERZD4O.mjs';export{a as useDSR}from'./chunk-GUERZD4O.mjs';export{b as formatDSRRequest,a as validateDsrSubmission}from'./chunk-VPNK7OID.mjs';import'./chunk-SFGW37LE.mjs';import'./chunk-FRQFU44F.mjs';import'./chunk-V5TZJJWU.mjs';import'./chunk-DBZSN4WP.mjs';import {b as b$1,a as a$3}from'./chunk-ZJYULEER.mjs';import {createContext,useContext}from'react';import {jsx}from'react/jsx-runtime';var p=createContext(null);function P(){let e=useContext(p);if(!e)throw new Error("DSR compound components must be wrapped in <DSR.Provider>. Example: <DSR.Provider requestTypes={...}><DSR.Form /></DSR.Provider>");return e}var m=({requestTypes:e,adapter:S,storageKey:D,useLocalStorage:d,onSubmit:u,onUpdate:i,children:n})=>{let f=a$2({requestTypes:e,adapter:S,storageKey:D,useLocalStorage:d,onSubmit:u,onUpdate:i}),x=b$1(a$3({},f),{requestTypes:e});return jsx(p.Provider,{value:x,children:n})};var C={Provider:m,Form:a$1,Dashboard:a,Tracker:b};export{C as DSR,m as DSRProvider,P as useDSRCompound};
2
+ import {b,a}from'./chunk-6H6IXTHA.mjs';export{a as DSRDashboard,b as DSRTracker}from'./chunk-6H6IXTHA.mjs';import {a as a$1}from'./chunk-L3FR4PQE.mjs';export{a as DSRRequestForm}from'./chunk-L3FR4PQE.mjs';import'./chunk-EWVK45Z3.mjs';import {a as a$2}from'./chunk-6OPGI27L.mjs';export{a as useDSR}from'./chunk-6OPGI27L.mjs';export{b as formatDSRRequest,a as validateDsrSubmission}from'./chunk-3APT25XO.mjs';import'./chunk-SFGW37LE.mjs';import'./chunk-FRQFU44F.mjs';import'./chunk-V5TZJJWU.mjs';import'./chunk-DBZSN4WP.mjs';import {b as b$1,a as a$3}from'./chunk-ZJYULEER.mjs';import {createContext,useContext}from'react';import {jsx}from'react/jsx-runtime';var p=createContext(null);function P(){let e=useContext(p);if(!e)throw new Error("DSR compound components must be wrapped in <DSR.Provider>. Example: <DSR.Provider requestTypes={...}><DSR.Form /></DSR.Provider>");return e}var m=({requestTypes:e,adapter:S,storageKey:D,useLocalStorage:d,onSubmit:u,onUpdate:i,children:n})=>{let f=a$2({requestTypes:e,adapter:S,storageKey:D,useLocalStorage:d,onSubmit:u,onUpdate:i}),x=b$1(a$3({},f),{requestTypes:e});return jsx(p.Provider,{value:x,children:n})};var C={Provider:m,Form:a$1,Dashboard:a,Tracker:b};export{C as DSR,m as DSRProvider,P as useDSRCompound};
@@ -2503,7 +2503,7 @@ export declare interface UsePrivacyPolicyReturn {
2503
2503
  * }
2504
2504
  * ```
2505
2505
  */
2506
- export declare function useROPA({ initialData, adapter, onRecordAdd, onRecordUpdate, onRecordArchive, }: UseROPAOptions): UseROPAReturn;
2506
+ export declare function useROPA({ initialData, adapter, onRecordAdd, onRecordUpdate, onRecordArchive, onAdd, onUpdate, onArchive, }: UseROPAOptions): UseROPAReturn;
2507
2507
 
2508
2508
  export declare interface UseROPAOptions {
2509
2509
  /**
@@ -2518,16 +2518,37 @@ export declare interface UseROPAOptions {
2518
2518
  adapter?: StorageAdapter<RecordOfProcessingActivities>;
2519
2519
  /**
2520
2520
  * Callback when a record is added
2521
+ * @deprecated Renamed to `onAdd` in 4.1. The legacy name still fires
2522
+ * for backward compatibility and will be removed in 5.0.
2521
2523
  */
2522
2524
  onRecordAdd?: (record: ProcessingRecord) => void;
2523
2525
  /**
2524
2526
  * Callback when a record is updated
2527
+ * @deprecated Renamed to `onUpdate` in 4.1. The legacy name still fires
2528
+ * for backward compatibility and will be removed in 5.0.
2525
2529
  */
2526
2530
  onRecordUpdate?: (id: string, updates: Partial<ProcessingRecord>) => void;
2527
2531
  /**
2528
2532
  * Callback when a record is archived
2533
+ * @deprecated Renamed to `onArchive` in 4.1. The legacy name still fires
2534
+ * for backward compatibility and will be removed in 5.0.
2529
2535
  */
2530
2536
  onRecordArchive?: (id: string) => void;
2537
+ /**
2538
+ * Callback when a record is added (uniform 4.1+ name).
2539
+ * Takes precedence over `onRecordAdd` when both are provided.
2540
+ */
2541
+ onAdd?: (record: ProcessingRecord) => void;
2542
+ /**
2543
+ * Callback when a record is updated (uniform 4.1+ name).
2544
+ * Takes precedence over `onRecordUpdate` when both are provided.
2545
+ */
2546
+ onUpdate?: (id: string, updates: Partial<ProcessingRecord>) => void;
2547
+ /**
2548
+ * Callback when a record is archived (uniform 4.1+ name).
2549
+ * Takes precedence over `onRecordArchive` when both are provided.
2550
+ */
2551
+ onArchive?: (id: string) => void;
2531
2552
  }
2532
2553
 
2533
2554
  export declare interface UseROPAReturn {
@@ -2503,7 +2503,7 @@ export declare interface UsePrivacyPolicyReturn {
2503
2503
  * }
2504
2504
  * ```
2505
2505
  */
2506
- export declare function useROPA({ initialData, adapter, onRecordAdd, onRecordUpdate, onRecordArchive, }: UseROPAOptions): UseROPAReturn;
2506
+ export declare function useROPA({ initialData, adapter, onRecordAdd, onRecordUpdate, onRecordArchive, onAdd, onUpdate, onArchive, }: UseROPAOptions): UseROPAReturn;
2507
2507
 
2508
2508
  export declare interface UseROPAOptions {
2509
2509
  /**
@@ -2518,16 +2518,37 @@ export declare interface UseROPAOptions {
2518
2518
  adapter?: StorageAdapter<RecordOfProcessingActivities>;
2519
2519
  /**
2520
2520
  * Callback when a record is added
2521
+ * @deprecated Renamed to `onAdd` in 4.1. The legacy name still fires
2522
+ * for backward compatibility and will be removed in 5.0.
2521
2523
  */
2522
2524
  onRecordAdd?: (record: ProcessingRecord) => void;
2523
2525
  /**
2524
2526
  * Callback when a record is updated
2527
+ * @deprecated Renamed to `onUpdate` in 4.1. The legacy name still fires
2528
+ * for backward compatibility and will be removed in 5.0.
2525
2529
  */
2526
2530
  onRecordUpdate?: (id: string, updates: Partial<ProcessingRecord>) => void;
2527
2531
  /**
2528
2532
  * Callback when a record is archived
2533
+ * @deprecated Renamed to `onArchive` in 4.1. The legacy name still fires
2534
+ * for backward compatibility and will be removed in 5.0.
2529
2535
  */
2530
2536
  onRecordArchive?: (id: string) => void;
2537
+ /**
2538
+ * Callback when a record is added (uniform 4.1+ name).
2539
+ * Takes precedence over `onRecordAdd` when both are provided.
2540
+ */
2541
+ onAdd?: (record: ProcessingRecord) => void;
2542
+ /**
2543
+ * Callback when a record is updated (uniform 4.1+ name).
2544
+ * Takes precedence over `onRecordUpdate` when both are provided.
2545
+ */
2546
+ onUpdate?: (id: string, updates: Partial<ProcessingRecord>) => void;
2547
+ /**
2548
+ * Callback when a record is archived (uniform 4.1+ name).
2549
+ * Takes precedence over `onRecordArchive` when both are provided.
2550
+ */
2551
+ onArchive?: (id: string) => void;
2531
2552
  }
2532
2553
 
2533
2554
  export declare interface UseROPAReturn {
package/dist/headless.js CHANGED
@@ -1,2 +1,2 @@
1
1
  "use client";
2
- 'use strict';require('./chunk-OZCNFB5C.js');var 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'),require('./chunk-RDALAH3Y.js'),require('./chunk-3YTAOT5O.js'),require('./chunk-D2ZKDQVL.js'),require('./chunk-6LJHLE6G.js'),require('./chunk-YFBDJ4FH.js'),require('./chunk-WZYCBW2R.js'),require('./chunk-4CVBQC66.js');var chunkHOAC5VUF_js=require('./chunk-HOAC5VUF.js'),chunkL2VO3MEJ_js=require('./chunk-L2VO3MEJ.js');require('./chunk-C2KEXHRX.js'),require('./chunk-B46SJB5V.js');var chunk5F2IAUWJ_js=require('./chunk-5F2IAUWJ.js');require('./chunk-OZHUINWS.js');var chunkJLQT3W3E_js=require('./chunk-JLQT3W3E.js');require('./chunk-TQZWJGJ2.js'),require('./chunk-ZVOIR4QH.js'),require('./chunk-VWED6UTN.js'),require('./chunk-RFPLZDIO.js');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,"useConsent",{enumerable:true,get:function(){return chunkHOAC5VUF_js.a}});Object.defineProperty(exports,"useFocusTrap",{enumerable:true,get:function(){return chunkL2VO3MEJ_js.a}});Object.defineProperty(exports,"useDSR",{enumerable:true,get:function(){return chunk5F2IAUWJ_js.a}});Object.defineProperty(exports,"useDPIA",{enumerable:true,get:function(){return chunkJLQT3W3E_js.a}});
2
+ 'use strict';require('./chunk-OZCNFB5C.js');var 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'),require('./chunk-RDALAH3Y.js'),require('./chunk-3YTAOT5O.js'),require('./chunk-D2ZKDQVL.js'),require('./chunk-6LJHLE6G.js'),require('./chunk-YFBDJ4FH.js'),require('./chunk-WZYCBW2R.js'),require('./chunk-4CVBQC66.js');var chunkROOUYQD4_js=require('./chunk-ROOUYQD4.js'),chunkL2VO3MEJ_js=require('./chunk-L2VO3MEJ.js');require('./chunk-C2KEXHRX.js'),require('./chunk-D3HHDWBR.js');var chunkO4ATGGVK_js=require('./chunk-O4ATGGVK.js');require('./chunk-45D7AMB3.js');var chunkJLQT3W3E_js=require('./chunk-JLQT3W3E.js');require('./chunk-TQZWJGJ2.js'),require('./chunk-ZVOIR4QH.js'),require('./chunk-VWED6UTN.js'),require('./chunk-RFPLZDIO.js');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,"useConsent",{enumerable:true,get:function(){return chunkROOUYQD4_js.a}});Object.defineProperty(exports,"useFocusTrap",{enumerable:true,get:function(){return chunkL2VO3MEJ_js.a}});Object.defineProperty(exports,"useDSR",{enumerable:true,get:function(){return chunkO4ATGGVK_js.a}});Object.defineProperty(exports,"useDPIA",{enumerable:true,get:function(){return chunkJLQT3W3E_js.a}});
package/dist/headless.mjs CHANGED
@@ -1,2 +1,2 @@
1
1
  "use client";
2
- import'./chunk-GQYBS3A7.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-WKUC65HL.mjs';import'./chunk-IVSNHT24.mjs';import'./chunk-7RBO42IW.mjs';import'./chunk-WTGKZX7J.mjs';import'./chunk-NBQQ2GN3.mjs';import'./chunk-BIJSMSUU.mjs';import'./chunk-7BJXI2HI.mjs';import'./chunk-LWIKDDSU.mjs';import'./chunk-XP5PL6K7.mjs';export{a as useConsent}from'./chunk-IHNAFXDM.mjs';export{a as useFocusTrap}from'./chunk-YTU4FNM2.mjs';import'./chunk-XC3DLYEG.mjs';import'./chunk-PJNKQPQP.mjs';export{a as useDSR}from'./chunk-GUERZD4O.mjs';import'./chunk-VPNK7OID.mjs';export{a as useDPIA}from'./chunk-I3V3ITN7.mjs';import'./chunk-LRRENTT5.mjs';import'./chunk-ITCY2Z66.mjs';import'./chunk-DBZSN4WP.mjs';import'./chunk-ZJYULEER.mjs';
2
+ import'./chunk-GQYBS3A7.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';import'./chunk-7RBO42IW.mjs';import'./chunk-WTGKZX7J.mjs';import'./chunk-NBQQ2GN3.mjs';import'./chunk-BIJSMSUU.mjs';import'./chunk-7BJXI2HI.mjs';import'./chunk-LWIKDDSU.mjs';import'./chunk-XP5PL6K7.mjs';export{a as useConsent}from'./chunk-7Z7NURIA.mjs';export{a as useFocusTrap}from'./chunk-YTU4FNM2.mjs';import'./chunk-XC3DLYEG.mjs';import'./chunk-NI54X543.mjs';export{a as useDSR}from'./chunk-6OPGI27L.mjs';import'./chunk-3APT25XO.mjs';export{a as useDPIA}from'./chunk-I3V3ITN7.mjs';import'./chunk-LRRENTT5.mjs';import'./chunk-ITCY2Z66.mjs';import'./chunk-DBZSN4WP.mjs';import'./chunk-ZJYULEER.mjs';
package/dist/hooks.d.mts CHANGED
@@ -2389,7 +2389,7 @@ export declare interface UsePrivacyPolicyReturn {
2389
2389
  * }
2390
2390
  * ```
2391
2391
  */
2392
- export declare function useROPA({ initialData, adapter, onRecordAdd, onRecordUpdate, onRecordArchive, }: UseROPAOptions): UseROPAReturn;
2392
+ export declare function useROPA({ initialData, adapter, onRecordAdd, onRecordUpdate, onRecordArchive, onAdd, onUpdate, onArchive, }: UseROPAOptions): UseROPAReturn;
2393
2393
 
2394
2394
  export declare interface UseROPAOptions {
2395
2395
  /**
@@ -2404,16 +2404,37 @@ export declare interface UseROPAOptions {
2404
2404
  adapter?: StorageAdapter<RecordOfProcessingActivities>;
2405
2405
  /**
2406
2406
  * Callback when a record is added
2407
+ * @deprecated Renamed to `onAdd` in 4.1. The legacy name still fires
2408
+ * for backward compatibility and will be removed in 5.0.
2407
2409
  */
2408
2410
  onRecordAdd?: (record: ProcessingRecord) => void;
2409
2411
  /**
2410
2412
  * Callback when a record is updated
2413
+ * @deprecated Renamed to `onUpdate` in 4.1. The legacy name still fires
2414
+ * for backward compatibility and will be removed in 5.0.
2411
2415
  */
2412
2416
  onRecordUpdate?: (id: string, updates: Partial<ProcessingRecord>) => void;
2413
2417
  /**
2414
2418
  * Callback when a record is archived
2419
+ * @deprecated Renamed to `onArchive` in 4.1. The legacy name still fires
2420
+ * for backward compatibility and will be removed in 5.0.
2415
2421
  */
2416
2422
  onRecordArchive?: (id: string) => void;
2423
+ /**
2424
+ * Callback when a record is added (uniform 4.1+ name).
2425
+ * Takes precedence over `onRecordAdd` when both are provided.
2426
+ */
2427
+ onAdd?: (record: ProcessingRecord) => void;
2428
+ /**
2429
+ * Callback when a record is updated (uniform 4.1+ name).
2430
+ * Takes precedence over `onRecordUpdate` when both are provided.
2431
+ */
2432
+ onUpdate?: (id: string, updates: Partial<ProcessingRecord>) => void;
2433
+ /**
2434
+ * Callback when a record is archived (uniform 4.1+ name).
2435
+ * Takes precedence over `onRecordArchive` when both are provided.
2436
+ */
2437
+ onArchive?: (id: string) => void;
2417
2438
  }
2418
2439
 
2419
2440
  export declare interface UseROPAReturn {
package/dist/hooks.d.ts CHANGED
@@ -2389,7 +2389,7 @@ export declare interface UsePrivacyPolicyReturn {
2389
2389
  * }
2390
2390
  * ```
2391
2391
  */
2392
- export declare function useROPA({ initialData, adapter, onRecordAdd, onRecordUpdate, onRecordArchive, }: UseROPAOptions): UseROPAReturn;
2392
+ export declare function useROPA({ initialData, adapter, onRecordAdd, onRecordUpdate, onRecordArchive, onAdd, onUpdate, onArchive, }: UseROPAOptions): UseROPAReturn;
2393
2393
 
2394
2394
  export declare interface UseROPAOptions {
2395
2395
  /**
@@ -2404,16 +2404,37 @@ export declare interface UseROPAOptions {
2404
2404
  adapter?: StorageAdapter<RecordOfProcessingActivities>;
2405
2405
  /**
2406
2406
  * Callback when a record is added
2407
+ * @deprecated Renamed to `onAdd` in 4.1. The legacy name still fires
2408
+ * for backward compatibility and will be removed in 5.0.
2407
2409
  */
2408
2410
  onRecordAdd?: (record: ProcessingRecord) => void;
2409
2411
  /**
2410
2412
  * Callback when a record is updated
2413
+ * @deprecated Renamed to `onUpdate` in 4.1. The legacy name still fires
2414
+ * for backward compatibility and will be removed in 5.0.
2411
2415
  */
2412
2416
  onRecordUpdate?: (id: string, updates: Partial<ProcessingRecord>) => void;
2413
2417
  /**
2414
2418
  * Callback when a record is archived
2419
+ * @deprecated Renamed to `onArchive` in 4.1. The legacy name still fires
2420
+ * for backward compatibility and will be removed in 5.0.
2415
2421
  */
2416
2422
  onRecordArchive?: (id: string) => void;
2423
+ /**
2424
+ * Callback when a record is added (uniform 4.1+ name).
2425
+ * Takes precedence over `onRecordAdd` when both are provided.
2426
+ */
2427
+ onAdd?: (record: ProcessingRecord) => void;
2428
+ /**
2429
+ * Callback when a record is updated (uniform 4.1+ name).
2430
+ * Takes precedence over `onRecordUpdate` when both are provided.
2431
+ */
2432
+ onUpdate?: (id: string, updates: Partial<ProcessingRecord>) => void;
2433
+ /**
2434
+ * Callback when a record is archived (uniform 4.1+ name).
2435
+ * Takes precedence over `onRecordArchive` when both are provided.
2436
+ */
2437
+ onArchive?: (id: string) => void;
2417
2438
  }
2418
2439
 
2419
2440
  export declare interface UseROPAReturn {
package/dist/hooks.js CHANGED
@@ -1,2 +1,2 @@
1
1
  "use client";
2
- 'use strict';require('./chunk-OZCNFB5C.js');var 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'),require('./chunk-RDALAH3Y.js'),require('./chunk-3YTAOT5O.js'),require('./chunk-D2ZKDQVL.js'),require('./chunk-6LJHLE6G.js'),require('./chunk-YFBDJ4FH.js'),require('./chunk-WZYCBW2R.js'),require('./chunk-4CVBQC66.js');var chunkHOAC5VUF_js=require('./chunk-HOAC5VUF.js'),chunkL2VO3MEJ_js=require('./chunk-L2VO3MEJ.js');require('./chunk-C2KEXHRX.js'),require('./chunk-B46SJB5V.js');var chunk5F2IAUWJ_js=require('./chunk-5F2IAUWJ.js');require('./chunk-OZHUINWS.js');var chunkJLQT3W3E_js=require('./chunk-JLQT3W3E.js');require('./chunk-TQZWJGJ2.js'),require('./chunk-ZVOIR4QH.js'),require('./chunk-VWED6UTN.js'),require('./chunk-RFPLZDIO.js');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,"useConsent",{enumerable:true,get:function(){return chunkHOAC5VUF_js.a}});Object.defineProperty(exports,"useFocusTrap",{enumerable:true,get:function(){return chunkL2VO3MEJ_js.a}});Object.defineProperty(exports,"useDSR",{enumerable:true,get:function(){return chunk5F2IAUWJ_js.a}});Object.defineProperty(exports,"useDPIA",{enumerable:true,get:function(){return chunkJLQT3W3E_js.a}});
2
+ 'use strict';require('./chunk-OZCNFB5C.js');var 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'),require('./chunk-RDALAH3Y.js'),require('./chunk-3YTAOT5O.js'),require('./chunk-D2ZKDQVL.js'),require('./chunk-6LJHLE6G.js'),require('./chunk-YFBDJ4FH.js'),require('./chunk-WZYCBW2R.js'),require('./chunk-4CVBQC66.js');var chunkROOUYQD4_js=require('./chunk-ROOUYQD4.js'),chunkL2VO3MEJ_js=require('./chunk-L2VO3MEJ.js');require('./chunk-C2KEXHRX.js'),require('./chunk-D3HHDWBR.js');var chunkO4ATGGVK_js=require('./chunk-O4ATGGVK.js');require('./chunk-45D7AMB3.js');var chunkJLQT3W3E_js=require('./chunk-JLQT3W3E.js');require('./chunk-TQZWJGJ2.js'),require('./chunk-ZVOIR4QH.js'),require('./chunk-VWED6UTN.js'),require('./chunk-RFPLZDIO.js');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,"useConsent",{enumerable:true,get:function(){return chunkROOUYQD4_js.a}});Object.defineProperty(exports,"useFocusTrap",{enumerable:true,get:function(){return chunkL2VO3MEJ_js.a}});Object.defineProperty(exports,"useDSR",{enumerable:true,get:function(){return chunkO4ATGGVK_js.a}});Object.defineProperty(exports,"useDPIA",{enumerable:true,get:function(){return chunkJLQT3W3E_js.a}});
package/dist/hooks.mjs CHANGED
@@ -1,2 +1,2 @@
1
1
  "use client";
2
- import'./chunk-GQYBS3A7.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-WKUC65HL.mjs';import'./chunk-IVSNHT24.mjs';import'./chunk-7RBO42IW.mjs';import'./chunk-WTGKZX7J.mjs';import'./chunk-NBQQ2GN3.mjs';import'./chunk-BIJSMSUU.mjs';import'./chunk-7BJXI2HI.mjs';import'./chunk-LWIKDDSU.mjs';import'./chunk-XP5PL6K7.mjs';export{a as useConsent}from'./chunk-IHNAFXDM.mjs';export{a as useFocusTrap}from'./chunk-YTU4FNM2.mjs';import'./chunk-XC3DLYEG.mjs';import'./chunk-PJNKQPQP.mjs';export{a as useDSR}from'./chunk-GUERZD4O.mjs';import'./chunk-VPNK7OID.mjs';export{a as useDPIA}from'./chunk-I3V3ITN7.mjs';import'./chunk-LRRENTT5.mjs';import'./chunk-ITCY2Z66.mjs';import'./chunk-DBZSN4WP.mjs';import'./chunk-ZJYULEER.mjs';
2
+ import'./chunk-GQYBS3A7.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';import'./chunk-7RBO42IW.mjs';import'./chunk-WTGKZX7J.mjs';import'./chunk-NBQQ2GN3.mjs';import'./chunk-BIJSMSUU.mjs';import'./chunk-7BJXI2HI.mjs';import'./chunk-LWIKDDSU.mjs';import'./chunk-XP5PL6K7.mjs';export{a as useConsent}from'./chunk-7Z7NURIA.mjs';export{a as useFocusTrap}from'./chunk-YTU4FNM2.mjs';import'./chunk-XC3DLYEG.mjs';import'./chunk-NI54X543.mjs';export{a as useDSR}from'./chunk-6OPGI27L.mjs';import'./chunk-3APT25XO.mjs';export{a as useDPIA}from'./chunk-I3V3ITN7.mjs';import'./chunk-LRRENTT5.mjs';import'./chunk-ITCY2Z66.mjs';import'./chunk-DBZSN4WP.mjs';import'./chunk-ZJYULEER.mjs';