@nomosui/react 0.4.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 (92) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +65 -0
  3. package/SKILL.md +166 -0
  4. package/dist/index.js +4591 -0
  5. package/dist/mcp/bin.js +46371 -0
  6. package/dist/types/catalogue/contract.d.ts +78 -0
  7. package/dist/types/catalogue/registry.d.ts +33 -0
  8. package/dist/types/components/alert/alert.d.ts +30 -0
  9. package/dist/types/components/alert/manifest.d.ts +3 -0
  10. package/dist/types/components/badge/badge.d.ts +25 -0
  11. package/dist/types/components/badge/manifest.d.ts +7 -0
  12. package/dist/types/components/button/button.d.ts +38 -0
  13. package/dist/types/components/button/manifest.d.ts +7 -0
  14. package/dist/types/components/card/card.d.ts +12 -0
  15. package/dist/types/components/card/manifest.d.ts +3 -0
  16. package/dist/types/components/checkbox/checkbox.d.ts +4 -0
  17. package/dist/types/components/checkbox/manifest.d.ts +3 -0
  18. package/dist/types/components/chip/chip.d.ts +36 -0
  19. package/dist/types/components/chip/manifest.d.ts +3 -0
  20. package/dist/types/components/counter/counter.d.ts +14 -0
  21. package/dist/types/components/counter/manifest.d.ts +3 -0
  22. package/dist/types/components/data-table-pagination/data-table-pagination.d.ts +20 -0
  23. package/dist/types/components/data-table-pagination/manifest.d.ts +3 -0
  24. package/dist/types/components/data-table-toolbar/data-table-toolbar.d.ts +34 -0
  25. package/dist/types/components/data-table-toolbar/manifest.d.ts +3 -0
  26. package/dist/types/components/empty-state/empty-state.d.ts +23 -0
  27. package/dist/types/components/empty-state/manifest.d.ts +3 -0
  28. package/dist/types/components/facet-filter/facet-filter.d.ts +23 -0
  29. package/dist/types/components/facet-filter/manifest.d.ts +6 -0
  30. package/dist/types/components/field/field.d.ts +15 -0
  31. package/dist/types/components/field/manifest.d.ts +3 -0
  32. package/dist/types/components/fieldset/fieldset.d.ts +3 -0
  33. package/dist/types/components/fieldset/manifest.d.ts +3 -0
  34. package/dist/types/components/form/form.d.ts +14 -0
  35. package/dist/types/components/form/manifest.d.ts +3 -0
  36. package/dist/types/components/freshness/freshness.d.ts +18 -0
  37. package/dist/types/components/freshness/manifest.d.ts +7 -0
  38. package/dist/types/components/input/input.d.ts +6 -0
  39. package/dist/types/components/input/manifest.d.ts +6 -0
  40. package/dist/types/components/label/label.d.ts +3 -0
  41. package/dist/types/components/label/manifest.d.ts +3 -0
  42. package/dist/types/components/meter/manifest.d.ts +6 -0
  43. package/dist/types/components/meter/meter.d.ts +23 -0
  44. package/dist/types/components/number-field/manifest.d.ts +3 -0
  45. package/dist/types/components/number-field/number-field.d.ts +7 -0
  46. package/dist/types/components/progress-bar/manifest.d.ts +3 -0
  47. package/dist/types/components/progress-bar/progress-bar.d.ts +12 -0
  48. package/dist/types/components/radio/manifest.d.ts +3 -0
  49. package/dist/types/components/radio/radio.d.ts +5 -0
  50. package/dist/types/components/rating/manifest.d.ts +3 -0
  51. package/dist/types/components/rating/rating.d.ts +19 -0
  52. package/dist/types/components/search-field/manifest.d.ts +3 -0
  53. package/dist/types/components/search-field/search-field.d.ts +14 -0
  54. package/dist/types/components/separator/manifest.d.ts +3 -0
  55. package/dist/types/components/separator/separator.d.ts +7 -0
  56. package/dist/types/components/skeleton/manifest.d.ts +3 -0
  57. package/dist/types/components/skeleton/skeleton.d.ts +3 -0
  58. package/dist/types/components/switch/manifest.d.ts +3 -0
  59. package/dist/types/components/switch/switch.d.ts +4 -0
  60. package/dist/types/components/table/manifest.d.ts +7 -0
  61. package/dist/types/components/table/table.d.ts +14 -0
  62. package/dist/types/components/textarea/manifest.d.ts +3 -0
  63. package/dist/types/components/textarea/textarea.d.ts +3 -0
  64. package/dist/types/components/timeline/manifest.d.ts +3 -0
  65. package/dist/types/components/timeline/timeline.d.ts +19 -0
  66. package/dist/types/components/toast/manifest.d.ts +3 -0
  67. package/dist/types/components/toast/toast.d.ts +35 -0
  68. package/dist/types/components/toggle/manifest.d.ts +3 -0
  69. package/dist/types/components/toggle/toggle.d.ts +31 -0
  70. package/dist/types/components/toggle-group/manifest.d.ts +6 -0
  71. package/dist/types/components/toggle-group/toggle-group.d.ts +8 -0
  72. package/dist/types/components/tree/manifest.d.ts +7 -0
  73. package/dist/types/components/tree/tree.d.ts +42 -0
  74. package/dist/types/features/data-table-features.d.ts +29 -0
  75. package/dist/types/features/faceted-data-table.d.ts +99 -0
  76. package/dist/types/features/toast.d.ts +33 -0
  77. package/dist/types/index.d.ts +112 -0
  78. package/dist/types/internal/dropdown-menu.d.ts +27 -0
  79. package/dist/types/internal/select.d.ts +13 -0
  80. package/dist/types/internal/sheet.d.ts +25 -0
  81. package/dist/types/internal/tooltip.d.ts +7 -0
  82. package/dist/types/lib/cn.d.ts +6 -0
  83. package/dist/types/lib/tone.d.ts +12 -0
  84. package/dist/types/tokens/build.d.mts +68 -0
  85. package/dist/types/tokens/resource.d.ts +8 -0
  86. package/dist/types/tokens/skin.d.ts +9 -0
  87. package/package.json +107 -0
  88. package/scripts/install-skill.mjs +28 -0
  89. package/tokens/theme.css +63 -0
  90. package/tokens/tokens.generated.css +271 -0
  91. package/tokens/tokens.json +225 -0
  92. package/tokens/tokens.resource.json +138 -0
@@ -0,0 +1,225 @@
1
+ {
2
+ "$description": "La source unique des tokens de Nomos. Format DTCG (W3C Design Tokens Community Group) : deux étages — `primitive` (les valeurs brutes, jamais consommées directement) et `semantic` (les emplacements que les composants et les thèmes renseignent). Rien d'autre n'est une source : le CSS de l'app et la ressource servie aux agents en sont dérivés par `scripts/build-tokens.mjs` (docs/adr/0004).",
3
+ "$extensions": {
4
+ "org.nomos": {
5
+ "modes": ["dark", "light"],
6
+ "defaultMode": "dark",
7
+ "cssNamespace": "--nomos",
8
+ "densities": { "comfortable": 1, "compact": 0.8 },
9
+ "defaultDensity": "comfortable"
10
+ }
11
+ },
12
+ "primitive": {
13
+ "$description": "Les valeurs brutes. Un composant ne les référence jamais : il parle en tokens sémantiques, sinon le skin n'est plus remplaçable (ADR 0002, ADR 0003).",
14
+ "color": {
15
+ "$description": "Les couleurs sont écrites en HSL dans la forme DTCG (`colorSpace: hsl`, composantes [teinte, saturation, clarté]) et non en hexadécimal : c'est la forme que l'app consomme (`hsl(var(--nomos-color-…))`), celle qui laisse fonctionner les modificateurs d'opacité de Tailwind, et elle garde au rendu la valeur exacte qu'il avait avant la dérivation.",
16
+ "ink": {
17
+ "$description": "La rampe de fond de la console, sombre et légèrement bleutée.",
18
+ "950": { "$type": "color", "$value": { "colorSpace": "hsl", "components": [240, 7, 8] } },
19
+ "900": { "$type": "color", "$value": { "colorSpace": "hsl", "components": [240, 17, 12] } },
20
+ "800": { "$type": "color", "$value": { "colorSpace": "hsl", "components": [240, 8, 16] } },
21
+ "750": { "$type": "color", "$value": { "colorSpace": "hsl", "components": [240, 8, 19] } }
22
+ },
23
+ "paper": {
24
+ "$description": "La rampe de fond claire.",
25
+ "0": { "$type": "color", "$value": { "colorSpace": "hsl", "components": [0, 0, 100] } },
26
+ "50": { "$type": "color", "$value": { "colorSpace": "hsl", "components": [0, 0, 98] } },
27
+ "100": { "$type": "color", "$value": { "colorSpace": "hsl", "components": [240, 5, 92] } },
28
+ "200": { "$type": "color", "$value": { "colorSpace": "hsl", "components": [240, 6, 85] } }
29
+ },
30
+ "text": {
31
+ "$description": "Les deux valeurs de texte plein et leur version atténuée, de part et d'autre de la bascule.",
32
+ "on-dark": { "$type": "color", "$value": { "colorSpace": "hsl", "components": [240, 10, 94] } },
33
+ "on-light": { "$type": "color", "$value": { "colorSpace": "hsl", "components": [240, 10, 10] } },
34
+ "muted-on-dark": { "$type": "color", "$value": { "colorSpace": "hsl", "components": [0, 0, 60] } },
35
+ "muted-on-light": { "$type": "color", "$value": { "colorSpace": "hsl", "components": [240, 4, 46] } }
36
+ },
37
+ "teal": {
38
+ "$description": "L'accent de la console : deux paliers, celui du fond sombre et celui du fond clair.",
39
+ "500": { "$type": "color", "$value": { "colorSpace": "hsl", "components": [174, 100, 39] } },
40
+ "600": { "$type": "color", "$value": { "colorSpace": "hsl", "components": [174, 100, 35] } }
41
+ },
42
+ "danger": {
43
+ "$description": "L'état destructif : plus clair sur fond sombre, plus soutenu sur fond clair.",
44
+ "300": { "$type": "color", "$value": { "colorSpace": "hsl", "components": [0, 72, 71] } },
45
+ "500": { "$type": "color", "$value": { "colorSpace": "hsl", "components": [0, 72, 51] } }
46
+ },
47
+ "status": {
48
+ "$description": "Les rampes de statut du vocabulaire de tons (ADR 0004). Chaque ton porte une surface (500, lue à faible opacité pour le fond et la bordure) et une encre (300 en sombre, 700 en clair, lisible sur le fond).",
49
+ "info": {
50
+ "500": { "$type": "color", "$value": { "colorSpace": "hsl", "components": [199, 89, 48] } },
51
+ "700": { "$type": "color", "$value": { "colorSpace": "hsl", "components": [201, 96, 32] } },
52
+ "300": { "$type": "color", "$value": { "colorSpace": "hsl", "components": [198, 93, 74] } }
53
+ },
54
+ "progress": {
55
+ "500": { "$type": "color", "$value": { "colorSpace": "hsl", "components": [258, 90, 66] } },
56
+ "700": { "$type": "color", "$value": { "colorSpace": "hsl", "components": [263, 70, 50] } },
57
+ "300": { "$type": "color", "$value": { "colorSpace": "hsl", "components": [255, 92, 85] } }
58
+ },
59
+ "attention": {
60
+ "500": { "$type": "color", "$value": { "colorSpace": "hsl", "components": [38, 92, 50] } },
61
+ "700": { "$type": "color", "$value": { "colorSpace": "hsl", "components": [26, 90, 37] } },
62
+ "300": { "$type": "color", "$value": { "colorSpace": "hsl", "components": [46, 97, 65] } }
63
+ },
64
+ "warning": {
65
+ "500": { "$type": "color", "$value": { "colorSpace": "hsl", "components": [25, 95, 53] } },
66
+ "700": { "$type": "color", "$value": { "colorSpace": "hsl", "components": [17, 88, 40] } },
67
+ "300": { "$type": "color", "$value": { "colorSpace": "hsl", "components": [31, 97, 72] } }
68
+ },
69
+ "danger": {
70
+ "500": { "$type": "color", "$value": { "colorSpace": "hsl", "components": [0, 84, 60] } },
71
+ "700": { "$type": "color", "$value": { "colorSpace": "hsl", "components": [0, 74, 42] } },
72
+ "300": { "$type": "color", "$value": { "colorSpace": "hsl", "components": [0, 94, 82] } }
73
+ },
74
+ "success": {
75
+ "500": { "$type": "color", "$value": { "colorSpace": "hsl", "components": [160, 84, 39] } },
76
+ "700": { "$type": "color", "$value": { "colorSpace": "hsl", "components": [161, 94, 25] } },
77
+ "300": { "$type": "color", "$value": { "colorSpace": "hsl", "components": [156, 72, 67] } }
78
+ }
79
+ },
80
+ "absolute": {
81
+ "black": { "$type": "color", "$value": { "colorSpace": "hsl", "components": [0, 0, 0] } },
82
+ "white": { "$type": "color", "$value": { "colorSpace": "hsl", "components": [0, 0, 100] } }
83
+ },
84
+ "brand-teal": {
85
+ "$description": "Le teal de marque, conservé en hexadécimal : il vient d'une identité (ADR 0001) et non d'une rampe calculée.",
86
+ "400": { "$type": "color", "$value": "#00c9b1" }
87
+ }
88
+ },
89
+ "space": {
90
+ "$description": "L'échelle d'espacement, base 4 : la progression va de 2 à 32 px, les clés sont sémantiques pour que la densité puisse la multiplier sans casser le code appelant (ADR 0008).",
91
+ "hairline": { "$type": "dimension", "$value": { "value": 2, "unit": "px" } },
92
+ "tight": { "$type": "dimension", "$value": { "value": 4, "unit": "px" } },
93
+ "snug": { "$type": "dimension", "$value": { "value": 8, "unit": "px" } },
94
+ "base": { "$type": "dimension", "$value": { "value": 12, "unit": "px" } },
95
+ "comfy": { "$type": "dimension", "$value": { "value": 16, "unit": "px" } },
96
+ "loose": { "$type": "dimension", "$value": { "value": 24, "unit": "px" } },
97
+ "section": { "$type": "dimension", "$value": { "value": 32, "unit": "px" } }
98
+ },
99
+ "radius": {
100
+ "$description": "Les rayons, nommés par usage et non par numéro : les valeurs reprennent exactement celles que l'app calculait (`--radius` moins 2 px et moins 4 px).",
101
+ "pill": { "$type": "dimension", "$value": { "value": 9999, "unit": "px" } },
102
+ "control": { "$type": "dimension", "$value": { "value": 0.625, "unit": "rem" } },
103
+ "field": { "$type": "dimension", "$value": { "value": 0.5, "unit": "rem" } },
104
+ "chip": { "$type": "dimension", "$value": { "value": 0.375, "unit": "rem" } }
105
+ },
106
+ "type": {
107
+ "$description": "L'échelle typographique : des tailles nommées par leur rôle, chacune avec sa hauteur de ligne.",
108
+ "size": {
109
+ "micro": { "$type": "dimension", "$value": { "value": 0.6875, "unit": "rem" } },
110
+ "caption": { "$type": "dimension", "$value": { "value": 0.75, "unit": "rem" } },
111
+ "body": { "$type": "dimension", "$value": { "value": 0.875, "unit": "rem" } },
112
+ "lead": { "$type": "dimension", "$value": { "value": 1, "unit": "rem" } },
113
+ "title": { "$type": "dimension", "$value": { "value": 1.125, "unit": "rem" } },
114
+ "display": { "$type": "dimension", "$value": { "value": 1.5, "unit": "rem" } }
115
+ },
116
+ "leading": {
117
+ "micro": { "$type": "dimension", "$value": { "value": 0.875, "unit": "rem" } },
118
+ "caption": { "$type": "dimension", "$value": { "value": 1, "unit": "rem" } },
119
+ "body": { "$type": "dimension", "$value": { "value": 1.25, "unit": "rem" } },
120
+ "lead": { "$type": "dimension", "$value": { "value": 1.5, "unit": "rem" } },
121
+ "title": { "$type": "dimension", "$value": { "value": 1.75, "unit": "rem" } },
122
+ "display": { "$type": "dimension", "$value": { "value": 2, "unit": "rem" } }
123
+ },
124
+ "weight": {
125
+ "regular": { "$type": "fontWeight", "$value": 400 },
126
+ "medium": { "$type": "fontWeight", "$value": 500 },
127
+ "strong": { "$type": "fontWeight", "$value": 600 }
128
+ },
129
+ "family": {
130
+ "sans": {
131
+ "$type": "fontFamily",
132
+ "$value": ["ui-sans-serif", "system-ui", "Segoe UI", "Roboto", "Helvetica Neue", "Arial", "sans-serif"]
133
+ }
134
+ }
135
+ }
136
+ },
137
+ "semantic": {
138
+ "$description": "Les emplacements. C'est le contrat de l'interface de thème (ADR 0003) : chaque mode remplit exactement les mêmes clés, et un emplacement manquant fait échouer le test de parité au lieu de produire un blanc silencieux (ADR 0009).",
139
+ "color": {
140
+ "$description": "Chaque couleur porte les deux modes. Une valeur de mode est un alias `{primitive.…}` : c'est l'alias qui dit qu'un thème remplace un emplacement, il ne recopie pas la valeur.",
141
+ "background": { "$type": "color", "$value": { "dark": "{primitive.color.ink.950}", "light": "{primitive.color.paper.0}" } },
142
+ "foreground": { "$type": "color", "$value": { "dark": "{primitive.color.text.on-dark}", "light": "{primitive.color.text.on-light}" } },
143
+ "card": { "$type": "color", "$value": { "dark": "{primitive.color.ink.900}", "light": "{primitive.color.paper.50}" } },
144
+ "card-foreground": { "$type": "color", "$value": { "dark": "{primitive.color.text.on-dark}", "light": "{primitive.color.text.on-light}" } },
145
+ "popover": { "$type": "color", "$value": { "dark": "{primitive.color.ink.900}", "light": "{primitive.color.paper.0}" } },
146
+ "popover-foreground": { "$type": "color", "$value": { "dark": "{primitive.color.text.on-dark}", "light": "{primitive.color.text.on-light}" } },
147
+ "primary": { "$type": "color", "$value": { "dark": "{primitive.color.teal.500}", "light": "{primitive.color.teal.600}" } },
148
+ "primary-foreground": { "$type": "color", "$value": { "dark": "{primitive.color.absolute.black}", "light": "{primitive.color.absolute.white}" } },
149
+ "secondary": { "$type": "color", "$value": { "dark": "{primitive.color.ink.800}", "light": "{primitive.color.paper.100}" } },
150
+ "secondary-foreground": { "$type": "color", "$value": { "dark": "{primitive.color.text.on-dark}", "light": "{primitive.color.text.on-light}" } },
151
+ "muted": { "$type": "color", "$value": { "dark": "{primitive.color.ink.750}", "light": "{primitive.color.paper.100}" } },
152
+ "muted-foreground": { "$type": "color", "$value": { "dark": "{primitive.color.text.muted-on-dark}", "light": "{primitive.color.text.muted-on-light}" } },
153
+ "accent": { "$type": "color", "$value": { "dark": "{primitive.color.ink.800}", "light": "{primitive.color.paper.100}" } },
154
+ "accent-foreground": { "$type": "color", "$value": { "dark": "{primitive.color.text.on-dark}", "light": "{primitive.color.text.on-light}" } },
155
+ "destructive": { "$type": "color", "$value": { "dark": "{primitive.color.danger.300}", "light": "{primitive.color.danger.500}" } },
156
+ "destructive-foreground": { "$type": "color", "$value": { "dark": "{primitive.color.absolute.black}", "light": "{primitive.color.absolute.white}" } },
157
+ "border": { "$type": "color", "$value": { "dark": "{primitive.color.ink.750}", "light": "{primitive.color.paper.200}" } },
158
+ "input": { "$type": "color", "$value": { "dark": "{primitive.color.ink.750}", "light": "{primitive.color.paper.200}" } },
159
+ "ring": { "$type": "color", "$value": { "dark": "{primitive.color.teal.500}", "light": "{primitive.color.teal.600}" } },
160
+ "brand": { "$type": "color", "$value": { "dark": "{primitive.color.brand-teal.400}", "light": "{primitive.color.brand-teal.400}" } },
161
+ "status-info": { "$type": "color", "$value": { "dark": "{primitive.color.status.info.500}", "light": "{primitive.color.status.info.500}" } },
162
+ "status-info-ink": { "$type": "color", "$value": { "dark": "{primitive.color.status.info.300}", "light": "{primitive.color.status.info.700}" } },
163
+ "status-progress": { "$type": "color", "$value": { "dark": "{primitive.color.status.progress.500}", "light": "{primitive.color.status.progress.500}" } },
164
+ "status-progress-ink": { "$type": "color", "$value": { "dark": "{primitive.color.status.progress.300}", "light": "{primitive.color.status.progress.700}" } },
165
+ "status-attention": { "$type": "color", "$value": { "dark": "{primitive.color.status.attention.500}", "light": "{primitive.color.status.attention.500}" } },
166
+ "status-attention-ink": { "$type": "color", "$value": { "dark": "{primitive.color.status.attention.300}", "light": "{primitive.color.status.attention.700}" } },
167
+ "status-warning": { "$type": "color", "$value": { "dark": "{primitive.color.status.warning.500}", "light": "{primitive.color.status.warning.500}" } },
168
+ "status-warning-ink": { "$type": "color", "$value": { "dark": "{primitive.color.status.warning.300}", "light": "{primitive.color.status.warning.700}" } },
169
+ "status-danger": { "$type": "color", "$value": { "dark": "{primitive.color.status.danger.500}", "light": "{primitive.color.status.danger.500}" } },
170
+ "status-danger-ink": { "$type": "color", "$value": { "dark": "{primitive.color.status.danger.300}", "light": "{primitive.color.status.danger.700}" } },
171
+ "status-success": { "$type": "color", "$value": { "dark": "{primitive.color.status.success.500}", "light": "{primitive.color.status.success.500}" } },
172
+ "status-success-ink": { "$type": "color", "$value": { "dark": "{primitive.color.status.success.300}", "light": "{primitive.color.status.success.700}" } }
173
+ },
174
+ "radius": {
175
+ "$description": "Les rayons tels que les composants les nomment. Les modes ne les séparent pas : un rayon est le même de part et d'autre de la bascule, et le test de parité le vérifie comme les couleurs.",
176
+ "pill": { "$type": "dimension", "$value": { "dark": "{primitive.radius.pill}", "light": "{primitive.radius.pill}" } },
177
+ "control": { "$type": "dimension", "$value": { "dark": "{primitive.radius.control}", "light": "{primitive.radius.control}" } },
178
+ "field": { "$type": "dimension", "$value": { "dark": "{primitive.radius.field}", "light": "{primitive.radius.field}" } },
179
+ "chip": { "$type": "dimension", "$value": { "dark": "{primitive.radius.chip}", "light": "{primitive.radius.chip}" } }
180
+ },
181
+ "space": {
182
+ "$description": "L'espacement sémantique : ce que les composants lisent. La densité (ADR 0008) le multipliera en une passe, ici les deux modes portent la même valeur.",
183
+ "hairline": { "$type": "dimension", "$value": { "dark": "{primitive.space.hairline}", "light": "{primitive.space.hairline}" } },
184
+ "tight": { "$type": "dimension", "$value": { "dark": "{primitive.space.tight}", "light": "{primitive.space.tight}" } },
185
+ "snug": { "$type": "dimension", "$value": { "dark": "{primitive.space.snug}", "light": "{primitive.space.snug}" } },
186
+ "base": { "$type": "dimension", "$value": { "dark": "{primitive.space.base}", "light": "{primitive.space.base}" } },
187
+ "comfy": { "$type": "dimension", "$value": { "dark": "{primitive.space.comfy}", "light": "{primitive.space.comfy}" } },
188
+ "loose": { "$type": "dimension", "$value": { "dark": "{primitive.space.loose}", "light": "{primitive.space.loose}" } },
189
+ "section": { "$type": "dimension", "$value": { "dark": "{primitive.space.section}", "light": "{primitive.space.section}" } }
190
+ },
191
+ "type": {
192
+ "$description": "Les tailles et hauteurs de ligne sémantiques. Aucun composant ne les consomme encore : elles remplacent les tailles numériques au moment où le premier en aura besoin.",
193
+ "size": {
194
+ "micro": { "$type": "dimension", "$value": { "dark": "{primitive.type.size.micro}", "light": "{primitive.type.size.micro}" } },
195
+ "caption": { "$type": "dimension", "$value": { "dark": "{primitive.type.size.caption}", "light": "{primitive.type.size.caption}" } },
196
+ "body": { "$type": "dimension", "$value": { "dark": "{primitive.type.size.body}", "light": "{primitive.type.size.body}" } },
197
+ "lead": { "$type": "dimension", "$value": { "dark": "{primitive.type.size.lead}", "light": "{primitive.type.size.lead}" } },
198
+ "title": { "$type": "dimension", "$value": { "dark": "{primitive.type.size.title}", "light": "{primitive.type.size.title}" } },
199
+ "display": { "$type": "dimension", "$value": { "dark": "{primitive.type.size.display}", "light": "{primitive.type.size.display}" } }
200
+ },
201
+ "leading": {
202
+ "micro": { "$type": "dimension", "$value": { "dark": "{primitive.type.leading.micro}", "light": "{primitive.type.leading.micro}" } },
203
+ "caption": { "$type": "dimension", "$value": { "dark": "{primitive.type.leading.caption}", "light": "{primitive.type.leading.caption}" } },
204
+ "body": { "$type": "dimension", "$value": { "dark": "{primitive.type.leading.body}", "light": "{primitive.type.leading.body}" } },
205
+ "lead": { "$type": "dimension", "$value": { "dark": "{primitive.type.leading.lead}", "light": "{primitive.type.leading.lead}" } },
206
+ "title": { "$type": "dimension", "$value": { "dark": "{primitive.type.leading.title}", "light": "{primitive.type.leading.title}" } },
207
+ "display": { "$type": "dimension", "$value": { "dark": "{primitive.type.leading.display}", "light": "{primitive.type.leading.display}" } }
208
+ },
209
+ "weight": {
210
+ "regular": { "$type": "fontWeight", "$value": { "dark": 400, "light": 400 } },
211
+ "medium": { "$type": "fontWeight", "$value": { "dark": 500, "light": 500 } },
212
+ "strong": { "$type": "fontWeight", "$value": { "dark": 600, "light": 600 } }
213
+ },
214
+ "family": {
215
+ "sans": {
216
+ "$type": "fontFamily",
217
+ "$value": {
218
+ "dark": ["ui-sans-serif", "system-ui", "Segoe UI", "Roboto", "Helvetica Neue", "Arial", "sans-serif"],
219
+ "light": ["ui-sans-serif", "system-ui", "Segoe UI", "Roboto", "Helvetica Neue", "Arial", "sans-serif"]
220
+ }
221
+ }
222
+ }
223
+ }
224
+ }
225
+ }
@@ -0,0 +1,138 @@
1
+ {
2
+ "$description": "La ressource `tokens` : la source unique aplatie, un inventaire par mode. Dérivée de `tokens/tokens.json` — ne pas éditer.",
3
+ "namespace": "--nomos",
4
+ "defaultMode": "dark",
5
+ "modes": [
6
+ "dark",
7
+ "light"
8
+ ],
9
+ "densities": {
10
+ "comfortable": 1,
11
+ "compact": 0.8
12
+ },
13
+ "defaultDensity": "comfortable",
14
+ "slots": {
15
+ "dark": {
16
+ "--nomos-color-background": "240 7% 8%",
17
+ "--nomos-color-foreground": "240 10% 94%",
18
+ "--nomos-color-card": "240 17% 12%",
19
+ "--nomos-color-card-foreground": "240 10% 94%",
20
+ "--nomos-color-popover": "240 17% 12%",
21
+ "--nomos-color-popover-foreground": "240 10% 94%",
22
+ "--nomos-color-primary": "174 100% 39%",
23
+ "--nomos-color-primary-foreground": "0 0% 0%",
24
+ "--nomos-color-secondary": "240 8% 16%",
25
+ "--nomos-color-secondary-foreground": "240 10% 94%",
26
+ "--nomos-color-muted": "240 8% 19%",
27
+ "--nomos-color-muted-foreground": "0 0% 60%",
28
+ "--nomos-color-accent": "240 8% 16%",
29
+ "--nomos-color-accent-foreground": "240 10% 94%",
30
+ "--nomos-color-destructive": "0 72% 71%",
31
+ "--nomos-color-destructive-foreground": "0 0% 0%",
32
+ "--nomos-color-border": "240 8% 19%",
33
+ "--nomos-color-input": "240 8% 19%",
34
+ "--nomos-color-ring": "174 100% 39%",
35
+ "--nomos-color-brand": "#00c9b1",
36
+ "--nomos-color-status-info": "199 89% 48%",
37
+ "--nomos-color-status-info-ink": "198 93% 74%",
38
+ "--nomos-color-status-progress": "258 90% 66%",
39
+ "--nomos-color-status-progress-ink": "255 92% 85%",
40
+ "--nomos-color-status-attention": "38 92% 50%",
41
+ "--nomos-color-status-attention-ink": "46 97% 65%",
42
+ "--nomos-color-status-warning": "25 95% 53%",
43
+ "--nomos-color-status-warning-ink": "31 97% 72%",
44
+ "--nomos-color-status-danger": "0 84% 60%",
45
+ "--nomos-color-status-danger-ink": "0 94% 82%",
46
+ "--nomos-color-status-success": "160 84% 39%",
47
+ "--nomos-color-status-success-ink": "156 72% 67%",
48
+ "--nomos-radius-pill": "9999px",
49
+ "--nomos-radius-control": "0.625rem",
50
+ "--nomos-radius-field": "0.5rem",
51
+ "--nomos-radius-chip": "0.375rem",
52
+ "--nomos-space-hairline": "2px",
53
+ "--nomos-space-tight": "4px",
54
+ "--nomos-space-snug": "8px",
55
+ "--nomos-space-base": "12px",
56
+ "--nomos-space-comfy": "16px",
57
+ "--nomos-space-loose": "24px",
58
+ "--nomos-space-section": "32px",
59
+ "--nomos-type-size-micro": "0.6875rem",
60
+ "--nomos-type-size-caption": "0.75rem",
61
+ "--nomos-type-size-body": "0.875rem",
62
+ "--nomos-type-size-lead": "1rem",
63
+ "--nomos-type-size-title": "1.125rem",
64
+ "--nomos-type-size-display": "1.5rem",
65
+ "--nomos-type-leading-micro": "0.875rem",
66
+ "--nomos-type-leading-caption": "1rem",
67
+ "--nomos-type-leading-body": "1.25rem",
68
+ "--nomos-type-leading-lead": "1.5rem",
69
+ "--nomos-type-leading-title": "1.75rem",
70
+ "--nomos-type-leading-display": "2rem",
71
+ "--nomos-type-weight-regular": "400",
72
+ "--nomos-type-weight-medium": "500",
73
+ "--nomos-type-weight-strong": "600",
74
+ "--nomos-type-family-sans": "ui-sans-serif, system-ui, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif"
75
+ },
76
+ "light": {
77
+ "--nomos-color-background": "0 0% 100%",
78
+ "--nomos-color-foreground": "240 10% 10%",
79
+ "--nomos-color-card": "0 0% 98%",
80
+ "--nomos-color-card-foreground": "240 10% 10%",
81
+ "--nomos-color-popover": "0 0% 100%",
82
+ "--nomos-color-popover-foreground": "240 10% 10%",
83
+ "--nomos-color-primary": "174 100% 35%",
84
+ "--nomos-color-primary-foreground": "0 0% 100%",
85
+ "--nomos-color-secondary": "240 5% 92%",
86
+ "--nomos-color-secondary-foreground": "240 10% 10%",
87
+ "--nomos-color-muted": "240 5% 92%",
88
+ "--nomos-color-muted-foreground": "240 4% 46%",
89
+ "--nomos-color-accent": "240 5% 92%",
90
+ "--nomos-color-accent-foreground": "240 10% 10%",
91
+ "--nomos-color-destructive": "0 72% 51%",
92
+ "--nomos-color-destructive-foreground": "0 0% 100%",
93
+ "--nomos-color-border": "240 6% 85%",
94
+ "--nomos-color-input": "240 6% 85%",
95
+ "--nomos-color-ring": "174 100% 35%",
96
+ "--nomos-color-brand": "#00c9b1",
97
+ "--nomos-color-status-info": "199 89% 48%",
98
+ "--nomos-color-status-info-ink": "201 96% 32%",
99
+ "--nomos-color-status-progress": "258 90% 66%",
100
+ "--nomos-color-status-progress-ink": "263 70% 50%",
101
+ "--nomos-color-status-attention": "38 92% 50%",
102
+ "--nomos-color-status-attention-ink": "26 90% 37%",
103
+ "--nomos-color-status-warning": "25 95% 53%",
104
+ "--nomos-color-status-warning-ink": "17 88% 40%",
105
+ "--nomos-color-status-danger": "0 84% 60%",
106
+ "--nomos-color-status-danger-ink": "0 74% 42%",
107
+ "--nomos-color-status-success": "160 84% 39%",
108
+ "--nomos-color-status-success-ink": "161 94% 25%",
109
+ "--nomos-radius-pill": "9999px",
110
+ "--nomos-radius-control": "0.625rem",
111
+ "--nomos-radius-field": "0.5rem",
112
+ "--nomos-radius-chip": "0.375rem",
113
+ "--nomos-space-hairline": "2px",
114
+ "--nomos-space-tight": "4px",
115
+ "--nomos-space-snug": "8px",
116
+ "--nomos-space-base": "12px",
117
+ "--nomos-space-comfy": "16px",
118
+ "--nomos-space-loose": "24px",
119
+ "--nomos-space-section": "32px",
120
+ "--nomos-type-size-micro": "0.6875rem",
121
+ "--nomos-type-size-caption": "0.75rem",
122
+ "--nomos-type-size-body": "0.875rem",
123
+ "--nomos-type-size-lead": "1rem",
124
+ "--nomos-type-size-title": "1.125rem",
125
+ "--nomos-type-size-display": "1.5rem",
126
+ "--nomos-type-leading-micro": "0.875rem",
127
+ "--nomos-type-leading-caption": "1rem",
128
+ "--nomos-type-leading-body": "1.25rem",
129
+ "--nomos-type-leading-lead": "1.5rem",
130
+ "--nomos-type-leading-title": "1.75rem",
131
+ "--nomos-type-leading-display": "2rem",
132
+ "--nomos-type-weight-regular": "400",
133
+ "--nomos-type-weight-medium": "500",
134
+ "--nomos-type-weight-strong": "600",
135
+ "--nomos-type-family-sans": "ui-sans-serif, system-ui, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif"
136
+ }
137
+ }
138
+ }