@irisui/tokens 0.0.0-stage → 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/package.json CHANGED
@@ -1,6 +1,39 @@
1
1
  {
2
2
  "name": "@irisui/tokens",
3
- "version": "0.0.0-stage",
4
- "stub": true,
5
- "description": "Temporary package placeholder for staged publishing"
3
+ "version": "0.1.0",
4
+ "description": "CSS design tokens for the iris-ui library.",
5
+ "license": "MIT",
6
+ "type": "module",
7
+ "sideEffects": [
8
+ "*.css"
9
+ ],
10
+ "files": [
11
+ "src"
12
+ ],
13
+ "exports": {
14
+ ".": "./src/tokens.css",
15
+ "./tokens.css": "./src/tokens.css",
16
+ "./tailwind.css": "./src/tailwind.css"
17
+ },
18
+ "style": "./src/tokens.css",
19
+ "peerDependencies": {
20
+ "tailwindcss": "^4.1.0"
21
+ },
22
+ "peerDependenciesMeta": {
23
+ "tailwindcss": {
24
+ "optional": true
25
+ }
26
+ },
27
+ "publishConfig": {
28
+ "access": "public"
29
+ },
30
+ "repository": {
31
+ "type": "git",
32
+ "url": "git+https://github.com/theteqlab/iris-ui.git",
33
+ "directory": "packages/tokens"
34
+ },
35
+ "homepage": "https://github.com/theteqlab/iris-ui#readme",
36
+ "bugs": {
37
+ "url": "https://github.com/theteqlab/iris-ui/issues"
38
+ }
6
39
  }
@@ -0,0 +1,97 @@
1
+ /* =====================================================================
2
+ Tailwind CSS v4 bridge.
3
+ Usage : @import "tailwindcss";
4
+ @import "@irisui/tokens/tailwind.css";
5
+ Exposes ONLY the semantic tokens (level 2) as utilities. Tailwind's
6
+ default palette is removed so that no hard-coded color can slip in.
7
+ `reference` : the theme variables are not re-emitted (tokens.css owns
8
+ them) ; `inline` : utilities read the token variables directly.
9
+ ===================================================================== */
10
+
11
+ @import "./tokens.css";
12
+
13
+ @theme inline reference {
14
+ --color-*: initial;
15
+ --font-*: initial;
16
+ --text-*: initial;
17
+ --radius-*: initial;
18
+ --blur-*: initial;
19
+ --shadow-*: initial;
20
+ --inset-shadow-*: initial;
21
+ --drop-shadow-*: initial;
22
+
23
+ /* background & text */
24
+ --color-bg: var(--bg);
25
+ --color-text: var(--text);
26
+ --color-text-muted: var(--text-muted);
27
+ --color-text-on-holo: var(--text-on-holo);
28
+ --color-text-on-ink: var(--text-on-ink);
29
+ --color-line: var(--line);
30
+
31
+ /* surfaces */
32
+ --color-glass: var(--glass);
33
+ --color-glass-strong: var(--glass-strong);
34
+ --color-glass-border: var(--glass-border);
35
+ --color-glass-ink: var(--glass-ink);
36
+ --color-solid-ink: var(--solid-ink);
37
+ --color-field: var(--field);
38
+ --color-field-border: var(--field-border);
39
+ --color-selected-bg: var(--selected-bg);
40
+ --color-selected-text: var(--selected-text);
41
+ --color-track: var(--track);
42
+ --color-overlay: var(--overlay);
43
+
44
+ /* accent */
45
+ --color-accent: var(--accent);
46
+ --color-link: var(--link);
47
+ --color-focus-ring: var(--focus-ring);
48
+
49
+ /* status */
50
+ --color-success: var(--success);
51
+ --color-success-soft: var(--success-soft);
52
+ --color-success-text: var(--success-text);
53
+ --color-warning: var(--warning);
54
+ --color-warning-soft: var(--warning-soft);
55
+ --color-warning-text: var(--warning-text);
56
+ --color-danger: var(--danger);
57
+ --color-danger-soft: var(--danger-soft);
58
+ --color-danger-text: var(--danger-text);
59
+
60
+ /* data */
61
+ --color-chart-1: var(--chart-1);
62
+ --color-chart-2: var(--chart-2);
63
+ --color-chart-3: var(--chart-3);
64
+
65
+ /* typography */
66
+ --font-sans: var(--font-sans);
67
+ --font-mono: var(--font-mono);
68
+ --text-xs: var(--text-xs);
69
+ --text-sm: var(--text-sm);
70
+ --text-md: var(--text-md);
71
+ --text-lg: var(--text-lg);
72
+ --text-h3: var(--text-h3);
73
+ --text-h2: var(--text-h2);
74
+ --text-h1: var(--text-h1);
75
+ --font-weight-regular: var(--weight-regular);
76
+ --font-weight-medium: var(--weight-medium);
77
+ --font-weight-bold: var(--weight-bold);
78
+ --tracking-display: var(--tracking-display);
79
+
80
+ /* shape */
81
+ --radius-pill: var(--radius-pill);
82
+ --radius-field: var(--radius-field);
83
+ --radius-check: var(--radius-check);
84
+ --radius-card: var(--radius-card);
85
+ --radius-panel: var(--radius-panel);
86
+
87
+ /* glass */
88
+ --blur-glass: var(--blur);
89
+ --blur-small: var(--blur-small);
90
+ --shadow-glass: var(--rim-edge), var(--glass-shadow);
91
+ --shadow-rim: var(--rim-edge);
92
+ --shadow-holo: var(--surface-holo-shadow);
93
+
94
+ /* motion */
95
+ --ease-out: var(--ease-out);
96
+ --animate-holo: holo-shift var(--holo-speed) linear infinite;
97
+ }
package/src/tokens.css ADDED
@@ -0,0 +1,460 @@
1
+ /* =====================================================================
2
+ Verre irisé — tokens v0.1
3
+ Source : plaquette « Verre irisé » (4 palettes × 2 modes).
4
+ Usage : <html data-palette="nacre|aurore|couchant|glacier" data-mode="light|dark|system">
5
+ body { background: var(--bg-glow), var(--bg); }
6
+ Niveau 1 = primitives par palette · Niveau 2 = sémantique par mode
7
+ Les composants ne lisent QUE le niveau 2.
8
+ ===================================================================== */
9
+
10
+ /* ---------- Niveau 1 — Primitives par palette ---------- */
11
+
12
+ /* Palette Nacre */
13
+ :root,
14
+ [data-palette="nacre"] {
15
+ --holo-1: #F7C6E4;
16
+ --holo-2: #C6D4FF;
17
+ --holo-3: #BFF1E4;
18
+ --holo-4: #FFF0C2;
19
+ --holo-5: #E3C9FF;
20
+ --deep-1: #B4499A;
21
+ --deep-2: #4F6FD6;
22
+ --deep-3: #1E8F7C;
23
+ --deep-4: #B5862A;
24
+ --deep-5: #8A4FD8;
25
+ --rim-1: #E58BC0;
26
+ --rim-2: #8EA8F2;
27
+ --rim-3: #76D6BE;
28
+ --rim-4: #EBCB72;
29
+ --rim-5: #B48CEB;
30
+ /* taches de fond, en triplets RGB */
31
+ --blob-light-1: 255 150 205;
32
+ --blob-light-2: 150 180 255;
33
+ --blob-light-3: 255 220 150;
34
+ --blob-light-4: 140 230 205;
35
+ --blob-light-5: 200 165 255;
36
+ --blob-dark-1: 255 110 190;
37
+ --blob-dark-2: 110 140 255;
38
+ --blob-dark-3: 255 190 90;
39
+ --blob-dark-4: 60 210 180;
40
+ --blob-dark-5: 170 120 255;
41
+ --edge-light-a: 255 170 215;
42
+ --edge-light-b: 140 185 255;
43
+ --edge-dark-a: 255 150 205;
44
+ --edge-dark-b: 130 170 255;
45
+ --accent-light: #6B3FD1;
46
+ --link-light: #5A2FC0;
47
+ --accent-dark: #B79CFF;
48
+ --link-dark: #C9B6FF;
49
+ --chart-light-1: #D96AA8;
50
+ --chart-light-2: #6F93E8;
51
+ --chart-light-3: #4FBFA0;
52
+ --chart-dark-1: #F28CC6;
53
+ --chart-dark-2: #8FA9F5;
54
+ --chart-dark-3: #6FD8BA;
55
+ /* tons des boutons et badges (tone="1" à "5") */
56
+ --tone-1-base: #F2B8DA; /* Nacre rose */
57
+ --tone-1-deep: #9C2E68;
58
+ --tone-1-tint-light: #FCEAF4;
59
+ --tone-2-base: #B9CBFA; /* Bleu perle */
60
+ --tone-2-deep: #2F55B0;
61
+ --tone-2-tint-light: #EAF0FF;
62
+ --tone-3-base: #B4EBDC; /* Menthe */
63
+ --tone-3-deep: #13735A;
64
+ --tone-3-tint-light: #E8F8F2;
65
+ --tone-4-base: #F3DE9E; /* Or pâle */
66
+ --tone-4-deep: #6E5512;
67
+ --tone-4-tint-light: #FBF4DC;
68
+ --tone-5-base: #D8C2F7; /* Lilas */
69
+ --tone-5-deep: #5E2FC2;
70
+ --tone-5-tint-light: #F4EDFE;
71
+ }
72
+
73
+ /* Palette Aurore */
74
+ [data-palette="aurore"] {
75
+ --holo-1: #C2F2E4;
76
+ --holo-2: #BDE6FA;
77
+ --holo-3: #D8F8C8;
78
+ --holo-4: #F0F7D2;
79
+ --holo-5: #D6CCFF;
80
+ --deep-1: #118A6E;
81
+ --deep-2: #1F6FB0;
82
+ --deep-3: #4C8A12;
83
+ --deep-4: #7A8A12;
84
+ --deep-5: #6A4BD8;
85
+ --rim-1: #5CCFAE;
86
+ --rim-2: #6DB8E8;
87
+ --rim-3: #9AD66A;
88
+ --rim-4: #C9D66A;
89
+ --rim-5: #9C86F0;
90
+ /* taches de fond, en triplets RGB */
91
+ --blob-light-1: 90 220 180;
92
+ --blob-light-2: 110 190 255;
93
+ --blob-light-3: 170 235 120;
94
+ --blob-light-4: 210 235 140;
95
+ --blob-light-5: 170 150 255;
96
+ --blob-dark-1: 30 200 150;
97
+ --blob-dark-2: 60 150 255;
98
+ --blob-dark-3: 120 220 80;
99
+ --blob-dark-4: 170 210 70;
100
+ --blob-dark-5: 140 110 255;
101
+ --edge-light-a: 120 230 200;
102
+ --edge-light-b: 150 140 255;
103
+ --edge-dark-a: 90 220 180;
104
+ --edge-dark-b: 140 120 255;
105
+ --accent-light: #0C7360;
106
+ --link-light: #0B6B57;
107
+ --accent-dark: #6FE0C2;
108
+ --link-dark: #9BEBD4;
109
+ --chart-light-1: #2FBF9A;
110
+ --chart-light-2: #5A9BE0;
111
+ --chart-light-3: #8C74E8;
112
+ --chart-dark-1: #6FE0C2;
113
+ --chart-dark-2: #8DBDF5;
114
+ --chart-dark-3: #B3A3FF;
115
+ /* tons des boutons et badges (tone="1" à "5") */
116
+ --tone-1-base: #A9EBD8; /* Menthe */
117
+ --tone-1-deep: #0F6B55;
118
+ --tone-1-tint-light: #E6F8F2;
119
+ --tone-2-base: #A8DDF5; /* Lagon */
120
+ --tone-2-deep: #1B5F8A;
121
+ --tone-2-tint-light: #E6F5FC;
122
+ --tone-3-base: #C6EDAA; /* Vert tendre */
123
+ --tone-3-deep: #3F6B12;
124
+ --tone-3-tint-light: #EEF9E4;
125
+ --tone-4-base: #CFC3FA; /* Lavande */
126
+ --tone-4-deep: #4B35A8;
127
+ --tone-4-tint-light: #F1EDFE;
128
+ --tone-5-base: #A6E3E8; /* Turquoise */
129
+ --tone-5-deep: #14666E;
130
+ --tone-5-tint-light: #E5F7F8;
131
+ }
132
+
133
+ /* Palette Couchant */
134
+ [data-palette="couchant"] {
135
+ --holo-1: #FFC6D9;
136
+ --holo-2: #FFD3C2;
137
+ --holo-3: #FFE6B8;
138
+ --holo-4: #FFF0C8;
139
+ --holo-5: #F3D2FF;
140
+ --deep-1: #B83A6E;
141
+ --deep-2: #C2502A;
142
+ --deep-3: #A8741A;
143
+ --deep-4: #9A6A10;
144
+ --deep-5: #9045B8;
145
+ --rim-1: #EE89AE;
146
+ --rim-2: #F49A78;
147
+ --rim-3: #EDBE62;
148
+ --rim-4: #F0D27A;
149
+ --rim-5: #C891E8;
150
+ /* taches de fond, en triplets RGB */
151
+ --blob-light-1: 255 140 180;
152
+ --blob-light-2: 255 170 140;
153
+ --blob-light-3: 255 205 120;
154
+ --blob-light-4: 255 225 150;
155
+ --blob-light-5: 220 160 255;
156
+ --blob-dark-1: 255 90 150;
157
+ --blob-dark-2: 255 120 80;
158
+ --blob-dark-3: 255 170 60;
159
+ --blob-dark-4: 255 200 90;
160
+ --blob-dark-5: 190 110 255;
161
+ --edge-light-a: 255 170 150;
162
+ --edge-light-b: 235 150 220;
163
+ --edge-dark-a: 255 140 110;
164
+ --edge-dark-b: 230 120 200;
165
+ --accent-light: #B8432A;
166
+ --link-light: #9E3520;
167
+ --accent-dark: #FFA585;
168
+ --link-dark: #FFC2AA;
169
+ --chart-light-1: #E85C93;
170
+ --chart-light-2: #F2785C;
171
+ --chart-light-3: #E3A93B;
172
+ --chart-dark-1: #FF8DB8;
173
+ --chart-dark-2: #FFA585;
174
+ --chart-dark-3: #F5C66A;
175
+ /* tons des boutons et badges (tone="1" à "5") */
176
+ --tone-1-base: #FFC4A8; /* Pêche */
177
+ --tone-1-deep: #9A3E1C;
178
+ --tone-1-tint-light: #FFEDE4;
179
+ --tone-2-base: #FBB3CC; /* Rose */
180
+ --tone-2-deep: #9C2A55;
181
+ --tone-2-tint-light: #FEEAF2;
182
+ --tone-3-base: #F6D48A; /* Or */
183
+ --tone-3-deep: #7A5410;
184
+ --tone-3-tint-light: #FDF4DE;
185
+ --tone-4-base: #F7A08A; /* Corail */
186
+ --tone-4-deep: #9A2E1A;
187
+ --tone-4-tint-light: #FEE8E2;
188
+ --tone-5-base: #E3BFF2; /* Orchidée */
189
+ --tone-5-deep: #7A2FA0;
190
+ --tone-5-tint-light: #F8EEFD;
191
+ }
192
+
193
+ /* Palette Glacier */
194
+ [data-palette="glacier"] {
195
+ --holo-1: #DCE6F5;
196
+ --holo-2: #C6DCFF;
197
+ --holo-3: #CDEFF7;
198
+ --holo-4: #EEF2F7;
199
+ --holo-5: #D6D9FF;
200
+ --deep-1: #3A5F8F;
201
+ --deep-2: #2C5FD0;
202
+ --deep-3: #1A7F99;
203
+ --deep-4: #5B6B80;
204
+ --deep-5: #4A4FC0;
205
+ --rim-1: #9FB6D8;
206
+ --rim-2: #8AB2F5;
207
+ --rim-3: #86CFE0;
208
+ --rim-4: #C3CCD8;
209
+ --rim-5: #A0A6EE;
210
+ /* taches de fond, en triplets RGB */
211
+ --blob-light-1: 170 200 240;
212
+ --blob-light-2: 140 180 255;
213
+ --blob-light-3: 150 220 240;
214
+ --blob-light-4: 210 220 235;
215
+ --blob-light-5: 170 175 255;
216
+ --blob-dark-1: 90 140 220;
217
+ --blob-dark-2: 70 120 255;
218
+ --blob-dark-3: 60 180 220;
219
+ --blob-dark-4: 130 150 180;
220
+ --blob-dark-5: 110 110 240;
221
+ --edge-light-a: 200 220 245;
222
+ --edge-light-b: 140 180 255;
223
+ --edge-dark-a: 160 190 240;
224
+ --edge-dark-b: 100 140 255;
225
+ --accent-light: #2C5FD0;
226
+ --link-light: #2450B5;
227
+ --accent-dark: #8FB4FF;
228
+ --link-dark: #B3CCFF;
229
+ --chart-light-1: #5A84D6;
230
+ --chart-light-2: #4FB3CF;
231
+ --chart-light-3: #9AA6BD;
232
+ --chart-dark-1: #8FB4FF;
233
+ --chart-dark-2: #7ED3E8;
234
+ --chart-dark-3: #C3CCD8;
235
+ /* tons des boutons et badges (tone="1" à "5") */
236
+ --tone-1-base: #BCCBE3; /* Acier */
237
+ --tone-1-deep: #2E4B73;
238
+ --tone-1-tint-light: #EDF2F9;
239
+ --tone-2-base: #AFC8FA; /* Azur */
240
+ --tone-2-deep: #1F4FB0;
241
+ --tone-2-tint-light: #EAF1FF;
242
+ --tone-3-base: #B3E3EF; /* Glacier */
243
+ --tone-3-deep: #146478;
244
+ --tone-3-tint-light: #E8F7FB;
245
+ --tone-4-base: #D5DCE5; /* Argent */
246
+ --tone-4-deep: #4A5868;
247
+ --tone-4-tint-light: #F3F5F8;
248
+ --tone-5-base: #BEC3F7; /* Indigo */
249
+ --tone-5-deep: #3A3FA8;
250
+ --tone-5-tint-light: #EFF0FE;
251
+ }
252
+
253
+ /* ---------- Constantes communes ---------- */
254
+ :root {
255
+ /* encre et nuit */
256
+ --ink: #15132A;
257
+ --night: #0B0A18;
258
+ --paper: #F4F2F9;
259
+ --white: #FFFFFF;
260
+
261
+ /* forme */
262
+ --radius-pill: 999px;
263
+ --radius-field: 14px;
264
+ --radius-check: 7px;
265
+ --radius-card: 24px;
266
+ --radius-panel: 32px;
267
+
268
+ /* tailles de contrôle */
269
+ --control-sm: 36px;
270
+ --control-md: 44px;
271
+ --control-lg: 56px;
272
+
273
+ /* typographie */
274
+ --font-sans: "Outfit", ui-sans-serif, system-ui, sans-serif;
275
+ --font-mono: "JetBrains Mono", ui-monospace, monospace;
276
+ --text-xs: 12px; --text-sm: 14px; --text-md: 16px; --text-lg: 18px;
277
+ --text-h3: 26px; --text-h2: 38px; --text-h1: clamp(56px, 10vw, 120px);
278
+ --weight-regular: 400; --weight-medium: 600; --weight-bold: 700;
279
+ --tracking-display: -0.045em;
280
+
281
+ /* espacement (pas de 4) */
282
+ --space-1: 4px; --space-2: 8px; --space-3: 12px; --space-4: 16px;
283
+ --space-5: 20px; --space-6: 24px; --space-7: 28px; --space-8: 32px; --space-11: 44px;
284
+
285
+ /* mouvement */
286
+ --duration-fast: 120ms;
287
+ --duration-base: 200ms;
288
+ --ease-out: cubic-bezier(0.2, 0.8, 0.2, 1);
289
+ --holo-speed: 8s;
290
+
291
+ /* verre */
292
+ --blur: 28px;
293
+ --blur-small: 14px;
294
+
295
+ /* états */
296
+ --disabled-opacity: 0.45;
297
+ --pressed-shift: 1px;
298
+
299
+ /* dégradés construits sur les primitives (se recalculent par palette) */
300
+ --holo: linear-gradient(115deg, var(--holo-1) 0%, var(--holo-2) 22%, var(--holo-3) 42%, var(--holo-4) 58%, var(--holo-5) 76%, var(--holo-1) 100%);
301
+ --holo-deep: linear-gradient(100deg, var(--deep-1), var(--deep-2) 25%, var(--deep-3) 50%, var(--deep-4) 70%, var(--deep-5) 85%, var(--deep-1));
302
+ --rim: linear-gradient(115deg, var(--rim-1), var(--rim-2), var(--rim-3), var(--rim-4), var(--rim-5));
303
+ --sheen: linear-gradient(180deg, rgb(255 255 255 / 0.6), rgb(255 255 255 / 0) 55%);
304
+ }
305
+
306
+ /* ---------- Niveau 2 — Sémantique, mode clair (défaut) ---------- */
307
+ :root,
308
+ [data-mode="light"] {
309
+ color-scheme: light;
310
+ --glow-alpha: 0.5;
311
+ --blob-1: var(--blob-light-1); --blob-2: var(--blob-light-2); --blob-3: var(--blob-light-3);
312
+ --blob-4: var(--blob-light-4); --blob-5: var(--blob-light-5);
313
+ --rim-a: rgb(var(--edge-light-a) / 0.8);
314
+ --rim-b: rgb(var(--edge-light-b) / 0.85);
315
+
316
+ --bg: var(--paper);
317
+ --text: var(--ink);
318
+ --text-muted: #4A4466;
319
+ --text-on-holo: var(--ink);
320
+ --text-on-ink: var(--white);
321
+ --line: rgb(21 19 42 / 0.16);
322
+
323
+ --glass: rgb(255 255 255 / 0.5);
324
+ --glass-strong: rgb(255 255 255 / 0.9);
325
+ --glass-border: rgb(255 255 255 / 0.7);
326
+ --glass-saturate: 180%;
327
+ --glass-shadow: inset 0 2px 6px rgb(255 255 255 / 0.6), 0 18px 44px rgb(80 60 150 / 0.16);
328
+ --glass-ink: rgb(21 19 42 / 0.84);
329
+ --solid-ink: var(--ink);
330
+
331
+ --field: rgb(255 255 255 / 0.72);
332
+ --field-border: rgb(255 255 255 / 0.95);
333
+ --field-shadow: inset 0 1px 3px rgb(40 30 90 / 0.1);
334
+
335
+ --accent: var(--accent-light);
336
+ --link: var(--link-light);
337
+ --focus-ring: var(--accent-light);
338
+
339
+ --success: #0F7A63; --success-soft: rgb(214 246 236 / 0.72); --success-text: #0B5E4C;
340
+ --warning: #F4DE95; --warning-soft: rgb(255 243 210 / 0.78); --warning-text: #6E5512;
341
+ --danger: #B3245E; --danger-soft: rgb(252 224 236 / 0.78); --danger-text: #A81F57;
342
+
343
+ --chart-1: var(--chart-light-1); --chart-2: var(--chart-light-2); --chart-3: var(--chart-light-3);
344
+
345
+ --selected-bg: var(--ink);
346
+ --selected-text: var(--white);
347
+ --track: rgb(21 19 42 / 0.1);
348
+ --overlay: rgb(21 19 42 / 0.3);
349
+ --surface-holo-shadow: 0 0 0 1px rgb(110 90 170 / 0.22), 0 8px 22px rgb(120 100 190 / 0.3);
350
+ }
351
+
352
+ /* ---------- Niveau 2 — Sémantique, mode sombre ---------- */
353
+ [data-mode="dark"] {
354
+ color-scheme: dark;
355
+ --glow-alpha: 0.32;
356
+ --blob-1: var(--blob-dark-1); --blob-2: var(--blob-dark-2); --blob-3: var(--blob-dark-3);
357
+ --blob-4: var(--blob-dark-4); --blob-5: var(--blob-dark-5);
358
+ --rim-a: rgb(var(--edge-dark-a) / 0.45);
359
+ --rim-b: rgb(var(--edge-dark-b) / 0.5);
360
+
361
+ --bg: var(--night);
362
+ --text: #F1EEF8;
363
+ --text-muted: #B5AEC9;
364
+ --text-on-holo: var(--ink);
365
+ --text-on-ink: var(--ink);
366
+ --line: rgb(255 255 255 / 0.14);
367
+
368
+ --glass: rgb(30 26 58 / 0.45);
369
+ --glass-strong: rgb(30 26 58 / 0.94);
370
+ --glass-border: rgb(255 255 255 / 0.14);
371
+ --glass-saturate: 170%;
372
+ --glass-shadow: inset 0 1px 0 rgb(255 255 255 / 0.12), 0 18px 44px rgb(0 0 0 / 0.4);
373
+ --glass-ink: rgb(5 4 14 / 0.78);
374
+ --solid-ink: #F1EEF8;
375
+
376
+ --field: rgb(255 255 255 / 0.06);
377
+ --field-border: rgb(255 255 255 / 0.2);
378
+ --field-shadow: inset 0 1px 3px rgb(0 0 0 / 0.3);
379
+
380
+ --accent: var(--accent-dark);
381
+ --link: var(--link-dark);
382
+ --focus-ring: var(--accent-dark);
383
+
384
+ --success: #4FD1AE; --success-soft: rgb(79 209 174 / 0.14); --success-text: #7FE3C6;
385
+ --warning: #F4DE95; --warning-soft: rgb(244 222 149 / 0.14); --warning-text: #F4DE95;
386
+ --danger: #FF7AA8; --danger-soft: rgb(255 122 168 / 0.14); --danger-text: #FF8FB4;
387
+
388
+ --chart-1: var(--chart-dark-1); --chart-2: var(--chart-dark-2); --chart-3: var(--chart-dark-3);
389
+
390
+ --selected-bg: #F1EEF8;
391
+ --selected-text: var(--ink);
392
+ --track: rgb(255 255 255 / 0.08);
393
+ --overlay: rgb(0 0 0 / 0.35);
394
+ --surface-holo-shadow: 0 0 0 1px rgb(255 255 255 / 0.2), 0 8px 22px rgb(0 0 0 / 0.45);
395
+ }
396
+
397
+ /* data-mode="system" : suit le réglage du système */
398
+ @media (prefers-color-scheme: dark) {
399
+ [data-mode="system"] {
400
+ color-scheme: dark;
401
+ --glow-alpha: 0.32;
402
+ --blob-1: var(--blob-dark-1); --blob-2: var(--blob-dark-2); --blob-3: var(--blob-dark-3);
403
+ --blob-4: var(--blob-dark-4); --blob-5: var(--blob-dark-5);
404
+ --rim-a: rgb(var(--edge-dark-a) / 0.45);
405
+ --rim-b: rgb(var(--edge-dark-b) / 0.5);
406
+ --bg: var(--night); --text: #F1EEF8; --text-muted: #B5AEC9; --text-on-holo: var(--ink); --text-on-ink: var(--ink);
407
+ --line: rgb(255 255 255 / 0.14);
408
+ --glass: rgb(30 26 58 / 0.45); --glass-strong: rgb(30 26 58 / 0.94); --glass-border: rgb(255 255 255 / 0.14);
409
+ --glass-saturate: 170%; --glass-shadow: inset 0 1px 0 rgb(255 255 255 / 0.12), 0 18px 44px rgb(0 0 0 / 0.4);
410
+ --glass-ink: rgb(5 4 14 / 0.78); --solid-ink: #F1EEF8;
411
+ --field: rgb(255 255 255 / 0.06); --field-border: rgb(255 255 255 / 0.2); --field-shadow: inset 0 1px 3px rgb(0 0 0 / 0.3);
412
+ --accent: var(--accent-dark); --link: var(--link-dark); --focus-ring: var(--accent-dark);
413
+ --success: #4FD1AE; --success-soft: rgb(79 209 174 / 0.14); --success-text: #7FE3C6;
414
+ --warning-soft: rgb(244 222 149 / 0.14); --warning-text: #F4DE95;
415
+ --danger: #FF7AA8; --danger-soft: rgb(255 122 168 / 0.14); --danger-text: #FF8FB4;
416
+ --chart-1: var(--chart-dark-1); --chart-2: var(--chart-dark-2); --chart-3: var(--chart-dark-3);
417
+ --selected-bg: #F1EEF8; --selected-text: var(--ink);
418
+ --track: rgb(255 255 255 / 0.08); --overlay: rgb(0 0 0 / 0.35);
419
+ --surface-holo-shadow: 0 0 0 1px rgb(255 255 255 / 0.2), 0 8px 22px rgb(0 0 0 / 0.45);
420
+ }
421
+ }
422
+
423
+ /* ---------- Effets composés (lus par les composants) ---------- */
424
+ :root, [data-mode] {
425
+ --rim-edge: inset 1.5px 1.5px 0 var(--rim-a), inset -1.5px -1.5px 0 var(--rim-b);
426
+ --bg-glow:
427
+ radial-gradient(circle 460px at 8% 2%, rgb(var(--blob-1) / var(--glow-alpha)), transparent 70%),
428
+ radial-gradient(circle 520px at 92% 6%, rgb(var(--blob-2) / var(--glow-alpha)), transparent 70%),
429
+ radial-gradient(circle 420px at 60% 16%, rgb(var(--blob-3) / var(--glow-alpha)), transparent 70%),
430
+ radial-gradient(circle 480px at 6% 27%, rgb(var(--blob-4) / var(--glow-alpha)), transparent 70%),
431
+ radial-gradient(circle 500px at 88% 36%, rgb(var(--blob-5) / var(--glow-alpha)), transparent 70%),
432
+ radial-gradient(circle 460px at 20% 48%, rgb(var(--blob-2) / var(--glow-alpha)), transparent 70%),
433
+ radial-gradient(circle 480px at 85% 58%, rgb(var(--blob-1) / var(--glow-alpha)), transparent 70%),
434
+ radial-gradient(circle 440px at 10% 70%, rgb(var(--blob-3) / var(--glow-alpha)), transparent 70%),
435
+ radial-gradient(circle 500px at 80% 80%, rgb(var(--blob-4) / var(--glow-alpha)), transparent 70%),
436
+ radial-gradient(circle 480px at 25% 93%, rgb(var(--blob-5) / var(--glow-alpha)), transparent 70%);
437
+ }
438
+
439
+ /* ---------- Animation partagée du film holographique ---------- */
440
+ @keyframes holo-shift {
441
+ from { background-position: 0 0, 0% 0; }
442
+ to { background-position: 0 0, 200% 0; }
443
+ }
444
+ /* À appliquer : background: var(--sheen), var(--holo);
445
+ background-size: 100% 100%, 200% 100%;
446
+ animation: holo-shift var(--holo-speed) linear infinite; */
447
+
448
+ /* ---------- Dégradations ---------- */
449
+ @media (prefers-reduced-motion: reduce) {
450
+ :root { --holo-speed: 0s; --duration-fast: 0ms; --duration-base: 0ms; }
451
+ }
452
+ [data-effects="reduced"] { --blur: 0px; --blur-small: 0px; --holo-speed: 0s; }
453
+ @supports not (backdrop-filter: blur(1px)) {
454
+ :root { --glass: rgb(255 255 255 / 0.92); }
455
+ [data-mode="dark"] { --glass: rgb(30 26 58 / 0.96); }
456
+ }
457
+ @media (prefers-contrast: more) {
458
+ :root { --glass: var(--white); --glass-border: var(--ink); --blur: 0px; }
459
+ [data-mode="dark"] { --glass: var(--night); --glass-border: #F1EEF8; }
460
+ }
package/README.md DELETED
@@ -1,3 +0,0 @@
1
- # Temporary Holding Version
2
-
3
- This version is a temporary placeholder for this package. An operational version to replace this has been submitted for review and is awaiting a staged release.