tyrell-components 1.0.0-TC36 → 1.0.0-TC38
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/css/{tyrell-brand.css → tyrell-theme.css} +676 -265
- package/css/tyrell.css +37 -114
- package/dist/{tyrell-brand.css → tyrell-theme.css} +676 -265
- package/dist/tyrell.css +37 -114
- package/dist/tyrell.js +1 -1
- package/lib/components/tag.js +1 -1
- package/lib/components/tag.js.map +1 -1
- package/lib/styles/button.d.ts +1 -1
- package/lib/styles/button.d.ts.map +1 -1
- package/lib/styles/button.js +26 -2
- package/lib/styles/button.js.map +1 -1
- package/lib/styles/input.d.ts.map +1 -1
- package/lib/styles/input.js +6 -1
- package/lib/styles/input.js.map +1 -1
- package/lib/styles/select-base.d.ts.map +1 -1
- package/lib/styles/select-base.js +4 -1
- package/lib/styles/select-base.js.map +1 -1
- package/lib/types/common.d.ts +1 -1
- package/lib/types/common.d.ts.map +1 -1
- package/lib/types/common.js +3 -1
- package/lib/types/common.js.map +1 -1
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/package.json +3 -3
|
@@ -1,11 +1,16 @@
|
|
|
1
1
|
/* =====================================================================
|
|
2
|
-
* tyrell-
|
|
2
|
+
* tyrell-theme.css — the OKLCH theme engine for Tyrell Components
|
|
3
3
|
* =====================================================================
|
|
4
4
|
*
|
|
5
|
-
* Opt-in. Load AFTER `tyrell.css`. Override a few variables to rebrand
|
|
5
|
+
* Opt-in. Load AFTER `tyrell.css`. Override a few variables to rebrand —
|
|
6
|
+
* or seed a color directly, declare a named theme, scope one to a
|
|
7
|
+
* subtree. `tyrell.css` alone is correct and accessible without this
|
|
8
|
+
* file; this is what turns it into a theming ENGINE rather than a fixed
|
|
9
|
+
* palette: auto-contrast text, seed ingestion, named/scoped themes,
|
|
10
|
+
* animated theme transitions. See CSS_GUIDE.md → Color Customization.
|
|
6
11
|
*
|
|
7
12
|
* <link rel="stylesheet" href=".../tyrell.css">
|
|
8
|
-
* <link rel="stylesheet" href=".../tyrell-
|
|
13
|
+
* <link rel="stylesheet" href=".../tyrell-theme.css">
|
|
9
14
|
*
|
|
10
15
|
* :root {
|
|
11
16
|
* --ty-brand-hue: 200; // teal. Try 260 indigo, 30 orange, 145 emerald.
|
|
@@ -24,7 +29,7 @@
|
|
|
24
29
|
* H = flavor-hue ← Tier 2
|
|
25
30
|
* )
|
|
26
31
|
*
|
|
27
|
-
* Pick a flavor (primary /
|
|
32
|
+
* Pick a flavor (primary / success / warning / danger /
|
|
28
33
|
* neutral). Pick a shade (strong / bold / base / soft / faint). That's
|
|
29
34
|
* the cell; the formula gives you its color.
|
|
30
35
|
*
|
|
@@ -103,11 +108,6 @@
|
|
|
103
108
|
* Bump to ~0.005 (light) / ~0.012 (dark) to warm surfaces toward brand. */
|
|
104
109
|
--ty-surface-chroma: 0;
|
|
105
110
|
|
|
106
|
-
/* Secondary rotates from brand by an exposed offset. Default +60°
|
|
107
|
-
* (sibling accent). Try 30° for a close sibling, 120° for triadic,
|
|
108
|
-
* 180° for complement. Set --ty-secondary-hue to a literal number
|
|
109
|
-
* to detach completely. */
|
|
110
|
-
--ty-secondary-offset: 60;
|
|
111
111
|
|
|
112
112
|
/* ----------------------------------------------------------------
|
|
113
113
|
* Tier 2 — PER-FLAVOR ANCHORS
|
|
@@ -118,8 +118,6 @@
|
|
|
118
118
|
* --ty-warning-chroma: 0.2; (more vivid)
|
|
119
119
|
* --------------------------------------------------------------*/
|
|
120
120
|
|
|
121
|
-
--ty-secondary-hue: calc(var(--ty-brand-hue) + var(--ty-secondary-offset));
|
|
122
|
-
--ty-secondary-chroma: var(--ty-brand-chroma);
|
|
123
121
|
|
|
124
122
|
--ty-success-hue: 145;
|
|
125
123
|
--ty-success-chroma: calc(var(--ty-brand-chroma) * 1.08);
|
|
@@ -182,6 +180,24 @@
|
|
|
182
180
|
--ty-l-border-soft: 0.88; /* was color-neutral-faint */
|
|
183
181
|
--ty-l-border-faint: 0.92;
|
|
184
182
|
|
|
183
|
+
/* Surface ladder + remaining per-mode absolutes, as L dials. These were
|
|
184
|
+
* whole oklch() declarations swapped per mode; as numeric dials they are
|
|
185
|
+
* (a) consistent with every other family and (b) interpolable — which is
|
|
186
|
+
* what lets theme/mode switches ANIMATE (see THEME TRANSITIONS at the
|
|
187
|
+
* end of this file). */
|
|
188
|
+
--ty-l-surface-canvas: 0.985;
|
|
189
|
+
--ty-l-surface-content: 1;
|
|
190
|
+
--ty-l-surface-elevated: 1;
|
|
191
|
+
--ty-l-surface-floating: 1;
|
|
192
|
+
--ty-l-surface-input: 1;
|
|
193
|
+
|
|
194
|
+
--ty-l-solid-neutral: 0.4; /* the neutral "ink" fill — dark in BOTH modes */
|
|
195
|
+
--ty-l-bg-neutral-strong: 0.25; /* opposes the mode: dark bg on light page */
|
|
196
|
+
--ty-l-bg-neutral-faint: 0.99; /* follows the mode */
|
|
197
|
+
--ty-c-bg-neutral-faint-mult: 0.4;
|
|
198
|
+
|
|
199
|
+
--ty-focus-ring-alpha: 5%; /* focus ring mix strength (dark needs more) */
|
|
200
|
+
|
|
185
201
|
/* ----------------------------------------------------------------
|
|
186
202
|
* Tier 4 — SATURATION CURVE
|
|
187
203
|
* Per-shade chroma multipliers. Each shade's chroma =
|
|
@@ -217,7 +233,6 @@
|
|
|
217
233
|
* --------------------------------------------------------------*/
|
|
218
234
|
|
|
219
235
|
--ty-primary-l-factor: 1;
|
|
220
|
-
--ty-secondary-l-factor: 1;
|
|
221
236
|
--ty-success-l-factor: 1;
|
|
222
237
|
--ty-warning-l-factor: 1.15;
|
|
223
238
|
--ty-danger-l-factor: 1;
|
|
@@ -254,7 +269,9 @@
|
|
|
254
269
|
/* Dark mode overrides for the L-curve and saturation curve. Tier 1 + 2
|
|
255
270
|
* seeds and Tier 5 L-factors carry through unchanged from :root. */
|
|
256
271
|
html.dark,
|
|
257
|
-
html[data-theme="dark"]
|
|
272
|
+
html[data-theme="dark"],
|
|
273
|
+
[data-ty-theme].dark,
|
|
274
|
+
[data-ty-theme][data-theme="dark"] {
|
|
258
275
|
/* Tier 3 dark — inverted curve. Higher L = lighter text = more
|
|
259
276
|
* emphasis on a dark background. */
|
|
260
277
|
--ty-l-strong: 0.72;
|
|
@@ -286,6 +303,23 @@ html[data-theme="dark"] {
|
|
|
286
303
|
--ty-l-border-soft: 0.3;
|
|
287
304
|
--ty-l-border-faint: 0.3;
|
|
288
305
|
|
|
306
|
+
/* Surface ladder + absolutes dark — hand-tuned values, now as dials. */
|
|
307
|
+
--ty-l-surface-canvas: 0.12;
|
|
308
|
+
--ty-l-surface-content: 0.16;
|
|
309
|
+
--ty-l-surface-elevated: 0.19;
|
|
310
|
+
--ty-l-surface-floating: 0.22;
|
|
311
|
+
--ty-l-surface-input: 0.18;
|
|
312
|
+
|
|
313
|
+
--ty-l-solid-neutral: 0.23;
|
|
314
|
+
--ty-l-bg-neutral-strong: 0.95;
|
|
315
|
+
--ty-l-bg-neutral-faint: 0.15;
|
|
316
|
+
--ty-c-bg-neutral-faint-mult: 2;
|
|
317
|
+
|
|
318
|
+
/* Tier 5 dark — neutral inks pulled down a notch against dark surfaces. */
|
|
319
|
+
--ty-neutral-l-factor: 0.8;
|
|
320
|
+
|
|
321
|
+
--ty-focus-ring-alpha: 20%;
|
|
322
|
+
|
|
289
323
|
/* Tier 4 dark — dim shades hold more chroma so they don't grey out;
|
|
290
324
|
* strong shades trim chroma so bright tones don't over-pop. */
|
|
291
325
|
--ty-c-strong-mult: 0.77;
|
|
@@ -300,7 +334,7 @@ html[data-theme="dark"] {
|
|
|
300
334
|
|
|
301
335
|
/* Tier 6 dark — interaction offsets flip sign (press LIGHTENS on dark),
|
|
302
336
|
* and the per-theme adjust dims + desaturates the fills against the
|
|
303
|
-
* dark canvas. (Computed solid tokens
|
|
337
|
+
* dark canvas. (Computed solid tokens are declared once at html:root.) */
|
|
304
338
|
--ty-solid-hover-l: 0.04; /* :hover */
|
|
305
339
|
--ty-solid-active-l: 0.08; /* :active */
|
|
306
340
|
--ty-solid-strong-l: 0.06; /* tone+ */
|
|
@@ -338,264 +372,269 @@ html[data-theme="dark"] {
|
|
|
338
372
|
* it there unless its VALUE is mode-specific.
|
|
339
373
|
* ===================================================================== */
|
|
340
374
|
|
|
341
|
-
html:root
|
|
375
|
+
html:root,
|
|
376
|
+
[data-ty-theme] {
|
|
342
377
|
/* ----------------------------------------------------------------
|
|
343
378
|
* Flavor color ramps (fg + bg + border)
|
|
379
|
+
*
|
|
380
|
+
* SEED INGESTION — every flavor resolves ONE seed color, and every
|
|
381
|
+
* ramp formula reads that seed's c + h channels via relative color
|
|
382
|
+
* syntax; L always comes from the mode-flipped curve. Two ways in:
|
|
383
|
+
*
|
|
384
|
+
* numbers (default) — the Tier 1/2 hue+chroma dials construct the
|
|
385
|
+
* seed: --ty-brand-hue: 200; --ty-brand-chroma: 0.13;
|
|
386
|
+
*
|
|
387
|
+
* a color — set the seed directly and the dials are bypassed:
|
|
388
|
+
* --ty-primary-seed: #76467c;
|
|
389
|
+
* --ty-danger-seed: crimson;
|
|
390
|
+
*
|
|
391
|
+
* The seed's LIGHTNESS is discarded by design: a color's identity
|
|
392
|
+
* here is hue + chroma; where each shade sits per mode is the
|
|
393
|
+
* L-curve's job. That is what makes dark mode, tones and contrast
|
|
394
|
+
* correct for ANY seed — light or dark. (Your exact pixel may
|
|
395
|
+
* appear nowhere; pin --ty-solid-X etc. if you need it literally.)
|
|
344
396
|
* --------------------------------------------------------------*/
|
|
397
|
+
--ty-primary-seed-resolved: var(
|
|
398
|
+
--ty-primary-seed,
|
|
399
|
+
oklch(0.5 var(--ty-brand-chroma) var(--ty-brand-hue))
|
|
400
|
+
);
|
|
401
|
+
--ty-success-seed-resolved: var(
|
|
402
|
+
--ty-success-seed,
|
|
403
|
+
oklch(0.5 var(--ty-success-chroma) var(--ty-success-hue))
|
|
404
|
+
);
|
|
405
|
+
--ty-warning-seed-resolved: var(
|
|
406
|
+
--ty-warning-seed,
|
|
407
|
+
oklch(0.5 var(--ty-warning-chroma) var(--ty-warning-hue))
|
|
408
|
+
);
|
|
409
|
+
--ty-danger-seed-resolved: var(
|
|
410
|
+
--ty-danger-seed,
|
|
411
|
+
oklch(0.5 var(--ty-danger-chroma) var(--ty-danger-hue))
|
|
412
|
+
);
|
|
413
|
+
--ty-neutral-seed-resolved: var(
|
|
414
|
+
--ty-neutral-seed,
|
|
415
|
+
oklch(0.5 var(--ty-neutral-chroma) var(--ty-neutral-hue))
|
|
416
|
+
);
|
|
345
417
|
|
|
346
418
|
/* Primary */
|
|
347
419
|
--ty-color-primary-strong: oklch(
|
|
348
|
-
|
|
349
|
-
calc(var(--ty-
|
|
420
|
+
from var(--ty-primary-seed-resolved)
|
|
421
|
+
calc(var(--ty-l-strong) * var(--ty-primary-l-factor))
|
|
422
|
+
calc(c * var(--ty-c-strong-mult)) h
|
|
350
423
|
);
|
|
351
424
|
--ty-color-primary-bold: oklch(
|
|
352
|
-
|
|
353
|
-
calc(var(--ty-
|
|
425
|
+
from var(--ty-primary-seed-resolved)
|
|
426
|
+
calc(var(--ty-l-bold) * var(--ty-primary-l-factor))
|
|
427
|
+
calc(c * var(--ty-c-bold-mult)) h
|
|
354
428
|
);
|
|
355
429
|
--ty-color-primary: oklch(
|
|
356
|
-
|
|
357
|
-
calc(var(--ty-
|
|
430
|
+
from var(--ty-primary-seed-resolved)
|
|
431
|
+
calc(var(--ty-l-base) * var(--ty-primary-l-factor))
|
|
432
|
+
calc(c * var(--ty-c-base-mult)) h
|
|
358
433
|
);
|
|
359
434
|
--ty-color-primary-soft: oklch(
|
|
360
|
-
|
|
361
|
-
calc(var(--ty-
|
|
435
|
+
from var(--ty-primary-seed-resolved)
|
|
436
|
+
calc(var(--ty-l-soft) * var(--ty-primary-l-factor))
|
|
437
|
+
calc(c * var(--ty-c-soft-mult)) h
|
|
362
438
|
);
|
|
363
439
|
--ty-color-primary-faint: oklch(
|
|
364
|
-
|
|
365
|
-
calc(var(--ty-
|
|
440
|
+
from var(--ty-primary-seed-resolved)
|
|
441
|
+
calc(var(--ty-l-faint) * var(--ty-primary-l-factor))
|
|
442
|
+
calc(c * var(--ty-c-faint-mult)) h
|
|
366
443
|
);
|
|
367
444
|
--ty-bg-primary: oklch(
|
|
368
|
-
|
|
369
|
-
calc(var(--ty-
|
|
370
|
-
var(--ty-
|
|
445
|
+
from var(--ty-primary-seed-resolved)
|
|
446
|
+
calc(var(--ty-l-bg-base) * var(--ty-primary-l-factor))
|
|
447
|
+
calc(c * var(--ty-c-bg-base-mult)) h
|
|
371
448
|
);
|
|
372
449
|
--ty-bg-primary-bold: oklch(
|
|
373
|
-
|
|
374
|
-
calc(var(--ty-
|
|
375
|
-
var(--ty-
|
|
450
|
+
from var(--ty-primary-seed-resolved)
|
|
451
|
+
calc(var(--ty-l-bg-bold) * var(--ty-primary-l-factor))
|
|
452
|
+
calc(c * var(--ty-c-bg-bold-mult)) h
|
|
376
453
|
);
|
|
377
454
|
--ty-bg-primary-soft: oklch(
|
|
378
|
-
|
|
379
|
-
calc(var(--ty-
|
|
380
|
-
var(--ty-
|
|
455
|
+
from var(--ty-primary-seed-resolved)
|
|
456
|
+
calc(var(--ty-l-bg-soft) * var(--ty-primary-l-factor))
|
|
457
|
+
calc(c * var(--ty-c-bg-soft-mult)) h
|
|
381
458
|
);
|
|
382
459
|
--ty-border-primary: var(--ty-color-primary-soft);
|
|
383
460
|
|
|
384
|
-
/* Secondary */
|
|
385
|
-
--ty-color-secondary-strong: oklch(
|
|
386
|
-
calc(var(--ty-l-strong) * var(--ty-secondary-l-factor))
|
|
387
|
-
calc(var(--ty-secondary-chroma) * var(--ty-c-strong-mult))
|
|
388
|
-
var(--ty-secondary-hue)
|
|
389
|
-
);
|
|
390
|
-
--ty-color-secondary-bold: oklch(
|
|
391
|
-
calc(var(--ty-l-bold) * var(--ty-secondary-l-factor))
|
|
392
|
-
calc(var(--ty-secondary-chroma) * var(--ty-c-bold-mult))
|
|
393
|
-
var(--ty-secondary-hue)
|
|
394
|
-
);
|
|
395
|
-
--ty-color-secondary: oklch(
|
|
396
|
-
calc(var(--ty-l-base) * var(--ty-secondary-l-factor))
|
|
397
|
-
calc(var(--ty-secondary-chroma) * var(--ty-c-base-mult))
|
|
398
|
-
var(--ty-secondary-hue)
|
|
399
|
-
);
|
|
400
|
-
--ty-color-secondary-soft: oklch(
|
|
401
|
-
calc(var(--ty-l-soft) * var(--ty-secondary-l-factor))
|
|
402
|
-
calc(var(--ty-secondary-chroma) * var(--ty-c-soft-mult))
|
|
403
|
-
var(--ty-secondary-hue)
|
|
404
|
-
);
|
|
405
|
-
--ty-color-secondary-faint: oklch(
|
|
406
|
-
calc(var(--ty-l-faint) * var(--ty-secondary-l-factor))
|
|
407
|
-
calc(var(--ty-secondary-chroma) * var(--ty-c-faint-mult))
|
|
408
|
-
var(--ty-secondary-hue)
|
|
409
|
-
);
|
|
410
|
-
--ty-bg-secondary: oklch(
|
|
411
|
-
calc(var(--ty-l-bg-base) * var(--ty-secondary-l-factor))
|
|
412
|
-
calc(var(--ty-secondary-chroma) * var(--ty-c-bg-base-mult))
|
|
413
|
-
var(--ty-secondary-hue)
|
|
414
|
-
);
|
|
415
|
-
--ty-bg-secondary-bold: oklch(
|
|
416
|
-
calc(var(--ty-l-bg-bold) * var(--ty-secondary-l-factor))
|
|
417
|
-
calc(var(--ty-secondary-chroma) * var(--ty-c-bg-bold-mult))
|
|
418
|
-
var(--ty-secondary-hue)
|
|
419
|
-
);
|
|
420
|
-
--ty-bg-secondary-soft: oklch(
|
|
421
|
-
calc(var(--ty-l-bg-soft) * var(--ty-secondary-l-factor))
|
|
422
|
-
calc(var(--ty-secondary-chroma) * var(--ty-c-bg-soft-mult))
|
|
423
|
-
var(--ty-secondary-hue)
|
|
424
|
-
);
|
|
425
|
-
--ty-border-secondary: var(--ty-color-secondary-soft);
|
|
426
|
-
|
|
427
461
|
/* Success */
|
|
428
462
|
--ty-color-success-strong: oklch(
|
|
429
|
-
|
|
430
|
-
calc(var(--ty-
|
|
431
|
-
var(--ty-
|
|
463
|
+
from var(--ty-success-seed-resolved)
|
|
464
|
+
calc(var(--ty-l-strong) * var(--ty-success-l-factor))
|
|
465
|
+
calc(c * var(--ty-c-strong-mult)) h
|
|
432
466
|
);
|
|
433
467
|
--ty-color-success-bold: oklch(
|
|
434
|
-
|
|
435
|
-
calc(var(--ty-
|
|
436
|
-
var(--ty-
|
|
468
|
+
from var(--ty-success-seed-resolved)
|
|
469
|
+
calc(var(--ty-l-bold) * var(--ty-success-l-factor))
|
|
470
|
+
calc(c * var(--ty-c-bold-mult)) h
|
|
437
471
|
);
|
|
438
472
|
--ty-color-success: oklch(
|
|
439
|
-
|
|
440
|
-
calc(var(--ty-
|
|
441
|
-
var(--ty-
|
|
473
|
+
from var(--ty-success-seed-resolved)
|
|
474
|
+
calc(var(--ty-l-base) * var(--ty-success-l-factor))
|
|
475
|
+
calc(c * var(--ty-c-base-mult)) h
|
|
442
476
|
);
|
|
443
477
|
--ty-color-success-soft: oklch(
|
|
444
|
-
|
|
445
|
-
calc(var(--ty-
|
|
446
|
-
var(--ty-
|
|
478
|
+
from var(--ty-success-seed-resolved)
|
|
479
|
+
calc(var(--ty-l-soft) * var(--ty-success-l-factor))
|
|
480
|
+
calc(c * var(--ty-c-soft-mult)) h
|
|
447
481
|
);
|
|
448
482
|
--ty-color-success-faint: oklch(
|
|
449
|
-
|
|
450
|
-
calc(var(--ty-
|
|
451
|
-
var(--ty-
|
|
483
|
+
from var(--ty-success-seed-resolved)
|
|
484
|
+
calc(var(--ty-l-faint) * var(--ty-success-l-factor))
|
|
485
|
+
calc(c * var(--ty-c-faint-mult)) h
|
|
452
486
|
);
|
|
453
487
|
--ty-bg-success: oklch(
|
|
454
|
-
|
|
455
|
-
calc(var(--ty-
|
|
456
|
-
var(--ty-
|
|
488
|
+
from var(--ty-success-seed-resolved)
|
|
489
|
+
calc(var(--ty-l-bg-base) * var(--ty-success-l-factor))
|
|
490
|
+
calc(c * var(--ty-c-bg-base-mult)) h
|
|
457
491
|
);
|
|
458
492
|
--ty-bg-success-bold: oklch(
|
|
459
|
-
|
|
460
|
-
calc(var(--ty-
|
|
461
|
-
var(--ty-
|
|
493
|
+
from var(--ty-success-seed-resolved)
|
|
494
|
+
calc(var(--ty-l-bg-bold) * var(--ty-success-l-factor))
|
|
495
|
+
calc(c * var(--ty-c-bg-bold-mult)) h
|
|
462
496
|
);
|
|
463
497
|
--ty-bg-success-soft: oklch(
|
|
464
|
-
|
|
465
|
-
calc(var(--ty-
|
|
466
|
-
var(--ty-
|
|
498
|
+
from var(--ty-success-seed-resolved)
|
|
499
|
+
calc(var(--ty-l-bg-soft) * var(--ty-success-l-factor))
|
|
500
|
+
calc(c * var(--ty-c-bg-soft-mult)) h
|
|
467
501
|
);
|
|
468
502
|
--ty-border-success: var(--ty-color-success-soft);
|
|
469
503
|
|
|
470
504
|
/* Danger */
|
|
471
505
|
--ty-color-danger-strong: oklch(
|
|
472
|
-
|
|
473
|
-
calc(var(--ty-
|
|
474
|
-
var(--ty-
|
|
506
|
+
from var(--ty-danger-seed-resolved)
|
|
507
|
+
calc(var(--ty-l-strong) * var(--ty-danger-l-factor))
|
|
508
|
+
calc(c * var(--ty-c-strong-mult)) h
|
|
475
509
|
);
|
|
476
510
|
--ty-color-danger-bold: oklch(
|
|
477
|
-
|
|
478
|
-
calc(var(--ty-
|
|
511
|
+
from var(--ty-danger-seed-resolved)
|
|
512
|
+
calc(var(--ty-l-bold) * var(--ty-danger-l-factor))
|
|
513
|
+
calc(c * var(--ty-c-bold-mult)) h
|
|
479
514
|
);
|
|
480
515
|
--ty-color-danger: oklch(
|
|
481
|
-
|
|
482
|
-
calc(var(--ty-
|
|
516
|
+
from var(--ty-danger-seed-resolved)
|
|
517
|
+
calc(var(--ty-l-base) * var(--ty-danger-l-factor))
|
|
518
|
+
calc(c * var(--ty-c-base-mult)) h
|
|
483
519
|
);
|
|
484
520
|
--ty-color-danger-soft: oklch(
|
|
485
|
-
|
|
486
|
-
calc(var(--ty-
|
|
521
|
+
from var(--ty-danger-seed-resolved)
|
|
522
|
+
calc(var(--ty-l-soft) * var(--ty-danger-l-factor))
|
|
523
|
+
calc(c * var(--ty-c-soft-mult)) h
|
|
487
524
|
);
|
|
488
525
|
--ty-color-danger-faint: oklch(
|
|
489
|
-
|
|
490
|
-
calc(var(--ty-
|
|
491
|
-
var(--ty-
|
|
526
|
+
from var(--ty-danger-seed-resolved)
|
|
527
|
+
calc(var(--ty-l-faint) * var(--ty-danger-l-factor))
|
|
528
|
+
calc(c * var(--ty-c-faint-mult)) h
|
|
492
529
|
);
|
|
493
530
|
--ty-bg-danger: oklch(
|
|
494
|
-
|
|
495
|
-
calc(var(--ty-
|
|
496
|
-
var(--ty-
|
|
531
|
+
from var(--ty-danger-seed-resolved)
|
|
532
|
+
calc(var(--ty-l-bg-base) * var(--ty-danger-l-factor))
|
|
533
|
+
calc(c * var(--ty-c-bg-base-mult)) h
|
|
497
534
|
);
|
|
498
535
|
--ty-bg-danger-bold: oklch(
|
|
499
|
-
|
|
500
|
-
calc(var(--ty-
|
|
501
|
-
var(--ty-
|
|
536
|
+
from var(--ty-danger-seed-resolved)
|
|
537
|
+
calc(var(--ty-l-bg-bold) * var(--ty-danger-l-factor))
|
|
538
|
+
calc(c * var(--ty-c-bg-bold-mult)) h
|
|
502
539
|
);
|
|
503
540
|
--ty-bg-danger-soft: oklch(
|
|
504
|
-
|
|
505
|
-
calc(var(--ty-
|
|
506
|
-
var(--ty-
|
|
541
|
+
from var(--ty-danger-seed-resolved)
|
|
542
|
+
calc(var(--ty-l-bg-soft) * var(--ty-danger-l-factor))
|
|
543
|
+
calc(c * var(--ty-c-bg-soft-mult)) h
|
|
507
544
|
);
|
|
508
545
|
--ty-border-danger: var(--ty-color-danger-soft);
|
|
509
546
|
|
|
510
547
|
/* Warning */
|
|
511
548
|
--ty-color-warning-strong: oklch(
|
|
512
|
-
|
|
513
|
-
calc(var(--ty-
|
|
514
|
-
var(--ty-
|
|
549
|
+
from var(--ty-warning-seed-resolved)
|
|
550
|
+
calc(var(--ty-l-strong) * var(--ty-warning-l-factor))
|
|
551
|
+
calc(c * var(--ty-c-strong-mult)) h
|
|
515
552
|
);
|
|
516
553
|
--ty-color-warning-bold: oklch(
|
|
517
|
-
|
|
518
|
-
calc(var(--ty-
|
|
519
|
-
var(--ty-
|
|
554
|
+
from var(--ty-warning-seed-resolved)
|
|
555
|
+
calc(var(--ty-l-bold) * var(--ty-warning-l-factor))
|
|
556
|
+
calc(c * var(--ty-c-bold-mult)) h
|
|
520
557
|
);
|
|
521
558
|
--ty-color-warning: oklch(
|
|
522
|
-
|
|
523
|
-
calc(var(--ty-
|
|
524
|
-
var(--ty-
|
|
559
|
+
from var(--ty-warning-seed-resolved)
|
|
560
|
+
calc(var(--ty-l-base) * var(--ty-warning-l-factor))
|
|
561
|
+
calc(c * var(--ty-c-base-mult)) h
|
|
525
562
|
);
|
|
526
563
|
--ty-color-warning-soft: oklch(
|
|
527
|
-
|
|
528
|
-
calc(var(--ty-
|
|
529
|
-
var(--ty-
|
|
564
|
+
from var(--ty-warning-seed-resolved)
|
|
565
|
+
calc(var(--ty-l-soft) * var(--ty-warning-l-factor))
|
|
566
|
+
calc(c * var(--ty-c-soft-mult)) h
|
|
530
567
|
);
|
|
531
568
|
--ty-color-warning-faint: oklch(
|
|
532
|
-
|
|
533
|
-
calc(var(--ty-
|
|
534
|
-
var(--ty-
|
|
569
|
+
from var(--ty-warning-seed-resolved)
|
|
570
|
+
calc(var(--ty-l-faint) * var(--ty-warning-l-factor))
|
|
571
|
+
calc(c * var(--ty-c-faint-mult)) h
|
|
535
572
|
);
|
|
536
573
|
--ty-bg-warning: oklch(
|
|
537
|
-
|
|
538
|
-
calc(var(--ty-
|
|
539
|
-
var(--ty-
|
|
574
|
+
from var(--ty-warning-seed-resolved)
|
|
575
|
+
calc(var(--ty-l-bg-base) * var(--ty-warning-l-factor))
|
|
576
|
+
calc(c * var(--ty-c-bg-base-mult)) h
|
|
540
577
|
);
|
|
541
578
|
--ty-bg-warning-bold: oklch(
|
|
542
|
-
|
|
543
|
-
calc(var(--ty-
|
|
544
|
-
var(--ty-
|
|
579
|
+
from var(--ty-warning-seed-resolved)
|
|
580
|
+
calc(var(--ty-l-bg-bold) * var(--ty-warning-l-factor))
|
|
581
|
+
calc(c * var(--ty-c-bg-bold-mult)) h
|
|
545
582
|
);
|
|
546
583
|
--ty-bg-warning-soft: oklch(
|
|
547
|
-
|
|
548
|
-
calc(var(--ty-
|
|
549
|
-
var(--ty-
|
|
584
|
+
from var(--ty-warning-seed-resolved)
|
|
585
|
+
calc(var(--ty-l-bg-soft) * var(--ty-warning-l-factor))
|
|
586
|
+
calc(c * var(--ty-c-bg-soft-mult)) h
|
|
550
587
|
);
|
|
551
588
|
--ty-border-warning: var(--ty-color-warning-soft);
|
|
552
589
|
|
|
553
590
|
/* Neutral — same L curve, near-zero chroma so the grey scale stays grey. */
|
|
554
591
|
--ty-color-neutral-strong: oklch(
|
|
555
|
-
|
|
556
|
-
calc(var(--ty-
|
|
557
|
-
var(--ty-
|
|
592
|
+
from var(--ty-neutral-seed-resolved)
|
|
593
|
+
calc(var(--ty-l-strong) * var(--ty-neutral-l-factor))
|
|
594
|
+
calc(c * var(--ty-c-strong-mult)) h
|
|
558
595
|
);
|
|
559
596
|
--ty-color-neutral-bold: oklch(
|
|
560
|
-
|
|
561
|
-
calc(var(--ty-
|
|
562
|
-
var(--ty-
|
|
597
|
+
from var(--ty-neutral-seed-resolved)
|
|
598
|
+
calc(var(--ty-l-bold) * var(--ty-neutral-l-factor))
|
|
599
|
+
calc(c * var(--ty-c-bold-mult)) h
|
|
563
600
|
);
|
|
564
601
|
--ty-color-neutral: oklch(
|
|
565
|
-
|
|
566
|
-
calc(var(--ty-
|
|
567
|
-
var(--ty-
|
|
602
|
+
from var(--ty-neutral-seed-resolved)
|
|
603
|
+
calc(var(--ty-l-base) * var(--ty-neutral-l-factor))
|
|
604
|
+
calc(c * var(--ty-c-base-mult)) h
|
|
568
605
|
);
|
|
569
606
|
--ty-color-neutral-soft: oklch(
|
|
570
|
-
|
|
571
|
-
calc(var(--ty-
|
|
572
|
-
var(--ty-
|
|
607
|
+
from var(--ty-neutral-seed-resolved)
|
|
608
|
+
calc(var(--ty-l-soft) * var(--ty-neutral-l-factor))
|
|
609
|
+
calc(c * var(--ty-c-soft-mult)) h
|
|
573
610
|
);
|
|
574
611
|
--ty-color-neutral-faint: oklch(
|
|
575
|
-
|
|
576
|
-
calc(var(--ty-
|
|
577
|
-
var(--ty-
|
|
612
|
+
from var(--ty-neutral-seed-resolved)
|
|
613
|
+
calc(var(--ty-l-faint) * var(--ty-neutral-l-factor))
|
|
614
|
+
calc(c * var(--ty-c-faint-mult)) h
|
|
578
615
|
);
|
|
579
616
|
--ty-bg-neutral: oklch(
|
|
580
|
-
|
|
581
|
-
calc(var(--ty-
|
|
582
|
-
var(--ty-
|
|
617
|
+
from var(--ty-neutral-seed-resolved)
|
|
618
|
+
calc(var(--ty-l-bg-base) * var(--ty-neutral-l-factor))
|
|
619
|
+
calc(c * var(--ty-c-bg-base-mult)) h
|
|
583
620
|
);
|
|
584
621
|
--ty-bg-neutral-bold: oklch(
|
|
585
|
-
|
|
586
|
-
calc(var(--ty-
|
|
587
|
-
var(--ty-
|
|
622
|
+
from var(--ty-neutral-seed-resolved)
|
|
623
|
+
calc(var(--ty-l-bg-bold) * var(--ty-neutral-l-factor))
|
|
624
|
+
calc(c * var(--ty-c-bg-bold-mult)) h
|
|
588
625
|
);
|
|
589
626
|
--ty-bg-neutral-soft: oklch(
|
|
590
|
-
|
|
591
|
-
calc(var(--ty-
|
|
592
|
-
var(--ty-
|
|
627
|
+
from var(--ty-neutral-seed-resolved)
|
|
628
|
+
calc(var(--ty-l-bg-soft) * var(--ty-neutral-l-factor))
|
|
629
|
+
calc(c * var(--ty-c-bg-soft-mult)) h
|
|
593
630
|
);
|
|
594
631
|
--ty-bg-neutral-strong: oklch(
|
|
595
|
-
|
|
632
|
+
from var(--ty-neutral-seed-resolved) var(--ty-l-bg-neutral-strong)
|
|
633
|
+
calc(c * 2) h
|
|
596
634
|
);
|
|
597
635
|
--ty-bg-neutral-faint: oklch(
|
|
598
|
-
|
|
636
|
+
from var(--ty-neutral-seed-resolved) var(--ty-l-bg-neutral-faint)
|
|
637
|
+
calc(c * var(--ty-c-bg-neutral-faint-mult)) h
|
|
599
638
|
);
|
|
600
639
|
|
|
601
640
|
/* ----------------------------------------------------------------
|
|
@@ -606,19 +645,19 @@ html:root {
|
|
|
606
645
|
* border SHOULD track its flavor's ink.
|
|
607
646
|
* --------------------------------------------------------------*/
|
|
608
647
|
--ty-border-strong: oklch(
|
|
609
|
-
var(--ty-
|
|
648
|
+
from var(--ty-neutral-seed-resolved) var(--ty-l-border-strong) c h
|
|
610
649
|
);
|
|
611
650
|
--ty-border: oklch(
|
|
612
|
-
|
|
651
|
+
from var(--ty-neutral-seed-resolved) var(--ty-l-border) c h
|
|
613
652
|
);
|
|
614
653
|
--ty-border-bold: oklch(
|
|
615
|
-
var(--ty-
|
|
654
|
+
from var(--ty-neutral-seed-resolved) var(--ty-l-border-bold) c h
|
|
616
655
|
);
|
|
617
656
|
--ty-border-soft: oklch(
|
|
618
|
-
var(--ty-
|
|
657
|
+
from var(--ty-neutral-seed-resolved) var(--ty-l-border-soft) c h
|
|
619
658
|
);
|
|
620
659
|
--ty-border-faint: oklch(
|
|
621
|
-
var(--ty-
|
|
660
|
+
from var(--ty-neutral-seed-resolved) var(--ty-l-border-faint) c h
|
|
622
661
|
);
|
|
623
662
|
|
|
624
663
|
/* ----------------------------------------------------------------
|
|
@@ -628,41 +667,54 @@ html:root {
|
|
|
628
667
|
* other token here does; a rebrand now reaches body text too.
|
|
629
668
|
* --------------------------------------------------------------*/
|
|
630
669
|
--ty-text-strong: oklch(
|
|
631
|
-
var(--ty-
|
|
670
|
+
from var(--ty-neutral-seed-resolved) var(--ty-l-text-strong) c h
|
|
632
671
|
);
|
|
633
672
|
--ty-text-bold: oklch(
|
|
634
|
-
var(--ty-
|
|
673
|
+
from var(--ty-neutral-seed-resolved) var(--ty-l-text-bold) c h
|
|
635
674
|
);
|
|
636
675
|
--ty-text: oklch(
|
|
637
|
-
var(--ty-
|
|
676
|
+
from var(--ty-neutral-seed-resolved) var(--ty-l-text-base) c h
|
|
638
677
|
);
|
|
639
678
|
--ty-text-soft: oklch(
|
|
640
|
-
var(--ty-
|
|
679
|
+
from var(--ty-neutral-seed-resolved) var(--ty-l-text-soft) c h
|
|
641
680
|
);
|
|
642
681
|
--ty-text-faint: oklch(
|
|
643
|
-
var(--ty-
|
|
682
|
+
from var(--ty-neutral-seed-resolved) var(--ty-l-text-faint) c h
|
|
644
683
|
);
|
|
645
684
|
|
|
646
685
|
--ty-content-border: oklch(
|
|
647
|
-
var(--ty-
|
|
686
|
+
from var(--ty-neutral-seed-resolved) var(--ty-l-border-content) c h
|
|
648
687
|
);
|
|
649
688
|
--ty-elevated-border: oklch(
|
|
650
|
-
var(--ty-
|
|
689
|
+
from var(--ty-neutral-seed-resolved) var(--ty-l-border-elevated) c h
|
|
651
690
|
);
|
|
652
691
|
--ty-floating-border: oklch(
|
|
653
|
-
var(--ty-
|
|
692
|
+
from var(--ty-neutral-seed-resolved) var(--ty-l-border-floating) c h
|
|
654
693
|
);
|
|
655
694
|
|
|
656
695
|
/* ----------------------------------------------------------------
|
|
657
696
|
* Surfaces — monochrome by default; --ty-surface-chroma warms them.
|
|
658
697
|
* --------------------------------------------------------------*/
|
|
659
698
|
--ty-surface-canvas: oklch(
|
|
660
|
-
|
|
699
|
+
from var(--ty-primary-seed-resolved) var(--ty-l-surface-canvas)
|
|
700
|
+
var(--ty-surface-chroma) h
|
|
701
|
+
);
|
|
702
|
+
--ty-surface-content: oklch(
|
|
703
|
+
from var(--ty-primary-seed-resolved) var(--ty-l-surface-content)
|
|
704
|
+
var(--ty-surface-chroma) h
|
|
705
|
+
);
|
|
706
|
+
--ty-surface-elevated: oklch(
|
|
707
|
+
from var(--ty-primary-seed-resolved) var(--ty-l-surface-elevated)
|
|
708
|
+
var(--ty-surface-chroma) h
|
|
709
|
+
);
|
|
710
|
+
--ty-surface-floating: oklch(
|
|
711
|
+
from var(--ty-primary-seed-resolved) var(--ty-l-surface-floating)
|
|
712
|
+
var(--ty-surface-chroma) h
|
|
713
|
+
);
|
|
714
|
+
--ty-surface-input: oklch(
|
|
715
|
+
from var(--ty-primary-seed-resolved) var(--ty-l-surface-input)
|
|
716
|
+
var(--ty-surface-chroma) h
|
|
661
717
|
);
|
|
662
|
-
--ty-surface-content: oklch(1 0 0);
|
|
663
|
-
--ty-surface-elevated: oklch(1 0 0);
|
|
664
|
-
--ty-surface-floating: oklch(1 0 0);
|
|
665
|
-
--ty-surface-input: oklch(1 0 0);
|
|
666
718
|
|
|
667
719
|
/* ----------------------------------------------------------------
|
|
668
720
|
* Inputs — tied to neutral ramp so form controls retint with brand.
|
|
@@ -678,7 +730,7 @@ html:root {
|
|
|
678
730
|
--ty-input-disabled-color: var(--ty-color-neutral-bold);
|
|
679
731
|
--ty-input-shadow-focus: color-mix(
|
|
680
732
|
in oklab,
|
|
681
|
-
var(--ty-color-primary)
|
|
733
|
+
var(--ty-color-primary) var(--ty-focus-ring-alpha),
|
|
682
734
|
transparent
|
|
683
735
|
);
|
|
684
736
|
}
|
|
@@ -700,16 +752,13 @@ html:root {
|
|
|
700
752
|
* the oklch(from var(--ty-color-*)) formulas resolve per-mode automatically,
|
|
701
753
|
* so no dark duplicate is needed.
|
|
702
754
|
* --------------------------------------------------------------*/
|
|
703
|
-
html:root
|
|
755
|
+
html:root,
|
|
756
|
+
[data-ty-theme] {
|
|
704
757
|
/* base fill per flavor (= flavor color, theme-adjusted by Axis B) */
|
|
705
758
|
--ty-solid-primary: oklch(
|
|
706
759
|
from var(--ty-color-primary) calc(l + var(--ty-solid-l))
|
|
707
760
|
calc(c * var(--ty-solid-c)) calc(h + var(--ty-solid-h))
|
|
708
761
|
);
|
|
709
|
-
--ty-solid-secondary: oklch(
|
|
710
|
-
from var(--ty-color-secondary) calc(l + var(--ty-solid-l))
|
|
711
|
-
calc(c * var(--ty-solid-c)) calc(h + var(--ty-solid-h))
|
|
712
|
-
);
|
|
713
762
|
--ty-solid-success: oklch(
|
|
714
763
|
from var(--ty-color-success) calc(l + var(--ty-solid-l))
|
|
715
764
|
calc(c * var(--ty-solid-c)) calc(h + var(--ty-solid-h))
|
|
@@ -724,8 +773,8 @@ html:root {
|
|
|
724
773
|
);
|
|
725
774
|
/* neutral is a deliberate dark grey fill, not the neutral text color */
|
|
726
775
|
--ty-solid-neutral: oklch(
|
|
727
|
-
|
|
728
|
-
var(--ty-
|
|
776
|
+
from var(--ty-neutral-seed-resolved) var(--ty-l-solid-neutral)
|
|
777
|
+
calc(c * var(--ty-c-strong-mult)) h
|
|
729
778
|
);
|
|
730
779
|
|
|
731
780
|
/* ----------------------------------------------------------------
|
|
@@ -765,18 +814,6 @@ html:root {
|
|
|
765
814
|
clamp(0, (var(--ty-solid-fg-threshold) - l) * 1000, 1) 0 0
|
|
766
815
|
);
|
|
767
816
|
|
|
768
|
-
--ty-solid-secondary-fg: oklch(
|
|
769
|
-
from var(--ty-solid-secondary)
|
|
770
|
-
clamp(0, (var(--ty-solid-fg-threshold) - l) * 1000, 1) 0 0
|
|
771
|
-
);
|
|
772
|
-
--ty-solid-secondary-soft-fg: oklch(
|
|
773
|
-
from var(--ty-solid-secondary-soft)
|
|
774
|
-
clamp(0, (var(--ty-solid-fg-threshold) - l) * 1000, 1) 0 0
|
|
775
|
-
);
|
|
776
|
-
--ty-solid-secondary-strong-fg: oklch(
|
|
777
|
-
from var(--ty-solid-secondary-strong)
|
|
778
|
-
clamp(0, (var(--ty-solid-fg-threshold) - l) * 1000, 1) 0 0
|
|
779
|
-
);
|
|
780
817
|
|
|
781
818
|
--ty-solid-success-fg: oklch(
|
|
782
819
|
from var(--ty-solid-success)
|
|
@@ -844,18 +881,6 @@ html:root {
|
|
|
844
881
|
from var(--ty-solid-primary) calc(l + var(--ty-solid-soft-l)) c h
|
|
845
882
|
);
|
|
846
883
|
|
|
847
|
-
--ty-solid-secondary-hover: oklch(
|
|
848
|
-
from var(--ty-solid-secondary) calc(l + var(--ty-solid-hover-l)) c h
|
|
849
|
-
);
|
|
850
|
-
--ty-solid-secondary-active: oklch(
|
|
851
|
-
from var(--ty-solid-secondary) calc(l + var(--ty-solid-active-l)) c h
|
|
852
|
-
);
|
|
853
|
-
--ty-solid-secondary-strong: oklch(
|
|
854
|
-
from var(--ty-solid-secondary) calc(l + var(--ty-solid-strong-l)) c h
|
|
855
|
-
);
|
|
856
|
-
--ty-solid-secondary-soft: oklch(
|
|
857
|
-
from var(--ty-solid-secondary) calc(l + var(--ty-solid-soft-l)) c h
|
|
858
|
-
);
|
|
859
884
|
|
|
860
885
|
--ty-solid-success-hover: oklch(
|
|
861
886
|
from var(--ty-solid-success) calc(l + var(--ty-solid-hover-l)) c h
|
|
@@ -910,53 +935,439 @@ html:root {
|
|
|
910
935
|
);
|
|
911
936
|
}
|
|
912
937
|
|
|
938
|
+
|
|
913
939
|
/* =====================================================================
|
|
914
|
-
* SECTION
|
|
940
|
+
* SECTION 3 — THEME TRANSITIONS
|
|
915
941
|
* =====================================================================
|
|
916
|
-
*
|
|
917
|
-
* above
|
|
918
|
-
*
|
|
919
|
-
*
|
|
942
|
+
*
|
|
943
|
+
* Every dial above is a plain number (or percentage) — and every color
|
|
944
|
+
* in the system is a pure function of those dials. Registering the
|
|
945
|
+
* dials as typed custom properties makes them INTERPOLABLE, so a theme
|
|
946
|
+
* or mode switch (html.dark, html.love, a [data-ty-theme] pack) does
|
|
947
|
+
* not snap: the dials animate, and every derived color — buttons,
|
|
948
|
+
* borders, surfaces, text, focus rings — crossfades through OKLCH
|
|
949
|
+
* space frame by frame. No JS, no repaint tricks; it falls out of the
|
|
950
|
+
* dials-not-colors architecture.
|
|
951
|
+
*
|
|
952
|
+
* Opt out (or retune) per app:
|
|
953
|
+
* :root { --ty-theme-transition: 0s; } no animation
|
|
954
|
+
* :root { --ty-theme-transition: 1.2s; } slower crossfade
|
|
955
|
+
* Reduced-motion users never get the animation.
|
|
956
|
+
*
|
|
957
|
+
* Browsers without @property simply skip registration — themes still
|
|
958
|
+
* work, switches just snap (the pre-TC37 behavior).
|
|
920
959
|
* ===================================================================== */
|
|
921
960
|
|
|
922
|
-
|
|
923
|
-
|
|
924
|
-
|
|
925
|
-
|
|
926
|
-
|
|
927
|
-
|
|
928
|
-
|
|
929
|
-
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
|
|
933
|
-
|
|
934
|
-
|
|
935
|
-
|
|
936
|
-
|
|
937
|
-
|
|
938
|
-
|
|
939
|
-
|
|
940
|
-
|
|
941
|
-
|
|
942
|
-
|
|
943
|
-
|
|
944
|
-
|
|
945
|
-
|
|
946
|
-
|
|
947
|
-
|
|
948
|
-
|
|
949
|
-
|
|
950
|
-
|
|
951
|
-
|
|
952
|
-
|
|
961
|
+
@property --ty-brand-hue {
|
|
962
|
+
syntax: "<number>";
|
|
963
|
+
inherits: true;
|
|
964
|
+
initial-value: 45;
|
|
965
|
+
}
|
|
966
|
+
@property --ty-brand-chroma {
|
|
967
|
+
syntax: "<number>";
|
|
968
|
+
inherits: true;
|
|
969
|
+
initial-value: 0.125;
|
|
970
|
+
}
|
|
971
|
+
@property --ty-surface-chroma {
|
|
972
|
+
syntax: "<number>";
|
|
973
|
+
inherits: true;
|
|
974
|
+
initial-value: 0;
|
|
975
|
+
}
|
|
976
|
+
@property --ty-success-hue {
|
|
977
|
+
syntax: "<number>";
|
|
978
|
+
inherits: true;
|
|
979
|
+
initial-value: 145;
|
|
980
|
+
}
|
|
981
|
+
@property --ty-success-chroma {
|
|
982
|
+
syntax: "<number>";
|
|
983
|
+
inherits: true;
|
|
984
|
+
initial-value: 0.135;
|
|
985
|
+
}
|
|
986
|
+
@property --ty-warning-hue {
|
|
987
|
+
syntax: "<number>";
|
|
988
|
+
inherits: true;
|
|
989
|
+
initial-value: 75;
|
|
990
|
+
}
|
|
991
|
+
@property --ty-warning-chroma {
|
|
992
|
+
syntax: "<number>";
|
|
993
|
+
inherits: true;
|
|
994
|
+
initial-value: 0.25;
|
|
995
|
+
}
|
|
996
|
+
@property --ty-danger-hue {
|
|
997
|
+
syntax: "<number>";
|
|
998
|
+
inherits: true;
|
|
999
|
+
initial-value: 25;
|
|
1000
|
+
}
|
|
1001
|
+
@property --ty-danger-chroma {
|
|
1002
|
+
syntax: "<number>";
|
|
1003
|
+
inherits: true;
|
|
1004
|
+
initial-value: 0.164;
|
|
1005
|
+
}
|
|
1006
|
+
@property --ty-neutral-hue {
|
|
1007
|
+
syntax: "<number>";
|
|
1008
|
+
inherits: true;
|
|
1009
|
+
initial-value: 0;
|
|
1010
|
+
}
|
|
1011
|
+
@property --ty-neutral-chroma {
|
|
1012
|
+
syntax: "<number>";
|
|
1013
|
+
inherits: true;
|
|
1014
|
+
initial-value: 0;
|
|
1015
|
+
}
|
|
1016
|
+
@property --ty-l-strong {
|
|
1017
|
+
syntax: "<number>";
|
|
1018
|
+
inherits: true;
|
|
1019
|
+
initial-value: 0.38;
|
|
1020
|
+
}
|
|
1021
|
+
@property --ty-l-bold {
|
|
1022
|
+
syntax: "<number>";
|
|
1023
|
+
inherits: true;
|
|
1024
|
+
initial-value: 0.46;
|
|
1025
|
+
}
|
|
1026
|
+
@property --ty-l-base {
|
|
1027
|
+
syntax: "<number>";
|
|
1028
|
+
inherits: true;
|
|
1029
|
+
initial-value: 0.54;
|
|
1030
|
+
}
|
|
1031
|
+
@property --ty-l-soft {
|
|
1032
|
+
syntax: "<number>";
|
|
1033
|
+
inherits: true;
|
|
1034
|
+
initial-value: 0.72;
|
|
1035
|
+
}
|
|
1036
|
+
@property --ty-l-faint {
|
|
1037
|
+
syntax: "<number>";
|
|
1038
|
+
inherits: true;
|
|
1039
|
+
initial-value: 0.88;
|
|
1040
|
+
}
|
|
1041
|
+
@property --ty-l-bg-base {
|
|
1042
|
+
syntax: "<number>";
|
|
1043
|
+
inherits: true;
|
|
1044
|
+
initial-value: 0.96;
|
|
1045
|
+
}
|
|
1046
|
+
@property --ty-l-bg-bold {
|
|
1047
|
+
syntax: "<number>";
|
|
1048
|
+
inherits: true;
|
|
1049
|
+
initial-value: 0.92;
|
|
1050
|
+
}
|
|
1051
|
+
@property --ty-l-bg-soft {
|
|
1052
|
+
syntax: "<number>";
|
|
1053
|
+
inherits: true;
|
|
1054
|
+
initial-value: 0.98;
|
|
1055
|
+
}
|
|
1056
|
+
@property --ty-l-text-strong {
|
|
1057
|
+
syntax: "<number>";
|
|
1058
|
+
inherits: true;
|
|
1059
|
+
initial-value: 0;
|
|
1060
|
+
}
|
|
1061
|
+
@property --ty-l-text-bold {
|
|
1062
|
+
syntax: "<number>";
|
|
1063
|
+
inherits: true;
|
|
1064
|
+
initial-value: 0;
|
|
1065
|
+
}
|
|
1066
|
+
@property --ty-l-text-base {
|
|
1067
|
+
syntax: "<number>";
|
|
1068
|
+
inherits: true;
|
|
1069
|
+
initial-value: 0.21;
|
|
1070
|
+
}
|
|
1071
|
+
@property --ty-l-text-soft {
|
|
1072
|
+
syntax: "<number>";
|
|
1073
|
+
inherits: true;
|
|
1074
|
+
initial-value: 0.37;
|
|
1075
|
+
}
|
|
1076
|
+
@property --ty-l-text-faint {
|
|
1077
|
+
syntax: "<number>";
|
|
1078
|
+
inherits: true;
|
|
1079
|
+
initial-value: 0.71;
|
|
1080
|
+
}
|
|
1081
|
+
@property --ty-l-border-content {
|
|
1082
|
+
syntax: "<number>";
|
|
1083
|
+
inherits: true;
|
|
1084
|
+
initial-value: 0.93;
|
|
1085
|
+
}
|
|
1086
|
+
@property --ty-l-border-elevated {
|
|
1087
|
+
syntax: "<number>";
|
|
1088
|
+
inherits: true;
|
|
1089
|
+
initial-value: 0.93;
|
|
1090
|
+
}
|
|
1091
|
+
@property --ty-l-border-floating {
|
|
1092
|
+
syntax: "<number>";
|
|
1093
|
+
inherits: true;
|
|
1094
|
+
initial-value: 0.93;
|
|
1095
|
+
}
|
|
1096
|
+
@property --ty-l-border-strong {
|
|
1097
|
+
syntax: "<number>";
|
|
1098
|
+
inherits: true;
|
|
1099
|
+
initial-value: 0.46;
|
|
1100
|
+
}
|
|
1101
|
+
@property --ty-l-border-bold {
|
|
1102
|
+
syntax: "<number>";
|
|
1103
|
+
inherits: true;
|
|
1104
|
+
initial-value: 0.64;
|
|
1105
|
+
}
|
|
1106
|
+
@property --ty-l-border {
|
|
1107
|
+
syntax: "<number>";
|
|
1108
|
+
inherits: true;
|
|
1109
|
+
initial-value: 0.76;
|
|
1110
|
+
}
|
|
1111
|
+
@property --ty-l-border-soft {
|
|
1112
|
+
syntax: "<number>";
|
|
1113
|
+
inherits: true;
|
|
1114
|
+
initial-value: 0.88;
|
|
1115
|
+
}
|
|
1116
|
+
@property --ty-l-border-faint {
|
|
1117
|
+
syntax: "<number>";
|
|
1118
|
+
inherits: true;
|
|
1119
|
+
initial-value: 0.92;
|
|
1120
|
+
}
|
|
1121
|
+
@property --ty-l-surface-canvas {
|
|
1122
|
+
syntax: "<number>";
|
|
1123
|
+
inherits: true;
|
|
1124
|
+
initial-value: 0.985;
|
|
1125
|
+
}
|
|
1126
|
+
@property --ty-l-surface-content {
|
|
1127
|
+
syntax: "<number>";
|
|
1128
|
+
inherits: true;
|
|
1129
|
+
initial-value: 1;
|
|
1130
|
+
}
|
|
1131
|
+
@property --ty-l-surface-elevated {
|
|
1132
|
+
syntax: "<number>";
|
|
1133
|
+
inherits: true;
|
|
1134
|
+
initial-value: 1;
|
|
1135
|
+
}
|
|
1136
|
+
@property --ty-l-surface-floating {
|
|
1137
|
+
syntax: "<number>";
|
|
1138
|
+
inherits: true;
|
|
1139
|
+
initial-value: 1;
|
|
1140
|
+
}
|
|
1141
|
+
@property --ty-l-surface-input {
|
|
1142
|
+
syntax: "<number>";
|
|
1143
|
+
inherits: true;
|
|
1144
|
+
initial-value: 1;
|
|
1145
|
+
}
|
|
1146
|
+
@property --ty-l-solid-neutral {
|
|
1147
|
+
syntax: "<number>";
|
|
1148
|
+
inherits: true;
|
|
1149
|
+
initial-value: 0.4;
|
|
1150
|
+
}
|
|
1151
|
+
@property --ty-l-bg-neutral-strong {
|
|
1152
|
+
syntax: "<number>";
|
|
1153
|
+
inherits: true;
|
|
1154
|
+
initial-value: 0.25;
|
|
1155
|
+
}
|
|
1156
|
+
@property --ty-l-bg-neutral-faint {
|
|
1157
|
+
syntax: "<number>";
|
|
1158
|
+
inherits: true;
|
|
1159
|
+
initial-value: 0.99;
|
|
1160
|
+
}
|
|
1161
|
+
@property --ty-c-bg-neutral-faint-mult {
|
|
1162
|
+
syntax: "<number>";
|
|
1163
|
+
inherits: true;
|
|
1164
|
+
initial-value: 0.4;
|
|
1165
|
+
}
|
|
1166
|
+
@property --ty-c-strong-mult {
|
|
1167
|
+
syntax: "<number>";
|
|
1168
|
+
inherits: true;
|
|
1169
|
+
initial-value: 0.77;
|
|
1170
|
+
}
|
|
1171
|
+
@property --ty-c-bold-mult {
|
|
1172
|
+
syntax: "<number>";
|
|
1173
|
+
inherits: true;
|
|
1174
|
+
initial-value: 1;
|
|
1175
|
+
}
|
|
1176
|
+
@property --ty-c-base-mult {
|
|
1177
|
+
syntax: "<number>";
|
|
1178
|
+
inherits: true;
|
|
1179
|
+
initial-value: 0.92;
|
|
1180
|
+
}
|
|
1181
|
+
@property --ty-c-soft-mult {
|
|
1182
|
+
syntax: "<number>";
|
|
1183
|
+
inherits: true;
|
|
1184
|
+
initial-value: 0.77;
|
|
1185
|
+
}
|
|
1186
|
+
@property --ty-c-faint-mult {
|
|
1187
|
+
syntax: "<number>";
|
|
1188
|
+
inherits: true;
|
|
1189
|
+
initial-value: 0.46;
|
|
1190
|
+
}
|
|
1191
|
+
@property --ty-c-bg-base-mult {
|
|
1192
|
+
syntax: "<number>";
|
|
1193
|
+
inherits: true;
|
|
1194
|
+
initial-value: 0.15;
|
|
1195
|
+
}
|
|
1196
|
+
@property --ty-c-bg-bold-mult {
|
|
1197
|
+
syntax: "<number>";
|
|
1198
|
+
inherits: true;
|
|
1199
|
+
initial-value: 0.38;
|
|
1200
|
+
}
|
|
1201
|
+
@property --ty-c-bg-soft-mult {
|
|
1202
|
+
syntax: "<number>";
|
|
1203
|
+
inherits: true;
|
|
1204
|
+
initial-value: 0.08;
|
|
1205
|
+
}
|
|
1206
|
+
@property --ty-primary-l-factor {
|
|
1207
|
+
syntax: "<number>";
|
|
1208
|
+
inherits: true;
|
|
1209
|
+
initial-value: 1;
|
|
1210
|
+
}
|
|
1211
|
+
@property --ty-success-l-factor {
|
|
1212
|
+
syntax: "<number>";
|
|
1213
|
+
inherits: true;
|
|
1214
|
+
initial-value: 1;
|
|
1215
|
+
}
|
|
1216
|
+
@property --ty-warning-l-factor {
|
|
1217
|
+
syntax: "<number>";
|
|
1218
|
+
inherits: true;
|
|
1219
|
+
initial-value: 1.15;
|
|
1220
|
+
}
|
|
1221
|
+
@property --ty-danger-l-factor {
|
|
1222
|
+
syntax: "<number>";
|
|
1223
|
+
inherits: true;
|
|
1224
|
+
initial-value: 1;
|
|
1225
|
+
}
|
|
1226
|
+
@property --ty-neutral-l-factor {
|
|
1227
|
+
syntax: "<number>";
|
|
1228
|
+
inherits: true;
|
|
1229
|
+
initial-value: 1;
|
|
1230
|
+
}
|
|
1231
|
+
@property --ty-solid-hover-l {
|
|
1232
|
+
syntax: "<number>";
|
|
1233
|
+
inherits: true;
|
|
1234
|
+
initial-value: -0.04;
|
|
1235
|
+
}
|
|
1236
|
+
@property --ty-solid-active-l {
|
|
1237
|
+
syntax: "<number>";
|
|
1238
|
+
inherits: true;
|
|
1239
|
+
initial-value: -0.08;
|
|
1240
|
+
}
|
|
1241
|
+
@property --ty-solid-strong-l {
|
|
1242
|
+
syntax: "<number>";
|
|
1243
|
+
inherits: true;
|
|
1244
|
+
initial-value: -0.06;
|
|
1245
|
+
}
|
|
1246
|
+
@property --ty-solid-soft-l {
|
|
1247
|
+
syntax: "<number>";
|
|
1248
|
+
inherits: true;
|
|
1249
|
+
initial-value: 0.1;
|
|
1250
|
+
}
|
|
1251
|
+
@property --ty-solid-l {
|
|
1252
|
+
syntax: "<number>";
|
|
1253
|
+
inherits: true;
|
|
1254
|
+
initial-value: 0;
|
|
1255
|
+
}
|
|
1256
|
+
@property --ty-solid-c {
|
|
1257
|
+
syntax: "<number>";
|
|
1258
|
+
inherits: true;
|
|
1259
|
+
initial-value: 1;
|
|
1260
|
+
}
|
|
1261
|
+
@property --ty-solid-h {
|
|
1262
|
+
syntax: "<number>";
|
|
1263
|
+
inherits: true;
|
|
1264
|
+
initial-value: 0;
|
|
1265
|
+
}
|
|
1266
|
+
@property --ty-solid-fg-threshold {
|
|
1267
|
+
syntax: "<number>";
|
|
1268
|
+
inherits: true;
|
|
1269
|
+
initial-value: 0.62;
|
|
1270
|
+
}
|
|
1271
|
+
@property --ty-focus-ring-alpha {
|
|
1272
|
+
syntax: "<percentage>";
|
|
1273
|
+
inherits: true;
|
|
1274
|
+
initial-value: 5%;
|
|
1275
|
+
}
|
|
953
1276
|
|
|
954
|
-
|
|
955
|
-
|
|
956
|
-
|
|
957
|
-
|
|
958
|
-
|
|
959
|
-
|
|
1277
|
+
@property --ty-primary-seed-resolved {
|
|
1278
|
+
syntax: "<color>";
|
|
1279
|
+
inherits: true;
|
|
1280
|
+
initial-value: #808080;
|
|
1281
|
+
}
|
|
1282
|
+
@property --ty-success-seed-resolved {
|
|
1283
|
+
syntax: "<color>";
|
|
1284
|
+
inherits: true;
|
|
1285
|
+
initial-value: #808080;
|
|
1286
|
+
}
|
|
1287
|
+
@property --ty-warning-seed-resolved {
|
|
1288
|
+
syntax: "<color>";
|
|
1289
|
+
inherits: true;
|
|
1290
|
+
initial-value: #808080;
|
|
1291
|
+
}
|
|
1292
|
+
@property --ty-danger-seed-resolved {
|
|
1293
|
+
syntax: "<color>";
|
|
1294
|
+
inherits: true;
|
|
1295
|
+
initial-value: #808080;
|
|
1296
|
+
}
|
|
1297
|
+
@property --ty-neutral-seed-resolved {
|
|
1298
|
+
syntax: "<color>";
|
|
1299
|
+
inherits: true;
|
|
1300
|
+
initial-value: #808080;
|
|
1301
|
+
}
|
|
960
1302
|
|
|
961
|
-
|
|
1303
|
+
@media (prefers-reduced-motion: no-preference) {
|
|
1304
|
+
html,
|
|
1305
|
+
[data-ty-theme] {
|
|
1306
|
+
transition-property:
|
|
1307
|
+
--ty-brand-hue,
|
|
1308
|
+
--ty-brand-chroma,
|
|
1309
|
+
--ty-surface-chroma,
|
|
1310
|
+
--ty-success-hue,
|
|
1311
|
+
--ty-success-chroma,
|
|
1312
|
+
--ty-warning-hue,
|
|
1313
|
+
--ty-warning-chroma,
|
|
1314
|
+
--ty-danger-hue,
|
|
1315
|
+
--ty-danger-chroma,
|
|
1316
|
+
--ty-neutral-hue,
|
|
1317
|
+
--ty-neutral-chroma,
|
|
1318
|
+
--ty-l-strong,
|
|
1319
|
+
--ty-l-bold,
|
|
1320
|
+
--ty-l-base,
|
|
1321
|
+
--ty-l-soft,
|
|
1322
|
+
--ty-l-faint,
|
|
1323
|
+
--ty-l-bg-base,
|
|
1324
|
+
--ty-l-bg-bold,
|
|
1325
|
+
--ty-l-bg-soft,
|
|
1326
|
+
--ty-l-text-strong,
|
|
1327
|
+
--ty-l-text-bold,
|
|
1328
|
+
--ty-l-text-base,
|
|
1329
|
+
--ty-l-text-soft,
|
|
1330
|
+
--ty-l-text-faint,
|
|
1331
|
+
--ty-l-border-content,
|
|
1332
|
+
--ty-l-border-elevated,
|
|
1333
|
+
--ty-l-border-floating,
|
|
1334
|
+
--ty-l-border-strong,
|
|
1335
|
+
--ty-l-border-bold,
|
|
1336
|
+
--ty-l-border,
|
|
1337
|
+
--ty-l-border-soft,
|
|
1338
|
+
--ty-l-border-faint,
|
|
1339
|
+
--ty-l-surface-canvas,
|
|
1340
|
+
--ty-l-surface-content,
|
|
1341
|
+
--ty-l-surface-elevated,
|
|
1342
|
+
--ty-l-surface-floating,
|
|
1343
|
+
--ty-l-surface-input,
|
|
1344
|
+
--ty-l-solid-neutral,
|
|
1345
|
+
--ty-l-bg-neutral-strong,
|
|
1346
|
+
--ty-l-bg-neutral-faint,
|
|
1347
|
+
--ty-c-bg-neutral-faint-mult,
|
|
1348
|
+
--ty-c-strong-mult,
|
|
1349
|
+
--ty-c-bold-mult,
|
|
1350
|
+
--ty-c-base-mult,
|
|
1351
|
+
--ty-c-soft-mult,
|
|
1352
|
+
--ty-c-faint-mult,
|
|
1353
|
+
--ty-c-bg-base-mult,
|
|
1354
|
+
--ty-c-bg-bold-mult,
|
|
1355
|
+
--ty-c-bg-soft-mult,
|
|
1356
|
+
--ty-primary-l-factor,
|
|
1357
|
+
--ty-success-l-factor,
|
|
1358
|
+
--ty-warning-l-factor,
|
|
1359
|
+
--ty-danger-l-factor,
|
|
1360
|
+
--ty-neutral-l-factor,
|
|
1361
|
+
--ty-solid-hover-l,
|
|
1362
|
+
--ty-solid-active-l,
|
|
1363
|
+
--ty-solid-strong-l,
|
|
1364
|
+
--ty-solid-soft-l,
|
|
1365
|
+
--ty-solid-l,
|
|
1366
|
+
--ty-solid-c,
|
|
1367
|
+
--ty-solid-h,
|
|
1368
|
+
--ty-solid-fg-threshold,
|
|
1369
|
+
--ty-focus-ring-alpha;
|
|
1370
|
+
transition-duration: var(--ty-theme-transition, 0.45s);
|
|
1371
|
+
transition-timing-function: ease;
|
|
1372
|
+
}
|
|
962
1373
|
}
|