datakeen-session-react 1.1.8 → 1.1.9

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 CHANGED
@@ -1,188 +1,87 @@
1
- # SDK Datakeen Session React
1
+ # Guide d'intégration - Datakeen Session React SDK
2
2
 
3
- <div style="background-color: #11E5C5; height: 8px; width: 100px; margin-bottom: 20px;"></div>
3
+ ## Résolution du problème ReactCurrentDispatcher
4
4
 
5
- <div style="display: flex; align-items: center; margin-bottom: 30px;">
6
- <img src="./assets/logo.svg" alt="Datakeen Logo" width="180"/>
7
- <span style="font-size: 20px; color: #3C3C40; margin-left: 20px; font-weight: 500;">Documentation Technique</span>
8
- </div>
5
+ Le problème `Cannot read properties of undefined (reading 'ReactCurrentDispatcher')` a été résolu en optimisant la configuration Vite pour un SDK React.
9
6
 
10
- <div style="color: #3C3C40; font-size: 16px;">
7
+ ### Changements apportés
11
8
 
12
- ## 📦 Installation du SDK
9
+ 1. **Configuration Vite** (`vite.config.ts`) :
10
+ - Ajout du JSX runtime automatique
11
+ - Externalisation de React, React-DOM et JSX runtime
12
+ - Externalisation des dépendances UI (Radix, Headless UI, Lucide)
13
13
 
14
- Pour intégrer le SDK Datakeen Session dans votre projet React, vous pouvez utiliser npm, yarn ou pnpm :
14
+ 2. **Gestion des dépendances** (`package.json`) :
15
+ - React et React-DOM déplacés vers `peerDependencies` et `devDependencies`
16
+ - Dépendances UI déplacées vers `peerDependencies` pour éviter la duplication
17
+
18
+ ### Installation dans une application React
15
19
 
16
20
  ```bash
17
- # Via npm
18
21
  npm install datakeen-session-react
19
-
20
- # Via yarn
21
- yarn add datakeen-session-react
22
-
23
- # Via pnpm
24
- pnpm add datakeen-session-react
25
22
  ```
26
23
 
27
- ## 🚀 Guide de démarrage rapide
28
-
29
- ### Prérequis
30
-
31
- - Une application React fonctionnelle (React 16.8+ recommandé pour support des Hooks)
32
- - Un identifiant de session Datakeen valide (obtenu via l'API Datakeen)
33
-
34
- ### Étape 1 : Importer le SDK
35
-
36
- ```jsx
37
- import useSession from "datakeen-session-react";
38
- ```
24
+ **Important :** Assurez-vous d'avoir installé toutes les peer dependencies :
39
25
 
40
- ### Étape 2 : Initialiser et afficher la session
41
-
42
- ```jsx
43
- const MonComposant = () => {
44
- // Initialisation avec l'ID de session
45
- const { SessionComponent } = useSession("votre-session-id");
46
-
47
- return (
48
- <div>
49
- {/* Intégrez le composant de session où vous le souhaitez */}
50
- {SessionComponent}
51
- </div>
52
- );
53
- };
26
+ ```bash
27
+ npm install react react-dom axios @headlessui/react @radix-ui/react-checkbox @radix-ui/react-icons @radix-ui/react-label @radix-ui/react-select lucide-react
54
28
  ```
55
29
 
56
- ## 💡 Cas d'utilisation courants
57
-
58
- ### Intégration dans une page de vérification d'identité
30
+ ### Utilisation
59
31
 
60
- ```jsx
61
- import React from "react";
62
- import useSession from "datakeen-session-react";
63
-
64
- const VerificationPage = () => {
65
- // Vous pouvez récupérer l'ID de session depuis votre backend
66
- const sessionId = "votre-session-id";
67
- const { SessionComponent } = useSession(sessionId);
32
+ ```tsx
33
+ import React from 'react';
34
+ import useSession from 'datakeen-session-react';
68
35
 
36
+ function App() {
37
+ const session = useSession();
38
+
69
39
  return (
70
- <div className="verification-container">
71
- <h1>Vérification d'identité</h1>
72
- <p>Merci de suivre les étapes ci-dessous pour vérifier votre identité</p>
73
-
74
- {/* Le SDK gère automatiquement toutes les étapes du processus */}
75
- <div className="session-wrapper">{SessionComponent}</div>
40
+ <div className="App">
41
+ {/* Votre composant utilisant le SDK */}
76
42
  </div>
77
43
  );
78
- };
79
- ```
44
+ }
80
45
 
81
- ### Intégration dans un flux d'onboarding
82
-
83
- ```jsx
84
- import React, { useState } from "react";
85
- import useSession from "datakeen-session-react";
86
-
87
- const OnboardingFlow = () => {
88
- const [step, setStep] = useState(1);
89
- const [sessionId, setSessionId] = useState(null);
90
-
91
- // Fonction pour initialiser la session après l'étape 1
92
- const initializeSession = async (userData) => {
93
- // Exemple d'appel API pour obtenir un ID de session
94
- const response = await fetch("https://api.votreservice.com/init-session", {
95
- method: "POST",
96
- body: JSON.stringify(userData),
97
- });
98
-
99
- const data = await response.json();
100
- setSessionId(data.sessionId);
101
- setStep(2);
102
- };
103
-
104
- // Rendu conditionnel basé sur l'étape
105
- if (step === 1) {
106
- return (
107
- <div>
108
- <h2>Étape 1: Informations de base</h2>
109
- {/* Votre formulaire de collecte d'informations */}
110
- <button
111
- onClick={() =>
112
- initializeSession({
113
- /* données utilisateur */
114
- })
115
- }
116
- >
117
- Continuer
118
- </button>
119
- </div>
120
- );
121
- }
122
-
123
- if (step === 2 && sessionId) {
124
- const { SessionComponent } = useSession(sessionId);
125
-
126
- return (
127
- <div>
128
- <h2>Étape 2: Vérification d'identité</h2>
129
- {SessionComponent}
130
- </div>
131
- );
132
- }
133
- };
46
+ export default App;
134
47
  ```
135
48
 
136
- ## 📋 Flux de vérification supportés
137
-
138
- Le SDK prend en charge les documents d'identité des pays suivants :
49
+ ### CSS
139
50
 
140
- - 🇫🇷 France
51
+ N'oubliez pas d'importer le CSS du SDK :
141
52
 
142
- Les types de documents supportés incluent :
143
-
144
- - Carte Nationale d'Identité
145
- - Passeport
146
- - Permis de conduire
147
- - Titre de séjour
53
+ ```css
54
+ @import 'datakeen-session-react/dist/datakeen-session-react.css';
55
+ ```
148
56
 
149
- ## 🔧 Personnalisation
57
+ ### Résolution des problèmes
150
58
 
151
- Le SDK s'intègre naturellement avec votre interface utilisateur et adopte automatiquement les styles CSS de votre application. Pour une personnalisation avancée, vous pouvez encapsuler le composant de session dans vos propres conteneurs stylisés.
59
+ Si vous rencontrez encore des erreurs :
152
60
 
153
- ## ⚙️ Configuration de l'environnement
61
+ 1. Vérifiez que toutes les peerDependencies sont installées
62
+ 2. Assurez-vous qu'il n'y a qu'une seule version de React dans votre projet :
63
+ ```bash
64
+ npm ls react
65
+ ```
66
+ 3. Si nécessaire, utilisez les résolutions de package dans votre `package.json` :
67
+ ```json
68
+ "resolutions": {
69
+ "react": "^18.0.0",
70
+ "react-dom": "^18.0.0"
71
+ }
72
+ ```
154
73
 
155
- Le SDK utilise des variables d'environnement pour la configuration. Pour configurer l'URL de l'API, créez un fichier `.env` à la racine de votre projet avec le contenu suivant :
74
+ ### Build du SDK
156
75
 
157
- ```
158
- VITE_API_BASE_URL=http://localhost:8888
159
- ```
160
-
161
- Pour une configuration rapide, vous pouvez utiliser la commande suivante dans le projet SDK :
76
+ Pour rebuilder le SDK après modifications :
162
77
 
163
78
  ```bash
164
- npm run setup:env
79
+ npm run clean
80
+ npm run build
165
81
  ```
166
82
 
167
- Cette commande génère les fichiers `.env` nécessaires pour le SDK et le projet de démo.
168
-
169
- Pour plus de détails sur la configuration de l'environnement, consultez [la documentation dédiée](./docs/environment.md).
170
-
171
- ## 💬 Support et assistance
172
-
173
- Pour toute question technique ou problème d'intégration :
174
-
175
- - **Email Support**: support@datakeen.co
176
- - **Documentation API**: [https://api.datakeen.co/docs](https://api.datakeen.co/docs)
177
- - **Site Web**: [www.datakeen.co](https://www.datakeen.co)
178
-
179
- </div>
180
-
181
- <div style="background-color: #11E5C5; color: white; padding: 15px; border-radius: 5px; margin-top: 30px; display: flex; align-items: center; justify-content: space-between;">
182
- <div>
183
- <strong>Datakeen</strong> - Solutions d'identité numérique
184
- </div>
185
- <div>
186
- Dernière mise à jour: Juin 2025
187
- </div>
188
- </div>
83
+ Le SDK sera construit dans le dossier `dist/` avec :
84
+ - `index.js` (CommonJS)
85
+ - `index.mjs` (ES Modules)
86
+ - `index.d.ts` (Types TypeScript)
87
+ - `datakeen-session-react.css` (Styles)
package/package.json CHANGED
@@ -1,10 +1,22 @@
1
1
  {
2
2
  "name": "datakeen-session-react",
3
- "version": "1.1.8",
3
+ "version": "1.1.9",
4
4
  "description": "React SDK component to manage and render Datakeen session experiences easily.",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",
7
7
  "types": "dist/index.d.ts",
8
+ "scripts": {
9
+ "build": "vite build",
10
+ "build:watch": "vite build --watch",
11
+ "dev": "vite build --watch",
12
+ "lint": "eslint . --ext .ts,.tsx",
13
+ "test": "jest",
14
+ "demo": "cd ../demo && npm run dev",
15
+ "dev:full": "concurrently \"npm run dev\" \"npm run demo\"",
16
+ "clean": "rm -rf dist",
17
+ "setup:env": "echo 'VITE_API_BASE_URL=http://localhost:8888' > .env && echo 'VITE_API_BASE_URL=http://localhost:8888' > ../demo/.env && echo 'Environment files created successfully'",
18
+ "build:test": "npm run build && cp -r dist example/node_modules/datakeen-session-react/"
19
+ },
8
20
  "keywords": [
9
21
  "datakeen",
10
22
  "session",
@@ -22,6 +34,7 @@
22
34
  "url": "https://gitlab.com/datakeenteam/teamfullstack/client-sessions-react-sdk.git"
23
35
  },
24
36
  "homepage": "https://www.datakeen.co/",
37
+ "packageManager": "pnpm@10.9.0",
25
38
  "devDependencies": {
26
39
  "@headlessui/react": "^2.2.4",
27
40
  "@radix-ui/react-checkbox": "^1.3.2",
@@ -73,17 +86,5 @@
73
86
  "@radix-ui/react-label": "^2.1.6",
74
87
  "@radix-ui/react-select": "^2.2.5",
75
88
  "lucide-react": "^0.511.0"
76
- },
77
- "scripts": {
78
- "build": "vite build",
79
- "build:watch": "vite build --watch",
80
- "dev": "vite build --watch",
81
- "lint": "eslint . --ext .ts,.tsx",
82
- "test": "jest",
83
- "demo": "cd ../demo && npm run dev",
84
- "dev:full": "concurrently \"npm run dev\" \"npm run demo\"",
85
- "clean": "rm -rf dist",
86
- "setup:env": "echo 'VITE_API_BASE_URL=http://localhost:8888' > .env && echo 'VITE_API_BASE_URL=http://localhost:8888' > ../demo/.env && echo 'Environment files created successfully'",
87
- "build:test": "npm run build && cp -r dist example/node_modules/datakeen-session-react/"
88
89
  }
89
- }
90
+ }
@@ -1,87 +0,0 @@
1
- # Guide d'intégration - Datakeen Session React SDK
2
-
3
- ## Résolution du problème ReactCurrentDispatcher
4
-
5
- Le problème `Cannot read properties of undefined (reading 'ReactCurrentDispatcher')` a été résolu en optimisant la configuration Vite pour un SDK React.
6
-
7
- ### Changements apportés
8
-
9
- 1. **Configuration Vite** (`vite.config.ts`) :
10
- - Ajout du JSX runtime automatique
11
- - Externalisation de React, React-DOM et JSX runtime
12
- - Externalisation des dépendances UI (Radix, Headless UI, Lucide)
13
-
14
- 2. **Gestion des dépendances** (`package.json`) :
15
- - React et React-DOM déplacés vers `peerDependencies` et `devDependencies`
16
- - Dépendances UI déplacées vers `peerDependencies` pour éviter la duplication
17
-
18
- ### Installation dans une application React
19
-
20
- ```bash
21
- npm install datakeen-session-react
22
- ```
23
-
24
- **Important :** Assurez-vous d'avoir installé toutes les peer dependencies :
25
-
26
- ```bash
27
- npm install react react-dom axios @headlessui/react @radix-ui/react-checkbox @radix-ui/react-icons @radix-ui/react-label @radix-ui/react-select lucide-react
28
- ```
29
-
30
- ### Utilisation
31
-
32
- ```tsx
33
- import React from 'react';
34
- import useSession from 'datakeen-session-react';
35
-
36
- function App() {
37
- const session = useSession();
38
-
39
- return (
40
- <div className="App">
41
- {/* Votre composant utilisant le SDK */}
42
- </div>
43
- );
44
- }
45
-
46
- export default App;
47
- ```
48
-
49
- ### CSS
50
-
51
- N'oubliez pas d'importer le CSS du SDK :
52
-
53
- ```css
54
- @import 'datakeen-session-react/dist/datakeen-session-react.css';
55
- ```
56
-
57
- ### Résolution des problèmes
58
-
59
- Si vous rencontrez encore des erreurs :
60
-
61
- 1. Vérifiez que toutes les peerDependencies sont installées
62
- 2. Assurez-vous qu'il n'y a qu'une seule version de React dans votre projet :
63
- ```bash
64
- npm ls react
65
- ```
66
- 3. Si nécessaire, utilisez les résolutions de package dans votre `package.json` :
67
- ```json
68
- "resolutions": {
69
- "react": "^18.0.0",
70
- "react-dom": "^18.0.0"
71
- }
72
- ```
73
-
74
- ### Build du SDK
75
-
76
- Pour rebuilder le SDK après modifications :
77
-
78
- ```bash
79
- npm run clean
80
- npm run build
81
- ```
82
-
83
- Le SDK sera construit dans le dossier `dist/` avec :
84
- - `index.js` (CommonJS)
85
- - `index.mjs` (ES Modules)
86
- - `index.d.ts` (Types TypeScript)
87
- - `datakeen-session-react.css` (Styles)