@idealyst/components 1.0.83 → 1.0.84
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/CLAUDE.md +199 -232
- package/README.md +5 -5
- package/package.json +20 -2
- package/plugin/README.md +272 -0
- package/plugin/test-cases.jsx +112 -0
- package/plugin/web-legacy.js +320 -0
- package/plugin/web.js +422 -124
- package/src/Accordion/Accordion.native.tsx +182 -0
- package/src/Accordion/Accordion.styles.tsx +260 -0
- package/src/Accordion/Accordion.web.tsx +147 -0
- package/src/Accordion/index.native.tsx +3 -0
- package/src/Accordion/index.ts +3 -0
- package/src/Accordion/index.web.tsx +3 -0
- package/src/Accordion/types.ts +23 -0
- package/src/ActivityIndicator/ActivityIndicator.native.tsx +17 -12
- package/src/ActivityIndicator/ActivityIndicator.styles.tsx +83 -109
- package/src/ActivityIndicator/ActivityIndicator.web.tsx +23 -17
- package/src/ActivityIndicator/index.ts +5 -2
- package/src/ActivityIndicator/index.web.ts +5 -2
- package/src/ActivityIndicator/types.ts +15 -10
- package/src/Alert/Alert.native.tsx +113 -0
- package/src/Alert/Alert.styles.tsx +304 -0
- package/src/Alert/Alert.web.tsx +123 -0
- package/src/Alert/index.native.ts +5 -0
- package/src/Alert/index.ts +5 -0
- package/src/Alert/index.web.ts +5 -0
- package/src/Alert/types.ts +21 -0
- package/src/Avatar/Avatar.native.tsx +8 -6
- package/src/Avatar/Avatar.styles.tsx +64 -58
- package/src/Avatar/Avatar.web.tsx +13 -8
- package/src/Avatar/index.ts +5 -2
- package/src/Avatar/index.web.ts +5 -2
- package/src/Avatar/types.ts +19 -13
- package/src/Badge/Badge.native.tsx +59 -14
- package/src/Badge/Badge.styles.tsx +125 -139
- package/src/Badge/Badge.web.tsx +72 -16
- package/src/Badge/index.ts +5 -2
- package/src/Badge/index.web.ts +5 -2
- package/src/Badge/types.ts +23 -11
- package/src/Breadcrumb/Breadcrumb.native.tsx +225 -0
- package/src/Breadcrumb/Breadcrumb.styles.tsx +234 -0
- package/src/Breadcrumb/Breadcrumb.web.tsx +268 -0
- package/src/Breadcrumb/index.native.ts +5 -0
- package/src/Breadcrumb/index.ts +5 -0
- package/src/Breadcrumb/index.web.ts +5 -0
- package/src/Breadcrumb/types.ts +56 -0
- package/src/Button/Button.native.tsx +75 -24
- package/src/Button/Button.styles.tsx +248 -205
- package/src/Button/Button.web.tsx +82 -25
- package/src/Button/index.ts +5 -5
- package/src/Button/index.web.ts +5 -3
- package/src/Button/types.ts +32 -15
- package/src/Card/Card.native.tsx +14 -11
- package/src/Card/Card.styles.tsx +146 -220
- package/src/Card/Card.web.tsx +20 -21
- package/src/Card/index.ts +5 -5
- package/src/Card/index.web.ts +5 -3
- package/src/Card/types.ts +24 -17
- package/src/Checkbox/Checkbox.native.tsx +24 -34
- package/src/Checkbox/Checkbox.styles.tsx +223 -275
- package/src/Checkbox/Checkbox.web.tsx +30 -37
- package/src/Checkbox/index.ts +5 -5
- package/src/Checkbox/index.web.ts +5 -3
- package/src/Checkbox/types.ts +26 -20
- package/src/Chip/Chip.native.tsx +126 -0
- package/src/Chip/Chip.styles.tsx +138 -0
- package/src/Chip/Chip.web.tsx +154 -0
- package/src/Chip/index.native.ts +5 -0
- package/src/Chip/index.ts +5 -0
- package/src/Chip/index.web.ts +5 -0
- package/src/Chip/types.ts +51 -0
- package/src/Dialog/Dialog.native.tsx +65 -12
- package/src/Dialog/Dialog.styles.tsx +154 -136
- package/src/Dialog/Dialog.web.tsx +16 -11
- package/src/Dialog/index.ts +5 -2
- package/src/Dialog/index.web.ts +5 -2
- package/src/Dialog/types.ts +22 -16
- package/src/Divider/Divider.native.tsx +19 -14
- package/src/Divider/Divider.styles.tsx +273 -595
- package/src/Divider/Divider.web.tsx +19 -12
- package/src/Divider/index.ts +5 -5
- package/src/Divider/index.web.ts +5 -3
- package/src/Divider/types.ts +28 -19
- package/src/Icon/Icon.native.tsx +17 -24
- package/src/Icon/Icon.styles.tsx +64 -48
- package/src/Icon/Icon.web.tsx +14 -11
- package/src/Icon/IconSvg/IconSvg.native.tsx +42 -0
- package/src/Icon/IconSvg/IconSvg.web.tsx +40 -0
- package/src/Icon/IconSvg/index.native.ts +1 -0
- package/src/Icon/IconSvg/index.ts +1 -0
- package/src/Icon/icon-resolver.native.ts +27 -0
- package/src/Icon/icon-resolver.ts +70 -0
- package/src/Icon/index.ts +5 -5
- package/src/Icon/index.web.ts +5 -3
- package/src/Icon/types.ts +17 -11
- package/src/Image/Image.native.tsx +86 -0
- package/src/Image/Image.styles.tsx +57 -0
- package/src/Image/Image.web.tsx +92 -0
- package/src/Image/index.native.ts +5 -0
- package/src/Image/index.ts +5 -0
- package/src/Image/types.ts +21 -0
- package/src/Input/Input.native.tsx +103 -26
- package/src/Input/Input.styles.tsx +240 -177
- package/src/Input/Input.web.tsx +141 -38
- package/src/Input/index.ts +5 -5
- package/src/Input/index.web.ts +5 -3
- package/src/Input/types.ts +43 -20
- package/src/List/List.native.tsx +56 -0
- package/src/List/List.styles.tsx +257 -0
- package/src/List/List.web.tsx +43 -0
- package/src/List/ListContext.tsx +16 -0
- package/src/List/ListItem.native.tsx +111 -0
- package/src/List/ListItem.web.tsx +110 -0
- package/src/List/ListSection.native.tsx +31 -0
- package/src/List/ListSection.web.tsx +33 -0
- package/src/List/index.native.tsx +5 -0
- package/src/List/index.ts +5 -0
- package/src/List/index.web.tsx +5 -0
- package/src/List/types.ts +42 -0
- package/src/Menu/Menu.native.tsx +150 -0
- package/src/Menu/Menu.styles.tsx +185 -0
- package/src/Menu/Menu.web.tsx +99 -0
- package/src/Menu/MenuItem.native.tsx +66 -0
- package/src/Menu/MenuItem.styles.tsx +119 -0
- package/src/Menu/MenuItem.web.tsx +67 -0
- package/src/Menu/index.native.ts +3 -0
- package/src/Menu/index.ts +3 -0
- package/src/Menu/index.web.ts +3 -0
- package/src/Menu/types.ts +30 -0
- package/src/Popover/Popover.native.tsx +102 -32
- package/src/Popover/Popover.styles.tsx +100 -67
- package/src/Popover/Popover.web.tsx +36 -260
- package/src/Popover/index.ts +5 -2
- package/src/Popover/index.web.ts +5 -2
- package/src/Popover/types.ts +14 -13
- package/src/Pressable/Pressable.native.tsx +7 -6
- package/src/Pressable/Pressable.web.tsx +8 -6
- package/src/Pressable/index.ts +5 -2
- package/src/Pressable/index.web.ts +5 -2
- package/src/Pressable/types.ts +11 -10
- package/src/Progress/Progress.native.tsx +179 -0
- package/src/Progress/Progress.styles.tsx +164 -0
- package/src/Progress/Progress.web.tsx +144 -0
- package/src/Progress/index.native.ts +1 -0
- package/src/Progress/index.ts +5 -0
- package/src/Progress/index.web.ts +5 -0
- package/src/Progress/types.ts +21 -0
- package/src/RadioButton/RadioButton.native.tsx +88 -0
- package/src/RadioButton/RadioButton.styles.tsx +163 -0
- package/src/RadioButton/RadioButton.web.tsx +85 -0
- package/src/RadioButton/RadioGroup.native.tsx +43 -0
- package/src/RadioButton/RadioGroup.web.tsx +49 -0
- package/src/RadioButton/index.native.ts +2 -0
- package/src/RadioButton/index.ts +2 -0
- package/src/RadioButton/index.web.ts +2 -0
- package/src/RadioButton/types.ts +29 -0
- package/src/SVGImage/SVGImage.native.tsx +9 -7
- package/src/SVGImage/SVGImage.styles.tsx +63 -55
- package/src/SVGImage/SVGImage.web.tsx +16 -13
- package/src/SVGImage/index.ts +5 -5
- package/src/SVGImage/index.web.ts +5 -2
- package/src/SVGImage/types.ts +7 -3
- package/src/Screen/Screen.native.tsx +43 -17
- package/src/Screen/Screen.styles.tsx +58 -54
- package/src/Screen/Screen.web.tsx +11 -5
- package/src/Screen/index.ts +5 -2
- package/src/Screen/index.web.ts +5 -2
- package/src/Screen/types.ts +23 -9
- package/src/Select/Select.native.tsx +140 -63
- package/src/Select/Select.styles.tsx +312 -302
- package/src/Select/Select.web.tsx +156 -316
- package/src/Select/index.ts +5 -2
- package/src/Select/index.web.ts +5 -2
- package/src/Select/types.ts +13 -7
- package/src/Skeleton/Skeleton.native.tsx +139 -0
- package/src/Skeleton/Skeleton.styles.tsx +59 -0
- package/src/Skeleton/Skeleton.web.tsx +112 -0
- package/src/Skeleton/index.native.ts +4 -0
- package/src/Skeleton/index.ts +5 -0
- package/src/Skeleton/index.web.ts +5 -0
- package/src/Skeleton/types.ts +75 -0
- package/src/Slider/Slider.native.tsx +248 -0
- package/src/Slider/Slider.styles.tsx +241 -0
- package/src/Slider/Slider.web.tsx +226 -0
- package/src/Slider/index.native.ts +3 -0
- package/src/Slider/index.ts +5 -0
- package/src/Slider/index.web.ts +5 -0
- package/src/Slider/types.ts +31 -0
- package/src/Switch/Switch.native.tsx +131 -0
- package/src/Switch/Switch.styles.tsx +169 -0
- package/src/Switch/Switch.web.tsx +121 -0
- package/src/Switch/index.native.ts +3 -0
- package/src/Switch/index.ts +5 -0
- package/src/Switch/index.web.ts +5 -0
- package/src/Switch/types.ts +21 -0
- package/src/TabBar/TabBar.native.tsx +142 -0
- package/src/TabBar/TabBar.styles.tsx +399 -0
- package/src/TabBar/TabBar.web.tsx +205 -0
- package/src/TabBar/index.native.tsx +3 -0
- package/src/TabBar/index.ts +3 -0
- package/src/TabBar/index.web.tsx +3 -0
- package/src/TabBar/types.ts +26 -0
- package/src/Table/Table.native.tsx +122 -0
- package/src/Table/Table.styles.tsx +283 -0
- package/src/Table/Table.web.tsx +112 -0
- package/src/Table/index.native.tsx +3 -0
- package/src/Table/index.ts +3 -0
- package/src/Table/index.web.tsx +3 -0
- package/src/Table/types.ts +28 -0
- package/src/Text/Text.native.tsx +12 -11
- package/src/Text/Text.styles.tsx +76 -64
- package/src/Text/Text.web.tsx +14 -9
- package/src/Text/index.ts +5 -5
- package/src/Text/index.web.ts +5 -3
- package/src/Text/types.ts +20 -13
- package/src/TextArea/TextArea.native.tsx +134 -0
- package/src/TextArea/TextArea.styles.tsx +175 -0
- package/src/TextArea/TextArea.web.tsx +156 -0
- package/src/TextArea/index.native.ts +3 -0
- package/src/TextArea/index.ts +3 -0
- package/src/TextArea/index.web.ts +3 -0
- package/src/TextArea/types.ts +30 -0
- package/src/Tooltip/Tooltip.native.tsx +165 -0
- package/src/Tooltip/Tooltip.styles.tsx +73 -0
- package/src/Tooltip/Tooltip.web.tsx +87 -0
- package/src/Tooltip/index.native.ts +3 -0
- package/src/Tooltip/index.ts +3 -0
- package/src/Tooltip/types.ts +18 -0
- package/src/Video/Video.native.tsx +105 -0
- package/src/Video/Video.styles.tsx +39 -0
- package/src/Video/Video.web.tsx +115 -0
- package/src/Video/index.native.ts +5 -0
- package/src/Video/index.ts +5 -0
- package/src/Video/types.ts +29 -0
- package/src/View/View.native.tsx +9 -14
- package/src/View/View.styles.tsx +101 -93
- package/src/View/View.web.tsx +16 -17
- package/src/View/index.ts +5 -5
- package/src/View/index.web.ts +5 -3
- package/src/View/types.ts +29 -21
- package/src/examples/AccordionExamples.tsx +126 -0
- package/src/examples/AlertExamples.tsx +280 -0
- package/src/examples/AvatarExamples.tsx +23 -23
- package/src/examples/BadgeExamples.tsx +109 -41
- package/src/examples/BreadcrumbExamples.tsx +312 -0
- package/src/examples/ButtonExamples.tsx +160 -33
- package/src/examples/CardExamples.tsx +40 -40
- package/src/examples/CheckboxExamples.tsx +12 -12
- package/src/examples/ChipExamples.tsx +197 -0
- package/src/examples/DialogExamples.tsx +22 -22
- package/src/examples/DividerExamples.tsx +49 -49
- package/src/examples/IconExamples.tsx +270 -54
- package/src/examples/ImageExamples.tsx +174 -0
- package/src/examples/InputExamples.tsx +75 -17
- package/src/examples/ListExamples.tsx +288 -0
- package/src/examples/MenuExamples.tsx +144 -0
- package/src/examples/PopoverExamples.tsx +69 -73
- package/src/examples/ProgressExamples.tsx +137 -0
- package/src/examples/RadioButtonExamples.tsx +161 -0
- package/src/examples/SVGImageExamples.tsx +19 -17
- package/src/examples/ScreenExamples.tsx +31 -31
- package/src/examples/SelectExamples.tsx +67 -67
- package/src/examples/SkeletonExamples.tsx +206 -0
- package/src/examples/SliderExamples.tsx +200 -0
- package/src/examples/SwitchExamples.tsx +182 -0
- package/src/examples/TabBarExamples.tsx +143 -0
- package/src/examples/TableExamples.tsx +280 -0
- package/src/examples/TextAreaExamples.tsx +173 -0
- package/src/examples/TextExamples.tsx +28 -32
- package/src/examples/ThemeExtensionExamples.tsx +10 -10
- package/src/examples/TooltipExamples.tsx +126 -0
- package/src/examples/VideoExamples.tsx +144 -0
- package/src/examples/ViewExamples.tsx +64 -56
- package/src/examples/index.ts +17 -3
- package/src/hooks/useMergeRefs.ts +16 -0
- package/src/hooks/useSmartPosition.native.ts +169 -0
- package/src/index.native.ts +80 -9
- package/src/index.ts +71 -1
- package/src/internal/BoundedModalContent.native.tsx +58 -0
- package/src/internal/PositionedPortal.tsx +254 -0
- package/src/internal/SafeAreaDebugOverlay.native.tsx +173 -0
- package/src/unistyles.d.ts +6 -0
- package/src/utils/buildSizeVariants.ts +16 -0
- package/src/utils/deepMerge.ts +43 -0
- package/src/utils/positionUtils.native.ts +280 -0
- package/src/utils/styleHelpers.ts +48 -0
- package/LLM-ACCESS-GUIDE.md +0 -143
- package/src/ActivityIndicator/README.md +0 -132
- package/src/Avatar/README.md +0 -139
- package/src/Badge/README.md +0 -170
- package/src/Button/Button.types.ts +0 -12
- package/src/Button/README.md +0 -262
- package/src/Card/README.md +0 -258
- package/src/Checkbox/README.md +0 -102
- package/src/Dialog/README.md +0 -210
- package/src/Divider/README.md +0 -108
- package/src/Icon/README.md +0 -81
- package/src/Input/README.md +0 -100
- package/src/SVGImage/README.md +0 -209
- package/src/Screen/README.md +0 -86
- package/src/Select/README.md +0 -166
- package/src/Text/README.md +0 -94
- package/src/View/README.md +0 -107
- package/src/examples/AllExamples.tsx +0 -88
- package/src/examples/README.md +0 -136
- package/src/examples/ValidationExamples.tsx +0 -95
- package/src/examples/extendedTheme.ts +0 -329
- package/src/theme/breakpoints.ts +0 -8
- package/src/theme/colorResolver.ts +0 -218
- package/src/theme/colors.ts +0 -315
- package/src/theme/defaultThemes.ts +0 -326
- package/src/theme/index.ts +0 -188
- package/src/theme/themeBuilder.ts +0 -602
- package/src/theme/unistyles.d.ts +0 -6
- package/src/theme/variantHelpers.ts +0 -584
- package/src/theme/variants.ts +0 -56
package/src/theme/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 };
|
|
@@ -1,326 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
createTheme,
|
|
3
|
-
generateColorPalette,
|
|
4
|
-
createLightResolvedIntents,
|
|
5
|
-
createDarkResolvedIntents,
|
|
6
|
-
createLightResolvedColors,
|
|
7
|
-
createDarkResolvedColors,
|
|
8
|
-
type ThemeConfig
|
|
9
|
-
} from './themeBuilder';
|
|
10
|
-
|
|
11
|
-
// Common theme properties shared across all themes
|
|
12
|
-
export const commonThemeProperties = {
|
|
13
|
-
spacing: {
|
|
14
|
-
xs: 4,
|
|
15
|
-
sm: 8,
|
|
16
|
-
md: 16,
|
|
17
|
-
lg: 24,
|
|
18
|
-
xl: 32,
|
|
19
|
-
xxl: 40,
|
|
20
|
-
xxxl: 48,
|
|
21
|
-
xxxxl: 64,
|
|
22
|
-
},
|
|
23
|
-
|
|
24
|
-
borderRadius: {
|
|
25
|
-
none: 0,
|
|
26
|
-
xs: 2,
|
|
27
|
-
sm: 4,
|
|
28
|
-
md: 8,
|
|
29
|
-
lg: 12,
|
|
30
|
-
xl: 16,
|
|
31
|
-
xxl: 20,
|
|
32
|
-
full: 9999,
|
|
33
|
-
},
|
|
34
|
-
|
|
35
|
-
typography: {
|
|
36
|
-
fontSize: {
|
|
37
|
-
xs: 12,
|
|
38
|
-
sm: 14,
|
|
39
|
-
md: 16,
|
|
40
|
-
lg: 18,
|
|
41
|
-
xl: 20,
|
|
42
|
-
xxl: 24,
|
|
43
|
-
xxxl: 32,
|
|
44
|
-
xxxxl: 40,
|
|
45
|
-
},
|
|
46
|
-
fontWeight: {
|
|
47
|
-
light: '300',
|
|
48
|
-
regular: '400',
|
|
49
|
-
medium: '500',
|
|
50
|
-
semibold: '600',
|
|
51
|
-
bold: '700',
|
|
52
|
-
extrabold: '800',
|
|
53
|
-
},
|
|
54
|
-
lineHeight: {
|
|
55
|
-
tight: 1.25,
|
|
56
|
-
normal: 1.5,
|
|
57
|
-
relaxed: 1.75,
|
|
58
|
-
},
|
|
59
|
-
},
|
|
60
|
-
|
|
61
|
-
shadows: {
|
|
62
|
-
sm: {
|
|
63
|
-
shadowColor: '#000',
|
|
64
|
-
shadowOffset: { width: 0, height: 1 },
|
|
65
|
-
shadowOpacity: 0.05,
|
|
66
|
-
shadowRadius: 2,
|
|
67
|
-
elevation: 1,
|
|
68
|
-
},
|
|
69
|
-
md: {
|
|
70
|
-
shadowColor: '#000',
|
|
71
|
-
shadowOffset: { width: 0, height: 4 },
|
|
72
|
-
shadowOpacity: 0.1,
|
|
73
|
-
shadowRadius: 8,
|
|
74
|
-
elevation: 4,
|
|
75
|
-
},
|
|
76
|
-
lg: {
|
|
77
|
-
shadowColor: '#000',
|
|
78
|
-
shadowOffset: { width: 0, height: 8 },
|
|
79
|
-
shadowOpacity: 0.15,
|
|
80
|
-
shadowRadius: 16,
|
|
81
|
-
elevation: 8,
|
|
82
|
-
},
|
|
83
|
-
},
|
|
84
|
-
|
|
85
|
-
transitions: {
|
|
86
|
-
fast: '0.15s ease',
|
|
87
|
-
base: '0.2s ease',
|
|
88
|
-
slow: '0.3s ease',
|
|
89
|
-
button: 'all 0.2s ease',
|
|
90
|
-
fade: 'opacity 0.2s ease',
|
|
91
|
-
slide: 'transform 0.3s ease',
|
|
92
|
-
},
|
|
93
|
-
|
|
94
|
-
// Dynamic helper functions
|
|
95
|
-
gap: (value: number) => value * 8,
|
|
96
|
-
scale: (value: number) => value * 1.2,
|
|
97
|
-
alpha: (color: string, alpha: number) => `${color}${Math.round(alpha * 255).toString(16).padStart(2, '0')}`,
|
|
98
|
-
};
|
|
99
|
-
|
|
100
|
-
// =============================================================================
|
|
101
|
-
// DEFAULT PALETTES
|
|
102
|
-
// =============================================================================
|
|
103
|
-
|
|
104
|
-
/**
|
|
105
|
-
* Helper function to create standard color palettes
|
|
106
|
-
*/
|
|
107
|
-
export function createStandardPalettes(): ThemeConfig['palettes'] {
|
|
108
|
-
return {
|
|
109
|
-
red: generateColorPalette('#ef4444'),
|
|
110
|
-
orange: generateColorPalette('#f97316'),
|
|
111
|
-
yellow: generateColorPalette('#eab308'),
|
|
112
|
-
green: generateColorPalette('#22c55e'),
|
|
113
|
-
blue: generateColorPalette('#3b82f6'),
|
|
114
|
-
purple: generateColorPalette('#a855f7'),
|
|
115
|
-
black: generateColorPalette('#000000'),
|
|
116
|
-
gray: generateColorPalette('#6b7280'),
|
|
117
|
-
white: generateColorPalette('#ffffff'),
|
|
118
|
-
};
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
/**
|
|
122
|
-
* Helper function to create dark theme palettes with proper dark mode colors
|
|
123
|
-
*/
|
|
124
|
-
export function createDarkPalettes(): ThemeConfig['palettes'] {
|
|
125
|
-
const basePalettes = createStandardPalettes();
|
|
126
|
-
|
|
127
|
-
return {
|
|
128
|
-
...basePalettes,
|
|
129
|
-
// Adjusted gray palette for dark theme
|
|
130
|
-
gray: {
|
|
131
|
-
50: '#18181b', // Very dark background
|
|
132
|
-
100: '#27272a', // Dark surface
|
|
133
|
-
200: '#3f3f46', // Medium dark
|
|
134
|
-
300: '#52525b', // Medium
|
|
135
|
-
400: '#71717a', // Medium light
|
|
136
|
-
500: '#a1a1aa', // Light gray
|
|
137
|
-
600: '#d4d4d8', // Lighter gray
|
|
138
|
-
700: '#e4e4e7', // Very light gray
|
|
139
|
-
800: '#f4f4f5', // Nearly white
|
|
140
|
-
900: '#fafafa', // White
|
|
141
|
-
},
|
|
142
|
-
// Adjusted black palette for dark theme
|
|
143
|
-
black: {
|
|
144
|
-
50: '#000000', // Pure black
|
|
145
|
-
100: '#0a0a0a', // Very dark
|
|
146
|
-
200: '#141414', // Dark
|
|
147
|
-
300: '#1f1f1f', // Medium dark
|
|
148
|
-
400: '#2a2a2a', // Medium
|
|
149
|
-
500: '#3c3c3c', // Medium light
|
|
150
|
-
600: '#525252', // Light
|
|
151
|
-
700: '#737373', // Lighter
|
|
152
|
-
800: '#a3a3a3', // Very light
|
|
153
|
-
900: '#d4d4d4', // Nearly white
|
|
154
|
-
},
|
|
155
|
-
// Adjusted white palette for dark theme
|
|
156
|
-
white: {
|
|
157
|
-
50: '#0c0c0c', // Very dark (inverted)
|
|
158
|
-
100: '#171717', // Dark
|
|
159
|
-
200: '#262626', // Medium dark
|
|
160
|
-
300: '#404040', // Medium
|
|
161
|
-
400: '#525252', // Medium light
|
|
162
|
-
500: '#737373', // Light
|
|
163
|
-
600: '#a3a3a3', // Lighter
|
|
164
|
-
700: '#d4d4d4', // Very light
|
|
165
|
-
800: '#f5f5f5', // Nearly white
|
|
166
|
-
900: '#ffffff', // Pure white
|
|
167
|
-
},
|
|
168
|
-
};
|
|
169
|
-
}
|
|
170
|
-
|
|
171
|
-
// Convenience functions for complete theme creation
|
|
172
|
-
export function createLightIntentMappings(): ThemeConfig['intents'] {
|
|
173
|
-
const palettes = createStandardPalettes();
|
|
174
|
-
return createLightResolvedIntents(palettes);
|
|
175
|
-
}
|
|
176
|
-
|
|
177
|
-
export function createDarkIntentMappings(): ThemeConfig['intents'] {
|
|
178
|
-
const palettes = createDarkPalettes();
|
|
179
|
-
return createDarkResolvedIntents(palettes);
|
|
180
|
-
}
|
|
181
|
-
|
|
182
|
-
export function createLightColorMappings(): ThemeConfig['colors'] {
|
|
183
|
-
const palettes = createStandardPalettes();
|
|
184
|
-
return createLightResolvedColors(palettes);
|
|
185
|
-
}
|
|
186
|
-
|
|
187
|
-
export function createDarkColorMappings(): ThemeConfig['colors'] {
|
|
188
|
-
const palettes = createDarkPalettes();
|
|
189
|
-
return createDarkResolvedColors(palettes);
|
|
190
|
-
}
|
|
191
|
-
|
|
192
|
-
// Create default light theme using the explicit theme builder
|
|
193
|
-
export function createDefaultLightTheme() {
|
|
194
|
-
return createTheme({
|
|
195
|
-
name: 'DefaultLight',
|
|
196
|
-
mode: 'light',
|
|
197
|
-
palettes: createStandardPalettes(),
|
|
198
|
-
intents: createLightIntentMappings(),
|
|
199
|
-
colors: createLightColorMappings(),
|
|
200
|
-
|
|
201
|
-
typography: {
|
|
202
|
-
fontFamily: '-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif',
|
|
203
|
-
},
|
|
204
|
-
|
|
205
|
-
borderRadius: {
|
|
206
|
-
sm: 4,
|
|
207
|
-
md: 8,
|
|
208
|
-
lg: 12,
|
|
209
|
-
xl: 16,
|
|
210
|
-
xxl: 20,
|
|
211
|
-
},
|
|
212
|
-
|
|
213
|
-
spacing: {
|
|
214
|
-
xs: 4,
|
|
215
|
-
sm: 8,
|
|
216
|
-
md: 16,
|
|
217
|
-
lg: 24,
|
|
218
|
-
xl: 32,
|
|
219
|
-
xxl: 40,
|
|
220
|
-
xxxl: 48,
|
|
221
|
-
},
|
|
222
|
-
|
|
223
|
-
shadows: {
|
|
224
|
-
sm: {
|
|
225
|
-
shadowColor: '#000',
|
|
226
|
-
shadowOffset: { width: 0, height: 1 },
|
|
227
|
-
shadowOpacity: 0.05,
|
|
228
|
-
shadowRadius: 2,
|
|
229
|
-
elevation: 1,
|
|
230
|
-
},
|
|
231
|
-
md: {
|
|
232
|
-
shadowColor: '#000',
|
|
233
|
-
shadowOffset: { width: 0, height: 4 },
|
|
234
|
-
shadowOpacity: 0.1,
|
|
235
|
-
shadowRadius: 8,
|
|
236
|
-
elevation: 4,
|
|
237
|
-
},
|
|
238
|
-
lg: {
|
|
239
|
-
shadowColor: '#000',
|
|
240
|
-
shadowOffset: { width: 0, height: 8 },
|
|
241
|
-
shadowOpacity: 0.15,
|
|
242
|
-
shadowRadius: 16,
|
|
243
|
-
elevation: 8,
|
|
244
|
-
},
|
|
245
|
-
},
|
|
246
|
-
|
|
247
|
-
transitions: {
|
|
248
|
-
fast: '0.15s ease',
|
|
249
|
-
base: '0.2s ease',
|
|
250
|
-
slow: '0.3s ease',
|
|
251
|
-
button: 'all 0.2s ease',
|
|
252
|
-
fade: 'opacity 0.2s ease',
|
|
253
|
-
slide: 'transform 0.3s ease',
|
|
254
|
-
},
|
|
255
|
-
});
|
|
256
|
-
}
|
|
257
|
-
|
|
258
|
-
// Create default dark theme using the explicit theme builder
|
|
259
|
-
export function createDefaultDarkTheme() {
|
|
260
|
-
return createTheme({
|
|
261
|
-
name: 'DefaultDark',
|
|
262
|
-
mode: 'dark',
|
|
263
|
-
palettes: createDarkPalettes(),
|
|
264
|
-
intents: createDarkIntentMappings(),
|
|
265
|
-
colors: createDarkColorMappings(),
|
|
266
|
-
|
|
267
|
-
typography: {
|
|
268
|
-
fontFamily: '-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif',
|
|
269
|
-
},
|
|
270
|
-
|
|
271
|
-
borderRadius: {
|
|
272
|
-
sm: 4,
|
|
273
|
-
md: 8,
|
|
274
|
-
lg: 12,
|
|
275
|
-
xl: 16,
|
|
276
|
-
xxl: 20,
|
|
277
|
-
},
|
|
278
|
-
|
|
279
|
-
spacing: {
|
|
280
|
-
xs: 4,
|
|
281
|
-
sm: 8,
|
|
282
|
-
md: 16,
|
|
283
|
-
lg: 24,
|
|
284
|
-
xl: 32,
|
|
285
|
-
xxl: 40,
|
|
286
|
-
xxxl: 48,
|
|
287
|
-
},
|
|
288
|
-
|
|
289
|
-
shadows: {
|
|
290
|
-
sm: {
|
|
291
|
-
shadowColor: '#000',
|
|
292
|
-
shadowOffset: { width: 0, height: 1 },
|
|
293
|
-
shadowOpacity: 0.2,
|
|
294
|
-
shadowRadius: 2,
|
|
295
|
-
elevation: 1,
|
|
296
|
-
},
|
|
297
|
-
md: {
|
|
298
|
-
shadowColor: '#000',
|
|
299
|
-
shadowOffset: { width: 0, height: 4 },
|
|
300
|
-
shadowOpacity: 0.3,
|
|
301
|
-
shadowRadius: 8,
|
|
302
|
-
elevation: 4,
|
|
303
|
-
},
|
|
304
|
-
lg: {
|
|
305
|
-
shadowColor: '#000',
|
|
306
|
-
shadowOffset: { width: 0, height: 8 },
|
|
307
|
-
shadowOpacity: 0.4,
|
|
308
|
-
shadowRadius: 16,
|
|
309
|
-
elevation: 8,
|
|
310
|
-
},
|
|
311
|
-
},
|
|
312
|
-
|
|
313
|
-
transitions: {
|
|
314
|
-
fast: '0.15s ease',
|
|
315
|
-
base: '0.2s ease',
|
|
316
|
-
slow: '0.3s ease',
|
|
317
|
-
button: 'all 0.2s ease',
|
|
318
|
-
fade: 'opacity 0.2s ease',
|
|
319
|
-
slide: 'transform 0.3s ease',
|
|
320
|
-
},
|
|
321
|
-
});
|
|
322
|
-
}
|
|
323
|
-
|
|
324
|
-
// Export the created themes
|
|
325
|
-
export const defaultLightTheme = createDefaultLightTheme();
|
|
326
|
-
export const defaultDarkTheme = createDefaultDarkTheme();
|