tyrell-components 1.0.0-TC45 → 1.0.0-TC47
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/README.md +1 -1
- package/css/tyrell-theme.css +93 -100
- package/dist/tyrell-theme.css +93 -100
- package/dist/tyrell.js +1 -1
- package/lib/base/ty-component.d.ts +12 -7
- package/lib/base/ty-component.js +8 -139
- package/lib/components/button.d.ts +2 -16
- package/lib/components/button.js +0 -36
- package/lib/components/calendar-month.d.ts +2 -48
- package/lib/components/calendar-month.js +4 -166
- package/lib/components/calendar-navigation.d.ts +3 -48
- package/lib/components/calendar-navigation.js +3 -126
- package/lib/components/calendar.d.ts +3 -80
- package/lib/components/calendar.js +8 -230
- package/lib/components/checkbox.d.ts +4 -71
- package/lib/components/checkbox.js +7 -151
- package/lib/components/copy.d.ts +3 -56
- package/lib/components/copy.js +1 -120
- package/lib/components/date-picker.d.ts +13 -162
- package/lib/components/date-picker.js +39 -584
- package/lib/components/file-upload.d.ts +3 -15
- package/lib/components/file-upload.js +0 -37
- package/lib/components/icon.d.ts +3 -24
- package/lib/components/icon.js +1 -90
- package/lib/components/input.d.ts +7 -107
- package/lib/components/input.js +4 -193
- package/lib/components/modal.d.ts +3 -26
- package/lib/components/modal.js +1 -188
- package/lib/components/option.d.ts +2 -9
- package/lib/components/option.js +0 -48
- package/lib/components/popup.d.ts +2 -17
- package/lib/components/popup.js +4 -135
- package/lib/components/radio.d.ts +3 -23
- package/lib/components/radio.js +0 -63
- package/lib/components/resize-observer.d.ts +2 -30
- package/lib/components/resize-observer.js +0 -45
- package/lib/components/scroll-container.d.ts +2 -12
- package/lib/components/scroll-container.js +3 -46
- package/lib/components/select.d.ts +22 -153
- package/lib/components/select.js +30 -585
- package/lib/components/selected-tags.d.ts +4 -47
- package/lib/components/selected-tags.js +0 -94
- package/lib/components/step.d.ts +1 -6
- package/lib/components/step.js +0 -6
- package/lib/components/switch.d.ts +0 -11
- package/lib/components/switch.js +2 -36
- package/lib/components/tab.d.ts +1 -6
- package/lib/components/tab.js +0 -7
- package/lib/components/tabs.d.ts +3 -63
- package/lib/components/tabs.js +5 -283
- package/lib/components/tag.d.ts +2 -36
- package/lib/components/tag.js +5 -105
- package/lib/components/textarea.d.ts +6 -86
- package/lib/components/textarea.js +2 -173
- package/lib/components/tooltip.d.ts +3 -11
- package/lib/components/tooltip.js +2 -160
- package/lib/components/wizard.d.ts +4 -54
- package/lib/components/wizard.js +0 -228
- package/lib/icons/fontawesome/brands.d.ts +0 -1
- package/lib/icons/fontawesome/brands.js +0 -8
- package/lib/icons/fontawesome/regular.d.ts +0 -1
- package/lib/icons/fontawesome/regular.js +0 -8
- package/lib/icons/fontawesome/solid.d.ts +0 -1
- package/lib/icons/fontawesome/solid.js +0 -8
- package/lib/icons/heroicons/micro.d.ts +0 -1
- package/lib/icons/heroicons/micro.js +0 -8
- package/lib/icons/heroicons/mini.d.ts +0 -1
- package/lib/icons/heroicons/mini.js +0 -8
- package/lib/icons/heroicons/outline.d.ts +0 -1
- package/lib/icons/heroicons/outline.js +0 -8
- package/lib/icons/heroicons/solid.d.ts +0 -1
- package/lib/icons/heroicons/solid.js +0 -8
- package/lib/icons/lucide.d.ts +0 -1
- package/lib/icons/lucide.js +0 -1872
- package/lib/icons/material/filled.d.ts +0 -1
- package/lib/icons/material/filled.js +0 -10
- package/lib/icons/material/outlined.d.ts +0 -1
- package/lib/icons/material/outlined.js +0 -10
- package/lib/icons/material/round.d.ts +0 -1
- package/lib/icons/material/round.js +0 -10
- package/lib/icons/material/sharp.d.ts +0 -1
- package/lib/icons/material/sharp.js +0 -10
- package/lib/icons/material/two-tone.d.ts +0 -1
- package/lib/icons/material/two-tone.js +0 -10
- package/lib/index.d.ts +0 -1
- package/lib/index.js +0 -20
- package/lib/styles/button.d.ts +2 -20
- package/lib/styles/button.js +18 -121
- package/lib/styles/calendar-month.d.ts +1 -5
- package/lib/styles/calendar-month.js +4 -61
- package/lib/styles/calendar-navigation.d.ts +2 -6
- package/lib/styles/calendar-navigation.js +2 -27
- package/lib/styles/calendar.d.ts +1 -2
- package/lib/styles/calendar.js +1 -14
- package/lib/styles/checkbox.d.ts +0 -1
- package/lib/styles/checkbox.js +1 -23
- package/lib/styles/copy.d.ts +0 -1
- package/lib/styles/copy.js +2 -17
- package/lib/styles/custom-scrollbar.d.ts +1 -2
- package/lib/styles/custom-scrollbar.js +3 -18
- package/lib/styles/date-picker.d.ts +1 -5
- package/lib/styles/date-picker.js +8 -38
- package/lib/styles/file-upload.d.ts +1 -2
- package/lib/styles/file-upload.js +1 -16
- package/lib/styles/icon.d.ts +2 -6
- package/lib/styles/icon.js +7 -21
- package/lib/styles/input.d.ts +1 -6
- package/lib/styles/input.js +5 -54
- package/lib/styles/modal.d.ts +1 -2
- package/lib/styles/modal.js +3 -23
- package/lib/styles/option.d.ts +2 -6
- package/lib/styles/option.js +2 -12
- package/lib/styles/popup.d.ts +1 -2
- package/lib/styles/popup.js +4 -25
- package/lib/styles/radio.d.ts +0 -1
- package/lib/styles/radio.js +2 -16
- package/lib/styles/resize-observer.d.ts +1 -2
- package/lib/styles/resize-observer.js +0 -7
- package/lib/styles/scroll-container.d.ts +1 -2
- package/lib/styles/scroll-container.js +0 -19
- package/lib/styles/select-base.d.ts +0 -1
- package/lib/styles/select-base.js +15 -74
- package/lib/styles/select.d.ts +1 -2
- package/lib/styles/select.js +2 -14
- package/lib/styles/step.d.ts +1 -2
- package/lib/styles/step.js +0 -4
- package/lib/styles/switch.d.ts +0 -1
- package/lib/styles/switch.js +2 -20
- package/lib/styles/tab.d.ts +1 -2
- package/lib/styles/tab.js +0 -5
- package/lib/styles/tabs.d.ts +3 -11
- package/lib/styles/tabs.js +10 -48
- package/lib/styles/tag.d.ts +1 -5
- package/lib/styles/tag.js +2 -31
- package/lib/styles/textarea.d.ts +1 -2
- package/lib/styles/textarea.js +2 -45
- package/lib/styles/tooltip.d.ts +0 -1
- package/lib/styles/tooltip.js +0 -10
- package/lib/styles/wizard.d.ts +5 -21
- package/lib/styles/wizard.js +8 -88
- package/lib/types/common.d.ts +0 -2
- package/lib/types/common.js +0 -12
- package/lib/utils/calendar-utils.d.ts +4 -21
- package/lib/utils/calendar-utils.js +4 -177
- package/lib/utils/custom-scrollbar.d.ts +6 -20
- package/lib/utils/custom-scrollbar.js +1 -45
- package/lib/utils/flavor-sheet.d.ts +0 -1
- package/lib/utils/flavor-sheet.js +0 -23
- package/lib/utils/icon-registry.d.ts +0 -2
- package/lib/utils/icon-registry.js +1 -107
- package/lib/utils/icons.d.ts +0 -1
- package/lib/utils/icons.js +0 -9
- package/lib/utils/loader-registry.d.ts +0 -1
- package/lib/utils/loader-registry.js +0 -32
- package/lib/utils/locale.d.ts +2 -23
- package/lib/utils/locale.js +0 -86
- package/lib/utils/mobile.d.ts +0 -1
- package/lib/utils/mobile.js +0 -17
- package/lib/utils/number-format.d.ts +0 -2
- package/lib/utils/number-format.js +2 -65
- package/lib/utils/positioning.d.ts +50 -7
- package/lib/utils/positioning.js +49 -59
- package/lib/utils/property-capture.d.ts +5 -27
- package/lib/utils/property-capture.js +0 -108
- package/lib/utils/property-manager.d.ts +0 -1
- package/lib/utils/property-manager.js +0 -70
- package/lib/utils/resize-observer.d.ts +0 -1
- package/lib/utils/resize-observer.js +0 -36
- package/lib/utils/scroll-lock.d.ts +4 -11
- package/lib/utils/scroll-lock.js +0 -107
- package/lib/utils/styles.d.ts +0 -1
- package/lib/utils/styles.js +0 -24
- package/lib/version.d.ts +1 -2
- package/lib/version.js +1 -11
- package/package.json +2 -2
- package/lib/base/ty-component.d.ts.map +0 -1
- package/lib/base/ty-component.js.map +0 -1
- package/lib/components/button.d.ts.map +0 -1
- package/lib/components/button.js.map +0 -1
- package/lib/components/calendar-month.d.ts.map +0 -1
- package/lib/components/calendar-month.js.map +0 -1
- package/lib/components/calendar-navigation.d.ts.map +0 -1
- package/lib/components/calendar-navigation.js.map +0 -1
- package/lib/components/calendar.d.ts.map +0 -1
- package/lib/components/calendar.js.map +0 -1
- package/lib/components/checkbox.d.ts.map +0 -1
- package/lib/components/checkbox.js.map +0 -1
- package/lib/components/copy.d.ts.map +0 -1
- package/lib/components/copy.js.map +0 -1
- package/lib/components/date-picker.d.ts.map +0 -1
- package/lib/components/date-picker.js.map +0 -1
- package/lib/components/file-upload.d.ts.map +0 -1
- package/lib/components/file-upload.js.map +0 -1
- package/lib/components/icon.d.ts.map +0 -1
- package/lib/components/icon.js.map +0 -1
- package/lib/components/input.d.ts.map +0 -1
- package/lib/components/input.js.map +0 -1
- package/lib/components/modal.d.ts.map +0 -1
- package/lib/components/modal.js.map +0 -1
- package/lib/components/option.d.ts.map +0 -1
- package/lib/components/option.js.map +0 -1
- package/lib/components/popup.d.ts.map +0 -1
- package/lib/components/popup.js.map +0 -1
- package/lib/components/radio.d.ts.map +0 -1
- package/lib/components/radio.js.map +0 -1
- package/lib/components/resize-observer.d.ts.map +0 -1
- package/lib/components/resize-observer.js.map +0 -1
- package/lib/components/scroll-container.d.ts.map +0 -1
- package/lib/components/scroll-container.js.map +0 -1
- package/lib/components/select.d.ts.map +0 -1
- package/lib/components/select.js.map +0 -1
- package/lib/components/selected-tags.d.ts.map +0 -1
- package/lib/components/selected-tags.js.map +0 -1
- package/lib/components/step.d.ts.map +0 -1
- package/lib/components/step.js.map +0 -1
- package/lib/components/switch.d.ts.map +0 -1
- package/lib/components/switch.js.map +0 -1
- package/lib/components/tab.d.ts.map +0 -1
- package/lib/components/tab.js.map +0 -1
- package/lib/components/tabs.d.ts.map +0 -1
- package/lib/components/tabs.js.map +0 -1
- package/lib/components/tag.d.ts.map +0 -1
- package/lib/components/tag.js.map +0 -1
- package/lib/components/textarea.d.ts.map +0 -1
- package/lib/components/textarea.js.map +0 -1
- package/lib/components/tooltip.d.ts.map +0 -1
- package/lib/components/tooltip.js.map +0 -1
- package/lib/components/wizard.d.ts.map +0 -1
- package/lib/components/wizard.js.map +0 -1
- package/lib/icons/fontawesome/brands.d.ts.map +0 -1
- package/lib/icons/fontawesome/brands.js.map +0 -1
- package/lib/icons/fontawesome/regular.d.ts.map +0 -1
- package/lib/icons/fontawesome/regular.js.map +0 -1
- package/lib/icons/fontawesome/solid.d.ts.map +0 -1
- package/lib/icons/fontawesome/solid.js.map +0 -1
- package/lib/icons/heroicons/micro.d.ts.map +0 -1
- package/lib/icons/heroicons/micro.js.map +0 -1
- package/lib/icons/heroicons/mini.d.ts.map +0 -1
- package/lib/icons/heroicons/mini.js.map +0 -1
- package/lib/icons/heroicons/outline.d.ts.map +0 -1
- package/lib/icons/heroicons/outline.js.map +0 -1
- package/lib/icons/heroicons/solid.d.ts.map +0 -1
- package/lib/icons/heroicons/solid.js.map +0 -1
- package/lib/icons/lucide.d.ts.map +0 -1
- package/lib/icons/lucide.js.map +0 -1
- package/lib/icons/material/filled.d.ts.map +0 -1
- package/lib/icons/material/filled.js.map +0 -1
- package/lib/icons/material/outlined.d.ts.map +0 -1
- package/lib/icons/material/outlined.js.map +0 -1
- package/lib/icons/material/round.d.ts.map +0 -1
- package/lib/icons/material/round.js.map +0 -1
- package/lib/icons/material/sharp.d.ts.map +0 -1
- package/lib/icons/material/sharp.js.map +0 -1
- package/lib/icons/material/two-tone.d.ts.map +0 -1
- package/lib/icons/material/two-tone.js.map +0 -1
- package/lib/index.d.ts.map +0 -1
- package/lib/index.js.map +0 -1
- package/lib/styles/button.d.ts.map +0 -1
- package/lib/styles/button.js.map +0 -1
- package/lib/styles/calendar-month.d.ts.map +0 -1
- package/lib/styles/calendar-month.js.map +0 -1
- package/lib/styles/calendar-navigation.d.ts.map +0 -1
- package/lib/styles/calendar-navigation.js.map +0 -1
- package/lib/styles/calendar.d.ts.map +0 -1
- package/lib/styles/calendar.js.map +0 -1
- package/lib/styles/checkbox.d.ts.map +0 -1
- package/lib/styles/checkbox.js.map +0 -1
- package/lib/styles/copy.d.ts.map +0 -1
- package/lib/styles/copy.js.map +0 -1
- package/lib/styles/custom-scrollbar.d.ts.map +0 -1
- package/lib/styles/custom-scrollbar.js.map +0 -1
- package/lib/styles/date-picker.d.ts.map +0 -1
- package/lib/styles/date-picker.js.map +0 -1
- package/lib/styles/file-upload.d.ts.map +0 -1
- package/lib/styles/file-upload.js.map +0 -1
- package/lib/styles/icon.d.ts.map +0 -1
- package/lib/styles/icon.js.map +0 -1
- package/lib/styles/input.d.ts.map +0 -1
- package/lib/styles/input.js.map +0 -1
- package/lib/styles/modal.d.ts.map +0 -1
- package/lib/styles/modal.js.map +0 -1
- package/lib/styles/multiselect.d.ts +0 -8
- package/lib/styles/multiselect.d.ts.map +0 -1
- package/lib/styles/multiselect.js +0 -849
- package/lib/styles/multiselect.js.map +0 -1
- package/lib/styles/option.d.ts.map +0 -1
- package/lib/styles/option.js.map +0 -1
- package/lib/styles/popup.d.ts.map +0 -1
- package/lib/styles/popup.js.map +0 -1
- package/lib/styles/radio.d.ts.map +0 -1
- package/lib/styles/radio.js.map +0 -1
- package/lib/styles/resize-observer.d.ts.map +0 -1
- package/lib/styles/resize-observer.js.map +0 -1
- package/lib/styles/scroll-container.d.ts.map +0 -1
- package/lib/styles/scroll-container.js.map +0 -1
- package/lib/styles/select-base.d.ts.map +0 -1
- package/lib/styles/select-base.js.map +0 -1
- package/lib/styles/select.d.ts.map +0 -1
- package/lib/styles/select.js.map +0 -1
- package/lib/styles/step.d.ts.map +0 -1
- package/lib/styles/step.js.map +0 -1
- package/lib/styles/switch.d.ts.map +0 -1
- package/lib/styles/switch.js.map +0 -1
- package/lib/styles/tab.d.ts.map +0 -1
- package/lib/styles/tab.js.map +0 -1
- package/lib/styles/tabs.d.ts.map +0 -1
- package/lib/styles/tabs.js.map +0 -1
- package/lib/styles/tag.d.ts.map +0 -1
- package/lib/styles/tag.js.map +0 -1
- package/lib/styles/textarea.d.ts.map +0 -1
- package/lib/styles/textarea.js.map +0 -1
- package/lib/styles/tooltip.d.ts.map +0 -1
- package/lib/styles/tooltip.js.map +0 -1
- package/lib/styles/wizard.d.ts.map +0 -1
- package/lib/styles/wizard.js.map +0 -1
- package/lib/types/common.d.ts.map +0 -1
- package/lib/types/common.js.map +0 -1
- package/lib/utils/calendar-utils.d.ts.map +0 -1
- package/lib/utils/calendar-utils.js.map +0 -1
- package/lib/utils/custom-scrollbar.d.ts.map +0 -1
- package/lib/utils/custom-scrollbar.js.map +0 -1
- package/lib/utils/flavor-sheet.d.ts.map +0 -1
- package/lib/utils/flavor-sheet.js.map +0 -1
- package/lib/utils/icon-registry.d.ts.map +0 -1
- package/lib/utils/icon-registry.js.map +0 -1
- package/lib/utils/icons.d.ts.map +0 -1
- package/lib/utils/icons.js.map +0 -1
- package/lib/utils/loader-registry.d.ts.map +0 -1
- package/lib/utils/loader-registry.js.map +0 -1
- package/lib/utils/locale.d.ts.map +0 -1
- package/lib/utils/locale.js.map +0 -1
- package/lib/utils/mobile.d.ts.map +0 -1
- package/lib/utils/mobile.js.map +0 -1
- package/lib/utils/number-format.d.ts.map +0 -1
- package/lib/utils/number-format.js.map +0 -1
- package/lib/utils/parse-boolean.d.ts +0 -39
- package/lib/utils/parse-boolean.d.ts.map +0 -1
- package/lib/utils/parse-boolean.js +0 -58
- package/lib/utils/parse-boolean.js.map +0 -1
- package/lib/utils/positioning.d.ts.map +0 -1
- package/lib/utils/positioning.js.map +0 -1
- package/lib/utils/property-capture.d.ts.map +0 -1
- package/lib/utils/property-capture.js.map +0 -1
- package/lib/utils/property-manager.d.ts.map +0 -1
- package/lib/utils/property-manager.js.map +0 -1
- package/lib/utils/resize-observer.d.ts.map +0 -1
- package/lib/utils/resize-observer.js.map +0 -1
- package/lib/utils/scroll-lock.d.ts.map +0 -1
- package/lib/utils/scroll-lock.js.map +0 -1
- package/lib/utils/styles.d.ts.map +0 -1
- package/lib/utils/styles.js.map +0 -1
- package/lib/version.d.ts.map +0 -1
- package/lib/version.js.map +0 -1
package/README.md
CHANGED
|
@@ -62,7 +62,7 @@ import 'tyrell-components/input'
|
|
|
62
62
|
|
|
63
63
|
## Available Components
|
|
64
64
|
|
|
65
|
-
- **ty-button** - Button with multiple flavors (primary,
|
|
65
|
+
- **ty-button** - Button with multiple flavors (primary, success, danger, warning, neutral)
|
|
66
66
|
- **ty-modal** - Modal dialog with backdrop, ESC key, focus trap
|
|
67
67
|
- **ty-input** - Input field with validation, number formatting
|
|
68
68
|
- **ty-dropdown** - Dropdown with positioning, keyboard navigation
|
package/css/tyrell-theme.css
CHANGED
|
@@ -101,8 +101,8 @@
|
|
|
101
101
|
* solid buttons. One slider rebrands the page.
|
|
102
102
|
* --------------------------------------------------------------*/
|
|
103
103
|
|
|
104
|
-
--ty-brand-hue:
|
|
105
|
-
--ty-brand-chroma: 0.
|
|
104
|
+
--ty-brand-hue: 252;
|
|
105
|
+
--ty-brand-chroma: 0.08; /* restrained default; the loud 0.2 read as "bollywood" */
|
|
106
106
|
|
|
107
107
|
/* Surface tint. 0 = monochrome surfaces (default, no brand leak).
|
|
108
108
|
* Bump to ~0.005 (light) / ~0.012 (dark) to warm surfaces toward brand. */
|
|
@@ -120,11 +120,11 @@
|
|
|
120
120
|
--ty-success-hue: 145;
|
|
121
121
|
--ty-success-chroma: calc(var(--ty-brand-chroma) * 1.08);
|
|
122
122
|
|
|
123
|
-
--ty-warning-hue:
|
|
124
|
-
--ty-warning-chroma: calc(var(--ty-brand-chroma) * 2);
|
|
123
|
+
--ty-warning-hue: 76;
|
|
124
|
+
--ty-warning-chroma: calc(var(--ty-brand-chroma) * 2.22);
|
|
125
125
|
|
|
126
|
-
--ty-danger-hue:
|
|
127
|
-
--ty-danger-chroma: calc(var(--ty-brand-chroma) * 1.
|
|
126
|
+
--ty-danger-hue: 31;
|
|
127
|
+
--ty-danger-chroma: calc(var(--ty-brand-chroma) * 1.95);
|
|
128
128
|
|
|
129
129
|
/* Neutral is ACHROMATIC by default — greys do not follow the brand.
|
|
130
130
|
* Most of an interface is monochrome; a rebrand should not drift it.
|
|
@@ -147,9 +147,16 @@
|
|
|
147
147
|
--ty-l-soft: 0.72; /* - low emphasis */
|
|
148
148
|
--ty-l-faint: 0.88; /* -- min emphasis */
|
|
149
149
|
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
150
|
+
/* BG TRACK — the flavor's BASE color at low opacity, composited over
|
|
151
|
+
* whatever surface it sits on. No bg-specific L or chroma stops: the
|
|
152
|
+
* ink is always mid-scale (gamut-happy, l-factor-safe), and the alpha
|
|
153
|
+
* does the washing. Direction is automatic — the same token lightens
|
|
154
|
+
* a dark surface and darkens a light one — and l-factor reaches the
|
|
155
|
+
* tint only through the ink, scaled by alpha: it points, it doesn't
|
|
156
|
+
* shove. */
|
|
157
|
+
--ty-a-bg-base: 9%;
|
|
158
|
+
--ty-a-bg-bold: 17%;
|
|
159
|
+
--ty-a-bg-soft: 4%;
|
|
153
160
|
|
|
154
161
|
/* Text ladder (--ty-text-*) and surface borders — historically
|
|
155
162
|
* hardcoded hexes in tyrell.css that a rebrand never touched; now
|
|
@@ -214,10 +221,6 @@
|
|
|
214
221
|
--ty-c-soft-mult: 0.77;
|
|
215
222
|
--ty-c-faint-mult: 0.46;
|
|
216
223
|
|
|
217
|
-
--ty-c-bg-base-mult: 0.15;
|
|
218
|
-
--ty-c-bg-bold-mult: 0.38;
|
|
219
|
-
--ty-c-bg-soft-mult: 0.08;
|
|
220
|
-
|
|
221
224
|
/* ----------------------------------------------------------------
|
|
222
225
|
* Tier 5 — PER-FLAVOR L-FACTOR
|
|
223
226
|
* Multiplies the L-curve values for that flavor only. Default 1 =
|
|
@@ -237,8 +240,8 @@
|
|
|
237
240
|
|
|
238
241
|
--ty-primary-l-factor: 1;
|
|
239
242
|
--ty-success-l-factor: 1;
|
|
240
|
-
--ty-warning-l-factor: 1.
|
|
241
|
-
--ty-danger-l-factor: 1;
|
|
243
|
+
--ty-warning-l-factor: 1.3;
|
|
244
|
+
--ty-danger-l-factor: 1.01;
|
|
242
245
|
--ty-neutral-l-factor: 1;
|
|
243
246
|
|
|
244
247
|
/* ----------------------------------------------------------------
|
|
@@ -276,16 +279,30 @@
|
|
|
276
279
|
* black-text (Material treats amber the same way). Other flavors: 0. */
|
|
277
280
|
--ty-primary-solid-l: 0;
|
|
278
281
|
--ty-success-solid-l: 0;
|
|
279
|
-
--ty-warning-solid-l: 0
|
|
282
|
+
--ty-warning-solid-l: 0;
|
|
280
283
|
--ty-danger-solid-l: 0;
|
|
281
284
|
}
|
|
282
285
|
|
|
283
|
-
/* Dark mode overrides for the L-curve and saturation curve
|
|
284
|
-
*
|
|
286
|
+
/* Dark mode overrides for the L-curve and saturation curve, plus Tier 1
|
|
287
|
+
* (brand-hue/chroma), Tier 2 (per-flavor hue/chroma) and Tier 5 (l-factor)
|
|
288
|
+
* — dark ships its own distinct brand/semantic tuning here, not a
|
|
289
|
+
* carry-through of :root's light values. */
|
|
285
290
|
html.dark,
|
|
286
291
|
html[data-theme="dark"],
|
|
287
292
|
[data-ty-theme].dark,
|
|
288
293
|
[data-ty-theme][data-theme="dark"] {
|
|
294
|
+
--ty-solid-fg-threshold: 0.5 !important;
|
|
295
|
+
--ty-brand-hue: 233;
|
|
296
|
+
--ty-brand-chroma: 0.095;
|
|
297
|
+
--ty-success-hue: 129;
|
|
298
|
+
--ty-success-chroma: calc(var(--ty-brand-chroma) * 1.42);
|
|
299
|
+
--ty-success-l-factor: 1.09;
|
|
300
|
+
--ty-danger-hue: 13;
|
|
301
|
+
--ty-danger-chroma: calc(var(--ty-brand-chroma) * 1.96);
|
|
302
|
+
--ty-danger-l-factor: 1.06;
|
|
303
|
+
--ty-warning-hue: 82;
|
|
304
|
+
--ty-warning-chroma: calc(var(--ty-brand-chroma) * 3);
|
|
305
|
+
--ty-warning-l-factor: 1.5;
|
|
289
306
|
/* Tier 3 dark — inverted curve. Higher L = lighter text = more
|
|
290
307
|
* emphasis on a dark background. */
|
|
291
308
|
--ty-l-strong: 0.72;
|
|
@@ -294,9 +311,11 @@ html[data-theme="dark"],
|
|
|
294
311
|
--ty-l-soft: 0.46;
|
|
295
312
|
--ty-l-faint: 0.3;
|
|
296
313
|
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
--ty-
|
|
314
|
+
/* BG TRACK dark — dark ink sits closer to its surface in L than
|
|
315
|
+
* light's does, so the tint needs a touch more alpha to be felt. */
|
|
316
|
+
--ty-a-bg-base: 13%;
|
|
317
|
+
--ty-a-bg-bold: 22%;
|
|
318
|
+
--ty-a-bg-soft: 7%;
|
|
300
319
|
|
|
301
320
|
/* Text ladder + surface borders dark — L matched to the hexes
|
|
302
321
|
* tyrell.css used to hardcode (#fff/#f9fafb/#d6d6d6/#7f8590/#555a63,
|
|
@@ -343,10 +362,6 @@ html[data-theme="dark"],
|
|
|
343
362
|
--ty-c-soft-mult: 0.77;
|
|
344
363
|
--ty-c-faint-mult: 0.5;
|
|
345
364
|
|
|
346
|
-
--ty-c-bg-base-mult: 0.38;
|
|
347
|
-
--ty-c-bg-bold-mult: 0.54;
|
|
348
|
-
--ty-c-bg-soft-mult: 0.23;
|
|
349
|
-
|
|
350
365
|
/* Tier 6 dark — interaction offsets flip sign (press LIGHTENS on dark),
|
|
351
366
|
* and the per-theme adjust dims + desaturates the fills against the
|
|
352
367
|
* dark canvas. (Computed solid tokens are declared once at html:root.) */
|
|
@@ -416,6 +431,20 @@ html:root,
|
|
|
416
431
|
* correct for ANY seed — light or dark. (Your exact pixel may
|
|
417
432
|
* appear nowhere; pin --ty-solid-X etc. if you need it literally.)
|
|
418
433
|
* --------------------------------------------------------------*/
|
|
434
|
+
/* BG TRACK — `--ty-bg-X` is the flavor's BASE ink at low alpha, real
|
|
435
|
+
* transparency, composited by the browser over whatever is actually
|
|
436
|
+
* underneath. Why this beats computing a tint lightness:
|
|
437
|
+
*
|
|
438
|
+
* - The ink is MID-SCALE (L 0.38–0.88), where the gamut is widest
|
|
439
|
+
* and `l-stop × l-factor` behaves — no near-white/near-black
|
|
440
|
+
* endpoint math, no chroma clipping, no hue drift.
|
|
441
|
+
* - Direction per mode is free: the same token darkens a light
|
|
442
|
+
* surface and lightens a dark one, on ANY surface level (content,
|
|
443
|
+
* elevated, floating), not just a nominal one.
|
|
444
|
+
* - l-factor points rather than shoves: it moves the ink a little,
|
|
445
|
+
* and only alpha × that movement reaches the tint.
|
|
446
|
+
*
|
|
447
|
+
* The wash amount is the --ty-a-bg-* dials (Tier 3 area). */
|
|
419
448
|
--ty-primary-seed-resolved: var(
|
|
420
449
|
--ty-primary-seed,
|
|
421
450
|
oklch(0.5 var(--ty-brand-chroma) var(--ty-brand-hue))
|
|
@@ -464,19 +493,13 @@ html:root,
|
|
|
464
493
|
calc(c * var(--ty-c-faint-mult)) h
|
|
465
494
|
);
|
|
466
495
|
--ty-bg-primary: oklch(
|
|
467
|
-
from var(--ty-primary-
|
|
468
|
-
calc(var(--ty-l-bg-base) * var(--ty-primary-l-factor))
|
|
469
|
-
calc(c * var(--ty-c-bg-base-mult)) h
|
|
496
|
+
from var(--ty-color-primary) l c h / var(--ty-a-bg-base)
|
|
470
497
|
);
|
|
471
498
|
--ty-bg-primary-bold: oklch(
|
|
472
|
-
from var(--ty-primary-
|
|
473
|
-
calc(var(--ty-l-bg-bold) * var(--ty-primary-l-factor))
|
|
474
|
-
calc(c * var(--ty-c-bg-bold-mult)) h
|
|
499
|
+
from var(--ty-color-primary) l c h / var(--ty-a-bg-bold)
|
|
475
500
|
);
|
|
476
501
|
--ty-bg-primary-soft: oklch(
|
|
477
|
-
from var(--ty-primary-
|
|
478
|
-
calc(var(--ty-l-bg-soft) * var(--ty-primary-l-factor))
|
|
479
|
-
calc(c * var(--ty-c-bg-soft-mult)) h
|
|
502
|
+
from var(--ty-color-primary) l c h / var(--ty-a-bg-soft)
|
|
480
503
|
);
|
|
481
504
|
--ty-border-primary: var(--ty-color-primary-soft);
|
|
482
505
|
|
|
@@ -507,19 +530,13 @@ html:root,
|
|
|
507
530
|
calc(c * var(--ty-c-faint-mult)) h
|
|
508
531
|
);
|
|
509
532
|
--ty-bg-success: oklch(
|
|
510
|
-
from var(--ty-success-
|
|
511
|
-
calc(var(--ty-l-bg-base) * var(--ty-success-l-factor))
|
|
512
|
-
calc(c * var(--ty-c-bg-base-mult)) h
|
|
533
|
+
from var(--ty-color-success) l c h / var(--ty-a-bg-base)
|
|
513
534
|
);
|
|
514
535
|
--ty-bg-success-bold: oklch(
|
|
515
|
-
from var(--ty-success-
|
|
516
|
-
calc(var(--ty-l-bg-bold) * var(--ty-success-l-factor))
|
|
517
|
-
calc(c * var(--ty-c-bg-bold-mult)) h
|
|
536
|
+
from var(--ty-color-success) l c h / var(--ty-a-bg-bold)
|
|
518
537
|
);
|
|
519
538
|
--ty-bg-success-soft: oklch(
|
|
520
|
-
from var(--ty-success-
|
|
521
|
-
calc(var(--ty-l-bg-soft) * var(--ty-success-l-factor))
|
|
522
|
-
calc(c * var(--ty-c-bg-soft-mult)) h
|
|
539
|
+
from var(--ty-color-success) l c h / var(--ty-a-bg-soft)
|
|
523
540
|
);
|
|
524
541
|
--ty-border-success: var(--ty-color-success-soft);
|
|
525
542
|
|
|
@@ -550,19 +567,13 @@ html:root,
|
|
|
550
567
|
calc(c * var(--ty-c-faint-mult)) h
|
|
551
568
|
);
|
|
552
569
|
--ty-bg-danger: oklch(
|
|
553
|
-
from var(--ty-danger-
|
|
554
|
-
calc(var(--ty-l-bg-base) * var(--ty-danger-l-factor))
|
|
555
|
-
calc(c * var(--ty-c-bg-base-mult)) h
|
|
570
|
+
from var(--ty-color-danger) l c h / var(--ty-a-bg-base)
|
|
556
571
|
);
|
|
557
572
|
--ty-bg-danger-bold: oklch(
|
|
558
|
-
from var(--ty-danger-
|
|
559
|
-
calc(var(--ty-l-bg-bold) * var(--ty-danger-l-factor))
|
|
560
|
-
calc(c * var(--ty-c-bg-bold-mult)) h
|
|
573
|
+
from var(--ty-color-danger) l c h / var(--ty-a-bg-bold)
|
|
561
574
|
);
|
|
562
575
|
--ty-bg-danger-soft: oklch(
|
|
563
|
-
from var(--ty-danger-
|
|
564
|
-
calc(var(--ty-l-bg-soft) * var(--ty-danger-l-factor))
|
|
565
|
-
calc(c * var(--ty-c-bg-soft-mult)) h
|
|
576
|
+
from var(--ty-color-danger) l c h / var(--ty-a-bg-soft)
|
|
566
577
|
);
|
|
567
578
|
--ty-border-danger: var(--ty-color-danger-soft);
|
|
568
579
|
|
|
@@ -593,19 +604,13 @@ html:root,
|
|
|
593
604
|
calc(c * var(--ty-c-faint-mult)) h
|
|
594
605
|
);
|
|
595
606
|
--ty-bg-warning: oklch(
|
|
596
|
-
from var(--ty-warning-
|
|
597
|
-
calc(var(--ty-l-bg-base) * var(--ty-warning-l-factor))
|
|
598
|
-
calc(c * var(--ty-c-bg-base-mult)) h
|
|
607
|
+
from var(--ty-color-warning) l c h / var(--ty-a-bg-base)
|
|
599
608
|
);
|
|
600
609
|
--ty-bg-warning-bold: oklch(
|
|
601
|
-
from var(--ty-warning-
|
|
602
|
-
calc(var(--ty-l-bg-bold) * var(--ty-warning-l-factor))
|
|
603
|
-
calc(c * var(--ty-c-bg-bold-mult)) h
|
|
610
|
+
from var(--ty-color-warning) l c h / var(--ty-a-bg-bold)
|
|
604
611
|
);
|
|
605
612
|
--ty-bg-warning-soft: oklch(
|
|
606
|
-
from var(--ty-warning-
|
|
607
|
-
calc(var(--ty-l-bg-soft) * var(--ty-warning-l-factor))
|
|
608
|
-
calc(c * var(--ty-c-bg-soft-mult)) h
|
|
613
|
+
from var(--ty-color-warning) l c h / var(--ty-a-bg-soft)
|
|
609
614
|
);
|
|
610
615
|
--ty-border-warning: var(--ty-color-warning-soft);
|
|
611
616
|
|
|
@@ -636,19 +641,13 @@ html:root,
|
|
|
636
641
|
calc(c * var(--ty-c-faint-mult)) h
|
|
637
642
|
);
|
|
638
643
|
--ty-bg-neutral: oklch(
|
|
639
|
-
from var(--ty-neutral-
|
|
640
|
-
calc(var(--ty-l-bg-base) * var(--ty-neutral-l-factor))
|
|
641
|
-
calc(c * var(--ty-c-bg-base-mult)) h
|
|
644
|
+
from var(--ty-color-neutral) l c h / var(--ty-a-bg-base)
|
|
642
645
|
);
|
|
643
646
|
--ty-bg-neutral-bold: oklch(
|
|
644
|
-
from var(--ty-neutral-
|
|
645
|
-
calc(var(--ty-l-bg-bold) * var(--ty-neutral-l-factor))
|
|
646
|
-
calc(c * var(--ty-c-bg-bold-mult)) h
|
|
647
|
+
from var(--ty-color-neutral) l c h / var(--ty-a-bg-bold)
|
|
647
648
|
);
|
|
648
649
|
--ty-bg-neutral-soft: oklch(
|
|
649
|
-
from var(--ty-neutral-
|
|
650
|
-
calc(var(--ty-l-bg-soft) * var(--ty-neutral-l-factor))
|
|
651
|
-
calc(c * var(--ty-c-bg-soft-mult)) h
|
|
650
|
+
from var(--ty-color-neutral) l c h / var(--ty-a-bg-soft)
|
|
652
651
|
);
|
|
653
652
|
--ty-bg-neutral-strong: oklch(
|
|
654
653
|
from var(--ty-neutral-seed-resolved) var(--ty-l-bg-neutral-strong)
|
|
@@ -823,9 +822,19 @@ html:root,
|
|
|
823
822
|
* or set --ty-solid-fg-threshold: 1 to force white everywhere.
|
|
824
823
|
* --------------------------------------------------------------*/
|
|
825
824
|
|
|
826
|
-
/* Crossover point. Fills lighter than this get black text
|
|
827
|
-
|
|
828
|
-
|
|
825
|
+
/* Crossover point. Fills lighter than this get black text; higher =
|
|
826
|
+
prefers white, lower = prefers black.
|
|
827
|
+
|
|
828
|
+
Measured in-browser at stock dials, not guessed: the L at which black
|
|
829
|
+
and white give EQUAL WCAG contrast is 0.553 (success) / 0.564 (neutral)
|
|
830
|
+
/ 0.569 (warning) / 0.570 (primary) / 0.578 (danger) — a 0.025 spread,
|
|
831
|
+
so one global dial can serve every hue. Sweeping all 30 fills (15 ×
|
|
832
|
+
light/dark), the window where every fill gets the better of black/white
|
|
833
|
+
is (0.544, 0.588]; 0.57 sits ~mid-window. It previously read 0.62 —
|
|
834
|
+
above every flavor's break-even — which put white on `warning+` in both
|
|
835
|
+
modes: 4.23:1 light, 3.95:1 dark, each below AA and each the worse of
|
|
836
|
+
the two choices. Locked by test/solid-contrast.test.ts. */
|
|
837
|
+
--ty-solid-fg-threshold: 0.75;
|
|
829
838
|
|
|
830
839
|
--ty-solid-primary-fg: oklch(
|
|
831
840
|
from var(--ty-solid-primary)
|
|
@@ -1064,20 +1073,20 @@ html:root,
|
|
|
1064
1073
|
inherits: true;
|
|
1065
1074
|
initial-value: 0.88;
|
|
1066
1075
|
}
|
|
1067
|
-
@property --ty-
|
|
1068
|
-
syntax: "<
|
|
1076
|
+
@property --ty-a-bg-base {
|
|
1077
|
+
syntax: "<percentage>";
|
|
1069
1078
|
inherits: true;
|
|
1070
|
-
initial-value:
|
|
1079
|
+
initial-value: 9%;
|
|
1071
1080
|
}
|
|
1072
|
-
@property --ty-
|
|
1073
|
-
syntax: "<
|
|
1081
|
+
@property --ty-a-bg-bold {
|
|
1082
|
+
syntax: "<percentage>";
|
|
1074
1083
|
inherits: true;
|
|
1075
|
-
initial-value:
|
|
1084
|
+
initial-value: 17%;
|
|
1076
1085
|
}
|
|
1077
|
-
@property --ty-
|
|
1078
|
-
syntax: "<
|
|
1086
|
+
@property --ty-a-bg-soft {
|
|
1087
|
+
syntax: "<percentage>";
|
|
1079
1088
|
inherits: true;
|
|
1080
|
-
initial-value:
|
|
1089
|
+
initial-value: 4%;
|
|
1081
1090
|
}
|
|
1082
1091
|
@property --ty-l-text-strong {
|
|
1083
1092
|
syntax: "<number>";
|
|
@@ -1219,21 +1228,6 @@ html:root,
|
|
|
1219
1228
|
inherits: true;
|
|
1220
1229
|
initial-value: 0.46;
|
|
1221
1230
|
}
|
|
1222
|
-
@property --ty-c-bg-base-mult {
|
|
1223
|
-
syntax: "<number>";
|
|
1224
|
-
inherits: true;
|
|
1225
|
-
initial-value: 0.15;
|
|
1226
|
-
}
|
|
1227
|
-
@property --ty-c-bg-bold-mult {
|
|
1228
|
-
syntax: "<number>";
|
|
1229
|
-
inherits: true;
|
|
1230
|
-
initial-value: 0.38;
|
|
1231
|
-
}
|
|
1232
|
-
@property --ty-c-bg-soft-mult {
|
|
1233
|
-
syntax: "<number>";
|
|
1234
|
-
inherits: true;
|
|
1235
|
-
initial-value: 0.08;
|
|
1236
|
-
}
|
|
1237
1231
|
@property --ty-primary-l-factor {
|
|
1238
1232
|
syntax: "<number>";
|
|
1239
1233
|
inherits: true;
|
|
@@ -1346,7 +1340,7 @@ html:root,
|
|
|
1346
1340
|
@property --ty-solid-fg-threshold {
|
|
1347
1341
|
syntax: "<number>";
|
|
1348
1342
|
inherits: true;
|
|
1349
|
-
initial-value: 0.
|
|
1343
|
+
initial-value: 0.75;
|
|
1350
1344
|
}
|
|
1351
1345
|
@property --ty-focus-ring-alpha {
|
|
1352
1346
|
syntax: "<percentage>";
|
|
@@ -1388,7 +1382,7 @@ html:root,
|
|
|
1388
1382
|
--ty-success-chroma, --ty-warning-hue, --ty-warning-chroma,
|
|
1389
1383
|
--ty-danger-hue, --ty-danger-chroma, --ty-neutral-hue,
|
|
1390
1384
|
--ty-neutral-chroma, --ty-l-strong, --ty-l-bold, --ty-l-base, --ty-l-soft,
|
|
1391
|
-
--ty-l-faint, --ty-
|
|
1385
|
+
--ty-l-faint, --ty-a-bg-base, --ty-a-bg-bold, --ty-a-bg-soft,
|
|
1392
1386
|
--ty-l-text-strong, --ty-l-text-bold, --ty-l-text-base, --ty-l-text-soft,
|
|
1393
1387
|
--ty-l-text-faint, --ty-l-border-content, --ty-l-border-elevated,
|
|
1394
1388
|
--ty-l-border-floating, --ty-l-border-strong, --ty-l-border-bold,
|
|
@@ -1398,7 +1392,6 @@ html:root,
|
|
|
1398
1392
|
--ty-l-solid-neutral-strong, --ty-l-bg-neutral-strong,
|
|
1399
1393
|
--ty-l-bg-neutral-faint, --ty-c-bg-neutral-faint-mult, --ty-c-strong-mult,
|
|
1400
1394
|
--ty-c-bold-mult, --ty-c-base-mult, --ty-c-soft-mult, --ty-c-faint-mult,
|
|
1401
|
-
--ty-c-bg-base-mult, --ty-c-bg-bold-mult, --ty-c-bg-soft-mult,
|
|
1402
1395
|
--ty-primary-l-factor, --ty-success-l-factor, --ty-warning-l-factor,
|
|
1403
1396
|
--ty-danger-l-factor, --ty-neutral-l-factor, --ty-primary-solid-l,
|
|
1404
1397
|
--ty-success-solid-l, --ty-warning-solid-l, --ty-danger-solid-l,
|