@idealyst/components 1.0.82 → 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 +25 -7
- 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 +347 -0
- package/src/Select/Select.styles.tsx +335 -0
- package/src/Select/Select.web.tsx +276 -0
- package/src/Select/index.native.ts +2 -0
- package/src/Select/index.ts +5 -0
- package/src/Select/index.web.ts +5 -0
- package/src/Select/types.ts +124 -0
- 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 +423 -0
- 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 +18 -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 +75 -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/Text/README.md +0 -94
- package/src/View/README.md +0 -107
- package/src/examples/AllExamples.tsx +0 -84
- 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
|
@@ -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();
|
package/src/theme/index.ts
DELETED
|
@@ -1,188 +0,0 @@
|
|
|
1
|
-
// =============================================================================
|
|
2
|
-
// THEME PACKAGE - Complete theming solution
|
|
3
|
-
// =============================================================================
|
|
4
|
-
// This file exports everything needed for theming in a clean, organized way
|
|
5
|
-
|
|
6
|
-
// Import everything we need first
|
|
7
|
-
import {
|
|
8
|
-
createTheme,
|
|
9
|
-
generateColorPalette,
|
|
10
|
-
lighten,
|
|
11
|
-
darken,
|
|
12
|
-
createLightResolvedIntents,
|
|
13
|
-
createDarkResolvedIntents,
|
|
14
|
-
createLightResolvedColors,
|
|
15
|
-
createDarkResolvedColors,
|
|
16
|
-
extendTheme,
|
|
17
|
-
type ThemeConfig,
|
|
18
|
-
type ThemeColorPalette,
|
|
19
|
-
type ResolvedIntent,
|
|
20
|
-
type ThemeColorSystem,
|
|
21
|
-
} from './themeBuilder';
|
|
22
|
-
|
|
23
|
-
import {
|
|
24
|
-
createDefaultLightTheme,
|
|
25
|
-
createDefaultDarkTheme,
|
|
26
|
-
createStandardPalettes,
|
|
27
|
-
createDarkPalettes,
|
|
28
|
-
createLightIntentMappings,
|
|
29
|
-
createDarkIntentMappings,
|
|
30
|
-
createLightColorMappings,
|
|
31
|
-
createDarkColorMappings,
|
|
32
|
-
defaultLightTheme,
|
|
33
|
-
defaultDarkTheme,
|
|
34
|
-
commonThemeProperties,
|
|
35
|
-
} from './defaultThemes';
|
|
36
|
-
|
|
37
|
-
import {
|
|
38
|
-
extendedThemes,
|
|
39
|
-
extendedColorPalettes,
|
|
40
|
-
extendedDarkColorPalettes,
|
|
41
|
-
type ExtendedColorVariant,
|
|
42
|
-
type ExtendedIntentVariant,
|
|
43
|
-
} from '../examples/extendedTheme';
|
|
44
|
-
|
|
45
|
-
import { breakpoints } from './breakpoints';
|
|
46
|
-
// Note: Removed import from ../unistyles to prevent circular dependency
|
|
47
|
-
// when navigation package imports from this theme index
|
|
48
|
-
|
|
49
|
-
// Re-export everything for external use
|
|
50
|
-
export {
|
|
51
|
-
// Core theme building functionality
|
|
52
|
-
createTheme,
|
|
53
|
-
generateColorPalette,
|
|
54
|
-
lighten,
|
|
55
|
-
darken,
|
|
56
|
-
createLightResolvedIntents,
|
|
57
|
-
createDarkResolvedIntents,
|
|
58
|
-
createLightResolvedColors,
|
|
59
|
-
createDarkResolvedColors,
|
|
60
|
-
extendTheme,
|
|
61
|
-
type ThemeConfig,
|
|
62
|
-
type ThemeColorPalette,
|
|
63
|
-
type ResolvedIntent,
|
|
64
|
-
type ThemeColorSystem,
|
|
65
|
-
|
|
66
|
-
// Default themes and palettes
|
|
67
|
-
createDefaultLightTheme,
|
|
68
|
-
createDefaultDarkTheme,
|
|
69
|
-
createStandardPalettes,
|
|
70
|
-
createDarkPalettes,
|
|
71
|
-
createLightIntentMappings,
|
|
72
|
-
createDarkIntentMappings,
|
|
73
|
-
createLightColorMappings,
|
|
74
|
-
createDarkColorMappings,
|
|
75
|
-
defaultLightTheme,
|
|
76
|
-
defaultDarkTheme,
|
|
77
|
-
commonThemeProperties,
|
|
78
|
-
|
|
79
|
-
// Extended themes for examples
|
|
80
|
-
extendedThemes,
|
|
81
|
-
extendedColorPalettes,
|
|
82
|
-
extendedDarkColorPalettes,
|
|
83
|
-
type ExtendedColorVariant,
|
|
84
|
-
type ExtendedIntentVariant,
|
|
85
|
-
|
|
86
|
-
// Breakpoints for responsive design
|
|
87
|
-
breakpoints,
|
|
88
|
-
|
|
89
|
-
// Legacy theme exports for backward compatibility (avoiding circular dependency)
|
|
90
|
-
extendedThemes as legacyThemes,
|
|
91
|
-
};
|
|
92
|
-
|
|
93
|
-
// Individual theme exports for backward compatibility
|
|
94
|
-
export const lightTheme = extendedThemes.light;
|
|
95
|
-
export const darkTheme = extendedThemes.dark;
|
|
96
|
-
|
|
97
|
-
// =============================================================================
|
|
98
|
-
// THEME PRESETS - Ready-to-use theme configurations
|
|
99
|
-
// =============================================================================
|
|
100
|
-
|
|
101
|
-
/**
|
|
102
|
-
* Complete theme presets ready for immediate use
|
|
103
|
-
*/
|
|
104
|
-
export const themePresets = {
|
|
105
|
-
// Standard themes
|
|
106
|
-
light: defaultLightTheme,
|
|
107
|
-
dark: defaultDarkTheme,
|
|
108
|
-
|
|
109
|
-
// Extended themes with additional colors
|
|
110
|
-
lightExtended: extendedThemes.light,
|
|
111
|
-
darkExtended: extendedThemes.dark,
|
|
112
|
-
} as const;
|
|
113
|
-
|
|
114
|
-
/**
|
|
115
|
-
* Theme creation utilities
|
|
116
|
-
*/
|
|
117
|
-
export const themeUtils = {
|
|
118
|
-
// Color palette generation
|
|
119
|
-
generateColorPalette,
|
|
120
|
-
lighten,
|
|
121
|
-
darken,
|
|
122
|
-
|
|
123
|
-
// Theme creation
|
|
124
|
-
createTheme,
|
|
125
|
-
extendTheme,
|
|
126
|
-
|
|
127
|
-
// Palette creators
|
|
128
|
-
createStandardPalettes,
|
|
129
|
-
createDarkPalettes,
|
|
130
|
-
|
|
131
|
-
// Intent creators
|
|
132
|
-
createLightIntentMappings,
|
|
133
|
-
createDarkIntentMappings,
|
|
134
|
-
|
|
135
|
-
// Color system creators
|
|
136
|
-
createLightColorMappings,
|
|
137
|
-
createDarkColorMappings,
|
|
138
|
-
} as const;
|
|
139
|
-
|
|
140
|
-
/**
|
|
141
|
-
* Type definitions for theme-related interfaces
|
|
142
|
-
*/
|
|
143
|
-
export type ThemePreset = keyof typeof themePresets;
|
|
144
|
-
export type ThemeMode = 'light' | 'dark';
|
|
145
|
-
export type AppTheme = typeof extendedThemes.light; // Define AppTheme to avoid circular dependency
|
|
146
|
-
|
|
147
|
-
// =============================================================================
|
|
148
|
-
// CONVENIENCE EXPORTS - For common use cases
|
|
149
|
-
// =============================================================================
|
|
150
|
-
|
|
151
|
-
/**
|
|
152
|
-
* Quick access to commonly used themes
|
|
153
|
-
*/
|
|
154
|
-
export const quickThemes = {
|
|
155
|
-
light: extendedThemes.light,
|
|
156
|
-
dark: extendedThemes.dark,
|
|
157
|
-
} as const;
|
|
158
|
-
|
|
159
|
-
/**
|
|
160
|
-
* All available color palettes (standard + extended)
|
|
161
|
-
*/
|
|
162
|
-
export const allColorPalettes = {
|
|
163
|
-
...createStandardPalettes(),
|
|
164
|
-
...extendedColorPalettes,
|
|
165
|
-
} as const;
|
|
166
|
-
|
|
167
|
-
// =============================================================================
|
|
168
|
-
// DOCUMENTATION HELPERS
|
|
169
|
-
// =============================================================================
|
|
170
|
-
|
|
171
|
-
/**
|
|
172
|
-
* Theme documentation and examples
|
|
173
|
-
*/
|
|
174
|
-
export const themeDocumentation = {
|
|
175
|
-
description: 'Complete theming system for cross-platform React components',
|
|
176
|
-
availableThemes: Object.keys(themePresets),
|
|
177
|
-
availablePalettes: Object.keys(allColorPalettes),
|
|
178
|
-
themeStructure: {
|
|
179
|
-
palettes: 'Color palettes with 50-900 shades',
|
|
180
|
-
intents: 'Semantic color mappings (primary, success, error, etc.)',
|
|
181
|
-
colors: 'Component color system (text, surface, border, interactive)',
|
|
182
|
-
typography: 'Font families, sizes, weights, and line heights',
|
|
183
|
-
spacing: 'Consistent spacing scale',
|
|
184
|
-
borderRadius: 'Border radius scale',
|
|
185
|
-
shadows: 'Shadow definitions for elevation',
|
|
186
|
-
transitions: 'Animation timing definitions',
|
|
187
|
-
},
|
|
188
|
-
} as const;
|