tyrell-components 1.0.0-TC29 → 1.0.0-TC31
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.css +48 -12
- package/dist/tyrell.css +48 -12
- package/dist/tyrell.js +1 -1
- package/lib/components/calendar-month.d.ts +17 -0
- package/lib/components/calendar-month.d.ts.map +1 -1
- package/lib/components/calendar-month.js +121 -7
- package/lib/components/calendar-month.js.map +1 -1
- package/lib/components/calendar.d.ts +3 -1
- package/lib/components/calendar.d.ts.map +1 -1
- package/lib/components/calendar.js +19 -9
- package/lib/components/calendar.js.map +1 -1
- package/lib/components/checkbox.d.ts +4 -3
- package/lib/components/checkbox.d.ts.map +1 -1
- package/lib/components/checkbox.js +23 -35
- package/lib/components/checkbox.js.map +1 -1
- package/lib/components/copy.d.ts +4 -3
- package/lib/components/copy.d.ts.map +1 -1
- package/lib/components/copy.js +22 -21
- package/lib/components/copy.js.map +1 -1
- package/lib/components/date-picker.d.ts +5 -1
- package/lib/components/date-picker.d.ts.map +1 -1
- package/lib/components/date-picker.js +113 -32
- package/lib/components/date-picker.js.map +1 -1
- package/lib/components/input.d.ts +3 -2
- package/lib/components/input.d.ts.map +1 -1
- package/lib/components/input.js +24 -21
- package/lib/components/input.js.map +1 -1
- package/lib/components/modal.d.ts.map +1 -1
- package/lib/components/modal.js +22 -3
- package/lib/components/modal.js.map +1 -1
- package/lib/components/popup.d.ts.map +1 -1
- package/lib/components/popup.js +14 -0
- package/lib/components/popup.js.map +1 -1
- package/lib/components/radio.d.ts +5 -2
- package/lib/components/radio.d.ts.map +1 -1
- package/lib/components/radio.js +16 -5
- package/lib/components/radio.js.map +1 -1
- package/lib/components/select.d.ts +75 -5
- package/lib/components/select.d.ts.map +1 -1
- package/lib/components/select.js +282 -47
- package/lib/components/select.js.map +1 -1
- package/lib/components/selected-tags.d.ts +1 -1
- package/lib/components/selected-tags.js +1 -1
- package/lib/components/switch.d.ts +4 -3
- package/lib/components/switch.d.ts.map +1 -1
- package/lib/components/switch.js +17 -29
- package/lib/components/switch.js.map +1 -1
- package/lib/components/tabs.d.ts.map +1 -1
- package/lib/components/tabs.js +18 -2
- package/lib/components/tabs.js.map +1 -1
- package/lib/components/tooltip.d.ts +4 -2
- package/lib/components/tooltip.d.ts.map +1 -1
- package/lib/components/tooltip.js +109 -70
- package/lib/components/tooltip.js.map +1 -1
- package/lib/components/wizard.d.ts.map +1 -1
- package/lib/components/wizard.js +22 -3
- package/lib/components/wizard.js.map +1 -1
- package/lib/styles/button.d.ts.map +1 -1
- package/lib/styles/button.js +10 -6
- package/lib/styles/button.js.map +1 -1
- package/lib/styles/calendar-month.d.ts +3 -1
- package/lib/styles/calendar-month.d.ts.map +1 -1
- package/lib/styles/calendar-month.js +63 -8
- package/lib/styles/calendar-month.js.map +1 -1
- package/lib/styles/checkbox.d.ts +3 -1
- package/lib/styles/checkbox.d.ts.map +1 -1
- package/lib/styles/checkbox.js +31 -53
- package/lib/styles/checkbox.js.map +1 -1
- package/lib/styles/copy.d.ts +3 -1
- package/lib/styles/copy.d.ts.map +1 -1
- package/lib/styles/copy.js +27 -4
- package/lib/styles/copy.js.map +1 -1
- package/lib/styles/date-picker.d.ts +3 -1
- package/lib/styles/date-picker.d.ts.map +1 -1
- package/lib/styles/date-picker.js +51 -98
- package/lib/styles/date-picker.js.map +1 -1
- package/lib/styles/input.d.ts +3 -1
- package/lib/styles/input.d.ts.map +1 -1
- package/lib/styles/input.js +58 -119
- package/lib/styles/input.js.map +1 -1
- package/lib/styles/multiselect.d.ts +3 -1
- package/lib/styles/multiselect.d.ts.map +1 -1
- package/lib/styles/multiselect.js +26 -2
- package/lib/styles/multiselect.js.map +1 -1
- package/lib/styles/radio.d.ts +3 -1
- package/lib/styles/radio.d.ts.map +1 -1
- package/lib/styles/radio.js +23 -20
- package/lib/styles/radio.js.map +1 -1
- package/lib/styles/select-base.d.ts +9 -0
- package/lib/styles/select-base.d.ts.map +1 -0
- package/lib/styles/select-base.js +908 -0
- package/lib/styles/select-base.js.map +1 -0
- package/lib/styles/select.d.ts +3 -3
- package/lib/styles/select.d.ts.map +1 -1
- package/lib/styles/select.js +20 -18
- package/lib/styles/select.js.map +1 -1
- package/lib/styles/switch.d.ts +3 -1
- package/lib/styles/switch.d.ts.map +1 -1
- package/lib/styles/switch.js +23 -8
- package/lib/styles/switch.js.map +1 -1
- package/lib/styles/tooltip.d.ts +4 -2
- package/lib/styles/tooltip.d.ts.map +1 -1
- package/lib/styles/tooltip.js +4 -119
- package/lib/styles/tooltip.js.map +1 -1
- package/lib/utils/icons.d.ts +10 -0
- package/lib/utils/icons.d.ts.map +1 -0
- package/lib/utils/icons.js +10 -0
- package/lib/utils/icons.js.map +1 -0
- package/lib/utils/loader-registry.d.ts +2 -2
- package/lib/utils/loader-registry.js +2 -2
- package/lib/utils/positioning.d.ts +27 -0
- package/lib/utils/positioning.d.ts.map +1 -1
- package/lib/utils/positioning.js +20 -3
- package/lib/utils/positioning.js.map +1 -1
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/package.json +1 -1
package/css/tyrell.css
CHANGED
|
@@ -344,10 +344,12 @@ COMPONENT TOKENS
|
|
|
344
344
|
--ty-input-disabled-color: #9ca3af;
|
|
345
345
|
--ty-label-color: #374151;
|
|
346
346
|
|
|
347
|
-
/* Input semantic states
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
--ty-input-
|
|
347
|
+
/* Input semantic states — RESTING border for a flavored field. Soft on
|
|
348
|
+
purpose: the full-strength color is reserved for hover/focus, so the
|
|
349
|
+
emphasis ladder (rest → hover → focus+ring) reads like neutral's. */
|
|
350
|
+
--ty-input-success-border: var(--ty-color-success-soft);
|
|
351
|
+
--ty-input-danger-border: var(--ty-color-danger-soft);
|
|
352
|
+
--ty-input-warning-border: var(--ty-color-warning-soft);
|
|
351
353
|
|
|
352
354
|
/* =================================================================
|
|
353
355
|
SOLID BUTTON FILLS — plain default values (the contract). The smart
|
|
@@ -519,17 +521,19 @@ DESIGN SYSTEM TOKENS
|
|
|
519
521
|
--ty-transition-shadow: box-shadow 150ms cubic-bezier(0.4, 0, 0.2, 1);
|
|
520
522
|
--ty-transition-transform: transform 150ms cubic-bezier(0.4, 0, 0.2, 1);
|
|
521
523
|
|
|
522
|
-
/* Component Sizes
|
|
523
|
-
|
|
524
|
-
|
|
524
|
+
/* Component Sizes — single source of truth for FIELD heights.
|
|
525
|
+
Fields (ty-input, ty-select, ty-date-picker) come in exactly three
|
|
526
|
+
sizes and consume these via min-height: var(--ty-size-*), so the same
|
|
527
|
+
`size` attribute is the same height on every field. Shared scale with
|
|
528
|
+
ty-button's 4px ladder (see button.ts): field sm = button md (32px),
|
|
529
|
+
field md = button lg (36px), field lg = button xl (40px) — a button
|
|
530
|
+
and a field of the paired size sit flush, same height, in a row. */
|
|
525
531
|
--ty-size-sm: 2rem;
|
|
526
532
|
/* 32px */
|
|
527
|
-
--ty-size-md: 2.
|
|
533
|
+
--ty-size-md: 2.25rem;
|
|
534
|
+
/* 36px */
|
|
535
|
+
--ty-size-lg: 2.5rem;
|
|
528
536
|
/* 40px */
|
|
529
|
-
--ty-size-lg: 3rem;
|
|
530
|
-
/* 48px */
|
|
531
|
-
--ty-size-xl: 3.5rem;
|
|
532
|
-
/* 56px */
|
|
533
537
|
|
|
534
538
|
/* Z-Index Scale */
|
|
535
539
|
--ty-z-auto: auto;
|
|
@@ -564,6 +568,34 @@ DESIGN SYSTEM TOKENS
|
|
|
564
568
|
transparent
|
|
565
569
|
);
|
|
566
570
|
--ty-scroll-shadow-transition: opacity 0.2s ease-out;
|
|
571
|
+
|
|
572
|
+
/* =================================================================
|
|
573
|
+
TOOLTIP (default/"dark" flavor)
|
|
574
|
+
Deliberately theme-INDEPENDENT — defined once here, not redeclared in
|
|
575
|
+
html.dark below. A tooltip's job is to pop against whatever it's sitting
|
|
576
|
+
on, light page or dark; every major library (Material, Bootstrap, Ant,
|
|
577
|
+
Shoelace) keeps its default tooltip a fixed dark chip regardless of page
|
|
578
|
+
theme. Override on :root (or scope to a container) to retheme globally
|
|
579
|
+
without touching flavor="light"/"info"/other components.
|
|
580
|
+
Values are pure achromatic gray (R=G=B, no hue) — matches
|
|
581
|
+
--ty-solid-neutral's "no tint" convention. Don't reuse a Tailwind
|
|
582
|
+
slate/cool-gray hex here (e.g. #1f2937) — those carry a real blue
|
|
583
|
+
undertone (blue channel > red/green) and read as a color flavor next to
|
|
584
|
+
genuinely neutral buttons, which was exactly the bug being fixed.
|
|
585
|
+
================================================================= */
|
|
586
|
+
--ty-tooltip-bg: #262626;
|
|
587
|
+
--ty-tooltip-color: #f5f5f5;
|
|
588
|
+
--ty-tooltip-border: #404040;
|
|
589
|
+
|
|
590
|
+
/* =================================================================
|
|
591
|
+
CALENDAR — "other month" day de-emphasis
|
|
592
|
+
--ty-color-neutral-faint alone is only ~2.5:1 against white — already
|
|
593
|
+
below the 4.5:1 WCAG AA text minimum before the (now-removed) opacity
|
|
594
|
+
fade made it worse still. This is its own token, calibrated to actually
|
|
595
|
+
pass, rather than reusing -faint here. Real bug, caught by adding
|
|
596
|
+
axe-core coverage for the first time, not a design choice being revised.
|
|
597
|
+
================================================================= */
|
|
598
|
+
--ty-calendar-other-month-color: #6b7280; /* 4.83:1 vs white */
|
|
567
599
|
}
|
|
568
600
|
|
|
569
601
|
/* =================================================================
|
|
@@ -777,6 +809,10 @@ Emphasis logic inverts: lighter = more emphasis
|
|
|
777
809
|
rgba(0, 0, 0, 0),
|
|
778
810
|
transparent
|
|
779
811
|
);
|
|
812
|
+
|
|
813
|
+
/* Calendar "other month" de-emphasis — see the :root definition for why
|
|
814
|
+
this is its own token instead of --ty-color-neutral-faint. */
|
|
815
|
+
--ty-calendar-other-month-color: #8a8a8a; /* 5.04:1 vs dark content bg (#1a1a1a) */
|
|
780
816
|
}
|
|
781
817
|
|
|
782
818
|
/* =================================================================
|
package/dist/tyrell.css
CHANGED
|
@@ -344,10 +344,12 @@ COMPONENT TOKENS
|
|
|
344
344
|
--ty-input-disabled-color: #9ca3af;
|
|
345
345
|
--ty-label-color: #374151;
|
|
346
346
|
|
|
347
|
-
/* Input semantic states
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
--ty-input-
|
|
347
|
+
/* Input semantic states — RESTING border for a flavored field. Soft on
|
|
348
|
+
purpose: the full-strength color is reserved for hover/focus, so the
|
|
349
|
+
emphasis ladder (rest → hover → focus+ring) reads like neutral's. */
|
|
350
|
+
--ty-input-success-border: var(--ty-color-success-soft);
|
|
351
|
+
--ty-input-danger-border: var(--ty-color-danger-soft);
|
|
352
|
+
--ty-input-warning-border: var(--ty-color-warning-soft);
|
|
351
353
|
|
|
352
354
|
/* =================================================================
|
|
353
355
|
SOLID BUTTON FILLS — plain default values (the contract). The smart
|
|
@@ -519,17 +521,19 @@ DESIGN SYSTEM TOKENS
|
|
|
519
521
|
--ty-transition-shadow: box-shadow 150ms cubic-bezier(0.4, 0, 0.2, 1);
|
|
520
522
|
--ty-transition-transform: transform 150ms cubic-bezier(0.4, 0, 0.2, 1);
|
|
521
523
|
|
|
522
|
-
/* Component Sizes
|
|
523
|
-
|
|
524
|
-
|
|
524
|
+
/* Component Sizes — single source of truth for FIELD heights.
|
|
525
|
+
Fields (ty-input, ty-select, ty-date-picker) come in exactly three
|
|
526
|
+
sizes and consume these via min-height: var(--ty-size-*), so the same
|
|
527
|
+
`size` attribute is the same height on every field. Shared scale with
|
|
528
|
+
ty-button's 4px ladder (see button.ts): field sm = button md (32px),
|
|
529
|
+
field md = button lg (36px), field lg = button xl (40px) — a button
|
|
530
|
+
and a field of the paired size sit flush, same height, in a row. */
|
|
525
531
|
--ty-size-sm: 2rem;
|
|
526
532
|
/* 32px */
|
|
527
|
-
--ty-size-md: 2.
|
|
533
|
+
--ty-size-md: 2.25rem;
|
|
534
|
+
/* 36px */
|
|
535
|
+
--ty-size-lg: 2.5rem;
|
|
528
536
|
/* 40px */
|
|
529
|
-
--ty-size-lg: 3rem;
|
|
530
|
-
/* 48px */
|
|
531
|
-
--ty-size-xl: 3.5rem;
|
|
532
|
-
/* 56px */
|
|
533
537
|
|
|
534
538
|
/* Z-Index Scale */
|
|
535
539
|
--ty-z-auto: auto;
|
|
@@ -564,6 +568,34 @@ DESIGN SYSTEM TOKENS
|
|
|
564
568
|
transparent
|
|
565
569
|
);
|
|
566
570
|
--ty-scroll-shadow-transition: opacity 0.2s ease-out;
|
|
571
|
+
|
|
572
|
+
/* =================================================================
|
|
573
|
+
TOOLTIP (default/"dark" flavor)
|
|
574
|
+
Deliberately theme-INDEPENDENT — defined once here, not redeclared in
|
|
575
|
+
html.dark below. A tooltip's job is to pop against whatever it's sitting
|
|
576
|
+
on, light page or dark; every major library (Material, Bootstrap, Ant,
|
|
577
|
+
Shoelace) keeps its default tooltip a fixed dark chip regardless of page
|
|
578
|
+
theme. Override on :root (or scope to a container) to retheme globally
|
|
579
|
+
without touching flavor="light"/"info"/other components.
|
|
580
|
+
Values are pure achromatic gray (R=G=B, no hue) — matches
|
|
581
|
+
--ty-solid-neutral's "no tint" convention. Don't reuse a Tailwind
|
|
582
|
+
slate/cool-gray hex here (e.g. #1f2937) — those carry a real blue
|
|
583
|
+
undertone (blue channel > red/green) and read as a color flavor next to
|
|
584
|
+
genuinely neutral buttons, which was exactly the bug being fixed.
|
|
585
|
+
================================================================= */
|
|
586
|
+
--ty-tooltip-bg: #262626;
|
|
587
|
+
--ty-tooltip-color: #f5f5f5;
|
|
588
|
+
--ty-tooltip-border: #404040;
|
|
589
|
+
|
|
590
|
+
/* =================================================================
|
|
591
|
+
CALENDAR — "other month" day de-emphasis
|
|
592
|
+
--ty-color-neutral-faint alone is only ~2.5:1 against white — already
|
|
593
|
+
below the 4.5:1 WCAG AA text minimum before the (now-removed) opacity
|
|
594
|
+
fade made it worse still. This is its own token, calibrated to actually
|
|
595
|
+
pass, rather than reusing -faint here. Real bug, caught by adding
|
|
596
|
+
axe-core coverage for the first time, not a design choice being revised.
|
|
597
|
+
================================================================= */
|
|
598
|
+
--ty-calendar-other-month-color: #6b7280; /* 4.83:1 vs white */
|
|
567
599
|
}
|
|
568
600
|
|
|
569
601
|
/* =================================================================
|
|
@@ -777,6 +809,10 @@ Emphasis logic inverts: lighter = more emphasis
|
|
|
777
809
|
rgba(0, 0, 0, 0),
|
|
778
810
|
transparent
|
|
779
811
|
);
|
|
812
|
+
|
|
813
|
+
/* Calendar "other month" de-emphasis — see the :root definition for why
|
|
814
|
+
this is its own token instead of --ty-color-neutral-faint. */
|
|
815
|
+
--ty-calendar-other-month-color: #8a8a8a; /* 5.04:1 vs dark content bg (#1a1a1a) */
|
|
780
816
|
}
|
|
781
817
|
|
|
782
818
|
/* =================================================================
|