@idealyst/components 1.1.7 → 1.1.8
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/package.json +3 -3
- package/src/Accordion/Accordion.native.tsx +8 -6
- package/src/Accordion/Accordion.styles.old.tsx +298 -0
- package/src/Accordion/Accordion.styles.tsx +102 -236
- package/src/ActivityIndicator/ActivityIndicator.styles.old.tsx +94 -0
- package/src/ActivityIndicator/ActivityIndicator.styles.tsx +44 -74
- package/src/Alert/Alert.native.tsx +16 -6
- package/src/Alert/Alert.styles.old.tsx +209 -0
- package/src/Alert/Alert.styles.tsx +67 -149
- package/src/Avatar/Avatar.styles.old.tsx +99 -0
- package/src/Avatar/Avatar.styles.tsx +35 -80
- package/src/Badge/Badge.styles.old.tsx +157 -0
- package/src/Badge/Badge.styles.tsx +61 -121
- package/src/Breadcrumb/Breadcrumb.styles.old.tsx +231 -0
- package/src/Breadcrumb/Breadcrumb.styles.tsx +83 -200
- package/src/Breadcrumb/Breadcrumb.web.tsx +28 -23
- package/src/Button/Button.styles.tsx +89 -141
- package/src/Card/Card.native.tsx +7 -11
- package/src/Card/Card.styles.old.tsx +160 -0
- package/src/Card/Card.styles.tsx +105 -142
- package/src/Card/Card.web.tsx +5 -4
- package/src/Checkbox/Checkbox.native.tsx +9 -5
- package/src/Checkbox/Checkbox.styles.old.tsx +271 -0
- package/src/Checkbox/Checkbox.styles.tsx +104 -216
- package/src/Checkbox/Checkbox.web.tsx +6 -6
- package/src/Chip/Chip.styles.old.tsx +184 -0
- package/src/Chip/Chip.styles.tsx +34 -72
- package/src/Dialog/Dialog.native.tsx +7 -4
- package/src/Dialog/Dialog.styles.old.tsx +202 -0
- package/src/Dialog/Dialog.styles.tsx +69 -133
- package/src/Divider/Divider.styles.old.tsx +172 -0
- package/src/Divider/Divider.styles.tsx +62 -84
- package/src/Icon/Icon.native.tsx +8 -8
- package/src/Icon/Icon.styles.old.tsx +81 -0
- package/src/Icon/Icon.styles.tsx +52 -66
- package/src/Icon/Icon.web.tsx +43 -7
- package/src/Icon/IconSvg/IconSvg.web.tsx +2 -0
- package/src/Image/Image.styles.old.tsx +69 -0
- package/src/Image/Image.styles.tsx +46 -60
- package/src/Input/Input.native.tsx +138 -53
- package/src/Input/Input.styles.old.tsx +289 -0
- package/src/Input/Input.styles.tsx +127 -198
- package/src/List/List.native.tsx +5 -2
- package/src/List/List.styles.old.tsx +242 -0
- package/src/List/List.styles.tsx +179 -215
- package/src/List/ListItem.native.tsx +12 -6
- package/src/List/ListItem.web.tsx +23 -13
- package/src/Menu/Menu.styles.old.tsx +197 -0
- package/src/Menu/Menu.styles.tsx +68 -150
- package/src/Menu/MenuItem.native.tsx +5 -3
- package/src/Menu/MenuItem.styles.old.tsx +114 -0
- package/src/Menu/MenuItem.styles.tsx +57 -89
- package/src/Menu/MenuItem.web.tsx +8 -3
- package/src/Popover/Popover.native.tsx +10 -4
- package/src/Popover/Popover.styles.old.tsx +135 -0
- package/src/Popover/Popover.styles.tsx +51 -112
- package/src/Pressable/Pressable.styles.old.tsx +27 -0
- package/src/Pressable/Pressable.styles.tsx +35 -27
- package/src/Progress/Progress.styles.old.tsx +200 -0
- package/src/Progress/Progress.styles.tsx +75 -164
- package/src/RadioButton/RadioButton.native.tsx +4 -3
- package/src/RadioButton/RadioButton.styles.old.tsx +175 -0
- package/src/RadioButton/RadioButton.styles.tsx +83 -154
- package/src/RadioButton/RadioButton.web.tsx +2 -2
- package/src/SVGImage/SVGImage.styles.old.tsx +86 -0
- package/src/SVGImage/SVGImage.styles.tsx +35 -78
- package/src/Screen/Screen.native.tsx +18 -25
- package/src/Screen/Screen.styles.old.tsx +87 -0
- package/src/Screen/Screen.styles.tsx +105 -67
- package/src/Screen/Screen.web.tsx +1 -1
- package/src/Select/Select.native.tsx +42 -33
- package/src/Select/Select.styles.old.tsx +353 -0
- package/src/Select/Select.styles.tsx +223 -292
- package/src/Skeleton/Skeleton.styles.old.tsx +67 -0
- package/src/Skeleton/Skeleton.styles.tsx +29 -53
- package/src/Slider/Slider.styles.old.tsx +259 -0
- package/src/Slider/Slider.styles.tsx +153 -234
- package/src/Switch/Switch.native.tsx +7 -5
- package/src/Switch/Switch.styles.old.tsx +203 -0
- package/src/Switch/Switch.styles.tsx +101 -174
- package/src/Switch/Switch.web.tsx +5 -5
- package/src/TabBar/TabBar.native.tsx +3 -2
- package/src/TabBar/TabBar.styles.old.tsx +343 -0
- package/src/TabBar/TabBar.styles.tsx +145 -279
- package/src/Table/Table.native.tsx +18 -9
- package/src/Table/Table.styles.old.tsx +311 -0
- package/src/Table/Table.styles.tsx +152 -286
- package/src/Text/Text.native.tsx +1 -3
- package/src/Text/Text.style.demo.tsx +16 -0
- package/src/Text/Text.styles.old.tsx +219 -0
- package/src/Text/Text.styles.tsx +94 -84
- package/src/Text/Text.web.tsx +2 -2
- package/src/Text/index.ts +1 -0
- package/src/TextArea/TextArea.styles.old.tsx +213 -0
- package/src/TextArea/TextArea.styles.tsx +93 -181
- package/src/Tooltip/Tooltip.styles.old.tsx +82 -0
- package/src/Tooltip/Tooltip.styles.tsx +32 -56
- package/src/Video/Video.styles.old.tsx +51 -0
- package/src/Video/Video.styles.tsx +32 -44
- package/src/View/View.native.tsx +12 -14
- package/src/View/View.styles.old.tsx +125 -0
- package/src/View/View.styles.tsx +76 -106
- package/src/View/View.web.tsx +1 -0
- package/src/examples/CardExamples.tsx +0 -6
- package/src/extensions/extendComponent.ts +61 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@idealyst/components",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.8",
|
|
4
4
|
"description": "Shared component library for React and React Native",
|
|
5
5
|
"documentation": "https://github.com/IdealystIO/idealyst-framework/tree/main/packages/components#readme",
|
|
6
6
|
"readme": "README.md",
|
|
@@ -56,7 +56,7 @@
|
|
|
56
56
|
"publish:npm": "npm publish"
|
|
57
57
|
},
|
|
58
58
|
"peerDependencies": {
|
|
59
|
-
"@idealyst/theme": "^1.1.
|
|
59
|
+
"@idealyst/theme": "^1.1.8",
|
|
60
60
|
"@mdi/js": ">=7.0.0",
|
|
61
61
|
"@mdi/react": ">=1.0.0",
|
|
62
62
|
"@react-native-vector-icons/common": ">=12.0.0",
|
|
@@ -106,7 +106,7 @@
|
|
|
106
106
|
}
|
|
107
107
|
},
|
|
108
108
|
"devDependencies": {
|
|
109
|
-
"@idealyst/theme": "^1.1.
|
|
109
|
+
"@idealyst/theme": "^1.1.8",
|
|
110
110
|
"@mdi/react": "^1.6.1",
|
|
111
111
|
"@types/react": "^19.1.0",
|
|
112
112
|
"react": "^19.1.0",
|
|
@@ -37,11 +37,13 @@ const AccordionItem: React.FC<AccordionItemProps> = ({
|
|
|
37
37
|
disabled: Boolean(item.disabled),
|
|
38
38
|
});
|
|
39
39
|
|
|
40
|
-
// Get dynamic styles
|
|
40
|
+
// Get dynamic styles - call as functions to get theme-reactive styles
|
|
41
41
|
const itemStyle = (accordionStyles.item as any)({ type, isLast });
|
|
42
42
|
const headerStyle = (accordionStyles.header as any)({});
|
|
43
43
|
const iconStyle = (accordionStyles.icon as any)({});
|
|
44
44
|
const contentStyle = (accordionStyles.content as any)({});
|
|
45
|
+
const titleStyle = (accordionStyles.title as any)({});
|
|
46
|
+
const contentInnerStyle = (contentInnerStyle as any)({});
|
|
45
47
|
|
|
46
48
|
// Animate height and icon rotation when expanded state changes
|
|
47
49
|
useEffect(() => {
|
|
@@ -88,7 +90,7 @@ const AccordionItem: React.FC<AccordionItemProps> = ({
|
|
|
88
90
|
accessibilityLabel={item.title}
|
|
89
91
|
accessibilityState={{ expanded: isExpanded, disabled: item.disabled }}
|
|
90
92
|
>
|
|
91
|
-
<View style={
|
|
93
|
+
<View style={titleStyle}>
|
|
92
94
|
<Text style={headerStyle}>
|
|
93
95
|
{item.title}
|
|
94
96
|
</Text>
|
|
@@ -107,9 +109,9 @@ const AccordionItem: React.FC<AccordionItemProps> = ({
|
|
|
107
109
|
style={{ position: 'absolute', opacity: 0, zIndex: -1 }}
|
|
108
110
|
onLayout={handleContentLayout}
|
|
109
111
|
>
|
|
110
|
-
<View style={
|
|
112
|
+
<View style={contentInnerStyle}>
|
|
111
113
|
{typeof item.content === 'string' ? (
|
|
112
|
-
<Text style={
|
|
114
|
+
<Text style={contentInnerStyle}>
|
|
113
115
|
{item.content}
|
|
114
116
|
</Text>
|
|
115
117
|
) : (
|
|
@@ -120,9 +122,9 @@ const AccordionItem: React.FC<AccordionItemProps> = ({
|
|
|
120
122
|
|
|
121
123
|
{/* Animated visible content */}
|
|
122
124
|
<Animated.View style={animatedContentStyle}>
|
|
123
|
-
<View style={
|
|
125
|
+
<View style={contentInnerStyle}>
|
|
124
126
|
{typeof item.content === 'string' ? (
|
|
125
|
-
<Text style={
|
|
127
|
+
<Text style={contentInnerStyle}>
|
|
126
128
|
{item.content}
|
|
127
129
|
</Text>
|
|
128
130
|
) : (
|
|
@@ -0,0 +1,298 @@
|
|
|
1
|
+
import { StyleSheet } from 'react-native-unistyles';
|
|
2
|
+
import { Theme, StylesheetStyles, Size } from '@idealyst/theme';
|
|
3
|
+
import { buildSizeVariants } from '../utils/buildSizeVariants';
|
|
4
|
+
import {
|
|
5
|
+
buildGapVariants,
|
|
6
|
+
buildPaddingVariants,
|
|
7
|
+
buildPaddingVerticalVariants,
|
|
8
|
+
buildPaddingHorizontalVariants,
|
|
9
|
+
buildMarginVariants,
|
|
10
|
+
buildMarginVerticalVariants,
|
|
11
|
+
buildMarginHorizontalVariants,
|
|
12
|
+
} from '../utils/buildViewStyleVariants';
|
|
13
|
+
import { AccordionType } from './types';
|
|
14
|
+
import { applyExtensions } from '../extensions/applyExtension';
|
|
15
|
+
|
|
16
|
+
type AccordionSize = Size;
|
|
17
|
+
|
|
18
|
+
type AccordionVariants = {
|
|
19
|
+
size: AccordionSize;
|
|
20
|
+
type: AccordionType;
|
|
21
|
+
expanded: boolean;
|
|
22
|
+
disabled: boolean;
|
|
23
|
+
isLast: boolean;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export type ExpandedAccordionStyles = StylesheetStyles<keyof AccordionVariants>;
|
|
27
|
+
|
|
28
|
+
type ItemDynamicProps = {
|
|
29
|
+
type?: AccordionType;
|
|
30
|
+
isLast?: boolean;
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Create type variants for container
|
|
35
|
+
*/
|
|
36
|
+
function createContainerTypeVariants(theme: Theme) {
|
|
37
|
+
return {
|
|
38
|
+
standard: {
|
|
39
|
+
gap: 0,
|
|
40
|
+
},
|
|
41
|
+
separated: {
|
|
42
|
+
gap: 8,
|
|
43
|
+
},
|
|
44
|
+
bordered: {
|
|
45
|
+
gap: 0,
|
|
46
|
+
borderWidth: 1,
|
|
47
|
+
borderStyle: 'solid' as const,
|
|
48
|
+
borderColor: theme.colors.border.primary,
|
|
49
|
+
borderRadius: 8,
|
|
50
|
+
overflow: 'hidden' as const,
|
|
51
|
+
},
|
|
52
|
+
} as const;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* Get item styles based on type and isLast
|
|
57
|
+
*/
|
|
58
|
+
function getItemTypeStyles(theme: Theme, type: AccordionType, isLast: boolean) {
|
|
59
|
+
switch (type) {
|
|
60
|
+
case 'standard':
|
|
61
|
+
return {
|
|
62
|
+
borderBottomWidth: isLast ? 0 : 1,
|
|
63
|
+
borderBottomStyle: 'solid' as const,
|
|
64
|
+
borderBottomColor: theme.colors.border.primary,
|
|
65
|
+
};
|
|
66
|
+
case 'separated':
|
|
67
|
+
return {
|
|
68
|
+
borderWidth: 1,
|
|
69
|
+
borderStyle: 'solid' as const,
|
|
70
|
+
borderColor: theme.colors.border.primary,
|
|
71
|
+
borderRadius: 8,
|
|
72
|
+
overflow: 'hidden' as const,
|
|
73
|
+
};
|
|
74
|
+
case 'bordered':
|
|
75
|
+
return {
|
|
76
|
+
borderBottomWidth: isLast ? 0 : 1,
|
|
77
|
+
borderBottomStyle: 'solid' as const,
|
|
78
|
+
borderBottomColor: theme.colors.border.primary,
|
|
79
|
+
};
|
|
80
|
+
default:
|
|
81
|
+
return {};
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
/**
|
|
86
|
+
* Create dynamic item styles
|
|
87
|
+
*/
|
|
88
|
+
function createItemStyles(theme: Theme) {
|
|
89
|
+
return ({ type = 'standard', isLast = false }: ItemDynamicProps) => {
|
|
90
|
+
const typeStyles = getItemTypeStyles(theme, type, isLast);
|
|
91
|
+
return {
|
|
92
|
+
display: 'flex' as const,
|
|
93
|
+
flexDirection: 'column' as const,
|
|
94
|
+
...typeStyles,
|
|
95
|
+
variants: {
|
|
96
|
+
size: { xs: {}, sm: {}, md: {}, lg: {}, xl: {} },
|
|
97
|
+
expanded: { true: {}, false: {} },
|
|
98
|
+
disabled: { true: {}, false: {} },
|
|
99
|
+
},
|
|
100
|
+
} as const;
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
/**
|
|
105
|
+
* Create size variants for header
|
|
106
|
+
*/
|
|
107
|
+
function createHeaderSizeVariants(theme: Theme) {
|
|
108
|
+
return buildSizeVariants(theme, 'accordion', (size) => ({
|
|
109
|
+
fontSize: size.headerFontSize,
|
|
110
|
+
padding: size.headerPadding,
|
|
111
|
+
}));
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
/**
|
|
115
|
+
* Create size variants for icon
|
|
116
|
+
*/
|
|
117
|
+
function createIconSizeVariants(theme: Theme) {
|
|
118
|
+
return buildSizeVariants(theme, 'accordion', (size) => ({
|
|
119
|
+
width: size.iconSize,
|
|
120
|
+
height: size.iconSize,
|
|
121
|
+
}));
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
/**
|
|
125
|
+
* Create size variants for content inner
|
|
126
|
+
*/
|
|
127
|
+
function createContentInnerSizeVariants(theme: Theme) {
|
|
128
|
+
return buildSizeVariants(theme, 'accordion', (size) => ({
|
|
129
|
+
fontSize: size.headerFontSize,
|
|
130
|
+
padding: size.contentPadding,
|
|
131
|
+
paddingTop: 0,
|
|
132
|
+
}));
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
// Helper functions to create static styles wrapped in dynamic functions
|
|
136
|
+
function createContainerStyles(theme: Theme) {
|
|
137
|
+
return () => ({
|
|
138
|
+
display: 'flex' as const,
|
|
139
|
+
flexDirection: 'column' as const,
|
|
140
|
+
variants: {
|
|
141
|
+
size: { xs: {}, sm: {}, md: {}, lg: {}, xl: {} },
|
|
142
|
+
type: createContainerTypeVariants(theme),
|
|
143
|
+
expanded: { true: {}, false: {} },
|
|
144
|
+
disabled: { true: {}, false: {} },
|
|
145
|
+
isLast: { true: {}, false: {} },
|
|
146
|
+
// Spacing variants from ContainerStyleProps
|
|
147
|
+
gap: buildGapVariants(theme),
|
|
148
|
+
padding: buildPaddingVariants(theme),
|
|
149
|
+
paddingVertical: buildPaddingVerticalVariants(theme),
|
|
150
|
+
paddingHorizontal: buildPaddingHorizontalVariants(theme),
|
|
151
|
+
margin: buildMarginVariants(theme),
|
|
152
|
+
marginVertical: buildMarginVerticalVariants(theme),
|
|
153
|
+
marginHorizontal: buildMarginHorizontalVariants(theme),
|
|
154
|
+
},
|
|
155
|
+
});
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
function createHeaderStyles(theme: Theme) {
|
|
159
|
+
return () => ({
|
|
160
|
+
display: 'flex' as const,
|
|
161
|
+
flexDirection: 'row' as const,
|
|
162
|
+
alignItems: 'center' as const,
|
|
163
|
+
justifyContent: 'space-between' as const,
|
|
164
|
+
width: '100%' as const,
|
|
165
|
+
backgroundColor: 'transparent' as const,
|
|
166
|
+
color: theme.colors.text.primary,
|
|
167
|
+
textAlign: 'left' as const,
|
|
168
|
+
variants: {
|
|
169
|
+
size: createHeaderSizeVariants(theme),
|
|
170
|
+
type: { standard: {}, separated: {}, bordered: {} },
|
|
171
|
+
expanded: {
|
|
172
|
+
true: {
|
|
173
|
+
fontWeight: '600' as const,
|
|
174
|
+
},
|
|
175
|
+
false: {
|
|
176
|
+
fontWeight: '500' as const,
|
|
177
|
+
},
|
|
178
|
+
},
|
|
179
|
+
disabled: {
|
|
180
|
+
true: {
|
|
181
|
+
opacity: 0.5,
|
|
182
|
+
_web: {
|
|
183
|
+
cursor: 'not-allowed' as const,
|
|
184
|
+
},
|
|
185
|
+
},
|
|
186
|
+
false: {
|
|
187
|
+
_web: {
|
|
188
|
+
cursor: 'pointer' as const,
|
|
189
|
+
_hover: {
|
|
190
|
+
backgroundColor: theme.colors.surface.secondary,
|
|
191
|
+
},
|
|
192
|
+
},
|
|
193
|
+
},
|
|
194
|
+
},
|
|
195
|
+
isLast: { true: {}, false: {} },
|
|
196
|
+
} as const,
|
|
197
|
+
_web: {
|
|
198
|
+
border: 'none' as const,
|
|
199
|
+
outline: 'none' as const,
|
|
200
|
+
transition: 'background-color 0.2s ease' as const,
|
|
201
|
+
},
|
|
202
|
+
});
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
function createTitleStyles() {
|
|
206
|
+
return () => ({
|
|
207
|
+
flex: 1,
|
|
208
|
+
variants: {
|
|
209
|
+
size: { xs: {}, sm: {}, md: {}, lg: {}, xl: {} },
|
|
210
|
+
type: { standard: {}, separated: {}, bordered: {} },
|
|
211
|
+
expanded: { true: {}, false: {} },
|
|
212
|
+
disabled: { true: {}, false: {} },
|
|
213
|
+
isLast: { true: {}, false: {} },
|
|
214
|
+
},
|
|
215
|
+
});
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
function createIconStyles(theme: Theme) {
|
|
219
|
+
return () => ({
|
|
220
|
+
display: 'flex' as const,
|
|
221
|
+
alignItems: 'center' as const,
|
|
222
|
+
justifyContent: 'center' as const,
|
|
223
|
+
marginLeft: 8,
|
|
224
|
+
color: theme.intents.primary.primary,
|
|
225
|
+
variants: {
|
|
226
|
+
size: createIconSizeVariants(theme),
|
|
227
|
+
type: { standard: {}, separated: {}, bordered: {} },
|
|
228
|
+
expanded: {
|
|
229
|
+
true: {
|
|
230
|
+
_web: {
|
|
231
|
+
transform: 'rotate(180deg)' as const,
|
|
232
|
+
},
|
|
233
|
+
},
|
|
234
|
+
false: {
|
|
235
|
+
_web: {
|
|
236
|
+
transform: 'rotate(0deg)' as const,
|
|
237
|
+
},
|
|
238
|
+
},
|
|
239
|
+
},
|
|
240
|
+
disabled: { true: {}, false: {} },
|
|
241
|
+
isLast: { true: {}, false: {} },
|
|
242
|
+
},
|
|
243
|
+
_web: {
|
|
244
|
+
transition: 'transform 0.2s ease' as const,
|
|
245
|
+
},
|
|
246
|
+
});
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
function createContentStyles() {
|
|
250
|
+
return () => ({
|
|
251
|
+
overflow: 'hidden' as const,
|
|
252
|
+
variants: {
|
|
253
|
+
size: { xs: {}, sm: {}, md: {}, lg: {}, xl: {} },
|
|
254
|
+
type: { standard: {}, separated: {}, bordered: {} },
|
|
255
|
+
expanded: {
|
|
256
|
+
true: {
|
|
257
|
+
maxHeight: 2000,
|
|
258
|
+
},
|
|
259
|
+
false: {
|
|
260
|
+
maxHeight: 0,
|
|
261
|
+
},
|
|
262
|
+
},
|
|
263
|
+
disabled: { true: {}, false: {} },
|
|
264
|
+
isLast: { true: {}, false: {} },
|
|
265
|
+
},
|
|
266
|
+
_web: {
|
|
267
|
+
transition: 'height 0.15s ease, padding 0.3s ease' as const,
|
|
268
|
+
},
|
|
269
|
+
});
|
|
270
|
+
}
|
|
271
|
+
|
|
272
|
+
function createContentInnerStyles(theme: Theme) {
|
|
273
|
+
return () => ({
|
|
274
|
+
color: theme.colors.text.secondary,
|
|
275
|
+
variants: {
|
|
276
|
+
size: createContentInnerSizeVariants(theme),
|
|
277
|
+
type: { standard: {}, separated: {}, bordered: {} },
|
|
278
|
+
expanded: { true: {}, false: {} },
|
|
279
|
+
disabled: { true: {}, false: {} },
|
|
280
|
+
isLast: { true: {}, false: {} },
|
|
281
|
+
},
|
|
282
|
+
});
|
|
283
|
+
}
|
|
284
|
+
|
|
285
|
+
// Styles are inlined here instead of in @idealyst/theme because Unistyles' Babel transform on native cannot resolve function calls to extract variant structures.
|
|
286
|
+
export const accordionStyles = StyleSheet.create((theme: Theme) => {
|
|
287
|
+
// Apply extensions to main visual elements
|
|
288
|
+
|
|
289
|
+
return applyExtensions('Accordion', theme, {container: createContainerStyles(theme),
|
|
290
|
+
item: createItemStyles(theme),
|
|
291
|
+
header: createHeaderStyles(theme),
|
|
292
|
+
content: createContentStyles(),
|
|
293
|
+
icon: createIconStyles(theme),
|
|
294
|
+
// Additional styles (merged from return)
|
|
295
|
+
// Minor utility styles (not extended)
|
|
296
|
+
title: createTitleStyles()(),
|
|
297
|
+
contentInner: createContentInnerStyles(theme)()});
|
|
298
|
+
});
|