tyrell-components 1.0.0-TC52 → 1.0.0-TC54
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-theme.css +25 -2
- package/css/tyrell.css +4 -0
- package/dist/tyrell-colors-static.css +1 -316
- package/dist/tyrell-theme.css +1 -1443
- package/dist/tyrell.css +1 -1390
- package/dist/tyrell.js +1 -1
- package/lib/base/ty-component.js +196 -196
- package/lib/components/button.d.ts +1 -1
- package/lib/components/button.js +260 -259
- package/lib/components/calendar-month.d.ts +2 -2
- package/lib/components/calendar-month.js +426 -416
- package/lib/components/calendar-navigation.js +238 -238
- package/lib/components/calendar.js +605 -602
- package/lib/components/checkbox.d.ts +1 -1
- package/lib/components/checkbox.js +273 -272
- package/lib/components/copy.d.ts +1 -1
- package/lib/components/copy.js +279 -278
- package/lib/components/date-picker.d.ts +1 -1
- package/lib/components/date-picker.js +1103 -1108
- package/lib/components/file-upload.js +404 -404
- package/lib/components/icon.js +141 -141
- package/lib/components/input.d.ts +1 -1
- package/lib/components/input.js +593 -596
- package/lib/components/modal.js +319 -319
- package/lib/components/option.js +167 -167
- package/lib/components/popup.js +233 -233
- package/lib/components/radio.d.ts +2 -2
- package/lib/components/radio.js +407 -406
- package/lib/components/resize-observer.js +67 -67
- package/lib/components/scroll-container.js +294 -294
- package/lib/components/select.d.ts +33 -2
- package/lib/components/select.js +1543 -1532
- package/lib/components/selected-tags.js +188 -184
- package/lib/components/step.js +62 -62
- package/lib/components/switch.d.ts +1 -1
- package/lib/components/switch.js +214 -213
- package/lib/components/tab.js +62 -62
- package/lib/components/tabs.js +507 -509
- package/lib/components/tag.d.ts +1 -1
- package/lib/components/tag.js +236 -235
- package/lib/components/textarea.d.ts +1 -1
- package/lib/components/textarea.js +457 -456
- package/lib/components/tooltip.js +283 -283
- package/lib/components/wizard.js +384 -384
- package/lib/icons/heroicons/micro.js +392 -392
- package/lib/icons/heroicons/mini.js +382 -382
- package/lib/icons/heroicons/outline.js +337 -337
- package/lib/icons/heroicons/solid.js +407 -407
- package/lib/icons/lucide.js +22843 -22843
- package/lib/icons/material/filled.js +9653 -9653
- package/lib/icons/material/outlined.js +10271 -10271
- package/lib/icons/material/round.js +10495 -10495
- package/lib/icons/material/sharp.js +9905 -9905
- package/lib/icons/material/two-tone.js +12792 -12792
- package/lib/index.js +21 -21
- package/lib/styles/button.js +176 -288
- package/lib/styles/calendar-month.js +123 -183
- package/lib/styles/calendar-navigation.js +60 -79
- package/lib/styles/calendar.js +8 -9
- package/lib/styles/checkbox.js +45 -72
- package/lib/styles/copy.js +67 -91
- package/lib/styles/custom-scrollbar.js +80 -100
- package/lib/styles/date-picker.js +261 -331
- package/lib/styles/field-size.d.ts +6 -0
- package/lib/styles/field-size.js +91 -0
- package/lib/styles/file-upload.js +139 -169
- package/lib/styles/icon.js +92 -156
- package/lib/styles/input.js +125 -241
- package/lib/styles/modal.js +67 -102
- package/lib/styles/option.d.ts +1 -1
- package/lib/styles/option.js +47 -67
- package/lib/styles/popup.js +34 -65
- package/lib/styles/radio.js +69 -96
- package/lib/styles/resize-observer.js +2 -5
- package/lib/styles/scroll-container.js +100 -130
- package/lib/styles/select-base.js +525 -778
- package/lib/styles/select.js +140 -228
- package/lib/styles/step.js +22 -29
- package/lib/styles/switch.js +34 -55
- package/lib/styles/tab.js +22 -29
- package/lib/styles/tabs.js +171 -252
- package/lib/styles/tag.js +135 -188
- package/lib/styles/textarea.d.ts +1 -1
- package/lib/styles/textarea.js +205 -271
- package/lib/styles/tooltip.js +3 -3
- package/lib/styles/wizard.js +170 -226
- package/lib/types/common.d.ts +2 -0
- package/lib/types/common.js +6 -5
- package/lib/utils/calendar-utils.js +100 -100
- package/lib/utils/custom-scrollbar.js +272 -272
- package/lib/utils/flavor-sheet.js +14 -14
- package/lib/utils/icon-registry.js +127 -127
- package/lib/utils/loader-registry.js +3 -3
- package/lib/utils/locale.js +34 -34
- package/lib/utils/mobile.js +1 -1
- package/lib/utils/number-format.js +54 -54
- package/lib/utils/positioning.js +212 -212
- package/lib/utils/property-capture.js +36 -36
- package/lib/utils/property-manager.js +125 -125
- package/lib/utils/resize-observer.js +23 -23
- package/lib/utils/scroll-lock.js +57 -57
- package/lib/utils/styles.js +17 -17
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/package.json +4 -4
package/css/tyrell-theme.css
CHANGED
|
@@ -737,8 +737,14 @@ html:root,
|
|
|
737
737
|
* --------------------------------------------------------------*/
|
|
738
738
|
--ty-input-bg: var(--ty-surface-input);
|
|
739
739
|
--ty-input-color: var(--ty-color-neutral-strong);
|
|
740
|
-
|
|
741
|
-
|
|
740
|
+
/* Borders come from the BORDER family, not the neutral ink ramp: ink is
|
|
741
|
+
multiplied by --ty-neutral-l-factor (0.8 in dark), which crushed the
|
|
742
|
+
resting input border to L 0.24 against an L 0.18 input surface — half
|
|
743
|
+
the separation light gets (0.88 on 1.0). The border ladder is exempt
|
|
744
|
+
from that factor by design, and its own comments name these two as the
|
|
745
|
+
successors of neutral-faint / neutral-soft. */
|
|
746
|
+
--ty-input-border: var(--ty-border-soft);
|
|
747
|
+
--ty-input-border-hover: var(--ty-border);
|
|
742
748
|
--ty-input-border-focus: var(--ty-color-primary);
|
|
743
749
|
--ty-input-placeholder: var(--ty-color-neutral-soft);
|
|
744
750
|
--ty-input-disabled-bg: var(--ty-color-neutral-faint);
|
|
@@ -751,6 +757,23 @@ html:root,
|
|
|
751
757
|
);
|
|
752
758
|
}
|
|
753
759
|
|
|
760
|
+
/* Dark takes the border family one rung harder than light. Genuine per-mode
|
|
761
|
+
DATA, not a formula duplicate: a small L delta at the dark end of an
|
|
762
|
+
emissive screen reads much weaker than the same delta mid-scale (the same
|
|
763
|
+
reason dark hover/active offsets are bigger — see Tier 5 dark), so light's
|
|
764
|
+
soft/base pair lands too quiet here. Dark uses base/bold instead.
|
|
765
|
+
|
|
766
|
+
Placed AFTER the block above on purpose: html.dark and html:root are both
|
|
767
|
+
(0,1,1), so source order is what decides this one — moving it up to the
|
|
768
|
+
dial block at the top of the file would lose the tie. */
|
|
769
|
+
html.dark,
|
|
770
|
+
html[data-theme="dark"],
|
|
771
|
+
[data-ty-theme].dark,
|
|
772
|
+
[data-ty-theme][data-theme="dark"] {
|
|
773
|
+
--ty-input-border: var(--ty-border);
|
|
774
|
+
--ty-input-border-hover: var(--ty-border-bold);
|
|
775
|
+
}
|
|
776
|
+
|
|
754
777
|
/* ----------------------------------------------------------------
|
|
755
778
|
* Tier 5 — SOLID (implementation)
|
|
756
779
|
* Solid is its OWN system, NOT the text/emphasis ramp. The dials
|
package/css/tyrell.css
CHANGED
|
@@ -382,12 +382,16 @@ DESIGN SYSTEM TOKENS
|
|
|
382
382
|
ty-button's 4px ladder (see button.ts): field sm = button md (32px),
|
|
383
383
|
field md = button lg (36px), field lg = button xl (40px) — a button
|
|
384
384
|
and a field of the paired size sit flush, same height, in a row. */
|
|
385
|
+
--ty-size-xs: 1.75rem;
|
|
386
|
+
/* 28px */
|
|
385
387
|
--ty-size-sm: 2rem;
|
|
386
388
|
/* 32px */
|
|
387
389
|
--ty-size-md: 2.25rem;
|
|
388
390
|
/* 36px */
|
|
389
391
|
--ty-size-lg: 2.5rem;
|
|
390
392
|
/* 40px */
|
|
393
|
+
--ty-size-xl: 2.75rem;
|
|
394
|
+
/* 44px */
|
|
391
395
|
|
|
392
396
|
/* Z-Index Scale */
|
|
393
397
|
--ty-z-auto: auto;
|
|
@@ -1,316 +1 @@
|
|
|
1
|
-
|
|
2
|
-
Tyrell Static Colors — hardcoded fallback color tokens
|
|
3
|
-
|
|
4
|
-
Every --ty-color-*, --ty-bg-{flavor}-*, --ty-border-*, --ty-surface-*,
|
|
5
|
-
--ty-text-*, --ty-input-{color-related}-* and --ty-solid-* token tyrell.css
|
|
6
|
-
used to hardcode directly, now split out here. Load this file alongside
|
|
7
|
-
tyrell.css if you want static, no-theme-engine colors.
|
|
8
|
-
|
|
9
|
-
If you want dynamic theming (custom seeds, live theme switching, per-flavor
|
|
10
|
-
tuning), load tyrell-theme.css INSTEAD — it defines the same token names via
|
|
11
|
-
oklch() formulas and, loaded after tyrell.css, wins by source order. Loading
|
|
12
|
-
both is harmless (tyrell-theme.css always wins) but redundant.
|
|
13
|
-
================================================================= */
|
|
14
|
-
|
|
15
|
-
html {
|
|
16
|
-
/* Primary */
|
|
17
|
-
--ty-color-primary-strong: #163793;
|
|
18
|
-
--ty-color-primary-bold: #304c9f;
|
|
19
|
-
--ty-color-primary: #466bce;
|
|
20
|
-
--ty-color-primary-soft: #60a5fa;
|
|
21
|
-
--ty-color-primary-faint: #93c5fd;
|
|
22
|
-
|
|
23
|
-
/* Success */
|
|
24
|
-
--ty-color-success-strong: #177858;
|
|
25
|
-
--ty-color-success-bold: #3e9779;
|
|
26
|
-
--ty-color-success: #3eaa86;
|
|
27
|
-
--ty-color-success-soft: #64b399;
|
|
28
|
-
--ty-color-success-faint: #7fd4b2;
|
|
29
|
-
|
|
30
|
-
/* Danger */
|
|
31
|
-
--ty-color-danger-strong: #b91c1c;
|
|
32
|
-
--ty-color-danger-bold: #dc2626;
|
|
33
|
-
--ty-color-danger: #ef4444;
|
|
34
|
-
--ty-color-danger-soft: #f87171;
|
|
35
|
-
--ty-color-danger-faint: #fca5a5;
|
|
36
|
-
|
|
37
|
-
/* Warning */
|
|
38
|
-
--ty-color-warning-strong: #e86400;
|
|
39
|
-
--ty-color-warning-bold: #ee7f00;
|
|
40
|
-
--ty-color-warning: #f59e0b;
|
|
41
|
-
--ty-color-warning-soft: #fbbf24;
|
|
42
|
-
--ty-color-warning-faint: #fcd34d;
|
|
43
|
-
|
|
44
|
-
/* Neutral */
|
|
45
|
-
--ty-color-neutral-strong: #000000;
|
|
46
|
-
--ty-color-neutral-bold: #000000;
|
|
47
|
-
--ty-color-neutral: #111827;
|
|
48
|
-
--ty-color-neutral-soft: #374151;
|
|
49
|
-
--ty-color-neutral-faint: #9ca3af;
|
|
50
|
-
|
|
51
|
-
/* Semantic backgrounds */
|
|
52
|
-
--ty-bg-primary: #e3eefc;
|
|
53
|
-
--ty-bg-primary-bold: #d5e4f8;
|
|
54
|
-
--ty-bg-primary-soft: #eff6ff;
|
|
55
|
-
--ty-bg-success: #d1fae5;
|
|
56
|
-
--ty-bg-success-bold: #a7f3d0;
|
|
57
|
-
--ty-bg-success-soft: #ecfdf5;
|
|
58
|
-
--ty-bg-danger: #fee2e2;
|
|
59
|
-
--ty-bg-danger-bold: #fecaca;
|
|
60
|
-
--ty-bg-danger-soft: #fef2f2;
|
|
61
|
-
--ty-bg-warning: #fef3c7;
|
|
62
|
-
--ty-bg-warning-bold: #fde68a;
|
|
63
|
-
--ty-bg-warning-soft: #fffbeb;
|
|
64
|
-
--ty-bg-neutral: #e0e0e0;
|
|
65
|
-
--ty-bg-neutral-bold: #cecece;
|
|
66
|
-
--ty-bg-neutral-soft: #ededed;
|
|
67
|
-
|
|
68
|
-
/* Borders */
|
|
69
|
-
--ty-border: #e5e7eb;
|
|
70
|
-
--ty-border-bold: #d1d5db;
|
|
71
|
-
--ty-border-strong: #6b7280;
|
|
72
|
-
--ty-border-soft: #f3f4f6;
|
|
73
|
-
--ty-border-faint: #fafafa;
|
|
74
|
-
|
|
75
|
-
/* Semantic borders */
|
|
76
|
-
--ty-border-primary: var(--ty-color-primary);
|
|
77
|
-
--ty-border-success: var(--ty-color-success);
|
|
78
|
-
--ty-border-danger: var(--ty-color-danger);
|
|
79
|
-
--ty-border-warning: var(--ty-color-warning);
|
|
80
|
-
--ty-border-neutral: var(--ty-color-neutral);
|
|
81
|
-
|
|
82
|
-
/* Surfaces */
|
|
83
|
-
--ty-surface-canvas: #fcfcfc;
|
|
84
|
-
--ty-surface-content: #ffffff;
|
|
85
|
-
--ty-surface-elevated: #ffffff;
|
|
86
|
-
--ty-surface-floating: #ffffff;
|
|
87
|
-
--ty-surface-input: #ffffff;
|
|
88
|
-
|
|
89
|
-
/* Surface borders */
|
|
90
|
-
--ty-elevated-border: #e5e7eb;
|
|
91
|
-
--ty-floating-border: #e5e7eb;
|
|
92
|
-
--ty-content-border: #e5e7eb;
|
|
93
|
-
|
|
94
|
-
/* Text hierarchy */
|
|
95
|
-
--ty-text: #111827;
|
|
96
|
-
--ty-text-bold: #000000;
|
|
97
|
-
--ty-text-strong: #000000;
|
|
98
|
-
--ty-text-soft: #374151;
|
|
99
|
-
--ty-text-faint: #9ca3af;
|
|
100
|
-
|
|
101
|
-
/* Input component tokens */
|
|
102
|
-
--ty-input-bg: #ffffff;
|
|
103
|
-
--ty-input-color: #111827;
|
|
104
|
-
--ty-input-border: #e5e7eb;
|
|
105
|
-
--ty-input-border-hover: #d1d5db;
|
|
106
|
-
--ty-input-border-focus: var(--ty-color-primary);
|
|
107
|
-
--ty-input-shadow-focus: rgba(59, 130, 246, 0.1);
|
|
108
|
-
--ty-input-placeholder: #9ca3af;
|
|
109
|
-
--ty-input-disabled-bg: #f9fafb;
|
|
110
|
-
--ty-input-disabled-border: #e5e7eb;
|
|
111
|
-
--ty-input-disabled-color: #9ca3af;
|
|
112
|
-
|
|
113
|
-
/* Input semantic state borders */
|
|
114
|
-
--ty-input-success-border: var(--ty-color-success-soft);
|
|
115
|
-
--ty-input-danger-border: var(--ty-color-danger-soft);
|
|
116
|
-
--ty-input-warning-border: var(--ty-color-warning-soft);
|
|
117
|
-
|
|
118
|
-
/* Solid button fills — Primary */
|
|
119
|
-
--ty-solid-primary: #4076b9;
|
|
120
|
-
--ty-solid-primary-strong: var(--ty-color-primary-bold);
|
|
121
|
-
--ty-solid-primary-soft: #7ea7d9;
|
|
122
|
-
--ty-solid-primary-hover: var(--ty-solid-primary-strong);
|
|
123
|
-
--ty-solid-primary-active: var(--ty-solid-primary-strong);
|
|
124
|
-
--ty-solid-primary-fg: white;
|
|
125
|
-
--ty-solid-primary-strong-fg: white;
|
|
126
|
-
--ty-solid-primary-soft-fg: black;
|
|
127
|
-
|
|
128
|
-
/* Solid button fills — Success */
|
|
129
|
-
--ty-solid-success: #3bb68d;
|
|
130
|
-
--ty-solid-success-strong: #27956e;
|
|
131
|
-
--ty-solid-success-soft: #69b99e;
|
|
132
|
-
--ty-solid-success-hover: var(--ty-solid-success-strong);
|
|
133
|
-
--ty-solid-success-active: var(--ty-solid-success-strong);
|
|
134
|
-
--ty-solid-success-fg: black;
|
|
135
|
-
--ty-solid-success-strong-fg: black;
|
|
136
|
-
--ty-solid-success-soft-fg: black;
|
|
137
|
-
|
|
138
|
-
/* Solid button fills — Danger */
|
|
139
|
-
--ty-solid-danger: #df5b5b;
|
|
140
|
-
--ty-solid-danger-strong: #cc3e3e;
|
|
141
|
-
--ty-solid-danger-soft: #d57a7a;
|
|
142
|
-
--ty-solid-danger-hover: var(--ty-solid-danger-strong);
|
|
143
|
-
--ty-solid-danger-active: var(--ty-solid-danger-strong);
|
|
144
|
-
--ty-solid-danger-fg: black;
|
|
145
|
-
--ty-solid-danger-strong-fg: white;
|
|
146
|
-
--ty-solid-danger-soft-fg: black;
|
|
147
|
-
|
|
148
|
-
/* Solid button fills — Warning */
|
|
149
|
-
--ty-solid-warning: #e1a644;
|
|
150
|
-
--ty-solid-warning-strong: #f59e0b;
|
|
151
|
-
--ty-solid-warning-soft: #fbc56d;
|
|
152
|
-
--ty-solid-warning-hover: var(--ty-solid-warning-strong);
|
|
153
|
-
--ty-solid-warning-active: var(--ty-solid-warning-strong);
|
|
154
|
-
--ty-solid-warning-fg: black;
|
|
155
|
-
--ty-solid-warning-strong-fg: black;
|
|
156
|
-
--ty-solid-warning-soft-fg: black;
|
|
157
|
-
|
|
158
|
-
/* Solid button fills — Neutral */
|
|
159
|
-
--ty-solid-neutral: #414141;
|
|
160
|
-
--ty-solid-neutral-strong: #000000;
|
|
161
|
-
--ty-solid-neutral-soft: #6e6e6e;
|
|
162
|
-
--ty-solid-neutral-hover: var(--ty-solid-neutral-strong);
|
|
163
|
-
--ty-solid-neutral-active: var(--ty-solid-neutral-strong);
|
|
164
|
-
--ty-solid-neutral-fg: white;
|
|
165
|
-
--ty-solid-neutral-strong-fg: white;
|
|
166
|
-
--ty-solid-neutral-soft-fg: white;
|
|
167
|
-
|
|
168
|
-
}
|
|
169
|
-
|
|
170
|
-
/* =================================================================
|
|
171
|
-
DARK THEME OVERRIDES
|
|
172
|
-
================================================================= */
|
|
173
|
-
|
|
174
|
-
html.dark,
|
|
175
|
-
html[data-theme="dark"] {
|
|
176
|
-
/* Primary */
|
|
177
|
-
--ty-color-primary-strong: #9cbde5;
|
|
178
|
-
--ty-color-primary-bold: #6c9bd5;
|
|
179
|
-
--ty-color-primary: #4976ae;
|
|
180
|
-
--ty-color-primary-soft: #4b698b;
|
|
181
|
-
--ty-color-primary-faint: #445b77;
|
|
182
|
-
|
|
183
|
-
/* Success */
|
|
184
|
-
--ty-color-success-strong: #c2f0df;
|
|
185
|
-
--ty-color-success-bold: #6ee7b7;
|
|
186
|
-
--ty-color-success: #3aba8b;
|
|
187
|
-
--ty-color-success-soft: #459679;
|
|
188
|
-
--ty-color-success-faint: #1b795c;
|
|
189
|
-
|
|
190
|
-
/* Danger */
|
|
191
|
-
--ty-color-danger-strong: #ffabab;
|
|
192
|
-
--ty-color-danger-bold: #e58787;
|
|
193
|
-
--ty-color-danger: #d06f6f;
|
|
194
|
-
--ty-color-danger-soft: #b06666;
|
|
195
|
-
--ty-color-danger-faint: #aa6e6e;
|
|
196
|
-
|
|
197
|
-
/* Warning */
|
|
198
|
-
--ty-color-warning-strong: #fde68a;
|
|
199
|
-
--ty-color-warning-bold: #fcd34d;
|
|
200
|
-
--ty-color-warning: #fbbf24;
|
|
201
|
-
--ty-color-warning-soft: #f59e0b;
|
|
202
|
-
--ty-color-warning-faint: #a06726;
|
|
203
|
-
|
|
204
|
-
/* Neutral */
|
|
205
|
-
--ty-color-neutral-strong: #ffffff;
|
|
206
|
-
--ty-color-neutral-bold: #f9fafb;
|
|
207
|
-
--ty-color-neutral: #d6d6d6;
|
|
208
|
-
--ty-color-neutral-soft: #696969;
|
|
209
|
-
--ty-color-neutral-faint: #474747;
|
|
210
|
-
|
|
211
|
-
/* Semantic backgrounds */
|
|
212
|
-
--ty-bg-primary: #394159;
|
|
213
|
-
--ty-bg-primary-bold: #43517a;
|
|
214
|
-
--ty-bg-primary-soft: #323a4f;
|
|
215
|
-
--ty-bg-success: #3a4442;
|
|
216
|
-
--ty-bg-success-bold: #405752;
|
|
217
|
-
--ty-bg-success-soft: #2f3b38;
|
|
218
|
-
--ty-bg-danger: #522828;
|
|
219
|
-
--ty-bg-danger-bold: #853535;
|
|
220
|
-
--ty-bg-danger-soft: #483c3c;
|
|
221
|
-
--ty-bg-warning: #694555;
|
|
222
|
-
--ty-bg-warning-bold: #743953;
|
|
223
|
-
--ty-bg-warning-soft: #45333b;
|
|
224
|
-
--ty-bg-neutral: #323232;
|
|
225
|
-
--ty-bg-neutral-bold: #414141;
|
|
226
|
-
--ty-bg-neutral-soft: #242424;
|
|
227
|
-
|
|
228
|
-
/* Borders */
|
|
229
|
-
--ty-border: #3e3e3e;
|
|
230
|
-
--ty-border-bold: #666666;
|
|
231
|
-
--ty-border-strong: #8c8c8c;
|
|
232
|
-
--ty-border-soft: #1f2937;
|
|
233
|
-
--ty-border-faint: #030712;
|
|
234
|
-
|
|
235
|
-
/* Surfaces */
|
|
236
|
-
--ty-surface-canvas: black;
|
|
237
|
-
--ty-surface-content: #1a1a1a;
|
|
238
|
-
--ty-surface-elevated: #282828;
|
|
239
|
-
--ty-surface-floating: #343434;
|
|
240
|
-
--ty-surface-input: #1f2937;
|
|
241
|
-
|
|
242
|
-
/* Surface borders */
|
|
243
|
-
--ty-elevated-border: #414141;
|
|
244
|
-
--ty-floating-border: #494949;
|
|
245
|
-
--ty-content-border: #030712;
|
|
246
|
-
|
|
247
|
-
/* Text hierarchy */
|
|
248
|
-
--ty-text: #d6d6d6;
|
|
249
|
-
--ty-text-bold: #f9fafb;
|
|
250
|
-
--ty-text-strong: #ffffff;
|
|
251
|
-
--ty-text-soft: #7f8590;
|
|
252
|
-
--ty-text-faint: #555a63;
|
|
253
|
-
|
|
254
|
-
/* Input component tokens */
|
|
255
|
-
--ty-input-bg: #1b1b1b;
|
|
256
|
-
--ty-input-color: #f9fafb;
|
|
257
|
-
--ty-input-border: #3a3a3a;
|
|
258
|
-
--ty-input-border-hover: #505050;
|
|
259
|
-
--ty-input-border-focus: var(--ty-color-primary);
|
|
260
|
-
--ty-input-shadow-focus: rgba(96, 165, 250, 0.1);
|
|
261
|
-
--ty-input-placeholder: #717171;
|
|
262
|
-
--ty-input-disabled-bg: #282828;
|
|
263
|
-
--ty-input-disabled-border: #2e2e2e;
|
|
264
|
-
--ty-input-disabled-color: #717171;
|
|
265
|
-
|
|
266
|
-
/* Solid button fills — Primary */
|
|
267
|
-
--ty-solid-primary: #3e536c;
|
|
268
|
-
--ty-solid-primary-strong: #426084;
|
|
269
|
-
--ty-solid-primary-soft: #343f4c;
|
|
270
|
-
--ty-solid-primary-hover: var(--ty-solid-primary-strong);
|
|
271
|
-
--ty-solid-primary-active: var(--ty-solid-primary-strong);
|
|
272
|
-
--ty-solid-primary-fg: white;
|
|
273
|
-
--ty-solid-primary-strong-fg: white;
|
|
274
|
-
--ty-solid-primary-soft-fg: white;
|
|
275
|
-
|
|
276
|
-
/* Solid button fills — Success */
|
|
277
|
-
--ty-solid-success: #3bb68d;
|
|
278
|
-
--ty-solid-success-strong: #459679;
|
|
279
|
-
--ty-solid-success-soft: #285748;
|
|
280
|
-
--ty-solid-success-hover: var(--ty-solid-success-strong);
|
|
281
|
-
--ty-solid-success-active: var(--ty-solid-success-strong);
|
|
282
|
-
--ty-solid-success-fg: black;
|
|
283
|
-
--ty-solid-success-strong-fg: black;
|
|
284
|
-
--ty-solid-success-soft-fg: white;
|
|
285
|
-
|
|
286
|
-
/* Solid button fills — Danger */
|
|
287
|
-
--ty-solid-danger: #df5b5b;
|
|
288
|
-
--ty-solid-danger-strong: #cc3e3e;
|
|
289
|
-
--ty-solid-danger-soft: #875656;
|
|
290
|
-
--ty-solid-danger-hover: var(--ty-solid-danger-strong);
|
|
291
|
-
--ty-solid-danger-active: var(--ty-solid-danger-strong);
|
|
292
|
-
--ty-solid-danger-fg: black;
|
|
293
|
-
--ty-solid-danger-strong-fg: white;
|
|
294
|
-
--ty-solid-danger-soft-fg: white;
|
|
295
|
-
|
|
296
|
-
/* Solid button fills — Warning */
|
|
297
|
-
--ty-solid-warning: #e1a644;
|
|
298
|
-
--ty-solid-warning-strong: #f59e0b;
|
|
299
|
-
--ty-solid-warning-soft: #8b6334;
|
|
300
|
-
--ty-solid-warning-hover: var(--ty-solid-warning-strong);
|
|
301
|
-
--ty-solid-warning-active: var(--ty-solid-warning-strong);
|
|
302
|
-
--ty-solid-warning-fg: black;
|
|
303
|
-
--ty-solid-warning-strong-fg: black;
|
|
304
|
-
--ty-solid-warning-soft-fg: white;
|
|
305
|
-
|
|
306
|
-
/* Solid button fills — Neutral */
|
|
307
|
-
--ty-solid-neutral: #414141;
|
|
308
|
-
--ty-solid-neutral-strong: #f5f5f5;
|
|
309
|
-
--ty-solid-neutral-soft: #2a2a2a;
|
|
310
|
-
--ty-solid-neutral-hover: #4c4c4c;
|
|
311
|
-
--ty-solid-neutral-active: #4c4c4c;
|
|
312
|
-
--ty-solid-neutral-fg: white;
|
|
313
|
-
--ty-solid-neutral-strong-fg: black;
|
|
314
|
-
--ty-solid-neutral-soft-fg: white;
|
|
315
|
-
|
|
316
|
-
}
|
|
1
|
+
html{--ty-color-primary-strong: #163793;--ty-color-primary-bold: #304c9f;--ty-color-primary: #466bce;--ty-color-primary-soft: #60a5fa;--ty-color-primary-faint: #93c5fd;--ty-color-success-strong: #177858;--ty-color-success-bold: #3e9779;--ty-color-success: #3eaa86;--ty-color-success-soft: #64b399;--ty-color-success-faint: #7fd4b2;--ty-color-danger-strong: #b91c1c;--ty-color-danger-bold: #dc2626;--ty-color-danger: #ef4444;--ty-color-danger-soft: #f87171;--ty-color-danger-faint: #fca5a5;--ty-color-warning-strong: #e86400;--ty-color-warning-bold: #ee7f00;--ty-color-warning: #f59e0b;--ty-color-warning-soft: #fbbf24;--ty-color-warning-faint: #fcd34d;--ty-color-neutral-strong: #000000;--ty-color-neutral-bold: #000000;--ty-color-neutral: #111827;--ty-color-neutral-soft: #374151;--ty-color-neutral-faint: #9ca3af;--ty-bg-primary: #e3eefc;--ty-bg-primary-bold: #d5e4f8;--ty-bg-primary-soft: #eff6ff;--ty-bg-success: #d1fae5;--ty-bg-success-bold: #a7f3d0;--ty-bg-success-soft: #ecfdf5;--ty-bg-danger: #fee2e2;--ty-bg-danger-bold: #fecaca;--ty-bg-danger-soft: #fef2f2;--ty-bg-warning: #fef3c7;--ty-bg-warning-bold: #fde68a;--ty-bg-warning-soft: #fffbeb;--ty-bg-neutral: #e0e0e0;--ty-bg-neutral-bold: #cecece;--ty-bg-neutral-soft: #ededed;--ty-border: #e5e7eb;--ty-border-bold: #d1d5db;--ty-border-strong: #6b7280;--ty-border-soft: #f3f4f6;--ty-border-faint: #fafafa;--ty-border-primary: var(--ty-color-primary);--ty-border-success: var(--ty-color-success);--ty-border-danger: var(--ty-color-danger);--ty-border-warning: var(--ty-color-warning);--ty-border-neutral: var(--ty-color-neutral);--ty-surface-canvas: #fcfcfc;--ty-surface-content: #ffffff;--ty-surface-elevated: #ffffff;--ty-surface-floating: #ffffff;--ty-surface-input: #ffffff;--ty-elevated-border: #e5e7eb;--ty-floating-border: #e5e7eb;--ty-content-border: #e5e7eb;--ty-text: #111827;--ty-text-bold: #000000;--ty-text-strong: #000000;--ty-text-soft: #374151;--ty-text-faint: #9ca3af;--ty-input-bg: #ffffff;--ty-input-color: #111827;--ty-input-border: #e5e7eb;--ty-input-border-hover: #d1d5db;--ty-input-border-focus: var(--ty-color-primary);--ty-input-shadow-focus: rgba(59, 130, 246, .1);--ty-input-placeholder: #9ca3af;--ty-input-disabled-bg: #f9fafb;--ty-input-disabled-border: #e5e7eb;--ty-input-disabled-color: #9ca3af;--ty-input-success-border: var(--ty-color-success-soft);--ty-input-danger-border: var(--ty-color-danger-soft);--ty-input-warning-border: var(--ty-color-warning-soft);--ty-solid-primary: #4076b9;--ty-solid-primary-strong: var(--ty-color-primary-bold);--ty-solid-primary-soft: #7ea7d9;--ty-solid-primary-hover: var(--ty-solid-primary-strong);--ty-solid-primary-active: var(--ty-solid-primary-strong);--ty-solid-primary-fg: white;--ty-solid-primary-strong-fg: white;--ty-solid-primary-soft-fg: black;--ty-solid-success: #3bb68d;--ty-solid-success-strong: #27956e;--ty-solid-success-soft: #69b99e;--ty-solid-success-hover: var(--ty-solid-success-strong);--ty-solid-success-active: var(--ty-solid-success-strong);--ty-solid-success-fg: black;--ty-solid-success-strong-fg: black;--ty-solid-success-soft-fg: black;--ty-solid-danger: #df5b5b;--ty-solid-danger-strong: #cc3e3e;--ty-solid-danger-soft: #d57a7a;--ty-solid-danger-hover: var(--ty-solid-danger-strong);--ty-solid-danger-active: var(--ty-solid-danger-strong);--ty-solid-danger-fg: black;--ty-solid-danger-strong-fg: white;--ty-solid-danger-soft-fg: black;--ty-solid-warning: #e1a644;--ty-solid-warning-strong: #f59e0b;--ty-solid-warning-soft: #fbc56d;--ty-solid-warning-hover: var(--ty-solid-warning-strong);--ty-solid-warning-active: var(--ty-solid-warning-strong);--ty-solid-warning-fg: black;--ty-solid-warning-strong-fg: black;--ty-solid-warning-soft-fg: black;--ty-solid-neutral: #414141;--ty-solid-neutral-strong: #000000;--ty-solid-neutral-soft: #6e6e6e;--ty-solid-neutral-hover: var(--ty-solid-neutral-strong);--ty-solid-neutral-active: var(--ty-solid-neutral-strong);--ty-solid-neutral-fg: white;--ty-solid-neutral-strong-fg: white;--ty-solid-neutral-soft-fg: white}html.dark,html[data-theme=dark]{--ty-color-primary-strong: #9cbde5;--ty-color-primary-bold: #6c9bd5;--ty-color-primary: #4976ae;--ty-color-primary-soft: #4b698b;--ty-color-primary-faint: #445b77;--ty-color-success-strong: #c2f0df;--ty-color-success-bold: #6ee7b7;--ty-color-success: #3aba8b;--ty-color-success-soft: #459679;--ty-color-success-faint: #1b795c;--ty-color-danger-strong: #ffabab;--ty-color-danger-bold: #e58787;--ty-color-danger: #d06f6f;--ty-color-danger-soft: #b06666;--ty-color-danger-faint: #aa6e6e;--ty-color-warning-strong: #fde68a;--ty-color-warning-bold: #fcd34d;--ty-color-warning: #fbbf24;--ty-color-warning-soft: #f59e0b;--ty-color-warning-faint: #a06726;--ty-color-neutral-strong: #ffffff;--ty-color-neutral-bold: #f9fafb;--ty-color-neutral: #d6d6d6;--ty-color-neutral-soft: #696969;--ty-color-neutral-faint: #474747;--ty-bg-primary: #394159;--ty-bg-primary-bold: #43517a;--ty-bg-primary-soft: #323a4f;--ty-bg-success: #3a4442;--ty-bg-success-bold: #405752;--ty-bg-success-soft: #2f3b38;--ty-bg-danger: #522828;--ty-bg-danger-bold: #853535;--ty-bg-danger-soft: #483c3c;--ty-bg-warning: #694555;--ty-bg-warning-bold: #743953;--ty-bg-warning-soft: #45333b;--ty-bg-neutral: #323232;--ty-bg-neutral-bold: #414141;--ty-bg-neutral-soft: #242424;--ty-border: #3e3e3e;--ty-border-bold: #666666;--ty-border-strong: #8c8c8c;--ty-border-soft: #1f2937;--ty-border-faint: #030712;--ty-surface-canvas: black;--ty-surface-content: #1a1a1a;--ty-surface-elevated: #282828;--ty-surface-floating: #343434;--ty-surface-input: #1f2937;--ty-elevated-border: #414141;--ty-floating-border: #494949;--ty-content-border: #030712;--ty-text: #d6d6d6;--ty-text-bold: #f9fafb;--ty-text-strong: #ffffff;--ty-text-soft: #7f8590;--ty-text-faint: #555a63;--ty-input-bg: #1b1b1b;--ty-input-color: #f9fafb;--ty-input-border: #3a3a3a;--ty-input-border-hover: #505050;--ty-input-border-focus: var(--ty-color-primary);--ty-input-shadow-focus: rgba(96, 165, 250, .1);--ty-input-placeholder: #717171;--ty-input-disabled-bg: #282828;--ty-input-disabled-border: #2e2e2e;--ty-input-disabled-color: #717171;--ty-solid-primary: #3e536c;--ty-solid-primary-strong: #426084;--ty-solid-primary-soft: #343f4c;--ty-solid-primary-hover: var(--ty-solid-primary-strong);--ty-solid-primary-active: var(--ty-solid-primary-strong);--ty-solid-primary-fg: white;--ty-solid-primary-strong-fg: white;--ty-solid-primary-soft-fg: white;--ty-solid-success: #3bb68d;--ty-solid-success-strong: #459679;--ty-solid-success-soft: #285748;--ty-solid-success-hover: var(--ty-solid-success-strong);--ty-solid-success-active: var(--ty-solid-success-strong);--ty-solid-success-fg: black;--ty-solid-success-strong-fg: black;--ty-solid-success-soft-fg: white;--ty-solid-danger: #df5b5b;--ty-solid-danger-strong: #cc3e3e;--ty-solid-danger-soft: #875656;--ty-solid-danger-hover: var(--ty-solid-danger-strong);--ty-solid-danger-active: var(--ty-solid-danger-strong);--ty-solid-danger-fg: black;--ty-solid-danger-strong-fg: white;--ty-solid-danger-soft-fg: white;--ty-solid-warning: #e1a644;--ty-solid-warning-strong: #f59e0b;--ty-solid-warning-soft: #8b6334;--ty-solid-warning-hover: var(--ty-solid-warning-strong);--ty-solid-warning-active: var(--ty-solid-warning-strong);--ty-solid-warning-fg: black;--ty-solid-warning-strong-fg: black;--ty-solid-warning-soft-fg: white;--ty-solid-neutral: #414141;--ty-solid-neutral-strong: #f5f5f5;--ty-solid-neutral-soft: #2a2a2a;--ty-solid-neutral-hover: #4c4c4c;--ty-solid-neutral-active: #4c4c4c;--ty-solid-neutral-fg: white;--ty-solid-neutral-strong-fg: black;--ty-solid-neutral-soft-fg: white}
|