tyrell-components 1.0.0-TC41 → 1.0.0-TC42

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/dist/tyrell.css CHANGED
@@ -499,6 +499,39 @@ DESIGN SYSTEM TOKENS
499
499
  --ty-font-bold: 680;
500
500
  --ty-font-extrabold: 800;
501
501
 
502
+ /* Semantic weight dials — MODE-FLIPPED (see the html.dark block).
503
+ Light text on dark surfaces optically blooms (halation), so dark mode
504
+ wants genuinely lighter weights than light mode; a single fixed weight
505
+ can't be right in both. Components consume these instead of the raw
506
+ scale above:
507
+ --ty-weight-action buttons, interactive chrome
508
+ --ty-weight-label tags, chips, badges
509
+ Theme these like any other token — per :root, html.dark, a named theme
510
+ pack, or one element. The theme layer registers them as typed numbers,
511
+ so with a variable font, weight crossfades during theme transitions
512
+ along with the colors. */
513
+ --ty-weight-action: var(--ty-font-medium);
514
+ --ty-weight-label: 440;
515
+
516
+ /* Solid-button depth chrome (consumed in button.ts):
517
+ --ty-button-depth master intensity 0–1. 0 = pixel-flat (the old
518
+ look), 1 = full tactile gloss. Scales the
519
+ derived border offset, top sheen and drop
520
+ shadow together. Themable per mode / theme
521
+ pack / element like any other dial.
522
+ --ty-button-border-l L-offset of the fill-derived 1px border,
523
+ mode-flipped below: dark mode needs a LIGHTER-
524
+ than-fill hairline (solids wash out against
525
+ dark surfaces without a lit edge), light mode
526
+ a slightly darker one. */
527
+ --ty-button-depth: 0.35;
528
+ --ty-button-border-l: -0.08;
529
+ /* Neutral (ink) gets its own, stronger edge: it has no hue separating it
530
+ from the canvas, so the same offset that reads fine on colored fills
531
+ nearly vanishes on it — especially in dark mode, where the ink fill
532
+ sits close to the page. */
533
+ --ty-button-border-l-neutral: -0.25;
534
+
502
535
  --ty-line-height-none: 1;
503
536
  --ty-line-height-tight: 1.25;
504
537
  --ty-line-height-snug: 1.375;
@@ -608,6 +641,21 @@ html[data-theme="dark"] {
608
641
  Emphasis logic inverts: lighter = more emphasis
609
642
  ================================================================= */
610
643
 
644
+ /* Weight dials flip with the mode — light-on-dark text blooms, so dark
645
+ mode runs genuinely lighter. See the :root definitions. */
646
+ --ty-weight-action: var(--ty-font-normal);
647
+ --ty-weight-label: var(--ty-font-normal);
648
+
649
+ /* Colored solid buttons: no border in dark mode — border color equals
650
+ the fill exactly, so it's geometrically present (depth 0 keeps
651
+ geometry stable) but invisible. Neutral keeps its own separate,
652
+ stronger dial (below) since its dark ink fill needs the lit edge to
653
+ read as a shape at all against a near-black canvas; colored fills
654
+ don't have that problem (their own hue/saturation already separates
655
+ them from the page), so no border reads as cleaner. */
656
+ --ty-button-border-l: 0;
657
+ --ty-button-border-l-neutral: 0.5;
658
+
611
659
  /* Primary */
612
660
  --ty-color-primary-strong: #9cbde5;
613
661
  --ty-color-primary-bold: #6c9bd5;
@@ -763,12 +811,17 @@ Emphasis logic inverts: lighter = more emphasis
763
811
  --ty-solid-warning-soft-fg: white;
764
812
 
765
813
  --ty-solid-neutral: #414141;
766
- --ty-solid-neutral-strong: #4c4c4c;
814
+ /* neutral+ = inverted ink (white button, black text) — the dark-mode
815
+ mirror of light's #000. Max-emphasis monochrome CTA (Geist-style).
816
+ hover/active are pinned to the OLD strong literal, not the alias:
817
+ aliasing var(--ty-solid-neutral-strong) would flash the BASE button
818
+ white on hover. */
819
+ --ty-solid-neutral-strong: #f5f5f5;
767
820
  --ty-solid-neutral-soft: #2a2a2a;
768
- --ty-solid-neutral-hover: var(--ty-solid-neutral-strong);
769
- --ty-solid-neutral-active: var(--ty-solid-neutral-strong);
821
+ --ty-solid-neutral-hover: #4c4c4c;
822
+ --ty-solid-neutral-active: #4c4c4c;
770
823
  --ty-solid-neutral-fg: white;
771
- --ty-solid-neutral-strong-fg: white;
824
+ --ty-solid-neutral-strong-fg: black;
772
825
  --ty-solid-neutral-soft-fg: white;
773
826
 
774
827
  /* Input component tokens - dark mode */