@sia-ui/registry 0.1.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 ADDED
@@ -0,0 +1,128 @@
1
+ # Journal du registre
2
+
3
+ Les versions des **entrées**, pas celles des paquets. Un composant copié
4
+ cesse de suivre `@sia-ui/react-web` : il vit dans le dépôt de qui l'a
5
+ installé. C'est ce numéro-là, noté dans son `sia-ui.lock.json`, que
6
+ `sia-ui list --outdated` compare.
7
+
8
+ Chaque version d'une entrée doit apparaître ici — `pnpm check:changelog` le
9
+ vérifie, et la CI le lance. Sans quoi une entrée monterait de version sans
10
+ que personne ne puisse savoir ce qui a changé dans le fichier qu'il a déjà
11
+ chez lui.
12
+
13
+ ## 0.1.0
14
+
15
+ Première version des 104 entrées du registre.
16
+
17
+ ### Primitives (19)
18
+
19
+ - `aspect-ratio` — Box locked to a width / height ratio.
20
+ - `avatar` — Image avatar with automatic initials fallback.
21
+ - `badge` — Compact semantic status label with side content and loading state.
22
+ - `button` — Accessible button with loading and icon states.
23
+ - `card` — Composable card with header, body and footer regions.
24
+ - `checkbox` — Checkbox and CheckboxGroup with indeterminate, button and tone variants.
25
+ - `container` — Responsive page container and stack primitives.
26
+ - `divider` — Horizontal or vertical semantic separator.
27
+ - `form-adapter-rhf` — react-hook-form adapter for the FormAdapter contract. Requires react-hook-form.
28
+ - `icon-button` — Accessible icon-only action with required label.
29
+ - `icons` — Jeu d'icônes SVG sans dépendance, servi par le package.
30
+ - `input` — Accessible text input with side content and loading state.
31
+ - `overlay` — Positioned portal foundation with viewport collision handling and dismissal.
32
+ - `radio-group` — Controlled radio group with standard and RadioButton controls.
33
+ - `skeleton` — Token-based loading placeholder for content layouts.
34
+ - `spinner` — Accessible loading indicator with sizes and screen-reader label.
35
+ - `switch` — Controlled or uncontrolled accessible boolean switch.
36
+ - `textarea` — Accessible multiline input with invalid and resize states.
37
+ - `typography` — Headings, body text and inline code with semantic sizing and tones.
38
+
39
+ ### Composants (65)
40
+
41
+ - `accordion` — Collapsible sections with animated height.
42
+ - `alert` — Semantic feedback alert with tones, action and dismissal.
43
+ - `amount-display` — Consistent semantic amount display for finance interfaces.
44
+ - `autocomplete` — Combobox with local filtering and optional custom values.
45
+ - `breadcrumb` — Navigation trail that folds middle levels into a menu.
46
+ - `calendar` — Localized month and year calendar with range selection and custom cells.
47
+ - `chart` — Dependency-free line, area and bar charts.
48
+ - `color-picker` — Native color selection with visible serialized value.
49
+ - `countdown` — Countdown specialization of Timer.
50
+ - `currency-input` — Locale-aware currency input exposing a numeric value.
51
+ - `data-table` — Generic typed table with loading and empty states.
52
+ - `date-picker` — Calendar-based date picker with overlay, tones, limits and custom cells.
53
+ - `date-range-picker` — Unified calendar range selection with serializable boundaries.
54
+ - `date-time-picker` — Composable date and time selection with serializable values.
55
+ - `descriptions` — Responsive labeled value grid for entity details.
56
+ - `drawer` — Accessible side panel with focus management and portal rendering.
57
+ - `dropdown-menu` — Dropdown and context menus with keyboard navigation.
58
+ - `duration-display` — Localized duration display in text or clock format.
59
+ - `event-calendar` — Calendar with per-day business events.
60
+ - `field` — Typed form field factory reusing the SIA UI control catalog.
61
+ - `file-upload` — Accessible file picker with drag and drop.
62
+ - `form-field` — Deprecated compatibility alias for Field.
63
+ - `hover-card` — Rich preview on hover, with open and close delays.
64
+ - `image-upload` — Image file upload with local preview and removal.
65
+ - `input-number` — Numeric input with stepper, bounds and decimal handling.
66
+ - `json-editor` — JSON textarea with validation and formatting.
67
+ - `label` — Libellé de champ, avec marque d'obligation.
68
+ - `markdown-editor` — Markdown writing and pluggable preview surface.
69
+ - `mini-calendar` — Compact calendar built on the shared calendar foundation.
70
+ - `modal` — Accessible modal dialog with portal, Escape and backdrop handling.
71
+ - `month-picker` — Native serializable month selection.
72
+ - `multi-select` — Searchable multiple selection with removable values.
73
+ - `otp-input` — Keyboard and paste friendly one-time code input.
74
+ - `pagination` — Accessible controlled pagination with compact page ranges.
75
+ - `password-input` — Password field with reveal toggle and strength meter.
76
+ - `phone-input` — International phone input with dial code and grouping.
77
+ - `popover` — Click or hover popover composed from the shared positioned Overlay.
78
+ - `progress` — Determinate and indeterminate progress, bar or circle.
79
+ - `qr-code` — Accessible QR code frame with pluggable encoder renderer.
80
+ - `rating` — Accessible controlled or uncontrolled rating control.
81
+ - `reference-select` — Entity reference selection built on Autocomplete.
82
+ - `relative-time` — Auto-refreshing semantic relative date display.
83
+ - `resizable-panel` — Keyboard and pointer resizable split panels.
84
+ - `rich-text-editor` — Lightweight rich text input with basic formatting commands.
85
+ - `scroll-area` — Scrollable region with thin scrollbars and edge fades.
86
+ - `search-input` — Controlled or uncontrolled search field with submit and clear actions.
87
+ - `select` — Accessible searchable select with positioned overlay and async option loading.
88
+ - `slider` — Accessible single or interval slider with formatted values.
89
+ - `statistic` — Locale-aware number, currency and percentage display with trend.
90
+ - `steps` — Step progression, horizontal or vertical, with status.
91
+ - `tabs` — Accessible controlled or uncontrolled tabs with keyboard navigation.
92
+ - `tags-input` — Create and remove string tags from a text input.
93
+ - `time-picker` — Timer-based time selection panel with steps, confirmation and tones.
94
+ - `time-range-picker` — Serializable start and end time selection.
95
+ - `timeline` — Chronological events with semantic tones.
96
+ - `timer` — Reliable count-up or count-down timer based on absolute time.
97
+ - `toast` — Toast queue with placement, pause on hover and promise tracking.
98
+ - `toggle` — Two-state button and toggle group.
99
+ - `tooltip` — Accessible contextual tooltip for hover and focus targets.
100
+ - `tour` — Guided multi-step product tour overlay.
101
+ - `transfer` — Move items between available and selected lists.
102
+ - `tree` — Accessible expandable hierarchical data view.
103
+ - `tree-select` — Hierarchical value selection built on Tree.
104
+ - `week-picker` — Native ISO week selection.
105
+ - `year-picker` — Bounded year selection.
106
+
107
+ ### Patterns applicatifs (20)
108
+
109
+ - `app-shell` — Responsive application shell with collapsible navigation.
110
+ - `async-state` — Loading, empty and error states for remotely loaded content.
111
+ - `audit-meta` — Chronological audit history for admin and finance entities.
112
+ - `auth-layout` — Reusable authentication page composition.
113
+ - `command-palette` — Keyboard command search and execution dialog.
114
+ - `confirm-dialog` — Confirmation dialog composed from Modal and Button.
115
+ - `crud-page` — CRUD page composition with header, async states and pagination.
116
+ - `date-range-filter` — Date range filter with reusable presets and clear action.
117
+ - `empty-state` — Reusable empty state with icon, description and action.
118
+ - `entity-meta` — Compact audit and entity metadata block for admin and finance screens.
119
+ - `error-state` — Reusable error state with message extraction and retry action.
120
+ - `filters-bar` — Composable search, filter, reset and action toolbar.
121
+ - `form` — Declarative form driven by a field list, wired to any FormAdapter.
122
+ - `kpi-grid` — Responsive grid for KPI and statistic cards.
123
+ - `page-header` — Consistent page title, description and action area.
124
+ - `permission-gate` — Render content according to application permissions.
125
+ - `require-session` — Route guard on a session store, with a permission rule and no router dependency.
126
+ - `sidebar` — Collapsible application navigation with groups and sub-items.
127
+ - `stat-card` — Business metric card composed from Card and Statistic.
128
+ - `unsaved-changes-guard` — Protect browser and in-app navigation with unsaved changes.
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Ivan Mbella
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,35 @@
1
+ # @sia-ui/registry
2
+
3
+ Le catalogue des composants installables par la CLI.
4
+
5
+ ```ts
6
+ import { registry, getRegistryItem } from "@sia-ui/registry";
7
+ ```
8
+
9
+ Chaque entrée porte son `nom`, sa `version`, son `status`
10
+ (`experimental`, `stable`, `deprecated`, `removed`), ses fichiers, ses
11
+ dépendances npm et ses dépendances de registre.
12
+
13
+ Les fichiers viennent de `@sia-ui/react-web` et sont copiés **sans
14
+ transformation** : il n'y a qu'une implémentation.
15
+
16
+ Ce paquet sert surtout à la [CLI](https://www.npmjs.com/package/@sia-ui/cli).
17
+
18
+ ## Place dans SIA UI
19
+
20
+ ```
21
+ @sia-ui/tokens valeurs : couleurs, espacements, mouvement, vocabulaire
22
+ @sia-ui/utils fonctions sans dépendance
23
+ @sia-ui/api client HTTP — indépendant de l'interface
24
+ @sia-ui/headless comportement, avec React, sans plateforme
25
+ @sia-ui/react primitives de runtime DOM
26
+ @sia-ui/react-web composants DOM
27
+ @sia-ui/react-native composants natifs, à venir
28
+ ```
29
+
30
+ Une chose s'écrit au niveau le plus bas où elle a du sens, et une seule fois.
31
+ Voir [la documentation](https://github.com/BeatJo/sia-ui/tree/main/docs).
32
+
33
+ ## Licence
34
+
35
+ MIT