@tantainnovative/ndpr-toolkit 1.0.0 → 1.0.2
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 +79 -24
- package/dist/index.d.ts +1 -1
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -1,45 +1,100 @@
|
|
|
1
1
|
# NDPR Toolkit
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
<div align="center">
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+

|
|
6
|
+
|
|
7
|
+
A comprehensive enterprise solution for implementing NDPR-compliant features in web applications, aligned with the Nigerian Data Protection Regulation (NDPR) and Data Protection Act (DPA).
|
|
6
8
|
|
|
7
|
-
|
|
9
|
+
[](https://www.npmjs.com/package/@tantainnovative/ndpr-toolkit)
|
|
10
|
+
[](https://github.com/tantainnovative/ndpr-toolkit/blob/main/LICENSE)
|
|
11
|
+
[](https://www.typescriptlang.org/)
|
|
12
|
+
[](https://reactjs.org/)
|
|
8
13
|
|
|
9
|
-
|
|
10
|
-
|
|
14
|
+
</div>
|
|
15
|
+
|
|
16
|
+
## Overview
|
|
17
|
+
|
|
18
|
+
The NDPR Toolkit is an enterprise-grade solution that provides a comprehensive set of React components, hooks, and utilities to help organizations implement NDPR-compliant features in their web applications with minimal development effort. Designed by compliance experts and developers, this toolkit offers a complete solution for privacy policy management, consent handling, data subject rights, breach notification, and data protection impact assessments.
|
|
11
19
|
|
|
12
20
|
> **NDPR Toolkit is actively maintained and regularly updated to ensure compliance with the latest Nigerian data protection regulations.**
|
|
13
21
|
|
|
14
|
-
## Features
|
|
22
|
+
## Key Features
|
|
23
|
+
|
|
24
|
+
### Privacy Policy Management
|
|
25
|
+
|
|
26
|
+
- **PolicyGenerator**: Create customizable, NDPR-compliant privacy policies with an intuitive form interface
|
|
27
|
+
- **PolicyPreview**: Display generated policies with professional formatting and section navigation
|
|
28
|
+
- **PolicyExporter**: Export policies in multiple formats (PDF, HTML, Markdown) with compliance notices
|
|
29
|
+
|
|
30
|
+
### Consent Management
|
|
31
|
+
|
|
32
|
+
- **ConsentBanner**: Implement cookie consent banners with customizable appearance and behavior
|
|
33
|
+
- **ConsentManager**: Track and manage user consent preferences across your application
|
|
34
|
+
- **ConsentStorage**: Securely store and retrieve consent records with built-in persistence
|
|
35
|
+
|
|
36
|
+
### Data Subject Rights (DSR)
|
|
37
|
+
|
|
38
|
+
- **DSRRequestForm**: Collect and validate data subject requests with comprehensive form validation
|
|
39
|
+
- **DSRTracker**: Monitor the status and progress of data subject requests
|
|
40
|
+
- **DSRDashboard**: Visualize and manage all data subject requests in one place
|
|
41
|
+
|
|
42
|
+
### Data Protection Impact Assessment (DPIA)
|
|
43
|
+
|
|
44
|
+
- **DPIAQuestionnaire**: Guide users through the DPIA process with step-by-step questionnaires
|
|
45
|
+
- **DPIAReport**: Generate comprehensive DPIA reports based on questionnaire responses
|
|
46
|
+
- **StepIndicator**: Track progress through multi-step DPIA processes
|
|
15
47
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
- **
|
|
19
|
-
- **
|
|
20
|
-
- **
|
|
48
|
+
### Breach Notification
|
|
49
|
+
|
|
50
|
+
- **BreachReportForm**: Collect essential information about data breaches
|
|
51
|
+
- **BreachRiskAssessment**: Evaluate the risk level of reported breaches
|
|
52
|
+
- **RegulatoryReportGenerator**: Create NDPR-compliant breach notification reports
|
|
53
|
+
- **BreachNotificationManager**: Manage the entire breach notification workflow
|
|
21
54
|
|
|
22
|
-
###
|
|
55
|
+
### Enterprise Features
|
|
23
56
|
|
|
24
|
-
- **
|
|
25
|
-
- **
|
|
26
|
-
- **
|
|
27
|
-
- **
|
|
57
|
+
- **Advanced Conditional Logic**: Support for complex conditional blocks in policy templates
|
|
58
|
+
- **Professional Formatting**: Enterprise-ready formatting for all exported documents
|
|
59
|
+
- **Comprehensive Type System**: Full TypeScript support with detailed interfaces and type definitions
|
|
60
|
+
- **Modular Architecture**: Use only the components you need with tree-shakable imports
|
|
61
|
+
- **Accessibility**: WCAG 2.1 AA compliant components for inclusive user experiences
|
|
28
62
|
|
|
29
63
|
## Installation
|
|
30
64
|
|
|
31
65
|
```bash
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
66
|
+
# Using npm
|
|
67
|
+
npm install @tantainnovative/ndpr-toolkit
|
|
68
|
+
|
|
69
|
+
# Using yarn
|
|
70
|
+
yarn add @tantainnovative/ndpr-toolkit
|
|
71
|
+
|
|
72
|
+
# Using pnpm
|
|
73
|
+
pnpm add @tantainnovative/ndpr-toolkit
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
### React 19 Compatibility
|
|
77
|
+
|
|
78
|
+
If you're using React 19 and encounter peer dependency warnings with other packages in your project, you can use the `--legacy-peer-deps` flag:
|
|
79
|
+
|
|
80
|
+
```bash
|
|
81
|
+
npm install @tantainnovative/ndpr-toolkit --legacy-peer-deps
|
|
35
82
|
```
|
|
36
83
|
|
|
84
|
+
Alternatively, you can create a `.npmrc` file in your project root with the following content:
|
|
85
|
+
|
|
86
|
+
```
|
|
87
|
+
legacy-peer-deps=true
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
This will make npm ignore peer dependency conflicts during installation.
|
|
91
|
+
|
|
37
92
|
## Quick Start
|
|
38
93
|
|
|
39
94
|
### Consent Management
|
|
40
95
|
|
|
41
96
|
```jsx
|
|
42
|
-
import { ConsentBanner, ConsentManager, ConsentStorage, useConsent } from 'ndpr-toolkit';
|
|
97
|
+
import { ConsentBanner, ConsentManager, ConsentStorage, useConsent } from '@tantainnovative/ndpr-toolkit';
|
|
43
98
|
|
|
44
99
|
function MyApp() {
|
|
45
100
|
return (
|
|
@@ -93,7 +148,7 @@ function AppContent() {
|
|
|
93
148
|
### Privacy Policy Generator
|
|
94
149
|
|
|
95
150
|
```jsx
|
|
96
|
-
import { PolicyGenerator, PolicyPreview, PolicyExporter, usePrivacyPolicy } from 'ndpr-toolkit';
|
|
151
|
+
import { PolicyGenerator, PolicyPreview, PolicyExporter, usePrivacyPolicy } from '@tantainnovative/ndpr-toolkit';
|
|
97
152
|
|
|
98
153
|
function PrivacyPolicyPage() {
|
|
99
154
|
const { policy, updateVariableValue, generatePolicy } = usePrivacyPolicy();
|
|
@@ -258,7 +313,7 @@ function AnalyticsComponent() {
|
|
|
258
313
|
### Implementing a Data Subject Rights Portal
|
|
259
314
|
|
|
260
315
|
```jsx
|
|
261
|
-
import { DSRRequestForm, useDSR } from 'ndpr-toolkit';
|
|
316
|
+
import { DSRRequestForm, DSRTracker, DSRDashboard, useDSR } from '@tantainnovative/ndpr-toolkit';
|
|
262
317
|
|
|
263
318
|
// 1. Create a form for data subjects to submit requests
|
|
264
319
|
function DSRPortal() {
|
|
@@ -295,7 +350,7 @@ function DSRPortal() {
|
|
|
295
350
|
}
|
|
296
351
|
|
|
297
352
|
// 2. Create an admin dashboard for managing requests
|
|
298
|
-
import { DSRDashboard } from 'ndpr-toolkit';
|
|
353
|
+
import { DSRDashboard } from '@tantainnovative/ndpr-toolkit';
|
|
299
354
|
|
|
300
355
|
function AdminDashboard() {
|
|
301
356
|
const { requests, updateRequest, deleteRequest } = useDSR();
|
|
@@ -313,7 +368,7 @@ function AdminDashboard() {
|
|
|
313
368
|
### Setting Up a Breach Notification System
|
|
314
369
|
|
|
315
370
|
```jsx
|
|
316
|
-
import { BreachReportForm, BreachRiskAssessment, useBreach } from 'ndpr-toolkit';
|
|
371
|
+
import { BreachReportForm, BreachRiskAssessment, RegulatoryReportGenerator, useBreach } from '@tantainnovative/ndpr-toolkit';
|
|
317
372
|
|
|
318
373
|
// 1. Create a form for reporting breaches
|
|
319
374
|
function BreachReporting() {
|
package/dist/index.d.ts
CHANGED
|
@@ -14,7 +14,7 @@ export { BreachReportForm } from './components/breach/BreachReportForm';
|
|
|
14
14
|
export { BreachRiskAssessment } from './components/breach/BreachRiskAssessment';
|
|
15
15
|
export { BreachNotificationManager } from './components/breach/BreachNotificationManager';
|
|
16
16
|
export { RegulatoryReportGenerator } from './components/breach/RegulatoryReportGenerator';
|
|
17
|
-
export type { BreachReport, RiskAssessment, NotificationRequirement } from './types/breach';
|
|
17
|
+
export type { BreachReport, RiskAssessment, NotificationRequirement, RegulatoryNotification } from './types/breach';
|
|
18
18
|
export { PolicyGenerator } from './components/policy/PolicyGenerator';
|
|
19
19
|
export { PolicyPreview } from './components/policy/PolicyPreview';
|
|
20
20
|
export { PolicyExporter } from './components/policy/PolicyExporter';
|