@xaui/native 0.0.21 → 0.0.24

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (113) hide show
  1. package/README.md +195 -2
  2. package/dist/alert/index.js +1 -2
  3. package/dist/app-bar/index.cjs +217 -0
  4. package/dist/app-bar/index.d.cts +52 -0
  5. package/dist/app-bar/index.d.ts +52 -0
  6. package/dist/app-bar/index.js +142 -0
  7. package/dist/autocomplete/index.js +48 -36
  8. package/dist/avatar/index.js +1 -2
  9. package/dist/badge/index.js +1 -2
  10. package/dist/bottom-sheet/index.js +1 -2
  11. package/dist/bottom-tab-bar/index.cjs +571 -0
  12. package/dist/bottom-tab-bar/index.d.cts +211 -0
  13. package/dist/bottom-tab-bar/index.d.ts +211 -0
  14. package/dist/bottom-tab-bar/index.js +497 -0
  15. package/dist/button/index.d.cts +102 -5
  16. package/dist/button/index.d.ts +102 -5
  17. package/dist/button/index.js +2 -3
  18. package/dist/button.type-j1ZdkkSl.d.cts +4 -0
  19. package/dist/button.type-j1ZdkkSl.d.ts +4 -0
  20. package/dist/card/index.cjs +2 -0
  21. package/dist/card/index.d.cts +6 -1
  22. package/dist/card/index.d.ts +6 -1
  23. package/dist/card/index.js +4 -2
  24. package/dist/carousel/index.js +1 -1
  25. package/dist/chart/index.cjs +1067 -0
  26. package/dist/chart/index.d.cts +218 -0
  27. package/dist/chart/index.d.ts +218 -0
  28. package/dist/chart/index.js +1026 -0
  29. package/dist/checkbox/index.js +1 -2
  30. package/dist/chip/index.js +1 -2
  31. package/dist/chunk-3XSXTM3G.js +661 -0
  32. package/dist/chunk-4KSZLONZ.js +79 -0
  33. package/dist/{chunk-DXXNBF5P.js → chunk-CZFDZPAS.js} +0 -5
  34. package/dist/{chunk-LTKYHG5V.js → chunk-GHCVNQET.js} +12 -5
  35. package/dist/chunk-I4V5Y5GD.js +76 -0
  36. package/dist/{chunk-F7WH4DMG.js → chunk-UI5L26KD.js} +1 -1
  37. package/dist/{chunk-LUBWRVI2.js → chunk-ULJSCNPE.js} +1 -1
  38. package/dist/chunk-URBEEDFX.js +79 -0
  39. package/dist/core/index.js +3 -5
  40. package/dist/datepicker/index.js +1 -2
  41. package/dist/divider/index.js +2 -3
  42. package/dist/drawer/index.cjs +310 -0
  43. package/dist/drawer/index.d.cts +58 -0
  44. package/dist/drawer/index.d.ts +58 -0
  45. package/dist/drawer/index.js +236 -0
  46. package/dist/{accordion → expansion-panel}/index.cjs +45 -45
  47. package/dist/{accordion → expansion-panel}/index.d.cts +30 -30
  48. package/dist/{accordion → expansion-panel}/index.d.ts +30 -30
  49. package/dist/{accordion → expansion-panel}/index.js +40 -41
  50. package/dist/fab/index.d.cts +3 -3
  51. package/dist/fab/index.d.ts +3 -3
  52. package/dist/fab/index.js +3 -4
  53. package/dist/fab-menu/index.d.cts +2 -2
  54. package/dist/fab-menu/index.d.ts +2 -2
  55. package/dist/fab-menu/index.js +3 -4
  56. package/dist/{fab.type-Ba0QMprb.d.ts → fab.type-CgIYqQlT.d.ts} +1 -1
  57. package/dist/{fab.type-U09H8B7D.d.cts → fab.type-l2vjG8-p.d.cts} +1 -1
  58. package/dist/feature-discovery/index.cjs +531 -0
  59. package/dist/feature-discovery/index.d.cts +82 -0
  60. package/dist/feature-discovery/index.d.ts +82 -0
  61. package/dist/feature-discovery/index.js +464 -0
  62. package/dist/indicator/index.js +2 -3
  63. package/dist/input/index.cjs +258 -164
  64. package/dist/input/index.d.cts +15 -1
  65. package/dist/input/index.d.ts +15 -1
  66. package/dist/input/index.js +219 -126
  67. package/dist/list/index.js +1 -2
  68. package/dist/menu/index.js +2 -2
  69. package/dist/menubox/index.cjs +369 -0
  70. package/dist/menubox/index.d.cts +98 -0
  71. package/dist/menubox/index.d.ts +98 -0
  72. package/dist/menubox/index.js +296 -0
  73. package/dist/pager/index.cjs +243 -0
  74. package/dist/pager/index.d.cts +93 -0
  75. package/dist/pager/index.d.ts +93 -0
  76. package/dist/pager/index.js +205 -0
  77. package/dist/progress/index.js +1 -2
  78. package/dist/radio/index.cjs +537 -0
  79. package/dist/radio/index.d.cts +145 -0
  80. package/dist/radio/index.d.ts +145 -0
  81. package/dist/radio/index.js +464 -0
  82. package/dist/segment-button/index.js +2 -2
  83. package/dist/select/index.js +22 -10
  84. package/dist/skeleton/index.js +2 -2
  85. package/dist/slider/index.cjs +655 -0
  86. package/dist/slider/index.d.cts +171 -0
  87. package/dist/slider/index.d.ts +171 -0
  88. package/dist/slider/index.js +575 -0
  89. package/dist/stepper/index.cjs +624 -0
  90. package/dist/stepper/index.d.cts +137 -0
  91. package/dist/stepper/index.d.ts +137 -0
  92. package/dist/stepper/index.js +549 -0
  93. package/dist/switch/index.js +1 -2
  94. package/dist/tabs/index.cjs +523 -0
  95. package/dist/tabs/index.d.cts +176 -0
  96. package/dist/tabs/index.d.ts +176 -0
  97. package/dist/tabs/index.js +438 -0
  98. package/dist/timepicker/index.cjs +1280 -0
  99. package/dist/timepicker/index.d.cts +215 -0
  100. package/dist/timepicker/index.d.ts +215 -0
  101. package/dist/timepicker/index.js +1181 -0
  102. package/dist/toolbar/index.cjs +395 -0
  103. package/dist/toolbar/index.d.cts +100 -0
  104. package/dist/toolbar/index.d.ts +100 -0
  105. package/dist/toolbar/index.js +325 -0
  106. package/dist/typography/index.js +1 -2
  107. package/dist/view/index.cjs +16 -2
  108. package/dist/view/index.js +16 -2
  109. package/package.json +73 -8
  110. package/dist/button.type-D8tzEBo7.d.ts +0 -104
  111. package/dist/button.type-ikaWzhIg.d.cts +0 -104
  112. package/dist/chunk-GBHQCAKW.js +0 -19
  113. package/dist/chunk-JEGEPGVU.js +0 -287
@@ -0,0 +1,549 @@
1
+ import {
2
+ useXUITheme
3
+ } from "../chunk-4KSZLONZ.js";
4
+
5
+ // src/components/stepper/stepper.tsx
6
+ import React, { useMemo, useState } from "react";
7
+ import { View } from "react-native";
8
+
9
+ // src/components/stepper/stepper-context.ts
10
+ import { createContext, useContext } from "react";
11
+ var StepperContext = createContext(
12
+ void 0
13
+ );
14
+ var useStepperContext = () => useContext(StepperContext);
15
+
16
+ // src/components/stepper/stepper.style.ts
17
+ import { StyleSheet } from "react-native";
18
+ var styles = StyleSheet.create({
19
+ container: {
20
+ width: "100%"
21
+ },
22
+ horizontalContainer: {
23
+ flexDirection: "row",
24
+ alignItems: "flex-start"
25
+ },
26
+ verticalContainer: {
27
+ flexDirection: "column"
28
+ },
29
+ horizontalItem: {
30
+ flex: 1,
31
+ alignItems: "center",
32
+ minWidth: 0
33
+ },
34
+ verticalItem: {
35
+ width: "100%"
36
+ },
37
+ horizontalTopRow: {
38
+ flexDirection: "row",
39
+ alignItems: "center",
40
+ width: "100%"
41
+ },
42
+ verticalRow: {
43
+ flexDirection: "row",
44
+ alignItems: "flex-start",
45
+ width: "100%"
46
+ },
47
+ line: {
48
+ flex: 1,
49
+ borderRadius: 99,
50
+ overflow: "hidden"
51
+ },
52
+ lineProgressWrap: {
53
+ width: "100%",
54
+ height: "100%",
55
+ overflow: "hidden"
56
+ },
57
+ lineProgressHorizontal: {
58
+ alignItems: "flex-start"
59
+ },
60
+ lineProgressVertical: {
61
+ justifyContent: "flex-start"
62
+ },
63
+ lineProgress: {
64
+ width: "100%",
65
+ height: "100%",
66
+ borderRadius: 99
67
+ },
68
+ verticalLineWrap: {
69
+ alignItems: "center",
70
+ width: "100%",
71
+ flex: 1
72
+ },
73
+ indicator: {
74
+ alignItems: "center",
75
+ justifyContent: "center"
76
+ },
77
+ locked: {
78
+ opacity: 0.75
79
+ },
80
+ disabled: {
81
+ opacity: 0.5
82
+ },
83
+ horizontalContent: {
84
+ alignItems: "center",
85
+ width: "100%"
86
+ },
87
+ verticalContent: {
88
+ flex: 1
89
+ },
90
+ title: {
91
+ textAlign: "center",
92
+ fontWeight: "600"
93
+ },
94
+ titleVertical: {
95
+ textAlign: "left"
96
+ },
97
+ description: {
98
+ textAlign: "center",
99
+ fontWeight: "400"
100
+ },
101
+ descriptionVertical: {
102
+ textAlign: "left"
103
+ }
104
+ });
105
+
106
+ // src/components/stepper/stepper.tsx
107
+ var Stepper = ({
108
+ children,
109
+ direction = "horizontal",
110
+ showLines = true,
111
+ lineDisplayMode = "progress",
112
+ activeKey,
113
+ defaultActiveKey,
114
+ onStepChange,
115
+ themeColor = "primary",
116
+ size = "md",
117
+ isDisabled = false,
118
+ style,
119
+ customAppearance
120
+ }) => {
121
+ const items = React.Children.toArray(children);
122
+ const keys = useMemo(
123
+ () => items.map((child) => {
124
+ if (!React.isValidElement(child)) return void 0;
125
+ return child.props.itemKey;
126
+ }).filter((key) => typeof key === "string"),
127
+ [items]
128
+ );
129
+ const [internalActiveKey, setInternalActiveKey] = useState(
130
+ defaultActiveKey ?? keys[0]
131
+ );
132
+ const isControlled = typeof activeKey === "string";
133
+ const resolvedActiveKey = isControlled ? activeKey : internalActiveKey;
134
+ const activeIndex = resolvedActiveKey === void 0 ? -1 : keys.indexOf(resolvedActiveKey);
135
+ const handleStepChange = (key) => {
136
+ if (!isControlled) {
137
+ setInternalActiveKey(key);
138
+ }
139
+ onStepChange?.(key);
140
+ };
141
+ const contextValue = useMemo(
142
+ () => ({
143
+ activeKey: resolvedActiveKey,
144
+ activeIndex,
145
+ keys,
146
+ direction,
147
+ showLines,
148
+ lineDisplayMode,
149
+ isDisabled,
150
+ themeColor,
151
+ size,
152
+ customAppearance,
153
+ onStepChange: handleStepChange
154
+ }),
155
+ [
156
+ resolvedActiveKey,
157
+ activeIndex,
158
+ keys,
159
+ direction,
160
+ showLines,
161
+ lineDisplayMode,
162
+ isDisabled,
163
+ themeColor,
164
+ size,
165
+ customAppearance
166
+ ]
167
+ );
168
+ return /* @__PURE__ */ React.createElement(StepperContext.Provider, { value: contextValue }, /* @__PURE__ */ React.createElement(
169
+ View,
170
+ {
171
+ style: [
172
+ styles.container,
173
+ direction === "horizontal" ? styles.horizontalContainer : styles.verticalContainer,
174
+ style,
175
+ customAppearance?.container
176
+ ]
177
+ },
178
+ children
179
+ ));
180
+ };
181
+
182
+ // src/components/stepper/stepper-item.tsx
183
+ import React2, { useEffect, useMemo as useMemo3, useRef } from "react";
184
+ import { Animated, Pressable, Text, View as View2 } from "react-native";
185
+ import { CheckmarkIcon, LockClosedIcon } from "@xaui/icons";
186
+
187
+ // src/components/stepper/stepper.hook.ts
188
+ import { useMemo as useMemo2 } from "react";
189
+ import { getSafeThemeColor, withOpacity } from "@xaui/core";
190
+ var sizeMap = {
191
+ sm: {
192
+ indicatorSize: 22,
193
+ indicatorBorderWidth: 1.5,
194
+ titleFontSize: 13,
195
+ descriptionFontSize: 11,
196
+ horizontalSpacing: 8,
197
+ verticalSpacing: 6,
198
+ verticalGap: 16,
199
+ lineThickness: 2
200
+ },
201
+ md: {
202
+ indicatorSize: 26,
203
+ indicatorBorderWidth: 2,
204
+ titleFontSize: 14,
205
+ descriptionFontSize: 12,
206
+ horizontalSpacing: 10,
207
+ verticalSpacing: 8,
208
+ verticalGap: 18,
209
+ lineThickness: 2
210
+ },
211
+ lg: {
212
+ indicatorSize: 30,
213
+ indicatorBorderWidth: 2,
214
+ titleFontSize: 15,
215
+ descriptionFontSize: 13,
216
+ horizontalSpacing: 12,
217
+ verticalSpacing: 10,
218
+ verticalGap: 20,
219
+ lineThickness: 3
220
+ }
221
+ };
222
+ var useStepperSizeStyles = (size) => {
223
+ return useMemo2(() => sizeMap[size], [size]);
224
+ };
225
+ var useStepperColors = (themeColor) => {
226
+ const theme = useXUITheme();
227
+ const scheme = theme.colors[getSafeThemeColor(themeColor)];
228
+ return useMemo2(
229
+ () => ({
230
+ activeIndicatorBackground: scheme.main,
231
+ activeIndicatorBorder: scheme.main,
232
+ activeIndicatorText: scheme.foreground,
233
+ completedIndicatorBackground: withOpacity(scheme.main, 0.2),
234
+ completedIndicatorBorder: scheme.main,
235
+ completedIndicatorText: scheme.main,
236
+ lockedIndicatorBackground: withOpacity(theme.colors.foreground, 0.08),
237
+ lockedIndicatorBorder: withOpacity(theme.colors.foreground, 0.22),
238
+ lockedIndicatorText: withOpacity(theme.colors.foreground, 0.42),
239
+ inactiveIndicatorBackground: theme.colors.background,
240
+ inactiveIndicatorBorder: withOpacity(theme.colors.foreground, 0.22),
241
+ inactiveIndicatorText: withOpacity(theme.colors.foreground, 0.72),
242
+ title: theme.colors.foreground,
243
+ description: withOpacity(theme.colors.foreground, 0.72),
244
+ line: withOpacity(theme.colors.foreground, 0.16),
245
+ activeLine: scheme.main
246
+ }),
247
+ [scheme, theme.colors.background, theme.colors.foreground]
248
+ );
249
+ };
250
+
251
+ // src/components/stepper/stepper-item.tsx
252
+ var isStringOrNumber = (value) => typeof value === "string" || typeof value === "number";
253
+ var StepperItem = ({
254
+ itemKey,
255
+ title,
256
+ description,
257
+ indicator,
258
+ isLocked = false,
259
+ isDisabled = false,
260
+ children,
261
+ onPress,
262
+ style,
263
+ customAppearance
264
+ }) => {
265
+ const context = useStepperContext();
266
+ const direction = context?.direction ?? "horizontal";
267
+ const showLines = context?.showLines ?? true;
268
+ const lineDisplayMode = context?.lineDisplayMode ?? "progress";
269
+ const groupDisabled = context?.isDisabled ?? false;
270
+ const size = context?.size ?? "md";
271
+ const themeColor = context?.themeColor ?? "primary";
272
+ const sizeStyles = useStepperSizeStyles(size);
273
+ const colors = useStepperColors(themeColor);
274
+ const index = context?.keys.indexOf(itemKey) ?? -1;
275
+ const isActive = context?.activeKey === itemKey;
276
+ const hasActiveStep = (context?.activeIndex ?? -1) >= 0;
277
+ const isCompleted = hasActiveStep && index >= 0 && index < (context?.activeIndex ?? -1);
278
+ const isLast = index === (context?.keys.length ?? 0) - 1;
279
+ const lineTargetProgress = isCompleted ? 1 : 0;
280
+ const lineProgress = useRef(new Animated.Value(lineTargetProgress)).current;
281
+ const disabled = groupDisabled || isDisabled;
282
+ const blocked = disabled || isLocked;
283
+ const indicatorState = {
284
+ index: Math.max(index, 0),
285
+ isActive,
286
+ isCompleted,
287
+ isLocked,
288
+ isDisabled: disabled
289
+ };
290
+ const indicatorNode = useMemo3(() => {
291
+ if (typeof indicator === "function") {
292
+ return indicator(indicatorState);
293
+ }
294
+ if (indicator !== void 0) {
295
+ return indicator;
296
+ }
297
+ const iconSize = Math.max(12, Math.floor(sizeStyles.indicatorSize * 0.54));
298
+ if (isLocked) {
299
+ return /* @__PURE__ */ React2.createElement(
300
+ LockClosedIcon,
301
+ {
302
+ key: `lock-${itemKey}-${isLocked ? "on" : "off"}`,
303
+ size: iconSize,
304
+ color: colors.lockedIndicatorText,
305
+ isAnimated: true
306
+ }
307
+ );
308
+ }
309
+ if (isCompleted) {
310
+ return /* @__PURE__ */ React2.createElement(
311
+ CheckmarkIcon,
312
+ {
313
+ key: `done-${itemKey}-${isCompleted ? "on" : "off"}`,
314
+ size: iconSize,
315
+ color: colors.completedIndicatorText,
316
+ isAnimated: true
317
+ }
318
+ );
319
+ }
320
+ return String(indicatorState.index + 1);
321
+ }, [
322
+ indicator,
323
+ indicatorState,
324
+ sizeStyles.indicatorSize,
325
+ isLocked,
326
+ isCompleted,
327
+ itemKey,
328
+ colors
329
+ ]);
330
+ useEffect(() => {
331
+ Animated.timing(lineProgress, {
332
+ toValue: lineTargetProgress,
333
+ duration: 240,
334
+ useNativeDriver: true
335
+ }).start();
336
+ }, [lineProgress, lineTargetProgress]);
337
+ const indicatorText = isStringOrNumber(indicatorNode) ? /* @__PURE__ */ React2.createElement(
338
+ Text,
339
+ {
340
+ style: {
341
+ color: isLocked ? colors.lockedIndicatorText : isActive ? colors.activeIndicatorText : isCompleted ? colors.completedIndicatorText : colors.inactiveIndicatorText,
342
+ fontSize: sizeStyles.titleFontSize,
343
+ fontWeight: "700"
344
+ }
345
+ },
346
+ indicatorNode
347
+ ) : indicatorNode;
348
+ const lineStyle = [
349
+ styles.line,
350
+ direction === "horizontal" ? {
351
+ height: sizeStyles.lineThickness,
352
+ marginHorizontal: sizeStyles.horizontalSpacing
353
+ } : {
354
+ width: sizeStyles.lineThickness,
355
+ marginVertical: sizeStyles.verticalSpacing,
356
+ minHeight: sizeStyles.verticalGap
357
+ },
358
+ {
359
+ backgroundColor: lineDisplayMode === "all" ? colors.line : "transparent"
360
+ },
361
+ context?.customAppearance?.line
362
+ ];
363
+ return /* @__PURE__ */ React2.createElement(
364
+ Pressable,
365
+ {
366
+ onPress: () => {
367
+ if (blocked) return;
368
+ context?.onStepChange?.(itemKey);
369
+ onPress?.(itemKey);
370
+ },
371
+ disabled: blocked,
372
+ accessibilityRole: "tab",
373
+ accessibilityState: { selected: !!isActive, disabled: blocked },
374
+ style: [
375
+ direction === "horizontal" ? styles.horizontalItem : styles.verticalItem,
376
+ blocked && (isLocked ? styles.locked : styles.disabled),
377
+ style,
378
+ customAppearance?.container,
379
+ context?.customAppearance?.itemContainer
380
+ ]
381
+ },
382
+ direction === "horizontal" ? /* @__PURE__ */ React2.createElement(React2.Fragment, null, /* @__PURE__ */ React2.createElement(View2, { style: styles.horizontalTopRow }, /* @__PURE__ */ React2.createElement(
383
+ View2,
384
+ {
385
+ style: [
386
+ styles.indicator,
387
+ {
388
+ width: sizeStyles.indicatorSize,
389
+ height: sizeStyles.indicatorSize,
390
+ borderRadius: sizeStyles.indicatorSize / 2,
391
+ borderWidth: sizeStyles.indicatorBorderWidth,
392
+ borderColor: isLocked ? colors.lockedIndicatorBorder : isActive ? colors.activeIndicatorBorder : isCompleted ? colors.completedIndicatorBorder : colors.inactiveIndicatorBorder,
393
+ backgroundColor: isLocked ? colors.lockedIndicatorBackground : isActive ? colors.activeIndicatorBackground : isCompleted ? colors.completedIndicatorBackground : colors.inactiveIndicatorBackground
394
+ },
395
+ customAppearance?.indicator,
396
+ isActive && customAppearance?.activeIndicator,
397
+ isCompleted && customAppearance?.completedIndicator,
398
+ isLocked && customAppearance?.lockedIndicator
399
+ ]
400
+ },
401
+ indicatorText
402
+ ), showLines && !isLast ? /* @__PURE__ */ React2.createElement(View2, { style: lineStyle }, /* @__PURE__ */ React2.createElement(
403
+ View2,
404
+ {
405
+ style: [
406
+ styles.lineProgressWrap,
407
+ direction === "horizontal" ? styles.lineProgressHorizontal : styles.lineProgressVertical
408
+ ]
409
+ },
410
+ /* @__PURE__ */ React2.createElement(
411
+ Animated.View,
412
+ {
413
+ style: [
414
+ styles.lineProgress,
415
+ {
416
+ backgroundColor: colors.activeLine,
417
+ transform: [
418
+ direction === "horizontal" ? { scaleX: lineProgress } : { scaleY: lineProgress }
419
+ ]
420
+ },
421
+ context?.customAppearance?.activeLine
422
+ ]
423
+ }
424
+ )
425
+ )) : null), /* @__PURE__ */ React2.createElement(
426
+ View2,
427
+ {
428
+ style: [
429
+ styles.horizontalContent,
430
+ { marginTop: sizeStyles.verticalSpacing }
431
+ ]
432
+ },
433
+ title ? /* @__PURE__ */ React2.createElement(
434
+ Text,
435
+ {
436
+ style: [
437
+ styles.title,
438
+ {
439
+ fontSize: sizeStyles.titleFontSize,
440
+ color: colors.title
441
+ },
442
+ customAppearance?.title
443
+ ]
444
+ },
445
+ title
446
+ ) : null,
447
+ description ? /* @__PURE__ */ React2.createElement(
448
+ Text,
449
+ {
450
+ style: [
451
+ styles.description,
452
+ {
453
+ fontSize: sizeStyles.descriptionFontSize,
454
+ color: colors.description,
455
+ marginTop: 2
456
+ },
457
+ customAppearance?.description
458
+ ]
459
+ },
460
+ description
461
+ ) : null,
462
+ children
463
+ )) : /* @__PURE__ */ React2.createElement(View2, { style: styles.verticalRow }, /* @__PURE__ */ React2.createElement(View2, { style: { alignItems: "center" } }, /* @__PURE__ */ React2.createElement(
464
+ View2,
465
+ {
466
+ style: [
467
+ styles.indicator,
468
+ {
469
+ width: sizeStyles.indicatorSize,
470
+ height: sizeStyles.indicatorSize,
471
+ borderRadius: sizeStyles.indicatorSize / 2,
472
+ borderWidth: sizeStyles.indicatorBorderWidth,
473
+ borderColor: isLocked ? colors.lockedIndicatorBorder : isActive ? colors.activeIndicatorBorder : isCompleted ? colors.completedIndicatorBorder : colors.inactiveIndicatorBorder,
474
+ backgroundColor: isLocked ? colors.lockedIndicatorBackground : isActive ? colors.activeIndicatorBackground : isCompleted ? colors.completedIndicatorBackground : colors.inactiveIndicatorBackground
475
+ },
476
+ customAppearance?.indicator,
477
+ isActive && customAppearance?.activeIndicator,
478
+ isCompleted && customAppearance?.completedIndicator,
479
+ isLocked && customAppearance?.lockedIndicator
480
+ ]
481
+ },
482
+ indicatorText
483
+ ), showLines && !isLast ? /* @__PURE__ */ React2.createElement(View2, { style: styles.verticalLineWrap }, /* @__PURE__ */ React2.createElement(View2, { style: lineStyle }, /* @__PURE__ */ React2.createElement(
484
+ View2,
485
+ {
486
+ style: [styles.lineProgressWrap, styles.lineProgressVertical]
487
+ },
488
+ /* @__PURE__ */ React2.createElement(
489
+ Animated.View,
490
+ {
491
+ style: [
492
+ styles.lineProgress,
493
+ {
494
+ backgroundColor: colors.activeLine,
495
+ transform: [{ scaleY: lineProgress }]
496
+ },
497
+ context?.customAppearance?.activeLine
498
+ ]
499
+ }
500
+ )
501
+ ))) : null), /* @__PURE__ */ React2.createElement(
502
+ View2,
503
+ {
504
+ style: [
505
+ styles.verticalContent,
506
+ { paddingBottom: sizeStyles.verticalGap },
507
+ { marginLeft: sizeStyles.horizontalSpacing }
508
+ ]
509
+ },
510
+ title ? /* @__PURE__ */ React2.createElement(
511
+ Text,
512
+ {
513
+ style: [
514
+ styles.title,
515
+ styles.titleVertical,
516
+ {
517
+ fontSize: sizeStyles.titleFontSize,
518
+ color: colors.title
519
+ },
520
+ customAppearance?.title
521
+ ]
522
+ },
523
+ title
524
+ ) : null,
525
+ description ? /* @__PURE__ */ React2.createElement(
526
+ Text,
527
+ {
528
+ style: [
529
+ styles.description,
530
+ styles.descriptionVertical,
531
+ {
532
+ fontSize: sizeStyles.descriptionFontSize,
533
+ color: colors.description,
534
+ marginTop: 2
535
+ },
536
+ customAppearance?.description
537
+ ]
538
+ },
539
+ description
540
+ ) : null,
541
+ children
542
+ ))
543
+ );
544
+ };
545
+ StepperItem.displayName = "StepperItem";
546
+ export {
547
+ Stepper,
548
+ StepperItem
549
+ };
@@ -1,7 +1,6 @@
1
- import "../chunk-DXXNBF5P.js";
2
1
  import {
3
2
  useXUITheme
4
- } from "../chunk-LTKYHG5V.js";
3
+ } from "../chunk-GHCVNQET.js";
5
4
 
6
5
  // src/components/switch/switch.tsx
7
6
  import React, { useEffect, useMemo as useMemo2, useRef, useState } from "react";