@sia-ui/registry 0.4.0 → 0.6.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
@@ -10,6 +10,75 @@ vérifie, et la CI le lance. Sans quoi une entrée monterait de version sans
10
10
  que personne ne puisse savoir ce qui a changé dans le fichier qu'il a déjà
11
11
  chez lui.
12
12
 
13
+ ## 0.6.0
14
+
15
+ ### Minor Changes
16
+
17
+ - Rôles, requêtes serveur, ressources par mode, et deux blocs de console.
18
+ - **Rôles** — la couche d'accès lit les rôles de la session sous la forme
19
+ `role:<nom>` (`role("admin")`), avec les trois évaluateurs.
20
+ - **Tableaux servis par le serveur** — `useDataTableQuery` accepte un
21
+ `storage` (TanStack Router, React Router) et `serverParams` pour les noms
22
+ attendus (`limit`, `sort` + `order`, `ASC`/`DESC`). `toServerParams` dans
23
+ `@sia-ui/headless`.
24
+ - **TanStack Query** — `createQueryResource(service)` : clés emboîtées,
25
+ options de requête avec annulation, mutations qui invalident ce qu'elles
26
+ rendent périmé. Aucune dépendance à TanStack.
27
+ - **Ressources** — `inForm` et `required` par mode (`"create"`, `"edit"`),
28
+ `value` pour une colonne calculée.
29
+ - **En-têtes** — `PageHeader` `level`, `CrudPage` `headingLevel`. Le repli
30
+ suit la place disponible ; les actions ne s'écrasent plus.
31
+ - **Nouveaux** — `SecretFields` (secrets en écriture seule), `ActivityLog`
32
+ (journal filtré par le serveur), `StatusBadge` et `toneOf`, dix icônes de
33
+ console.
34
+ - Les icônes des boutons de `CrudPage` et `DataTable` passent par
35
+ `leftIcon` : elles ne se collent plus au libellé.
36
+
37
+ ## 0.5.0
38
+
39
+ ### Minor Changes
40
+
41
+ - Erreurs serveur dans les formulaires, client HTTP plus sûr, registre vérifié.
42
+
43
+ ## Défauts
44
+ - **Registre `drawer`** — `context.ts` et la dépendance `icons` manquaient :
45
+ `sia-ui add app-shell` produisait un projet qui ne compilait pas. Un test
46
+ vérifie désormais que chaque import relatif de chaque entrée est apporté par
47
+ son installation.
48
+ - **`sia-ui.css`** pose `box-sizing: border-box` (spécificité nulle). Sans
49
+ reset côté projet, `AppShell` débordait de 32 px.
50
+ - **`@sia-ui/api`** ne rejoue plus d'office que `GET` et `HEAD`
51
+ (`retryMethods`). Une écriture n'est rejouée que si l'appel pose `retry`.
52
+ - Plus aucun avertissement `react-hooks/exhaustive-deps` dans les composants.
53
+
54
+ ## Formulaires et erreurs serveur
55
+ - `Form` intercepte un envoi rejeté : erreurs de champ sous les champs, le
56
+ reste dans une alerte. `onSubmit` peut aussi rendre `{ champ: message }`
57
+ (`FormSubmitResult`), dans `useLocalForm`, `Form`, `CrudPage` et
58
+ l'adaptateur react-hook-form. `CrudPage` garde alors sa boîte ouverte.
59
+ - Les erreurs posées par `setErrors` survivent à la validation locale jusqu'à
60
+ la modification de leur champ.
61
+ - `HttpError.toFormErrors()`, option `fieldErrors` du client et préréglage
62
+ `nestFieldErrors` (class-validator). `readSubmitError` et `hasFormErrors`
63
+ dans `@sia-ui/headless`.
64
+ - La pagination à plat `{ data, total, page, limit }` est reconnue, et `get`
65
+ ne déballe plus `data` quand l'objet porte une pagination.
66
+
67
+ ## Tableaux
68
+ - `searchDelay` sur `DataTable` et `CrudPage`.
69
+ - `CrudPage` place les `extraRowActions` avant « Supprimer ».
70
+
71
+ - Pagination, téléphone et recherche du `Select`.
72
+ - `Pagination` propose le nombre de lignes par page : `pageSize`,
73
+ `onPageSizeChange`, `pageSizeOptions`, `pageSizeLabel`, et
74
+ `renderPageSize` pour remplacer le contrôle. `CrudPage` transmet les trois
75
+ premières. Nouvelle clé de libellé `perPage` (« Par page »).
76
+ - La page courante de `Pagination` n'est plus blanche sur blanc au survol.
77
+ - `PhoneInput` choisit l'indicatif dans le `Select` du système, avec
78
+ recherche, à la place du `<select>` natif.
79
+ - `Select` : `variant="embedded"` et `renderValue` ; recherche insensible aux
80
+ accents ; Entrée choisit le premier résultat après un filtrage.
81
+
13
82
  ## 0.4.0
14
83
 
15
84
  ### Minor Changes
@@ -17,6 +86,14 @@ chez lui.
17
86
  - Aligne tous les packages publics SIA UI sur la version 0.4.0 afin de fournir
18
87
  un ensemble cohérent à installer, documenter et maintenir.
19
88
 
89
+ - `crud-page` — `headingLevel` pour une liste posée dans une fiche ; champs
90
+ et validation par mode (`inForm`, `required` de la ressource) ; l'icône du
91
+ bouton de création passe par `leftIcon` et ne se colle plus au libellé ;
92
+ plus de double marge entre l'en-tête et la recherche.
93
+ - `data-table` — `useDataTableQuery` accepte un `storage` (TanStack
94
+ Router, React Router) et `serverParams` (`limit`, `sort` + `order`…) ;
95
+ l'icône d'une action de ligne passe par `leftIcon`.
96
+
20
97
  ## 0.3.2
21
98
 
22
99
  ### Patch Changes
@@ -98,6 +175,54 @@ chez lui.
98
175
  retirés de la documentation : ils décrivaient un chemin parcouru, pas un
99
176
  produit.
100
177
 
178
+ - `form` — un envoi rejeté ne disparaît plus en promesse non gérée. Une
179
+ erreur qui porte des erreurs de champ (`HttpError` de `@sia-ui/api`, ou
180
+ toute erreur exposant `toFormErrors()` ou `fields`) les pose sous les
181
+ champs ; le reste s'affiche dans une alerte au-dessus des boutons.
182
+ `onSubmit` peut aussi **rendre** `{ champ: message }`. Dépend désormais de
183
+ l'entrée `alert`. Demande `@sia-ui/headless` ≥ 0.5.0.
184
+ - `form-adapter-rhf` — `onSubmit` peut rendre des erreurs par champ, comme
185
+ avec `useLocalForm`.
186
+ - `crud-page` — un `onSubmit` qui rend des erreurs ou qui lève garde la boîte
187
+ ouverte, erreurs affichées. Nouvelle prop `searchDelay`. Les
188
+ `extraRowActions` se placent avant « Supprimer », qui reste la dernière
189
+ action.
190
+ - `data-table` — nouvelle prop `searchDelay` : `onSearch` n'est appelé
191
+ qu'après l'arrêt de la frappe (Entrée et l'effacement restent immédiats).
192
+ Les props `pageSize`, `onPageSizeChange` et `pageSizeOptions` de `crud-page`
193
+ alimentent le choix de taille de `pagination`.
194
+ - `select` — `variant="embedded"` pour se loger dans un autre contrôle, et
195
+ `renderValue` pour choisir ce qu'affiche le déclencheur. La recherche
196
+ ignore les accents (« sen » trouve « Sénégal »), et Entrée choisit le
197
+ premier résultat quand la valeur en vigueur a été filtrée.
198
+ - `pagination` — choix du nombre de lignes par page (`pageSize`,
199
+ `onPageSizeChange`, `pageSizeOptions`, `pageSizeLabel`, `renderPageSize`),
200
+ sur `select`. La page courante restait blanche sur blanc au survol :
201
+ corrigé. Les styles ne visent plus tout `button` de la barre, seulement ses
202
+ boutons de page. Dépend désormais de `select`.
203
+ - `phone-input` — l'indicatif se choisit dans le `Select` du système, avec
204
+ recherche par nom, indicatif ou code ISO, à la place du `<select>` natif.
205
+ Dépend désormais de `select`.
206
+ - `activity-log` — **nouvelle entrée**. Un journal d'activité filtré par le
207
+ serveur : filtres déclarés (`Select` effaçables), recherche temporisée,
208
+ pagination et taille de page, le tout porté par `useDataTableQuery`.
209
+ Colonnes par défaut pour une `ActivityEntry` (date, acteur, action en
210
+ pastille, cible).
211
+ - `secret-fields` — **nouvelle entrée**. Des secrets en écriture seule : les
212
+ noms enregistrés s'affichent, leurs valeurs jamais ; noms proposés d'un
213
+ clic, doublons et format signalés, `autocomplete="new-password"`,
214
+ `clearSecretValues` pour vider après l'envoi.
215
+ - `badge` — `StatusBadge` et `toneOf` : une table valeur → ton (et libellé)
216
+ déclarée une fois par domaine.
217
+ - `icons` — dix icônes de console : `Home`, `Folder`, `Server`, `User`,
218
+ `Users`, `Activity`, `Key`, `Lock`, `LogOut`, `Pencil`.
219
+ - `page-header` — `level` (1, 2 ou 3) pour un en-tête de section. Le repli
220
+ suit la place disponible et non plus la largeur de l'écran : les actions
221
+ passent sous le titre d'un bloc, sans jamais s'écraser ni couper leur
222
+ libellé sur deux lignes.
223
+ - `resource` — `inForm` et `required` acceptent `"create"` ou `"edit"` ;
224
+ `value` déclare une colonne calculée sans élargir le type de la ligne.
225
+
101
226
  ## 0.2.0
102
227
 
103
228
  ### Minor Changes
@@ -319,6 +444,14 @@ chez lui.
319
444
  - `button` — l'entrée n'annonçait que son `index.tsx`. Installé, le bouton
320
445
  arrivait donc sans sa feuille de style. `components/Button/styles.css`
321
446
  rejoint ses fichiers.
447
+ - `drawer` — l'entrée importait `./context` sans l'annoncer, et `../Icons`
448
+ sans dépendre de `icons` : `sia-ui add drawer` (et donc `add app-shell`)
449
+ produisait un projet qui ne compilait pas. Les deux sont ajoutés, et un test
450
+ vérifie désormais chaque import relatif de chaque entrée.
451
+ - `calendar` — dépendances de hook complètes ; plus d'avertissement
452
+ `react-hooks/exhaustive-deps` chez qui active le plugin.
453
+ - `timer` — idem ; la valeur de reprise et les rappels sont lus sans relancer
454
+ l'intervalle.
322
455
 
323
456
  ## 0.1.0
324
457
 
package/README.md CHANGED
@@ -58,6 +58,75 @@ vérifie, et la CI le lance. Sans quoi une entrée monterait de version sans
58
58
  que personne ne puisse savoir ce qui a changé dans le fichier qu'il a déjà
59
59
  chez lui.
60
60
 
61
+ ## 0.6.0
62
+
63
+ ### Minor Changes
64
+
65
+ - Rôles, requêtes serveur, ressources par mode, et deux blocs de console.
66
+ - **Rôles** — la couche d'accès lit les rôles de la session sous la forme
67
+ `role:<nom>` (`role("admin")`), avec les trois évaluateurs.
68
+ - **Tableaux servis par le serveur** — `useDataTableQuery` accepte un
69
+ `storage` (TanStack Router, React Router) et `serverParams` pour les noms
70
+ attendus (`limit`, `sort` + `order`, `ASC`/`DESC`). `toServerParams` dans
71
+ `@sia-ui/headless`.
72
+ - **TanStack Query** — `createQueryResource(service)` : clés emboîtées,
73
+ options de requête avec annulation, mutations qui invalident ce qu'elles
74
+ rendent périmé. Aucune dépendance à TanStack.
75
+ - **Ressources** — `inForm` et `required` par mode (`"create"`, `"edit"`),
76
+ `value` pour une colonne calculée.
77
+ - **En-têtes** — `PageHeader` `level`, `CrudPage` `headingLevel`. Le repli
78
+ suit la place disponible ; les actions ne s'écrasent plus.
79
+ - **Nouveaux** — `SecretFields` (secrets en écriture seule), `ActivityLog`
80
+ (journal filtré par le serveur), `StatusBadge` et `toneOf`, dix icônes de
81
+ console.
82
+ - Les icônes des boutons de `CrudPage` et `DataTable` passent par
83
+ `leftIcon` : elles ne se collent plus au libellé.
84
+
85
+ ## 0.5.0
86
+
87
+ ### Minor Changes
88
+
89
+ - Erreurs serveur dans les formulaires, client HTTP plus sûr, registre vérifié.
90
+
91
+ ## Défauts
92
+ - **Registre `drawer`** — `context.ts` et la dépendance `icons` manquaient :
93
+ `sia-ui add app-shell` produisait un projet qui ne compilait pas. Un test
94
+ vérifie désormais que chaque import relatif de chaque entrée est apporté par
95
+ son installation.
96
+ - **`sia-ui.css`** pose `box-sizing: border-box` (spécificité nulle). Sans
97
+ reset côté projet, `AppShell` débordait de 32 px.
98
+ - **`@sia-ui/api`** ne rejoue plus d'office que `GET` et `HEAD`
99
+ (`retryMethods`). Une écriture n'est rejouée que si l'appel pose `retry`.
100
+ - Plus aucun avertissement `react-hooks/exhaustive-deps` dans les composants.
101
+
102
+ ## Formulaires et erreurs serveur
103
+ - `Form` intercepte un envoi rejeté : erreurs de champ sous les champs, le
104
+ reste dans une alerte. `onSubmit` peut aussi rendre `{ champ: message }`
105
+ (`FormSubmitResult`), dans `useLocalForm`, `Form`, `CrudPage` et
106
+ l'adaptateur react-hook-form. `CrudPage` garde alors sa boîte ouverte.
107
+ - Les erreurs posées par `setErrors` survivent à la validation locale jusqu'à
108
+ la modification de leur champ.
109
+ - `HttpError.toFormErrors()`, option `fieldErrors` du client et préréglage
110
+ `nestFieldErrors` (class-validator). `readSubmitError` et `hasFormErrors`
111
+ dans `@sia-ui/headless`.
112
+ - La pagination à plat `{ data, total, page, limit }` est reconnue, et `get`
113
+ ne déballe plus `data` quand l'objet porte une pagination.
114
+
115
+ ## Tableaux
116
+ - `searchDelay` sur `DataTable` et `CrudPage`.
117
+ - `CrudPage` place les `extraRowActions` avant « Supprimer ».
118
+
119
+ - Pagination, téléphone et recherche du `Select`.
120
+ - `Pagination` propose le nombre de lignes par page : `pageSize`,
121
+ `onPageSizeChange`, `pageSizeOptions`, `pageSizeLabel`, et
122
+ `renderPageSize` pour remplacer le contrôle. `CrudPage` transmet les trois
123
+ premières. Nouvelle clé de libellé `perPage` (« Par page »).
124
+ - La page courante de `Pagination` n'est plus blanche sur blanc au survol.
125
+ - `PhoneInput` choisit l'indicatif dans le `Select` du système, avec
126
+ recherche, à la place du `<select>` natif.
127
+ - `Select` : `variant="embedded"` et `renderValue` ; recherche insensible aux
128
+ accents ; Entrée choisit le premier résultat après un filtrage.
129
+
61
130
  ## 0.4.0
62
131
 
63
132
  ### Minor Changes
@@ -65,6 +134,14 @@ chez lui.
65
134
  - Aligne tous les packages publics SIA UI sur la version 0.4.0 afin de fournir
66
135
  un ensemble cohérent à installer, documenter et maintenir.
67
136
 
137
+ - `crud-page` — `headingLevel` pour une liste posée dans une fiche ; champs
138
+ et validation par mode (`inForm`, `required` de la ressource) ; l'icône du
139
+ bouton de création passe par `leftIcon` et ne se colle plus au libellé ;
140
+ plus de double marge entre l'en-tête et la recherche.
141
+ - `data-table` — `useDataTableQuery` accepte un `storage` (TanStack
142
+ Router, React Router) et `serverParams` (`limit`, `sort` + `order`…) ;
143
+ l'icône d'une action de ligne passe par `leftIcon`.
144
+
68
145
  ## 0.3.2
69
146
 
70
147
  ### Patch Changes
@@ -146,6 +223,54 @@ chez lui.
146
223
  retirés de la documentation : ils décrivaient un chemin parcouru, pas un
147
224
  produit.
148
225
 
226
+ - `form` — un envoi rejeté ne disparaît plus en promesse non gérée. Une
227
+ erreur qui porte des erreurs de champ (`HttpError` de `@sia-ui/api`, ou
228
+ toute erreur exposant `toFormErrors()` ou `fields`) les pose sous les
229
+ champs ; le reste s'affiche dans une alerte au-dessus des boutons.
230
+ `onSubmit` peut aussi **rendre** `{ champ: message }`. Dépend désormais de
231
+ l'entrée `alert`. Demande `@sia-ui/headless` ≥ 0.5.0.
232
+ - `form-adapter-rhf` — `onSubmit` peut rendre des erreurs par champ, comme
233
+ avec `useLocalForm`.
234
+ - `crud-page` — un `onSubmit` qui rend des erreurs ou qui lève garde la boîte
235
+ ouverte, erreurs affichées. Nouvelle prop `searchDelay`. Les
236
+ `extraRowActions` se placent avant « Supprimer », qui reste la dernière
237
+ action.
238
+ - `data-table` — nouvelle prop `searchDelay` : `onSearch` n'est appelé
239
+ qu'après l'arrêt de la frappe (Entrée et l'effacement restent immédiats).
240
+ Les props `pageSize`, `onPageSizeChange` et `pageSizeOptions` de `crud-page`
241
+ alimentent le choix de taille de `pagination`.
242
+ - `select` — `variant="embedded"` pour se loger dans un autre contrôle, et
243
+ `renderValue` pour choisir ce qu'affiche le déclencheur. La recherche
244
+ ignore les accents (« sen » trouve « Sénégal »), et Entrée choisit le
245
+ premier résultat quand la valeur en vigueur a été filtrée.
246
+ - `pagination` — choix du nombre de lignes par page (`pageSize`,
247
+ `onPageSizeChange`, `pageSizeOptions`, `pageSizeLabel`, `renderPageSize`),
248
+ sur `select`. La page courante restait blanche sur blanc au survol :
249
+ corrigé. Les styles ne visent plus tout `button` de la barre, seulement ses
250
+ boutons de page. Dépend désormais de `select`.
251
+ - `phone-input` — l'indicatif se choisit dans le `Select` du système, avec
252
+ recherche par nom, indicatif ou code ISO, à la place du `<select>` natif.
253
+ Dépend désormais de `select`.
254
+ - `activity-log` — **nouvelle entrée**. Un journal d'activité filtré par le
255
+ serveur : filtres déclarés (`Select` effaçables), recherche temporisée,
256
+ pagination et taille de page, le tout porté par `useDataTableQuery`.
257
+ Colonnes par défaut pour une `ActivityEntry` (date, acteur, action en
258
+ pastille, cible).
259
+ - `secret-fields` — **nouvelle entrée**. Des secrets en écriture seule : les
260
+ noms enregistrés s'affichent, leurs valeurs jamais ; noms proposés d'un
261
+ clic, doublons et format signalés, `autocomplete="new-password"`,
262
+ `clearSecretValues` pour vider après l'envoi.
263
+ - `badge` — `StatusBadge` et `toneOf` : une table valeur → ton (et libellé)
264
+ déclarée une fois par domaine.
265
+ - `icons` — dix icônes de console : `Home`, `Folder`, `Server`, `User`,
266
+ `Users`, `Activity`, `Key`, `Lock`, `LogOut`, `Pencil`.
267
+ - `page-header` — `level` (1, 2 ou 3) pour un en-tête de section. Le repli
268
+ suit la place disponible et non plus la largeur de l'écran : les actions
269
+ passent sous le titre d'un bloc, sans jamais s'écraser ni couper leur
270
+ libellé sur deux lignes.
271
+ - `resource` — `inForm` et `required` acceptent `"create"` ou `"edit"` ;
272
+ `value` déclare une colonne calculée sans élargir le type de la ligne.
273
+
149
274
  ## 0.2.0
150
275
 
151
276
  ### Minor Changes
@@ -367,6 +492,14 @@ chez lui.
367
492
  - `button` — l'entrée n'annonçait que son `index.tsx`. Installé, le bouton
368
493
  arrivait donc sans sa feuille de style. `components/Button/styles.css`
369
494
  rejoint ses fichiers.
495
+ - `drawer` — l'entrée importait `./context` sans l'annoncer, et `../Icons`
496
+ sans dépendre de `icons` : `sia-ui add drawer` (et donc `add app-shell`)
497
+ produisait un projet qui ne compilait pas. Les deux sont ajoutés, et un test
498
+ vérifie désormais chaque import relatif de chaque entrée.
499
+ - `calendar` — dépendances de hook complètes ; plus d'avertissement
500
+ `react-hooks/exhaustive-deps` chez qui active le plugin.
501
+ - `timer` — idem ; la valeur de reprise et les rappels sont lus sans relancer
502
+ l'intervalle.
370
503
 
371
504
  ## 0.1.0
372
505
 
package/dist/index.cjs CHANGED
@@ -22,6 +22,32 @@ var registry_default = {
22
22
  "icons"
23
23
  ]
24
24
  },
25
+ {
26
+ name: "activity-log",
27
+ description: "Server-filtered activity log: declared filters, debounced search, pagination and page size.",
28
+ type: "pattern",
29
+ version: "0.3.0",
30
+ status: "experimental",
31
+ source: "package",
32
+ files: [
33
+ "components/ActivityLog/index.tsx",
34
+ "components/ActivityLog/styles.css"
35
+ ],
36
+ dependencies: [
37
+ "@sia-ui/headless",
38
+ "@sia-ui/tokens",
39
+ "@sia-ui/utils"
40
+ ],
41
+ registryDependencies: [
42
+ "badge",
43
+ "data-table",
44
+ "filters-bar",
45
+ "page-header",
46
+ "pagination",
47
+ "search-input",
48
+ "select"
49
+ ]
50
+ },
25
51
  {
26
52
  name: "alert",
27
53
  description: "Semantic feedback alert with tones, action and dismissal.",
@@ -179,7 +205,7 @@ var registry_default = {
179
205
  name: "badge",
180
206
  description: "Compact semantic status label with side content and loading state.",
181
207
  type: "primitive",
182
- version: "0.1.0",
208
+ version: "0.3.0",
183
209
  status: "stable",
184
210
  source: "package",
185
211
  files: [
@@ -240,7 +266,7 @@ var registry_default = {
240
266
  name: "calendar",
241
267
  description: "Localized month and year calendar with range selection and custom cells.",
242
268
  type: "component",
243
- version: "0.1.0",
269
+ version: "0.1.1",
244
270
  status: "stable",
245
271
  source: "package",
246
272
  files: [
@@ -383,7 +409,7 @@ var registry_default = {
383
409
  name: "crud-page",
384
410
  description: "List page for a declared resource: create, view, edit and delete open their own dialogs, each removable and permission-aware.",
385
411
  type: "pattern",
386
- version: "0.2.0",
412
+ version: "0.4.0",
387
413
  status: "stable",
388
414
  source: "package",
389
415
  files: [
@@ -426,7 +452,7 @@ var registry_default = {
426
452
  name: "data-table",
427
453
  description: "Data table: row actions with permissions and confirmation, selection, card view, density and sorting.",
428
454
  type: "component",
429
- version: "0.2.0",
455
+ version: "0.4.0",
430
456
  status: "stable",
431
457
  source: "package",
432
458
  files: [
@@ -566,17 +592,21 @@ var registry_default = {
566
592
  name: "drawer",
567
593
  description: "Accessible side panel with focus management and portal rendering.",
568
594
  type: "component",
569
- version: "0.1.0",
595
+ version: "0.1.1",
570
596
  status: "stable",
571
597
  source: "package",
572
598
  files: [
573
599
  "components/Drawer/index.tsx",
600
+ "components/Drawer/context.ts",
574
601
  "components/Drawer/styles.css"
575
602
  ],
576
603
  dependencies: [
577
604
  "@sia-ui/headless",
578
605
  "@sia-ui/react",
579
606
  "@sia-ui/utils"
607
+ ],
608
+ registryDependencies: [
609
+ "icons"
580
610
  ]
581
611
  },
582
612
  {
@@ -755,7 +785,7 @@ var registry_default = {
755
785
  name: "form",
756
786
  description: "Declarative form driven by a field list, wired to any FormAdapter.",
757
787
  type: "pattern",
758
- version: "0.1.0",
788
+ version: "0.3.0",
759
789
  status: "stable",
760
790
  source: "package",
761
791
  files: [
@@ -767,6 +797,7 @@ var registry_default = {
767
797
  "@sia-ui/utils"
768
798
  ],
769
799
  registryDependencies: [
800
+ "alert",
770
801
  "button",
771
802
  "field"
772
803
  ]
@@ -775,7 +806,7 @@ var registry_default = {
775
806
  name: "form-adapter-rhf",
776
807
  description: "react-hook-form adapter for the FormAdapter contract. Requires react-hook-form.",
777
808
  type: "primitive",
778
- version: "0.1.0",
809
+ version: "0.3.0",
779
810
  status: "stable",
780
811
  source: "package",
781
812
  files: [
@@ -841,7 +872,7 @@ var registry_default = {
841
872
  name: "icons",
842
873
  description: "Jeu d'ic\xF4nes SVG sans d\xE9pendance, servi par le package.",
843
874
  type: "primitive",
844
- version: "0.1.0",
875
+ version: "0.3.0",
845
876
  status: "stable",
846
877
  source: "package",
847
878
  files: [
@@ -1075,7 +1106,7 @@ var registry_default = {
1075
1106
  name: "page-header",
1076
1107
  description: "Consistent page title, description and action area.",
1077
1108
  type: "pattern",
1078
- version: "0.1.0",
1109
+ version: "0.3.0",
1079
1110
  status: "stable",
1080
1111
  source: "package",
1081
1112
  files: [
@@ -1090,7 +1121,7 @@ var registry_default = {
1090
1121
  name: "pagination",
1091
1122
  description: "Accessible controlled pagination with compact page ranges.",
1092
1123
  type: "component",
1093
- version: "0.1.0",
1124
+ version: "0.3.0",
1094
1125
  status: "stable",
1095
1126
  source: "package",
1096
1127
  files: [
@@ -1102,7 +1133,8 @@ var registry_default = {
1102
1133
  "@sia-ui/utils"
1103
1134
  ],
1104
1135
  registryDependencies: [
1105
- "icons"
1136
+ "icons",
1137
+ "select"
1106
1138
  ]
1107
1139
  },
1108
1140
  {
@@ -1140,7 +1172,7 @@ var registry_default = {
1140
1172
  name: "phone-input",
1141
1173
  description: "International phone input with dial code and grouping.",
1142
1174
  type: "component",
1143
- version: "0.1.0",
1175
+ version: "0.3.0",
1144
1176
  status: "stable",
1145
1177
  source: "package",
1146
1178
  files: [
@@ -1152,7 +1184,8 @@ var registry_default = {
1152
1184
  "@sia-ui/utils"
1153
1185
  ],
1154
1186
  registryDependencies: [
1155
- "input"
1187
+ "input",
1188
+ "select"
1156
1189
  ]
1157
1190
  },
1158
1191
  {
@@ -1309,7 +1342,7 @@ var registry_default = {
1309
1342
  name: "resource",
1310
1343
  description: "Declare a resource once: table columns, form fields, detail view, validation, search keys and permissions are all derived from it.",
1311
1344
  type: "pattern",
1312
- version: "0.2.0",
1345
+ version: "0.3.0",
1313
1346
  status: "stable",
1314
1347
  source: "package",
1315
1348
  files: [
@@ -1378,11 +1411,33 @@ var registry_default = {
1378
1411
  "icons"
1379
1412
  ]
1380
1413
  },
1414
+ {
1415
+ name: "secret-fields",
1416
+ description: "Write-only key/value secrets editor: stored names shown, values never read back.",
1417
+ type: "component",
1418
+ version: "0.3.0",
1419
+ status: "experimental",
1420
+ source: "package",
1421
+ files: [
1422
+ "components/SecretFields/index.tsx",
1423
+ "components/SecretFields/styles.css"
1424
+ ],
1425
+ dependencies: [
1426
+ "@sia-ui/utils"
1427
+ ],
1428
+ registryDependencies: [
1429
+ "button",
1430
+ "icon-button",
1431
+ "icons",
1432
+ "input",
1433
+ "password-input"
1434
+ ]
1435
+ },
1381
1436
  {
1382
1437
  name: "select",
1383
1438
  description: "Accessible searchable select with positioned overlay and async option loading.",
1384
1439
  type: "component",
1385
- version: "0.1.0",
1440
+ version: "0.3.0",
1386
1441
  status: "stable",
1387
1442
  source: "package",
1388
1443
  files: [
@@ -1647,7 +1702,7 @@ var registry_default = {
1647
1702
  name: "timer",
1648
1703
  description: "Reliable count-up or count-down timer based on absolute time.",
1649
1704
  type: "component",
1650
- version: "0.1.0",
1705
+ version: "0.1.1",
1651
1706
  status: "stable",
1652
1707
  source: "package",
1653
1708
  files: [
package/dist/index.js CHANGED
@@ -20,6 +20,32 @@ var registry_default = {
20
20
  "icons"
21
21
  ]
22
22
  },
23
+ {
24
+ name: "activity-log",
25
+ description: "Server-filtered activity log: declared filters, debounced search, pagination and page size.",
26
+ type: "pattern",
27
+ version: "0.3.0",
28
+ status: "experimental",
29
+ source: "package",
30
+ files: [
31
+ "components/ActivityLog/index.tsx",
32
+ "components/ActivityLog/styles.css"
33
+ ],
34
+ dependencies: [
35
+ "@sia-ui/headless",
36
+ "@sia-ui/tokens",
37
+ "@sia-ui/utils"
38
+ ],
39
+ registryDependencies: [
40
+ "badge",
41
+ "data-table",
42
+ "filters-bar",
43
+ "page-header",
44
+ "pagination",
45
+ "search-input",
46
+ "select"
47
+ ]
48
+ },
23
49
  {
24
50
  name: "alert",
25
51
  description: "Semantic feedback alert with tones, action and dismissal.",
@@ -177,7 +203,7 @@ var registry_default = {
177
203
  name: "badge",
178
204
  description: "Compact semantic status label with side content and loading state.",
179
205
  type: "primitive",
180
- version: "0.1.0",
206
+ version: "0.3.0",
181
207
  status: "stable",
182
208
  source: "package",
183
209
  files: [
@@ -238,7 +264,7 @@ var registry_default = {
238
264
  name: "calendar",
239
265
  description: "Localized month and year calendar with range selection and custom cells.",
240
266
  type: "component",
241
- version: "0.1.0",
267
+ version: "0.1.1",
242
268
  status: "stable",
243
269
  source: "package",
244
270
  files: [
@@ -381,7 +407,7 @@ var registry_default = {
381
407
  name: "crud-page",
382
408
  description: "List page for a declared resource: create, view, edit and delete open their own dialogs, each removable and permission-aware.",
383
409
  type: "pattern",
384
- version: "0.2.0",
410
+ version: "0.4.0",
385
411
  status: "stable",
386
412
  source: "package",
387
413
  files: [
@@ -424,7 +450,7 @@ var registry_default = {
424
450
  name: "data-table",
425
451
  description: "Data table: row actions with permissions and confirmation, selection, card view, density and sorting.",
426
452
  type: "component",
427
- version: "0.2.0",
453
+ version: "0.4.0",
428
454
  status: "stable",
429
455
  source: "package",
430
456
  files: [
@@ -564,17 +590,21 @@ var registry_default = {
564
590
  name: "drawer",
565
591
  description: "Accessible side panel with focus management and portal rendering.",
566
592
  type: "component",
567
- version: "0.1.0",
593
+ version: "0.1.1",
568
594
  status: "stable",
569
595
  source: "package",
570
596
  files: [
571
597
  "components/Drawer/index.tsx",
598
+ "components/Drawer/context.ts",
572
599
  "components/Drawer/styles.css"
573
600
  ],
574
601
  dependencies: [
575
602
  "@sia-ui/headless",
576
603
  "@sia-ui/react",
577
604
  "@sia-ui/utils"
605
+ ],
606
+ registryDependencies: [
607
+ "icons"
578
608
  ]
579
609
  },
580
610
  {
@@ -753,7 +783,7 @@ var registry_default = {
753
783
  name: "form",
754
784
  description: "Declarative form driven by a field list, wired to any FormAdapter.",
755
785
  type: "pattern",
756
- version: "0.1.0",
786
+ version: "0.3.0",
757
787
  status: "stable",
758
788
  source: "package",
759
789
  files: [
@@ -765,6 +795,7 @@ var registry_default = {
765
795
  "@sia-ui/utils"
766
796
  ],
767
797
  registryDependencies: [
798
+ "alert",
768
799
  "button",
769
800
  "field"
770
801
  ]
@@ -773,7 +804,7 @@ var registry_default = {
773
804
  name: "form-adapter-rhf",
774
805
  description: "react-hook-form adapter for the FormAdapter contract. Requires react-hook-form.",
775
806
  type: "primitive",
776
- version: "0.1.0",
807
+ version: "0.3.0",
777
808
  status: "stable",
778
809
  source: "package",
779
810
  files: [
@@ -839,7 +870,7 @@ var registry_default = {
839
870
  name: "icons",
840
871
  description: "Jeu d'ic\xF4nes SVG sans d\xE9pendance, servi par le package.",
841
872
  type: "primitive",
842
- version: "0.1.0",
873
+ version: "0.3.0",
843
874
  status: "stable",
844
875
  source: "package",
845
876
  files: [
@@ -1073,7 +1104,7 @@ var registry_default = {
1073
1104
  name: "page-header",
1074
1105
  description: "Consistent page title, description and action area.",
1075
1106
  type: "pattern",
1076
- version: "0.1.0",
1107
+ version: "0.3.0",
1077
1108
  status: "stable",
1078
1109
  source: "package",
1079
1110
  files: [
@@ -1088,7 +1119,7 @@ var registry_default = {
1088
1119
  name: "pagination",
1089
1120
  description: "Accessible controlled pagination with compact page ranges.",
1090
1121
  type: "component",
1091
- version: "0.1.0",
1122
+ version: "0.3.0",
1092
1123
  status: "stable",
1093
1124
  source: "package",
1094
1125
  files: [
@@ -1100,7 +1131,8 @@ var registry_default = {
1100
1131
  "@sia-ui/utils"
1101
1132
  ],
1102
1133
  registryDependencies: [
1103
- "icons"
1134
+ "icons",
1135
+ "select"
1104
1136
  ]
1105
1137
  },
1106
1138
  {
@@ -1138,7 +1170,7 @@ var registry_default = {
1138
1170
  name: "phone-input",
1139
1171
  description: "International phone input with dial code and grouping.",
1140
1172
  type: "component",
1141
- version: "0.1.0",
1173
+ version: "0.3.0",
1142
1174
  status: "stable",
1143
1175
  source: "package",
1144
1176
  files: [
@@ -1150,7 +1182,8 @@ var registry_default = {
1150
1182
  "@sia-ui/utils"
1151
1183
  ],
1152
1184
  registryDependencies: [
1153
- "input"
1185
+ "input",
1186
+ "select"
1154
1187
  ]
1155
1188
  },
1156
1189
  {
@@ -1307,7 +1340,7 @@ var registry_default = {
1307
1340
  name: "resource",
1308
1341
  description: "Declare a resource once: table columns, form fields, detail view, validation, search keys and permissions are all derived from it.",
1309
1342
  type: "pattern",
1310
- version: "0.2.0",
1343
+ version: "0.3.0",
1311
1344
  status: "stable",
1312
1345
  source: "package",
1313
1346
  files: [
@@ -1376,11 +1409,33 @@ var registry_default = {
1376
1409
  "icons"
1377
1410
  ]
1378
1411
  },
1412
+ {
1413
+ name: "secret-fields",
1414
+ description: "Write-only key/value secrets editor: stored names shown, values never read back.",
1415
+ type: "component",
1416
+ version: "0.3.0",
1417
+ status: "experimental",
1418
+ source: "package",
1419
+ files: [
1420
+ "components/SecretFields/index.tsx",
1421
+ "components/SecretFields/styles.css"
1422
+ ],
1423
+ dependencies: [
1424
+ "@sia-ui/utils"
1425
+ ],
1426
+ registryDependencies: [
1427
+ "button",
1428
+ "icon-button",
1429
+ "icons",
1430
+ "input",
1431
+ "password-input"
1432
+ ]
1433
+ },
1379
1434
  {
1380
1435
  name: "select",
1381
1436
  description: "Accessible searchable select with positioned overlay and async option loading.",
1382
1437
  type: "component",
1383
- version: "0.1.0",
1438
+ version: "0.3.0",
1384
1439
  status: "stable",
1385
1440
  source: "package",
1386
1441
  files: [
@@ -1645,7 +1700,7 @@ var registry_default = {
1645
1700
  name: "timer",
1646
1701
  description: "Reliable count-up or count-down timer based on absolute time.",
1647
1702
  type: "component",
1648
- version: "0.1.0",
1703
+ version: "0.1.1",
1649
1704
  status: "stable",
1650
1705
  source: "package",
1651
1706
  files: [
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sia-ui/registry",
3
- "version": "0.4.0",
3
+ "version": "0.6.0",
4
4
  "description": "Installable component registry for SIA UI.",
5
5
  "keywords": [
6
6
  "sia-ui",
package/registry.json CHANGED
@@ -22,6 +22,32 @@
22
22
  "icons"
23
23
  ]
24
24
  },
25
+ {
26
+ "name": "activity-log",
27
+ "description": "Server-filtered activity log: declared filters, debounced search, pagination and page size.",
28
+ "type": "pattern",
29
+ "version": "0.3.0",
30
+ "status": "experimental",
31
+ "source": "package",
32
+ "files": [
33
+ "components/ActivityLog/index.tsx",
34
+ "components/ActivityLog/styles.css"
35
+ ],
36
+ "dependencies": [
37
+ "@sia-ui/headless",
38
+ "@sia-ui/tokens",
39
+ "@sia-ui/utils"
40
+ ],
41
+ "registryDependencies": [
42
+ "badge",
43
+ "data-table",
44
+ "filters-bar",
45
+ "page-header",
46
+ "pagination",
47
+ "search-input",
48
+ "select"
49
+ ]
50
+ },
25
51
  {
26
52
  "name": "alert",
27
53
  "description": "Semantic feedback alert with tones, action and dismissal.",
@@ -179,7 +205,7 @@
179
205
  "name": "badge",
180
206
  "description": "Compact semantic status label with side content and loading state.",
181
207
  "type": "primitive",
182
- "version": "0.1.0",
208
+ "version": "0.3.0",
183
209
  "status": "stable",
184
210
  "source": "package",
185
211
  "files": [
@@ -240,7 +266,7 @@
240
266
  "name": "calendar",
241
267
  "description": "Localized month and year calendar with range selection and custom cells.",
242
268
  "type": "component",
243
- "version": "0.1.0",
269
+ "version": "0.1.1",
244
270
  "status": "stable",
245
271
  "source": "package",
246
272
  "files": [
@@ -383,7 +409,7 @@
383
409
  "name": "crud-page",
384
410
  "description": "List page for a declared resource: create, view, edit and delete open their own dialogs, each removable and permission-aware.",
385
411
  "type": "pattern",
386
- "version": "0.2.0",
412
+ "version": "0.4.0",
387
413
  "status": "stable",
388
414
  "source": "package",
389
415
  "files": [
@@ -426,7 +452,7 @@
426
452
  "name": "data-table",
427
453
  "description": "Data table: row actions with permissions and confirmation, selection, card view, density and sorting.",
428
454
  "type": "component",
429
- "version": "0.2.0",
455
+ "version": "0.4.0",
430
456
  "status": "stable",
431
457
  "source": "package",
432
458
  "files": [
@@ -566,17 +592,21 @@
566
592
  "name": "drawer",
567
593
  "description": "Accessible side panel with focus management and portal rendering.",
568
594
  "type": "component",
569
- "version": "0.1.0",
595
+ "version": "0.1.1",
570
596
  "status": "stable",
571
597
  "source": "package",
572
598
  "files": [
573
599
  "components/Drawer/index.tsx",
600
+ "components/Drawer/context.ts",
574
601
  "components/Drawer/styles.css"
575
602
  ],
576
603
  "dependencies": [
577
604
  "@sia-ui/headless",
578
605
  "@sia-ui/react",
579
606
  "@sia-ui/utils"
607
+ ],
608
+ "registryDependencies": [
609
+ "icons"
580
610
  ]
581
611
  },
582
612
  {
@@ -755,7 +785,7 @@
755
785
  "name": "form",
756
786
  "description": "Declarative form driven by a field list, wired to any FormAdapter.",
757
787
  "type": "pattern",
758
- "version": "0.1.0",
788
+ "version": "0.3.0",
759
789
  "status": "stable",
760
790
  "source": "package",
761
791
  "files": [
@@ -767,6 +797,7 @@
767
797
  "@sia-ui/utils"
768
798
  ],
769
799
  "registryDependencies": [
800
+ "alert",
770
801
  "button",
771
802
  "field"
772
803
  ]
@@ -775,7 +806,7 @@
775
806
  "name": "form-adapter-rhf",
776
807
  "description": "react-hook-form adapter for the FormAdapter contract. Requires react-hook-form.",
777
808
  "type": "primitive",
778
- "version": "0.1.0",
809
+ "version": "0.3.0",
779
810
  "status": "stable",
780
811
  "source": "package",
781
812
  "files": [
@@ -841,7 +872,7 @@
841
872
  "name": "icons",
842
873
  "description": "Jeu d'icônes SVG sans dépendance, servi par le package.",
843
874
  "type": "primitive",
844
- "version": "0.1.0",
875
+ "version": "0.3.0",
845
876
  "status": "stable",
846
877
  "source": "package",
847
878
  "files": [
@@ -1075,7 +1106,7 @@
1075
1106
  "name": "page-header",
1076
1107
  "description": "Consistent page title, description and action area.",
1077
1108
  "type": "pattern",
1078
- "version": "0.1.0",
1109
+ "version": "0.3.0",
1079
1110
  "status": "stable",
1080
1111
  "source": "package",
1081
1112
  "files": [
@@ -1090,7 +1121,7 @@
1090
1121
  "name": "pagination",
1091
1122
  "description": "Accessible controlled pagination with compact page ranges.",
1092
1123
  "type": "component",
1093
- "version": "0.1.0",
1124
+ "version": "0.3.0",
1094
1125
  "status": "stable",
1095
1126
  "source": "package",
1096
1127
  "files": [
@@ -1102,7 +1133,8 @@
1102
1133
  "@sia-ui/utils"
1103
1134
  ],
1104
1135
  "registryDependencies": [
1105
- "icons"
1136
+ "icons",
1137
+ "select"
1106
1138
  ]
1107
1139
  },
1108
1140
  {
@@ -1140,7 +1172,7 @@
1140
1172
  "name": "phone-input",
1141
1173
  "description": "International phone input with dial code and grouping.",
1142
1174
  "type": "component",
1143
- "version": "0.1.0",
1175
+ "version": "0.3.0",
1144
1176
  "status": "stable",
1145
1177
  "source": "package",
1146
1178
  "files": [
@@ -1152,7 +1184,8 @@
1152
1184
  "@sia-ui/utils"
1153
1185
  ],
1154
1186
  "registryDependencies": [
1155
- "input"
1187
+ "input",
1188
+ "select"
1156
1189
  ]
1157
1190
  },
1158
1191
  {
@@ -1309,7 +1342,7 @@
1309
1342
  "name": "resource",
1310
1343
  "description": "Declare a resource once: table columns, form fields, detail view, validation, search keys and permissions are all derived from it.",
1311
1344
  "type": "pattern",
1312
- "version": "0.2.0",
1345
+ "version": "0.3.0",
1313
1346
  "status": "stable",
1314
1347
  "source": "package",
1315
1348
  "files": [
@@ -1378,11 +1411,33 @@
1378
1411
  "icons"
1379
1412
  ]
1380
1413
  },
1414
+ {
1415
+ "name": "secret-fields",
1416
+ "description": "Write-only key/value secrets editor: stored names shown, values never read back.",
1417
+ "type": "component",
1418
+ "version": "0.3.0",
1419
+ "status": "experimental",
1420
+ "source": "package",
1421
+ "files": [
1422
+ "components/SecretFields/index.tsx",
1423
+ "components/SecretFields/styles.css"
1424
+ ],
1425
+ "dependencies": [
1426
+ "@sia-ui/utils"
1427
+ ],
1428
+ "registryDependencies": [
1429
+ "button",
1430
+ "icon-button",
1431
+ "icons",
1432
+ "input",
1433
+ "password-input"
1434
+ ]
1435
+ },
1381
1436
  {
1382
1437
  "name": "select",
1383
1438
  "description": "Accessible searchable select with positioned overlay and async option loading.",
1384
1439
  "type": "component",
1385
- "version": "0.1.0",
1440
+ "version": "0.3.0",
1386
1441
  "status": "stable",
1387
1442
  "source": "package",
1388
1443
  "files": [
@@ -1647,7 +1702,7 @@
1647
1702
  "name": "timer",
1648
1703
  "description": "Reliable count-up or count-down timer based on absolute time.",
1649
1704
  "type": "component",
1650
- "version": "0.1.0",
1705
+ "version": "0.1.1",
1651
1706
  "status": "stable",
1652
1707
  "source": "package",
1653
1708
  "files": [