@andoniaina/react-modal 1.1.7 → 1.1.8

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 (2) hide show
  1. package/README.md +94 -39
  2. package/package.json +1 -1
package/README.md CHANGED
@@ -1,86 +1,141 @@
1
- # @andoniaina/react-modal
1
+ # 📦 React Simple Modal
2
2
 
3
- Un composant **Modal React simple, léger et accessible**, prêt à lemploi.
4
- Il permet d’afficher des messages de succès ou d’erreur avec gestion du scroll, fermeture par clic extérieur et via la touche **ESC**.
5
-
6
- Idéal pour les applications React modernes.
3
+ Un composant **Modal React simple, léger et réutilisable**, sans dépendances externes, idéal pour afficher des messages de confirmation ou dinformation.
7
4
 
8
5
  ---
9
6
 
10
7
  ## ✨ Fonctionnalités
11
8
 
12
- - Modal contrôlée via la prop `isOpen`
13
- - Fermeture par clic sur l’overlay
14
- - Fermeture avec la touche **ESC** (configurable)
15
- - Blocage du scroll du body lorsque le modal est ouvert
16
- - Styles CSS inclus
17
- - ✅ Types de modal : `success` et `error`
18
- - ✅ Accessibilité intégrée (`role="dialog"`, `aria-modal`)
9
+ * 📌 Facile à intégrer
10
+ * ⚛️ Compatible React 18+
11
+ * 🎨 Style personnalisable via CSS
12
+ * ♻️ Réutilisable
13
+ * 🚫 Aucune dépendance externe
19
14
 
20
15
  ---
21
16
 
22
- ## ⚙️ Prérequis
17
+ ## 📥 Installation
23
18
 
24
- - **Node.js recommandé** : `>= 18.x`
25
- - **React** : `>= 17`
19
+ Installe le package via **npm** :
26
20
 
27
- ---
21
+ ```bash
22
+ npm install @andoniaina/react-modal
23
+ ```
28
24
 
29
- ## 📦 Installation
25
+ ou avec **yarn** :
30
26
 
31
27
  ```bash
32
- npm install @andoniaina/react-modal
28
+ yarn add @andoniaina/react-modal
29
+ ```
33
30
 
34
31
  ---
35
32
 
36
- ## Puis importe également le fichier CSS fourni par le package :
33
+ ## 🚀 Utilisation
34
+
35
+ ### 1️⃣ Import du composant
37
36
 
37
+ ```js
38
+ import { Modal } from "@andoniaina/react-modal";
38
39
  import "@andoniaina/react-modal/Modal.css";
40
+ ```
39
41
 
42
+ ---
40
43
 
41
- ## 🚀 Utilisation
44
+ ### 2️⃣ Exemple simple
45
+
46
+ ```jsx
42
47
  import { useState } from "react";
43
48
  import { Modal } from "@andoniaina/react-modal";
49
+ import "@andoniaina/react-modal/Modal.css";
44
50
 
45
51
  function App() {
46
52
  const [isOpen, setIsOpen] = useState(false);
47
53
 
48
54
  return (
49
- <>
55
+ <div>
50
56
  <button onClick={() => setIsOpen(true)}>
51
- Ouvrir la modal
57
+ Ouvrir le modal
52
58
  </button>
53
59
 
54
60
  <Modal
55
61
  isOpen={isOpen}
56
62
  onClose={() => setIsOpen(false)}
57
- type="success"
58
- message="L’opération a été effectuée avec succès !"
59
- />
60
- </>
63
+ title="Succès"
64
+ >
65
+ <p>L'employé a été créé avec succès.</p>
66
+ </Modal>
67
+ </div>
61
68
  );
62
69
  }
63
70
 
64
- 🧩 Props
65
- Prop Type Valeur par défaut Description
66
- isOpen boolean — Contrôle l’affichage du modal
67
- onClose function — Fonction appelée pour fermer le modal
68
- type "success" | "error" "success" Type du modal (impacte le style et l’accessibilité)
69
- message string "" Message affiché dans le modal
70
- closeOnEsc boolean true Active la fermeture avec la touche ESC
71
+ export default App;
72
+ ```
73
+
74
+ ---
75
+
76
+ ## 🧩 Props disponibles
77
+
78
+ | Prop | Type | Description |
79
+ | ---------- | ----------- | ------------------------------- |
80
+ | `isOpen` | `boolean` | Ouvre ou ferme le modal |
81
+ | `onClose` | `function` | Fonction appelée à la fermeture |
82
+ | `title` | `string` | Titre du modal |
83
+ | `children` | `ReactNode` | Contenu du modal |
71
84
 
72
- ## ♿ Accessibilité
85
+ ---
73
86
 
74
- role="dialog"
87
+ ## 🎨 Personnalisation du style
75
88
 
76
- aria-modal="true"
89
+ Le composant inclut un fichier CSS par défaut :
90
+
91
+ ```js
92
+ import "@andoniaina/react-modal/Modal.css";
93
+ ```
77
94
 
78
- aria-label dynamique selon le type (Succès ou Erreur)
95
+ Tu peux :
79
96
 
80
- Gestion clavier avec la touche ESC
97
+ * modifier ce fichier
98
+ * ou surcharger les classes CSS dans ton projet
99
+
100
+ ---
101
+
102
+ ## 🛠️ Cas d’usage courant
103
+
104
+ * Confirmation de création
105
+ * Message de succès
106
+ * Message d’erreur
107
+ * Information utilisateur
108
+
109
+ ---
110
+
111
+ ## 📁 Structure du projet
112
+
113
+ ```bash
114
+ react-simple-modal/
115
+ ├── src/
116
+ │ ├── Modal.jsx
117
+ │ ├── Modal.css
118
+ │ └── index.js
119
+ ├── package.json
120
+ ├── README.md
121
+ └── LICENSE
122
+ ```
123
+
124
+ ---
125
+
126
+ ## 🧪 Compatibilité
127
+
128
+ * React 18+
129
+ * Fonctionne avec Vite, CRA, Next.js
130
+
131
+ ---
81
132
 
82
133
  ## 📄 Licence
83
134
 
84
135
  MIT © Andoniaina
85
136
 
86
- export default App;
137
+ ---
138
+
139
+ ## 🎓 Contexte pédagogique
140
+
141
+ Ce package a été développé dans le cadre du **projet HRnet (OpenClassrooms)**, visant à convertir une application jQuery vers React.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@andoniaina/react-modal",
3
- "version": "1.1.7",
3
+ "version": "1.1.8",
4
4
  "description": "Reusable, accessible and customizable React modal component",
5
5
  "type": "module",
6
6
  "main": "dist/index.cjs.js",