@sia-ui/react-web 0.4.0 → 0.5.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/CHANGELOG.md CHANGED
@@ -1,5 +1,58 @@
1
1
  # @sia-ui/react-web
2
2
 
3
+ ## 0.5.0
4
+
5
+ ### Minor Changes
6
+
7
+ - Erreurs serveur dans les formulaires, client HTTP plus sûr, registre vérifié.
8
+
9
+ ## Défauts
10
+ - **Registre `drawer`** — `context.ts` et la dépendance `icons` manquaient :
11
+ `sia-ui add app-shell` produisait un projet qui ne compilait pas. Un test
12
+ vérifie désormais que chaque import relatif de chaque entrée est apporté par
13
+ son installation.
14
+ - **`sia-ui.css`** pose `box-sizing: border-box` (spécificité nulle). Sans
15
+ reset côté projet, `AppShell` débordait de 32 px.
16
+ - **`@sia-ui/api`** ne rejoue plus d'office que `GET` et `HEAD`
17
+ (`retryMethods`). Une écriture n'est rejouée que si l'appel pose `retry`.
18
+ - Plus aucun avertissement `react-hooks/exhaustive-deps` dans les composants.
19
+
20
+ ## Formulaires et erreurs serveur
21
+ - `Form` intercepte un envoi rejeté : erreurs de champ sous les champs, le
22
+ reste dans une alerte. `onSubmit` peut aussi rendre `{ champ: message }`
23
+ (`FormSubmitResult`), dans `useLocalForm`, `Form`, `CrudPage` et
24
+ l'adaptateur react-hook-form. `CrudPage` garde alors sa boîte ouverte.
25
+ - Les erreurs posées par `setErrors` survivent à la validation locale jusqu'à
26
+ la modification de leur champ.
27
+ - `HttpError.toFormErrors()`, option `fieldErrors` du client et préréglage
28
+ `nestFieldErrors` (class-validator). `readSubmitError` et `hasFormErrors`
29
+ dans `@sia-ui/headless`.
30
+ - La pagination à plat `{ data, total, page, limit }` est reconnue, et `get`
31
+ ne déballe plus `data` quand l'objet porte une pagination.
32
+
33
+ ## Tableaux
34
+ - `searchDelay` sur `DataTable` et `CrudPage`.
35
+ - `CrudPage` place les `extraRowActions` avant « Supprimer ».
36
+
37
+ - Pagination, téléphone et recherche du `Select`.
38
+ - `Pagination` propose le nombre de lignes par page : `pageSize`,
39
+ `onPageSizeChange`, `pageSizeOptions`, `pageSizeLabel`, et
40
+ `renderPageSize` pour remplacer le contrôle. `CrudPage` transmet les trois
41
+ premières. Nouvelle clé de libellé `perPage` (« Par page »).
42
+ - La page courante de `Pagination` n'est plus blanche sur blanc au survol.
43
+ - `PhoneInput` choisit l'indicatif dans le `Select` du système, avec
44
+ recherche, à la place du `<select>` natif.
45
+ - `Select` : `variant="embedded"` et `renderValue` ; recherche insensible aux
46
+ accents ; Entrée choisit le premier résultat après un filtrage.
47
+
48
+ ### Patch Changes
49
+
50
+ - Updated dependencies
51
+ - @sia-ui/react@0.5.0
52
+ - @sia-ui/tokens@0.5.0
53
+ - @sia-ui/utils@0.5.0
54
+ - @sia-ui/headless@0.5.0
55
+
3
56
  ## 0.4.0
4
57
 
5
58
  ### Minor Changes
package/README.md CHANGED
@@ -1,74 +1,128 @@
1
- <p align="center"><img src="https://beatjo.github.io/sia-ui-site/brand/sia-ui-logo.png" alt="SIA UI" width="320"></p>
2
-
3
- # @sia-ui/react-web
4
-
5
- Les composants SIA UI pour le DOM.
6
-
7
- ```bash
8
- pnpm add @sia-ui/react-web
9
- ```
10
-
11
- ```tsx
12
- import { Button, DataTable, DatePicker } from "@sia-ui/react-web";
13
- import "@sia-ui/react-web/styles.css";
14
- ```
15
-
16
- 88 composants : primitives, saisie, date et heure, affichage de données,
17
- feedback et patterns applicatifs — `CrudPage`, `AppShell`, `FiltersBar`,
18
- `AuthLayout`.
19
-
20
- ## Valeurs par défaut et libellés
21
-
22
- ```tsx
23
- import { SiaConfigProvider } from "@sia-ui/headless";
24
-
25
- <SiaConfigProvider
26
- defaults={{ button: { variant: "outline" } }}
27
- locale={{ loading: "Loading", empty: "No data" }}
28
- >
29
- ```
30
-
31
- Aucune librairie d'i18n n'est requise : toutes les chaînes sont des props, et
32
- le fournisseur ne fixe que les défauts.
33
-
34
- ## Ou copier le code
35
-
36
- ```bash
37
- npx sia-ui add data-table
38
- ```
39
-
40
- Le fichier installé est **exactement** celui de ce paquet.
41
-
42
- ## Place dans SIA UI
43
-
44
- ```
45
- @sia-ui/tokens valeurs : couleurs, espacements, mouvement, vocabulaire
46
- @sia-ui/utils fonctions sans dépendance
47
- @sia-ui/api client HTTP — indépendant de l'interface
48
- @sia-ui/headless comportement, avec React, sans plateforme
49
- @sia-ui/react primitives de runtime DOM
50
- @sia-ui/react-web composants DOM
51
- @sia-ui/react-native composants natifs, à venir
52
- ```
53
-
54
- Une chose s'écrit au niveau le plus bas où elle a du sens, et une seule fois.
55
- Voir [la documentation](https://beatjo.github.io/sia-ui-site).
56
-
57
- ## Contribuer
58
-
59
- Le code source principal de SIA UI est privé pour le moment. Les retours publics passent par le dépôt `BeatJo/sia-ui-site` : bugs, demandes de composants, corrections de documentation et questions d'usage.
60
-
61
- - Signaler un bug : https://github.com/BeatJo/sia-ui-site/issues
62
- - Lire la documentation : https://beatjo.github.io/sia-ui-site/
63
- - Voir la démonstration : https://beatjo.github.io/sia-ui-site/preview/
64
-
65
- Les contributions directes au code des packages se font sur invitation dans le dépôt source privé.
66
- ## Journal des changements
67
-
68
- Le contenu ci-dessous reprend intégralement `CHANGELOG.md` pour rester visible sur npm.
69
-
1
+ <p align="center"><img src="https://beatjo.github.io/sia-ui-site/brand/sia-ui-logo.png" alt="SIA UI" width="320"></p>
2
+
3
+ # @sia-ui/react-web
4
+
5
+ Les composants SIA UI pour le DOM.
6
+
7
+ ```bash
8
+ pnpm add @sia-ui/react-web
9
+ ```
10
+
11
+ ```tsx
12
+ import { Button, DataTable, DatePicker } from "@sia-ui/react-web";
13
+ import "@sia-ui/react-web/styles.css";
14
+ ```
15
+
16
+ 88 composants : primitives, saisie, date et heure, affichage de données,
17
+ feedback et patterns applicatifs — `CrudPage`, `AppShell`, `FiltersBar`,
18
+ `AuthLayout`.
19
+
20
+ ## Valeurs par défaut et libellés
21
+
22
+ ```tsx
23
+ import { SiaConfigProvider } from "@sia-ui/headless";
24
+
25
+ <SiaConfigProvider
26
+ defaults={{ button: { variant: "outline" } }}
27
+ locale={{ loading: "Loading", empty: "No data" }}
28
+ >
29
+ ```
30
+
31
+ Aucune librairie d'i18n n'est requise : toutes les chaînes sont des props, et
32
+ le fournisseur ne fixe que les défauts.
33
+
34
+ ## Ou copier le code
35
+
36
+ ```bash
37
+ npx sia-ui add data-table
38
+ ```
39
+
40
+ Le fichier installé est **exactement** celui de ce paquet.
41
+
42
+ ## Place dans SIA UI
43
+
44
+ ```
45
+ @sia-ui/tokens valeurs : couleurs, espacements, mouvement, vocabulaire
46
+ @sia-ui/utils fonctions sans dépendance
47
+ @sia-ui/api client HTTP — indépendant de l'interface
48
+ @sia-ui/headless comportement, avec React, sans plateforme
49
+ @sia-ui/react primitives de runtime DOM
50
+ @sia-ui/react-web composants DOM
51
+ @sia-ui/react-native composants natifs, à venir
52
+ ```
53
+
54
+ Une chose s'écrit au niveau le plus bas où elle a du sens, et une seule fois.
55
+ Voir [la documentation](https://beatjo.github.io/sia-ui-site).
56
+
57
+ ## Contribuer
58
+
59
+ Le code source principal de SIA UI est privé pour le moment. Les retours publics passent par le dépôt `BeatJo/sia-ui-site` : bugs, demandes de composants, corrections de documentation et questions d'usage.
60
+
61
+ - Signaler un bug : https://github.com/BeatJo/sia-ui-site/issues
62
+ - Lire la documentation : https://beatjo.github.io/sia-ui-site/
63
+ - Voir la démonstration : https://beatjo.github.io/sia-ui-site/preview/
64
+
65
+ Les contributions directes au code des packages se font sur invitation dans le dépôt source privé.
66
+ ## Journal des changements
67
+
68
+ Le contenu ci-dessous reprend intégralement `CHANGELOG.md` pour rester visible sur npm.
69
+
70
+ <!-- sia:changelog:start -->
70
71
  # @sia-ui/react-web
71
72
 
73
+ ## 0.5.0
74
+
75
+ ### Minor Changes
76
+
77
+ - Erreurs serveur dans les formulaires, client HTTP plus sûr, registre vérifié.
78
+
79
+ ## Défauts
80
+ - **Registre `drawer`** — `context.ts` et la dépendance `icons` manquaient :
81
+ `sia-ui add app-shell` produisait un projet qui ne compilait pas. Un test
82
+ vérifie désormais que chaque import relatif de chaque entrée est apporté par
83
+ son installation.
84
+ - **`sia-ui.css`** pose `box-sizing: border-box` (spécificité nulle). Sans
85
+ reset côté projet, `AppShell` débordait de 32 px.
86
+ - **`@sia-ui/api`** ne rejoue plus d'office que `GET` et `HEAD`
87
+ (`retryMethods`). Une écriture n'est rejouée que si l'appel pose `retry`.
88
+ - Plus aucun avertissement `react-hooks/exhaustive-deps` dans les composants.
89
+
90
+ ## Formulaires et erreurs serveur
91
+ - `Form` intercepte un envoi rejeté : erreurs de champ sous les champs, le
92
+ reste dans une alerte. `onSubmit` peut aussi rendre `{ champ: message }`
93
+ (`FormSubmitResult`), dans `useLocalForm`, `Form`, `CrudPage` et
94
+ l'adaptateur react-hook-form. `CrudPage` garde alors sa boîte ouverte.
95
+ - Les erreurs posées par `setErrors` survivent à la validation locale jusqu'à
96
+ la modification de leur champ.
97
+ - `HttpError.toFormErrors()`, option `fieldErrors` du client et préréglage
98
+ `nestFieldErrors` (class-validator). `readSubmitError` et `hasFormErrors`
99
+ dans `@sia-ui/headless`.
100
+ - La pagination à plat `{ data, total, page, limit }` est reconnue, et `get`
101
+ ne déballe plus `data` quand l'objet porte une pagination.
102
+
103
+ ## Tableaux
104
+ - `searchDelay` sur `DataTable` et `CrudPage`.
105
+ - `CrudPage` place les `extraRowActions` avant « Supprimer ».
106
+
107
+ - Pagination, téléphone et recherche du `Select`.
108
+ - `Pagination` propose le nombre de lignes par page : `pageSize`,
109
+ `onPageSizeChange`, `pageSizeOptions`, `pageSizeLabel`, et
110
+ `renderPageSize` pour remplacer le contrôle. `CrudPage` transmet les trois
111
+ premières. Nouvelle clé de libellé `perPage` (« Par page »).
112
+ - La page courante de `Pagination` n'est plus blanche sur blanc au survol.
113
+ - `PhoneInput` choisit l'indicatif dans le `Select` du système, avec
114
+ recherche, à la place du `<select>` natif.
115
+ - `Select` : `variant="embedded"` et `renderValue` ; recherche insensible aux
116
+ accents ; Entrée choisit le premier résultat après un filtrage.
117
+
118
+ ### Patch Changes
119
+
120
+ - Updated dependencies
121
+ - @sia-ui/react@0.5.0
122
+ - @sia-ui/tokens@0.5.0
123
+ - @sia-ui/utils@0.5.0
124
+ - @sia-ui/headless@0.5.0
125
+
72
126
  ## 0.4.0
73
127
 
74
128
  ### Minor Changes
@@ -262,8 +316,9 @@ Le contenu ci-dessous reprend intégralement `CHANGELOG.md` pour rester visible
262
316
  - @sia-ui/headless@0.2.0
263
317
  - @sia-ui/tokens@0.2.0
264
318
  - @sia-ui/utils@0.2.0
265
- - @sia-ui/react@0.2.0
266
-
267
- ## Licence
268
-
269
- MIT
319
+ - @sia-ui/react@0.2.0
320
+ <!-- sia:changelog:end -->
321
+
322
+ ## Licence
323
+
324
+ MIT