@tantainnovative/ndpr-toolkit 2.2.0 → 2.4.1

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 (116) hide show
  1. package/README.md +26 -11
  2. package/dist/breach.d.mts +94 -6
  3. package/dist/breach.d.ts +94 -6
  4. package/dist/breach.js +1 -1
  5. package/dist/breach.mjs +1 -1
  6. package/dist/chunk-2XFAV267.mjs +2 -0
  7. package/dist/chunk-32UIWTGD.js +72 -0
  8. package/dist/chunk-4JUDKBA2.mjs +7 -0
  9. package/dist/chunk-4VVARDN2.mjs +2 -0
  10. package/dist/chunk-5RSOLEEP.js +63 -0
  11. package/dist/chunk-AYKLAEOU.mjs +2 -0
  12. package/dist/chunk-BGHQTZAC.js +94 -0
  13. package/dist/chunk-BZTTQS4A.mjs +7 -0
  14. package/dist/chunk-CAB7O3GR.mjs +63 -0
  15. package/dist/chunk-CL53OI3I.js +7 -0
  16. package/dist/chunk-E64TU6IU.js +2 -0
  17. package/dist/chunk-EKVTLHBQ.js +2 -0
  18. package/dist/chunk-ELKEZEV5.mjs +2 -0
  19. package/dist/chunk-EPF7J2FK.js +3 -0
  20. package/dist/chunk-ER7X6E36.js +2 -0
  21. package/dist/chunk-FXTZDKDC.mjs +3 -0
  22. package/dist/chunk-IBEKLDBY.mjs +2 -0
  23. package/dist/chunk-ILCNDOBU.js +2 -0
  24. package/dist/chunk-K3GMTMQ6.js +2 -0
  25. package/dist/chunk-MJGOLP5M.js +2 -0
  26. package/dist/chunk-NW4A3JW6.mjs +2 -0
  27. package/dist/chunk-P3PULLYP.mjs +2 -0
  28. package/dist/chunk-SKJCQKFL.mjs +94 -0
  29. package/dist/chunk-TCJCE6WN.js +2 -0
  30. package/dist/chunk-UZ5EZOA7.js +2 -0
  31. package/dist/chunk-WSHSHIIM.mjs +2 -0
  32. package/dist/chunk-XMYUYQH7.mjs +72 -0
  33. package/dist/chunk-ZNTMZ6NM.js +7 -0
  34. package/dist/consent-audit-BdByjYlM.d.mts +65 -0
  35. package/dist/consent-audit-DhbfMR0n.d.ts +65 -0
  36. package/dist/consent.d.mts +55 -8
  37. package/dist/consent.d.ts +55 -8
  38. package/dist/consent.js +1 -1
  39. package/dist/consent.mjs +1 -1
  40. package/dist/core.d.mts +52 -2
  41. package/dist/core.d.ts +52 -2
  42. package/dist/core.js +1 -1
  43. package/dist/core.mjs +1 -1
  44. package/dist/{cross-border-entry-CtX8_o-_.d.ts → cross-border-entry-BrWVPly6.d.ts} +7 -0
  45. package/dist/{cross-border-entry-BfF7jw5o.d.mts → cross-border-entry-cCTvpwnT.d.mts} +7 -0
  46. package/dist/cross-border.d.mts +1 -1
  47. package/dist/cross-border.d.ts +1 -1
  48. package/dist/cross-border.js +1 -1
  49. package/dist/cross-border.mjs +1 -1
  50. package/dist/dpia.d.mts +14 -0
  51. package/dist/dpia.d.ts +14 -0
  52. package/dist/dpia.js +1 -1
  53. package/dist/dpia.mjs +1 -1
  54. package/dist/dsr.d.mts +60 -5
  55. package/dist/dsr.d.ts +60 -5
  56. package/dist/dsr.js +1 -1
  57. package/dist/dsr.mjs +1 -1
  58. package/dist/hooks.d.mts +1 -1
  59. package/dist/hooks.d.ts +1 -1
  60. package/dist/hooks.js +1 -1
  61. package/dist/hooks.mjs +1 -1
  62. package/dist/index.d.mts +11 -10
  63. package/dist/index.d.ts +11 -10
  64. package/dist/index.js +1 -1
  65. package/dist/index.mjs +1 -1
  66. package/dist/{lawful-basis-entry-BeSX7u0U.d.ts → lawful-basis-entry-15qjKcNO.d.ts} +6 -0
  67. package/dist/{lawful-basis-entry-CMPPM9Rh.d.mts → lawful-basis-entry-CxZrofwG.d.mts} +6 -0
  68. package/dist/lawful-basis.d.mts +1 -1
  69. package/dist/lawful-basis.d.ts +1 -1
  70. package/dist/lawful-basis.js +1 -1
  71. package/dist/lawful-basis.mjs +1 -1
  72. package/dist/{policy-dmsRlqgM.d.ts → policy-D2_jh5-T.d.ts} +15 -5
  73. package/dist/{policy-kZN23hrR.d.mts → policy-E0fXZkda.d.mts} +15 -5
  74. package/dist/policy-templates-CIKcV0i1.d.ts +36 -0
  75. package/dist/policy-templates-DMsPwOSZ.d.mts +36 -0
  76. package/dist/policy.d.mts +3 -3
  77. package/dist/policy.d.ts +3 -3
  78. package/dist/policy.js +1 -1
  79. package/dist/policy.mjs +1 -1
  80. package/dist/{ropa-entry-DIEQ9WFs.d.ts → ropa-entry-B0D7X1GV.d.ts} +10 -1
  81. package/dist/{ropa-entry-CZJ91ymk.d.mts → ropa-entry-DiOThOc2.d.mts} +10 -1
  82. package/dist/ropa.d.mts +1 -1
  83. package/dist/ropa.d.ts +1 -1
  84. package/dist/ropa.js +1 -1
  85. package/dist/ropa.mjs +1 -1
  86. package/dist/styles.css +40 -28
  87. package/dist/styles.d.ts +1 -0
  88. package/dist/{usePrivacyPolicy-CfySfBLS.d.ts → useDefaultPrivacyPolicy-B7kTHbZh.d.ts} +39 -2
  89. package/dist/{usePrivacyPolicy-Dit2sFuV.d.mts → useDefaultPrivacyPolicy-CUluF_ic.d.mts} +39 -2
  90. package/package.json +9 -7
  91. package/dist/chunk-4RGDNVR5.mjs +0 -72
  92. package/dist/chunk-6LM3RAFO.js +0 -7
  93. package/dist/chunk-7DNQSOER.js +0 -2
  94. package/dist/chunk-A7DRHSDQ.mjs +0 -2
  95. package/dist/chunk-DB3JH4DS.mjs +0 -2
  96. package/dist/chunk-FC6EG34C.js +0 -72
  97. package/dist/chunk-FDB6KZUD.mjs +0 -2
  98. package/dist/chunk-FZUCKGIM.mjs +0 -7
  99. package/dist/chunk-G3JNFZPT.js +0 -2
  100. package/dist/chunk-HXCRMA4J.mjs +0 -2
  101. package/dist/chunk-IC7VOOKJ.mjs +0 -2
  102. package/dist/chunk-ICUZG6CD.mjs +0 -2
  103. package/dist/chunk-IW5PHOG7.mjs +0 -7
  104. package/dist/chunk-IWUUVRLJ.js +0 -2
  105. package/dist/chunk-JKEAPTYP.js +0 -7
  106. package/dist/chunk-N52S64SU.js +0 -2
  107. package/dist/chunk-PM7CMTMB.js +0 -4
  108. package/dist/chunk-SKAMVXBI.mjs +0 -94
  109. package/dist/chunk-UYP64PV7.mjs +0 -4
  110. package/dist/chunk-VURIXCGY.js +0 -2
  111. package/dist/chunk-VXRY3V42.js +0 -94
  112. package/dist/chunk-YBPHGEL2.js +0 -2
  113. package/dist/consent-DCc5zjXI.d.mts +0 -24
  114. package/dist/consent-DLWb5ota.d.ts +0 -24
  115. package/dist/privacy-9FcJceMr.d.mts +0 -15
  116. package/dist/privacy-BXz7O2ej.d.ts +0 -15
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import { P as PolicySection, b as PolicyVariable } from './privacy-Ca6te9Ir.mjs';
3
- import './usePrivacyPolicy-Dit2sFuV.mjs';
4
- import './privacy-9FcJceMr.mjs';
3
+ import './useDefaultPrivacyPolicy-CUluF_ic.mjs';
4
+ import './policy-templates-DMsPwOSZ.mjs';
5
5
 
6
6
  interface PolicyGeneratorClassNames {
7
7
  /** Root container */
@@ -22,18 +22,22 @@ interface PolicyGeneratorClassNames {
22
22
  input?: string;
23
23
  /** Generate button */
24
24
  generateButton?: string;
25
+ /** Alias for generateButton */
26
+ primaryButton?: string;
25
27
  /** NDPA compliance notice */
26
28
  complianceNotice?: string;
27
29
  }
28
30
  interface PolicyGeneratorProps {
29
31
  /**
30
32
  * List of policy sections
33
+ * @default DEFAULT_POLICY_SECTIONS
31
34
  */
32
- sections: PolicySection[];
35
+ sections?: PolicySection[];
33
36
  /**
34
37
  * List of policy variables
38
+ * @default DEFAULT_POLICY_VARIABLES
35
39
  */
36
- variables: PolicyVariable[];
40
+ variables?: PolicyVariable[];
37
41
  /**
38
42
  * Callback function called when the policy is generated
39
43
  */
@@ -49,7 +53,7 @@ interface PolicyGeneratorProps {
49
53
  title?: string;
50
54
  /**
51
55
  * Description text displayed on the generator
52
- * @default "Generate an NDPA-compliant privacy policy for your organization."
56
+ * @default "Generate an NDPA-compliant privacy policy for your organization in accordance with NDPA Section 24."
53
57
  */
54
58
  description?: string;
55
59
  /**
@@ -85,6 +89,10 @@ interface PolicyGeneratorProps {
85
89
  */
86
90
  unstyled?: boolean;
87
91
  }
92
+ /**
93
+ * Privacy policy generator component. Implements NDPA Section 24 transparency requirements,
94
+ * helping organizations generate compliant privacy policies that disclose required information.
95
+ */
88
96
  declare const PolicyGenerator: React.FC<PolicyGeneratorProps>;
89
97
 
90
98
  interface PolicyPreviewClassNames {
@@ -201,6 +209,8 @@ interface PolicyExporterClassNames {
201
209
  formatOption?: string;
202
210
  /** Export button */
203
211
  exportButton?: string;
212
+ /** Alias for exportButton */
213
+ primaryButton?: string;
204
214
  /** NDPA compliance / export tips notice */
205
215
  complianceNotice?: string;
206
216
  /** Preview / export history area */
@@ -0,0 +1,36 @@
1
+ import { P as PolicySection, O as OrganizationInfo, b as PolicyVariable } from './privacy-Ca6te9Ir.js';
2
+
3
+ /**
4
+ * Generates policy text by replacing variables in a template with organization-specific values
5
+ * @param sectionsOrTemplate The policy sections or template string to generate text for
6
+ * @param organizationInfoOrVariables The organization information or variable map to use for replacement
7
+ * @returns The generated policy text or an object with the generated text and metadata
8
+ */
9
+ declare function generatePolicyText(sectionsOrTemplate: PolicySection[] | string, organizationInfoOrVariables: OrganizationInfo | Record<string, string>): string | {
10
+ fullText: string;
11
+ sectionTexts: Record<string, string>;
12
+ missingVariables: string[];
13
+ };
14
+
15
+ /**
16
+ * Default NDPA-compliant privacy policy sections.
17
+ * Each section uses {{variable}} placeholders that are resolved at generation time.
18
+ */
19
+ declare const DEFAULT_POLICY_SECTIONS: PolicySection[];
20
+ /**
21
+ * Default policy variables for NDPA-compliant privacy policies.
22
+ * These map to the {{variable}} placeholders used in DEFAULT_POLICY_SECTIONS.
23
+ */
24
+ declare const DEFAULT_POLICY_VARIABLES: PolicyVariable[];
25
+ /**
26
+ * Creates a complete business privacy policy template with default
27
+ * NDPA-compliant sections and variables.
28
+ *
29
+ * @returns An object containing the default sections and variables.
30
+ */
31
+ declare function createBusinessPolicyTemplate(): {
32
+ sections: PolicySection[];
33
+ variables: PolicyVariable[];
34
+ };
35
+
36
+ export { DEFAULT_POLICY_SECTIONS as D, DEFAULT_POLICY_VARIABLES as a, createBusinessPolicyTemplate as c, generatePolicyText as g };
@@ -0,0 +1,36 @@
1
+ import { P as PolicySection, O as OrganizationInfo, b as PolicyVariable } from './privacy-Ca6te9Ir.mjs';
2
+
3
+ /**
4
+ * Generates policy text by replacing variables in a template with organization-specific values
5
+ * @param sectionsOrTemplate The policy sections or template string to generate text for
6
+ * @param organizationInfoOrVariables The organization information or variable map to use for replacement
7
+ * @returns The generated policy text or an object with the generated text and metadata
8
+ */
9
+ declare function generatePolicyText(sectionsOrTemplate: PolicySection[] | string, organizationInfoOrVariables: OrganizationInfo | Record<string, string>): string | {
10
+ fullText: string;
11
+ sectionTexts: Record<string, string>;
12
+ missingVariables: string[];
13
+ };
14
+
15
+ /**
16
+ * Default NDPA-compliant privacy policy sections.
17
+ * Each section uses {{variable}} placeholders that are resolved at generation time.
18
+ */
19
+ declare const DEFAULT_POLICY_SECTIONS: PolicySection[];
20
+ /**
21
+ * Default policy variables for NDPA-compliant privacy policies.
22
+ * These map to the {{variable}} placeholders used in DEFAULT_POLICY_SECTIONS.
23
+ */
24
+ declare const DEFAULT_POLICY_VARIABLES: PolicyVariable[];
25
+ /**
26
+ * Creates a complete business privacy policy template with default
27
+ * NDPA-compliant sections and variables.
28
+ *
29
+ * @returns An object containing the default sections and variables.
30
+ */
31
+ declare function createBusinessPolicyTemplate(): {
32
+ sections: PolicySection[];
33
+ variables: PolicyVariable[];
34
+ };
35
+
36
+ export { DEFAULT_POLICY_SECTIONS as D, DEFAULT_POLICY_VARIABLES as a, createBusinessPolicyTemplate as c, generatePolicyText as g };
package/dist/policy.d.mts CHANGED
@@ -1,5 +1,5 @@
1
- export { P as PolicyExporter, b as PolicyGenerator, d as PolicyPreview } from './policy-kZN23hrR.mjs';
2
- export { u as usePrivacyPolicy } from './usePrivacyPolicy-Dit2sFuV.mjs';
3
- export { g as generatePolicyText } from './privacy-9FcJceMr.mjs';
1
+ export { P as PolicyExporter, b as PolicyGenerator, d as PolicyPreview } from './policy-E0fXZkda.mjs';
2
+ export { u as useDefaultPrivacyPolicy, a as usePrivacyPolicy } from './useDefaultPrivacyPolicy-CUluF_ic.mjs';
3
+ export { D as DEFAULT_POLICY_SECTIONS, a as DEFAULT_POLICY_VARIABLES, c as createBusinessPolicyTemplate, g as generatePolicyText } from './policy-templates-DMsPwOSZ.mjs';
4
4
  export { O as OrganizationInfo, P as PolicySection, a as PolicyTemplate, b as PolicyVariable, c as PrivacyPolicy } from './privacy-Ca6te9Ir.mjs';
5
5
  import 'react';
package/dist/policy.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- export { P as PolicyExporter, b as PolicyGenerator, d as PolicyPreview } from './policy-dmsRlqgM.js';
2
- export { u as usePrivacyPolicy } from './usePrivacyPolicy-CfySfBLS.js';
3
- export { g as generatePolicyText } from './privacy-BXz7O2ej.js';
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
4
  export { O as OrganizationInfo, P as PolicySection, a as PolicyTemplate, b as PolicyVariable, c as PrivacyPolicy } from './privacy-Ca6te9Ir.js';
5
5
  import 'react';
package/dist/policy.js CHANGED
@@ -1,2 +1,2 @@
1
- 'use strict';var chunkVXRY3V42_js=require('./chunk-VXRY3V42.js'),chunkIWUUVRLJ_js=require('./chunk-IWUUVRLJ.js'),chunkPM7CMTMB_js=require('./chunk-PM7CMTMB.js');require('./chunk-VURIXCGY.js'),require('./chunk-MQFZHA2D.js');Object.defineProperty(exports,"PolicyExporter",{enumerable:true,get:function(){return chunkVXRY3V42_js.c}});Object.defineProperty(exports,"PolicyGenerator",{enumerable:true,get:function(){return chunkVXRY3V42_js.a}});Object.defineProperty(exports,"PolicyPreview",{enumerable:true,get:function(){return chunkVXRY3V42_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-SKAMVXBI.mjs';export{a as usePrivacyPolicy}from'./chunk-DB3JH4DS.mjs';export{a as generatePolicyText}from'./chunk-UYP64PV7.mjs';import'./chunk-FDB6KZUD.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
@@ -16,8 +16,12 @@ interface ROPAManagerClassNames {
16
16
  input?: string;
17
17
  select?: string;
18
18
  submitButton?: string;
19
+ /** Alias for submitButton */
20
+ primaryButton?: string;
19
21
  statusBadge?: string;
20
22
  exportButton?: string;
23
+ /** Alias for exportButton */
24
+ secondaryButton?: string;
21
25
  complianceGap?: string;
22
26
  }
23
27
  interface ROPAManagerProps {
@@ -44,7 +48,7 @@ interface ROPAManagerProps {
44
48
  title?: string;
45
49
  /**
46
50
  * Description text
47
- * @default "Maintain a comprehensive record of all data processing activities as required by the NDPA 2023."
51
+ * @default "Maintain a comprehensive record of all data processing activities as required by the NDPA accountability principle."
48
52
  */
49
53
  description?: string;
50
54
  /**
@@ -66,6 +70,11 @@ interface ROPAManagerProps {
66
70
  */
67
71
  unstyled?: boolean;
68
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
+ */
69
78
  declare const ROPAManager: React.FC<ROPAManagerProps>;
70
79
 
71
80
  export { ROPAManager as R, type ROPAManagerClassNames as a };
@@ -16,8 +16,12 @@ interface ROPAManagerClassNames {
16
16
  input?: string;
17
17
  select?: string;
18
18
  submitButton?: string;
19
+ /** Alias for submitButton */
20
+ primaryButton?: string;
19
21
  statusBadge?: string;
20
22
  exportButton?: string;
23
+ /** Alias for exportButton */
24
+ secondaryButton?: string;
21
25
  complianceGap?: string;
22
26
  }
23
27
  interface ROPAManagerProps {
@@ -44,7 +48,7 @@ interface ROPAManagerProps {
44
48
  title?: string;
45
49
  /**
46
50
  * Description text
47
- * @default "Maintain a comprehensive record of all data processing activities as required by the NDPA 2023."
51
+ * @default "Maintain a comprehensive record of all data processing activities as required by the NDPA accountability principle."
48
52
  */
49
53
  description?: string;
50
54
  /**
@@ -66,6 +70,11 @@ interface ROPAManagerProps {
66
70
  */
67
71
  unstyled?: boolean;
68
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
+ */
69
78
  declare const ROPAManager: React.FC<ROPAManagerProps>;
70
79
 
71
80
  export { ROPAManager as R, type ROPAManagerClassNames as a };
package/dist/ropa.d.mts CHANGED
@@ -1,4 +1,4 @@
1
- export { R as ROPAManager } from './ropa-entry-CZJ91ymk.mjs';
1
+ export { R as ROPAManager } from './ropa-entry-DiOThOc2.mjs';
2
2
  export { U as UseROPAOptions, a as UseROPAReturn, u as useROPA } from './useROPA-DLFdjkxP.mjs';
3
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
4
  import 'react';
package/dist/ropa.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export { R as ROPAManager } from './ropa-entry-DIEQ9WFs.js';
1
+ export { R as ROPAManager } from './ropa-entry-B0D7X1GV.js';
2
2
  export { U as UseROPAOptions, a as UseROPAReturn, u as useROPA } from './useROPA-BhJ3kvHp.js';
3
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
4
  import 'react';
package/dist/ropa.js CHANGED
@@ -1,2 +1,2 @@
1
- 'use strict';var chunkG3JNFZPT_js=require('./chunk-G3JNFZPT.js'),chunk4A354HL3_js=require('./chunk-4A354HL3.js'),chunkSWF3YVE5_js=require('./chunk-SWF3YVE5.js');require('./chunk-VURIXCGY.js'),require('./chunk-MQFZHA2D.js');Object.defineProperty(exports,"ROPAManager",{enumerable:true,get:function(){return chunkG3JNFZPT_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-A7DRHSDQ.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-FDB6KZUD.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';
@@ -1,4 +1,4 @@
1
- import { a as PolicyTemplate, c as PrivacyPolicy, O as OrganizationInfo } from './privacy-Ca6te9Ir.js';
1
+ import { c as PrivacyPolicy, a as PolicyTemplate, O as OrganizationInfo } from './privacy-Ca6te9Ir.js';
2
2
 
3
3
  interface UsePrivacyPolicyOptions {
4
4
  /**
@@ -86,4 +86,41 @@ interface UsePrivacyPolicyReturn {
86
86
  */
87
87
  declare function usePrivacyPolicy({ templates, initialPolicy, storageKey, useLocalStorage, onGenerate }: UsePrivacyPolicyOptions): UsePrivacyPolicyReturn;
88
88
 
89
- export { usePrivacyPolicy as u };
89
+ interface UseDefaultPrivacyPolicyOptions {
90
+ /**
91
+ * Organisation information to pre-fill into the policy variables.
92
+ */
93
+ orgInfo?: {
94
+ /** Organisation name */
95
+ name?: string;
96
+ /** Privacy contact email */
97
+ email?: string;
98
+ /** Data Protection Officer name */
99
+ dpoName?: string;
100
+ };
101
+ /**
102
+ * Storage key for policy data.
103
+ * @default "ndpr_privacy_policy"
104
+ */
105
+ storageKey?: string;
106
+ /**
107
+ * Whether to persist policy data in local storage.
108
+ * @default true
109
+ */
110
+ useLocalStorage?: boolean;
111
+ }
112
+ /**
113
+ * Convenience wrapper around `usePrivacyPolicy` that automatically
114
+ * loads the default NDPA-compliant business policy template and
115
+ * pre-fills common organisation variables.
116
+ *
117
+ * @example
118
+ * ```tsx
119
+ * const policy = useDefaultPrivacyPolicy({
120
+ * orgInfo: { name: 'Acme Ltd', email: 'privacy@acme.ng', dpoName: 'Jane Doe' }
121
+ * });
122
+ * ```
123
+ */
124
+ declare function useDefaultPrivacyPolicy(options?: UseDefaultPrivacyPolicyOptions): UsePrivacyPolicyReturn;
125
+
126
+ export { usePrivacyPolicy as a, useDefaultPrivacyPolicy as u };
@@ -1,4 +1,4 @@
1
- import { a as PolicyTemplate, c as PrivacyPolicy, O as OrganizationInfo } from './privacy-Ca6te9Ir.mjs';
1
+ import { c as PrivacyPolicy, a as PolicyTemplate, O as OrganizationInfo } from './privacy-Ca6te9Ir.mjs';
2
2
 
3
3
  interface UsePrivacyPolicyOptions {
4
4
  /**
@@ -86,4 +86,41 @@ interface UsePrivacyPolicyReturn {
86
86
  */
87
87
  declare function usePrivacyPolicy({ templates, initialPolicy, storageKey, useLocalStorage, onGenerate }: UsePrivacyPolicyOptions): UsePrivacyPolicyReturn;
88
88
 
89
- export { usePrivacyPolicy as u };
89
+ interface UseDefaultPrivacyPolicyOptions {
90
+ /**
91
+ * Organisation information to pre-fill into the policy variables.
92
+ */
93
+ orgInfo?: {
94
+ /** Organisation name */
95
+ name?: string;
96
+ /** Privacy contact email */
97
+ email?: string;
98
+ /** Data Protection Officer name */
99
+ dpoName?: string;
100
+ };
101
+ /**
102
+ * Storage key for policy data.
103
+ * @default "ndpr_privacy_policy"
104
+ */
105
+ storageKey?: string;
106
+ /**
107
+ * Whether to persist policy data in local storage.
108
+ * @default true
109
+ */
110
+ useLocalStorage?: boolean;
111
+ }
112
+ /**
113
+ * Convenience wrapper around `usePrivacyPolicy` that automatically
114
+ * loads the default NDPA-compliant business policy template and
115
+ * pre-fills common organisation variables.
116
+ *
117
+ * @example
118
+ * ```tsx
119
+ * const policy = useDefaultPrivacyPolicy({
120
+ * orgInfo: { name: 'Acme Ltd', email: 'privacy@acme.ng', dpoName: 'Jane Doe' }
121
+ * });
122
+ * ```
123
+ */
124
+ declare function useDefaultPrivacyPolicy(options?: UseDefaultPrivacyPolicyOptions): UsePrivacyPolicyReturn;
125
+
126
+ export { usePrivacyPolicy as a, useDefaultPrivacyPolicy as u };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tantainnovative/ndpr-toolkit",
3
- "version": "2.2.0",
3
+ "version": "2.4.1",
4
4
  "private": false,
5
5
  "description": "Nigeria Data Protection Toolkit — enterprise-grade compliance components for the Nigeria Data Protection Act (NDPA) 2023",
6
6
  "keywords": [
@@ -96,7 +96,11 @@
96
96
  "import": "./dist/unstyled.mjs",
97
97
  "require": "./dist/unstyled.js"
98
98
  },
99
- "./styles": "./dist/styles.css"
99
+ "./styles": {
100
+ "types": "./dist/styles.d.ts",
101
+ "import": "./dist/styles.css",
102
+ "require": "./dist/styles.css"
103
+ }
100
104
  },
101
105
  "typesVersions": {
102
106
  "*": {
@@ -150,9 +154,7 @@
150
154
  "sideEffects": [
151
155
  "*.css"
152
156
  ],
153
- "dependencies": {
154
- "uuid": "^13.0.0"
155
- },
157
+ "dependencies": {},
156
158
  "peerDependencies": {
157
159
  "@radix-ui/react-label": "^2.1.4",
158
160
  "@radix-ui/react-slot": "^1.2.0",
@@ -161,7 +163,7 @@
161
163
  "class-variance-authority": "^0.7.1",
162
164
  "clsx": "^2.1.1",
163
165
  "jspdf": "^3.0.3",
164
- "lucide-react": "^0.507.0",
166
+ "lucide-react": ">=0.400.0",
165
167
  "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0",
166
168
  "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0",
167
169
  "tailwind-merge": "^2.6.0"
@@ -243,7 +245,7 @@
243
245
  "scripts": {
244
246
  "dev": "next dev --turbopack",
245
247
  "build": "next build && node scripts/post-build.js",
246
- "build:lib": "tsup",
248
+ "build:lib": "tsup && cp packages/ndpr-toolkit/src/styles.d.ts dist/styles.d.ts",
247
249
  "start": "next start",
248
250
  "lint": "next lint",
249
251
  "test": "jest --passWithNoTests",