@tac-ui/tokens 0.1.0 → 1.0.0

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.
@@ -3,44 +3,37 @@
3
3
  // src/semantic.ts
4
4
  var semanticTokens = {
5
5
  light: {
6
- // ── Canvas & Surface (Off-white paper base) ──
6
+ // ── Canvas & Surface ──
7
7
  background: "#FAFAFA",
8
- // Off-white base
9
8
  backgroundSubtle: "#F4F4F5",
10
- // Slightly darker gray
11
- surface: "#FCFCFC",
12
- // Just faintly off-white surface
9
+ surface: "#FFFFFF",
13
10
  surfaceHover: "#F4F4F5",
14
11
  surfaceBase: "#FAFAFA",
15
- surfaceElevatedLow: "#FCFCFC",
16
- surfaceElevatedMid: "#FCFCFC",
17
- surfaceElevatedHigh: "#FCFCFC",
18
- card: "#FCFCFC",
19
- cardForeground: "#121212",
20
- // Barely off-black
12
+ surfaceElevatedLow: "#FFFFFF",
13
+ surfaceElevatedMid: "#FFFFFF",
14
+ surfaceElevatedHigh: "#FFFFFF",
15
+ card: "#FFFFFF",
16
+ cardForeground: "#18181B",
21
17
  // ── Text ──
22
- foreground: "#121212",
18
+ foreground: "#18181B",
23
19
  muted: "#F4F4F5",
24
20
  mutedForeground: "#71717A",
25
- // ── Brand ──
26
- primary: "#1E232D",
27
- // Iron Navy
28
- primaryHover: "#2A303D",
29
- // Slightly lighter for hover
30
- primaryForeground: "#FAFAFA",
31
- secondary: "#E4E4E7",
32
- // Darkened from F4F4F5 for better visibility
33
- secondaryForeground: "#1E232D",
34
- ring: "#1E232D",
35
- // ── Point / Accent (Steel Navy) ──
36
- point: "#323944",
37
- pointHover: "#4A5361",
38
- pointForeground: "#FAFAFA",
39
- pointSubtle: "rgba(30, 35, 45, 0.08)",
21
+ // ── Brand (Ink Black) ──
22
+ primary: "#18181B",
23
+ primaryHover: "#27272A",
24
+ primaryForeground: "#FFFFFF",
25
+ secondary: "#F4F4F5",
26
+ secondaryForeground: "#18181B",
27
+ ring: "#18181B",
28
+ // ── Point / Accent (Royal Indigo) ──
29
+ point: "#5856D6",
30
+ pointHover: "#4B49B8",
31
+ pointForeground: "#FFFFFF",
32
+ pointSubtle: "rgba(88, 86, 214, 0.1)",
40
33
  // ── Border ──
41
34
  border: "#E4E4E7",
42
35
  input: "#E4E4E7",
43
- // ── Gray Scale ──
36
+ // ── Gray Scale (Zinc) ──
44
37
  gray50: "#FAFAFA",
45
38
  gray100: "#F4F4F5",
46
39
  gray200: "#E4E4E7",
@@ -52,11 +45,11 @@ var semanticTokens = {
52
45
  gray800: "#27272A",
53
46
  gray900: "#18181B",
54
47
  // ── Glass & Effects ──
55
- glassBg: "rgba(252, 252, 252, 0.85)",
56
- glassBorder: "rgba(18, 18, 18, 0.04)",
57
- glassInset: "inset 0 1px 0 rgba(250, 250, 250, 0.6)",
58
- glassPanelShadow: "0 12px 40px rgba(18, 18, 18, 0.04), 0 1px 3px rgba(18, 18, 18, 0.02)",
59
- accentGlow: "0 0 0 transparent",
48
+ glassBg: "rgba(255, 255, 255, 0.85)",
49
+ glassBorder: "rgba(24, 24, 27, 0.04)",
50
+ glassInset: "inset 0 1px 0 rgba(255, 255, 255, 0.6)",
51
+ glassPanelShadow: "0 12px 40px rgba(24, 24, 27, 0.04), 0 1px 3px rgba(24, 24, 27, 0.02)",
52
+ accentGlow: "none",
60
53
  // ── Gradients ──
61
54
  gradientBrand: "none",
62
55
  gradientBrandHover: "none",
@@ -68,105 +61,94 @@ var semanticTokens = {
68
61
  gradientSurface: "none",
69
62
  gradientGlowShadow: "none",
70
63
  // ── Shadow ──
71
- shadowColor: "rgba(18, 18, 18, 0.05)",
64
+ shadowColor: "rgba(24, 24, 27, 0.05)",
72
65
  // ── Status ──
73
- success: "#1A4331",
74
- successBg: "#EAF1EC",
75
- successForeground: "#1A4331",
76
- warning: "#8A6D3B",
77
- warningBg: "#F7F3EA",
78
- warningForeground: "#8A6D3B",
79
- error: "#7C2128",
80
- errorBg: "#F4EAEB",
81
- errorForeground: "#7C2128",
82
- info: "#121212",
83
- infoBg: "#FAFAFA",
84
- infoForeground: "#121212",
66
+ success: "#166534",
67
+ successBg: "#DCFCE7",
68
+ successForeground: "#166534",
69
+ warning: "#854D0E",
70
+ warningBg: "#FEF9C3",
71
+ warningForeground: "#854D0E",
72
+ error: "#991B1B",
73
+ errorBg: "#FEE2E2",
74
+ errorForeground: "#991B1B",
75
+ info: "#18181B",
76
+ infoBg: "#F4F4F5",
77
+ infoForeground: "#18181B",
85
78
  // ── Interaction States ──
86
- interactiveHover: "rgba(18, 18, 18, 0.04)",
87
- interactivePressed: "rgba(18, 18, 18, 0.08)",
88
- interactiveFocus: "#121212",
89
- interactiveSurfaceTint: "rgba(18, 18, 18, 0.02)",
90
- interactiveHoverTint: "rgba(18, 18, 18, 0.04)",
91
- focusGlow: "0 0 0 2px #E4E4E7",
92
- pointGlow: "0 0 0 2px rgba(18, 18, 18, 0.15)",
79
+ interactiveHover: "rgba(24, 24, 27, 0.04)",
80
+ interactivePressed: "rgba(24, 24, 27, 0.08)",
81
+ interactiveFocus: "#18181B",
82
+ interactiveSurfaceTint: "rgba(0, 0, 0, 0.02)",
83
+ interactiveHoverTint: "rgba(0, 0, 0, 0.04)",
84
+ focusGlow: "0 0 0 3px rgba(24, 24, 27, 0.1)",
85
+ pointGlow: "0 0 0 2px rgba(88, 86, 214, 0.2)",
93
86
  // ── Components ──
94
- btnPrimarySurface: "#1E232D",
95
- btnPrimaryHover: "#2A303D",
96
- btnPrimaryEnergy: "0 4px 12px rgba(30, 35, 45, 0.16)",
87
+ btnPrimarySurface: "#18181B",
88
+ btnPrimaryHover: "#27272A",
89
+ btnPrimaryEnergy: "0 4px 12px rgba(24, 24, 27, 0.15)",
97
90
  btnPrimaryInset: "none",
98
- btnSecondarySurface: "#E4E4E7",
99
- btnSecondaryHover: "#D4D4D8",
100
- btnOutlineBorder: "#E4E4E7",
101
- btnOutlineBorderHover: "#D4D4D8",
102
- btnOutlineHoverBg: "#F4F4F5",
91
+ btnSecondarySurface: "#F4F4F5",
92
+ btnSecondaryHover: "#E4E4E7",
93
+ btnOutlineBorder: "#D4D4D8",
94
+ btnOutlineBorderHover: "#A1A1AA",
95
+ btnOutlineHoverBg: "#F9FAFB",
103
96
  btnGhostHover: "#F4F4F5",
104
- btnPointSurface: "#323944",
97
+ btnPointSurface: "#5856D6",
105
98
  btnPointBorder: "transparent",
106
- btnPointHoverSurface: "#4A5361",
99
+ btnPointHoverSurface: "#4B49B8",
107
100
  btnPointHoverBorder: "transparent",
108
- btnPointEnergy: "0 4px 12px rgba(50, 57, 68, 0.2)",
109
- btnDestructiveSurface: "#7C2128",
110
- btnDestructiveHover: "#5B171D",
111
- inputBg: "#FCFCFC",
112
- inputBorderRest: "#E4E4E7",
101
+ btnPointEnergy: "0 4px 12px rgba(88, 86, 214, 0.2)",
102
+ btnDestructiveSurface: "#DC2626",
103
+ btnDestructiveHover: "#B91C1C",
104
+ inputBg: "#F4F4F5",
105
+ inputBorderRest: "#D4D4D8",
113
106
  inputBorderHover: "#A1A1AA",
114
- inputHoverGlow: "0 0 0 2px #F4F4F5",
115
- inputFocusGlow: "0 0 0 2px #E4E4E7",
116
- inputErrorGlow: "0 0 0 2px #F4EAEB",
117
- dropdownBg: "#FCFCFC",
118
- dropdownShadow: "0 20px 25px -5px rgba(18, 18, 18, 0.08), 0 0 0 1px rgba(18, 18, 18, 0.03)",
107
+ inputHoverGlow: "0 0 0 2px rgba(0, 0, 0, 0.04)",
108
+ inputFocusGlow: "0 0 0 2px rgba(24, 24, 27, 0.15)",
109
+ inputErrorGlow: "0 0 0 2px #FEE2E2",
110
+ dropdownBg: "#FFFFFF",
111
+ dropdownShadow: "0 20px 25px -5px rgba(24, 24, 27, 0.08), 0 0 0 1px rgba(24, 24, 27, 0.03)",
119
112
  dropdownItemHover: "#F4F4F5",
120
113
  cardAccentBorder: "#E4E4E7",
121
114
  cardAccentGlow: "none",
122
115
  cardAccentHoverBorder: "#D4D4D8",
123
- cardAccentHoverGlow: "0 8px 24px rgba(18, 18, 18, 0.06)"
116
+ cardAccentHoverGlow: "0 8px 24px rgba(24, 24, 27, 0.06)"
124
117
  },
125
118
  dark: {
126
- // ── Canvas & Surface (High-Contrast Charcoal Base) ──
127
- background: "#121214",
128
- // Off-black charcoal
129
- backgroundSubtle: "#18181A",
130
- // Zinc 900
119
+ // ── Canvas & Surface ──
120
+ background: "#09090B",
121
+ backgroundSubtle: "#18181B",
131
122
  surface: "#27272A",
132
- // Zinc 800 - distinct from subtle background
133
123
  surfaceHover: "#3F3F46",
134
- // Zinc 700
135
- surfaceBase: "#121214",
136
- surfaceElevatedLow: "#18181A",
124
+ surfaceBase: "#09090B",
125
+ surfaceElevatedLow: "#18181B",
137
126
  surfaceElevatedMid: "#27272A",
138
127
  surfaceElevatedHigh: "#3F3F46",
139
- card: "#18181A",
140
- // Zinc 900
141
- cardForeground: "#F4F4F5",
142
- // Off-white
128
+ card: "#18181B",
129
+ cardForeground: "#FAFAFA",
143
130
  // ── Text ──
144
- foreground: "#F4F4F5",
145
- // Off-white
131
+ foreground: "#FAFAFA",
146
132
  muted: "#27272A",
147
- // Zinc 800
148
133
  mutedForeground: "#A1A1AA",
149
- // Zinc 400
150
- // ── Brand (Iron Navy Light / Cold Steel Blue-Gray) ──
151
- primary: "#B8C4D9",
152
- primaryHover: "#D1DBE8",
153
- primaryForeground: "#1E232D",
154
- // Deep Iron Navy text
134
+ // ── Brand (Inverted — Near-White) ──
135
+ primary: "#FAFAFA",
136
+ primaryHover: "#E4E4E7",
137
+ primaryForeground: "#18181B",
155
138
  secondary: "#27272A",
156
- secondaryForeground: "#B8C4D9",
157
- ring: "#B8C4D9",
158
- // ── Point / Accent (Lighter Steel Blue-Gray) ──
159
- point: "#D1DBE8",
160
- pointHover: "#E6ECEF",
161
- pointForeground: "#1E232D",
162
- pointSubtle: "rgba(209, 219, 232, 0.12)",
163
- // ── Border (Highly Visible) ──
139
+ secondaryForeground: "#FAFAFA",
140
+ ring: "#FAFAFA",
141
+ // ── Point / Accent (Royal Indigo) ──
142
+ point: "#5E5CE6",
143
+ pointHover: "#7A78F0",
144
+ pointForeground: "#FFFFFF",
145
+ pointSubtle: "rgba(94, 92, 230, 0.15)",
146
+ // ── Border ──
164
147
  border: "#3F3F46",
165
- // Zinc 700
166
148
  input: "#3F3F46",
167
- // ── Gray Scale (Zinc) ──
168
- gray50: "#121214",
169
- gray100: "#18181A",
149
+ // ── Gray Scale (Zinc Inverted) ──
150
+ gray50: "#09090B",
151
+ gray100: "#18181B",
170
152
  gray200: "#27272A",
171
153
  gray300: "#3F3F46",
172
154
  gray400: "#52525B",
@@ -176,7 +158,7 @@ var semanticTokens = {
176
158
  gray800: "#E4E4E7",
177
159
  gray900: "#FAFAFA",
178
160
  // ── Glass & Effects ──
179
- glassBg: "rgba(18, 18, 20, 0.85)",
161
+ glassBg: "rgba(9, 9, 11, 0.85)",
180
162
  glassBorder: "rgba(250, 250, 250, 0.1)",
181
163
  glassInset: "inset 0 1px 0 rgba(250, 250, 250, 0.05)",
182
164
  glassPanelShadow: "0 20px 40px rgba(0, 0, 0, 0.8)",
@@ -193,13 +175,13 @@ var semanticTokens = {
193
175
  gradientGlowShadow: "none",
194
176
  // ── Shadow ──
195
177
  shadowColor: "rgba(0, 0, 0, 0.9)",
196
- // ── Status (Deep & Clear) ──
197
- success: "#34D399",
198
- successBg: "rgba(52, 211, 153, 0.15)",
199
- successForeground: "#34D399",
200
- warning: "#FBBF24",
201
- warningBg: "rgba(251, 191, 36, 0.15)",
202
- warningForeground: "#FBBF24",
178
+ // ── Status ──
179
+ success: "#4ADE80",
180
+ successBg: "rgba(74, 222, 128, 0.15)",
181
+ successForeground: "#4ADE80",
182
+ warning: "#FACC15",
183
+ warningBg: "rgba(250, 204, 21, 0.15)",
184
+ warningForeground: "#FACC15",
203
185
  error: "#F87171",
204
186
  errorBg: "rgba(248, 113, 113, 0.15)",
205
187
  errorForeground: "#F87171",
@@ -210,36 +192,36 @@ var semanticTokens = {
210
192
  interactiveHover: "rgba(250, 250, 250, 0.08)",
211
193
  interactivePressed: "rgba(250, 250, 250, 0.12)",
212
194
  interactiveFocus: "#FAFAFA",
213
- interactiveSurfaceTint: "rgba(250, 250, 250, 0.04)",
214
- interactiveHoverTint: "rgba(250, 250, 250, 0.08)",
215
- focusGlow: "0 0 0 2px #3F3F46",
216
- pointGlow: "0 0 0 2px rgba(250, 250, 250, 0.3)",
195
+ interactiveSurfaceTint: "rgba(255, 255, 255, 0.04)",
196
+ interactiveHoverTint: "rgba(255, 255, 255, 0.08)",
197
+ focusGlow: "0 0 0 3px rgba(250, 250, 250, 0.15)",
198
+ pointGlow: "0 0 0 2px rgba(94, 92, 230, 0.3)",
217
199
  // ── Components ──
218
- btnPrimarySurface: "#B8C4D9",
219
- btnPrimaryHover: "#D1DBE8",
220
- btnPrimaryEnergy: "0 4px 16px rgba(184, 196, 217, 0.25)",
200
+ btnPrimarySurface: "#FAFAFA",
201
+ btnPrimaryHover: "#E4E4E7",
202
+ btnPrimaryEnergy: "0 4px 16px rgba(250, 250, 250, 0.1)",
221
203
  btnPrimaryInset: "none",
222
204
  btnSecondarySurface: "#27272A",
223
205
  btnSecondaryHover: "#3F3F46",
224
206
  btnOutlineBorder: "#3F3F46",
225
207
  btnOutlineBorderHover: "#52525B",
226
- btnOutlineHoverBg: "#27272A",
208
+ btnOutlineHoverBg: "#18181B",
227
209
  btnGhostHover: "#27272A",
228
- btnPointSurface: "#D1DBE8",
210
+ btnPointSurface: "#5E5CE6",
229
211
  btnPointBorder: "transparent",
230
- btnPointHoverSurface: "#E6ECEF",
212
+ btnPointHoverSurface: "#7A78F0",
231
213
  btnPointHoverBorder: "transparent",
232
- btnPointEnergy: "0 4px 16px rgba(209, 219, 232, 0.25)",
233
- btnDestructiveSurface: "#7C2128",
234
- btnDestructiveHover: "#9A2A32",
235
- inputBg: "#18181A",
214
+ btnPointEnergy: "0 4px 16px rgba(94, 92, 230, 0.3)",
215
+ btnDestructiveSurface: "#EF4444",
216
+ btnDestructiveHover: "#F87171",
217
+ inputBg: "#27272A",
236
218
  inputBorderRest: "#3F3F46",
237
219
  inputBorderHover: "#52525B",
238
- inputHoverGlow: "0 0 0 2px #27272A",
239
- inputFocusGlow: "0 0 0 2px #3F3F46",
240
- inputErrorGlow: "0 0 0 2px #3E1014",
241
- dropdownBg: "#18181A",
242
- dropdownShadow: "0 20px 25px -5px rgba(0, 0, 0, 0.9), 0 0 0 1px rgba(250,250,250,0.1)",
220
+ inputHoverGlow: "0 0 0 2px rgba(255, 255, 255, 0.04)",
221
+ inputFocusGlow: "0 0 0 2px rgba(250, 250, 250, 0.15)",
222
+ inputErrorGlow: "0 0 0 2px rgba(248, 113, 113, 0.3)",
223
+ dropdownBg: "#18181B",
224
+ dropdownShadow: "0 20px 25px -5px rgba(0, 0, 0, 0.9), 0 0 0 1px rgba(250, 250, 250, 0.1)",
243
225
  dropdownItemHover: "#27272A",
244
226
  cardAccentBorder: "#3F3F46",
245
227
  cardAccentGlow: "none",
@@ -252,54 +234,51 @@ var semanticTokens = {
252
234
  var chart = {
253
235
  light: {
254
236
  colors: [
255
- "#1E232D",
256
- // chart-1: Iron Navy (Primary)
257
- "#323944",
258
- // chart-2: Steel Navy (Secondary)
259
- "#4A5361",
260
- // chart-3: Slate Navy (Tertiary)
237
+ "#18181B",
238
+ // chart-1: Ink (Primary)
239
+ "#5856D6",
240
+ // chart-2: Royal Indigo (Point)
241
+ "#854D0E",
242
+ // chart-3: Dark Gold
243
+ "#0F766E",
244
+ // chart-4: Deep Teal (cool contrast)
261
245
  "#71717A",
262
- // chart-4: Zinc 500 (Accent 1)
263
- "#A1A1AA",
264
- // chart-5: Zinc 400 (Accent 2)
265
- "#D4D4D8",
266
- // chart-6: Zinc 300 (Fill)
267
- "#0F172A",
268
- // chart-7: Deep Slate 900 (Deep Fill)
269
- "#E4E4E7"
270
- // chart-8: Zinc 200 (Light Fill)
246
+ // chart-5: Zinc 500 (Neutral)
247
+ "#4B49B8",
248
+ // chart-6: Deep Indigo
249
+ "#44403C",
250
+ // chart-7: Stone 700 (Warm gray)
251
+ "#D4D4D8"
252
+ // chart-8: Zinc 300 (Light fill)
271
253
  ],
272
- grid: "rgba(30, 35, 45, 0.04)",
273
- axis: "rgba(30, 35, 45, 0.08)",
254
+ grid: "rgba(24, 24, 27, 0.04)",
255
+ axis: "rgba(24, 24, 27, 0.08)",
274
256
  label: "#71717A",
275
- // Zinc 500
276
257
  tooltipBg: "#FFFFFF"
277
258
  },
278
259
  dark: {
279
260
  colors: [
280
- "#B8C4D9",
281
- // chart-1: Bright Ice Navy (Primary)
282
- "#D1DBE8",
283
- // chart-2: Ice Steel (Secondary)
284
- "#E6ECEF",
285
- // chart-3: Pale Silver (Tertiary)
261
+ "#FAFAFA",
262
+ // chart-1: Near-white (Primary)
263
+ "#5E5CE6",
264
+ // chart-2: Royal Indigo (Point)
265
+ "#FCD34D",
266
+ // chart-3: Amber 300 (Gold)
267
+ "#2DD4BF",
268
+ // chart-4: Teal 400 (cool contrast)
286
269
  "#A1A1AA",
287
- // chart-4: Zinc 400 (Accent 1)
288
- "#71717A",
289
- // chart-5: Zinc 500 (Accent 2)
290
- "#808B9D",
291
- // chart-6: Cold Steel (Fill)
292
- "#FFFFFF",
293
- // chart-7: Pure White (Highlight)
270
+ // chart-5: Zinc 400 (Neutral)
271
+ "#7A78F0",
272
+ // chart-6: Light Indigo
273
+ "#78716C",
274
+ // chart-7: Stone 500 (Warm gray)
294
275
  "#52525B"
295
- // chart-8: Zinc 600 (Deep Fill)
276
+ // chart-8: Zinc 600 (Deep fill)
296
277
  ],
297
278
  grid: "rgba(255, 255, 255, 0.04)",
298
279
  axis: "rgba(255, 255, 255, 0.06)",
299
280
  label: "#A1A1AA",
300
- // Zinc 400
301
- tooltipBg: "#18181A"
302
- // Off-black chart tooltip matches dropdowns
281
+ tooltipBg: "#18181B"
303
282
  },
304
283
  lineWidth: 1.5,
305
284
  dotSize: 2.5,
@@ -321,9 +300,9 @@ var spacing = {
321
300
  var radius = {
322
301
  none: 0,
323
302
  xs: 4,
324
- sm: 6,
325
- m: 10,
326
- lg: 14,
303
+ sm: 8,
304
+ m: 12,
305
+ lg: 16,
327
306
  xl: 20,
328
307
  "2xl": 24,
329
308
  pill: 9999
@@ -332,12 +311,12 @@ var radius = {
332
311
  // src/elevation.ts
333
312
  var elevation = {
334
313
  light: {
335
- sm: "0 1px 2px rgba(94,94,94,0.04), 0 1px 3px rgba(94,94,94,0.02)",
336
- m: "0 2px 4px rgba(94,94,94,0.04), 0 8px 16px rgba(94,94,94,0.04)",
337
- lg: "0 4px 8px rgba(94,94,94,0.05), 0 16px 32px rgba(94,94,94,0.06)",
338
- xl: "0 8px 16px rgba(94,94,94,0.06), 0 24px 48px rgba(94,94,94,0.08)",
339
- glass: "0 4px 24px rgba(94,94,94,0.05), 0 1px 2px rgba(94,94,94,0.02)",
340
- glassLg: "0 8px 32px rgba(94,94,94,0.08), 0 2px 4px rgba(94,94,94,0.03)"
314
+ sm: "0 1px 3px rgba(0,0,0,0.04), 0 1px 2px rgba(0,0,0,0.02)",
315
+ m: "0 4px 12px rgba(0,0,0,0.05), 0 2px 4px rgba(0,0,0,0.03)",
316
+ lg: "0 8px 24px rgba(0,0,0,0.06), 0 4px 8px rgba(0,0,0,0.04)",
317
+ xl: "0 16px 40px rgba(0,0,0,0.08), 0 8px 16px rgba(0,0,0,0.04)",
318
+ glass: "0 8px 32px rgba(0,0,0,0.05), 0 2px 4px rgba(0,0,0,0.02)",
319
+ glassLg: "0 12px 48px rgba(0,0,0,0.08), 0 4px 8px rgba(0,0,0,0.04)"
341
320
  },
342
321
  dark: {
343
322
  sm: "0 1px 2px rgba(0,0,0,0.20), 0 1px 3px rgba(0,0,0,0.14)",
@@ -366,20 +345,20 @@ var motion = {
366
345
  complex: 450
367
346
  },
368
347
  easing: {
369
- /** Dia's signature curve — slight overshoot with smooth natural deceleration. */
370
- standard: "cubic-bezier(0.22, 1, 0.36, 1)",
348
+ /** Slight overshoot with smooth natural deceleration. */
349
+ standard: "cubic-bezier(0.25, 0.1, 0.25, 1)",
371
350
  /** Exit easing — fast acceleration, abrupt departure. */
372
- easeIn: "cubic-bezier(0.55, 0, 1, 0.45)",
351
+ easeIn: "cubic-bezier(0.42, 0, 1, 1)",
373
352
  /** Entrance easing — gentle deceleration without overshoot. */
374
- easeOut: "cubic-bezier(0, 0.55, 0.45, 1)",
353
+ easeOut: "cubic-bezier(0, 0, 0.58, 1)",
375
354
  /** Symmetric ease — smooth in both directions. */
376
355
  easeInOut: "cubic-bezier(0.65, 0, 0.35, 1)",
377
- /** Playful overshoot — for toggles, switches, confirmatory feedback. */
378
- bounce: "cubic-bezier(0.34, 1.56, 0.64, 1)",
379
- /** Stronger spring feel — deliberate physical presence. */
380
- spring: "cubic-bezier(0.22, 1.2, 0.36, 1)",
356
+ /** Restrained overshoot — for toggles, switches, confirmatory feedback. */
357
+ bounce: "cubic-bezier(0.34, 1.3, 0.64, 1)",
358
+ /** Subtle spring feel — deliberate physical presence. */
359
+ spring: "cubic-bezier(0.22, 1.1, 0.36, 1)",
381
360
  /** Subtle rubber-band — elastic resistance with quick snap back. */
382
- elastic: "cubic-bezier(0.68, -0.2, 0.265, 1.2)"
361
+ elastic: "cubic-bezier(0.68, -0.1, 0.265, 1.1)"
383
362
  },
384
363
  /** Standard animation keyframe presets for reuse across components. */
385
364
  keyframes: {
@@ -396,13 +375,25 @@ var motion = {
396
375
  to: { opacity: "1", filter: "blur(0px)", transform: "scale(1)" }
397
376
  },
398
377
  /** Slide entrance from below — element springs up from offset position. */
399
- slideInUp: { from: { opacity: "0", transform: "translateY(5px)" }, to: { opacity: "1", transform: "translateY(0)" } },
378
+ slideInUp: {
379
+ from: { opacity: "0", transform: "translateY(5px)" },
380
+ to: { opacity: "1", transform: "translateY(0)" }
381
+ },
400
382
  /** Slide entrance from above — element springs down from offset position. */
401
- slideInDown: { from: { opacity: "0", transform: "translateY(-5px)" }, to: { opacity: "1", transform: "translateY(0)" } },
383
+ slideInDown: {
384
+ from: { opacity: "0", transform: "translateY(-5px)" },
385
+ to: { opacity: "1", transform: "translateY(0)" }
386
+ },
402
387
  /** Slide entrance from left — element springs in from offset. */
403
- slideInLeft: { from: { opacity: "0", transform: "translateX(-5px)" }, to: { opacity: "1", transform: "translateX(0)" } },
388
+ slideInLeft: {
389
+ from: { opacity: "0", transform: "translateX(-5px)" },
390
+ to: { opacity: "1", transform: "translateX(0)" }
391
+ },
404
392
  /** Slide entrance from right — element springs in from offset. */
405
- slideInRight: { from: { opacity: "0", transform: "translateX(5px)" }, to: { opacity: "1", transform: "translateX(0)" } },
393
+ slideInRight: {
394
+ from: { opacity: "0", transform: "translateX(5px)" },
395
+ to: { opacity: "1", transform: "translateX(0)" }
396
+ },
406
397
  /** Scale entrance — element inflates from slight compression. */
407
398
  scaleIn: { from: { opacity: "0", transform: "scale(0.98)" }, to: { opacity: "1", transform: "scale(1)" } },
408
399
  scaleOut: { from: { opacity: "1", transform: "scale(1)" }, to: { opacity: "0", transform: "scale(0.98)" } },
@@ -469,25 +460,25 @@ var typography = {
469
460
  // src/component.ts
470
461
  var component = {
471
462
  button: {
472
- sm: { height: 34, paddingX: 18, fontSize: 12, borderRadius: 8},
473
- md: { height: 42, paddingX: 28, fontSize: 13, borderRadius: 10, iconSize: 18 },
474
- lg: { height: 50, paddingX: 36, fontSize: 15, borderRadius: 14}
463
+ sm: { height: 32, paddingX: 16, fontSize: 13, borderRadius: 8},
464
+ md: { height: 44, paddingX: 20, fontSize: 15, borderRadius: 12, iconSize: 18 },
465
+ lg: { height: 50, paddingX: 28, fontSize: 17, borderRadius: 14}
475
466
  },
476
467
  input: {
477
- height: 42,
478
- paddingX: 18,
468
+ height: 44,
469
+ paddingX: 16,
479
470
  paddingY: 12,
480
- fontSize: 14,
481
- borderRadius: 10,
471
+ fontSize: 15,
472
+ borderRadius: 12,
482
473
  iconSize: 18,
483
474
  iconPadding: 42
484
475
  },
485
476
  card: {
486
- padding: 28,
487
- gap: 20,
477
+ padding: 24,
478
+ gap: 16,
488
479
  borderRadius: 16,
489
480
  titleSize: 17,
490
- bodySize: 14
481
+ bodySize: 15
491
482
  },
492
483
  badge: {
493
484
  paddingX: 12,
@@ -497,26 +488,26 @@ var component = {
497
488
  },
498
489
  checkbox: {
499
490
  gap: 12,
500
- size: 20,
491
+ size: 22,
501
492
  borderRadius: 6,
502
- borderWidth: 2,
493
+ borderWidth: 1.5,
503
494
  iconSize: 14,
504
- labelSize: 14
495
+ labelSize: 15
505
496
  },
506
497
  radio: {
507
498
  gap: 12,
508
- size: 20,
509
- borderWidth: 2,
499
+ size: 22,
500
+ borderWidth: 1.5,
510
501
  checkedBorderWidth: 6,
511
- labelSize: 14
502
+ labelSize: 15
512
503
  },
513
504
  switch: {
514
- width: 52,
515
- height: 32,
516
- thumbSize: 24,
517
- thumbOffset: 4,
518
- thumbTranslateOn: 24,
519
- thumbTranslateOff: 4
505
+ width: 51,
506
+ height: 31,
507
+ thumbSize: 27,
508
+ thumbOffset: 2,
509
+ thumbTranslateOn: 22,
510
+ thumbTranslateOff: 2
520
511
  },
521
512
  chip: {
522
513
  paddingX: 16,
@@ -536,14 +527,14 @@ var component = {
536
527
  paddingY: 8,
537
528
  fontSize: 13,
538
529
  containerPadding: 4,
539
- containerRadius: 14,
540
- itemRadius: 10
530
+ containerRadius: 10,
531
+ itemRadius: 8
541
532
  }
542
533
  },
543
534
  slider: {
544
- trackHeight: 6,
545
- thumbSize: 20,
546
- thumbBorderWidth: 2
535
+ trackHeight: 4,
536
+ thumbSize: 28,
537
+ thumbBorderWidth: 0
547
538
  },
548
539
  tooltip: {
549
540
  simple: { paddingX: 14, paddingY: 8, fontSize: 13, borderRadius: 10 },
@@ -558,16 +549,16 @@ var component = {
558
549
  },
559
550
  divider: {
560
551
  thickness: 1,
561
- thickThickness: 8,
552
+ thickThickness: 1,
562
553
  insetMargin: 64,
563
554
  labelSize: 12
564
555
  },
565
556
  progress: {
566
- linear: { height: 8, borderRadius: 9999 },
557
+ linear: { height: 6, borderRadius: 9999 },
567
558
  circular: { strokeWidth: 4, textSize: 14 }
568
559
  },
569
560
  snackbar: {
570
- borderRadius: 14,
561
+ borderRadius: 12,
571
562
  gap: 12,
572
563
  iconSize: 18,
573
564
  messageSize: 14,
@@ -577,15 +568,15 @@ var component = {
577
568
  actionSize: 13
578
569
  },
579
570
  dialog: {
580
- width: 380,
581
- borderRadius: 20,
582
- headerPaddingX: 28,
583
- headerPaddingY: 24,
584
- footerPaddingX: 28,
571
+ width: 320,
572
+ borderRadius: 14,
573
+ headerPaddingX: 24,
574
+ headerPaddingY: 20,
575
+ footerPaddingX: 24,
585
576
  footerPaddingY: 20,
586
577
  titleSize: 17,
587
- descSize: 14,
588
- footerGap: 14
578
+ descSize: 13,
579
+ footerGap: 8
589
580
  },
590
581
  animatedToggle: {
591
582
  size: 40,
@@ -1,4 +1,5 @@
1
- import { semanticTokens, chart, elevation, motion, typography, px, component, rem, unitless, zIndex, ms, radius, spacing } from '../chunk-T3JFXTDW.mjs';
1
+ import { px, rem, unitless, ms } from '../chunk-GLCF64BD.mjs';
2
+ import { semanticTokens, chart, elevation, motion, typography, component, zIndex, radius, spacing } from '../chunk-7I7QJ2NP.mjs';
2
3
 
3
4
  // src/web/css-variables.ts
4
5
  function generateCSSVariables(mode) {