@tantainnovative/ndpr-toolkit 2.1.2 → 2.4.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 (152) hide show
  1. package/README.md +73 -2
  2. package/dist/{breach-6z0r-KuE.d.mts → breach-B_-6lDqS.d.mts} +1 -1
  3. package/dist/{breach-BFfnvtRk.d.ts → breach-CzXqSsaY.d.ts} +1 -1
  4. package/dist/{breach-BtFbDOmV.d.mts → breach-Eu9byel8.d.mts} +1 -1
  5. package/dist/{breach-BtFbDOmV.d.ts → breach-Eu9byel8.d.ts} +1 -1
  6. package/dist/breach-ouXoVTWs.d.ts +438 -0
  7. package/dist/breach-yRiyyc4n.d.mts +438 -0
  8. package/dist/breach.d.mts +5 -275
  9. package/dist/breach.d.ts +5 -275
  10. package/dist/breach.js +1 -1
  11. package/dist/breach.mjs +1 -1
  12. package/dist/chunk-2XFAV267.mjs +2 -0
  13. package/dist/chunk-32UIWTGD.js +72 -0
  14. package/dist/chunk-4JUDKBA2.mjs +7 -0
  15. package/dist/chunk-4VVARDN2.mjs +2 -0
  16. package/dist/chunk-5RSOLEEP.js +63 -0
  17. package/dist/chunk-AYKLAEOU.mjs +2 -0
  18. package/dist/chunk-BGHQTZAC.js +94 -0
  19. package/dist/chunk-BZTTQS4A.mjs +7 -0
  20. package/dist/chunk-CAB7O3GR.mjs +63 -0
  21. package/dist/chunk-CL53OI3I.js +7 -0
  22. package/dist/chunk-E64TU6IU.js +2 -0
  23. package/dist/chunk-EKVTLHBQ.js +2 -0
  24. package/dist/chunk-ELKEZEV5.mjs +2 -0
  25. package/dist/chunk-EPF7J2FK.js +3 -0
  26. package/dist/chunk-ER7X6E36.js +2 -0
  27. package/dist/chunk-FXTZDKDC.mjs +3 -0
  28. package/dist/chunk-IBEKLDBY.mjs +2 -0
  29. package/dist/chunk-ILCNDOBU.js +2 -0
  30. package/dist/chunk-K3GMTMQ6.js +2 -0
  31. package/dist/chunk-MJGOLP5M.js +2 -0
  32. package/dist/chunk-NW4A3JW6.mjs +2 -0
  33. package/dist/chunk-P3PULLYP.mjs +2 -0
  34. package/dist/chunk-SKJCQKFL.mjs +94 -0
  35. package/dist/chunk-TCJCE6WN.js +2 -0
  36. package/dist/chunk-UZ5EZOA7.js +2 -0
  37. package/dist/chunk-WSHSHIIM.mjs +2 -0
  38. package/dist/chunk-XMYUYQH7.mjs +72 -0
  39. package/dist/chunk-ZNTMZ6NM.js +7 -0
  40. package/dist/consent-audit-BdByjYlM.d.mts +65 -0
  41. package/dist/consent-audit-DhbfMR0n.d.ts +65 -0
  42. package/dist/consent.d.mts +120 -7
  43. package/dist/consent.d.ts +120 -7
  44. package/dist/consent.js +1 -1
  45. package/dist/consent.mjs +1 -1
  46. package/dist/core.d.mts +62 -12
  47. package/dist/core.d.ts +62 -12
  48. package/dist/core.js +1 -1
  49. package/dist/core.mjs +1 -1
  50. package/dist/{cross-border-BrIy1ieh.d.ts → cross-border-BMcqLvjC.d.mts} +1 -1
  51. package/dist/{cross-border-BrIy1ieh.d.mts → cross-border-BMcqLvjC.d.ts} +1 -1
  52. package/dist/cross-border-entry-BrWVPly6.d.ts +91 -0
  53. package/dist/cross-border-entry-cCTvpwnT.d.mts +91 -0
  54. package/dist/cross-border.d.mts +4 -58
  55. package/dist/cross-border.d.ts +4 -58
  56. package/dist/cross-border.js +1 -1
  57. package/dist/cross-border.mjs +1 -1
  58. package/dist/{dpia-vWfE_9bO.d.mts → dpia-5OQVA1R_.d.mts} +1 -1
  59. package/dist/{dpia-vWfE_9bO.d.ts → dpia-5OQVA1R_.d.ts} +1 -1
  60. package/dist/{dpia-fdtTd2DI.d.ts → dpia-B0Pok5us.d.ts} +1 -1
  61. package/dist/{dpia-B9ZZJG5a.d.mts → dpia-CUfOmzvX.d.mts} +1 -1
  62. package/dist/dpia.d.mts +119 -5
  63. package/dist/dpia.d.ts +119 -5
  64. package/dist/dpia.js +1 -1
  65. package/dist/dpia.mjs +1 -1
  66. package/dist/dsr-190YpijW.d.ts +307 -0
  67. package/dist/dsr-BTT-Xd7H.d.mts +307 -0
  68. package/dist/{dsr-pQzQ3H1O.d.mts → dsr-Cm9lzWG7.d.mts} +1 -1
  69. package/dist/{dsr-pQzQ3H1O.d.ts → dsr-Cm9lzWG7.d.ts} +1 -1
  70. package/dist/{dsr-whPkiI0_.d.mts → dsr-D_eTNc4S.d.mts} +1 -1
  71. package/dist/{dsr-jq5NUEdz.d.ts → dsr-pNtVb1BK.d.ts} +1 -1
  72. package/dist/dsr.d.mts +5 -192
  73. package/dist/dsr.d.ts +5 -192
  74. package/dist/dsr.js +1 -1
  75. package/dist/dsr.mjs +1 -1
  76. package/dist/hooks.d.mts +14 -14
  77. package/dist/hooks.d.ts +14 -14
  78. package/dist/hooks.js +1 -1
  79. package/dist/hooks.mjs +1 -1
  80. package/dist/index.d.mts +28 -27
  81. package/dist/index.d.ts +28 -27
  82. package/dist/index.js +1 -1
  83. package/dist/index.mjs +1 -1
  84. package/dist/{lawful-basis-v04AhbK2.d.ts → lawful-basis-BEyI0kGg.d.ts} +2 -2
  85. package/dist/{lawful-basis-D-oXFizg.d.mts → lawful-basis-C2eGaoHM.d.mts} +2 -2
  86. package/dist/{lawful-basis-CWtvDG1x.d.mts → lawful-basis-Cv1VmDLn.d.mts} +1 -1
  87. package/dist/{lawful-basis-CWtvDG1x.d.ts → lawful-basis-Cv1VmDLn.d.ts} +1 -1
  88. package/dist/lawful-basis-entry-15qjKcNO.d.ts +87 -0
  89. package/dist/lawful-basis-entry-CxZrofwG.d.mts +87 -0
  90. package/dist/lawful-basis.d.mts +5 -55
  91. package/dist/lawful-basis.d.ts +5 -55
  92. package/dist/lawful-basis.js +1 -1
  93. package/dist/lawful-basis.mjs +1 -1
  94. package/dist/policy-D2_jh5-T.d.ts +293 -0
  95. package/dist/policy-E0fXZkda.d.mts +293 -0
  96. package/dist/policy-templates-CIKcV0i1.d.ts +36 -0
  97. package/dist/policy-templates-DMsPwOSZ.d.mts +36 -0
  98. package/dist/policy.d.mts +5 -195
  99. package/dist/policy.d.ts +5 -195
  100. package/dist/policy.js +1 -1
  101. package/dist/policy.mjs +1 -1
  102. package/dist/{ropa-Rb4dsFSz.d.mts → ropa-DP7pPPql.d.mts} +2 -2
  103. package/dist/{ropa-BebGfqKQ.d.ts → ropa-Li6UlL5H.d.ts} +2 -2
  104. package/dist/ropa-entry-B0D7X1GV.d.ts +80 -0
  105. package/dist/ropa-entry-DiOThOc2.d.mts +80 -0
  106. package/dist/ropa.d.mts +5 -45
  107. package/dist/ropa.d.ts +5 -45
  108. package/dist/ropa.js +1 -1
  109. package/dist/ropa.mjs +1 -1
  110. package/dist/styles.css +40 -28
  111. package/dist/styles.d.ts +1 -0
  112. package/dist/unstyled.js +1 -1
  113. package/dist/unstyled.mjs +1 -1
  114. package/dist/{useBreach-WrZzJilM.d.mts → useBreach-BBSoIcZO.d.mts} +1 -1
  115. package/dist/{useBreach-vrh_XMpI.d.ts → useBreach-lFLbSyAN.d.ts} +1 -1
  116. package/dist/{useCrossBorderTransfer-TVnY8_UX.d.mts → useCrossBorderTransfer-BZVFCXfr.d.mts} +1 -1
  117. package/dist/{useCrossBorderTransfer-D4FQYfFt.d.ts → useCrossBorderTransfer-DmtACeqW.d.ts} +1 -1
  118. package/dist/{useDPIA-DFDHBLSa.d.ts → useDPIA-DBsg2yZx.d.ts} +1 -1
  119. package/dist/{useDPIA-FqPofFaV.d.mts → useDPIA-Da7-Q_yW.d.mts} +1 -1
  120. package/dist/{useDSR-DAqqOBXb.d.ts → useDSR-CYI7WCXr.d.ts} +1 -1
  121. package/dist/{useDSR-OXM5Q9rf.d.mts → useDSR-YYZ6FYFs.d.mts} +1 -1
  122. package/dist/{usePrivacyPolicy-CfySfBLS.d.ts → useDefaultPrivacyPolicy-B7kTHbZh.d.ts} +39 -2
  123. package/dist/{usePrivacyPolicy-Dit2sFuV.d.mts → useDefaultPrivacyPolicy-CUluF_ic.d.mts} +39 -2
  124. package/dist/{useLawfulBasis-RILM_xsx.d.ts → useLawfulBasis-CCWF9waR.d.ts} +2 -2
  125. package/dist/{useLawfulBasis-DNQ8YszQ.d.mts → useLawfulBasis-CpWuHtyh.d.mts} +2 -2
  126. package/dist/{useROPA-Bcs6cRdi.d.ts → useROPA-BhJ3kvHp.d.ts} +1 -1
  127. package/dist/{useROPA-nmcSiUYv.d.mts → useROPA-DLFdjkxP.d.mts} +1 -1
  128. package/package.json +30 -21
  129. package/dist/chunk-2XHD22J7.mjs +0 -7
  130. package/dist/chunk-4DKT6IB6.js +0 -94
  131. package/dist/chunk-6JFTAYXV.mjs +0 -2
  132. package/dist/chunk-6JVYYLS7.js +0 -2
  133. package/dist/chunk-6SGG6WPA.mjs +0 -2
  134. package/dist/chunk-AQEGDEQM.js +0 -7
  135. package/dist/chunk-C2IJWCZQ.mjs +0 -2
  136. package/dist/chunk-DB3JH4DS.mjs +0 -2
  137. package/dist/chunk-FFW7RUAG.mjs +0 -94
  138. package/dist/chunk-FK3CSFLJ.js +0 -2
  139. package/dist/chunk-IWUUVRLJ.js +0 -2
  140. package/dist/chunk-JUN6YPLL.mjs +0 -72
  141. package/dist/chunk-L3FKTBGV.js +0 -72
  142. package/dist/chunk-PM7CMTMB.js +0 -4
  143. package/dist/chunk-RB26MIRI.js +0 -2
  144. package/dist/chunk-RHWW5FDP.js +0 -16
  145. package/dist/chunk-SLNMKGQ2.mjs +0 -2
  146. package/dist/chunk-UUWVBENC.js +0 -2
  147. package/dist/chunk-UYP64PV7.mjs +0 -4
  148. package/dist/chunk-XMKA6GVK.mjs +0 -16
  149. package/dist/consent-DCc5zjXI.d.mts +0 -24
  150. package/dist/consent-DLWb5ota.d.ts +0 -24
  151. package/dist/privacy-9FcJceMr.d.mts +0 -15
  152. package/dist/privacy-BXz7O2ej.d.ts +0 -15
package/dist/policy.d.ts CHANGED
@@ -1,195 +1,5 @@
1
- import React from 'react';
2
- import { P as PolicySection, b as PolicyVariable } from './privacy-Ca6te9Ir.js';
3
- export { O as OrganizationInfo, a as PolicyTemplate, c as PrivacyPolicy } from './privacy-Ca6te9Ir.js';
4
- export { u as usePrivacyPolicy } from './usePrivacyPolicy-CfySfBLS.js';
5
- export { g as generatePolicyText } from './privacy-BXz7O2ej.js';
6
-
7
- interface PolicyGeneratorProps {
8
- /**
9
- * List of policy sections
10
- */
11
- sections: PolicySection[];
12
- /**
13
- * List of policy variables
14
- */
15
- variables: PolicyVariable[];
16
- /**
17
- * Callback function called when the policy is generated
18
- */
19
- onGenerate: (policy: {
20
- sections: PolicySection[];
21
- variables: PolicyVariable[];
22
- content: string;
23
- }) => void;
24
- /**
25
- * Title displayed on the generator
26
- * @default "NDPA Privacy Policy Generator"
27
- */
28
- title?: string;
29
- /**
30
- * Description text displayed on the generator
31
- * @default "Generate an NDPA-compliant privacy policy for your organization."
32
- */
33
- description?: string;
34
- /**
35
- * Custom CSS class for the generator
36
- */
37
- className?: string;
38
- /**
39
- * Custom CSS class for the buttons
40
- */
41
- buttonClassName?: string;
42
- /**
43
- * Text for the generate button
44
- * @default "Generate Policy"
45
- */
46
- generateButtonText?: string;
47
- /**
48
- * Whether to show a preview of the generated policy
49
- * @default true
50
- */
51
- showPreview?: boolean;
52
- /**
53
- * Whether to allow editing the policy content
54
- * @default true
55
- */
56
- allowEditing?: boolean;
57
- }
58
- declare const PolicyGenerator: React.FC<PolicyGeneratorProps>;
59
-
60
- interface PolicyPreviewProps {
61
- /**
62
- * The policy content to preview
63
- */
64
- content: string;
65
- /**
66
- * The policy sections
67
- */
68
- sections?: PolicySection[];
69
- /**
70
- * The policy variables
71
- */
72
- variables?: PolicyVariable[];
73
- /**
74
- * Callback function called when the policy is exported
75
- */
76
- onExport?: (format: 'pdf' | 'html' | 'markdown' | 'docx') => void;
77
- /**
78
- * Callback function called when the policy is edited
79
- */
80
- onEdit?: () => void;
81
- /**
82
- * Title displayed on the preview
83
- * @default "Privacy Policy Preview"
84
- */
85
- title?: string;
86
- /**
87
- * Description text displayed on the preview
88
- * @default "Preview your NDPA-compliant privacy policy before exporting."
89
- */
90
- description?: string;
91
- /**
92
- * Custom CSS class for the preview
93
- */
94
- className?: string;
95
- /**
96
- * Custom CSS class for the buttons
97
- */
98
- buttonClassName?: string;
99
- /**
100
- * Whether to show the export options
101
- * @default true
102
- */
103
- showExportOptions?: boolean;
104
- /**
105
- * Whether to show the edit button
106
- * @default true
107
- */
108
- showEditButton?: boolean;
109
- /**
110
- * Whether to show the table of contents
111
- * @default true
112
- */
113
- showTableOfContents?: boolean;
114
- /**
115
- * Whether to show the policy metadata
116
- * @default true
117
- */
118
- showMetadata?: boolean;
119
- /**
120
- * The organization name to display in the policy
121
- */
122
- organizationName?: string;
123
- /**
124
- * The last updated date to display in the policy
125
- */
126
- lastUpdated?: Date;
127
- }
128
- declare const PolicyPreview: React.FC<PolicyPreviewProps>;
129
-
130
- interface PolicyExporterProps {
131
- /**
132
- * The policy content to export
133
- */
134
- content: string;
135
- /**
136
- * The policy title
137
- */
138
- title?: string;
139
- /**
140
- * The organization name to include in the exported policy
141
- */
142
- organizationName?: string;
143
- /**
144
- * The last updated date to include in the exported policy
145
- */
146
- lastUpdated?: Date;
147
- /**
148
- * Callback function called when the export is complete
149
- */
150
- onExportComplete?: (format: string, url: string) => void;
151
- /**
152
- * Title displayed on the exporter
153
- * @default "Export Privacy Policy"
154
- */
155
- componentTitle?: string;
156
- /**
157
- * Description text displayed on the exporter
158
- * @default "Export your NDPA-compliant privacy policy in various formats."
159
- */
160
- description?: string;
161
- /**
162
- * Custom CSS class for the exporter
163
- */
164
- className?: string;
165
- /**
166
- * Custom CSS class for the buttons
167
- */
168
- buttonClassName?: string;
169
- /**
170
- * Whether to show the export history
171
- * @default true
172
- */
173
- showExportHistory?: boolean;
174
- /**
175
- * Whether to include the NDPA compliance notice in the exported policy
176
- * @default true
177
- */
178
- includeComplianceNotice?: boolean;
179
- /**
180
- * Whether to include the organization logo in the exported policy
181
- * @default false
182
- */
183
- includeLogo?: boolean;
184
- /**
185
- * URL of the organization logo
186
- */
187
- logoUrl?: string;
188
- /**
189
- * Custom CSS styles for the exported policy
190
- */
191
- customStyles?: string;
192
- }
193
- declare const PolicyExporter: React.FC<PolicyExporterProps>;
194
-
195
- export { PolicyExporter, PolicyGenerator, PolicyPreview, PolicySection, PolicyVariable };
1
+ export { P as PolicyExporter, b as PolicyGenerator, d as PolicyPreview } from './policy-D2_jh5-T.js';
2
+ export { u as useDefaultPrivacyPolicy, a as usePrivacyPolicy } from './useDefaultPrivacyPolicy-B7kTHbZh.js';
3
+ export { D as DEFAULT_POLICY_SECTIONS, a as DEFAULT_POLICY_VARIABLES, c as createBusinessPolicyTemplate, g as generatePolicyText } from './policy-templates-CIKcV0i1.js';
4
+ export { O as OrganizationInfo, P as PolicySection, a as PolicyTemplate, b as PolicyVariable, c as PrivacyPolicy } from './privacy-Ca6te9Ir.js';
5
+ import 'react';
package/dist/policy.js CHANGED
@@ -1,2 +1,2 @@
1
- 'use strict';var chunk4DKT6IB6_js=require('./chunk-4DKT6IB6.js'),chunkIWUUVRLJ_js=require('./chunk-IWUUVRLJ.js'),chunkPM7CMTMB_js=require('./chunk-PM7CMTMB.js');require('./chunk-MQFZHA2D.js');Object.defineProperty(exports,"PolicyExporter",{enumerable:true,get:function(){return chunk4DKT6IB6_js.c}});Object.defineProperty(exports,"PolicyGenerator",{enumerable:true,get:function(){return chunk4DKT6IB6_js.a}});Object.defineProperty(exports,"PolicyPreview",{enumerable:true,get:function(){return chunk4DKT6IB6_js.b}});Object.defineProperty(exports,"usePrivacyPolicy",{enumerable:true,get:function(){return chunkIWUUVRLJ_js.a}});Object.defineProperty(exports,"generatePolicyText",{enumerable:true,get:function(){return chunkPM7CMTMB_js.a}});//# sourceMappingURL=policy.js.map
1
+ 'use strict';var chunkBGHQTZAC_js=require('./chunk-BGHQTZAC.js'),chunkTCJCE6WN_js=require('./chunk-TCJCE6WN.js'),chunk5RSOLEEP_js=require('./chunk-5RSOLEEP.js');require('./chunk-E64TU6IU.js'),require('./chunk-MQFZHA2D.js');Object.defineProperty(exports,"PolicyExporter",{enumerable:true,get:function(){return chunkBGHQTZAC_js.c}});Object.defineProperty(exports,"PolicyGenerator",{enumerable:true,get:function(){return chunkBGHQTZAC_js.a}});Object.defineProperty(exports,"PolicyPreview",{enumerable:true,get:function(){return chunkBGHQTZAC_js.b}});Object.defineProperty(exports,"useDefaultPrivacyPolicy",{enumerable:true,get:function(){return chunkTCJCE6WN_js.b}});Object.defineProperty(exports,"usePrivacyPolicy",{enumerable:true,get:function(){return chunkTCJCE6WN_js.a}});Object.defineProperty(exports,"DEFAULT_POLICY_SECTIONS",{enumerable:true,get:function(){return chunk5RSOLEEP_js.b}});Object.defineProperty(exports,"DEFAULT_POLICY_VARIABLES",{enumerable:true,get:function(){return chunk5RSOLEEP_js.c}});Object.defineProperty(exports,"createBusinessPolicyTemplate",{enumerable:true,get:function(){return chunk5RSOLEEP_js.d}});Object.defineProperty(exports,"generatePolicyText",{enumerable:true,get:function(){return chunk5RSOLEEP_js.a}});//# sourceMappingURL=policy.js.map
2
2
  //# sourceMappingURL=policy.js.map
package/dist/policy.mjs CHANGED
@@ -1,2 +1,2 @@
1
- export{c as PolicyExporter,a as PolicyGenerator,b as PolicyPreview}from'./chunk-FFW7RUAG.mjs';export{a as usePrivacyPolicy}from'./chunk-DB3JH4DS.mjs';export{a as generatePolicyText}from'./chunk-UYP64PV7.mjs';import'./chunk-WWT2ZSNU.mjs';//# sourceMappingURL=policy.mjs.map
1
+ export{c as PolicyExporter,a as PolicyGenerator,b as PolicyPreview}from'./chunk-SKJCQKFL.mjs';export{b as useDefaultPrivacyPolicy,a as usePrivacyPolicy}from'./chunk-2XFAV267.mjs';export{b as DEFAULT_POLICY_SECTIONS,c as DEFAULT_POLICY_VARIABLES,d as createBusinessPolicyTemplate,a as generatePolicyText}from'./chunk-CAB7O3GR.mjs';import'./chunk-AYKLAEOU.mjs';import'./chunk-WWT2ZSNU.mjs';//# sourceMappingURL=policy.mjs.map
2
2
  //# sourceMappingURL=policy.mjs.map
@@ -1,4 +1,4 @@
1
- import { L as LawfulBasis } from './lawful-basis-CWtvDG1x.mjs';
1
+ import { L as LawfulBasis } from './lawful-basis-Cv1VmDLn.mjs';
2
2
 
3
3
  /**
4
4
  * Record of Processing Activities (ROPA) types aligned with NDPA 2023
@@ -197,4 +197,4 @@ declare function exportROPAToCSV(ropa: RecordOfProcessingActivities): string;
197
197
  */
198
198
  declare function identifyComplianceGaps(ropa: RecordOfProcessingActivities): ROPAComplianceGap[];
199
199
 
200
- export { type ProcessingRecord as P, type RecordOfProcessingActivities as R, type ROPASummary as a, type ROPAComplianceGap as b, type ROPAValidationResult as c, exportROPAToCSV as e, generateROPASummary as g, identifyComplianceGaps as i, validateProcessingRecord as v };
200
+ export { type ProcessingRecord as P, type ROPAComplianceGap as R, type ROPASummary as a, type ROPAValidationResult as b, type RecordOfProcessingActivities as c, exportROPAToCSV as e, generateROPASummary as g, identifyComplianceGaps as i, validateProcessingRecord as v };
@@ -1,4 +1,4 @@
1
- import { L as LawfulBasis } from './lawful-basis-CWtvDG1x.js';
1
+ import { L as LawfulBasis } from './lawful-basis-Cv1VmDLn.js';
2
2
 
3
3
  /**
4
4
  * Record of Processing Activities (ROPA) types aligned with NDPA 2023
@@ -197,4 +197,4 @@ declare function exportROPAToCSV(ropa: RecordOfProcessingActivities): string;
197
197
  */
198
198
  declare function identifyComplianceGaps(ropa: RecordOfProcessingActivities): ROPAComplianceGap[];
199
199
 
200
- export { type ProcessingRecord as P, type RecordOfProcessingActivities as R, type ROPASummary as a, type ROPAComplianceGap as b, type ROPAValidationResult as c, exportROPAToCSV as e, generateROPASummary as g, identifyComplianceGaps as i, validateProcessingRecord as v };
200
+ export { type ProcessingRecord as P, type ROPAComplianceGap as R, type ROPASummary as a, type ROPAValidationResult as b, type RecordOfProcessingActivities as c, exportROPAToCSV as e, generateROPASummary as g, identifyComplianceGaps as i, validateProcessingRecord as v };
@@ -0,0 +1,80 @@
1
+ import React from 'react';
2
+ import { c as RecordOfProcessingActivities, P as ProcessingRecord } from './ropa-Li6UlL5H.js';
3
+ import './useROPA-BhJ3kvHp.js';
4
+
5
+ interface ROPAManagerClassNames {
6
+ root?: string;
7
+ header?: string;
8
+ title?: string;
9
+ orgInfo?: string;
10
+ summary?: string;
11
+ summaryCard?: string;
12
+ table?: string;
13
+ tableHeader?: string;
14
+ tableRow?: string;
15
+ form?: string;
16
+ input?: string;
17
+ select?: string;
18
+ submitButton?: string;
19
+ /** Alias for submitButton */
20
+ primaryButton?: string;
21
+ statusBadge?: string;
22
+ exportButton?: string;
23
+ /** Alias for exportButton */
24
+ secondaryButton?: string;
25
+ complianceGap?: string;
26
+ }
27
+ interface ROPAManagerProps {
28
+ /**
29
+ * The full Record of Processing Activities
30
+ */
31
+ ropa: RecordOfProcessingActivities;
32
+ /**
33
+ * Callback when a new record is added
34
+ */
35
+ onAddRecord?: (record: ProcessingRecord) => void;
36
+ /**
37
+ * Callback when a record is updated
38
+ */
39
+ onUpdateRecord?: (id: string, updates: Partial<ProcessingRecord>) => void;
40
+ /**
41
+ * Callback when a record is archived
42
+ */
43
+ onArchiveRecord?: (id: string) => void;
44
+ /**
45
+ * Title displayed on the manager
46
+ * @default "Record of Processing Activities (ROPA)"
47
+ */
48
+ title?: string;
49
+ /**
50
+ * Description text
51
+ * @default "Maintain a comprehensive record of all data processing activities as required by the NDPA accountability principle."
52
+ */
53
+ description?: string;
54
+ /**
55
+ * Custom CSS class
56
+ */
57
+ className?: string;
58
+ /**
59
+ * Custom CSS class for buttons
60
+ */
61
+ buttonClassName?: string;
62
+ /**
63
+ * Override class names for individual sections of the component.
64
+ * Takes priority over className / buttonClassName.
65
+ */
66
+ classNames?: ROPAManagerClassNames;
67
+ /**
68
+ * When true, all default styling is removed so consumers
69
+ * can style from scratch using classNames.
70
+ */
71
+ unstyled?: boolean;
72
+ }
73
+ /**
74
+ * Record of Processing Activities (ROPA) management component. Implements the NDPA
75
+ * accountability principle, requiring organizations to maintain comprehensive records
76
+ * of all personal data processing activities.
77
+ */
78
+ declare const ROPAManager: React.FC<ROPAManagerProps>;
79
+
80
+ export { ROPAManager as R, type ROPAManagerClassNames as a };
@@ -0,0 +1,80 @@
1
+ import React from 'react';
2
+ import { c as RecordOfProcessingActivities, P as ProcessingRecord } from './ropa-DP7pPPql.mjs';
3
+ import './useROPA-DLFdjkxP.mjs';
4
+
5
+ interface ROPAManagerClassNames {
6
+ root?: string;
7
+ header?: string;
8
+ title?: string;
9
+ orgInfo?: string;
10
+ summary?: string;
11
+ summaryCard?: string;
12
+ table?: string;
13
+ tableHeader?: string;
14
+ tableRow?: string;
15
+ form?: string;
16
+ input?: string;
17
+ select?: string;
18
+ submitButton?: string;
19
+ /** Alias for submitButton */
20
+ primaryButton?: string;
21
+ statusBadge?: string;
22
+ exportButton?: string;
23
+ /** Alias for exportButton */
24
+ secondaryButton?: string;
25
+ complianceGap?: string;
26
+ }
27
+ interface ROPAManagerProps {
28
+ /**
29
+ * The full Record of Processing Activities
30
+ */
31
+ ropa: RecordOfProcessingActivities;
32
+ /**
33
+ * Callback when a new record is added
34
+ */
35
+ onAddRecord?: (record: ProcessingRecord) => void;
36
+ /**
37
+ * Callback when a record is updated
38
+ */
39
+ onUpdateRecord?: (id: string, updates: Partial<ProcessingRecord>) => void;
40
+ /**
41
+ * Callback when a record is archived
42
+ */
43
+ onArchiveRecord?: (id: string) => void;
44
+ /**
45
+ * Title displayed on the manager
46
+ * @default "Record of Processing Activities (ROPA)"
47
+ */
48
+ title?: string;
49
+ /**
50
+ * Description text
51
+ * @default "Maintain a comprehensive record of all data processing activities as required by the NDPA accountability principle."
52
+ */
53
+ description?: string;
54
+ /**
55
+ * Custom CSS class
56
+ */
57
+ className?: string;
58
+ /**
59
+ * Custom CSS class for buttons
60
+ */
61
+ buttonClassName?: string;
62
+ /**
63
+ * Override class names for individual sections of the component.
64
+ * Takes priority over className / buttonClassName.
65
+ */
66
+ classNames?: ROPAManagerClassNames;
67
+ /**
68
+ * When true, all default styling is removed so consumers
69
+ * can style from scratch using classNames.
70
+ */
71
+ unstyled?: boolean;
72
+ }
73
+ /**
74
+ * Record of Processing Activities (ROPA) management component. Implements the NDPA
75
+ * accountability principle, requiring organizations to maintain comprehensive records
76
+ * of all personal data processing activities.
77
+ */
78
+ declare const ROPAManager: React.FC<ROPAManagerProps>;
79
+
80
+ export { ROPAManager as R, type ROPAManagerClassNames as a };
package/dist/ropa.d.mts CHANGED
@@ -1,45 +1,5 @@
1
- import React from 'react';
2
- import { R as RecordOfProcessingActivities, P as ProcessingRecord } from './ropa-Rb4dsFSz.mjs';
3
- export { b as ROPAComplianceGap, a as ROPASummary, c as ROPAValidationResult, e as exportROPAToCSV, g as generateROPASummary, i as identifyComplianceGaps, v as validateProcessingRecord } from './ropa-Rb4dsFSz.mjs';
4
- export { U as UseROPAOptions, a as UseROPAReturn, u as useROPA } from './useROPA-nmcSiUYv.mjs';
5
- import './lawful-basis-CWtvDG1x.mjs';
6
-
7
- interface ROPAManagerProps {
8
- /**
9
- * The full Record of Processing Activities
10
- */
11
- ropa: RecordOfProcessingActivities;
12
- /**
13
- * Callback when a new record is added
14
- */
15
- onAddRecord?: (record: ProcessingRecord) => void;
16
- /**
17
- * Callback when a record is updated
18
- */
19
- onUpdateRecord?: (id: string, updates: Partial<ProcessingRecord>) => void;
20
- /**
21
- * Callback when a record is archived
22
- */
23
- onArchiveRecord?: (id: string) => void;
24
- /**
25
- * Title displayed on the manager
26
- * @default "Record of Processing Activities (ROPA)"
27
- */
28
- title?: string;
29
- /**
30
- * Description text
31
- * @default "Maintain a comprehensive record of all data processing activities as required by the NDPA 2023."
32
- */
33
- description?: string;
34
- /**
35
- * Custom CSS class
36
- */
37
- className?: string;
38
- /**
39
- * Custom CSS class for buttons
40
- */
41
- buttonClassName?: string;
42
- }
43
- declare const ROPAManager: React.FC<ROPAManagerProps>;
44
-
45
- export { ProcessingRecord, ROPAManager, RecordOfProcessingActivities };
1
+ export { R as ROPAManager } from './ropa-entry-DiOThOc2.mjs';
2
+ export { U as UseROPAOptions, a as UseROPAReturn, u as useROPA } from './useROPA-DLFdjkxP.mjs';
3
+ export { P as ProcessingRecord, R as ROPAComplianceGap, a as ROPASummary, b as ROPAValidationResult, c as RecordOfProcessingActivities, e as exportROPAToCSV, g as generateROPASummary, i as identifyComplianceGaps, v as validateProcessingRecord } from './ropa-DP7pPPql.mjs';
4
+ import 'react';
5
+ import './lawful-basis-Cv1VmDLn.mjs';
package/dist/ropa.d.ts CHANGED
@@ -1,45 +1,5 @@
1
- import React from 'react';
2
- import { R as RecordOfProcessingActivities, P as ProcessingRecord } from './ropa-BebGfqKQ.js';
3
- export { b as ROPAComplianceGap, a as ROPASummary, c as ROPAValidationResult, e as exportROPAToCSV, g as generateROPASummary, i as identifyComplianceGaps, v as validateProcessingRecord } from './ropa-BebGfqKQ.js';
4
- export { U as UseROPAOptions, a as UseROPAReturn, u as useROPA } from './useROPA-Bcs6cRdi.js';
5
- import './lawful-basis-CWtvDG1x.js';
6
-
7
- interface ROPAManagerProps {
8
- /**
9
- * The full Record of Processing Activities
10
- */
11
- ropa: RecordOfProcessingActivities;
12
- /**
13
- * Callback when a new record is added
14
- */
15
- onAddRecord?: (record: ProcessingRecord) => void;
16
- /**
17
- * Callback when a record is updated
18
- */
19
- onUpdateRecord?: (id: string, updates: Partial<ProcessingRecord>) => void;
20
- /**
21
- * Callback when a record is archived
22
- */
23
- onArchiveRecord?: (id: string) => void;
24
- /**
25
- * Title displayed on the manager
26
- * @default "Record of Processing Activities (ROPA)"
27
- */
28
- title?: string;
29
- /**
30
- * Description text
31
- * @default "Maintain a comprehensive record of all data processing activities as required by the NDPA 2023."
32
- */
33
- description?: string;
34
- /**
35
- * Custom CSS class
36
- */
37
- className?: string;
38
- /**
39
- * Custom CSS class for buttons
40
- */
41
- buttonClassName?: string;
42
- }
43
- declare const ROPAManager: React.FC<ROPAManagerProps>;
44
-
45
- export { ProcessingRecord, ROPAManager, RecordOfProcessingActivities };
1
+ export { R as ROPAManager } from './ropa-entry-B0D7X1GV.js';
2
+ export { U as UseROPAOptions, a as UseROPAReturn, u as useROPA } from './useROPA-BhJ3kvHp.js';
3
+ export { P as ProcessingRecord, R as ROPAComplianceGap, a as ROPASummary, b as ROPAValidationResult, c as RecordOfProcessingActivities, e as exportROPAToCSV, g as generateROPASummary, i as identifyComplianceGaps, v as validateProcessingRecord } from './ropa-Li6UlL5H.js';
4
+ import 'react';
5
+ import './lawful-basis-Cv1VmDLn.js';
package/dist/ropa.js CHANGED
@@ -1,2 +1,2 @@
1
- 'use strict';var chunkUUWVBENC_js=require('./chunk-UUWVBENC.js'),chunk4A354HL3_js=require('./chunk-4A354HL3.js'),chunkSWF3YVE5_js=require('./chunk-SWF3YVE5.js');require('./chunk-MQFZHA2D.js');Object.defineProperty(exports,"ROPAManager",{enumerable:true,get:function(){return chunkUUWVBENC_js.a}});Object.defineProperty(exports,"useROPA",{enumerable:true,get:function(){return chunk4A354HL3_js.a}});Object.defineProperty(exports,"exportROPAToCSV",{enumerable:true,get:function(){return chunkSWF3YVE5_js.c}});Object.defineProperty(exports,"generateROPASummary",{enumerable:true,get:function(){return chunkSWF3YVE5_js.b}});Object.defineProperty(exports,"identifyComplianceGaps",{enumerable:true,get:function(){return chunkSWF3YVE5_js.d}});Object.defineProperty(exports,"validateProcessingRecord",{enumerable:true,get:function(){return chunkSWF3YVE5_js.a}});//# sourceMappingURL=ropa.js.map
1
+ 'use strict';var chunkUZ5EZOA7_js=require('./chunk-UZ5EZOA7.js'),chunk4A354HL3_js=require('./chunk-4A354HL3.js'),chunkSWF3YVE5_js=require('./chunk-SWF3YVE5.js');require('./chunk-E64TU6IU.js'),require('./chunk-MQFZHA2D.js');Object.defineProperty(exports,"ROPAManager",{enumerable:true,get:function(){return chunkUZ5EZOA7_js.a}});Object.defineProperty(exports,"useROPA",{enumerable:true,get:function(){return chunk4A354HL3_js.a}});Object.defineProperty(exports,"exportROPAToCSV",{enumerable:true,get:function(){return chunkSWF3YVE5_js.c}});Object.defineProperty(exports,"generateROPASummary",{enumerable:true,get:function(){return chunkSWF3YVE5_js.b}});Object.defineProperty(exports,"identifyComplianceGaps",{enumerable:true,get:function(){return chunkSWF3YVE5_js.d}});Object.defineProperty(exports,"validateProcessingRecord",{enumerable:true,get:function(){return chunkSWF3YVE5_js.a}});//# sourceMappingURL=ropa.js.map
2
2
  //# sourceMappingURL=ropa.js.map
package/dist/ropa.mjs CHANGED
@@ -1,2 +1,2 @@
1
- export{a as ROPAManager}from'./chunk-6SGG6WPA.mjs';export{a as useROPA}from'./chunk-T44JQT2O.mjs';export{c as exportROPAToCSV,b as generateROPASummary,d as identifyComplianceGaps,a as validateProcessingRecord}from'./chunk-PYEX7DFR.mjs';import'./chunk-WWT2ZSNU.mjs';//# sourceMappingURL=ropa.mjs.map
1
+ export{a as ROPAManager}from'./chunk-4VVARDN2.mjs';export{a as useROPA}from'./chunk-T44JQT2O.mjs';export{c as exportROPAToCSV,b as generateROPASummary,d as identifyComplianceGaps,a as validateProcessingRecord}from'./chunk-PYEX7DFR.mjs';import'./chunk-AYKLAEOU.mjs';import'./chunk-WWT2ZSNU.mjs';//# sourceMappingURL=ropa.mjs.map
2
2
  //# sourceMappingURL=ropa.mjs.map
package/dist/styles.css CHANGED
@@ -1,38 +1,50 @@
1
- @keyframes slide-in-bottom {
2
- from {
3
- transform: translateY(100%);
4
- }
5
- to {
6
- transform: translateY(0);
7
- }
1
+ /* NDPA Toolkit Design Tokens */
2
+ :root {
3
+ --ndpr-primary: 37 99 235; /* blue-600 RGB */
4
+ --ndpr-primary-hover: 29 78 216; /* blue-700 RGB */
5
+ --ndpr-primary-foreground: 255 255 255;
6
+ --ndpr-background: 255 255 255;
7
+ --ndpr-foreground: 17 24 39; /* gray-900 RGB */
8
+ --ndpr-muted: 243 244 246; /* gray-100 RGB */
9
+ --ndpr-muted-foreground: 107 114 128; /* gray-500 RGB */
10
+ --ndpr-border: 229 231 235; /* gray-200 RGB */
11
+ --ndpr-input: 229 231 235;
12
+ --ndpr-ring: 37 99 235;
13
+ --ndpr-radius: 0.375rem;
14
+ --ndpr-success: 22 163 74; /* green-600 RGB */
15
+ --ndpr-destructive: 220 38 38; /* red-600 RGB */
16
+ --ndpr-warning: 217 119 6; /* amber-600 RGB */
8
17
  }
9
18
 
10
- @keyframes slide-in-top {
11
- from {
12
- transform: translateY(-100%);
13
- }
14
- to {
15
- transform: translateY(0);
16
- }
19
+ .dark, [data-theme="dark"] {
20
+ --ndpr-primary: 96 165 250; /* blue-400 RGB */
21
+ --ndpr-primary-hover: 147 197 253; /* blue-300 RGB */
22
+ --ndpr-primary-foreground: 255 255 255;
23
+ --ndpr-background: 31 41 55; /* gray-800 RGB */
24
+ --ndpr-foreground: 255 255 255;
25
+ --ndpr-muted: 55 65 81; /* gray-700 RGB */
26
+ --ndpr-muted-foreground: 156 163 175; /* gray-400 RGB */
27
+ --ndpr-border: 75 85 99; /* gray-600 RGB */
28
+ --ndpr-input: 75 85 99;
29
+ --ndpr-ring: 96 165 250;
17
30
  }
18
31
 
19
- @keyframes fade-in {
20
- from {
21
- opacity: 0;
22
- }
23
- to {
24
- opacity: 1;
25
- }
32
+ /* Keep existing animation keyframes */
33
+ @keyframes slide-in-bottom {
34
+ from { transform: translateY(100%); }
35
+ to { transform: translateY(0); }
26
36
  }
27
37
 
28
- .animate-slide-in {
29
- animation: slide-in-bottom 0.3s ease-out;
38
+ @keyframes slide-in-top {
39
+ from { transform: translateY(-100%); }
40
+ to { transform: translateY(0); }
30
41
  }
31
42
 
32
- .animate-slide-in-top {
33
- animation: slide-in-top 0.3s ease-out;
43
+ @keyframes fade-in {
44
+ from { opacity: 0; }
45
+ to { opacity: 1; }
34
46
  }
35
47
 
36
- .animate-fade-in {
37
- animation: fade-in 0.3s ease-out;
38
- }
48
+ .animate-slide-in { animation: slide-in-bottom 0.3s ease-out; }
49
+ .animate-slide-in-top { animation: slide-in-top 0.3s ease-out; }
50
+ .animate-fade-in { animation: fade-in 0.3s ease-out; }
@@ -0,0 +1 @@
1
+ declare module '@tantainnovative/ndpr-toolkit/styles';
package/dist/unstyled.js CHANGED
@@ -1,2 +1,2 @@
1
- 'use strict';require('./chunk-MQFZHA2D.js');var e=require('react');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var e__default=/*#__PURE__*/_interopDefault(e);var v=e.createContext(void 0);function i(){let n=e.useContext(v);if(!n)throw new Error("useConsent must be used within a ConsentProvider");return n}var C=({className:n,children:a})=>{let{showBanner:o,acceptAll:r,rejectAll:l,openSettings:c}=i();return o?e__default.default.createElement("div",{className:n,role:"region","aria-label":"Cookie consent"},a||e__default.default.createElement(e__default.default.Fragment,null,e__default.default.createElement("div",null,e__default.default.createElement("h3",null,"Cookie Consent"),e__default.default.createElement("p",null,"We use cookies to enhance your experience. By continuing to visit this site you agree to our use of cookies.")),e__default.default.createElement("div",null,e__default.default.createElement("button",{onClick:r,"aria-label":"Accept all cookies"},"Accept All"),e__default.default.createElement("button",{onClick:l,"aria-label":"Reject non-essential cookies"},"Reject All"),e__default.default.createElement("button",{onClick:c,"aria-label":"Manage cookie preferences"},"Manage Preferences")))):null};var h=[{id:"necessary",name:"Necessary Cookies",description:"These cookies are essential for the website to function properly.",disabled:true},{id:"analytics",name:"Analytics Cookies",description:"These cookies help us understand how visitors interact with our website.",disabled:false},{id:"marketing",name:"Marketing Cookies",description:"These cookies are used to track visitors across websites for marketing purposes.",disabled:false},{id:"functional",name:"Functional Cookies",description:"These cookies enable personalized features and functionality.",disabled:false}],f=({className:n,children:a})=>{let{showSettings:o,consentState:r,updateConsent:l,savePreferences:c,closeSettings:p}=i();if(!o)return null;let g=()=>{c(r);};return e__default.default.createElement("div",{className:n,role:"dialog","aria-label":"Cookie preferences"},a||e__default.default.createElement(e__default.default.Fragment,null,e__default.default.createElement("div",null,e__default.default.createElement("h2",null,"Cookie Preferences"),e__default.default.createElement("p",null,"Manage your cookie preferences. You can enable or disable different categories of cookies below.")),e__default.default.createElement("div",null,h.map(s=>e__default.default.createElement("div",{key:s.id},e__default.default.createElement("div",null,e__default.default.createElement("h4",null,s.name),e__default.default.createElement("p",null,s.description)),e__default.default.createElement("input",{type:"checkbox",checked:r[s.id],onChange:k=>l(s.id,k.target.checked),disabled:s.disabled,"aria-label":`Toggle ${s.name}`})))),e__default.default.createElement("div",null,e__default.default.createElement("button",{onClick:p,"aria-label":"Cancel changes"},"Cancel"),e__default.default.createElement("button",{onClick:g,"aria-label":"Save cookie preferences"},"Save Preferences"))))};var u=({category:n,className:a,label:o})=>{let{consentState:r,updateConsent:l}=i();return e__default.default.createElement("label",{className:a},e__default.default.createElement("input",{type:"checkbox",checked:r[n],onChange:c=>l(n,c.target.checked),"aria-label":o||`Toggle ${n} cookies`}),o&&e__default.default.createElement("span",null,o))};exports.ConsentBanner=C;exports.ConsentSettings=f;exports.ConsentToggle=u;//# sourceMappingURL=unstyled.js.map
1
+ 'use strict';require('./chunk-MQFZHA2D.js');var react=require('react'),jsxRuntime=require('react/jsx-runtime');var m=react.createContext(void 0);function a(){let e=react.useContext(m);if(!e)throw new Error("useConsent must be used within a ConsentProvider");return e}var f=({className:e,children:i})=>{let{showBanner:t,acceptAll:s,rejectAll:l,openSettings:c}=a();return t?jsxRuntime.jsx("div",{className:e,role:"region","aria-label":"Cookie consent",children:i||jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx("h3",{children:"Cookie Consent"}),jsxRuntime.jsx("p",{children:"We use cookies to enhance your experience. By continuing to visit this site you agree to our use of cookies."})]}),jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx("button",{onClick:s,"aria-label":"Accept all cookies",children:"Accept All"}),jsxRuntime.jsx("button",{onClick:l,"aria-label":"Reject non-essential cookies",children:"Reject All"}),jsxRuntime.jsx("button",{onClick:c,"aria-label":"Manage cookie preferences",children:"Manage Preferences"})]})]})}):null};var w=[{id:"necessary",name:"Necessary Cookies",description:"These cookies are essential for the website to function properly.",disabled:true},{id:"analytics",name:"Analytics Cookies",description:"These cookies help us understand how visitors interact with our website.",disabled:false},{id:"marketing",name:"Marketing Cookies",description:"These cookies are used to track visitors across websites for marketing purposes.",disabled:false},{id:"functional",name:"Functional Cookies",description:"These cookies enable personalized features and functionality.",disabled:false}],u=({className:e,children:i})=>{let{showSettings:t,consentState:s,updateConsent:l,savePreferences:c,closeSettings:k}=a();if(!t)return null;let b=()=>{c(s);};return jsxRuntime.jsx("div",{className:e,role:"dialog","aria-label":"Cookie preferences",children:i||jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx("h2",{children:"Cookie Preferences"}),jsxRuntime.jsx("p",{children:"Manage your cookie preferences. You can enable or disable different categories of cookies below."})]}),jsxRuntime.jsx("div",{children:w.map(o=>jsxRuntime.jsxs("div",{children:[jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx("h4",{children:o.name}),jsxRuntime.jsx("p",{children:o.description})]}),jsxRuntime.jsx("input",{type:"checkbox",checked:s[o.id],onChange:v=>l(o.id,v.target.checked),disabled:o.disabled,"aria-label":`Toggle ${o.name}`})]},o.id))}),jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx("button",{onClick:k,"aria-label":"Cancel changes",children:"Cancel"}),jsxRuntime.jsx("button",{onClick:b,"aria-label":"Save cookie preferences",children:"Save Preferences"})]})]})})};var g=({category:e,className:i,label:t})=>{let{consentState:s,updateConsent:l}=a();return jsxRuntime.jsxs("label",{className:i,children:[jsxRuntime.jsx("input",{type:"checkbox",checked:s[e],onChange:c=>l(e,c.target.checked),"aria-label":t||`Toggle ${e} cookies`}),t&&jsxRuntime.jsx("span",{children:t})]})};exports.ConsentBanner=f;exports.ConsentSettings=u;exports.ConsentToggle=g;//# sourceMappingURL=unstyled.js.map
2
2
  //# sourceMappingURL=unstyled.js.map
package/dist/unstyled.mjs CHANGED
@@ -1,2 +1,2 @@
1
- import'./chunk-WWT2ZSNU.mjs';import e,{createContext,useContext}from'react';var v=createContext(void 0);function i(){let n=useContext(v);if(!n)throw new Error("useConsent must be used within a ConsentProvider");return n}var C=({className:n,children:a})=>{let{showBanner:o,acceptAll:r,rejectAll:l,openSettings:c}=i();return o?e.createElement("div",{className:n,role:"region","aria-label":"Cookie consent"},a||e.createElement(e.Fragment,null,e.createElement("div",null,e.createElement("h3",null,"Cookie Consent"),e.createElement("p",null,"We use cookies to enhance your experience. By continuing to visit this site you agree to our use of cookies.")),e.createElement("div",null,e.createElement("button",{onClick:r,"aria-label":"Accept all cookies"},"Accept All"),e.createElement("button",{onClick:l,"aria-label":"Reject non-essential cookies"},"Reject All"),e.createElement("button",{onClick:c,"aria-label":"Manage cookie preferences"},"Manage Preferences")))):null};var h=[{id:"necessary",name:"Necessary Cookies",description:"These cookies are essential for the website to function properly.",disabled:true},{id:"analytics",name:"Analytics Cookies",description:"These cookies help us understand how visitors interact with our website.",disabled:false},{id:"marketing",name:"Marketing Cookies",description:"These cookies are used to track visitors across websites for marketing purposes.",disabled:false},{id:"functional",name:"Functional Cookies",description:"These cookies enable personalized features and functionality.",disabled:false}],f=({className:n,children:a})=>{let{showSettings:o,consentState:r,updateConsent:l,savePreferences:c,closeSettings:p}=i();if(!o)return null;let g=()=>{c(r);};return e.createElement("div",{className:n,role:"dialog","aria-label":"Cookie preferences"},a||e.createElement(e.Fragment,null,e.createElement("div",null,e.createElement("h2",null,"Cookie Preferences"),e.createElement("p",null,"Manage your cookie preferences. You can enable or disable different categories of cookies below.")),e.createElement("div",null,h.map(s=>e.createElement("div",{key:s.id},e.createElement("div",null,e.createElement("h4",null,s.name),e.createElement("p",null,s.description)),e.createElement("input",{type:"checkbox",checked:r[s.id],onChange:k=>l(s.id,k.target.checked),disabled:s.disabled,"aria-label":`Toggle ${s.name}`})))),e.createElement("div",null,e.createElement("button",{onClick:p,"aria-label":"Cancel changes"},"Cancel"),e.createElement("button",{onClick:g,"aria-label":"Save cookie preferences"},"Save Preferences"))))};var u=({category:n,className:a,label:o})=>{let{consentState:r,updateConsent:l}=i();return e.createElement("label",{className:a},e.createElement("input",{type:"checkbox",checked:r[n],onChange:c=>l(n,c.target.checked),"aria-label":o||`Toggle ${n} cookies`}),o&&e.createElement("span",null,o))};export{C as ConsentBanner,f as ConsentSettings,u as ConsentToggle};//# sourceMappingURL=unstyled.mjs.map
1
+ import'./chunk-WWT2ZSNU.mjs';import {createContext,useContext}from'react';import {jsx,jsxs,Fragment}from'react/jsx-runtime';var m=createContext(void 0);function a(){let e=useContext(m);if(!e)throw new Error("useConsent must be used within a ConsentProvider");return e}var f=({className:e,children:i})=>{let{showBanner:t,acceptAll:s,rejectAll:l,openSettings:c}=a();return t?jsx("div",{className:e,role:"region","aria-label":"Cookie consent",children:i||jsxs(Fragment,{children:[jsxs("div",{children:[jsx("h3",{children:"Cookie Consent"}),jsx("p",{children:"We use cookies to enhance your experience. By continuing to visit this site you agree to our use of cookies."})]}),jsxs("div",{children:[jsx("button",{onClick:s,"aria-label":"Accept all cookies",children:"Accept All"}),jsx("button",{onClick:l,"aria-label":"Reject non-essential cookies",children:"Reject All"}),jsx("button",{onClick:c,"aria-label":"Manage cookie preferences",children:"Manage Preferences"})]})]})}):null};var w=[{id:"necessary",name:"Necessary Cookies",description:"These cookies are essential for the website to function properly.",disabled:true},{id:"analytics",name:"Analytics Cookies",description:"These cookies help us understand how visitors interact with our website.",disabled:false},{id:"marketing",name:"Marketing Cookies",description:"These cookies are used to track visitors across websites for marketing purposes.",disabled:false},{id:"functional",name:"Functional Cookies",description:"These cookies enable personalized features and functionality.",disabled:false}],u=({className:e,children:i})=>{let{showSettings:t,consentState:s,updateConsent:l,savePreferences:c,closeSettings:k}=a();if(!t)return null;let b=()=>{c(s);};return jsx("div",{className:e,role:"dialog","aria-label":"Cookie preferences",children:i||jsxs(Fragment,{children:[jsxs("div",{children:[jsx("h2",{children:"Cookie Preferences"}),jsx("p",{children:"Manage your cookie preferences. You can enable or disable different categories of cookies below."})]}),jsx("div",{children:w.map(o=>jsxs("div",{children:[jsxs("div",{children:[jsx("h4",{children:o.name}),jsx("p",{children:o.description})]}),jsx("input",{type:"checkbox",checked:s[o.id],onChange:v=>l(o.id,v.target.checked),disabled:o.disabled,"aria-label":`Toggle ${o.name}`})]},o.id))}),jsxs("div",{children:[jsx("button",{onClick:k,"aria-label":"Cancel changes",children:"Cancel"}),jsx("button",{onClick:b,"aria-label":"Save cookie preferences",children:"Save Preferences"})]})]})})};var g=({category:e,className:i,label:t})=>{let{consentState:s,updateConsent:l}=a();return jsxs("label",{className:i,children:[jsx("input",{type:"checkbox",checked:s[e],onChange:c=>l(e,c.target.checked),"aria-label":t||`Toggle ${e} cookies`}),t&&jsx("span",{children:t})]})};export{f as ConsentBanner,u as ConsentSettings,g as ConsentToggle};//# sourceMappingURL=unstyled.mjs.map
2
2
  //# sourceMappingURL=unstyled.mjs.map