@nomosui/react 0.4.1 → 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.
Files changed (36) hide show
  1. package/README.md +2 -1
  2. package/SKILL.md +42 -0
  3. package/dist/index.js +1361 -143
  4. package/dist/mcp/bin.js +10856 -7346
  5. package/dist/types/components/accordion/accordion.d.ts +14 -0
  6. package/dist/types/components/accordion/manifest.d.ts +7 -0
  7. package/dist/types/components/alert-dialog/alert-dialog.d.ts +26 -0
  8. package/dist/types/components/alert-dialog/manifest.d.ts +7 -0
  9. package/dist/types/components/avatar/avatar.d.ts +17 -0
  10. package/dist/types/components/avatar/manifest.d.ts +6 -0
  11. package/dist/types/components/badge/badge.d.ts +1 -1
  12. package/dist/types/components/button/button.d.ts +1 -1
  13. package/dist/types/components/collapsible/collapsible.d.ts +11 -0
  14. package/dist/types/components/collapsible/manifest.d.ts +7 -0
  15. package/dist/types/components/dialog/dialog.d.ts +30 -0
  16. package/dist/types/components/dialog/manifest.d.ts +7 -0
  17. package/dist/types/{internal → components/dropdown-menu}/dropdown-menu.d.ts +5 -0
  18. package/dist/types/components/dropdown-menu/manifest.d.ts +7 -0
  19. package/dist/types/components/popover/manifest.d.ts +7 -0
  20. package/dist/types/components/popover/popover.d.ts +12 -0
  21. package/dist/types/components/scroll-area/manifest.d.ts +6 -0
  22. package/dist/types/components/scroll-area/scroll-area.d.ts +10 -0
  23. package/dist/types/components/select/manifest.d.ts +7 -0
  24. package/dist/types/{internal → components/select}/select.d.ts +5 -0
  25. package/dist/types/components/sheet/manifest.d.ts +7 -0
  26. package/dist/types/{internal → components/sheet}/sheet.d.ts +23 -0
  27. package/dist/types/components/tabs/manifest.d.ts +6 -0
  28. package/dist/types/components/tabs/tabs.d.ts +12 -0
  29. package/dist/types/components/tooltip/manifest.d.ts +7 -0
  30. package/dist/types/{internal → components/tooltip}/tooltip.d.ts +6 -0
  31. package/dist/types/index.d.ts +26 -3
  32. package/package.json +8 -2
  33. package/tokens/theme.css +205 -0
  34. package/tokens/tokens.generated.css +44 -0
  35. package/tokens/tokens.json +46 -0
  36. package/tokens/tokens.resource.json +22 -0
package/README.md CHANGED
@@ -58,7 +58,8 @@ npm run smoke:consumer # installs the tarball in a fresh project and exercise
58
58
 
59
59
  The structural decisions live in `docs/adr/`. Start with 0002 (app-agnostic core), 0003 (the
60
60
  theme interface), 0004 (`tokens.json` as the single source), 0005 (the catalogue manifest),
61
- 0017 (the name), 0024 (the public surface) and 0026 (Nomos goes public).
61
+ 0017 (the name), 0024 (the public surface), 0026 (Nomos goes public) and 0027 (overlay:
62
+ layer, scrim and motion as tokens).
62
63
 
63
64
  ## License
64
65
 
package/SKILL.md CHANGED
@@ -28,6 +28,11 @@ pour expliquer une brique, elle appartient à l'app, pas au cœur.
28
28
  `onValueChange`, sinon un affichage.
29
29
  - **Lister des événements datés** → `Timeline` (frise, présentation seule ; le format de
30
30
  la date vient de l'app).
31
+ - **Nommer un contrôle iconique, glisser une aide courte** → `Tooltip` en famille (un
32
+ `TooltipProvider` autour de plusieurs, `Tooltip`, `TooltipTrigger`, `TooltipContent`).
33
+ Jamais pour une information essentielle : elle n'est ni au clavier seul ni au tactile.
34
+ - **Représenter une personne par son image** → `Avatar` (le texte alternatif et le repli
35
+ viennent de l'app ; natif `<img>` + `onError`, sans dépendance).
31
36
 
32
37
  ### Agir, saisir
33
38
 
@@ -40,6 +45,9 @@ pour expliquer une brique, elle appartient à l'app, pas au cœur.
40
45
  **choisir une seule option parmi quelques-unes** → `RadioGroup` ; **une bascule
41
46
  ponctuelle** (mode, filtre) → `Toggle`, **un segment** → `ToggleGroup`. Tous sont
42
47
  contrôlés par props : l'état reste dans l'app.
48
+ - **Choisir une valeur unique parmi une liste d'options** → `Select` en parts
49
+ (`SelectTrigger`, `SelectValue`, `SelectContent`, `SelectItem` ; les libellés et les
50
+ valeurs viennent de l'app). Pour des actions, c'est un `DropdownMenu`.
43
51
 
44
52
  ### Structurer
45
53
 
@@ -50,8 +58,30 @@ pour expliquer une brique, elle appartient à l'app, pas au cœur.
50
58
  du cœur ; `onClose` va avec `closeLabel`).
51
59
  - **Séparer deux contenus** → `Separator` ; **tenir la place d'un contenu qui charge** →
52
60
  `Skeleton`.
61
+ - **Un contenu riche ou interactif dans une surface flottante au clic** → `Popover`
62
+ (`PopoverTrigger`, `PopoverContent`, `PopoverAnchor` pour s'ancrer ailleurs). Pour un
63
+ texte court au survol, c'est une `Tooltip`.
64
+ - **Révéler un détail à la demande** → `Collapsible` (`CollapsibleTrigger`,
65
+ `CollapsibleContent`) ; **des sections repliables, une à la fois** → `Accordion`
66
+ (`AccordionItem`, `AccordionTrigger`, `AccordionContent`, `type` single/multiple).
67
+ - **Basculer entre des vues sœurs** → `Tabs` (`TabsList`, `TabsTrigger`, `TabsContent`) ;
68
+ **borner une sous-vue dense dans une hauteur fixe** → `ScrollArea` (purement cosmétique,
69
+ le défilement reste natif).
53
70
  - **Prévenir sans bloquer** → `Toast` via `useToast().show({ message })` (la file et
54
71
  l'auto-dismiss vivent dans `ToastProvider`).
72
+ - **Regrouper des actions derrière un déclencheur compact** → `DropdownMenu` en parts
73
+ (`DropdownMenuTrigger`, `DropdownMenuContent`, `DropdownMenuItem`, à cocher, radio,
74
+ sous-menu ; les libellés et les actions viennent de l'app). Pour choisir une valeur de
75
+ formulaire, c'est un `Select`.
76
+ - **Demander une décision dans une modale centrée** → `Dialog` (déclencheur, titre,
77
+ description, corps, pied ; le libellé de fermeture vient de l'app). L'empilement, le
78
+ voile et le mouvement viennent des tokens, jamais d'une valeur en dur.
79
+ - **Confirmer une action destructive** → `AlertDialog` (`AlertDialogTrigger`,
80
+ `AlertDialogContent`, `AlertDialogAction`, `AlertDialogCancel` ; deux issues
81
+ explicites). Il ne se ferme pas au clic hors surface.
82
+ - **Montrer un contenu ancré à un bord** → `Sheet` en parts (`SheetTrigger`, `SheetContent`
83
+ avec `side`, `SheetHeader`, `SheetFooter`) ; `side="bottom"` est le **drawer** — le même
84
+ panneau, un côté différent, pas un atome à part.
55
85
  - **Parcourir une hiérarchie** → `Tree` (navigation, un nœud actif) ou `SelectionTree`
56
86
  (sélection multiple) ; ouverture et sélection sont contrôlées par props, le focus
57
87
  clavier (rôle `tree`, flèches) est interne.
@@ -93,15 +123,21 @@ brique ajoutée au catalogue sans être ici fait rougir, et une ligne qui n'exis
93
123
  aussi.
94
124
 
95
125
  <!-- inventaire : début — tenu par src/mcp/skill.test.ts -->
126
+ accordion
96
127
  alert
128
+ alert-dialog
129
+ avatar
97
130
  badge
98
131
  button
99
132
  card
100
133
  checkbox
101
134
  chip
135
+ collapsible
102
136
  counter
103
137
  data-table-pagination
104
138
  data-table-toolbar
139
+ dialog
140
+ dropdown-menu
105
141
  empty-state
106
142
  facet-filter
107
143
  field
@@ -112,19 +148,25 @@ input
112
148
  label
113
149
  meter
114
150
  number-field
151
+ popover
115
152
  progress-bar
116
153
  radio
117
154
  rating
155
+ scroll-area
118
156
  search-field
157
+ select
119
158
  separator
159
+ sheet
120
160
  skeleton
121
161
  switch
122
162
  table
163
+ tabs
123
164
  textarea
124
165
  timeline
125
166
  toast
126
167
  toggle
127
168
  toggle-group
169
+ tooltip
128
170
  tree
129
171
  <!-- inventaire : fin -->
130
172