@titan-design/react-ui 0.2.7 → 0.4.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.
- package/dist/bodymap-BhG55xHM.d.mts +318 -0
- package/dist/bodymap-BhG55xHM.d.ts +318 -0
- package/dist/bodymap.d.mts +3 -0
- package/dist/bodymap.d.ts +3 -0
- package/dist/bodymap.js +3014 -0
- package/dist/bodymap.js.map +1 -0
- package/dist/bodymap.mjs +1088 -0
- package/dist/bodymap.mjs.map +1 -0
- package/dist/chunk-2SISKTWM.mjs +1027 -0
- package/dist/chunk-2SISKTWM.mjs.map +1 -0
- package/dist/{chunk-5SSKGS6E.mjs → chunk-7XPB4NAO.mjs} +124 -4
- package/dist/chunk-7XPB4NAO.mjs.map +1 -0
- package/dist/{chunk-3VLOBS6O.mjs → chunk-SNVKL5WZ.mjs} +42 -5
- package/dist/chunk-SNVKL5WZ.mjs.map +1 -0
- package/dist/index.d.mts +416 -250
- package/dist/index.d.ts +416 -250
- package/dist/index.js +1567 -1123
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1491 -2201
- package/dist/index.mjs.map +1 -1
- package/dist/theme/index.d.mts +288 -2
- package/dist/theme/index.d.ts +288 -2
- package/dist/theme/index.js +159 -2
- package/dist/theme/index.js.map +1 -1
- package/dist/theme/index.mjs +2 -2
- package/dist/theme/tokens-css.d.mts +5 -3
- package/dist/theme/tokens-css.d.ts +5 -3
- package/dist/theme/tokens-css.js +318 -9
- package/dist/theme/tokens-css.js.map +1 -1
- package/dist/theme/tokens-css.mjs +1 -1
- package/dist/theme/tokens-css.mjs.map +1 -1
- package/package.json +10 -1
- package/src/bodymap.ts +37 -0
- package/src/components/custom/Table/Table.test.tsx +27 -0
- package/src/components/custom/Table/Table.tsx +33 -17
- package/src/components/custom/Workout/ActiveWorkoutPage.stories.tsx +118 -0
- package/src/components/custom/Workout/ActiveWorkoutPage.test.tsx +171 -0
- package/src/components/custom/Workout/ActiveWorkoutPage.tsx +442 -0
- package/src/components/custom/Workout/BodyMap.tsx +7 -9
- package/src/components/custom/Workout/BodyMapDetailPanel.tsx +25 -29
- package/src/components/custom/Workout/CapacityBandChart.tsx +2 -3
- package/src/components/custom/Workout/ExerciseCard.test.tsx +24 -0
- package/src/components/custom/Workout/ExerciseCard.tsx +24 -26
- package/src/components/custom/Workout/ExerciseDetailPage.stories.tsx +225 -0
- package/src/components/custom/Workout/ExerciseDetailPage.test.tsx +128 -0
- package/src/components/custom/Workout/ExerciseDetailPage.tsx +624 -0
- package/src/components/custom/Workout/InputBar.tsx +10 -12
- package/src/components/custom/Workout/MesoCard.tsx +2 -4
- package/src/components/custom/Workout/MesoProgressBar.test.tsx +12 -0
- package/src/components/custom/Workout/MesoProgressBar.tsx +5 -1
- package/src/components/custom/Workout/MesoStatusCard.tsx +17 -15
- package/src/components/custom/Workout/MuscleGroupChip.tsx +2 -4
- package/src/components/custom/Workout/PlaceholderStrip.tsx +2 -4
- package/src/components/custom/Workout/PrHistoryModal.tsx +12 -14
- package/src/components/custom/Workout/ProgramPlanningPage.stories.tsx +257 -0
- package/src/components/custom/Workout/ProgramPlanningPage.test.tsx +142 -0
- package/src/components/custom/Workout/ProgramPlanningPage.tsx +418 -0
- package/src/components/custom/Workout/ReadinessCheck.tsx +13 -12
- package/src/components/custom/Workout/RestTimer.test.tsx +10 -0
- package/src/components/custom/Workout/RestTimer.tsx +12 -9
- package/src/components/custom/Workout/SetRow.tsx +16 -19
- package/src/components/custom/Workout/StatusDot.tsx +1 -0
- package/src/components/custom/Workout/StrengthTrendChart.tsx +15 -17
- package/src/components/custom/Workout/TempoBar.stories.tsx +95 -0
- package/src/components/custom/Workout/TempoBar.test.tsx +103 -0
- package/src/components/custom/Workout/TempoBar.tsx +215 -0
- package/src/components/custom/Workout/TempoDisplay.tsx +3 -1
- package/src/components/custom/Workout/TrainingStatusPage.stories.tsx +212 -0
- package/src/components/custom/Workout/TrainingStatusPage.test.tsx +131 -0
- package/src/components/custom/Workout/TrainingStatusPage.tsx +312 -0
- package/src/components/custom/Workout/VelocityStrip.test.tsx +10 -0
- package/src/components/custom/Workout/VelocityStrip.tsx +19 -16
- package/src/components/custom/Workout/WeekRow.tsx +2 -1
- package/src/components/custom/Workout/WorkoutCard.tsx +3 -6
- package/src/components/custom/Workout/index.ts +80 -32
- package/src/test/nativewind-stub.ts +13 -0
- package/src/theme/ThemeProvider.test.tsx +24 -0
- package/src/theme/ThemeProvider.tsx +50 -0
- package/src/theme/config.completeness.test.ts +77 -0
- package/src/theme/config.ts +151 -0
- package/src/theme/index.ts +2 -0
- package/src/theme/manifest/design-freeze.test.ts +155 -0
- package/src/theme/manifest/extract-css-properties.fixture.html +29 -0
- package/src/theme/manifest/extract-css-properties.test.ts +112 -0
- package/src/theme/resolve-color.ts +19 -0
- package/src/theme/tokens-css.ts +5 -3
- package/src/theme/workout-tokens.ts +12 -14
- package/src/utils/index.ts +10 -0
- package/src/utils/workout-format.test.ts +81 -0
- package/src/utils/workout-format.ts +83 -0
- package/dist/chunk-3VLOBS6O.mjs.map +0 -1
- package/dist/chunk-5SSKGS6E.mjs.map +0 -1
package/dist/theme/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { applyThemePreset, audiobookPreset, componentElevationRanges, createFlatShadow, createPressedHoverShadow, createPressedShadow, createRaisedHoverShadow, createRaisedShadow, darken, defaultPreset, elevationSystem, getBaseSurfaceColor, getElevationConfig, getElevationShadow, getElevationSurface, getGlowShadow, getHoverColors, getValidatedElevation, hexToRgb, hsvToRgb, isCssPropertyManifest, isDark, lighten, neumorphicShadows, rgbToHex, rgbToHsv, shadowColors, validateCssPropertyManifest } from '../chunk-
|
|
2
|
-
export { buttonSizes, darkThemeCSSVars, discreteRainbow, getDiscreteRainbowColor, getSemanticColors, getThemeCSSVars, gluestackConfig, lightThemeCSSVars, primitiveBorderRadius, primitiveBreakpoints, primitiveColors, primitiveShadows, primitiveSpacing, primitiveTypography, primitiveZIndex, semanticColorsDark, semanticColorsLight, semanticTypography } from '../chunk-
|
|
1
|
+
export { ThemeProvider, applyThemePreset, audiobookPreset, componentElevationRanges, createFlatShadow, createPressedHoverShadow, createPressedShadow, createRaisedHoverShadow, createRaisedShadow, darken, defaultPreset, elevationSystem, getBaseSurfaceColor, getElevationConfig, getElevationShadow, getElevationSurface, getGlowShadow, getHoverColors, getValidatedElevation, hexToRgb, hsvToRgb, isCssPropertyManifest, isDark, lighten, neumorphicShadows, resolveColor, rgbToHex, rgbToHsv, shadowColors, validateCssPropertyManifest } from '../chunk-SNVKL5WZ.mjs';
|
|
2
|
+
export { buttonSizes, darkThemeCSSVars, discreteRainbow, getDiscreteRainbowColor, getSemanticColors, getThemeCSSVars, gluestackConfig, lightThemeCSSVars, primitiveBorderRadius, primitiveBreakpoints, primitiveColors, primitiveShadows, primitiveSpacing, primitiveTypography, primitiveZIndex, semanticColorsDark, semanticColorsLight, semanticTypography } from '../chunk-7XPB4NAO.mjs';
|
|
3
3
|
//# sourceMappingURL=index.mjs.map
|
|
4
4
|
//# sourceMappingURL=index.mjs.map
|
|
@@ -2,9 +2,11 @@
|
|
|
2
2
|
* Token CSS Generator
|
|
3
3
|
*
|
|
4
4
|
* Emits a static `:root {}` CSS block from the canonical theme token maps
|
|
5
|
-
* (`darkThemeCSSVars` / `lightThemeCSSVars`).
|
|
6
|
-
*
|
|
7
|
-
*
|
|
5
|
+
* (`darkThemeCSSVars` / `lightThemeCSSVars`). Those maps mirror every `:root`
|
|
6
|
+
* custom property in `theme/global.css` — completeness and value parity are
|
|
7
|
+
* enforced by `config.completeness.test.ts`, so HTML prototypes that import the
|
|
8
|
+
* generated stylesheet resolve to the exact same values as the design system.
|
|
9
|
+
* Pure codegen: deterministic and diffable against source.
|
|
8
10
|
*
|
|
9
11
|
* Dark mode is the default (`:root`); light mode is activated with `.light`,
|
|
10
12
|
* matching the convention in `theme/global.css`.
|
|
@@ -2,9 +2,11 @@
|
|
|
2
2
|
* Token CSS Generator
|
|
3
3
|
*
|
|
4
4
|
* Emits a static `:root {}` CSS block from the canonical theme token maps
|
|
5
|
-
* (`darkThemeCSSVars` / `lightThemeCSSVars`).
|
|
6
|
-
*
|
|
7
|
-
*
|
|
5
|
+
* (`darkThemeCSSVars` / `lightThemeCSSVars`). Those maps mirror every `:root`
|
|
6
|
+
* custom property in `theme/global.css` — completeness and value parity are
|
|
7
|
+
* enforced by `config.completeness.test.ts`, so HTML prototypes that import the
|
|
8
|
+
* generated stylesheet resolve to the exact same values as the design system.
|
|
9
|
+
* Pure codegen: deterministic and diffable against source.
|
|
8
10
|
*
|
|
9
11
|
* Dark mode is the default (`:root`); light mode is activated with `.light`,
|
|
10
12
|
* matching the convention in `theme/global.css`.
|
package/dist/theme/tokens-css.js
CHANGED
|
@@ -4,26 +4,41 @@
|
|
|
4
4
|
var primitiveColors = {
|
|
5
5
|
// Blue scale (primary brand)
|
|
6
6
|
blue: {
|
|
7
|
-
|
|
7
|
+
400: "#60A5FA",
|
|
8
|
+
600: "#5048E5",
|
|
9
|
+
// Primary main
|
|
10
|
+
700: "#3832A0"},
|
|
8
11
|
// Teal scale (success)
|
|
9
12
|
teal: {
|
|
10
13
|
50: "#F0FDFA",
|
|
14
|
+
400: "#43C6B7",
|
|
11
15
|
// Success light
|
|
12
|
-
500: "#14B8A6"
|
|
16
|
+
500: "#14B8A6",
|
|
17
|
+
700: "#0E8074"},
|
|
13
18
|
// Red scale (error)
|
|
14
19
|
red: {
|
|
15
20
|
50: "#FEF2F2",
|
|
16
|
-
|
|
21
|
+
400: "#DA6868",
|
|
22
|
+
// Error light
|
|
23
|
+
500: "#EF4444",
|
|
24
|
+
600: "#D14343",
|
|
25
|
+
// Error main
|
|
26
|
+
700: "#922E2E"},
|
|
17
27
|
// Amber scale (warning)
|
|
18
28
|
amber: {
|
|
19
29
|
50: "#FFFBEB",
|
|
30
|
+
400: "#FFBF4C",
|
|
20
31
|
// Warning light
|
|
21
|
-
500: "#FFB020"
|
|
32
|
+
500: "#FFB020",
|
|
33
|
+
// Warning main
|
|
34
|
+
600: "#B27B16"},
|
|
22
35
|
// Sky/Blue scale (info)
|
|
23
36
|
sky: {
|
|
24
37
|
50: "#F0F9FF",
|
|
38
|
+
400: "#64B6F7",
|
|
25
39
|
// Info light
|
|
26
|
-
500: "#2196F3"
|
|
40
|
+
500: "#2196F3",
|
|
41
|
+
700: "#0B79D0"},
|
|
27
42
|
// Neutral/Gray scale
|
|
28
43
|
neutral: {
|
|
29
44
|
50: "#FAFAFA",
|
|
@@ -31,11 +46,15 @@ var primitiveColors = {
|
|
|
31
46
|
300: "#D1D5DB",
|
|
32
47
|
400: "#9CA3AF",
|
|
33
48
|
500: "#6B7280",
|
|
49
|
+
600: "#4B5563",
|
|
34
50
|
900: "#111827"},
|
|
35
51
|
// Orange scale (accent/brand color)
|
|
36
52
|
accent: {
|
|
37
53
|
200: "#FF9630",
|
|
54
|
+
300: "#FF8500",
|
|
38
55
|
400: "#FF7900",
|
|
56
|
+
500: "#F56C00",
|
|
57
|
+
600: "#E06D10",
|
|
39
58
|
700: "#D0620C"},
|
|
40
59
|
// Charcoal scale (dark backgrounds)
|
|
41
60
|
charcoal: {
|
|
@@ -49,10 +68,43 @@ var primitiveColors = {
|
|
|
49
68
|
// Steel scale (cool accent)
|
|
50
69
|
steel: {
|
|
51
70
|
300: "#678498",
|
|
71
|
+
400: "#557488",
|
|
52
72
|
500: "#406D87",
|
|
73
|
+
600: "#39617A",
|
|
53
74
|
700: "#32556D"},
|
|
54
75
|
// Pure colors
|
|
55
76
|
white: "#FFFFFF"};
|
|
77
|
+
var discreteRainbow = [
|
|
78
|
+
"#E8ECFB",
|
|
79
|
+
"#D9CCE3",
|
|
80
|
+
"#D1BBD7",
|
|
81
|
+
"#CAACCB",
|
|
82
|
+
"#BA8DB4",
|
|
83
|
+
"#AE76A3",
|
|
84
|
+
"#AA6F9E",
|
|
85
|
+
"#994F88",
|
|
86
|
+
"#882E72",
|
|
87
|
+
"#1965B0",
|
|
88
|
+
"#437DBF",
|
|
89
|
+
"#5289C7",
|
|
90
|
+
"#6195CF",
|
|
91
|
+
"#7BAFDE",
|
|
92
|
+
"#4EB265",
|
|
93
|
+
"#90C987",
|
|
94
|
+
"#CAE0AB",
|
|
95
|
+
"#F7F056",
|
|
96
|
+
"#F7CB45",
|
|
97
|
+
"#F6C141",
|
|
98
|
+
"#F4A736",
|
|
99
|
+
"#F1932D",
|
|
100
|
+
"#EE8026",
|
|
101
|
+
"#E8601C",
|
|
102
|
+
"#E65518",
|
|
103
|
+
"#DC050C",
|
|
104
|
+
"#A5170E",
|
|
105
|
+
"#72190E",
|
|
106
|
+
"#42150A"
|
|
107
|
+
];
|
|
56
108
|
|
|
57
109
|
// src/theme/tokens/semantic.ts
|
|
58
110
|
var semanticColorsLight = {
|
|
@@ -64,6 +116,8 @@ var semanticColorsLight = {
|
|
|
64
116
|
"brand-primary-dark": primitiveColors.accent[700],
|
|
65
117
|
// #D0620C
|
|
66
118
|
"brand-primary-subtle": "rgba(255, 121, 0, 0.08)",
|
|
119
|
+
"brand-primary-hover": primitiveColors.accent[500],
|
|
120
|
+
"brand-primary-active": primitiveColors.accent[600],
|
|
67
121
|
"brand-secondary": primitiveColors.steel[500],
|
|
68
122
|
// #406D87
|
|
69
123
|
"brand-secondary-light": primitiveColors.steel[300],
|
|
@@ -71,22 +125,84 @@ var semanticColorsLight = {
|
|
|
71
125
|
"brand-secondary-dark": primitiveColors.steel[700],
|
|
72
126
|
// #32556D
|
|
73
127
|
"brand-secondary-subtle": "rgba(64, 109, 135, 0.08)",
|
|
128
|
+
"brand-secondary-hover": primitiveColors.steel[600],
|
|
129
|
+
"brand-secondary-active": primitiveColors.steel[700],
|
|
74
130
|
// Text on brand backgrounds (on-*)
|
|
75
131
|
"on-brand-primary": primitiveColors.white,
|
|
76
132
|
"on-brand-secondary": primitiveColors.white,
|
|
77
133
|
// Status colors (status-*)
|
|
78
134
|
"status-success": primitiveColors.teal[500],
|
|
135
|
+
// #14B8A6
|
|
136
|
+
"status-success-light": primitiveColors.teal[400],
|
|
137
|
+
// #43C6B7
|
|
138
|
+
"status-success-dark": primitiveColors.teal[700],
|
|
79
139
|
// #0E8074
|
|
80
140
|
"status-success-subtle": primitiveColors.teal[50],
|
|
81
141
|
"status-error": primitiveColors.red[600],
|
|
142
|
+
// #D14343
|
|
143
|
+
"status-error-light": primitiveColors.red[400],
|
|
144
|
+
// #DA6868
|
|
145
|
+
"status-error-dark": primitiveColors.red[700],
|
|
82
146
|
// #922E2E
|
|
83
147
|
"status-error-subtle": primitiveColors.red[50],
|
|
84
148
|
"status-warning": primitiveColors.amber[500],
|
|
149
|
+
// #FFB020
|
|
150
|
+
"status-warning-light": primitiveColors.amber[400],
|
|
151
|
+
// #FFBF4C
|
|
152
|
+
"status-warning-dark": primitiveColors.amber[600],
|
|
85
153
|
// #B27B16
|
|
86
154
|
"status-warning-subtle": primitiveColors.amber[50],
|
|
87
155
|
"status-info": primitiveColors.sky[500],
|
|
156
|
+
// #2196F3
|
|
157
|
+
"status-info-light": primitiveColors.sky[400],
|
|
158
|
+
// #64B6F7
|
|
159
|
+
"status-info-dark": primitiveColors.sky[700],
|
|
88
160
|
// #0B79D0
|
|
89
161
|
"status-info-subtle": primitiveColors.sky[50],
|
|
162
|
+
// Text on status backgrounds (on-status-*)
|
|
163
|
+
"on-status-success": primitiveColors.white,
|
|
164
|
+
"on-status-error": primitiveColors.white,
|
|
165
|
+
"on-status-warning": primitiveColors.white,
|
|
166
|
+
"on-status-info": primitiveColors.white,
|
|
167
|
+
// Result/outcome indicators (result-*)
|
|
168
|
+
"result-improve": "#4caf50",
|
|
169
|
+
// Green - positive outcome
|
|
170
|
+
"result-improve-light": "rgba(76, 175, 80, 0.12)",
|
|
171
|
+
"result-improve-dark": "#248a24",
|
|
172
|
+
"result-degrade": "#ef5350",
|
|
173
|
+
// Red - negative outcome
|
|
174
|
+
"result-degrade-light": "rgba(239, 83, 80, 0.12)",
|
|
175
|
+
"result-degrade-dark": "#b30000",
|
|
176
|
+
"result-inconclusive": "#9E9A97",
|
|
177
|
+
// Gray - no clear result
|
|
178
|
+
"result-inconclusive-light": "rgba(158, 154, 151, 0.12)",
|
|
179
|
+
"result-neutral": primitiveColors.neutral[500],
|
|
180
|
+
// Neutral baseline
|
|
181
|
+
// Text on result backgrounds (on-result-*)
|
|
182
|
+
"on-result-improve": primitiveColors.white,
|
|
183
|
+
"on-result-degrade": primitiveColors.white,
|
|
184
|
+
"on-result-inconclusive": primitiveColors.white,
|
|
185
|
+
// Data visualization colors (data-*)
|
|
186
|
+
// First 10 colors from discrete rainbow optimized for charts
|
|
187
|
+
"data-1": discreteRainbow[9],
|
|
188
|
+
// #1965B0 - Blue
|
|
189
|
+
"data-2": discreteRainbow[14],
|
|
190
|
+
// #4EB265 - Green
|
|
191
|
+
"data-3": discreteRainbow[17],
|
|
192
|
+
// #F7F056 - Yellow
|
|
193
|
+
"data-4": discreteRainbow[25],
|
|
194
|
+
// #DC050C - Red
|
|
195
|
+
"data-5": discreteRainbow[8],
|
|
196
|
+
// #882E72 - Purple
|
|
197
|
+
"data-6": discreteRainbow[20],
|
|
198
|
+
// #F4A736 - Orange
|
|
199
|
+
"data-7": discreteRainbow[13],
|
|
200
|
+
// #7BAFDE - Light Blue
|
|
201
|
+
"data-8": discreteRainbow[15],
|
|
202
|
+
// #90C987 - Light Green
|
|
203
|
+
"data-9": discreteRainbow[3],
|
|
204
|
+
// #CAACCB - Lavender
|
|
205
|
+
"data-10": discreteRainbow[22],
|
|
90
206
|
// #EE8026 - Dark Orange
|
|
91
207
|
// Text colors (text-*)
|
|
92
208
|
"text-primary": "#121828",
|
|
@@ -95,11 +211,15 @@ var semanticColorsLight = {
|
|
|
95
211
|
"text-disabled": "rgba(55, 65, 81, 0.48)",
|
|
96
212
|
"text-inverse": primitiveColors.white,
|
|
97
213
|
"text-link": primitiveColors.blue[600],
|
|
214
|
+
"text-link-hover": primitiveColors.blue[700],
|
|
98
215
|
// Surface colors (surface-*) - for elevated containers
|
|
99
216
|
"surface-base": primitiveColors.white,
|
|
100
217
|
"surface-elevated": primitiveColors.neutral[50],
|
|
101
218
|
// #FAFAFA - slightly off-white for elevated cards
|
|
102
219
|
"surface-raised": primitiveColors.neutral[100],
|
|
220
|
+
// #F3F4F6 - light gray for raised cards
|
|
221
|
+
"surface-overlay": primitiveColors.white,
|
|
222
|
+
"surface-input": primitiveColors.neutral[50],
|
|
103
223
|
// Input field background (filled variant)
|
|
104
224
|
// Background colors (background-*)
|
|
105
225
|
"background-base": "#EBEBEB",
|
|
@@ -110,6 +230,13 @@ var semanticColorsLight = {
|
|
|
110
230
|
"border-subtle": primitiveColors.neutral[100],
|
|
111
231
|
"border-strong": primitiveColors.neutral[300],
|
|
112
232
|
"border-focus": primitiveColors.blue[600],
|
|
233
|
+
"border-input": primitiveColors.neutral[300],
|
|
234
|
+
// Input field border
|
|
235
|
+
"border-input-hover": primitiveColors.neutral[400],
|
|
236
|
+
// Input field border on hover
|
|
237
|
+
"border-input-focus": primitiveColors.blue[600],
|
|
238
|
+
// Input field border on focus
|
|
239
|
+
"border-input-error": primitiveColors.red[600],
|
|
113
240
|
// Input field border on error
|
|
114
241
|
// Interactive states (interactive-*)
|
|
115
242
|
"interactive-hover": "rgba(55, 65, 81, 0.04)",
|
|
@@ -117,30 +244,77 @@ var semanticColorsLight = {
|
|
|
117
244
|
"interactive-active": "rgba(55, 65, 81, 0.16)",
|
|
118
245
|
"interactive-selected": "rgba(55, 65, 81, 0.08)",
|
|
119
246
|
"interactive-disabled": "rgba(55, 65, 81, 0.12)",
|
|
247
|
+
"interactive-disabled-text": "rgba(55, 65, 81, 0.26)",
|
|
120
248
|
// Divider
|
|
121
|
-
"divider": "#E8E9EB"
|
|
249
|
+
"divider": "#E8E9EB",
|
|
250
|
+
// Avatar default
|
|
251
|
+
"avatar-background": primitiveColors.neutral[500],
|
|
252
|
+
"avatar-text": primitiveColors.white
|
|
253
|
+
};
|
|
122
254
|
var semanticColorsDark = {
|
|
123
255
|
// Brand colors stay the same in dark mode
|
|
124
256
|
"brand-primary": primitiveColors.accent[400],
|
|
125
257
|
"brand-primary-light": primitiveColors.accent[200],
|
|
126
258
|
"brand-primary-dark": primitiveColors.accent[700],
|
|
127
259
|
"brand-primary-subtle": "rgba(255, 121, 0, 0.12)",
|
|
260
|
+
"brand-primary-hover": primitiveColors.accent[300],
|
|
261
|
+
"brand-primary-active": primitiveColors.accent[200],
|
|
128
262
|
"brand-secondary": primitiveColors.steel[500],
|
|
129
263
|
"brand-secondary-light": primitiveColors.steel[300],
|
|
130
264
|
"brand-secondary-dark": primitiveColors.steel[700],
|
|
131
265
|
"brand-secondary-subtle": "rgba(64, 109, 135, 0.12)",
|
|
266
|
+
"brand-secondary-hover": primitiveColors.steel[400],
|
|
267
|
+
"brand-secondary-active": primitiveColors.steel[300],
|
|
132
268
|
// Text on brand backgrounds
|
|
133
269
|
"on-brand-primary": primitiveColors.white,
|
|
134
270
|
"on-brand-secondary": primitiveColors.white,
|
|
135
271
|
// Status colors
|
|
136
272
|
"status-success": primitiveColors.teal[500],
|
|
273
|
+
"status-success-light": primitiveColors.teal[400],
|
|
274
|
+
"status-success-dark": primitiveColors.teal[700],
|
|
137
275
|
"status-success-subtle": "rgba(20, 184, 166, 0.12)",
|
|
138
276
|
"status-error": primitiveColors.red[600],
|
|
277
|
+
"status-error-light": primitiveColors.red[400],
|
|
278
|
+
"status-error-dark": primitiveColors.red[700],
|
|
139
279
|
"status-error-subtle": "rgba(209, 67, 67, 0.12)",
|
|
140
280
|
"status-warning": primitiveColors.amber[500],
|
|
281
|
+
"status-warning-light": primitiveColors.amber[400],
|
|
282
|
+
"status-warning-dark": primitiveColors.amber[600],
|
|
141
283
|
"status-warning-subtle": "rgba(255, 176, 32, 0.12)",
|
|
142
284
|
"status-info": primitiveColors.sky[500],
|
|
285
|
+
"status-info-light": primitiveColors.sky[400],
|
|
286
|
+
"status-info-dark": primitiveColors.sky[700],
|
|
143
287
|
"status-info-subtle": "rgba(33, 150, 243, 0.12)",
|
|
288
|
+
// Text on status backgrounds
|
|
289
|
+
"on-status-success": primitiveColors.white,
|
|
290
|
+
"on-status-error": primitiveColors.white,
|
|
291
|
+
"on-status-warning": primitiveColors.white,
|
|
292
|
+
"on-status-info": primitiveColors.white,
|
|
293
|
+
// Result/outcome indicators (result-*)
|
|
294
|
+
"result-improve": "#4caf50",
|
|
295
|
+
"result-improve-light": "rgba(76, 175, 80, 0.16)",
|
|
296
|
+
"result-improve-dark": "#248a24",
|
|
297
|
+
"result-degrade": "#ef5350",
|
|
298
|
+
"result-degrade-light": "rgba(239, 83, 80, 0.16)",
|
|
299
|
+
"result-degrade-dark": "#b30000",
|
|
300
|
+
"result-inconclusive": "#9E9A97",
|
|
301
|
+
"result-inconclusive-light": "rgba(158, 154, 151, 0.16)",
|
|
302
|
+
"result-neutral": primitiveColors.neutral[400],
|
|
303
|
+
// Text on result backgrounds
|
|
304
|
+
"on-result-improve": primitiveColors.white,
|
|
305
|
+
"on-result-degrade": primitiveColors.white,
|
|
306
|
+
"on-result-inconclusive": primitiveColors.white,
|
|
307
|
+
// Data visualization colors (same in dark mode for consistency)
|
|
308
|
+
"data-1": discreteRainbow[9],
|
|
309
|
+
"data-2": discreteRainbow[14],
|
|
310
|
+
"data-3": discreteRainbow[17],
|
|
311
|
+
"data-4": discreteRainbow[25],
|
|
312
|
+
"data-5": discreteRainbow[8],
|
|
313
|
+
"data-6": discreteRainbow[20],
|
|
314
|
+
"data-7": discreteRainbow[13],
|
|
315
|
+
"data-8": discreteRainbow[15],
|
|
316
|
+
"data-9": discreteRainbow[3],
|
|
317
|
+
"data-10": discreteRainbow[22],
|
|
144
318
|
// Text colors - inverted for dark mode
|
|
145
319
|
"text-primary": primitiveColors.neutral[100],
|
|
146
320
|
"text-secondary": primitiveColors.neutral[400],
|
|
@@ -148,12 +322,17 @@ var semanticColorsDark = {
|
|
|
148
322
|
"text-disabled": "rgba(255, 255, 255, 0.38)",
|
|
149
323
|
"text-inverse": primitiveColors.neutral[900],
|
|
150
324
|
"text-link": "#828DF8",
|
|
325
|
+
"text-link-hover": primitiveColors.blue[400],
|
|
151
326
|
// Surface colors - dark backgrounds
|
|
152
327
|
"surface-base": primitiveColors.charcoal[700],
|
|
153
328
|
// #161616 - main surface
|
|
154
329
|
"surface-elevated": primitiveColors.charcoal[600],
|
|
155
330
|
// #191919 - elevated surface
|
|
156
331
|
"surface-raised": primitiveColors.charcoal[500],
|
|
332
|
+
// #1C1C1C - raised surface
|
|
333
|
+
"surface-overlay": primitiveColors.charcoal[600],
|
|
334
|
+
// #191919 - overlay surface
|
|
335
|
+
"surface-input": primitiveColors.charcoal[600],
|
|
157
336
|
// #191919 - input surface
|
|
158
337
|
// Background colors
|
|
159
338
|
"background-base": primitiveColors.charcoal[900],
|
|
@@ -170,16 +349,48 @@ var semanticColorsDark = {
|
|
|
170
349
|
"border-strong": primitiveColors.charcoal[300],
|
|
171
350
|
// #2C2C2C - strong border
|
|
172
351
|
"border-focus": "#828DF8",
|
|
352
|
+
"border-input": primitiveColors.neutral[600],
|
|
353
|
+
"border-input-hover": primitiveColors.neutral[500],
|
|
354
|
+
"border-input-focus": "#828DF8",
|
|
355
|
+
"border-input-error": primitiveColors.red[500],
|
|
173
356
|
// Interactive states
|
|
174
357
|
"interactive-hover": "rgba(255, 255, 255, 0.04)",
|
|
175
358
|
"interactive-focus": "rgba(255, 255, 255, 0.12)",
|
|
176
359
|
"interactive-active": "rgba(255, 255, 255, 0.16)",
|
|
177
360
|
"interactive-selected": "rgba(255, 255, 255, 0.08)",
|
|
178
361
|
"interactive-disabled": "rgba(255, 255, 255, 0.12)",
|
|
362
|
+
"interactive-disabled-text": "rgba(255, 255, 255, 0.26)",
|
|
179
363
|
// Divider
|
|
180
|
-
"divider": primitiveColors.charcoal[400]
|
|
364
|
+
"divider": primitiveColors.charcoal[400],
|
|
365
|
+
// #1F1F1F - divider color
|
|
366
|
+
// Avatar default
|
|
367
|
+
"avatar-background": primitiveColors.neutral[600],
|
|
368
|
+
"avatar-text": primitiveColors.white
|
|
369
|
+
};
|
|
181
370
|
|
|
182
371
|
// src/theme/config.ts
|
|
372
|
+
var themeIndependentCSSVars = {
|
|
373
|
+
// RGB decomposed values for glow shadows
|
|
374
|
+
"--color-brand-primary-rgb": "255, 121, 0",
|
|
375
|
+
"--color-brand-secondary-rgb": "64, 109, 135",
|
|
376
|
+
"--color-status-success-rgb": "20, 184, 166",
|
|
377
|
+
"--color-status-error-rgb": "209, 67, 67",
|
|
378
|
+
"--color-status-warning-rgb": "255, 176, 32",
|
|
379
|
+
"--color-status-info-rgb": "33, 150, 243",
|
|
380
|
+
"--color-background-base-rgb": "16, 16, 16",
|
|
381
|
+
// Font families
|
|
382
|
+
"--font-family-sans": "'Inter'",
|
|
383
|
+
"--font-family-body": "'Nunito Sans'",
|
|
384
|
+
"--font-family-heading": "'Space Grotesk'",
|
|
385
|
+
"--font-family-mono": "'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace",
|
|
386
|
+
// Animation tokens
|
|
387
|
+
"--ease-out": "cubic-bezier(0.22, 1, 0.36, 1)",
|
|
388
|
+
"--ease-in-out": "cubic-bezier(0.65, 0, 0.35, 1)",
|
|
389
|
+
"--ease-spring": "cubic-bezier(0.34, 1.56, 0.64, 1)",
|
|
390
|
+
"--duration-fast": "150ms",
|
|
391
|
+
"--duration-normal": "250ms",
|
|
392
|
+
"--duration-slow": "400ms"
|
|
393
|
+
};
|
|
183
394
|
var lightThemeCSSVars = {
|
|
184
395
|
"--color-brand-primary": semanticColorsLight["brand-primary"],
|
|
185
396
|
"--color-brand-primary-light": semanticColorsLight["brand-primary-light"],
|
|
@@ -220,7 +431,56 @@ var lightThemeCSSVars = {
|
|
|
220
431
|
"--color-interactive-active": semanticColorsLight["interactive-active"],
|
|
221
432
|
"--color-interactive-selected": semanticColorsLight["interactive-selected"],
|
|
222
433
|
"--color-interactive-disabled": semanticColorsLight["interactive-disabled"],
|
|
223
|
-
"--color-divider": semanticColorsLight["divider"]
|
|
434
|
+
"--color-divider": semanticColorsLight["divider"],
|
|
435
|
+
"--color-brand-primary-hover": semanticColorsLight["brand-primary-hover"],
|
|
436
|
+
"--color-brand-primary-active": semanticColorsLight["brand-primary-active"],
|
|
437
|
+
"--color-brand-secondary-hover": semanticColorsLight["brand-secondary-hover"],
|
|
438
|
+
"--color-brand-secondary-active": semanticColorsLight["brand-secondary-active"],
|
|
439
|
+
"--color-status-success-light": semanticColorsLight["status-success-light"],
|
|
440
|
+
"--color-status-success-dark": semanticColorsLight["status-success-dark"],
|
|
441
|
+
"--color-status-error-light": semanticColorsLight["status-error-light"],
|
|
442
|
+
"--color-status-error-dark": semanticColorsLight["status-error-dark"],
|
|
443
|
+
"--color-status-warning-light": semanticColorsLight["status-warning-light"],
|
|
444
|
+
"--color-status-warning-dark": semanticColorsLight["status-warning-dark"],
|
|
445
|
+
"--color-status-info-light": semanticColorsLight["status-info-light"],
|
|
446
|
+
"--color-status-info-dark": semanticColorsLight["status-info-dark"],
|
|
447
|
+
"--color-on-status-success": semanticColorsLight["on-status-success"],
|
|
448
|
+
"--color-on-status-error": semanticColorsLight["on-status-error"],
|
|
449
|
+
"--color-on-status-warning": semanticColorsLight["on-status-warning"],
|
|
450
|
+
"--color-on-status-info": semanticColorsLight["on-status-info"],
|
|
451
|
+
"--color-result-improve": semanticColorsLight["result-improve"],
|
|
452
|
+
"--color-result-improve-light": semanticColorsLight["result-improve-light"],
|
|
453
|
+
"--color-result-improve-dark": semanticColorsLight["result-improve-dark"],
|
|
454
|
+
"--color-result-degrade": semanticColorsLight["result-degrade"],
|
|
455
|
+
"--color-result-degrade-light": semanticColorsLight["result-degrade-light"],
|
|
456
|
+
"--color-result-degrade-dark": semanticColorsLight["result-degrade-dark"],
|
|
457
|
+
"--color-result-inconclusive": semanticColorsLight["result-inconclusive"],
|
|
458
|
+
"--color-result-inconclusive-light": semanticColorsLight["result-inconclusive-light"],
|
|
459
|
+
"--color-result-neutral": semanticColorsLight["result-neutral"],
|
|
460
|
+
"--color-on-result-improve": semanticColorsLight["on-result-improve"],
|
|
461
|
+
"--color-on-result-degrade": semanticColorsLight["on-result-degrade"],
|
|
462
|
+
"--color-on-result-inconclusive": semanticColorsLight["on-result-inconclusive"],
|
|
463
|
+
"--color-data-1": semanticColorsLight["data-1"],
|
|
464
|
+
"--color-data-2": semanticColorsLight["data-2"],
|
|
465
|
+
"--color-data-3": semanticColorsLight["data-3"],
|
|
466
|
+
"--color-data-4": semanticColorsLight["data-4"],
|
|
467
|
+
"--color-data-5": semanticColorsLight["data-5"],
|
|
468
|
+
"--color-data-6": semanticColorsLight["data-6"],
|
|
469
|
+
"--color-data-7": semanticColorsLight["data-7"],
|
|
470
|
+
"--color-data-8": semanticColorsLight["data-8"],
|
|
471
|
+
"--color-data-9": semanticColorsLight["data-9"],
|
|
472
|
+
"--color-data-10": semanticColorsLight["data-10"],
|
|
473
|
+
"--color-text-link-hover": semanticColorsLight["text-link-hover"],
|
|
474
|
+
"--color-surface-overlay": semanticColorsLight["surface-overlay"],
|
|
475
|
+
"--color-surface-input": semanticColorsLight["surface-input"],
|
|
476
|
+
"--color-border-input": semanticColorsLight["border-input"],
|
|
477
|
+
"--color-border-input-hover": semanticColorsLight["border-input-hover"],
|
|
478
|
+
"--color-border-input-focus": semanticColorsLight["border-input-focus"],
|
|
479
|
+
"--color-border-input-error": semanticColorsLight["border-input-error"],
|
|
480
|
+
"--color-interactive-disabled-text": semanticColorsLight["interactive-disabled-text"],
|
|
481
|
+
"--color-avatar-background": semanticColorsLight["avatar-background"],
|
|
482
|
+
"--color-avatar-text": semanticColorsLight["avatar-text"],
|
|
483
|
+
...themeIndependentCSSVars
|
|
224
484
|
};
|
|
225
485
|
var darkThemeCSSVars = {
|
|
226
486
|
"--color-brand-primary": semanticColorsDark["brand-primary"],
|
|
@@ -262,7 +522,56 @@ var darkThemeCSSVars = {
|
|
|
262
522
|
"--color-interactive-active": semanticColorsDark["interactive-active"],
|
|
263
523
|
"--color-interactive-selected": semanticColorsDark["interactive-selected"],
|
|
264
524
|
"--color-interactive-disabled": semanticColorsDark["interactive-disabled"],
|
|
265
|
-
"--color-divider": semanticColorsDark["divider"]
|
|
525
|
+
"--color-divider": semanticColorsDark["divider"],
|
|
526
|
+
"--color-brand-primary-hover": semanticColorsDark["brand-primary-hover"],
|
|
527
|
+
"--color-brand-primary-active": semanticColorsDark["brand-primary-active"],
|
|
528
|
+
"--color-brand-secondary-hover": semanticColorsDark["brand-secondary-hover"],
|
|
529
|
+
"--color-brand-secondary-active": semanticColorsDark["brand-secondary-active"],
|
|
530
|
+
"--color-status-success-light": semanticColorsDark["status-success-light"],
|
|
531
|
+
"--color-status-success-dark": semanticColorsDark["status-success-dark"],
|
|
532
|
+
"--color-status-error-light": semanticColorsDark["status-error-light"],
|
|
533
|
+
"--color-status-error-dark": semanticColorsDark["status-error-dark"],
|
|
534
|
+
"--color-status-warning-light": semanticColorsDark["status-warning-light"],
|
|
535
|
+
"--color-status-warning-dark": semanticColorsDark["status-warning-dark"],
|
|
536
|
+
"--color-status-info-light": semanticColorsDark["status-info-light"],
|
|
537
|
+
"--color-status-info-dark": semanticColorsDark["status-info-dark"],
|
|
538
|
+
"--color-on-status-success": semanticColorsDark["on-status-success"],
|
|
539
|
+
"--color-on-status-error": semanticColorsDark["on-status-error"],
|
|
540
|
+
"--color-on-status-warning": semanticColorsDark["on-status-warning"],
|
|
541
|
+
"--color-on-status-info": semanticColorsDark["on-status-info"],
|
|
542
|
+
"--color-result-improve": semanticColorsDark["result-improve"],
|
|
543
|
+
"--color-result-improve-light": semanticColorsDark["result-improve-light"],
|
|
544
|
+
"--color-result-improve-dark": semanticColorsDark["result-improve-dark"],
|
|
545
|
+
"--color-result-degrade": semanticColorsDark["result-degrade"],
|
|
546
|
+
"--color-result-degrade-light": semanticColorsDark["result-degrade-light"],
|
|
547
|
+
"--color-result-degrade-dark": semanticColorsDark["result-degrade-dark"],
|
|
548
|
+
"--color-result-inconclusive": semanticColorsDark["result-inconclusive"],
|
|
549
|
+
"--color-result-inconclusive-light": semanticColorsDark["result-inconclusive-light"],
|
|
550
|
+
"--color-result-neutral": semanticColorsDark["result-neutral"],
|
|
551
|
+
"--color-on-result-improve": semanticColorsDark["on-result-improve"],
|
|
552
|
+
"--color-on-result-degrade": semanticColorsDark["on-result-degrade"],
|
|
553
|
+
"--color-on-result-inconclusive": semanticColorsDark["on-result-inconclusive"],
|
|
554
|
+
"--color-data-1": semanticColorsDark["data-1"],
|
|
555
|
+
"--color-data-2": semanticColorsDark["data-2"],
|
|
556
|
+
"--color-data-3": semanticColorsDark["data-3"],
|
|
557
|
+
"--color-data-4": semanticColorsDark["data-4"],
|
|
558
|
+
"--color-data-5": semanticColorsDark["data-5"],
|
|
559
|
+
"--color-data-6": semanticColorsDark["data-6"],
|
|
560
|
+
"--color-data-7": semanticColorsDark["data-7"],
|
|
561
|
+
"--color-data-8": semanticColorsDark["data-8"],
|
|
562
|
+
"--color-data-9": semanticColorsDark["data-9"],
|
|
563
|
+
"--color-data-10": semanticColorsDark["data-10"],
|
|
564
|
+
"--color-text-link-hover": semanticColorsDark["text-link-hover"],
|
|
565
|
+
"--color-surface-overlay": semanticColorsDark["surface-overlay"],
|
|
566
|
+
"--color-surface-input": semanticColorsDark["surface-input"],
|
|
567
|
+
"--color-border-input": semanticColorsDark["border-input"],
|
|
568
|
+
"--color-border-input-hover": semanticColorsDark["border-input-hover"],
|
|
569
|
+
"--color-border-input-focus": semanticColorsDark["border-input-focus"],
|
|
570
|
+
"--color-border-input-error": semanticColorsDark["border-input-error"],
|
|
571
|
+
"--color-interactive-disabled-text": semanticColorsDark["interactive-disabled-text"],
|
|
572
|
+
"--color-avatar-background": semanticColorsDark["avatar-background"],
|
|
573
|
+
"--color-avatar-text": semanticColorsDark["avatar-text"],
|
|
574
|
+
...themeIndependentCSSVars
|
|
266
575
|
};
|
|
267
576
|
|
|
268
577
|
// src/theme/tokens-css.ts
|