@idealyst/theme 1.0.83 → 1.0.85

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.
Files changed (68) hide show
  1. package/package.json +2 -1
  2. package/src/components/CLAUDE.md +468 -0
  3. package/src/components/accordion.ts +34 -0
  4. package/src/components/activity-indicator.ts +28 -0
  5. package/src/components/alert.ts +32 -0
  6. package/src/components/avatar.ts +27 -0
  7. package/src/components/badge.ts +28 -0
  8. package/src/components/breadcrumb.ts +36 -0
  9. package/src/components/button.ts +32 -0
  10. package/src/components/card.ts +31 -0
  11. package/src/components/checkbox.ts +37 -0
  12. package/src/components/chip.ts +34 -0
  13. package/src/components/dialog.ts +31 -0
  14. package/src/components/divider.ts +36 -0
  15. package/src/components/icon.ts +26 -0
  16. package/src/components/image.ts +22 -0
  17. package/src/components/index.ts +37 -0
  18. package/src/components/input.ts +35 -0
  19. package/src/components/list.ts +40 -0
  20. package/src/components/menu-item.ts +29 -0
  21. package/src/components/menu.ts +32 -0
  22. package/src/components/popover.ts +25 -0
  23. package/src/components/pressable.ts +20 -0
  24. package/src/components/progress.ts +35 -0
  25. package/src/components/radio-button.ts +38 -0
  26. package/src/components/screen.ts +25 -0
  27. package/src/components/select.ts +62 -0
  28. package/src/components/skeleton.ts +26 -0
  29. package/src/components/slider.ts +62 -0
  30. package/src/components/svg-image.ts +24 -0
  31. package/src/components/switch.ts +54 -0
  32. package/src/components/tab-bar.ts +54 -0
  33. package/src/components/table.ts +57 -0
  34. package/src/components/text.ts +29 -0
  35. package/src/components/textarea.ts +53 -0
  36. package/src/components/tooltip.ts +29 -0
  37. package/src/components/video.ts +18 -0
  38. package/src/components/view.ts +31 -0
  39. package/src/darkTheme.ts +890 -0
  40. package/src/index.ts +7 -166
  41. package/src/lightTheme.ts +873 -0
  42. package/src/styles.ts +14 -0
  43. package/src/theme/color.ts +15 -0
  44. package/src/theme/index.ts +16 -0
  45. package/src/theme/intent.ts +8 -0
  46. package/src/theme/shadow.ts +18 -0
  47. package/src/theme/size.ts +182 -0
  48. package/src/theme/surface.ts +3 -0
  49. package/src/unistyles.ts +6 -14
  50. package/src/variants/color.ts +9 -0
  51. package/src/variants/index.ts +2 -0
  52. package/src/variants/intent.ts +16 -0
  53. package/src/variants/size.ts +0 -0
  54. package/CLAUDE.md +0 -447
  55. package/LLM-ACCESS-GUIDE.md +0 -208
  56. package/README.md +0 -633
  57. package/src/README.md +0 -138
  58. package/src/breakpoints.ts +0 -8
  59. package/src/colorResolver.ts +0 -218
  60. package/src/colors.md +0 -353
  61. package/src/colors.ts +0 -315
  62. package/src/common.ts +0 -92
  63. package/src/defaultThemes.md +0 -407
  64. package/src/defaultThemes.ts +0 -238
  65. package/src/themeBuilder.md +0 -400
  66. package/src/themeBuilder.ts +0 -602
  67. package/src/variantHelpers.ts +0 -584
  68. package/src/variants.ts +0 -56
package/src/colors.md DELETED
@@ -1,353 +0,0 @@
1
- # Color Palettes
2
-
3
- Base color palette definitions that serve as the foundation for the entire theme system.
4
-
5
- ## Overview
6
-
7
- The colors module defines 8 comprehensive color palettes, each with 10 carefully crafted shades (50-900). These palettes provide the raw material for creating consistent, accessible, and visually appealing themes.
8
-
9
- ## Color Palette Structure
10
-
11
- Each palette follows a consistent structure with 10 shades:
12
-
13
- - **50-200**: Very light shades (backgrounds, subtle accents)
14
- - **300-400**: Light shades (secondary elements, hover states)
15
- - **500**: Base color (primary brand color, main actions)
16
- - **600-700**: Medium shades (interactive states, emphasis)
17
- - **800-900**: Dark shades (text, high contrast elements)
18
-
19
- ## Available Palettes
20
-
21
- ### Blue Palette (Primary Brand)
22
- Perfect for primary actions, links, and brand elements.
23
-
24
- ```tsx
25
- blue: {
26
- 50: '#eff6ff', // Very light blue background
27
- 100: '#dbeafe', // Light blue background
28
- 200: '#bfdbfe', // Subtle blue
29
- 300: '#93c5fd', // Light interactive blue
30
- 400: '#60a5fa', // Medium blue
31
- 500: '#3b82f6', // Base blue (primary brand)
32
- 600: '#2563eb', // Focused blue
33
- 700: '#1d4ed8', // Pressed blue
34
- 800: '#1e40af', // Dark blue
35
- 900: '#1e3a8a', // Very dark blue (text)
36
- }
37
- ```
38
-
39
- **Use Cases:**
40
- - Primary buttons and CTAs
41
- - Links and navigation
42
- - Brand elements
43
- - Focus indicators
44
-
45
- ### Green Palette (Success)
46
- Ideal for success states, confirmations, and positive actions.
47
-
48
- ```tsx
49
- green: {
50
- 50: '#f0fdf4', // Success background
51
- 100: '#dcfce7', // Light success
52
- 200: '#bbf7d0', // Subtle success
53
- 300: '#86efac', // Light success interactive
54
- 400: '#4ade80', // Medium success
55
- 500: '#22c55e', // Base success
56
- 600: '#16a34a', // Focused success
57
- 700: '#15803d', // Pressed success
58
- 800: '#166534', // Dark success
59
- 900: '#14532d', // Very dark success
60
- }
61
- ```
62
-
63
- **Use Cases:**
64
- - Success messages and notifications
65
- - Confirmation buttons
66
- - Valid form states
67
- - Positive status indicators
68
-
69
- ### Red Palette (Error)
70
- Essential for error states, warnings, and destructive actions.
71
-
72
- ```tsx
73
- red: {
74
- 50: '#fef2f2', // Error background
75
- 100: '#fee2e2', // Light error
76
- 200: '#fecaca', // Subtle error
77
- 300: '#fca5a5', // Light error interactive
78
- 400: '#f87171', // Medium error
79
- 500: '#ef4444', // Base error
80
- 600: '#dc2626', // Focused error
81
- 700: '#b91c1c', // Pressed error
82
- 800: '#991b1b', // Dark error
83
- 900: '#7f1d1d', // Very dark error
84
- }
85
- ```
86
-
87
- **Use Cases:**
88
- - Error messages and alerts
89
- - Delete and destructive actions
90
- - Invalid form states
91
- - Critical notifications
92
-
93
- ### Amber Palette (Warning)
94
- Perfect for warning states and caution indicators.
95
-
96
- ```tsx
97
- amber: {
98
- 50: '#fffbeb', // Warning background
99
- 100: '#fef3c7', // Light warning
100
- 200: '#fde68a', // Subtle warning
101
- 300: '#fcd34d', // Light warning interactive
102
- 400: '#fbbf24', // Medium warning
103
- 500: '#f59e0b', // Base warning
104
- 600: '#d97706', // Focused warning
105
- 700: '#b45309', // Pressed warning
106
- 800: '#92400e', // Dark warning
107
- 900: '#78350f', // Very dark warning
108
- }
109
- ```
110
-
111
- **Use Cases:**
112
- - Warning messages
113
- - Caution alerts
114
- - Pending states
115
- - Important notices
116
-
117
- ### Gray Palette (Neutral)
118
- Fundamental for text, borders, and neutral interface elements.
119
-
120
- ```tsx
121
- gray: {
122
- 50: '#f9fafb', // Very light background
123
- 100: '#f3f4f6', // Light background
124
- 200: '#e5e7eb', // Subtle borders
125
- 300: '#d1d5db', // Light borders
126
- 400: '#9ca3af', // Placeholder text
127
- 500: '#6b7280', // Secondary text
128
- 600: '#4b5563', // Primary text (light theme)
129
- 700: '#374151', // Dark text
130
- 800: '#1f2937', // Very dark text
131
- 900: '#111827', // Darkest text
132
- }
133
- ```
134
-
135
- **Use Cases:**
136
- - Text colors (all hierarchies)
137
- - Borders and dividers
138
- - Neutral backgrounds
139
- - Disabled states
140
-
141
- ### Cyan Palette (Info)
142
- Great for informational states and secondary accents.
143
-
144
- ```tsx
145
- cyan: {
146
- 50: '#ecfeff', // Info background
147
- 100: '#cffafe', // Light info
148
- 200: '#a5f3fc', // Subtle info
149
- 300: '#67e8f9', // Light info interactive
150
- 400: '#22d3ee', // Medium info
151
- 500: '#06b6d4', // Base info
152
- 600: '#0891b2', // Focused info
153
- 700: '#0e7490', // Pressed info
154
- 800: '#155e75', // Dark info
155
- 900: '#164e63', // Very dark info
156
- }
157
- ```
158
-
159
- **Use Cases:**
160
- - Info messages and tooltips
161
- - Secondary brand colors
162
- - Highlight elements
163
- - Interactive accents
164
-
165
- ### Purple Palette (Accent)
166
- Excellent for premium features and creative accents.
167
-
168
- ```tsx
169
- purple: {
170
- 50: '#faf5ff', // Purple background
171
- 100: '#f3e8ff', // Light purple
172
- 200: '#e9d5ff', // Subtle purple
173
- 300: '#d8b4fe', // Light purple interactive
174
- 400: '#c084fc', // Medium purple
175
- 500: '#a855f7', // Base purple
176
- 600: '#9333ea', // Focused purple
177
- 700: '#7c3aed', // Pressed purple
178
- 800: '#6b21b6', // Dark purple
179
- 900: '#581c87', // Very dark purple
180
- }
181
- ```
182
-
183
- **Use Cases:**
184
- - Premium feature indicators
185
- - Creative/artistic elements
186
- - Secondary accent colors
187
- - Special promotions
188
-
189
- ### Pink Palette (Accent)
190
- Perfect for creative applications and warm accents.
191
-
192
- ```tsx
193
- pink: {
194
- 50: '#fdf2f8', // Pink background
195
- 100: '#fce7f3', // Light pink
196
- 200: '#fbcfe8', // Subtle pink
197
- 300: '#f9a8d4', // Light pink interactive
198
- 400: '#f472b6', // Medium pink
199
- 500: '#ec4899', // Base pink
200
- 600: '#db2777', // Focused pink
201
- 700: '#be185d', // Pressed pink
202
- 800: '#9d174d', // Dark pink
203
- 900: '#831843', // Very dark pink
204
- }
205
- ```
206
-
207
- **Use Cases:**
208
- - Creative and playful elements
209
- - Warm accent colors
210
- - Fashion/lifestyle applications
211
- - Special occasions
212
-
213
- ## Color Usage Guidelines
214
-
215
- ### Shade Selection
216
-
217
- **Light Themes:**
218
- - **Backgrounds**: Use shades 50-100
219
- - **Subtle elements**: Use shades 100-200
220
- - **Interactive elements**: Use shades 400-600
221
- - **Text on light**: Use shades 600-900
222
-
223
- **Dark Themes:**
224
- - **Backgrounds**: Use shades 800-900
225
- - **Subtle elements**: Use shades 700-800
226
- - **Interactive elements**: Use shades 300-500
227
- - **Text on dark**: Use shades 50-300
228
-
229
- ### Accessibility Considerations
230
-
231
- **Contrast Ratios:**
232
- - **Normal text**: Minimum 4.5:1 contrast ratio
233
- - **Large text**: Minimum 3:1 contrast ratio
234
- - **UI elements**: Minimum 3:1 contrast ratio
235
-
236
- **Recommended Combinations:**
237
- ```tsx
238
- // Light theme text on backgrounds
239
- textOnLight: {
240
- primary: gray[800], // 4.5:1+ contrast
241
- secondary: gray[600], // 4.5:1+ contrast
242
- disabled: gray[400], // 3:1+ contrast
243
- }
244
-
245
- // Dark theme text on backgrounds
246
- textOnDark: {
247
- primary: gray[100], // 4.5:1+ contrast
248
- secondary: gray[300], // 4.5:1+ contrast
249
- disabled: gray[500], // 3:1+ contrast
250
- }
251
- ```
252
-
253
- ## Color Psychology
254
-
255
- ### Blue
256
- - **Emotion**: Trust, reliability, professionalism
257
- - **Use Cases**: Corporate brands, finance, healthcare
258
- - **Avoid**: Food brands (suppresses appetite)
259
-
260
- ### Green
261
- - **Emotion**: Growth, success, nature, harmony
262
- - **Use Cases**: Environmental, finance, success states
263
- - **Avoid**: Error states (conflicts with red)
264
-
265
- ### Red
266
- - **Emotion**: Urgency, passion, danger, power
267
- - **Use Cases**: Alerts, errors, sales, urgency
268
- - **Avoid**: Overuse (can create anxiety)
269
-
270
- ### Amber/Yellow
271
- - **Emotion**: Optimism, caution, energy
272
- - **Use Cases**: Warnings, highlights, energy brands
273
- - **Avoid**: Large areas (can strain eyes)
274
-
275
- ### Purple
276
- - **Emotion**: Luxury, creativity, mystery
277
- - **Use Cases**: Premium brands, creative tools
278
- - **Cultural Note**: Royal associations in Western cultures
279
-
280
- ### Pink
281
- - **Emotion**: Playfulness, romance, creativity
282
- - **Use Cases**: Fashion, lifestyle, creative apps
283
- - **Considerations**: Gender associations vary by culture
284
-
285
- ## Implementation Examples
286
-
287
- ### Using Palettes in Themes
288
-
289
- ```tsx
290
- import { colorPalettes } from './colors';
291
-
292
- // Direct palette access
293
- const brandColor = colorPalettes.blue[500];
294
- const lightBackground = colorPalettes.gray[50];
295
- const errorText = colorPalettes.red[700];
296
-
297
- // Intent mapping
298
- const lightThemeIntents = {
299
- primary: {
300
- main: colorPalettes.blue[500],
301
- light: colorPalettes.blue[400],
302
- dark: colorPalettes.blue[600],
303
- container: colorPalettes.blue[100],
304
- },
305
- error: {
306
- main: colorPalettes.red[500],
307
- light: colorPalettes.red[400],
308
- dark: colorPalettes.red[600],
309
- container: colorPalettes.red[100],
310
- },
311
- };
312
- ```
313
-
314
- ### Generating Custom Palettes
315
-
316
- ```tsx
317
- import { generateColorPalette } from '../themeBuilder';
318
-
319
- // Generate palette from brand color
320
- const brandPalette = generateColorPalette('#ff6b6b');
321
-
322
- // Combine with existing palettes
323
- const customPalettes = {
324
- ...colorPalettes,
325
- brand: brandPalette,
326
- };
327
- ```
328
-
329
- ## Best Practices
330
-
331
- 1. **Consistency**: Use the same palette family for related elements
332
- 2. **Contrast**: Always check contrast ratios for accessibility
333
- 3. **Context**: Consider the emotional and cultural context of colors
334
- 4. **Hierarchy**: Use color intensity to indicate importance
335
- 5. **Testing**: Validate colors across different devices and conditions
336
- 6. **Brand Alignment**: Ensure palette choices align with brand identity
337
-
338
- ## Color Tools and Resources
339
-
340
- **Contrast Checkers:**
341
- - WebAIM Contrast Checker
342
- - Colour Contrast Analyser
343
- - Stark (Figma/Sketch plugin)
344
-
345
- **Palette Generators:**
346
- - Coolors.co
347
- - Adobe Color
348
- - Material Design Color Tool
349
-
350
- **Accessibility Tools:**
351
- - WAVE Web Accessibility Evaluator
352
- - axe DevTools
353
- - Color Oracle (colorblind simulator)
package/src/colors.ts DELETED
@@ -1,315 +0,0 @@
1
- // Base color palettes - these are the source of truth for all colors
2
- export const colorPalettes = {
3
- blue: {
4
- 50: '#eff6ff',
5
- 100: '#dbeafe',
6
- 200: '#bfdbfe',
7
- 300: '#93c5fd',
8
- 400: '#60a5fa',
9
- 500: '#3b82f6',
10
- 600: '#2563eb',
11
- 700: '#1d4ed8',
12
- 800: '#1e40af',
13
- 900: '#1e3a8a',
14
- },
15
-
16
- green: {
17
- 50: '#f0fdf4',
18
- 100: '#dcfce7',
19
- 200: '#bbf7d0',
20
- 300: '#86efac',
21
- 400: '#4ade80',
22
- 500: '#22c55e',
23
- 600: '#16a34a',
24
- 700: '#15803d',
25
- 800: '#166534',
26
- 900: '#14532d',
27
- },
28
-
29
- red: {
30
- 50: '#fef2f2',
31
- 100: '#fee2e2',
32
- 200: '#fecaca',
33
- 300: '#fca5a5',
34
- 400: '#f87171',
35
- 500: '#ef4444',
36
- 600: '#dc2626',
37
- 700: '#b91c1c',
38
- 800: '#991b1b',
39
- 900: '#7f1d1d',
40
- },
41
-
42
- amber: {
43
- 50: '#fffbeb',
44
- 100: '#fef3c7',
45
- 200: '#fde68a',
46
- 300: '#fcd34d',
47
- 400: '#fbbf24',
48
- 500: '#f59e0b',
49
- 600: '#d97706',
50
- 700: '#b45309',
51
- 800: '#92400e',
52
- 900: '#78350f',
53
- },
54
-
55
- gray: {
56
- 50: '#f9fafb',
57
- 100: '#f3f4f6',
58
- 200: '#e5e7eb',
59
- 300: '#d1d5db',
60
- 400: '#9ca3af',
61
- 500: '#6b7280',
62
- 600: '#4b5563',
63
- 700: '#374151',
64
- 800: '#1f2937',
65
- 900: '#111827',
66
- },
67
-
68
- purple: {
69
- 50: '#f8fafc',
70
- 100: '#f1f5f9',
71
- 200: '#e2e8f0',
72
- 300: '#cbd5e1',
73
- 400: '#94a3b8',
74
- 500: '#64748b',
75
- 600: '#475569',
76
- 700: '#334155',
77
- 800: '#1e293b',
78
- 900: '#0f172a',
79
- },
80
-
81
- pink: {
82
- 50: '#fdf2f8',
83
- 100: '#fce7f3',
84
- 200: '#fbcfe8',
85
- 300: '#f9a8d4',
86
- 400: '#f472b6',
87
- 500: '#ec4899',
88
- 600: '#db2777',
89
- 700: '#be185d',
90
- 800: '#9d174d',
91
- 900: '#831843',
92
- },
93
-
94
- cyan: {
95
- 50: '#ecfeff',
96
- 100: '#cffafe',
97
- 200: '#a5f3fc',
98
- 300: '#67e8f9',
99
- 400: '#22d3ee',
100
- 500: '#06b6d4',
101
- 600: '#0891b2',
102
- 700: '#0e7490',
103
- 800: '#155e75',
104
- 900: '#164e63',
105
- },
106
- } as const;
107
-
108
- // Intent system - maps semantic meanings to color palettes
109
- export const intentMappings = {
110
- primary: {
111
- palette: 'blue' as const,
112
- main: 500 as const,
113
- on: '#ffffff',
114
- container: 100 as const,
115
- onContainer: 800 as const,
116
- light: 200 as const,
117
- dark: 700 as const,
118
- border: 300 as const,
119
- },
120
-
121
- success: {
122
- palette: 'green' as const,
123
- main: 500 as const,
124
- on: '#ffffff',
125
- container: 100 as const,
126
- onContainer: 800 as const,
127
- light: 200 as const,
128
- dark: 700 as const,
129
- border: 300 as const,
130
- },
131
-
132
- error: {
133
- palette: 'red' as const,
134
- main: 500 as const,
135
- on: '#ffffff',
136
- container: 100 as const,
137
- onContainer: 800 as const,
138
- light: 200 as const,
139
- dark: 700 as const,
140
- border: 300 as const,
141
- },
142
-
143
- warning: {
144
- palette: 'amber' as const,
145
- main: 500 as const,
146
- on: '#ffffff',
147
- container: 100 as const,
148
- onContainer: 800 as const,
149
- light: 200 as const,
150
- dark: 700 as const,
151
- border: 300 as const,
152
- },
153
-
154
- neutral: {
155
- palette: 'gray' as const,
156
- main: 500 as const,
157
- on: '#ffffff',
158
- container: 100 as const,
159
- onContainer: 800 as const,
160
- light: 200 as const,
161
- dark: 700 as const,
162
- border: 300 as const,
163
- },
164
-
165
- info: {
166
- palette: 'cyan' as const,
167
- main: 500 as const,
168
- on: '#ffffff',
169
- container: 100 as const,
170
- onContainer: 800 as const,
171
- light: 200 as const,
172
- dark: 700 as const,
173
- border: 300 as const,
174
- },
175
- } as const;
176
-
177
- // Color system for display components (non-actionable)
178
- export const colorMappings = {
179
- // Text colors
180
- text: {
181
- primary: 'gray.900' as const,
182
- secondary: 'gray.600' as const,
183
- disabled: 'gray.400' as const,
184
- inverse: '#ffffff',
185
- },
186
-
187
- // Surface colors
188
- surface: {
189
- primary: '#ffffff',
190
- secondary: 'gray.50' as const,
191
- tertiary: 'gray.100' as const,
192
- inverse: 'gray.900' as const,
193
- },
194
-
195
- // Border colors
196
- border: {
197
- primary: 'gray.200' as const,
198
- secondary: 'gray.300' as const,
199
- focus: 'primary' as const, // References intent.primary.main
200
- },
201
-
202
- // Direct color references (for backward compatibility and special cases)
203
- primary: 'primary' as const, // References intent.primary.main
204
- success: 'success' as const, // References intent.success.main
205
- error: 'error' as const, // References intent.error.main
206
- warning: 'warning' as const, // References intent.warning.main
207
- neutral: 'neutral' as const, // References intent.neutral.main
208
- info: 'info' as const, // References intent.info.main
209
- } as const;
210
-
211
- // Dark theme overrides
212
- export const darkThemeOverrides = {
213
- colorMappings: {
214
- text: {
215
- primary: 'gray.50' as const,
216
- secondary: 'gray.300' as const,
217
- disabled: 'gray.500' as const,
218
- inverse: 'gray.900' as const,
219
- },
220
-
221
- surface: {
222
- primary: 'gray.900' as const,
223
- secondary: 'gray.800' as const,
224
- tertiary: 'gray.700' as const,
225
- inverse: '#ffffff',
226
- },
227
-
228
- border: {
229
- primary: 'gray.700' as const,
230
- secondary: 'gray.600' as const,
231
- focus: 'primary' as const,
232
- },
233
- },
234
-
235
- // Dark theme intent adjustments
236
- intentMappings: {
237
- primary: {
238
- palette: 'blue' as const,
239
- main: 400 as const, // Lighter blue for dark theme
240
- on: 'gray.900' as const, // Dark text on light blue
241
- container: 900 as const, // Very dark blue container
242
- onContainer: 100 as const, // Light text on dark container
243
- light: 800 as const,
244
- dark: 300 as const,
245
- border: 400 as const,
246
- },
247
-
248
- success: {
249
- palette: 'green' as const,
250
- main: 400 as const,
251
- on: 'gray.900' as const,
252
- container: 900 as const,
253
- onContainer: 100 as const,
254
- light: 800 as const,
255
- dark: 300 as const,
256
- border: 400 as const,
257
- },
258
-
259
- error: {
260
- palette: 'red' as const,
261
- main: 400 as const,
262
- on: 'gray.900' as const,
263
- container: 900 as const,
264
- onContainer: 100 as const,
265
- light: 800 as const,
266
- dark: 300 as const,
267
- border: 400 as const,
268
- },
269
-
270
- warning: {
271
- palette: 'amber' as const,
272
- main: 400 as const,
273
- on: 'gray.900' as const,
274
- container: 900 as const,
275
- onContainer: 100 as const,
276
- light: 800 as const,
277
- dark: 300 as const,
278
- border: 400 as const,
279
- },
280
-
281
- neutral: {
282
- palette: 'gray' as const,
283
- main: 400 as const,
284
- on: 'gray.900' as const,
285
- container: 800 as const,
286
- onContainer: 100 as const,
287
- light: 700 as const,
288
- dark: 300 as const,
289
- border: 400 as const,
290
- },
291
-
292
- info: {
293
- palette: 'cyan' as const,
294
- main: 400 as const,
295
- on: 'gray.900' as const,
296
- container: 900 as const,
297
- onContainer: 100 as const,
298
- light: 800 as const,
299
- dark: 300 as const,
300
- border: 400 as const,
301
- },
302
- },
303
- } as const;
304
-
305
- // Import variant types
306
- import type { IntentVariant, ColorVariant, ColorPaletteShade } from './variants';
307
-
308
- // Export types for TypeScript
309
- export type ColorPalette = keyof typeof colorPalettes;
310
- export type ColorShade = keyof typeof colorPalettes.blue;
311
- export type IntentName = keyof typeof intentMappings;
312
- export type ColorName = keyof typeof colorMappings;
313
-
314
- // Ensure our variant types match the actual data structures
315
- export type { IntentVariant, ColorVariant, ColorPaletteShade };