@tantainnovative/ndpr-toolkit 1.0.9 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +295 -124
- package/dist/breach-BpSBPrdk.d.mts +185 -0
- package/dist/breach-BpSBPrdk.d.ts +185 -0
- package/dist/breach-D5zJYNph.d.mts +17 -0
- package/dist/breach-D7NgrdMX.d.ts +17 -0
- package/dist/breach.d.mts +275 -0
- package/dist/breach.d.ts +275 -0
- package/dist/breach.js +2 -0
- package/dist/breach.js.map +1 -0
- package/dist/breach.mjs +2 -0
- package/dist/breach.mjs.map +1 -0
- package/dist/chunk-2SYNHRP6.mjs +2 -0
- package/dist/chunk-2SYNHRP6.mjs.map +1 -0
- package/dist/chunk-2XHD22J7.mjs +7 -0
- package/dist/chunk-2XHD22J7.mjs.map +1 -0
- package/dist/chunk-4A354HL3.js +2 -0
- package/dist/chunk-4A354HL3.js.map +1 -0
- package/dist/chunk-4DKT6IB6.js +94 -0
- package/dist/chunk-4DKT6IB6.js.map +1 -0
- package/dist/chunk-5ZBO2UPH.js +2 -0
- package/dist/chunk-5ZBO2UPH.js.map +1 -0
- package/dist/chunk-6JFTAYXV.mjs +2 -0
- package/dist/chunk-6JFTAYXV.mjs.map +1 -0
- package/dist/chunk-6JVYYLS7.js +2 -0
- package/dist/chunk-6JVYYLS7.js.map +1 -0
- package/dist/chunk-6SGG6WPA.mjs +2 -0
- package/dist/chunk-6SGG6WPA.mjs.map +1 -0
- package/dist/chunk-AQEGDEQM.js +7 -0
- package/dist/chunk-AQEGDEQM.js.map +1 -0
- package/dist/chunk-C2IJWCZQ.mjs +2 -0
- package/dist/chunk-C2IJWCZQ.mjs.map +1 -0
- package/dist/chunk-CMZTI7SG.js +2 -0
- package/dist/chunk-CMZTI7SG.js.map +1 -0
- package/dist/chunk-DB3JH4DS.mjs +2 -0
- package/dist/chunk-DB3JH4DS.mjs.map +1 -0
- package/dist/chunk-EWOZKYLY.mjs +2 -0
- package/dist/chunk-EWOZKYLY.mjs.map +1 -0
- package/dist/chunk-FFW7RUAG.mjs +94 -0
- package/dist/chunk-FFW7RUAG.mjs.map +1 -0
- package/dist/chunk-FK3CSFLJ.js +2 -0
- package/dist/chunk-FK3CSFLJ.js.map +1 -0
- package/dist/chunk-GIV2OHE6.mjs +2 -0
- package/dist/chunk-GIV2OHE6.mjs.map +1 -0
- package/dist/chunk-GMLNWS2N.mjs +2 -0
- package/dist/chunk-GMLNWS2N.mjs.map +1 -0
- package/dist/chunk-IQF726GS.js +2 -0
- package/dist/chunk-IQF726GS.js.map +1 -0
- package/dist/chunk-IWUUVRLJ.js +2 -0
- package/dist/chunk-IWUUVRLJ.js.map +1 -0
- package/dist/chunk-JUN6YPLL.mjs +72 -0
- package/dist/chunk-JUN6YPLL.mjs.map +1 -0
- package/dist/chunk-L3FKTBGV.js +72 -0
- package/dist/chunk-L3FKTBGV.js.map +1 -0
- package/dist/chunk-L52PDW6O.mjs +2 -0
- package/dist/chunk-L52PDW6O.mjs.map +1 -0
- package/dist/chunk-LI6WJ3LZ.js +2 -0
- package/dist/chunk-LI6WJ3LZ.js.map +1 -0
- package/dist/chunk-LXRXDTPI.js +2 -0
- package/dist/chunk-LXRXDTPI.js.map +1 -0
- package/dist/chunk-MQFZHA2D.js +2 -0
- package/dist/chunk-MQFZHA2D.js.map +1 -0
- package/dist/chunk-OITITR6K.mjs +2 -0
- package/dist/chunk-OITITR6K.mjs.map +1 -0
- package/dist/chunk-PDJGTQMY.mjs +2 -0
- package/dist/chunk-PDJGTQMY.mjs.map +1 -0
- package/dist/chunk-PGSA2O5P.mjs +2 -0
- package/dist/chunk-PGSA2O5P.mjs.map +1 -0
- package/dist/chunk-PM7CMTMB.js +4 -0
- package/dist/chunk-PM7CMTMB.js.map +1 -0
- package/dist/chunk-PYEX7DFR.mjs +4 -0
- package/dist/chunk-PYEX7DFR.mjs.map +1 -0
- package/dist/chunk-QKK5S54L.mjs +2 -0
- package/dist/chunk-QKK5S54L.mjs.map +1 -0
- package/dist/chunk-RB26MIRI.js +2 -0
- package/dist/chunk-RB26MIRI.js.map +1 -0
- package/dist/chunk-RGYK4VAY.mjs +2 -0
- package/dist/chunk-RGYK4VAY.mjs.map +1 -0
- package/dist/chunk-RHWW5FDP.js +16 -0
- package/dist/chunk-RHWW5FDP.js.map +1 -0
- package/dist/chunk-RYZEIDNR.js +2 -0
- package/dist/chunk-RYZEIDNR.js.map +1 -0
- package/dist/chunk-SLNMKGQ2.mjs +2 -0
- package/dist/chunk-SLNMKGQ2.mjs.map +1 -0
- package/dist/chunk-SSGJREE3.js +2 -0
- package/dist/chunk-SSGJREE3.js.map +1 -0
- package/dist/chunk-SWF3YVE5.js +4 -0
- package/dist/chunk-SWF3YVE5.js.map +1 -0
- package/dist/chunk-T44JQT2O.mjs +2 -0
- package/dist/chunk-T44JQT2O.mjs.map +1 -0
- package/dist/chunk-TDDAYVKK.js +2 -0
- package/dist/chunk-TDDAYVKK.js.map +1 -0
- package/dist/chunk-TXBZPCGF.mjs +2 -0
- package/dist/chunk-TXBZPCGF.mjs.map +1 -0
- package/dist/chunk-U2CGMEWB.js +2 -0
- package/dist/chunk-U2CGMEWB.js.map +1 -0
- package/dist/chunk-UUWVBENC.js +2 -0
- package/dist/chunk-UUWVBENC.js.map +1 -0
- package/dist/chunk-UYP64PV7.mjs +4 -0
- package/dist/chunk-UYP64PV7.mjs.map +1 -0
- package/dist/chunk-VMJBW3EF.mjs +2 -0
- package/dist/chunk-VMJBW3EF.mjs.map +1 -0
- package/dist/chunk-WW3X3ELF.js +2 -0
- package/dist/chunk-WW3X3ELF.js.map +1 -0
- package/dist/chunk-WWT2ZSNU.mjs +2 -0
- package/dist/chunk-WWT2ZSNU.mjs.map +1 -0
- package/dist/chunk-XMKA6GVK.mjs +16 -0
- package/dist/chunk-XMKA6GVK.mjs.map +1 -0
- package/dist/chunk-Y34DQYS7.js +2 -0
- package/dist/chunk-Y34DQYS7.js.map +1 -0
- package/dist/chunk-ZU73VG3X.js +2 -0
- package/dist/chunk-ZU73VG3X.js.map +1 -0
- package/dist/consent-CmVzqZUk.d.mts +99 -0
- package/dist/consent-CmVzqZUk.d.ts +99 -0
- package/dist/consent-DCc5zjXI.d.mts +24 -0
- package/dist/consent-DLWb5ota.d.ts +24 -0
- package/dist/consent.d.mts +197 -0
- package/dist/consent.d.ts +197 -0
- package/dist/consent.js +2 -0
- package/dist/consent.js.map +1 -0
- package/dist/consent.mjs +2 -0
- package/dist/consent.mjs.map +1 -0
- package/dist/core.d.mts +14 -0
- package/dist/core.d.ts +14 -0
- package/dist/core.js +2 -0
- package/dist/core.js.map +1 -0
- package/dist/core.mjs +2 -0
- package/dist/core.mjs.map +1 -0
- package/dist/cross-border-BrIy1ieh.d.mts +192 -0
- package/dist/cross-border-BrIy1ieh.d.ts +192 -0
- package/dist/cross-border.d.mts +58 -0
- package/dist/cross-border.d.ts +58 -0
- package/dist/cross-border.js +2 -0
- package/dist/cross-border.js.map +1 -0
- package/dist/cross-border.mjs +2 -0
- package/dist/cross-border.mjs.map +1 -0
- package/dist/dpia-B9ZZJG5a.d.mts +15 -0
- package/dist/dpia-fdtTd2DI.d.ts +15 -0
- package/dist/dpia-vWfE_9bO.d.mts +137 -0
- package/dist/dpia-vWfE_9bO.d.ts +137 -0
- package/dist/dpia.d.mts +179 -0
- package/dist/dpia.d.ts +179 -0
- package/dist/dpia.js +2 -0
- package/dist/dpia.js.map +1 -0
- package/dist/dpia.mjs +2 -0
- package/dist/dpia.mjs.map +1 -0
- package/dist/dsr-jq5NUEdz.d.ts +14 -0
- package/dist/dsr-pQzQ3H1O.d.mts +128 -0
- package/dist/dsr-pQzQ3H1O.d.ts +128 -0
- package/dist/dsr-whPkiI0_.d.mts +14 -0
- package/dist/dsr.d.mts +192 -0
- package/dist/dsr.d.ts +192 -0
- package/dist/dsr.js +2 -0
- package/dist/dsr.js.map +1 -0
- package/dist/dsr.mjs +2 -0
- package/dist/dsr.mjs.map +1 -0
- package/dist/hooks.d.mts +17 -0
- package/dist/hooks.d.ts +17 -0
- package/dist/hooks.js +2 -0
- package/dist/hooks.js.map +1 -0
- package/dist/hooks.mjs +2 -0
- package/dist/hooks.mjs.map +1 -0
- package/dist/index.d.mts +31 -448
- package/dist/index.d.ts +31 -448
- package/dist/index.js +1 -190
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1 -190
- package/dist/index.mjs.map +1 -1
- package/dist/lawful-basis-CWtvDG1x.d.mts +112 -0
- package/dist/lawful-basis-CWtvDG1x.d.ts +112 -0
- package/dist/lawful-basis-D-oXFizg.d.mts +57 -0
- package/dist/lawful-basis-v04AhbK2.d.ts +57 -0
- package/dist/lawful-basis.d.mts +55 -0
- package/dist/lawful-basis.d.ts +55 -0
- package/dist/lawful-basis.js +2 -0
- package/dist/lawful-basis.js.map +1 -0
- package/dist/lawful-basis.mjs +2 -0
- package/dist/lawful-basis.mjs.map +1 -0
- package/dist/policy.d.mts +195 -0
- package/dist/policy.d.ts +195 -0
- package/dist/policy.js +2 -0
- package/dist/policy.js.map +1 -0
- package/dist/policy.mjs +2 -0
- package/dist/policy.mjs.map +1 -0
- package/dist/privacy-9FcJceMr.d.mts +15 -0
- package/dist/privacy-BXz7O2ej.d.ts +15 -0
- package/dist/privacy-Ca6te9Ir.d.mts +138 -0
- package/dist/privacy-Ca6te9Ir.d.ts +138 -0
- package/dist/ropa-BebGfqKQ.d.ts +200 -0
- package/dist/ropa-Rb4dsFSz.d.mts +200 -0
- package/dist/ropa.d.mts +45 -0
- package/dist/ropa.d.ts +45 -0
- package/dist/ropa.js +2 -0
- package/dist/ropa.js.map +1 -0
- package/dist/ropa.mjs +2 -0
- package/dist/ropa.mjs.map +1 -0
- package/dist/unstyled.d.mts +4 -4
- package/dist/unstyled.d.ts +4 -4
- package/dist/unstyled.js +1 -1
- package/dist/unstyled.js.map +1 -1
- package/dist/unstyled.mjs +1 -1
- package/dist/unstyled.mjs.map +1 -1
- package/dist/useBreach-DRKnexsk.d.mts +99 -0
- package/dist/useBreach-DuT0N0K1.d.ts +99 -0
- package/dist/useConsent-D0pAfTlb.d.ts +65 -0
- package/dist/useConsent-DOt2Njst.d.mts +65 -0
- package/dist/useCrossBorderTransfer-D4FQYfFt.d.ts +66 -0
- package/dist/useCrossBorderTransfer-TVnY8_UX.d.mts +66 -0
- package/dist/useDPIA-DFDHBLSa.d.ts +94 -0
- package/dist/useDPIA-FqPofFaV.d.mts +94 -0
- package/dist/useDSR-DAqqOBXb.d.ts +74 -0
- package/dist/useDSR-OXM5Q9rf.d.mts +74 -0
- package/dist/useLawfulBasis-DNQ8YszQ.d.mts +68 -0
- package/dist/useLawfulBasis-RILM_xsx.d.ts +68 -0
- package/dist/usePrivacyPolicy-CfySfBLS.d.ts +89 -0
- package/dist/usePrivacyPolicy-Dit2sFuV.d.mts +89 -0
- package/dist/useROPA-Bcs6cRdi.d.ts +64 -0
- package/dist/useROPA-nmcSiUYv.d.mts +64 -0
- package/package.json +162 -35
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Lawful Basis types aligned with NDPA 2023 Part III (Sections 24-28)
|
|
3
|
+
* Every processing activity must have a documented lawful basis
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* The six lawful bases for processing personal data per NDPA Section 25(1)
|
|
7
|
+
*/
|
|
8
|
+
type LawfulBasis = 'consent' | 'contract' | 'legal_obligation' | 'vital_interests' | 'public_interest' | 'legitimate_interests';
|
|
9
|
+
/**
|
|
10
|
+
* Additional conditions required for processing sensitive personal data
|
|
11
|
+
* per NDPA Section 27
|
|
12
|
+
*/
|
|
13
|
+
type SensitiveDataCondition = 'explicit_consent' | 'employment_law' | 'vital_interests_incapable' | 'nonprofit_legitimate' | 'publicly_available' | 'legal_claims' | 'substantial_public_interest' | 'health_purposes' | 'public_health' | 'archiving_research';
|
|
14
|
+
/**
|
|
15
|
+
* Represents a processing activity and its lawful basis
|
|
16
|
+
*/
|
|
17
|
+
interface ProcessingActivity {
|
|
18
|
+
/** Unique identifier */
|
|
19
|
+
id: string;
|
|
20
|
+
/** Name of the processing activity */
|
|
21
|
+
name: string;
|
|
22
|
+
/** Description of what processing is performed */
|
|
23
|
+
description: string;
|
|
24
|
+
/** The lawful basis for this processing activity */
|
|
25
|
+
lawfulBasis: LawfulBasis;
|
|
26
|
+
/** Justification for why this lawful basis applies */
|
|
27
|
+
lawfulBasisJustification: string;
|
|
28
|
+
/** Categories of personal data being processed */
|
|
29
|
+
dataCategories: string[];
|
|
30
|
+
/** Whether sensitive personal data is involved */
|
|
31
|
+
involvesSensitiveData: boolean;
|
|
32
|
+
/** Condition for processing sensitive data (required if involvesSensitiveData is true) */
|
|
33
|
+
sensitiveDataCondition?: SensitiveDataCondition;
|
|
34
|
+
/** Categories of data subjects */
|
|
35
|
+
dataSubjectCategories: string[];
|
|
36
|
+
/** Purposes of the processing */
|
|
37
|
+
purposes: string[];
|
|
38
|
+
/** Data retention period */
|
|
39
|
+
retentionPeriod: string;
|
|
40
|
+
/** Justification for the retention period */
|
|
41
|
+
retentionJustification?: string;
|
|
42
|
+
/** Recipients or categories of recipients */
|
|
43
|
+
recipients?: string[];
|
|
44
|
+
/** Whether data is transferred outside Nigeria */
|
|
45
|
+
crossBorderTransfer: boolean;
|
|
46
|
+
/** Timestamp when the record was created */
|
|
47
|
+
createdAt: number;
|
|
48
|
+
/** Timestamp when the record was last updated */
|
|
49
|
+
updatedAt: number;
|
|
50
|
+
/** Next review date */
|
|
51
|
+
reviewDate?: number;
|
|
52
|
+
/** Status of the processing activity */
|
|
53
|
+
status: 'active' | 'inactive' | 'under_review' | 'archived';
|
|
54
|
+
/** DPO approval details */
|
|
55
|
+
dpoApproval?: {
|
|
56
|
+
approved: boolean;
|
|
57
|
+
approvedBy: string;
|
|
58
|
+
approvedAt: number;
|
|
59
|
+
notes?: string;
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Represents a Legitimate Interest Assessment (LIA)
|
|
64
|
+
* Required when the lawful basis is 'legitimate_interests'
|
|
65
|
+
*/
|
|
66
|
+
interface LegitimateInterestAssessment {
|
|
67
|
+
/** Unique identifier */
|
|
68
|
+
id: string;
|
|
69
|
+
/** ID of the associated processing activity */
|
|
70
|
+
processingActivityId: string;
|
|
71
|
+
/** Date the assessment was conducted */
|
|
72
|
+
assessmentDate: number;
|
|
73
|
+
/** Person who conducted the assessment */
|
|
74
|
+
assessor: {
|
|
75
|
+
name: string;
|
|
76
|
+
role: string;
|
|
77
|
+
email: string;
|
|
78
|
+
};
|
|
79
|
+
/** Description of the legitimate interest being pursued */
|
|
80
|
+
purposeTest: string;
|
|
81
|
+
/** Why the processing is necessary for this purpose */
|
|
82
|
+
necessityTest: string;
|
|
83
|
+
/** Balancing test: rights of data subject vs. legitimate interest */
|
|
84
|
+
balancingTest: string;
|
|
85
|
+
/** Safeguards applied to protect data subject rights */
|
|
86
|
+
safeguards: string[];
|
|
87
|
+
/** Overall conclusion */
|
|
88
|
+
conclusion: string;
|
|
89
|
+
/** Whether the assessment concluded the processing is justified */
|
|
90
|
+
approved: boolean;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Summary of all lawful basis documentation for compliance reporting
|
|
94
|
+
*/
|
|
95
|
+
interface LawfulBasisSummary {
|
|
96
|
+
/** Total number of processing activities */
|
|
97
|
+
totalActivities: number;
|
|
98
|
+
/** Breakdown by lawful basis */
|
|
99
|
+
byBasis: Record<LawfulBasis, number>;
|
|
100
|
+
/** Number of activities involving sensitive data */
|
|
101
|
+
sensitiveDataActivities: number;
|
|
102
|
+
/** Number of activities involving cross-border transfers */
|
|
103
|
+
crossBorderActivities: number;
|
|
104
|
+
/** Activities due for review */
|
|
105
|
+
activitiesDueForReview: ProcessingActivity[];
|
|
106
|
+
/** Activities without DPO approval */
|
|
107
|
+
activitiesWithoutApproval: ProcessingActivity[];
|
|
108
|
+
/** Last updated timestamp */
|
|
109
|
+
lastUpdated: number;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
export type { LawfulBasis as L, ProcessingActivity as P, SensitiveDataCondition as S, LegitimateInterestAssessment as a, LawfulBasisSummary as b };
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Lawful Basis types aligned with NDPA 2023 Part III (Sections 24-28)
|
|
3
|
+
* Every processing activity must have a documented lawful basis
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* The six lawful bases for processing personal data per NDPA Section 25(1)
|
|
7
|
+
*/
|
|
8
|
+
type LawfulBasis = 'consent' | 'contract' | 'legal_obligation' | 'vital_interests' | 'public_interest' | 'legitimate_interests';
|
|
9
|
+
/**
|
|
10
|
+
* Additional conditions required for processing sensitive personal data
|
|
11
|
+
* per NDPA Section 27
|
|
12
|
+
*/
|
|
13
|
+
type SensitiveDataCondition = 'explicit_consent' | 'employment_law' | 'vital_interests_incapable' | 'nonprofit_legitimate' | 'publicly_available' | 'legal_claims' | 'substantial_public_interest' | 'health_purposes' | 'public_health' | 'archiving_research';
|
|
14
|
+
/**
|
|
15
|
+
* Represents a processing activity and its lawful basis
|
|
16
|
+
*/
|
|
17
|
+
interface ProcessingActivity {
|
|
18
|
+
/** Unique identifier */
|
|
19
|
+
id: string;
|
|
20
|
+
/** Name of the processing activity */
|
|
21
|
+
name: string;
|
|
22
|
+
/** Description of what processing is performed */
|
|
23
|
+
description: string;
|
|
24
|
+
/** The lawful basis for this processing activity */
|
|
25
|
+
lawfulBasis: LawfulBasis;
|
|
26
|
+
/** Justification for why this lawful basis applies */
|
|
27
|
+
lawfulBasisJustification: string;
|
|
28
|
+
/** Categories of personal data being processed */
|
|
29
|
+
dataCategories: string[];
|
|
30
|
+
/** Whether sensitive personal data is involved */
|
|
31
|
+
involvesSensitiveData: boolean;
|
|
32
|
+
/** Condition for processing sensitive data (required if involvesSensitiveData is true) */
|
|
33
|
+
sensitiveDataCondition?: SensitiveDataCondition;
|
|
34
|
+
/** Categories of data subjects */
|
|
35
|
+
dataSubjectCategories: string[];
|
|
36
|
+
/** Purposes of the processing */
|
|
37
|
+
purposes: string[];
|
|
38
|
+
/** Data retention period */
|
|
39
|
+
retentionPeriod: string;
|
|
40
|
+
/** Justification for the retention period */
|
|
41
|
+
retentionJustification?: string;
|
|
42
|
+
/** Recipients or categories of recipients */
|
|
43
|
+
recipients?: string[];
|
|
44
|
+
/** Whether data is transferred outside Nigeria */
|
|
45
|
+
crossBorderTransfer: boolean;
|
|
46
|
+
/** Timestamp when the record was created */
|
|
47
|
+
createdAt: number;
|
|
48
|
+
/** Timestamp when the record was last updated */
|
|
49
|
+
updatedAt: number;
|
|
50
|
+
/** Next review date */
|
|
51
|
+
reviewDate?: number;
|
|
52
|
+
/** Status of the processing activity */
|
|
53
|
+
status: 'active' | 'inactive' | 'under_review' | 'archived';
|
|
54
|
+
/** DPO approval details */
|
|
55
|
+
dpoApproval?: {
|
|
56
|
+
approved: boolean;
|
|
57
|
+
approvedBy: string;
|
|
58
|
+
approvedAt: number;
|
|
59
|
+
notes?: string;
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Represents a Legitimate Interest Assessment (LIA)
|
|
64
|
+
* Required when the lawful basis is 'legitimate_interests'
|
|
65
|
+
*/
|
|
66
|
+
interface LegitimateInterestAssessment {
|
|
67
|
+
/** Unique identifier */
|
|
68
|
+
id: string;
|
|
69
|
+
/** ID of the associated processing activity */
|
|
70
|
+
processingActivityId: string;
|
|
71
|
+
/** Date the assessment was conducted */
|
|
72
|
+
assessmentDate: number;
|
|
73
|
+
/** Person who conducted the assessment */
|
|
74
|
+
assessor: {
|
|
75
|
+
name: string;
|
|
76
|
+
role: string;
|
|
77
|
+
email: string;
|
|
78
|
+
};
|
|
79
|
+
/** Description of the legitimate interest being pursued */
|
|
80
|
+
purposeTest: string;
|
|
81
|
+
/** Why the processing is necessary for this purpose */
|
|
82
|
+
necessityTest: string;
|
|
83
|
+
/** Balancing test: rights of data subject vs. legitimate interest */
|
|
84
|
+
balancingTest: string;
|
|
85
|
+
/** Safeguards applied to protect data subject rights */
|
|
86
|
+
safeguards: string[];
|
|
87
|
+
/** Overall conclusion */
|
|
88
|
+
conclusion: string;
|
|
89
|
+
/** Whether the assessment concluded the processing is justified */
|
|
90
|
+
approved: boolean;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Summary of all lawful basis documentation for compliance reporting
|
|
94
|
+
*/
|
|
95
|
+
interface LawfulBasisSummary {
|
|
96
|
+
/** Total number of processing activities */
|
|
97
|
+
totalActivities: number;
|
|
98
|
+
/** Breakdown by lawful basis */
|
|
99
|
+
byBasis: Record<LawfulBasis, number>;
|
|
100
|
+
/** Number of activities involving sensitive data */
|
|
101
|
+
sensitiveDataActivities: number;
|
|
102
|
+
/** Number of activities involving cross-border transfers */
|
|
103
|
+
crossBorderActivities: number;
|
|
104
|
+
/** Activities due for review */
|
|
105
|
+
activitiesDueForReview: ProcessingActivity[];
|
|
106
|
+
/** Activities without DPO approval */
|
|
107
|
+
activitiesWithoutApproval: ProcessingActivity[];
|
|
108
|
+
/** Last updated timestamp */
|
|
109
|
+
lastUpdated: number;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
export type { LawfulBasis as L, ProcessingActivity as P, SensitiveDataCondition as S, LegitimateInterestAssessment as a, LawfulBasisSummary as b };
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { P as ProcessingActivity, L as LawfulBasis, b as LawfulBasisSummary } from './lawful-basis-CWtvDG1x.mjs';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Validation result for a processing activity
|
|
5
|
+
*/
|
|
6
|
+
interface LawfulBasisValidationResult {
|
|
7
|
+
isValid: boolean;
|
|
8
|
+
errors: string[];
|
|
9
|
+
warnings: string[];
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Compliance gap identified across processing activities
|
|
13
|
+
*/
|
|
14
|
+
interface LawfulBasisComplianceGap {
|
|
15
|
+
activityId: string;
|
|
16
|
+
activityName: string;
|
|
17
|
+
type: 'missing_approval' | 'overdue_review' | 'missing_justification' | 'missing_lia' | 'missing_sensitive_condition' | 'missing_retention' | 'missing_data_categories' | 'missing_purposes';
|
|
18
|
+
severity: 'high' | 'medium' | 'low';
|
|
19
|
+
description: string;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Validates that all required fields are present on a processing activity
|
|
23
|
+
* and that the lawful basis is properly documented.
|
|
24
|
+
*
|
|
25
|
+
* If lawfulBasis is 'legitimate_interests', ensures a LIA justification exists.
|
|
26
|
+
* If involvesSensitiveData is true, ensures sensitiveDataCondition is set.
|
|
27
|
+
*
|
|
28
|
+
* @param activity The processing activity to validate
|
|
29
|
+
* @returns Validation result with errors and warnings
|
|
30
|
+
*/
|
|
31
|
+
declare function validateProcessingActivity(activity: ProcessingActivity): LawfulBasisValidationResult;
|
|
32
|
+
/**
|
|
33
|
+
* Returns a human-readable description of a lawful basis with the relevant
|
|
34
|
+
* NDPA section reference.
|
|
35
|
+
*
|
|
36
|
+
* @param basis The lawful basis to describe
|
|
37
|
+
* @returns Description string including NDPA section reference
|
|
38
|
+
*/
|
|
39
|
+
declare function getLawfulBasisDescription(basis: LawfulBasis): string;
|
|
40
|
+
/**
|
|
41
|
+
* Analyzes all processing activities and returns compliance gaps including
|
|
42
|
+
* missing DPO approval, overdue reviews, undocumented justifications,
|
|
43
|
+
* missing LIA for legitimate interests, and other documentation issues.
|
|
44
|
+
*
|
|
45
|
+
* @param activities Array of processing activities to analyze
|
|
46
|
+
* @returns Array of identified compliance gaps
|
|
47
|
+
*/
|
|
48
|
+
declare function assessComplianceGaps(activities: ProcessingActivity[]): LawfulBasisComplianceGap[];
|
|
49
|
+
/**
|
|
50
|
+
* Generates a summary of all lawful basis documentation across processing activities.
|
|
51
|
+
*
|
|
52
|
+
* @param activities Array of processing activities to summarize
|
|
53
|
+
* @returns LawfulBasisSummary with counts, breakdowns, and flagged activities
|
|
54
|
+
*/
|
|
55
|
+
declare function generateLawfulBasisSummary(activities: ProcessingActivity[]): LawfulBasisSummary;
|
|
56
|
+
|
|
57
|
+
export { type LawfulBasisComplianceGap as L, assessComplianceGaps as a, generateLawfulBasisSummary as b, type LawfulBasisValidationResult as c, getLawfulBasisDescription as g, validateProcessingActivity as v };
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { P as ProcessingActivity, L as LawfulBasis, b as LawfulBasisSummary } from './lawful-basis-CWtvDG1x.js';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Validation result for a processing activity
|
|
5
|
+
*/
|
|
6
|
+
interface LawfulBasisValidationResult {
|
|
7
|
+
isValid: boolean;
|
|
8
|
+
errors: string[];
|
|
9
|
+
warnings: string[];
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Compliance gap identified across processing activities
|
|
13
|
+
*/
|
|
14
|
+
interface LawfulBasisComplianceGap {
|
|
15
|
+
activityId: string;
|
|
16
|
+
activityName: string;
|
|
17
|
+
type: 'missing_approval' | 'overdue_review' | 'missing_justification' | 'missing_lia' | 'missing_sensitive_condition' | 'missing_retention' | 'missing_data_categories' | 'missing_purposes';
|
|
18
|
+
severity: 'high' | 'medium' | 'low';
|
|
19
|
+
description: string;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Validates that all required fields are present on a processing activity
|
|
23
|
+
* and that the lawful basis is properly documented.
|
|
24
|
+
*
|
|
25
|
+
* If lawfulBasis is 'legitimate_interests', ensures a LIA justification exists.
|
|
26
|
+
* If involvesSensitiveData is true, ensures sensitiveDataCondition is set.
|
|
27
|
+
*
|
|
28
|
+
* @param activity The processing activity to validate
|
|
29
|
+
* @returns Validation result with errors and warnings
|
|
30
|
+
*/
|
|
31
|
+
declare function validateProcessingActivity(activity: ProcessingActivity): LawfulBasisValidationResult;
|
|
32
|
+
/**
|
|
33
|
+
* Returns a human-readable description of a lawful basis with the relevant
|
|
34
|
+
* NDPA section reference.
|
|
35
|
+
*
|
|
36
|
+
* @param basis The lawful basis to describe
|
|
37
|
+
* @returns Description string including NDPA section reference
|
|
38
|
+
*/
|
|
39
|
+
declare function getLawfulBasisDescription(basis: LawfulBasis): string;
|
|
40
|
+
/**
|
|
41
|
+
* Analyzes all processing activities and returns compliance gaps including
|
|
42
|
+
* missing DPO approval, overdue reviews, undocumented justifications,
|
|
43
|
+
* missing LIA for legitimate interests, and other documentation issues.
|
|
44
|
+
*
|
|
45
|
+
* @param activities Array of processing activities to analyze
|
|
46
|
+
* @returns Array of identified compliance gaps
|
|
47
|
+
*/
|
|
48
|
+
declare function assessComplianceGaps(activities: ProcessingActivity[]): LawfulBasisComplianceGap[];
|
|
49
|
+
/**
|
|
50
|
+
* Generates a summary of all lawful basis documentation across processing activities.
|
|
51
|
+
*
|
|
52
|
+
* @param activities Array of processing activities to summarize
|
|
53
|
+
* @returns LawfulBasisSummary with counts, breakdowns, and flagged activities
|
|
54
|
+
*/
|
|
55
|
+
declare function generateLawfulBasisSummary(activities: ProcessingActivity[]): LawfulBasisSummary;
|
|
56
|
+
|
|
57
|
+
export { type LawfulBasisComplianceGap as L, assessComplianceGaps as a, generateLawfulBasisSummary as b, type LawfulBasisValidationResult as c, getLawfulBasisDescription as g, validateProcessingActivity as v };
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { P as ProcessingActivity } from './lawful-basis-CWtvDG1x.mjs';
|
|
3
|
+
export { L as LawfulBasis, b as LawfulBasisSummary, a as LegitimateInterestAssessment, S as SensitiveDataCondition } from './lawful-basis-CWtvDG1x.mjs';
|
|
4
|
+
export { u as useLawfulBasis } from './useLawfulBasis-DNQ8YszQ.mjs';
|
|
5
|
+
export { L as LawfulBasisComplianceGap, c as LawfulBasisValidationResult, a as assessComplianceGaps, b as generateLawfulBasisSummary, g as getLawfulBasisDescription, v as validateProcessingActivity } from './lawful-basis-D-oXFizg.mjs';
|
|
6
|
+
|
|
7
|
+
interface LawfulBasisTrackerProps {
|
|
8
|
+
/**
|
|
9
|
+
* List of processing activities to display
|
|
10
|
+
*/
|
|
11
|
+
activities: ProcessingActivity[];
|
|
12
|
+
/**
|
|
13
|
+
* Callback when a new activity is created
|
|
14
|
+
*/
|
|
15
|
+
onAddActivity?: (activity: Omit<ProcessingActivity, 'id' | 'createdAt' | 'updatedAt'>) => void;
|
|
16
|
+
/**
|
|
17
|
+
* Callback when an activity is updated
|
|
18
|
+
*/
|
|
19
|
+
onUpdateActivity?: (id: string, updates: Partial<ProcessingActivity>) => void;
|
|
20
|
+
/**
|
|
21
|
+
* Callback when an activity is archived
|
|
22
|
+
*/
|
|
23
|
+
onArchiveActivity?: (id: string) => void;
|
|
24
|
+
/**
|
|
25
|
+
* Title displayed on the tracker
|
|
26
|
+
* @default "Lawful Basis Tracker"
|
|
27
|
+
*/
|
|
28
|
+
title?: string;
|
|
29
|
+
/**
|
|
30
|
+
* Description text displayed on the tracker
|
|
31
|
+
* @default "Document and track the lawful basis for each processing activity as required by NDPA 2023 Section 25."
|
|
32
|
+
*/
|
|
33
|
+
description?: string;
|
|
34
|
+
/**
|
|
35
|
+
* Custom CSS class for the tracker container
|
|
36
|
+
*/
|
|
37
|
+
className?: string;
|
|
38
|
+
/**
|
|
39
|
+
* Custom CSS class for buttons
|
|
40
|
+
*/
|
|
41
|
+
buttonClassName?: string;
|
|
42
|
+
/**
|
|
43
|
+
* Whether to show the compliance summary at the top
|
|
44
|
+
* @default true
|
|
45
|
+
*/
|
|
46
|
+
showSummary?: boolean;
|
|
47
|
+
/**
|
|
48
|
+
* Whether to show compliance gap alerts
|
|
49
|
+
* @default true
|
|
50
|
+
*/
|
|
51
|
+
showComplianceGaps?: boolean;
|
|
52
|
+
}
|
|
53
|
+
declare const LawfulBasisTracker: React.FC<LawfulBasisTrackerProps>;
|
|
54
|
+
|
|
55
|
+
export { LawfulBasisTracker, ProcessingActivity };
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { P as ProcessingActivity } from './lawful-basis-CWtvDG1x.js';
|
|
3
|
+
export { L as LawfulBasis, b as LawfulBasisSummary, a as LegitimateInterestAssessment, S as SensitiveDataCondition } from './lawful-basis-CWtvDG1x.js';
|
|
4
|
+
export { u as useLawfulBasis } from './useLawfulBasis-RILM_xsx.js';
|
|
5
|
+
export { L as LawfulBasisComplianceGap, c as LawfulBasisValidationResult, a as assessComplianceGaps, b as generateLawfulBasisSummary, g as getLawfulBasisDescription, v as validateProcessingActivity } from './lawful-basis-v04AhbK2.js';
|
|
6
|
+
|
|
7
|
+
interface LawfulBasisTrackerProps {
|
|
8
|
+
/**
|
|
9
|
+
* List of processing activities to display
|
|
10
|
+
*/
|
|
11
|
+
activities: ProcessingActivity[];
|
|
12
|
+
/**
|
|
13
|
+
* Callback when a new activity is created
|
|
14
|
+
*/
|
|
15
|
+
onAddActivity?: (activity: Omit<ProcessingActivity, 'id' | 'createdAt' | 'updatedAt'>) => void;
|
|
16
|
+
/**
|
|
17
|
+
* Callback when an activity is updated
|
|
18
|
+
*/
|
|
19
|
+
onUpdateActivity?: (id: string, updates: Partial<ProcessingActivity>) => void;
|
|
20
|
+
/**
|
|
21
|
+
* Callback when an activity is archived
|
|
22
|
+
*/
|
|
23
|
+
onArchiveActivity?: (id: string) => void;
|
|
24
|
+
/**
|
|
25
|
+
* Title displayed on the tracker
|
|
26
|
+
* @default "Lawful Basis Tracker"
|
|
27
|
+
*/
|
|
28
|
+
title?: string;
|
|
29
|
+
/**
|
|
30
|
+
* Description text displayed on the tracker
|
|
31
|
+
* @default "Document and track the lawful basis for each processing activity as required by NDPA 2023 Section 25."
|
|
32
|
+
*/
|
|
33
|
+
description?: string;
|
|
34
|
+
/**
|
|
35
|
+
* Custom CSS class for the tracker container
|
|
36
|
+
*/
|
|
37
|
+
className?: string;
|
|
38
|
+
/**
|
|
39
|
+
* Custom CSS class for buttons
|
|
40
|
+
*/
|
|
41
|
+
buttonClassName?: string;
|
|
42
|
+
/**
|
|
43
|
+
* Whether to show the compliance summary at the top
|
|
44
|
+
* @default true
|
|
45
|
+
*/
|
|
46
|
+
showSummary?: boolean;
|
|
47
|
+
/**
|
|
48
|
+
* Whether to show compliance gap alerts
|
|
49
|
+
* @default true
|
|
50
|
+
*/
|
|
51
|
+
showComplianceGaps?: boolean;
|
|
52
|
+
}
|
|
53
|
+
declare const LawfulBasisTracker: React.FC<LawfulBasisTrackerProps>;
|
|
54
|
+
|
|
55
|
+
export { LawfulBasisTracker, ProcessingActivity };
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
'use strict';var chunkRB26MIRI_js=require('./chunk-RB26MIRI.js'),chunkLXRXDTPI_js=require('./chunk-LXRXDTPI.js'),chunkTDDAYVKK_js=require('./chunk-TDDAYVKK.js');require('./chunk-MQFZHA2D.js');Object.defineProperty(exports,"LawfulBasisTracker",{enumerable:true,get:function(){return chunkRB26MIRI_js.a}});Object.defineProperty(exports,"useLawfulBasis",{enumerable:true,get:function(){return chunkLXRXDTPI_js.a}});Object.defineProperty(exports,"assessComplianceGaps",{enumerable:true,get:function(){return chunkTDDAYVKK_js.c}});Object.defineProperty(exports,"generateLawfulBasisSummary",{enumerable:true,get:function(){return chunkTDDAYVKK_js.d}});Object.defineProperty(exports,"getLawfulBasisDescription",{enumerable:true,get:function(){return chunkTDDAYVKK_js.b}});Object.defineProperty(exports,"validateProcessingActivity",{enumerable:true,get:function(){return chunkTDDAYVKK_js.a}});//# sourceMappingURL=lawful-basis.js.map
|
|
2
|
+
//# sourceMappingURL=lawful-basis.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"lawful-basis.js"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export{a as LawfulBasisTracker}from'./chunk-C2IJWCZQ.mjs';export{a as useLawfulBasis}from'./chunk-L52PDW6O.mjs';export{c as assessComplianceGaps,d as generateLawfulBasisSummary,b as getLawfulBasisDescription,a as validateProcessingActivity}from'./chunk-TXBZPCGF.mjs';import'./chunk-WWT2ZSNU.mjs';//# sourceMappingURL=lawful-basis.mjs.map
|
|
2
|
+
//# sourceMappingURL=lawful-basis.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"lawful-basis.mjs"}
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { P as PolicySection, b as PolicyVariable } from './privacy-Ca6te9Ir.mjs';
|
|
3
|
+
export { O as OrganizationInfo, a as PolicyTemplate, c as PrivacyPolicy } from './privacy-Ca6te9Ir.mjs';
|
|
4
|
+
export { u as usePrivacyPolicy } from './usePrivacyPolicy-Dit2sFuV.mjs';
|
|
5
|
+
export { g as generatePolicyText } from './privacy-9FcJceMr.mjs';
|
|
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 };
|