@xaui/native 0.9.1-alpha.41 → 0.9.1-alpha.42

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 (99) hide show
  1. package/dist/{chunk-TJ74XVZN.cjs → chunk-3JXI2IHV.cjs} +8 -8
  2. package/dist/{chunk-C5YLPCFC.cjs → chunk-4KSKQD37.cjs} +5 -5
  3. package/dist/{chunk-DA3OKXHV.cjs → chunk-54CWXA34.cjs} +59 -59
  4. package/dist/{chunk-XV735BSA.cjs → chunk-66FOASTP.cjs} +6 -6
  5. package/dist/{chunk-UFTCTTKK.js → chunk-6CO6FM67.js} +15 -15
  6. package/dist/{chunk-RU7JCMWC.cjs → chunk-76XDVA24.cjs} +6 -6
  7. package/dist/{chunk-G7P3ERYF.cjs → chunk-7KLBTMXV.cjs} +5 -5
  8. package/dist/{chunk-NWGLP6JX.cjs → chunk-7TOG4TVU.cjs} +15 -15
  9. package/dist/{chunk-ZFOOJK37.cjs → chunk-AAVCMCJ3.cjs} +2 -2
  10. package/dist/{chunk-T5FV5F7A.cjs → chunk-C5LONNXT.cjs} +6 -6
  11. package/dist/{chunk-XFPQFCEK.js → chunk-DY3SUG5P.js} +6 -6
  12. package/dist/{chunk-KCMYU7WF.js → chunk-EYD4H4X6.js} +1 -1
  13. package/dist/{chunk-DHGLGSH6.js → chunk-FBCWNXZC.js} +58 -58
  14. package/dist/{chunk-2XPG2243.js → chunk-GJSFKH4L.js} +16 -16
  15. package/dist/{chunk-DD4276RF.js → chunk-HA6BFY3A.js} +6 -6
  16. package/dist/{chunk-GFUZ3MUT.cjs → chunk-HOI5425P.cjs} +6 -6
  17. package/dist/{chunk-LRN3RNDO.js → chunk-JKP4TPIL.js} +16 -16
  18. package/dist/{chunk-6UEZJRVI.js → chunk-LIUO6D3D.js} +75 -75
  19. package/dist/{chunk-DIBUQ46Y.js → chunk-MXGER5PI.js} +5 -5
  20. package/dist/{chunk-EZEYMLO3.js → chunk-N5AEXTUM.js} +4 -4
  21. package/dist/chunk-NA262TF2.js +724 -0
  22. package/dist/{chunk-R73XQK7X.cjs → chunk-NCCRQK3P.cjs} +5 -5
  23. package/dist/{chunk-5VKYNBNA.js → chunk-NHZRQM5J.js} +4 -4
  24. package/dist/{chunk-VLKBESEV.cjs → chunk-QWMVMLSU.cjs} +5 -5
  25. package/dist/{chunk-GA6PBWNT.js → chunk-QZ24MZRX.js} +1 -1
  26. package/dist/{chunk-YVHT2UVW.js → chunk-R7BU4CPS.js} +1 -1
  27. package/dist/{chunk-6DOLGZVV.cjs → chunk-S4QUM4EE.cjs} +4 -4
  28. package/dist/{chunk-DG2I4PJG.js → chunk-SACDOFGF.js} +15 -15
  29. package/dist/{chunk-ABAGZTXZ.cjs → chunk-SIP5J7HU.cjs} +15 -15
  30. package/dist/{chunk-3E7CDKFO.cjs → chunk-TGMVEHV7.cjs} +61 -61
  31. package/dist/{chunk-YGYYJ3LQ.js → chunk-TRETQZEW.js} +5 -5
  32. package/dist/{chunk-UAWBAD4E.cjs → chunk-URA25DU4.cjs} +5 -5
  33. package/dist/{chunk-BRRXFOBY.js → chunk-USF6EWYR.js} +7 -7
  34. package/dist/{chunk-5R26NM4M.cjs → chunk-VPQPFLT5.cjs} +6 -6
  35. package/dist/{chunk-G3CCT4EY.js → chunk-VT34G7RT.js} +16 -16
  36. package/dist/{chunk-7YF5NAHQ.cjs → chunk-VZK3NLBH.cjs} +7 -7
  37. package/dist/{chunk-N3KTZMPG.js → chunk-XNMZQSY5.js} +5 -5
  38. package/dist/chunk-ZTBA7CNK.cjs +510 -0
  39. package/dist/components/accordion/index.cjs +5 -5
  40. package/dist/components/accordion/index.js +4 -4
  41. package/dist/components/alert/index.cjs +6 -6
  42. package/dist/components/alert/index.js +5 -5
  43. package/dist/components/avatar/index.cjs +4 -4
  44. package/dist/components/avatar/index.js +3 -3
  45. package/dist/components/badge/index.cjs +4 -4
  46. package/dist/components/badge/index.js +3 -3
  47. package/dist/components/button/index.cjs +5 -5
  48. package/dist/components/button/index.js +4 -4
  49. package/dist/components/card/index.cjs +5 -5
  50. package/dist/components/card/index.js +4 -4
  51. package/dist/components/checkbox/index.cjs +5 -5
  52. package/dist/components/checkbox/index.js +4 -4
  53. package/dist/components/chip/index.cjs +6 -6
  54. package/dist/components/chip/index.js +5 -5
  55. package/dist/components/divider/index.cjs +4 -4
  56. package/dist/components/divider/index.js +3 -3
  57. package/dist/components/field-group/index.cjs +5 -5
  58. package/dist/components/field-group/index.js +4 -4
  59. package/dist/components/input-otp/index.cjs +4 -4
  60. package/dist/components/input-otp/index.js +3 -3
  61. package/dist/components/menu/index.cjs +5 -5
  62. package/dist/components/menu/index.js +4 -4
  63. package/dist/components/popover/index.cjs +5 -5
  64. package/dist/components/popover/index.js +4 -4
  65. package/dist/components/radio/index.cjs +5 -5
  66. package/dist/components/radio/index.js +4 -4
  67. package/dist/components/select/index.cjs +5 -5
  68. package/dist/components/select/index.js +4 -4
  69. package/dist/components/slider/index.cjs +33 -0
  70. package/dist/components/slider/index.d.cts +284 -0
  71. package/dist/components/slider/index.d.ts +284 -0
  72. package/dist/components/slider/index.js +33 -0
  73. package/dist/components/spinner/index.cjs +1 -1
  74. package/dist/components/spinner/index.js +1 -1
  75. package/dist/components/switch/index.cjs +5 -5
  76. package/dist/components/switch/index.js +4 -4
  77. package/dist/components/tabs/index.cjs +5 -5
  78. package/dist/components/tabs/index.js +4 -4
  79. package/dist/components/text-area/index.cjs +5 -5
  80. package/dist/components/text-area/index.js +4 -4
  81. package/dist/components/text-field/index.cjs +4 -4
  82. package/dist/components/text-field/index.js +3 -3
  83. package/dist/components/typography/index.cjs +4 -4
  84. package/dist/components/typography/index.js +3 -3
  85. package/dist/index.cjs +53 -29
  86. package/dist/index.d.cts +1 -0
  87. package/dist/index.d.ts +1 -0
  88. package/dist/index.js +62 -38
  89. package/dist/system/index.cjs +7 -7
  90. package/dist/system/index.js +7 -7
  91. package/package.json +11 -1
  92. package/dist/{chunk-4CUZZWFW.js → chunk-26OGEFQI.js} +3 -3
  93. package/dist/{chunk-H7DS4IO7.js → chunk-346QBNUD.js} +4 -4
  94. package/dist/{chunk-J3MB4PI5.cjs → chunk-A7YB7YWX.cjs} +3 -3
  95. package/dist/{chunk-AMCSSOJT.cjs → chunk-BNFIFRQA.cjs} +3 -3
  96. package/dist/{chunk-6L2TS2R3.cjs → chunk-KSUV74BE.cjs} +3 -3
  97. package/dist/{chunk-HDVVZG4S.cjs → chunk-RKCWYUGA.cjs} +3 -3
  98. package/dist/{chunk-2NRZKJG7.js → chunk-S2WNWMNT.js} +4 -4
  99. package/dist/{chunk-73RKQC5X.js → chunk-SZLXPF3G.js} +3 -3
@@ -0,0 +1,284 @@
1
+ import * as react_native from 'react-native';
2
+ import { ViewProps, StyleProp, TextStyle, ViewStyle, TextProps, View, Text } from 'react-native';
3
+ import * as react from 'react';
4
+ import { ReactNode } from 'react';
5
+ import { V as ViewStyleProps, T as TextStyleProps } from '../../style-props.type-CfnoGEP7.cjs';
6
+ import { S as Size, R as RadiusKey } from '../../theme.type-C2gNHpEx.cjs';
7
+ import { R as Recipe, a as StyleFn } from '../../create-recipe-dC7wMfnj.cjs';
8
+
9
+ /**
10
+ * The two conversions a slider is made of, and the rounding between them.
11
+ *
12
+ * Pure, because a slider that lands one step off at the far end is a bug you cannot see in
13
+ * a screenshot — it needs a table of inputs and outputs, which is what a test is.
14
+ */
15
+ type Range = {
16
+ min: number;
17
+ max: number;
18
+ step: number;
19
+ };
20
+ /** One value, or the two ends of a range. */
21
+ type SliderValue = number | readonly [number, number];
22
+ /** Where a value sits on its track, from 0 at `min` to 1 at `max`. */
23
+ declare function toFraction(value: number, { min, max }: Range): number;
24
+ /**
25
+ * The value a position on the track means, snapped to the nearest step.
26
+ *
27
+ * The snap is computed in **steps from `min`** rather than by rounding the value itself:
28
+ * a step of 0.1 from a min of 0.05 gives 0.05, 0.15, 0.25 — rounding the value would give
29
+ * 0.1, 0.2, 0.3 and quietly move every stop.
30
+ */
31
+ declare function fromFraction(fraction: number, range: Range): number;
32
+ /** The nearest step to a value, never outside the range. */
33
+ declare function snap(value: number, { min, max, step }: Range): number;
34
+
35
+ type SliderSlot = 'root' | 'output' | 'track' | 'fill' | 'thumb';
36
+ /**
37
+ * Which way the rail runs. Vertical counts **from the bottom**: a rail whose fill grew
38
+ * downwards would report a larger value the lower the knob sat, which is the opposite of
39
+ * what a vertical control means everywhere it appears.
40
+ */
41
+ type SliderOrientation = 'horizontal' | 'vertical';
42
+ type SliderSize = Exclude<Size, 'xs'>;
43
+ type SliderOwnProps = {
44
+ children?: ReactNode;
45
+ size?: SliderSize;
46
+ orientation?: SliderOrientation;
47
+ radius?: RadiusKey;
48
+ /** The tint (R7) — a raw value, never a token. Paints the fill and the thumb. */
49
+ color?: string;
50
+ /**
51
+ * A number for one thumb, a pair for a range. The shape decides how many thumbs there
52
+ * are, and it comes back out the same way — a slider given `[20, 60]` reports
53
+ * `[20, 60]`, never `20`.
54
+ */
55
+ value?: SliderValue;
56
+ defaultValue?: SliderValue;
57
+ /** Fires on every step a thumb crosses, including while it is being dragged. */
58
+ onValueChange?: (value: SliderValue) => void;
59
+ /** Fires once, when the finger lifts. What a network call belongs on. */
60
+ onValueCommit?: (value: SliderValue) => void;
61
+ min?: number;
62
+ max?: number;
63
+ /** Set it to `0` for a continuous slider. */
64
+ step?: number;
65
+ isDisabled?: boolean;
66
+ };
67
+ type SliderProps = SliderOwnProps & Omit<ViewProps, keyof SliderOwnProps> & Omit<ViewStyleProps, keyof SliderOwnProps | keyof ViewProps>;
68
+ type SliderOutputOwnProps = {
69
+ /**
70
+ * Given the current value, so the caller can format it. Defaults to the number, or to
71
+ * the two ends joined by an en dash when the slider is a range.
72
+ */
73
+ children?: ReactNode | ((value: SliderValue) => ReactNode);
74
+ };
75
+ type SliderOutputProps = SliderOutputOwnProps & Omit<TextProps, keyof SliderOutputOwnProps> & Omit<TextStyleProps, keyof SliderOutputOwnProps | keyof TextProps>;
76
+ type SliderTrackOwnProps = {
77
+ children?: ReactNode;
78
+ };
79
+ type SliderTrackProps = SliderTrackOwnProps & Omit<ViewProps, keyof SliderTrackOwnProps> & Omit<ViewStyleProps, keyof SliderTrackOwnProps | keyof ViewProps>;
80
+ /** Neither takes children — where they sit is the root's arithmetic. */
81
+ type SliderFillProps = Omit<ViewProps, 'children'> & ViewStyleProps;
82
+ type SliderThumbProps = Omit<ViewProps, 'children'> & ViewStyleProps & {
83
+ /**
84
+ * Which thumb this is. `0` on a plain slider, `0` and `1` on a range — written out
85
+ * rather than conjured by the track, so a range is two slots you can see and style
86
+ * apart rather than one that silently became two.
87
+ */
88
+ index?: number;
89
+ /** What a screen reader reads instead of the raw number. */
90
+ accessibilityValueText?: (value: number) => string;
91
+ };
92
+ /** R5 — resolved style ids and the state the slots read. */
93
+ type SliderContextValue = {
94
+ outputStyle: StyleProp<TextStyle>;
95
+ trackStyle: StyleProp<ViewStyle>;
96
+ fillStyle: StyleProp<ViewStyle>;
97
+ thumbStyle: StyleProp<ViewStyle>;
98
+ orientation: SliderOrientation;
99
+ /** One entry for a plain slider, two for a range. Always snapped. */
100
+ values: readonly number[];
101
+ min: number;
102
+ max: number;
103
+ step: number;
104
+ isDisabled: boolean;
105
+ /** How far along the rail each value sits, from 0 to 1. */
106
+ fractions: readonly number[];
107
+ /** The track's measured length along its own axis. Zero until it has been laid out. */
108
+ trackLength: number;
109
+ setTrackLength: (length: number) => void;
110
+ /** The knob's diameter, so the rail can inset the travel by half of it at each end. */
111
+ thumbSize: number;
112
+ /** Moves one thumb to a position along the rail, from 0 to 1. */
113
+ slideTo: (index: number, fraction: number) => void;
114
+ /** Which thumb a press at this position should move. */
115
+ thumbFor: (fraction: number) => number;
116
+ commit: () => void;
117
+ };
118
+
119
+ /**
120
+ * What the finger holds.
121
+ *
122
+ * The pan runs on `react-native-gesture-handler`, which this library declares as an
123
+ * **optional** peer — a slider is the first component to need it, and an app without one
124
+ * should not be made to install a gesture library. It is imported here and nowhere else,
125
+ * so only an app that reaches for `@xaui/native/slider` pays for it.
126
+ *
127
+ * The gesture computes the new position on the UI thread and hands the value back over
128
+ * `runOnJS`, which is the one hop that has to happen: the value is React state, and only
129
+ * the scale can stay on the other thread.
130
+ *
131
+ * It is a **disc of the page's own colour inside a ring of the fill's**, which is the
132
+ * legacy component's shape rather than HeroUI's capsule-with-a-core. A solid accent knob
133
+ * on an accent fill disappears the moment the value reaches the top; a ring never does.
134
+ */
135
+ declare function SliderThumb({ index, accessibilityValueText, style, ...props }: SliderThumbProps): react.JSX.Element;
136
+ declare namespace SliderThumb {
137
+ var displayName: string;
138
+ }
139
+
140
+ /**
141
+ * A value chosen along a line.
142
+ *
143
+ * ```tsx
144
+ * <Slider defaultValue={40} onValueCommit={save}>
145
+ * <Slider.Output />
146
+ * <Slider.Track>
147
+ * <Slider.Fill />
148
+ * <Slider.Thumb />
149
+ * </Slider.Track>
150
+ * </Slider>
151
+ * ```
152
+ *
153
+ * **Two callbacks, and the difference matters.** `onValueChange` fires on every step a
154
+ * thumb crosses, including mid-drag, and is what a live preview reads. `onValueCommit`
155
+ * fires once, when the finger lifts — it is where a network call belongs, because the
156
+ * first one can fire fifty times in a second.
157
+ *
158
+ * **A pair makes it a range.** `value={[20, 60]}` is two thumbs and a fill between them,
159
+ * and it reports a pair back; the shape the caller wrote is the shape they get. Write one
160
+ * `<Slider.Thumb index={0} />` per end.
161
+ *
162
+ * **`orientation="vertical"` turns the rail on its side**, counting from the bottom — a
163
+ * rail whose fill grew downwards would report a larger value the lower the knob sat.
164
+ */
165
+ declare const SliderRoot: react.ForwardRefExoticComponent<{
166
+ children?: react.ReactNode;
167
+ size?: SliderSize;
168
+ orientation?: SliderOrientation;
169
+ radius?: RadiusKey;
170
+ color?: string;
171
+ value?: SliderValue;
172
+ defaultValue?: SliderValue;
173
+ onValueChange?: (value: SliderValue) => void;
174
+ onValueCommit?: (value: SliderValue) => void;
175
+ min?: number;
176
+ max?: number;
177
+ step?: number;
178
+ isDisabled?: boolean;
179
+ } & Omit<react_native.ViewProps, keyof {
180
+ children?: react.ReactNode;
181
+ size?: SliderSize;
182
+ orientation?: SliderOrientation;
183
+ radius?: RadiusKey;
184
+ color?: string;
185
+ value?: SliderValue;
186
+ defaultValue?: SliderValue;
187
+ onValueChange?: (value: SliderValue) => void;
188
+ onValueCommit?: (value: SliderValue) => void;
189
+ min?: number;
190
+ max?: number;
191
+ step?: number;
192
+ isDisabled?: boolean;
193
+ }> & Omit<ViewStyleProps, "color" | "value" | "pointerEvents" | "style" | "children" | "size" | "hitSlop" | "id" | "needsOffscreenAlphaCompositing" | "onLayout" | "removeClippedSubviews" | "testID" | "nativeID" | "collapsable" | "collapsableChildren" | "onBlur" | "onFocus" | "renderToHardwareTextureAndroid" | "focusable" | "tabIndex" | "shouldRasterizeIOS" | "isTVSelectable" | "hasTVPreferredFocus" | "tvParallaxShiftDistanceX" | "tvParallaxShiftDistanceY" | "tvParallaxTiltAngle" | "tvParallaxMagnification" | "onStartShouldSetResponder" | "onMoveShouldSetResponder" | "onResponderEnd" | "onResponderGrant" | "onResponderReject" | "onResponderMove" | "onResponderRelease" | "onResponderStart" | "onResponderTerminationRequest" | "onResponderTerminate" | "onStartShouldSetResponderCapture" | "onMoveShouldSetResponderCapture" | "onTouchStart" | "onTouchMove" | "onTouchEnd" | "onTouchCancel" | "onTouchEndCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerUp" | "onPointerUpCapture" | "accessible" | "accessibilityActions" | "accessibilityLabel" | "aria-label" | "accessibilityRole" | "accessibilityState" | "aria-busy" | "aria-checked" | "aria-disabled" | "aria-expanded" | "aria-selected" | "accessibilityHint" | "accessibilityValue" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "onAccessibilityAction" | "importantForAccessibility" | "aria-hidden" | "aria-modal" | "role" | "accessibilityLabelledBy" | "aria-labelledby" | "accessibilityLiveRegion" | "aria-live" | "screenReaderFocusable" | "accessibilityElementsHidden" | "accessibilityViewIsModal" | "onAccessibilityEscape" | "onAccessibilityTap" | "onMagicTap" | "accessibilityIgnoresInvertColors" | "accessibilityLanguage" | "accessibilityShowsLargeContentViewer" | "accessibilityLargeContentTitle" | "accessibilityRespondsToUserInteraction" | "radius" | "defaultValue" | "onValueChange" | "isDisabled" | "max" | "min" | "orientation" | "step" | "onValueCommit"> & react.RefAttributes<View>>;
194
+
195
+ /**
196
+ * The part of the rail behind the knob.
197
+ *
198
+ * One thumb and it fills from the rail's start; two and it fills **between** them, which
199
+ * is the whole visual difference a range makes.
200
+ *
201
+ * It is not animated. The knob it follows is under a finger, and a fill lagging behind the
202
+ * knob by a spring reads as the two coming apart.
203
+ */
204
+ declare const SliderFill: react.ForwardRefExoticComponent<Omit<react_native.ViewProps, "children"> & ViewStyleProps & react.RefAttributes<View>>;
205
+
206
+ /**
207
+ * The value, in words.
208
+ *
209
+ * `children` may be a function, which is how a raw number becomes "42 %" or "1 h 20" — a
210
+ * `format` prop would have been the same thing with less room in it.
211
+ */
212
+ declare const SliderOutput: react.ForwardRefExoticComponent<{
213
+ children?: react.ReactNode | ((value: SliderValue) => react.ReactNode);
214
+ } & Omit<react_native.TextProps, "children"> & Omit<TextStyleProps, keyof react_native.TextProps> & react.RefAttributes<Text>>;
215
+
216
+ /**
217
+ * The rail the knob runs along, and the only node that knows how long it is.
218
+ *
219
+ * It takes a press anywhere along itself and moves the knob there, which is the half of a
220
+ * slider people forget: dragging a sixteen-point disc is a fine gesture on a mouse and a
221
+ * poor one on a finger.
222
+ *
223
+ * The travel is inset by half a knob at each end — otherwise the knob hangs over the rail's
224
+ * ends at the minimum and the maximum, and the fill runs out from under it.
225
+ */
226
+ declare const SliderTrack: react.ForwardRefExoticComponent<{
227
+ children?: react.ReactNode;
228
+ } & Omit<react_native.ViewProps, "children"> & Omit<ViewStyleProps, keyof react_native.ViewProps> & react.RefAttributes<View>>;
229
+
230
+ declare const useSlider: () => SliderContextValue;
231
+
232
+ declare const sliderRecipe: Recipe<"fill" | "output" | "track" | "root" | "thumb", "default", {
233
+ readonly size: {
234
+ readonly sm: () => {};
235
+ readonly md: () => {};
236
+ readonly lg: () => {};
237
+ };
238
+ readonly orientation: {
239
+ readonly horizontal: () => {};
240
+ readonly vertical: () => {};
241
+ };
242
+ readonly radius: Record<RadiusKey, StyleFn<"fill" | "track">>;
243
+ }>;
244
+
245
+ declare const Slider: react.ForwardRefExoticComponent<{
246
+ children?: react.ReactNode;
247
+ size?: SliderSize;
248
+ orientation?: SliderOrientation;
249
+ radius?: RadiusKey;
250
+ color?: string;
251
+ value?: SliderValue;
252
+ defaultValue?: SliderValue;
253
+ onValueChange?: (value: SliderValue) => void;
254
+ onValueCommit?: (value: SliderValue) => void;
255
+ min?: number;
256
+ max?: number;
257
+ step?: number;
258
+ isDisabled?: boolean;
259
+ } & Omit<react_native.ViewProps, keyof {
260
+ children?: react.ReactNode;
261
+ size?: SliderSize;
262
+ orientation?: SliderOrientation;
263
+ radius?: RadiusKey;
264
+ color?: string;
265
+ value?: SliderValue;
266
+ defaultValue?: SliderValue;
267
+ onValueChange?: (value: SliderValue) => void;
268
+ onValueCommit?: (value: SliderValue) => void;
269
+ min?: number;
270
+ max?: number;
271
+ step?: number;
272
+ isDisabled?: boolean;
273
+ }> & Omit<ViewStyleProps, "color" | "value" | "pointerEvents" | "style" | "children" | "size" | "hitSlop" | "id" | "needsOffscreenAlphaCompositing" | "onLayout" | "removeClippedSubviews" | "testID" | "nativeID" | "collapsable" | "collapsableChildren" | "onBlur" | "onFocus" | "renderToHardwareTextureAndroid" | "focusable" | "tabIndex" | "shouldRasterizeIOS" | "isTVSelectable" | "hasTVPreferredFocus" | "tvParallaxShiftDistanceX" | "tvParallaxShiftDistanceY" | "tvParallaxTiltAngle" | "tvParallaxMagnification" | "onStartShouldSetResponder" | "onMoveShouldSetResponder" | "onResponderEnd" | "onResponderGrant" | "onResponderReject" | "onResponderMove" | "onResponderRelease" | "onResponderStart" | "onResponderTerminationRequest" | "onResponderTerminate" | "onStartShouldSetResponderCapture" | "onMoveShouldSetResponderCapture" | "onTouchStart" | "onTouchMove" | "onTouchEnd" | "onTouchCancel" | "onTouchEndCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerUp" | "onPointerUpCapture" | "accessible" | "accessibilityActions" | "accessibilityLabel" | "aria-label" | "accessibilityRole" | "accessibilityState" | "aria-busy" | "aria-checked" | "aria-disabled" | "aria-expanded" | "aria-selected" | "accessibilityHint" | "accessibilityValue" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "onAccessibilityAction" | "importantForAccessibility" | "aria-hidden" | "aria-modal" | "role" | "accessibilityLabelledBy" | "aria-labelledby" | "accessibilityLiveRegion" | "aria-live" | "screenReaderFocusable" | "accessibilityElementsHidden" | "accessibilityViewIsModal" | "onAccessibilityEscape" | "onAccessibilityTap" | "onMagicTap" | "accessibilityIgnoresInvertColors" | "accessibilityLanguage" | "accessibilityShowsLargeContentViewer" | "accessibilityLargeContentTitle" | "accessibilityRespondsToUserInteraction" | "radius" | "defaultValue" | "onValueChange" | "isDisabled" | "max" | "min" | "orientation" | "step" | "onValueCommit"> & react.RefAttributes<react_native.View>> & {
274
+ Output: react.ForwardRefExoticComponent<{
275
+ children?: react.ReactNode | ((value: SliderValue) => react.ReactNode);
276
+ } & Omit<react_native.TextProps, "children"> & Omit<TextStyleProps, keyof react_native.TextProps> & react.RefAttributes<react_native.Text>>;
277
+ Track: react.ForwardRefExoticComponent<{
278
+ children?: react.ReactNode;
279
+ } & Omit<react_native.ViewProps, "children"> & Omit<ViewStyleProps, keyof react_native.ViewProps> & react.RefAttributes<react_native.View>>;
280
+ Fill: react.ForwardRefExoticComponent<Omit<react_native.ViewProps, "children"> & ViewStyleProps & react.RefAttributes<react_native.View>>;
281
+ Thumb: typeof SliderThumb;
282
+ };
283
+
284
+ export { Slider, type SliderContextValue, SliderFill, type SliderFillProps, SliderOutput, type SliderOutputProps, type SliderProps, SliderRoot, type SliderSize, type SliderSlot, SliderThumb, type SliderThumbProps, SliderTrack, type SliderTrackProps, fromFraction, sliderRecipe, snap, toFraction, useSlider };
@@ -0,0 +1,284 @@
1
+ import * as react_native from 'react-native';
2
+ import { ViewProps, StyleProp, TextStyle, ViewStyle, TextProps, View, Text } from 'react-native';
3
+ import * as react from 'react';
4
+ import { ReactNode } from 'react';
5
+ import { V as ViewStyleProps, T as TextStyleProps } from '../../style-props.type-CfnoGEP7.js';
6
+ import { S as Size, R as RadiusKey } from '../../theme.type-C2gNHpEx.js';
7
+ import { R as Recipe, a as StyleFn } from '../../create-recipe-BdVd2ffi.js';
8
+
9
+ /**
10
+ * The two conversions a slider is made of, and the rounding between them.
11
+ *
12
+ * Pure, because a slider that lands one step off at the far end is a bug you cannot see in
13
+ * a screenshot — it needs a table of inputs and outputs, which is what a test is.
14
+ */
15
+ type Range = {
16
+ min: number;
17
+ max: number;
18
+ step: number;
19
+ };
20
+ /** One value, or the two ends of a range. */
21
+ type SliderValue = number | readonly [number, number];
22
+ /** Where a value sits on its track, from 0 at `min` to 1 at `max`. */
23
+ declare function toFraction(value: number, { min, max }: Range): number;
24
+ /**
25
+ * The value a position on the track means, snapped to the nearest step.
26
+ *
27
+ * The snap is computed in **steps from `min`** rather than by rounding the value itself:
28
+ * a step of 0.1 from a min of 0.05 gives 0.05, 0.15, 0.25 — rounding the value would give
29
+ * 0.1, 0.2, 0.3 and quietly move every stop.
30
+ */
31
+ declare function fromFraction(fraction: number, range: Range): number;
32
+ /** The nearest step to a value, never outside the range. */
33
+ declare function snap(value: number, { min, max, step }: Range): number;
34
+
35
+ type SliderSlot = 'root' | 'output' | 'track' | 'fill' | 'thumb';
36
+ /**
37
+ * Which way the rail runs. Vertical counts **from the bottom**: a rail whose fill grew
38
+ * downwards would report a larger value the lower the knob sat, which is the opposite of
39
+ * what a vertical control means everywhere it appears.
40
+ */
41
+ type SliderOrientation = 'horizontal' | 'vertical';
42
+ type SliderSize = Exclude<Size, 'xs'>;
43
+ type SliderOwnProps = {
44
+ children?: ReactNode;
45
+ size?: SliderSize;
46
+ orientation?: SliderOrientation;
47
+ radius?: RadiusKey;
48
+ /** The tint (R7) — a raw value, never a token. Paints the fill and the thumb. */
49
+ color?: string;
50
+ /**
51
+ * A number for one thumb, a pair for a range. The shape decides how many thumbs there
52
+ * are, and it comes back out the same way — a slider given `[20, 60]` reports
53
+ * `[20, 60]`, never `20`.
54
+ */
55
+ value?: SliderValue;
56
+ defaultValue?: SliderValue;
57
+ /** Fires on every step a thumb crosses, including while it is being dragged. */
58
+ onValueChange?: (value: SliderValue) => void;
59
+ /** Fires once, when the finger lifts. What a network call belongs on. */
60
+ onValueCommit?: (value: SliderValue) => void;
61
+ min?: number;
62
+ max?: number;
63
+ /** Set it to `0` for a continuous slider. */
64
+ step?: number;
65
+ isDisabled?: boolean;
66
+ };
67
+ type SliderProps = SliderOwnProps & Omit<ViewProps, keyof SliderOwnProps> & Omit<ViewStyleProps, keyof SliderOwnProps | keyof ViewProps>;
68
+ type SliderOutputOwnProps = {
69
+ /**
70
+ * Given the current value, so the caller can format it. Defaults to the number, or to
71
+ * the two ends joined by an en dash when the slider is a range.
72
+ */
73
+ children?: ReactNode | ((value: SliderValue) => ReactNode);
74
+ };
75
+ type SliderOutputProps = SliderOutputOwnProps & Omit<TextProps, keyof SliderOutputOwnProps> & Omit<TextStyleProps, keyof SliderOutputOwnProps | keyof TextProps>;
76
+ type SliderTrackOwnProps = {
77
+ children?: ReactNode;
78
+ };
79
+ type SliderTrackProps = SliderTrackOwnProps & Omit<ViewProps, keyof SliderTrackOwnProps> & Omit<ViewStyleProps, keyof SliderTrackOwnProps | keyof ViewProps>;
80
+ /** Neither takes children — where they sit is the root's arithmetic. */
81
+ type SliderFillProps = Omit<ViewProps, 'children'> & ViewStyleProps;
82
+ type SliderThumbProps = Omit<ViewProps, 'children'> & ViewStyleProps & {
83
+ /**
84
+ * Which thumb this is. `0` on a plain slider, `0` and `1` on a range — written out
85
+ * rather than conjured by the track, so a range is two slots you can see and style
86
+ * apart rather than one that silently became two.
87
+ */
88
+ index?: number;
89
+ /** What a screen reader reads instead of the raw number. */
90
+ accessibilityValueText?: (value: number) => string;
91
+ };
92
+ /** R5 — resolved style ids and the state the slots read. */
93
+ type SliderContextValue = {
94
+ outputStyle: StyleProp<TextStyle>;
95
+ trackStyle: StyleProp<ViewStyle>;
96
+ fillStyle: StyleProp<ViewStyle>;
97
+ thumbStyle: StyleProp<ViewStyle>;
98
+ orientation: SliderOrientation;
99
+ /** One entry for a plain slider, two for a range. Always snapped. */
100
+ values: readonly number[];
101
+ min: number;
102
+ max: number;
103
+ step: number;
104
+ isDisabled: boolean;
105
+ /** How far along the rail each value sits, from 0 to 1. */
106
+ fractions: readonly number[];
107
+ /** The track's measured length along its own axis. Zero until it has been laid out. */
108
+ trackLength: number;
109
+ setTrackLength: (length: number) => void;
110
+ /** The knob's diameter, so the rail can inset the travel by half of it at each end. */
111
+ thumbSize: number;
112
+ /** Moves one thumb to a position along the rail, from 0 to 1. */
113
+ slideTo: (index: number, fraction: number) => void;
114
+ /** Which thumb a press at this position should move. */
115
+ thumbFor: (fraction: number) => number;
116
+ commit: () => void;
117
+ };
118
+
119
+ /**
120
+ * What the finger holds.
121
+ *
122
+ * The pan runs on `react-native-gesture-handler`, which this library declares as an
123
+ * **optional** peer — a slider is the first component to need it, and an app without one
124
+ * should not be made to install a gesture library. It is imported here and nowhere else,
125
+ * so only an app that reaches for `@xaui/native/slider` pays for it.
126
+ *
127
+ * The gesture computes the new position on the UI thread and hands the value back over
128
+ * `runOnJS`, which is the one hop that has to happen: the value is React state, and only
129
+ * the scale can stay on the other thread.
130
+ *
131
+ * It is a **disc of the page's own colour inside a ring of the fill's**, which is the
132
+ * legacy component's shape rather than HeroUI's capsule-with-a-core. A solid accent knob
133
+ * on an accent fill disappears the moment the value reaches the top; a ring never does.
134
+ */
135
+ declare function SliderThumb({ index, accessibilityValueText, style, ...props }: SliderThumbProps): react.JSX.Element;
136
+ declare namespace SliderThumb {
137
+ var displayName: string;
138
+ }
139
+
140
+ /**
141
+ * A value chosen along a line.
142
+ *
143
+ * ```tsx
144
+ * <Slider defaultValue={40} onValueCommit={save}>
145
+ * <Slider.Output />
146
+ * <Slider.Track>
147
+ * <Slider.Fill />
148
+ * <Slider.Thumb />
149
+ * </Slider.Track>
150
+ * </Slider>
151
+ * ```
152
+ *
153
+ * **Two callbacks, and the difference matters.** `onValueChange` fires on every step a
154
+ * thumb crosses, including mid-drag, and is what a live preview reads. `onValueCommit`
155
+ * fires once, when the finger lifts — it is where a network call belongs, because the
156
+ * first one can fire fifty times in a second.
157
+ *
158
+ * **A pair makes it a range.** `value={[20, 60]}` is two thumbs and a fill between them,
159
+ * and it reports a pair back; the shape the caller wrote is the shape they get. Write one
160
+ * `<Slider.Thumb index={0} />` per end.
161
+ *
162
+ * **`orientation="vertical"` turns the rail on its side**, counting from the bottom — a
163
+ * rail whose fill grew downwards would report a larger value the lower the knob sat.
164
+ */
165
+ declare const SliderRoot: react.ForwardRefExoticComponent<{
166
+ children?: react.ReactNode;
167
+ size?: SliderSize;
168
+ orientation?: SliderOrientation;
169
+ radius?: RadiusKey;
170
+ color?: string;
171
+ value?: SliderValue;
172
+ defaultValue?: SliderValue;
173
+ onValueChange?: (value: SliderValue) => void;
174
+ onValueCommit?: (value: SliderValue) => void;
175
+ min?: number;
176
+ max?: number;
177
+ step?: number;
178
+ isDisabled?: boolean;
179
+ } & Omit<react_native.ViewProps, keyof {
180
+ children?: react.ReactNode;
181
+ size?: SliderSize;
182
+ orientation?: SliderOrientation;
183
+ radius?: RadiusKey;
184
+ color?: string;
185
+ value?: SliderValue;
186
+ defaultValue?: SliderValue;
187
+ onValueChange?: (value: SliderValue) => void;
188
+ onValueCommit?: (value: SliderValue) => void;
189
+ min?: number;
190
+ max?: number;
191
+ step?: number;
192
+ isDisabled?: boolean;
193
+ }> & Omit<ViewStyleProps, "color" | "value" | "pointerEvents" | "style" | "children" | "size" | "hitSlop" | "id" | "needsOffscreenAlphaCompositing" | "onLayout" | "removeClippedSubviews" | "testID" | "nativeID" | "collapsable" | "collapsableChildren" | "onBlur" | "onFocus" | "renderToHardwareTextureAndroid" | "focusable" | "tabIndex" | "shouldRasterizeIOS" | "isTVSelectable" | "hasTVPreferredFocus" | "tvParallaxShiftDistanceX" | "tvParallaxShiftDistanceY" | "tvParallaxTiltAngle" | "tvParallaxMagnification" | "onStartShouldSetResponder" | "onMoveShouldSetResponder" | "onResponderEnd" | "onResponderGrant" | "onResponderReject" | "onResponderMove" | "onResponderRelease" | "onResponderStart" | "onResponderTerminationRequest" | "onResponderTerminate" | "onStartShouldSetResponderCapture" | "onMoveShouldSetResponderCapture" | "onTouchStart" | "onTouchMove" | "onTouchEnd" | "onTouchCancel" | "onTouchEndCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerUp" | "onPointerUpCapture" | "accessible" | "accessibilityActions" | "accessibilityLabel" | "aria-label" | "accessibilityRole" | "accessibilityState" | "aria-busy" | "aria-checked" | "aria-disabled" | "aria-expanded" | "aria-selected" | "accessibilityHint" | "accessibilityValue" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "onAccessibilityAction" | "importantForAccessibility" | "aria-hidden" | "aria-modal" | "role" | "accessibilityLabelledBy" | "aria-labelledby" | "accessibilityLiveRegion" | "aria-live" | "screenReaderFocusable" | "accessibilityElementsHidden" | "accessibilityViewIsModal" | "onAccessibilityEscape" | "onAccessibilityTap" | "onMagicTap" | "accessibilityIgnoresInvertColors" | "accessibilityLanguage" | "accessibilityShowsLargeContentViewer" | "accessibilityLargeContentTitle" | "accessibilityRespondsToUserInteraction" | "radius" | "defaultValue" | "onValueChange" | "isDisabled" | "max" | "min" | "orientation" | "step" | "onValueCommit"> & react.RefAttributes<View>>;
194
+
195
+ /**
196
+ * The part of the rail behind the knob.
197
+ *
198
+ * One thumb and it fills from the rail's start; two and it fills **between** them, which
199
+ * is the whole visual difference a range makes.
200
+ *
201
+ * It is not animated. The knob it follows is under a finger, and a fill lagging behind the
202
+ * knob by a spring reads as the two coming apart.
203
+ */
204
+ declare const SliderFill: react.ForwardRefExoticComponent<Omit<react_native.ViewProps, "children"> & ViewStyleProps & react.RefAttributes<View>>;
205
+
206
+ /**
207
+ * The value, in words.
208
+ *
209
+ * `children` may be a function, which is how a raw number becomes "42 %" or "1 h 20" — a
210
+ * `format` prop would have been the same thing with less room in it.
211
+ */
212
+ declare const SliderOutput: react.ForwardRefExoticComponent<{
213
+ children?: react.ReactNode | ((value: SliderValue) => react.ReactNode);
214
+ } & Omit<react_native.TextProps, "children"> & Omit<TextStyleProps, keyof react_native.TextProps> & react.RefAttributes<Text>>;
215
+
216
+ /**
217
+ * The rail the knob runs along, and the only node that knows how long it is.
218
+ *
219
+ * It takes a press anywhere along itself and moves the knob there, which is the half of a
220
+ * slider people forget: dragging a sixteen-point disc is a fine gesture on a mouse and a
221
+ * poor one on a finger.
222
+ *
223
+ * The travel is inset by half a knob at each end — otherwise the knob hangs over the rail's
224
+ * ends at the minimum and the maximum, and the fill runs out from under it.
225
+ */
226
+ declare const SliderTrack: react.ForwardRefExoticComponent<{
227
+ children?: react.ReactNode;
228
+ } & Omit<react_native.ViewProps, "children"> & Omit<ViewStyleProps, keyof react_native.ViewProps> & react.RefAttributes<View>>;
229
+
230
+ declare const useSlider: () => SliderContextValue;
231
+
232
+ declare const sliderRecipe: Recipe<"fill" | "output" | "track" | "root" | "thumb", "default", {
233
+ readonly size: {
234
+ readonly sm: () => {};
235
+ readonly md: () => {};
236
+ readonly lg: () => {};
237
+ };
238
+ readonly orientation: {
239
+ readonly horizontal: () => {};
240
+ readonly vertical: () => {};
241
+ };
242
+ readonly radius: Record<RadiusKey, StyleFn<"fill" | "track">>;
243
+ }>;
244
+
245
+ declare const Slider: react.ForwardRefExoticComponent<{
246
+ children?: react.ReactNode;
247
+ size?: SliderSize;
248
+ orientation?: SliderOrientation;
249
+ radius?: RadiusKey;
250
+ color?: string;
251
+ value?: SliderValue;
252
+ defaultValue?: SliderValue;
253
+ onValueChange?: (value: SliderValue) => void;
254
+ onValueCommit?: (value: SliderValue) => void;
255
+ min?: number;
256
+ max?: number;
257
+ step?: number;
258
+ isDisabled?: boolean;
259
+ } & Omit<react_native.ViewProps, keyof {
260
+ children?: react.ReactNode;
261
+ size?: SliderSize;
262
+ orientation?: SliderOrientation;
263
+ radius?: RadiusKey;
264
+ color?: string;
265
+ value?: SliderValue;
266
+ defaultValue?: SliderValue;
267
+ onValueChange?: (value: SliderValue) => void;
268
+ onValueCommit?: (value: SliderValue) => void;
269
+ min?: number;
270
+ max?: number;
271
+ step?: number;
272
+ isDisabled?: boolean;
273
+ }> & Omit<ViewStyleProps, "color" | "value" | "pointerEvents" | "style" | "children" | "size" | "hitSlop" | "id" | "needsOffscreenAlphaCompositing" | "onLayout" | "removeClippedSubviews" | "testID" | "nativeID" | "collapsable" | "collapsableChildren" | "onBlur" | "onFocus" | "renderToHardwareTextureAndroid" | "focusable" | "tabIndex" | "shouldRasterizeIOS" | "isTVSelectable" | "hasTVPreferredFocus" | "tvParallaxShiftDistanceX" | "tvParallaxShiftDistanceY" | "tvParallaxTiltAngle" | "tvParallaxMagnification" | "onStartShouldSetResponder" | "onMoveShouldSetResponder" | "onResponderEnd" | "onResponderGrant" | "onResponderReject" | "onResponderMove" | "onResponderRelease" | "onResponderStart" | "onResponderTerminationRequest" | "onResponderTerminate" | "onStartShouldSetResponderCapture" | "onMoveShouldSetResponderCapture" | "onTouchStart" | "onTouchMove" | "onTouchEnd" | "onTouchCancel" | "onTouchEndCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerUp" | "onPointerUpCapture" | "accessible" | "accessibilityActions" | "accessibilityLabel" | "aria-label" | "accessibilityRole" | "accessibilityState" | "aria-busy" | "aria-checked" | "aria-disabled" | "aria-expanded" | "aria-selected" | "accessibilityHint" | "accessibilityValue" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "onAccessibilityAction" | "importantForAccessibility" | "aria-hidden" | "aria-modal" | "role" | "accessibilityLabelledBy" | "aria-labelledby" | "accessibilityLiveRegion" | "aria-live" | "screenReaderFocusable" | "accessibilityElementsHidden" | "accessibilityViewIsModal" | "onAccessibilityEscape" | "onAccessibilityTap" | "onMagicTap" | "accessibilityIgnoresInvertColors" | "accessibilityLanguage" | "accessibilityShowsLargeContentViewer" | "accessibilityLargeContentTitle" | "accessibilityRespondsToUserInteraction" | "radius" | "defaultValue" | "onValueChange" | "isDisabled" | "max" | "min" | "orientation" | "step" | "onValueCommit"> & react.RefAttributes<react_native.View>> & {
274
+ Output: react.ForwardRefExoticComponent<{
275
+ children?: react.ReactNode | ((value: SliderValue) => react.ReactNode);
276
+ } & Omit<react_native.TextProps, "children"> & Omit<TextStyleProps, keyof react_native.TextProps> & react.RefAttributes<react_native.Text>>;
277
+ Track: react.ForwardRefExoticComponent<{
278
+ children?: react.ReactNode;
279
+ } & Omit<react_native.ViewProps, "children"> & Omit<ViewStyleProps, keyof react_native.ViewProps> & react.RefAttributes<react_native.View>>;
280
+ Fill: react.ForwardRefExoticComponent<Omit<react_native.ViewProps, "children"> & ViewStyleProps & react.RefAttributes<react_native.View>>;
281
+ Thumb: typeof SliderThumb;
282
+ };
283
+
284
+ export { Slider, type SliderContextValue, SliderFill, type SliderFillProps, SliderOutput, type SliderOutputProps, type SliderProps, SliderRoot, type SliderSize, type SliderSlot, SliderThumb, type SliderThumbProps, SliderTrack, type SliderTrackProps, fromFraction, sliderRecipe, snap, toFraction, useSlider };
@@ -0,0 +1,33 @@
1
+ import {
2
+ Slider,
3
+ SliderFill,
4
+ SliderOutput,
5
+ SliderRoot,
6
+ SliderThumb,
7
+ SliderTrack,
8
+ fromFraction,
9
+ sliderRecipe,
10
+ snap,
11
+ toFraction,
12
+ useSlider
13
+ } from "../../chunk-NA262TF2.js";
14
+ import "../../chunk-F6W3JQ7K.js";
15
+ import "../../chunk-EGLLDKN6.js";
16
+ import "../../chunk-K72UDPVN.js";
17
+ import "../../chunk-36PRYGAM.js";
18
+ import "../../chunk-4GTAZM2C.js";
19
+ import "../../chunk-A3EGFI6T.js";
20
+ import "../../chunk-M63GFNKV.js";
21
+ export {
22
+ Slider,
23
+ SliderFill,
24
+ SliderOutput,
25
+ SliderRoot,
26
+ SliderThumb,
27
+ SliderTrack,
28
+ fromFraction,
29
+ sliderRecipe,
30
+ snap,
31
+ toFraction,
32
+ useSlider
33
+ };
@@ -7,9 +7,9 @@ require('../../chunk-WFEMJCXO.cjs');
7
7
  require('../../chunk-7EIHHOHP.cjs');
8
8
  require('../../chunk-7DPL3ZDS.cjs');
9
9
  require('../../chunk-EJQCQPET.cjs');
10
+ require('../../chunk-H4E4HDEP.cjs');
10
11
  require('../../chunk-FNEUOBCV.cjs');
11
12
  require('../../chunk-57SJ4LJF.cjs');
12
- require('../../chunk-H4E4HDEP.cjs');
13
13
  require('../../chunk-TK44VBIE.cjs');
14
14
 
15
15
 
@@ -7,9 +7,9 @@ import "../../chunk-NCTOTTVW.js";
7
7
  import "../../chunk-F6W3JQ7K.js";
8
8
  import "../../chunk-423RQBOX.js";
9
9
  import "../../chunk-EGLLDKN6.js";
10
+ import "../../chunk-36PRYGAM.js";
10
11
  import "../../chunk-4GTAZM2C.js";
11
12
  import "../../chunk-A3EGFI6T.js";
12
- import "../../chunk-36PRYGAM.js";
13
13
  import "../../chunk-M63GFNKV.js";
14
14
  export {
15
15
  Spinner,
@@ -6,15 +6,15 @@
6
6
 
7
7
 
8
8
 
9
- var _chunkDA3OKXHVcjs = require('../../chunk-DA3OKXHV.cjs');
9
+ var _chunk54CWXA34cjs = require('../../chunk-54CWXA34.cjs');
10
10
  require('../../chunk-7EIHHOHP.cjs');
11
- require('../../chunk-3E7CDKFO.cjs');
11
+ require('../../chunk-TGMVEHV7.cjs');
12
12
  require('../../chunk-7DPL3ZDS.cjs');
13
13
  require('../../chunk-EJQCQPET.cjs');
14
- require('../../chunk-FNEUOBCV.cjs');
15
- require('../../chunk-57SJ4LJF.cjs');
16
14
  require('../../chunk-7GHM4GKL.cjs');
17
15
  require('../../chunk-H4E4HDEP.cjs');
16
+ require('../../chunk-FNEUOBCV.cjs');
17
+ require('../../chunk-57SJ4LJF.cjs');
18
18
  require('../../chunk-TK44VBIE.cjs');
19
19
 
20
20
 
@@ -24,4 +24,4 @@ require('../../chunk-TK44VBIE.cjs');
24
24
 
25
25
 
26
26
 
27
- exports.Switch = _chunkDA3OKXHVcjs.Switch; exports.SwitchLabel = _chunkDA3OKXHVcjs.SwitchLabel; exports.SwitchRoot = _chunkDA3OKXHVcjs.SwitchRoot; exports.SwitchThumb = _chunkDA3OKXHVcjs.SwitchThumb; exports.SwitchTrack = _chunkDA3OKXHVcjs.SwitchTrack; exports.switchRecipe = _chunkDA3OKXHVcjs.switchRecipe; exports.useSwitch = _chunkDA3OKXHVcjs.useSwitch;
27
+ exports.Switch = _chunk54CWXA34cjs.Switch; exports.SwitchLabel = _chunk54CWXA34cjs.SwitchLabel; exports.SwitchRoot = _chunk54CWXA34cjs.SwitchRoot; exports.SwitchThumb = _chunk54CWXA34cjs.SwitchThumb; exports.SwitchTrack = _chunk54CWXA34cjs.SwitchTrack; exports.switchRecipe = _chunk54CWXA34cjs.switchRecipe; exports.useSwitch = _chunk54CWXA34cjs.useSwitch;