@xaui/native 0.0.7 → 0.0.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/accordion/index.cjs +86 -68
- package/dist/accordion/index.js +2 -2
- package/dist/autocomplete/index.cjs +1503 -0
- package/dist/autocomplete/index.d.cts +70 -0
- package/dist/autocomplete/index.d.ts +70 -0
- package/dist/autocomplete/index.js +11 -0
- package/dist/button/index.cjs +87 -69
- package/dist/button/index.js +2 -2
- package/dist/checkbox/index.cjs +48 -30
- package/dist/checkbox/index.js +1 -1
- package/dist/{chunk-B2VGVZ3J.js → chunk-63LRW4QD.js} +1 -1
- package/dist/chunk-6HUSEZDJ.js +1138 -0
- package/dist/chunk-7LXW4BXD.js +606 -0
- package/dist/chunk-GBHQCAKW.js +19 -0
- package/dist/{chunk-R34CVLCX.js → chunk-GNJIET26.js} +1 -1
- package/dist/chunk-NBRASCX4.js +145 -0
- package/dist/chunk-ZYTBRHLJ.js +150 -0
- package/dist/core/index.cjs +68 -10
- package/dist/core/index.d.cts +9 -1
- package/dist/core/index.d.ts +9 -1
- package/dist/core/index.js +5 -1
- package/dist/divider/index.cjs +31 -13
- package/dist/divider/index.js +2 -2
- package/dist/icon/index.cjs +680 -0
- package/dist/icon/index.d.cts +36 -0
- package/dist/icon/index.d.ts +36 -0
- package/dist/icon/index.js +13 -0
- package/dist/index.cjs +1641 -53
- package/dist/index.d.cts +3 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +16 -4
- package/dist/indicator/index.cjs +60 -42
- package/dist/indicator/index.js +2 -2
- package/dist/progress/index.cjs +45 -27
- package/dist/progress/index.js +1 -1
- package/dist/select/index.cjs +107 -89
- package/dist/select/index.js +10 -23
- package/dist/switch/index.cjs +58 -40
- package/dist/switch/index.js +1 -1
- package/dist/typography/index.cjs +223 -0
- package/dist/typography/index.d.cts +43 -0
- package/dist/typography/index.d.ts +43 -0
- package/dist/typography/index.js +7 -0
- package/dist/view/index.cjs +966 -0
- package/dist/view/index.d.cts +527 -0
- package/dist/view/index.d.ts +527 -0
- package/dist/view/index.js +923 -0
- package/package.json +21 -1
- package/dist/chunk-ORMNMNOK.js +0 -89
package/dist/accordion/index.cjs
CHANGED
|
@@ -36,8 +36,8 @@ __export(accordion_exports, {
|
|
|
36
36
|
module.exports = __toCommonJS(accordion_exports);
|
|
37
37
|
|
|
38
38
|
// src/components/accordion/accordion.tsx
|
|
39
|
-
var
|
|
40
|
-
var
|
|
39
|
+
var import_react14 = __toESM(require("react"), 1);
|
|
40
|
+
var import_react_native9 = require("react-native");
|
|
41
41
|
|
|
42
42
|
// src/components/accordion/accordion-context.ts
|
|
43
43
|
var import_react = require("react");
|
|
@@ -51,20 +51,38 @@ var useAccordionContext = () => {
|
|
|
51
51
|
};
|
|
52
52
|
|
|
53
53
|
// src/components/accordion/accordion.hook.ts
|
|
54
|
-
var
|
|
54
|
+
var import_react7 = require("react");
|
|
55
55
|
|
|
56
56
|
// src/core/theme-context.tsx
|
|
57
|
-
var
|
|
58
|
-
var
|
|
57
|
+
var import_react5 = __toESM(require("react"), 1);
|
|
58
|
+
var import_react_native2 = require("react-native");
|
|
59
59
|
var import_theme = require("@xaui/core/theme");
|
|
60
60
|
var import_palette = require("@xaui/core/palette");
|
|
61
|
-
var XUIThemeContext = (0, import_react2.createContext)(null);
|
|
62
61
|
|
|
63
|
-
// src/core/
|
|
62
|
+
// src/core/portal/portal.tsx
|
|
64
63
|
var import_react3 = require("react");
|
|
65
|
-
|
|
64
|
+
|
|
65
|
+
// src/core/portal/portal-context.ts
|
|
66
|
+
var import_react2 = require("react");
|
|
67
|
+
var PortalContext = (0, import_react2.createContext)(null);
|
|
68
|
+
|
|
69
|
+
// src/core/portal/portal-host.tsx
|
|
70
|
+
var import_react4 = __toESM(require("react"), 1);
|
|
71
|
+
var import_react_native = require("react-native");
|
|
72
|
+
var hostStyles = import_react_native.StyleSheet.create({
|
|
73
|
+
container: {
|
|
74
|
+
flex: 1
|
|
75
|
+
}
|
|
76
|
+
});
|
|
77
|
+
|
|
78
|
+
// src/core/theme-context.tsx
|
|
79
|
+
var XUIThemeContext = (0, import_react5.createContext)(null);
|
|
80
|
+
|
|
81
|
+
// src/core/theme-hooks.ts
|
|
82
|
+
var import_react6 = require("react");
|
|
83
|
+
var import_react_native3 = require("react-native");
|
|
66
84
|
function useXUITheme() {
|
|
67
|
-
const theme = (0,
|
|
85
|
+
const theme = (0, import_react6.useContext)(XUIThemeContext);
|
|
68
86
|
if (!theme) {
|
|
69
87
|
throw new Error("useXUITheme must be used within XUIProvider");
|
|
70
88
|
}
|
|
@@ -72,7 +90,7 @@ function useXUITheme() {
|
|
|
72
90
|
}
|
|
73
91
|
function useXUIPalette() {
|
|
74
92
|
const theme = useXUITheme();
|
|
75
|
-
return (0,
|
|
93
|
+
return (0, import_react6.useMemo)(() => theme.palette, [theme]);
|
|
76
94
|
}
|
|
77
95
|
|
|
78
96
|
// src/core/index.ts
|
|
@@ -82,7 +100,7 @@ var import_theme2 = require("@xaui/core/theme");
|
|
|
82
100
|
var useAccordionStyles = ({ variant, fullWidth }) => {
|
|
83
101
|
const theme = useXUITheme();
|
|
84
102
|
const palette2 = useXUIPalette();
|
|
85
|
-
const containerStyles = (0,
|
|
103
|
+
const containerStyles = (0, import_react7.useMemo)(() => {
|
|
86
104
|
const base = {};
|
|
87
105
|
if (fullWidth) {
|
|
88
106
|
base.width = "100%";
|
|
@@ -108,10 +126,10 @@ var useAccordionSelection = ({
|
|
|
108
126
|
defaultExpandedKeys,
|
|
109
127
|
onSelectionChange
|
|
110
128
|
}) => {
|
|
111
|
-
const [internalExpandedKeys, setInternalExpandedKeys] = (0,
|
|
129
|
+
const [internalExpandedKeys, setInternalExpandedKeys] = (0, import_react7.useState)(defaultExpandedKeys);
|
|
112
130
|
const isControlled = expandedKeys !== void 0;
|
|
113
131
|
const currentExpandedKeys = isControlled ? expandedKeys : internalExpandedKeys;
|
|
114
|
-
const toggleItem = (0,
|
|
132
|
+
const toggleItem = (0, import_react7.useCallback)(
|
|
115
133
|
(key) => {
|
|
116
134
|
const isExpanded = currentExpandedKeys.includes(key);
|
|
117
135
|
const newExpandedKeys = selectionMode === "toggle" ? isExpanded ? [] : [key] : isExpanded ? currentExpandedKeys.filter((k) => k !== key) : [...currentExpandedKeys, key];
|
|
@@ -131,7 +149,7 @@ var useAccordionContextValue = (config) => {
|
|
|
131
149
|
defaultExpandedKeys: config.defaultExpandedKeys,
|
|
132
150
|
onSelectionChange: config.onSelectionChange
|
|
133
151
|
});
|
|
134
|
-
return (0,
|
|
152
|
+
return (0, import_react7.useMemo)(
|
|
135
153
|
() => ({
|
|
136
154
|
variant: config.variant,
|
|
137
155
|
hideIndicator: config.hideIndicator,
|
|
@@ -156,12 +174,12 @@ var useAccordionContextValue = (config) => {
|
|
|
156
174
|
};
|
|
157
175
|
|
|
158
176
|
// src/components/accordion/accordion-item.tsx
|
|
159
|
-
var
|
|
160
|
-
var
|
|
177
|
+
var import_react10 = __toESM(require("react"), 1);
|
|
178
|
+
var import_react_native6 = require("react-native");
|
|
161
179
|
|
|
162
180
|
// src/components/accordion/accordion-item.style.ts
|
|
163
|
-
var
|
|
164
|
-
var styles =
|
|
181
|
+
var import_react_native4 = require("react-native");
|
|
182
|
+
var styles = import_react_native4.StyleSheet.create({
|
|
165
183
|
startContent: {
|
|
166
184
|
flexShrink: 0
|
|
167
185
|
},
|
|
@@ -184,61 +202,61 @@ var styles = import_react_native3.StyleSheet.create({
|
|
|
184
202
|
});
|
|
185
203
|
|
|
186
204
|
// src/components/accordion/accordion-item.hook.ts
|
|
187
|
-
var
|
|
188
|
-
var
|
|
205
|
+
var import_react8 = require("react");
|
|
206
|
+
var import_react_native5 = require("react-native");
|
|
189
207
|
var import_palette2 = require("@xaui/core/palette");
|
|
190
208
|
var useAccordionItemState = (itemKey) => {
|
|
191
209
|
const context = useAccordionContext();
|
|
192
210
|
const resolvedItemKey = itemKey ?? "";
|
|
193
211
|
const isExpanded = resolvedItemKey ? context.expandedKeys.includes(resolvedItemKey) : false;
|
|
194
212
|
const isDisabled = resolvedItemKey ? context.disabledKeys.includes(resolvedItemKey) : false;
|
|
195
|
-
const handlePress = (0,
|
|
213
|
+
const handlePress = (0, import_react8.useCallback)(() => {
|
|
196
214
|
if (isDisabled || !resolvedItemKey) return;
|
|
197
215
|
context.toggleItem(resolvedItemKey);
|
|
198
216
|
}, [isDisabled, resolvedItemKey, context]);
|
|
199
217
|
return { ...context, resolvedItemKey, isExpanded, isDisabled, handlePress };
|
|
200
218
|
};
|
|
201
219
|
var useAccordionItemAnimation = (isExpanded, disableAnimation) => {
|
|
202
|
-
const [contentHeight, setContentHeight] = (0,
|
|
203
|
-
const [isMeasured, setIsMeasured] = (0,
|
|
204
|
-
const animatedHeight = (0,
|
|
205
|
-
const animatedRotation = (0,
|
|
206
|
-
const prevContentHeight = (0,
|
|
207
|
-
(0,
|
|
220
|
+
const [contentHeight, setContentHeight] = (0, import_react8.useState)(0);
|
|
221
|
+
const [isMeasured, setIsMeasured] = (0, import_react8.useState)(false);
|
|
222
|
+
const animatedHeight = (0, import_react8.useRef)(new import_react_native5.Animated.Value(isExpanded ? 1 : 0)).current;
|
|
223
|
+
const animatedRotation = (0, import_react8.useRef)(new import_react_native5.Animated.Value(isExpanded ? 1 : 0)).current;
|
|
224
|
+
const prevContentHeight = (0, import_react8.useRef)(contentHeight);
|
|
225
|
+
(0, import_react8.useEffect)(() => {
|
|
208
226
|
if (disableAnimation) {
|
|
209
227
|
animatedHeight.setValue(isExpanded ? 1 : 0);
|
|
210
228
|
animatedRotation.setValue(isExpanded ? 1 : 0);
|
|
211
229
|
return;
|
|
212
230
|
}
|
|
213
|
-
|
|
214
|
-
|
|
231
|
+
import_react_native5.Animated.parallel([
|
|
232
|
+
import_react_native5.Animated.timing(animatedHeight, {
|
|
215
233
|
toValue: isExpanded ? 1 : 0,
|
|
216
234
|
duration: 300,
|
|
217
|
-
easing:
|
|
235
|
+
easing: import_react_native5.Easing.bezier(0.4, 0, 0.2, 1),
|
|
218
236
|
useNativeDriver: false
|
|
219
237
|
}),
|
|
220
|
-
|
|
238
|
+
import_react_native5.Animated.timing(animatedRotation, {
|
|
221
239
|
toValue: isExpanded ? 1 : 0,
|
|
222
240
|
duration: 300,
|
|
223
|
-
easing:
|
|
241
|
+
easing: import_react_native5.Easing.bezier(0.4, 0, 0.2, 1),
|
|
224
242
|
useNativeDriver: true
|
|
225
243
|
})
|
|
226
244
|
]).start();
|
|
227
245
|
}, [isExpanded, disableAnimation, animatedHeight, animatedRotation]);
|
|
228
|
-
(0,
|
|
246
|
+
(0, import_react8.useEffect)(() => {
|
|
229
247
|
if (contentHeight <= 0 || contentHeight === prevContentHeight.current || !isExpanded)
|
|
230
248
|
return;
|
|
231
249
|
prevContentHeight.current = contentHeight;
|
|
232
250
|
if (!disableAnimation && isMeasured) {
|
|
233
|
-
|
|
251
|
+
import_react_native5.Animated.timing(animatedHeight, {
|
|
234
252
|
toValue: 1,
|
|
235
253
|
duration: 200,
|
|
236
|
-
easing:
|
|
254
|
+
easing: import_react_native5.Easing.out(import_react_native5.Easing.ease),
|
|
237
255
|
useNativeDriver: false
|
|
238
256
|
}).start();
|
|
239
257
|
}
|
|
240
258
|
}, [contentHeight, isExpanded, disableAnimation, isMeasured, animatedHeight]);
|
|
241
|
-
const onContentLayout = (0,
|
|
259
|
+
const onContentLayout = (0, import_react8.useCallback)((event) => {
|
|
242
260
|
const height = event.nativeEvent.layout.height;
|
|
243
261
|
if (height > 0) {
|
|
244
262
|
setContentHeight(height);
|
|
@@ -262,7 +280,7 @@ var useAccordionItemAnimation = (isExpanded, disableAnimation) => {
|
|
|
262
280
|
};
|
|
263
281
|
var useBaseStyles = (variant, isDisabled) => {
|
|
264
282
|
const theme = useXUITheme();
|
|
265
|
-
const baseStyles = (0,
|
|
283
|
+
const baseStyles = (0, import_react8.useMemo)(() => {
|
|
266
284
|
const base = { overflow: "hidden" };
|
|
267
285
|
if (variant === "splitted") {
|
|
268
286
|
base.paddingHorizontal = theme.spacing.md;
|
|
@@ -281,7 +299,7 @@ var useBaseStyles = (variant, isDisabled) => {
|
|
|
281
299
|
};
|
|
282
300
|
var useTriggerStyles = (variant, isCompact) => {
|
|
283
301
|
const theme = useXUITheme();
|
|
284
|
-
const triggerStyles = (0,
|
|
302
|
+
const triggerStyles = (0, import_react8.useMemo)(() => {
|
|
285
303
|
const trigger = {
|
|
286
304
|
flexDirection: "row",
|
|
287
305
|
alignItems: "center",
|
|
@@ -297,7 +315,7 @@ var useTriggerStyles = (variant, isCompact) => {
|
|
|
297
315
|
};
|
|
298
316
|
var useTitleTextStyle = (isCompact) => {
|
|
299
317
|
const theme = useXUITheme();
|
|
300
|
-
const titleTextStyle = (0,
|
|
318
|
+
const titleTextStyle = (0, import_react8.useMemo)(
|
|
301
319
|
() => ({
|
|
302
320
|
fontSize: isCompact ? theme.fontSizes.md : theme.fontSizes.lg,
|
|
303
321
|
fontWeight: theme.fontWeights.medium,
|
|
@@ -309,7 +327,7 @@ var useTitleTextStyle = (isCompact) => {
|
|
|
309
327
|
};
|
|
310
328
|
var useSubtitleTextStyle = () => {
|
|
311
329
|
const theme = useXUITheme();
|
|
312
|
-
const subtitleTextStyle = (0,
|
|
330
|
+
const subtitleTextStyle = (0, import_react8.useMemo)(
|
|
313
331
|
() => ({
|
|
314
332
|
fontSize: theme.fontSizes.sm,
|
|
315
333
|
color: import_palette2.colors.gray[500],
|
|
@@ -321,7 +339,7 @@ var useSubtitleTextStyle = () => {
|
|
|
321
339
|
};
|
|
322
340
|
var useContentContainerStyle = (isCompact, variant) => {
|
|
323
341
|
const theme = useXUITheme();
|
|
324
|
-
const contentContainerStyle = (0,
|
|
342
|
+
const contentContainerStyle = (0, import_react8.useMemo)(
|
|
325
343
|
() => ({
|
|
326
344
|
paddingBottom: isCompact ? theme.spacing.sm : theme.spacing.md,
|
|
327
345
|
paddingHorizontal: variant === "light" ? theme.spacing.sm : 0
|
|
@@ -336,13 +354,13 @@ var useForegroundColor = () => {
|
|
|
336
354
|
};
|
|
337
355
|
|
|
338
356
|
// src/components/accordion/chevron-right-icon.tsx
|
|
339
|
-
var
|
|
357
|
+
var import_react9 = __toESM(require("react"), 1);
|
|
340
358
|
var import_react_native_svg = __toESM(require("react-native-svg"), 1);
|
|
341
359
|
var ChevronRightIcon = ({
|
|
342
360
|
color = "#000",
|
|
343
361
|
size = 20
|
|
344
362
|
}) => {
|
|
345
|
-
return /* @__PURE__ */
|
|
363
|
+
return /* @__PURE__ */ import_react9.default.createElement(import_react_native_svg.default, { width: size, height: size, viewBox: "0 0 24 24", fill: "none" }, /* @__PURE__ */ import_react9.default.createElement(
|
|
346
364
|
import_react_native_svg.Path,
|
|
347
365
|
{
|
|
348
366
|
d: "M9 18l6-6-6-6",
|
|
@@ -392,8 +410,8 @@ var AccordionItem = ({
|
|
|
392
410
|
const subtitleTextStyle = useSubtitleTextStyle();
|
|
393
411
|
const contentContainerStyle = useContentContainerStyle(isCompact, variant);
|
|
394
412
|
const foregroundColor = useForegroundColor();
|
|
395
|
-
return /* @__PURE__ */
|
|
396
|
-
|
|
413
|
+
return /* @__PURE__ */ import_react10.default.createElement(import_react_native6.View, { style: [baseStyles, baseStyle] }, /* @__PURE__ */ import_react10.default.createElement(import_react_native6.View, { style: headingStyle }, /* @__PURE__ */ import_react10.default.createElement(
|
|
414
|
+
import_react_native6.Pressable,
|
|
397
415
|
{
|
|
398
416
|
style: [triggerStyles, triggerStyle],
|
|
399
417
|
onPress: handlePress,
|
|
@@ -401,10 +419,10 @@ var AccordionItem = ({
|
|
|
401
419
|
accessibilityRole: "button",
|
|
402
420
|
accessibilityState: { expanded: isExpanded, disabled: isDisabled }
|
|
403
421
|
},
|
|
404
|
-
startContent && /* @__PURE__ */
|
|
405
|
-
/* @__PURE__ */
|
|
406
|
-
!hideIndicator && /* @__PURE__ */
|
|
407
|
-
|
|
422
|
+
startContent && /* @__PURE__ */ import_react10.default.createElement(import_react_native6.View, { style: [styles.startContent, startContentStyle] }, startContent),
|
|
423
|
+
/* @__PURE__ */ import_react10.default.createElement(import_react_native6.View, { style: styles.titleWrapper }, typeof title === "string" ? /* @__PURE__ */ import_react10.default.createElement(import_react_native6.Text, { style: [titleTextStyle, titleStyle] }, title) : title, subtitle && (typeof subtitle === "string" ? /* @__PURE__ */ import_react10.default.createElement(import_react_native6.Text, { style: [subtitleTextStyle, subtitleStyle] }, subtitle) : subtitle)),
|
|
424
|
+
!hideIndicator && /* @__PURE__ */ import_react10.default.createElement(
|
|
425
|
+
import_react_native6.Animated.View,
|
|
408
426
|
{
|
|
409
427
|
style: [
|
|
410
428
|
styles.indicator,
|
|
@@ -412,23 +430,23 @@ var AccordionItem = ({
|
|
|
412
430
|
{ transform: [{ rotate: rotationInterpolation }] }
|
|
413
431
|
]
|
|
414
432
|
},
|
|
415
|
-
indicator || /* @__PURE__ */
|
|
433
|
+
indicator || /* @__PURE__ */ import_react10.default.createElement(ChevronRightIcon, { color: foregroundColor })
|
|
416
434
|
)
|
|
417
|
-
)), /* @__PURE__ */
|
|
418
|
-
|
|
435
|
+
)), /* @__PURE__ */ import_react10.default.createElement(import_react_native6.View, { style: styles.hiddenMeasure, pointerEvents: "none" }, /* @__PURE__ */ import_react10.default.createElement(import_react_native6.View, { onLayout: onContentLayout, style: [contentContainerStyle, contentStyle] }, children)), /* @__PURE__ */ import_react10.default.createElement(
|
|
436
|
+
import_react_native6.Animated.View,
|
|
419
437
|
{
|
|
420
438
|
style: [
|
|
421
439
|
styles.contentOverflow,
|
|
422
440
|
disableAnimation ? { height: isExpanded ? void 0 : 0 } : { height: heightInterpolation }
|
|
423
441
|
]
|
|
424
442
|
},
|
|
425
|
-
/* @__PURE__ */
|
|
443
|
+
/* @__PURE__ */ import_react10.default.createElement(import_react_native6.View, { style: [contentContainerStyle, contentStyle] }, children)
|
|
426
444
|
));
|
|
427
445
|
};
|
|
428
446
|
AccordionItem.displayName = "AccordionItem";
|
|
429
447
|
|
|
430
448
|
// src/components/accordion/accordion.utils.ts
|
|
431
|
-
var
|
|
449
|
+
var import_react11 = __toESM(require("react"), 1);
|
|
432
450
|
var getItemKey = (value, fallback) => {
|
|
433
451
|
if (value === null || value === void 0) return String(fallback);
|
|
434
452
|
if (typeof value === "string" || typeof value === "number") return String(value);
|
|
@@ -438,7 +456,7 @@ var normalizeElementKey = (value) => {
|
|
|
438
456
|
if (typeof value !== "string") return value;
|
|
439
457
|
return value.startsWith(".$") ? value.slice(2) : value.startsWith(".") ? value.slice(1) : value;
|
|
440
458
|
};
|
|
441
|
-
var isAccordionItem = (value) =>
|
|
459
|
+
var isAccordionItem = (value) => import_react11.default.isValidElement(value) && (value.type === AccordionItem || typeof value.type === "function" && value.type.displayName === "AccordionItem");
|
|
442
460
|
var buildAccordionContextParams = (props) => {
|
|
443
461
|
return {
|
|
444
462
|
variant: props.variant || "light",
|
|
@@ -455,12 +473,12 @@ var buildAccordionContextParams = (props) => {
|
|
|
455
473
|
};
|
|
456
474
|
|
|
457
475
|
// src/components/divider/divider.tsx
|
|
458
|
-
var
|
|
459
|
-
var
|
|
476
|
+
var import_react13 = __toESM(require("react"), 1);
|
|
477
|
+
var import_react_native8 = require("react-native");
|
|
460
478
|
|
|
461
479
|
// src/components/divider/divider.style.ts
|
|
462
|
-
var
|
|
463
|
-
var styles2 =
|
|
480
|
+
var import_react_native7 = require("react-native");
|
|
481
|
+
var styles2 = import_react_native7.StyleSheet.create({
|
|
464
482
|
horizontal: {
|
|
465
483
|
height: 1,
|
|
466
484
|
flexShrink: 1,
|
|
@@ -474,11 +492,11 @@ var styles2 = import_react_native6.StyleSheet.create({
|
|
|
474
492
|
});
|
|
475
493
|
|
|
476
494
|
// src/components/divider/divider.hook.ts
|
|
477
|
-
var
|
|
495
|
+
var import_react12 = require("react");
|
|
478
496
|
var import_core4 = require("@xaui/core");
|
|
479
497
|
var useDividerColor = (themeColor, customColor) => {
|
|
480
498
|
const theme = useXUITheme();
|
|
481
|
-
const dividerColor = (0,
|
|
499
|
+
const dividerColor = (0, import_react12.useMemo)(() => {
|
|
482
500
|
if (customColor) {
|
|
483
501
|
return customColor;
|
|
484
502
|
}
|
|
@@ -488,7 +506,7 @@ var useDividerColor = (themeColor, customColor) => {
|
|
|
488
506
|
return dividerColor;
|
|
489
507
|
};
|
|
490
508
|
var useDividerSize = (size, orientation) => {
|
|
491
|
-
const sizeStyles = (0,
|
|
509
|
+
const sizeStyles = (0, import_react12.useMemo)(() => {
|
|
492
510
|
if (orientation === "horizontal") {
|
|
493
511
|
return {
|
|
494
512
|
height: size
|
|
@@ -510,8 +528,8 @@ var Divider = ({
|
|
|
510
528
|
}) => {
|
|
511
529
|
const dividerColor = useDividerColor(themeColor, color);
|
|
512
530
|
const sizeStyles = useDividerSize(size, orientation);
|
|
513
|
-
return /* @__PURE__ */
|
|
514
|
-
|
|
531
|
+
return /* @__PURE__ */ import_react13.default.createElement(
|
|
532
|
+
import_react_native8.View,
|
|
515
533
|
{
|
|
516
534
|
style: [
|
|
517
535
|
orientation === "horizontal" ? styles2.horizontal : styles2.vertical,
|
|
@@ -538,15 +556,15 @@ var Accordion = (props) => {
|
|
|
538
556
|
});
|
|
539
557
|
const contextParams = buildAccordionContextParams(props);
|
|
540
558
|
const contextValue = useAccordionContextValue(contextParams);
|
|
541
|
-
const childrenArray =
|
|
542
|
-
return /* @__PURE__ */
|
|
559
|
+
const childrenArray = import_react14.default.Children.toArray(children);
|
|
560
|
+
return /* @__PURE__ */ import_react14.default.createElement(AccordionContext.Provider, { value: contextValue }, /* @__PURE__ */ import_react14.default.createElement(import_react_native9.View, { style: [containerStyles, containerStyle] }, childrenArray.map((child, index) => {
|
|
543
561
|
const isLast = index === childrenArray.length - 1;
|
|
544
562
|
const showBottomDivider = (showDivider || variant === "bordered") && !isLast && variant !== "splitted";
|
|
545
563
|
const resolvedChildKey = isAccordionItem(child) ? getItemKey(child.props.itemKey ?? normalizeElementKey(child.key), index) : getItemKey(
|
|
546
|
-
|
|
564
|
+
import_react14.default.isValidElement(child) ? normalizeElementKey(child.key) : void 0,
|
|
547
565
|
index
|
|
548
566
|
);
|
|
549
|
-
return /* @__PURE__ */
|
|
567
|
+
return /* @__PURE__ */ import_react14.default.createElement(import_react_native9.View, { key: resolvedChildKey, style: itemStyle }, isAccordionItem(child) ? import_react14.default.cloneElement(child, { itemKey: resolvedChildKey }) : child, showBottomDivider && /* @__PURE__ */ import_react14.default.createElement(Divider, { color: dividerColor, size: 2 }));
|
|
550
568
|
})));
|
|
551
569
|
};
|
|
552
570
|
// Annotate the CommonJS export names for ESM import in node:
|
package/dist/accordion/index.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
Divider
|
|
3
|
-
} from "../chunk-
|
|
3
|
+
} from "../chunk-GNJIET26.js";
|
|
4
4
|
import {
|
|
5
5
|
useXUIPalette,
|
|
6
6
|
useXUITheme
|
|
7
|
-
} from "../chunk-
|
|
7
|
+
} from "../chunk-NBRASCX4.js";
|
|
8
8
|
|
|
9
9
|
// src/components/accordion/accordion.tsx
|
|
10
10
|
import React4 from "react";
|