@tantainnovative/ndpr-toolkit 3.12.0 → 4.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +139 -0
- package/README.md +1 -1
- package/dist/breach.d.mts +3 -2
- package/dist/breach.d.ts +3 -2
- package/dist/breach.js +1 -1
- package/dist/breach.mjs +1 -1
- package/dist/chunk-37VFK5SR.js +6 -0
- package/dist/chunk-3E4IH7CE.js +1 -0
- package/dist/chunk-3H6FYU3Z.mjs +93 -0
- package/dist/chunk-3I6FYA5C.js +103 -0
- package/dist/chunk-3SIYRGJF.js +93 -0
- package/dist/chunk-3XU6FL2I.js +1 -0
- package/dist/chunk-42JPSNVV.mjs +6 -0
- package/dist/chunk-42UJFTII.js +1 -0
- package/dist/chunk-5F2IAUWJ.js +1 -0
- package/dist/chunk-63WM5PHZ.js +1 -0
- package/dist/chunk-6A6VI7ZP.mjs +1 -0
- package/dist/chunk-7FXNGGMO.js +1 -0
- package/dist/chunk-B2EXRSYG.mjs +1 -0
- package/dist/chunk-BGV2AKT7.mjs +1 -0
- package/dist/chunk-BL5W472Q.js +1 -0
- package/dist/chunk-BPMVJOHH.mjs +1 -0
- package/dist/chunk-D2UWB5OI.js +2 -0
- package/dist/chunk-DK7P5JEG.mjs +2 -0
- package/dist/chunk-ELK6VFKC.mjs +2 -0
- package/dist/chunk-F5MGMNQF.js +2 -0
- package/dist/chunk-FRQFU44F.mjs +1 -0
- package/dist/chunk-GUERZD4O.mjs +1 -0
- package/dist/{chunk-WYH3OA5L.mjs → chunk-I2ZBMR7F.mjs} +1 -1
- package/dist/chunk-J7BIJ45O.mjs +103 -0
- package/dist/{chunk-US2VGJ7I.js → chunk-KH3EQJQE.js} +1 -1
- package/dist/{chunk-IPWX5I5P.mjs → chunk-L3FR4PQE.mjs} +1 -1
- package/dist/chunk-N72RNTGP.mjs +6 -0
- package/dist/chunk-NB6SKG76.mjs +1 -0
- package/dist/chunk-RBKFNCGO.mjs +1 -0
- package/dist/chunk-TTMGFC6C.js +1 -0
- package/dist/{chunk-TWJHEIQH.js → chunk-UZNWXJ2W.js} +1 -1
- package/dist/chunk-V5TZJJWU.mjs +1 -0
- package/dist/chunk-WCTFED27.js +1 -0
- package/dist/chunk-WMISQDSV.js +1 -0
- package/dist/{chunk-MTSZ7GL6.mjs → chunk-WVHMY2BV.mjs} +1 -1
- package/dist/chunk-XYGGUGTO.js +6 -0
- package/dist/chunk-YDKWD6MQ.js +1 -0
- package/dist/chunk-Z2M5VJX2.mjs +1 -0
- package/dist/{chunk-D3DVVJCT.js → chunk-ZD2W3YU2.js} +1 -1
- package/dist/chunk-ZQHGIOYP.mjs +1 -0
- package/dist/consent.js +1 -1
- package/dist/consent.mjs +1 -1
- package/dist/core.d.mts +62 -0
- package/dist/core.d.ts +62 -0
- package/dist/core.js +1 -1
- package/dist/core.mjs +1 -1
- package/dist/cross-border-lite.js +1 -1
- package/dist/cross-border-lite.mjs +1 -1
- package/dist/cross-border.js +1 -1
- package/dist/cross-border.mjs +1 -1
- package/dist/dpia.js +1 -1
- package/dist/dpia.mjs +1 -1
- package/dist/dsr.d.mts +12 -3
- package/dist/dsr.d.ts +12 -3
- package/dist/dsr.js +1 -1
- package/dist/dsr.mjs +1 -1
- package/dist/headless.d.mts +12 -3
- package/dist/headless.d.ts +12 -3
- package/dist/headless.js +1 -1
- package/dist/headless.mjs +1 -1
- package/dist/hooks.d.mts +12 -3
- package/dist/hooks.d.ts +12 -3
- package/dist/hooks.js +1 -1
- package/dist/hooks.mjs +1 -1
- package/dist/index.d.mts +77 -5
- package/dist/index.d.ts +77 -5
- package/dist/index.js +1 -1
- package/dist/index.mjs +1 -1
- package/dist/lawful-basis-lite.js +1 -1
- package/dist/lawful-basis-lite.mjs +1 -1
- package/dist/lawful-basis.js +1 -1
- package/dist/lawful-basis.mjs +1 -1
- package/dist/policy.js +1 -1
- package/dist/policy.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-dsr.js +1 -1
- package/dist/presets-dsr.mjs +1 -1
- package/dist/presets-policy.d.mts +23 -0
- package/dist/presets-policy.d.ts +23 -0
- package/dist/presets-policy.js +1 -1
- package/dist/presets-policy.mjs +1 -1
- package/dist/presets.d.mts +221 -4
- package/dist/presets.d.ts +221 -4
- package/dist/presets.js +1 -1
- package/dist/presets.mjs +1 -1
- package/dist/ropa-lite.js +1 -1
- package/dist/ropa-lite.mjs +1 -1
- package/dist/ropa.js +1 -1
- package/dist/ropa.mjs +1 -1
- package/dist/server.d.mts +62 -0
- package/dist/server.d.ts +62 -0
- package/dist/server.js +1 -1
- package/dist/server.mjs +1 -1
- package/dist/unstyled.js +1 -1
- package/dist/unstyled.mjs +1 -1
- package/package.json +3 -3
- package/dist/chunk-25TNTLHJ.mjs +0 -1
- package/dist/chunk-4GIMXUMI.js +0 -6
- package/dist/chunk-5AECGMEB.js +0 -1
- package/dist/chunk-5EKQX6GM.mjs +0 -1
- package/dist/chunk-67KA345Q.mjs +0 -1
- package/dist/chunk-6GM2PBTF.js +0 -2
- package/dist/chunk-6OWCUDTN.mjs +0 -1
- package/dist/chunk-73BMSK67.js +0 -1
- package/dist/chunk-CAFCRCTZ.mjs +0 -1
- package/dist/chunk-EKNWO4DK.js +0 -1
- package/dist/chunk-FMJ6ICLJ.js +0 -1
- package/dist/chunk-G7JKRYM5.mjs +0 -1
- package/dist/chunk-GEP52QFH.mjs +0 -1
- package/dist/chunk-IB3KSUPZ.mjs +0 -1
- package/dist/chunk-JWAN5J4Y.js +0 -1
- package/dist/chunk-JYZOKO2W.mjs +0 -103
- package/dist/chunk-NDKDKDDX.js +0 -1
- package/dist/chunk-NX5MOBRI.js +0 -1
- package/dist/chunk-OLEUIYE2.mjs +0 -1
- package/dist/chunk-Q4CSVWSS.mjs +0 -1
- package/dist/chunk-QMAVEHOR.js +0 -1
- package/dist/chunk-RBMLGRDN.mjs +0 -1
- package/dist/chunk-ROC64RLP.js +0 -1
- package/dist/chunk-RR3KXNET.mjs +0 -6
- package/dist/chunk-TDHH7GS2.mjs +0 -2
- package/dist/chunk-TN4TH3CT.mjs +0 -2
- package/dist/chunk-VUFTRKKC.js +0 -2
- package/dist/chunk-WKTKTLMF.js +0 -1
- package/dist/chunk-WXUXCRAJ.js +0 -1
- package/dist/chunk-XN2UYZXH.mjs +0 -93
- package/dist/chunk-YK22SYCT.js +0 -103
- package/dist/chunk-YSD2DFBR.js +0 -6
- package/dist/chunk-YWCBI7SI.js +0 -93
- package/dist/chunk-ZHX62QAL.mjs +0 -6
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import {d,c}from'./chunk-LWIKDDSU.mjs';export{c as assessComplianceGaps,d as generateLawfulBasisSummary}from'./chunk-LWIKDDSU.mjs';import {a}from'./chunk-SFGW37LE.mjs';import'./chunk-ZJYULEER.mjs';import {useMemo}from'react';import {jsxs,jsx}from'react/jsx-runtime';var
|
|
2
|
+
import {d,c as c$1}from'./chunk-LWIKDDSU.mjs';export{c as assessComplianceGaps,d as generateLawfulBasisSummary}from'./chunk-LWIKDDSU.mjs';import {a}from'./chunk-SFGW37LE.mjs';import {c}from'./chunk-FRQFU44F.mjs';import'./chunk-V5TZJJWU.mjs';import'./chunk-ZJYULEER.mjs';import {useMemo}from'react';import {jsxs,jsx}from'react/jsx-runtime';var I={consent:"Consent",contract:"Contract",legal_obligation:"Legal Obligation",vital_interests:"Vital Interests",public_interest:"Public Interest",legitimate_interests:"Legitimate Interests"},$={consent:"ndpr-badge ndpr-badge--info",contract:"ndpr-badge ndpr-badge--info",legal_obligation:"ndpr-badge ndpr-badge--info",vital_interests:"ndpr-badge ndpr-badge--destructive",public_interest:"ndpr-badge ndpr-badge--warning",legitimate_interests:"bg-indigo-100 text-indigo-800 dark:bg-indigo-900 dark:text-indigo-200"},H={active:"Active",inactive:"Inactive",under_review:"Under Review",archived:"Archived"},U={active:"ndpr-badge ndpr-badge--success",inactive:"ndpr-badge ndpr-badge--neutral",under_review:"ndpr-badge ndpr-badge--warning",archived:"ndpr-badge ndpr-badge--destructive"},K=p=>new Date(p).toLocaleDateString(),M=({activities:p,title:g,description:c$2,className:B="",classNames:e,unstyled:i,showSummary:A=true,showComplianceGaps:S=true,onActivityClick:u})=>{var h,L;let w=c(),k=(h=g!=null?g:w.lawfulBasis.title)!=null?h:"Lawful Basis Tracker",C=(L=c$2!=null?c$2:w.lawfulBasis.description)!=null?L:"Document and track the lawful basis for each processing activity as required by NDPA 2023 Section 25.",_=useMemo(()=>[...p].sort((r,d)=>d.updatedAt-r.updatedAt),[p]),l=useMemo(()=>d(p),[p]),o=useMemo(()=>c$1(p),[p]),m=useMemo(()=>o.filter(r=>r.severity==="high"),[o]),b=useMemo(()=>o.filter(r=>r.severity==="medium"),[o]),P=r=>jsx("span",{className:a(`px-2 py-1 rounded text-xs font-medium ${U[r]}`,e==null?void 0:e.statusBadge,i),children:H[r]}),T=r=>jsx("span",{className:`px-2 py-1 rounded text-xs font-medium ${$[r]}`,children:I[r]}),D=r=>r.dpoApproval?r.dpoApproval.approved?jsx("span",{className:"ndpr-badge ndpr-badge--success",children:"Approved"}):jsx("span",{className:"ndpr-badge ndpr-badge--warning",children:"Pending Approval"}):jsx("span",{className:"px-2 py-1 rounded text-xs font-medium bg-gray-100 text-gray-600 dark:bg-gray-700 dark:text-gray-400",children:"No DPO Review"}),R=()=>jsxs("div",{"data-ndpr-component":"lawful-basis-tracker-lite",className:a("grid grid-cols-2 md:grid-cols-4 gap-4 mb-6",e==null?void 0:e.summary,i),role:"status","aria-label":"Compliance summary",children:[jsxs("div",{className:a("ndpr-alert ndpr-alert--info",e==null?void 0:e.summaryCard,i),children:[jsx("p",{className:"ndpr-stat__value ndpr-text-info",children:l.totalActivities}),jsx("p",{className:"text-sm ndpr-text-info",children:"Total Activities"})]}),jsxs("div",{className:a("bg-orange-50 dark:bg-orange-900/20 p-4 rounded-lg",e==null?void 0:e.summaryCard,i),children:[jsx("p",{className:"ndpr-stat__value ndpr-text-warning",children:l.sensitiveDataActivities}),jsx("p",{className:"text-sm ndpr-text-warning",children:"Sensitive Data"})]}),jsxs("div",{className:a("ndpr-alert ndpr-alert--info",e==null?void 0:e.summaryCard,i),children:[jsx("p",{className:"ndpr-stat__value ndpr-text-info",children:l.crossBorderActivities}),jsx("p",{className:"text-sm ndpr-text-info",children:"Cross-Border Transfers"})]}),jsxs("div",{className:a("ndpr-alert ndpr-alert--destructive",e==null?void 0:e.summaryCard,i),children:[jsx("p",{className:"ndpr-stat__value ndpr-text-destructive",children:l.activitiesWithoutApproval.length}),jsx("p",{className:"text-sm ndpr-text-destructive",children:"Pending Approval"})]})]}),G=()=>o.length===0?jsxs("div",{className:"bg-green-50 dark:bg-green-900/20 p-4 rounded-lg mb-6",role:"status","aria-label":"No compliance gaps",children:[jsx("p",{className:"text-sm ndpr-text-success font-medium",children:"No compliance gaps detected."}),jsx("p",{className:"text-xs ndpr-text-success mt-1",children:"All processing activities appear to be properly documented."})]}):jsxs("div",{className:"mb-6",role:"status","aria-label":`${o.length} compliance gaps detected`,children:[m.length>0&&jsxs("div",{className:a("bg-red-50 dark:bg-red-900/20 p-4 rounded-lg mb-3",e==null?void 0:e.gapAlert,i),children:[jsxs("p",{className:"text-sm ndpr-text-destructive font-medium mb-2",children:["High Priority (",m.length,")"]}),jsx("ul",{className:"space-y-1",children:m.map((r,d)=>jsx("li",{className:"text-xs ndpr-text-destructive",children:r.description},d))})]}),b.length>0&&jsxs("div",{className:a("ndpr-alert ndpr-alert--warning",e==null?void 0:e.gapAlert,i),children:[jsxs("p",{className:"text-sm ndpr-text-warning font-medium mb-2",children:["Medium Priority (",b.length,")"]}),jsx("ul",{className:"space-y-1",children:b.map((r,d)=>jsx("li",{className:"text-xs ndpr-text-warning",children:r.description},d))})]})]});return jsxs("div",{className:a(`bg-white dark:bg-gray-800 p-6 rounded-lg shadow-md ${B}`,e==null?void 0:e.root,i),children:[jsxs("div",{className:a("",e==null?void 0:e.header,i),children:[jsx("h2",{className:a("ndpr-section-heading",e==null?void 0:e.title,i),children:k}),jsx("p",{className:"ndpr-card__subtitle",children:C})]}),A&&R(),S&&G(),_.length===0?jsx("div",{className:"flex items-center justify-center h-32 bg-gray-50 dark:bg-gray-700 rounded-md",children:jsx("p",{className:"ndpr-card__subtitle",children:"No processing activities found."})}):jsx("div",{className:"overflow-x-auto",children:jsxs("table",{className:a("w-full text-sm text-left",e==null?void 0:e.table,i),children:[jsx("thead",{className:a("ndpr-table__head",e==null?void 0:e.tableHeader,i),children:jsxs("tr",{children:[jsx("th",{className:"ndpr-table__cell",children:"Activity"}),jsx("th",{className:"ndpr-table__cell",children:"Lawful Basis"}),jsx("th",{className:"ndpr-table__cell",children:"Status"}),jsx("th",{className:"ndpr-table__cell",children:"DPO Approval"}),jsx("th",{className:"ndpr-table__cell",children:"Sensitive Data"}),jsx("th",{className:"ndpr-table__cell",children:"Last Updated"})]})}),jsx("tbody",{children:_.map(r=>{let d=typeof u=="function",E=d?f=>{(f.key==="Enter"||f.key===" ")&&(f.preventDefault(),u(r));}:void 0;return jsxs("tr",{className:a(`border-b border-gray-200 dark:border-gray-600${d?" hover:bg-gray-50 dark:hover:bg-gray-700 cursor-pointer":""}`,e==null?void 0:e.tableRow,i),onClick:d?()=>u(r):void 0,onKeyDown:E,role:d?"button":void 0,tabIndex:d?0:void 0,"aria-label":d?`View ${r.name}`:void 0,children:[jsxs("td",{className:"ndpr-table__cell",children:[jsx("span",{className:"font-medium ndpr-text-primary",children:r.name}),jsx("p",{className:"text-xs ndpr-text-muted mt-1 truncate max-w-xs",children:r.description})]}),jsx("td",{className:"ndpr-table__cell",children:T(r.lawfulBasis)}),jsx("td",{className:"ndpr-table__cell",children:P(r.status)}),jsx("td",{className:"ndpr-table__cell",children:D(r)}),jsx("td",{className:"ndpr-table__cell",children:jsx("span",{className:`text-xs ${r.involvesSensitiveData?"ndpr-text-warning font-medium":"ndpr-card__subtitle"}`,children:r.involvesSensitiveData?"Yes":"No"})}),jsx("td",{className:"ndpr-table__cell ndpr-table__cell--muted",children:K(r.updatedAt)})]},r.id)})})]})})]})};export{M as LawfulBasisTrackerLite};
|
package/dist/lawful-basis.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
'use strict';var
|
|
2
|
+
'use strict';var chunk7FXNGGMO_js=require('./chunk-7FXNGGMO.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:chunk7FXNGGMO_js.a};Object.defineProperty(exports,"LawfulBasisTracker",{enumerable:true,get:function(){return chunk7FXNGGMO_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-RBKFNCGO.mjs';export{a as LawfulBasisTracker}from'./chunk-RBKFNCGO.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};
|
package/dist/policy.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
'use strict';var
|
|
2
|
+
'use strict';var chunkF5MGMNQF_js=require('./chunk-F5MGMNQF.js'),chunk3SIYRGJF_js=require('./chunk-3SIYRGJF.js'),chunkNUOHT3LO_js=require('./chunk-NUOHT3LO.js'),chunkRC3XFXTJ_js=require('./chunk-RC3XFXTJ.js'),chunkQHW4UKGJ_js=require('./chunk-QHW4UKGJ.js'),chunkJS7SYL5P_js=require('./chunk-JS7SYL5P.js'),chunkD2ZKDQVL_js=require('./chunk-D2ZKDQVL.js'),chunk6LJHLE6G_js=require('./chunk-6LJHLE6G.js');require('./chunk-ZVOIR4QH.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 u=react.createContext(null);function X(){let e=react.useContext(u);if(!e)throw new Error("Policy compound components must be wrapped in <Policy.Provider>. Example: <Policy.Provider templates={...}><Policy.Generator /></Policy.Provider>");return e}var x=({templates:e,adapter:l,storageKey:t,useLocalStorage:i,initialPolicy:p,onGenerate:n,children:o})=>{let y=chunkRC3XFXTJ_js.a({templates:e,adapter:l,storageKey:t,useLocalStorage:i,initialPolicy:p,onGenerate:n}),r=chunkRFPLZDIO_js.b(chunkRFPLZDIO_js.a({},y),{templates:e});return jsxRuntime.jsx(u.Provider,{value:r,children:o})};var J={Provider:x,Generator:chunk3SIYRGJF_js.a,Preview:chunk3SIYRGJF_js.b,Exporter:chunk3SIYRGJF_js.c};var $=({policy:e,className:l,mode:t="shadow",options:i})=>{let p=react.useRef(null);if(react.useEffect(()=>{var g;if(t!=="shadow")return;let o=p.current;if(!o)return;let y=chunkJS7SYL5P_js.a(e,chunkRFPLZDIO_js.a({includeStyles:true,includePrintCSS:true},i)),r=(g=o.shadowRoot)!=null?g:o.attachShadow({mode:"open"});r.innerHTML=y;let v=C=>{var R;let T=C.target;if(!T)return;let h=T.closest("a[href]");if(!h)return;let P=(R=h.getAttribute("href"))!=null?R:"";if(!P.startsWith("#")||P.length<2)return;let S=decodeURIComponent(P.slice(1)),E=r.getElementById(S);E&&(C.preventDefault(),E.scrollIntoView({behavior:"smooth",block:"start"}));};return r.addEventListener("click",v),()=>{r.removeEventListener("click",v),o.shadowRoot&&(o.shadowRoot.innerHTML="");}},[e,i,t]),t==="shadow")return jsxRuntime.jsx("div",{ref:p,"data-ndpr-component":"policy-page",className:l});let n=chunkJS7SYL5P_js.a(e,chunkRFPLZDIO_js.a({includeStyles:false},i));return jsxRuntime.jsx("div",{"data-ndpr-component":"policy-page",className:l,dangerouslySetInnerHTML:{__html:n}})};Object.defineProperty(exports,"AdaptivePolicyWizard",{enumerable:true,get:function(){return chunkF5MGMNQF_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,"ORG_POLICY_TEMPLATE_REGISTRY",{enumerable:true,get:function(){return chunkNUOHT3LO_js.a}});Object.defineProperty(exports,"createOrgTemplate",{enumerable:true,get:function(){return chunkNUOHT3LO_js.b}});Object.defineProperty(exports,"templateContextFor",{enumerable:true,get:function(){return chunkNUOHT3LO_js.b}});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,"exportDOCX",{enumerable:true,get:function(){return chunkJS7SYL5P_js.d}});Object.defineProperty(exports,"exportHTML",{enumerable:true,get:function(){return chunkJS7SYL5P_js.a}});Object.defineProperty(exports,"exportMarkdown",{enumerable:true,get:function(){return chunkJS7SYL5P_js.b}});Object.defineProperty(exports,"exportPDF",{enumerable:true,get:function(){return chunkJS7SYL5P_js.c}});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,"findUnfilledTokens",{enumerable:true,get:function(){return chunkD2ZKDQVL_js.a}});Object.defineProperty(exports,"generatePolicyText",{enumerable:true,get:function(){return chunkD2ZKDQVL_js.b}});Object.defineProperty(exports,"DEFAULT_DATA_CATEGORIES",{enumerable:true,get:function(){return chunk6LJHLE6G_js.d}});Object.defineProperty(exports,"assemblePolicy",{enumerable:true,get:function(){return chunk6LJHLE6G_js.c}});Object.defineProperty(exports,"createDefaultContext",{enumerable:true,get:function(){return chunk6LJHLE6G_js.e}});Object.defineProperty(exports,"evaluatePolicyCompliance",{enumerable:true,get:function(){return chunk6LJHLE6G_js.f}});exports.Policy=J;exports.PolicyPage=$;exports.PolicyProvider=x;exports.usePolicyCompound=X;
|
package/dist/policy.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
export{a as AdaptivePolicyWizard}from'./chunk-
|
|
2
|
+
export{a as AdaptivePolicyWizard}from'./chunk-ELK6VFKC.mjs';import {c,b,a}from'./chunk-3H6FYU3Z.mjs';export{c as PolicyExporter,a as PolicyGenerator,b as PolicyPreview}from'./chunk-3H6FYU3Z.mjs';export{a as ORG_POLICY_TEMPLATE_REGISTRY,b as createOrgTemplate,b as templateContextFor}from'./chunk-CWY2FMIC.mjs';import {a as a$1}from'./chunk-UVXS7KRV.mjs';export{b as useDefaultPrivacyPolicy,a as usePrivacyPolicy}from'./chunk-UVXS7KRV.mjs';export{a as useAdaptivePolicyWizard}from'./chunk-KE2FZH2V.mjs';import {a as a$3}from'./chunk-IVSNHT24.mjs';export{d as exportDOCX,a as exportHTML,b as exportMarkdown,c as exportPDF}from'./chunk-IVSNHT24.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{d as DEFAULT_DATA_CATEGORIES,c as assemblePolicy,e as createDefaultContext,f as evaluatePolicyCompliance}from'./chunk-BIJSMSUU.mjs';import'./chunk-ITCY2Z66.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$2}from'./chunk-ZJYULEER.mjs';import {createContext,useContext,useRef,useEffect}from'react';import {jsx}from'react/jsx-runtime';var u=createContext(null);function X(){let e=useContext(u);if(!e)throw new Error("Policy compound components must be wrapped in <Policy.Provider>. Example: <Policy.Provider templates={...}><Policy.Generator /></Policy.Provider>");return e}var x=({templates:e,adapter:l,storageKey:t,useLocalStorage:i,initialPolicy:p,onGenerate:n,children:o})=>{let y=a$1({templates:e,adapter:l,storageKey:t,useLocalStorage:i,initialPolicy:p,onGenerate:n}),r=b$1(a$2({},y),{templates:e});return jsx(u.Provider,{value:r,children:o})};var J={Provider:x,Generator:a,Preview:b,Exporter:c};var $=({policy:e,className:l,mode:t="shadow",options:i})=>{let p=useRef(null);if(useEffect(()=>{var g;if(t!=="shadow")return;let o=p.current;if(!o)return;let y=a$3(e,a$2({includeStyles:true,includePrintCSS:true},i)),r=(g=o.shadowRoot)!=null?g:o.attachShadow({mode:"open"});r.innerHTML=y;let v=C=>{var R;let T=C.target;if(!T)return;let h=T.closest("a[href]");if(!h)return;let P=(R=h.getAttribute("href"))!=null?R:"";if(!P.startsWith("#")||P.length<2)return;let S=decodeURIComponent(P.slice(1)),E=r.getElementById(S);E&&(C.preventDefault(),E.scrollIntoView({behavior:"smooth",block:"start"}));};return r.addEventListener("click",v),()=>{r.removeEventListener("click",v),o.shadowRoot&&(o.shadowRoot.innerHTML="");}},[e,i,t]),t==="shadow")return jsx("div",{ref:p,"data-ndpr-component":"policy-page",className:l});let n=a$3(e,a$2({includeStyles:false},i));return jsx("div",{"data-ndpr-component":"policy-page",className:l,dangerouslySetInnerHTML:{__html:n}})};export{J as Policy,$ as PolicyPage,x as PolicyProvider,X as usePolicyCompound};
|
|
@@ -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';
|
package/dist/presets-dsr.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
'use strict';var
|
|
2
|
+
'use strict';var chunkKH3EQJQE_js=require('./chunk-KH3EQJQE.js');require('./chunk-UZNWXJ2W.js'),require('./chunk-UXUMYP4L.js'),require('./chunk-AME4HJR4.js'),require('./chunk-YDKWD6MQ.js'),require('./chunk-TTMGFC6C.js'),require('./chunk-RFPLZDIO.js');Object.defineProperty(exports,"NDPRSubjectRights",{enumerable:true,get:function(){return chunkKH3EQJQE_js.a}});
|
package/dist/presets-dsr.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
export{a as NDPRSubjectRights}from'./chunk-
|
|
2
|
+
export{a as NDPRSubjectRights}from'./chunk-WVHMY2BV.mjs';import'./chunk-L3FR4PQE.mjs';import'./chunk-EWVK45Z3.mjs';import'./chunk-SFGW37LE.mjs';import'./chunk-FRQFU44F.mjs';import'./chunk-V5TZJJWU.mjs';import'./chunk-ZJYULEER.mjs';
|
|
@@ -34,11 +34,34 @@ declare type Industry = 'fintech' | 'healthcare' | 'ecommerce' | 'saas' | 'educa
|
|
|
34
34
|
|
|
35
35
|
export declare const NDPRPrivacyPolicy: React__default.FC<NDPRPrivacyPolicyProps>;
|
|
36
36
|
|
|
37
|
+
/**
|
|
38
|
+
* UX copy overrides for the NDPRPrivacyPolicy preset. Strings you omit
|
|
39
|
+
* fall back to the underlying `<AdaptivePolicyWizard>` defaults.
|
|
40
|
+
*
|
|
41
|
+
* Note: the wizard renders many step-specific labels; the fields here
|
|
42
|
+
* cover the high-level header text. Step-specific copy is wired through
|
|
43
|
+
* the `NDPRProvider` locale.
|
|
44
|
+
*/
|
|
45
|
+
declare interface NDPRPrivacyPolicyCopy {
|
|
46
|
+
/** Wizard heading. Default: "Privacy Policy Builder" */
|
|
47
|
+
title?: string;
|
|
48
|
+
/** Optional body paragraph under the heading. */
|
|
49
|
+
description?: string;
|
|
50
|
+
/** Submit / complete button label. */
|
|
51
|
+
submitButton?: string;
|
|
52
|
+
}
|
|
53
|
+
|
|
37
54
|
export declare interface NDPRPrivacyPolicyProps {
|
|
38
55
|
adapter?: StorageAdapter<PolicyDraft>;
|
|
39
56
|
onComplete?: (policy: PrivacyPolicy) => void;
|
|
40
57
|
classNames?: Record<string, string>;
|
|
41
58
|
unstyled?: boolean;
|
|
59
|
+
/**
|
|
60
|
+
* UX copy overrides — see {@link NDPRPrivacyPolicyCopy}. The wizard
|
|
61
|
+
* derives most of its labels from the active `NDPRProvider` locale; the
|
|
62
|
+
* fields here cover the high-level header text.
|
|
63
|
+
*/
|
|
64
|
+
copy?: NDPRPrivacyPolicyCopy;
|
|
42
65
|
/**
|
|
43
66
|
* Pre-fill the policy wizard with a sector-specific starter template.
|
|
44
67
|
*
|
package/dist/presets-policy.d.ts
CHANGED
|
@@ -34,11 +34,34 @@ declare type Industry = 'fintech' | 'healthcare' | 'ecommerce' | 'saas' | 'educa
|
|
|
34
34
|
|
|
35
35
|
export declare const NDPRPrivacyPolicy: React__default.FC<NDPRPrivacyPolicyProps>;
|
|
36
36
|
|
|
37
|
+
/**
|
|
38
|
+
* UX copy overrides for the NDPRPrivacyPolicy preset. Strings you omit
|
|
39
|
+
* fall back to the underlying `<AdaptivePolicyWizard>` defaults.
|
|
40
|
+
*
|
|
41
|
+
* Note: the wizard renders many step-specific labels; the fields here
|
|
42
|
+
* cover the high-level header text. Step-specific copy is wired through
|
|
43
|
+
* the `NDPRProvider` locale.
|
|
44
|
+
*/
|
|
45
|
+
declare interface NDPRPrivacyPolicyCopy {
|
|
46
|
+
/** Wizard heading. Default: "Privacy Policy Builder" */
|
|
47
|
+
title?: string;
|
|
48
|
+
/** Optional body paragraph under the heading. */
|
|
49
|
+
description?: string;
|
|
50
|
+
/** Submit / complete button label. */
|
|
51
|
+
submitButton?: string;
|
|
52
|
+
}
|
|
53
|
+
|
|
37
54
|
export declare interface NDPRPrivacyPolicyProps {
|
|
38
55
|
adapter?: StorageAdapter<PolicyDraft>;
|
|
39
56
|
onComplete?: (policy: PrivacyPolicy) => void;
|
|
40
57
|
classNames?: Record<string, string>;
|
|
41
58
|
unstyled?: boolean;
|
|
59
|
+
/**
|
|
60
|
+
* UX copy overrides — see {@link NDPRPrivacyPolicyCopy}. The wizard
|
|
61
|
+
* derives most of its labels from the active `NDPRProvider` locale; the
|
|
62
|
+
* fields here cover the high-level header text.
|
|
63
|
+
*/
|
|
64
|
+
copy?: NDPRPrivacyPolicyCopy;
|
|
42
65
|
/**
|
|
43
66
|
* Pre-fill the policy wizard with a sector-specific starter template.
|
|
44
67
|
*
|
package/dist/presets-policy.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
'use strict';var
|
|
2
|
+
'use strict';var chunk3E4IH7CE_js=require('./chunk-3E4IH7CE.js');require('./chunk-F5MGMNQF.js'),require('./chunk-NUOHT3LO.js'),require('./chunk-QHW4UKGJ.js'),require('./chunk-JS7SYL5P.js'),require('./chunk-6LJHLE6G.js'),require('./chunk-ZVOIR4QH.js'),require('./chunk-AME4HJR4.js'),require('./chunk-YDKWD6MQ.js'),require('./chunk-TTMGFC6C.js'),require('./chunk-VWED6UTN.js'),require('./chunk-RFPLZDIO.js');Object.defineProperty(exports,"NDPRPrivacyPolicy",{enumerable:true,get:function(){return chunk3E4IH7CE_js.a}});
|
package/dist/presets-policy.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
export{a as NDPRPrivacyPolicy}from'./chunk-
|
|
2
|
+
export{a as NDPRPrivacyPolicy}from'./chunk-B2EXRSYG.mjs';import'./chunk-ELK6VFKC.mjs';import'./chunk-CWY2FMIC.mjs';import'./chunk-KE2FZH2V.mjs';import'./chunk-IVSNHT24.mjs';import'./chunk-BIJSMSUU.mjs';import'./chunk-ITCY2Z66.mjs';import'./chunk-SFGW37LE.mjs';import'./chunk-FRQFU44F.mjs';import'./chunk-V5TZJJWU.mjs';import'./chunk-DBZSN4WP.mjs';import'./chunk-ZJYULEER.mjs';
|
package/dist/presets.d.mts
CHANGED
|
@@ -543,12 +543,78 @@ declare type LawfulBasisType = 'consent' | 'contract' | 'legal_obligation' | 'vi
|
|
|
543
543
|
|
|
544
544
|
export declare const NDPRBreachReport: React__default.FC<NDPRBreachReportProps>;
|
|
545
545
|
|
|
546
|
+
/**
|
|
547
|
+
* UX copy overrides for the NDPRBreachReport preset. Pass any subset to
|
|
548
|
+
* replace the default text without dropping to the lower-level
|
|
549
|
+
* `<BreachReportForm>` API.
|
|
550
|
+
*/
|
|
551
|
+
export declare interface NDPRBreachReportCopy {
|
|
552
|
+
/** Form heading. Default: "Report a Data Breach" */
|
|
553
|
+
title?: string;
|
|
554
|
+
/** Body paragraph under the heading. */
|
|
555
|
+
description?: string;
|
|
556
|
+
/** Submit button label. Default: "Submit Report" */
|
|
557
|
+
submitButton?: string;
|
|
558
|
+
}
|
|
559
|
+
|
|
546
560
|
export declare interface NDPRBreachReportProps {
|
|
547
561
|
categories?: BreachCategory[];
|
|
548
562
|
adapter?: StorageAdapter<BreachFormSubmission>;
|
|
549
563
|
classNames?: BreachReportFormClassNames;
|
|
550
564
|
unstyled?: boolean;
|
|
551
565
|
onSubmit?: (data: BreachFormSubmission) => void;
|
|
566
|
+
/**
|
|
567
|
+
* UX copy overrides — see {@link NDPRBreachReportCopy}.
|
|
568
|
+
*/
|
|
569
|
+
copy?: NDPRBreachReportCopy;
|
|
570
|
+
/**
|
|
571
|
+
* Body paragraph under the heading.
|
|
572
|
+
*/
|
|
573
|
+
description?: string;
|
|
574
|
+
/**
|
|
575
|
+
* Public-form mode. Use when the form should submit to your existing
|
|
576
|
+
* backend workflow instead of being state-managed by an adapter.
|
|
577
|
+
*
|
|
578
|
+
* When `submitTo` is set:
|
|
579
|
+
* - the form does NOT require an `adapter`
|
|
580
|
+
* - on submit, the toolkit POSTs the JSON-serialised `BreachFormSubmission`
|
|
581
|
+
* to this URL (with `Content-Type: application/json`)
|
|
582
|
+
* - your `onSubmit` callback still fires (after the POST resolves)
|
|
583
|
+
* - submit failures are surfaced via `onSubmitError`
|
|
584
|
+
*
|
|
585
|
+
* @example
|
|
586
|
+
* <NDPRBreachReport submitTo="/api/breach" />
|
|
587
|
+
*/
|
|
588
|
+
submitTo?: string;
|
|
589
|
+
/**
|
|
590
|
+
* Fetch options for the `submitTo` POST. Useful for adding `credentials`
|
|
591
|
+
* (cookies/auth), `X-CSRF-Token`, or any other header your backend
|
|
592
|
+
* requires. Ignored unless `submitTo` is set.
|
|
593
|
+
*
|
|
594
|
+
* @default { credentials: 'same-origin' }
|
|
595
|
+
*/
|
|
596
|
+
submitOptions?: {
|
|
597
|
+
headers?: Record<string, string> | (() => Record<string, string>);
|
|
598
|
+
credentials?: RequestCredentials;
|
|
599
|
+
};
|
|
600
|
+
/**
|
|
601
|
+
* Called when a `submitTo` POST fails (network error or non-2xx
|
|
602
|
+
* response). Receives the underlying error or Response.
|
|
603
|
+
*/
|
|
604
|
+
onSubmitError?: (ctx: {
|
|
605
|
+
error?: unknown;
|
|
606
|
+
response?: Response;
|
|
607
|
+
}) => void;
|
|
608
|
+
/**
|
|
609
|
+
* Called when a `submitTo` POST succeeds (2xx response). Receives the
|
|
610
|
+
* `Response` object, the submitted `BreachFormSubmission` payload, and the
|
|
611
|
+
* parsed JSON body if the server returned valid JSON.
|
|
612
|
+
*/
|
|
613
|
+
onSubmitSuccess?: (ctx: {
|
|
614
|
+
response: Response;
|
|
615
|
+
data: BreachFormSubmission;
|
|
616
|
+
body?: unknown;
|
|
617
|
+
}) => void;
|
|
552
618
|
}
|
|
553
619
|
|
|
554
620
|
/**
|
|
@@ -575,7 +641,7 @@ export declare const NDPRConsent: React__default.FC<NDPRConsentProps>;
|
|
|
575
641
|
* rejectAll: 'Only essentials',
|
|
576
642
|
* }} />
|
|
577
643
|
*/
|
|
578
|
-
declare interface NDPRConsentCopy {
|
|
644
|
+
export declare interface NDPRConsentCopy {
|
|
579
645
|
/** Banner heading. Default: "We Value Your Privacy" */
|
|
580
646
|
title?: string;
|
|
581
647
|
/** Body paragraph under the heading. Default cites NDPA Section 26. */
|
|
@@ -591,7 +657,11 @@ declare interface NDPRConsentCopy {
|
|
|
591
657
|
}
|
|
592
658
|
|
|
593
659
|
export declare interface NDPRConsentProps {
|
|
594
|
-
|
|
660
|
+
/**
|
|
661
|
+
* Consent categories to present. When omitted, the toolkit's
|
|
662
|
+
* default options are used. (4.0: legacy `extraOptions` was removed —
|
|
663
|
+
* pass the full options array here instead.)
|
|
664
|
+
*/
|
|
595
665
|
options?: ConsentOption[];
|
|
596
666
|
adapter?: StorageAdapter<ConsentSettings>;
|
|
597
667
|
position?: 'top' | 'bottom' | 'center' | 'inline';
|
|
@@ -607,11 +677,31 @@ export declare interface NDPRConsentProps {
|
|
|
607
677
|
|
|
608
678
|
export declare const NDPRCrossBorder: React__default.FC<NDPRCrossBorderProps>;
|
|
609
679
|
|
|
680
|
+
/**
|
|
681
|
+
* UX copy overrides for the NDPRCrossBorder preset. Pass any subset to
|
|
682
|
+
* replace the default text without dropping to the lower-level
|
|
683
|
+
* `<CrossBorderTransferManager>` API.
|
|
684
|
+
*/
|
|
685
|
+
export declare interface NDPRCrossBorderCopy {
|
|
686
|
+
/** Manager heading. Default: "Cross-Border Data Transfer Manager" */
|
|
687
|
+
title?: string;
|
|
688
|
+
/** Body paragraph under the heading. */
|
|
689
|
+
description?: string;
|
|
690
|
+
}
|
|
691
|
+
|
|
610
692
|
export declare interface NDPRCrossBorderProps {
|
|
611
|
-
|
|
693
|
+
/**
|
|
694
|
+
* Initial transfers to seed the manager. (4.0: the legacy
|
|
695
|
+
* `initialTransfers` alias was removed.)
|
|
696
|
+
*/
|
|
697
|
+
initialData?: CrossBorderTransfer[];
|
|
612
698
|
adapter?: StorageAdapter<CrossBorderTransfer[]>;
|
|
613
699
|
classNames?: CrossBorderTransferManagerClassNames;
|
|
614
700
|
unstyled?: boolean;
|
|
701
|
+
/**
|
|
702
|
+
* UX copy overrides — see {@link NDPRCrossBorderCopy}.
|
|
703
|
+
*/
|
|
704
|
+
copy?: NDPRCrossBorderCopy;
|
|
615
705
|
}
|
|
616
706
|
|
|
617
707
|
declare interface NDPRDashboardClassNames {
|
|
@@ -650,30 +740,141 @@ export declare interface NDPRDashboardPresetProps {
|
|
|
650
740
|
|
|
651
741
|
export declare const NDPRDPIA: React__default.FC<NDPRDPIAProps>;
|
|
652
742
|
|
|
743
|
+
/**
|
|
744
|
+
* UX copy overrides for the NDPRDPIA preset. Strings you omit fall back
|
|
745
|
+
* to the lower-level `<DPIAQuestionnaire>` defaults. The DPIA wizard does
|
|
746
|
+
* not render a single header (each section has its own title); the `title`
|
|
747
|
+
* and `description` fields are reserved for future use and currently
|
|
748
|
+
* accepted for API parity with the other presets.
|
|
749
|
+
*/
|
|
750
|
+
export declare interface NDPRDPIACopy {
|
|
751
|
+
/** Reserved — DPIA sections render their own titles. */
|
|
752
|
+
title?: string;
|
|
753
|
+
/** Reserved — DPIA sections render their own descriptions. */
|
|
754
|
+
description?: string;
|
|
755
|
+
/** Final-step submit button label. Default: "Submit" */
|
|
756
|
+
submitButton?: string;
|
|
757
|
+
/** Next-section button label. Default: "Next" */
|
|
758
|
+
nextButton?: string;
|
|
759
|
+
/** Previous-section button label. Default: "Previous" */
|
|
760
|
+
prevButton?: string;
|
|
761
|
+
}
|
|
762
|
+
|
|
653
763
|
export declare interface NDPRDPIAProps {
|
|
654
764
|
sections?: DPIASection[];
|
|
655
765
|
adapter?: StorageAdapter<DPIAAnswerMap>;
|
|
656
766
|
classNames?: DPIAQuestionnaireClassNames;
|
|
657
767
|
unstyled?: boolean;
|
|
658
768
|
onComplete?: (answers: DPIAAnswerMap) => void;
|
|
769
|
+
/**
|
|
770
|
+
* UX copy overrides — see {@link NDPRDPIACopy}.
|
|
771
|
+
*/
|
|
772
|
+
copy?: NDPRDPIACopy;
|
|
773
|
+
/**
|
|
774
|
+
* Public-form mode. Use when the questionnaire should submit to your
|
|
775
|
+
* existing backend workflow instead of being state-managed by an adapter.
|
|
776
|
+
*
|
|
777
|
+
* When `submitTo` is set:
|
|
778
|
+
* - the questionnaire does NOT require an `adapter`
|
|
779
|
+
* - on completion, the toolkit POSTs the JSON-serialised `DPIAAnswerMap`
|
|
780
|
+
* to this URL (with `Content-Type: application/json`)
|
|
781
|
+
* - your `onComplete` callback still fires (after the POST resolves)
|
|
782
|
+
* - submit failures are surfaced via `onSubmitError`
|
|
783
|
+
*
|
|
784
|
+
* @example
|
|
785
|
+
* <NDPRDPIA submitTo="/api/dpia" />
|
|
786
|
+
*/
|
|
787
|
+
submitTo?: string;
|
|
788
|
+
/**
|
|
789
|
+
* Fetch options for the `submitTo` POST. Useful for adding `credentials`
|
|
790
|
+
* (cookies/auth), `X-CSRF-Token`, or any other header your backend
|
|
791
|
+
* requires. Ignored unless `submitTo` is set.
|
|
792
|
+
*
|
|
793
|
+
* @default { credentials: 'same-origin' }
|
|
794
|
+
*/
|
|
795
|
+
submitOptions?: {
|
|
796
|
+
headers?: Record<string, string> | (() => Record<string, string>);
|
|
797
|
+
credentials?: RequestCredentials;
|
|
798
|
+
};
|
|
799
|
+
/**
|
|
800
|
+
* Called when a `submitTo` POST fails (network error or non-2xx
|
|
801
|
+
* response).
|
|
802
|
+
*/
|
|
803
|
+
onSubmitError?: (ctx: {
|
|
804
|
+
error?: unknown;
|
|
805
|
+
response?: Response;
|
|
806
|
+
}) => void;
|
|
807
|
+
/**
|
|
808
|
+
* Called when a `submitTo` POST succeeds (2xx response). Receives the
|
|
809
|
+
* `Response` object, the submitted `DPIAAnswerMap` payload, and the
|
|
810
|
+
* parsed JSON body if the server returned valid JSON.
|
|
811
|
+
*/
|
|
812
|
+
onSubmitSuccess?: (ctx: {
|
|
813
|
+
response: Response;
|
|
814
|
+
data: DPIAAnswerMap;
|
|
815
|
+
body?: unknown;
|
|
816
|
+
}) => void;
|
|
659
817
|
}
|
|
660
818
|
|
|
661
819
|
export declare const NDPRLawfulBasis: React__default.FC<NDPRLawfulBasisProps>;
|
|
662
820
|
|
|
821
|
+
/**
|
|
822
|
+
* UX copy overrides for the NDPRLawfulBasis preset. Pass any subset to
|
|
823
|
+
* replace the default text without dropping to the lower-level
|
|
824
|
+
* `<LawfulBasisTracker>` API.
|
|
825
|
+
*/
|
|
826
|
+
export declare interface NDPRLawfulBasisCopy {
|
|
827
|
+
/** Tracker heading. Default: "Lawful Basis Tracker" */
|
|
828
|
+
title?: string;
|
|
829
|
+
/** Body paragraph under the heading. */
|
|
830
|
+
description?: string;
|
|
831
|
+
}
|
|
832
|
+
|
|
663
833
|
export declare interface NDPRLawfulBasisProps {
|
|
664
|
-
|
|
834
|
+
/**
|
|
835
|
+
* Initial activities to seed the tracker. (4.0: the legacy
|
|
836
|
+
* `initialActivities` alias was removed.)
|
|
837
|
+
*/
|
|
838
|
+
initialData?: ProcessingActivity[];
|
|
665
839
|
adapter?: StorageAdapter<ProcessingActivity[]>;
|
|
666
840
|
classNames?: LawfulBasisTrackerClassNames;
|
|
667
841
|
unstyled?: boolean;
|
|
842
|
+
/**
|
|
843
|
+
* UX copy overrides — see {@link NDPRLawfulBasisCopy}.
|
|
844
|
+
*/
|
|
845
|
+
copy?: NDPRLawfulBasisCopy;
|
|
668
846
|
}
|
|
669
847
|
|
|
670
848
|
export declare const NDPRPrivacyPolicy: React__default.FC<NDPRPrivacyPolicyProps>;
|
|
671
849
|
|
|
850
|
+
/**
|
|
851
|
+
* UX copy overrides for the NDPRPrivacyPolicy preset. Strings you omit
|
|
852
|
+
* fall back to the underlying `<AdaptivePolicyWizard>` defaults.
|
|
853
|
+
*
|
|
854
|
+
* Note: the wizard renders many step-specific labels; the fields here
|
|
855
|
+
* cover the high-level header text. Step-specific copy is wired through
|
|
856
|
+
* the `NDPRProvider` locale.
|
|
857
|
+
*/
|
|
858
|
+
export declare interface NDPRPrivacyPolicyCopy {
|
|
859
|
+
/** Wizard heading. Default: "Privacy Policy Builder" */
|
|
860
|
+
title?: string;
|
|
861
|
+
/** Optional body paragraph under the heading. */
|
|
862
|
+
description?: string;
|
|
863
|
+
/** Submit / complete button label. */
|
|
864
|
+
submitButton?: string;
|
|
865
|
+
}
|
|
866
|
+
|
|
672
867
|
export declare interface NDPRPrivacyPolicyProps {
|
|
673
868
|
adapter?: StorageAdapter<PolicyDraft>;
|
|
674
869
|
onComplete?: (policy: PrivacyPolicy) => void;
|
|
675
870
|
classNames?: Record<string, string>;
|
|
676
871
|
unstyled?: boolean;
|
|
872
|
+
/**
|
|
873
|
+
* UX copy overrides — see {@link NDPRPrivacyPolicyCopy}. The wizard
|
|
874
|
+
* derives most of its labels from the active `NDPRProvider` locale; the
|
|
875
|
+
* fields here cover the high-level header text.
|
|
876
|
+
*/
|
|
877
|
+
copy?: NDPRPrivacyPolicyCopy;
|
|
677
878
|
/**
|
|
678
879
|
* Pre-fill the policy wizard with a sector-specific starter template.
|
|
679
880
|
*
|
|
@@ -707,11 +908,27 @@ export declare interface NDPRPrivacyPolicyProps {
|
|
|
707
908
|
|
|
708
909
|
export declare const NDPRROPA: React__default.FC<NDPRROPAProps>;
|
|
709
910
|
|
|
911
|
+
/**
|
|
912
|
+
* UX copy overrides for the NDPRROPA preset. Pass any subset to
|
|
913
|
+
* replace the default text without dropping to the lower-level
|
|
914
|
+
* `<ROPAManager>` API.
|
|
915
|
+
*/
|
|
916
|
+
export declare interface NDPRROPACopy {
|
|
917
|
+
/** Manager heading. Default: "Record of Processing Activities (ROPA)" */
|
|
918
|
+
title?: string;
|
|
919
|
+
/** Body paragraph under the heading. */
|
|
920
|
+
description?: string;
|
|
921
|
+
}
|
|
922
|
+
|
|
710
923
|
export declare interface NDPRROPAProps {
|
|
711
924
|
initialData?: RecordOfProcessingActivities;
|
|
712
925
|
adapter?: StorageAdapter<RecordOfProcessingActivities>;
|
|
713
926
|
classNames?: ROPAManagerClassNames;
|
|
714
927
|
unstyled?: boolean;
|
|
928
|
+
/**
|
|
929
|
+
* UX copy overrides — see {@link NDPRROPACopy}.
|
|
930
|
+
*/
|
|
931
|
+
copy?: NDPRROPACopy;
|
|
715
932
|
}
|
|
716
933
|
|
|
717
934
|
export declare const NDPRSubjectRights: React__default.FC<NDPRSubjectRightsProps>;
|