@xaui/native 0.9.1-alpha.3 → 0.9.1-alpha.31

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 (149) hide show
  1. package/dist/chunk-3FV4COTM.js +68 -0
  2. package/dist/chunk-423RQBOX.js +21 -0
  3. package/dist/chunk-42FMGB5M.js +661 -0
  4. package/dist/chunk-4GTAZM2C.js +174 -0
  5. package/dist/chunk-4XPLPQLM.cjs +147 -0
  6. package/dist/{chunk-3QBT3Q65.cjs → chunk-57SJ4LJF.cjs} +7 -2
  7. package/dist/chunk-5GO7MAVY.cjs +74 -0
  8. package/dist/chunk-5PTBRJM7.cjs +346 -0
  9. package/dist/chunk-5RQ7AZPN.cjs +455 -0
  10. package/dist/chunk-5Z4P6WHR.cjs +525 -0
  11. package/dist/chunk-7DPL3ZDS.cjs +21 -0
  12. package/dist/chunk-7EIHHOHP.cjs +42 -0
  13. package/dist/chunk-7SEZGVTY.js +62 -0
  14. package/dist/chunk-7XKQJQF2.cjs +70 -0
  15. package/dist/{chunk-X2K2FX3W.js → chunk-A3EGFI6T.js} +6 -1
  16. package/dist/chunk-A5OCK3C2.js +525 -0
  17. package/dist/chunk-AETWQQWU.cjs +92 -0
  18. package/dist/chunk-ANNUYP55.cjs +431 -0
  19. package/dist/chunk-BA2DBSAN.js +102 -0
  20. package/dist/chunk-BFMTUMTU.js +669 -0
  21. package/dist/chunk-BVJQ3UPZ.js +62 -0
  22. package/dist/chunk-DFME724B.js +147 -0
  23. package/dist/chunk-E2CWBQTV.js +119 -0
  24. package/dist/chunk-EGLLDKN6.js +9 -0
  25. package/dist/chunk-EJQCQPET.cjs +9 -0
  26. package/dist/chunk-F6CQ6CBI.cjs +112 -0
  27. package/dist/chunk-F6W3JQ7K.js +42 -0
  28. package/dist/chunk-FNEUOBCV.cjs +174 -0
  29. package/dist/chunk-G7K652GC.js +145 -0
  30. package/dist/chunk-GGW42MY4.js +20 -0
  31. package/dist/chunk-GLGU2WFL.cjs +190 -0
  32. package/dist/chunk-GPVNCJ3Z.cjs +696 -0
  33. package/dist/chunk-GVQOD3VW.js +74 -0
  34. package/dist/chunk-IHOCANCQ.js +293 -0
  35. package/dist/chunk-JDFV4W6N.cjs +700 -0
  36. package/dist/chunk-KOC3KQIT.js +124 -0
  37. package/dist/chunk-KPWZLUES.cjs +124 -0
  38. package/dist/chunk-L7JN6OBQ.cjs +314 -0
  39. package/dist/chunk-MC7SY2QH.cjs +20 -0
  40. package/dist/chunk-MDVSCWJI.js +314 -0
  41. package/dist/chunk-N527BTY4.cjs +366 -0
  42. package/dist/chunk-NYRXUGVL.js +104 -0
  43. package/dist/{chunk-AW63PTQ4.cjs → chunk-OHEHPQLC.cjs} +72 -72
  44. package/dist/chunk-Q3WFY5N3.js +366 -0
  45. package/dist/chunk-QGN2BBJO.cjs +104 -0
  46. package/dist/chunk-RDTKAAHX.js +346 -0
  47. package/dist/chunk-TGZZ3RZU.cjs +86 -0
  48. package/dist/{chunk-2KXQATVL.js → chunk-TZG3DERP.js} +46 -46
  49. package/dist/chunk-URSKA2VR.js +190 -0
  50. package/dist/chunk-V4WDMM6Z.js +86 -0
  51. package/dist/chunk-VJEER76X.js +455 -0
  52. package/dist/chunk-VZBWYWEI.cjs +736 -0
  53. package/dist/chunk-WR7YLDVV.cjs +68 -0
  54. package/dist/chunk-X4HQ4H2V.js +701 -0
  55. package/dist/chunk-XFSW3ZNI.cjs +145 -0
  56. package/dist/chunk-XQFAUDR2.cjs +62 -0
  57. package/dist/chunk-ZH5XVNHG.js +92 -0
  58. package/dist/chunk-ZH6BHLQR.js +431 -0
  59. package/dist/chunk-ZP2E2H2G.cjs +119 -0
  60. package/dist/chunk-ZVWXM3UK.cjs +293 -0
  61. package/dist/close-button.type-BUYuoSt2.d.ts +36 -0
  62. package/dist/close-button.type-CHsgZ3wO.d.cts +36 -0
  63. package/dist/components/alert/index.cjs +20 -0
  64. package/dist/components/alert/index.d.cts +169 -0
  65. package/dist/components/alert/index.d.ts +169 -0
  66. package/dist/components/alert/index.js +20 -0
  67. package/dist/components/button/index.cjs +21 -0
  68. package/dist/components/button/index.d.cts +613 -0
  69. package/dist/components/button/index.d.ts +613 -0
  70. package/dist/components/button/index.js +21 -0
  71. package/dist/components/card/index.cjs +22 -0
  72. package/dist/components/card/index.d.cts +620 -0
  73. package/dist/components/card/index.d.ts +620 -0
  74. package/dist/components/card/index.js +22 -0
  75. package/dist/components/checkbox/index.cjs +26 -0
  76. package/dist/components/checkbox/index.d.cts +1136 -0
  77. package/dist/components/checkbox/index.d.ts +1136 -0
  78. package/dist/components/checkbox/index.js +26 -0
  79. package/dist/components/chip/index.cjs +20 -0
  80. package/dist/components/chip/index.d.cts +608 -0
  81. package/dist/components/chip/index.d.ts +608 -0
  82. package/dist/components/chip/index.js +20 -0
  83. package/dist/components/divider/index.cjs +13 -0
  84. package/dist/components/divider/index.d.cts +117 -0
  85. package/dist/components/divider/index.d.ts +117 -0
  86. package/dist/components/divider/index.js +13 -0
  87. package/dist/components/input/index.cjs +25 -0
  88. package/dist/components/input/index.d.cts +205 -0
  89. package/dist/components/input/index.d.ts +205 -0
  90. package/dist/components/input/index.js +25 -0
  91. package/dist/components/input-group/index.cjs +27 -0
  92. package/dist/components/input-group/index.d.cts +270 -0
  93. package/dist/components/input-group/index.d.ts +270 -0
  94. package/dist/components/input-group/index.js +27 -0
  95. package/dist/components/input-otp/index.cjs +29 -0
  96. package/dist/components/input-otp/index.d.cts +325 -0
  97. package/dist/components/input-otp/index.d.ts +325 -0
  98. package/dist/components/input-otp/index.js +29 -0
  99. package/dist/components/radio/index.cjs +26 -0
  100. package/dist/components/radio/index.d.cts +1102 -0
  101. package/dist/components/radio/index.d.ts +1102 -0
  102. package/dist/components/radio/index.js +26 -0
  103. package/dist/components/spinner/index.cjs +16 -0
  104. package/dist/components/spinner/index.d.cts +104 -0
  105. package/dist/components/spinner/index.d.ts +104 -0
  106. package/dist/components/spinner/index.js +16 -0
  107. package/dist/components/switch/index.cjs +27 -0
  108. package/dist/components/switch/index.d.cts +1154 -0
  109. package/dist/components/switch/index.d.ts +1154 -0
  110. package/dist/components/switch/index.js +27 -0
  111. package/dist/components/text-area/index.cjs +14 -0
  112. package/dist/components/text-area/index.d.cts +73 -0
  113. package/dist/components/text-area/index.d.ts +73 -0
  114. package/dist/components/text-area/index.js +14 -0
  115. package/dist/components/typography/index.cjs +15 -0
  116. package/dist/components/typography/index.d.cts +116 -0
  117. package/dist/components/typography/index.d.ts +116 -0
  118. package/dist/components/typography/index.js +15 -0
  119. package/dist/components/view/index.cjs +17 -0
  120. package/dist/components/view/index.d.cts +152 -0
  121. package/dist/components/view/index.d.ts +152 -0
  122. package/dist/components/view/index.js +17 -0
  123. package/dist/create-recipe-BdVd2ffi.d.ts +114 -0
  124. package/dist/create-recipe-dC7wMfnj.d.cts +114 -0
  125. package/dist/icon.type-Kml72iSz.d.ts +73 -0
  126. package/dist/icon.type-d_i9ma-i.d.cts +73 -0
  127. package/dist/index.cjs +252 -4
  128. package/dist/index.d.cts +110 -4
  129. package/dist/index.d.ts +110 -4
  130. package/dist/index.js +271 -23
  131. package/dist/input.type-BUMDlzL9.d.cts +167 -0
  132. package/dist/input.type-D2qgi03E.d.ts +167 -0
  133. package/dist/pressable-feedback.type-BA2C9sSz.d.cts +127 -0
  134. package/dist/pressable-feedback.type-Bs4dQlGj.d.ts +127 -0
  135. package/dist/style-props.type-CfnoGEP7.d.cts +31 -0
  136. package/dist/style-props.type-CfnoGEP7.d.ts +31 -0
  137. package/dist/system/index.cjs +60 -3
  138. package/dist/system/index.d.cts +347 -181
  139. package/dist/system/index.d.ts +347 -181
  140. package/dist/system/index.js +71 -14
  141. package/dist/theme/index.cjs +4 -3
  142. package/dist/theme/index.d.cts +34 -23
  143. package/dist/theme/index.d.ts +34 -23
  144. package/dist/theme/index.js +3 -2
  145. package/dist/{theme.type-C9bFJKFm.d.cts → theme.type-C2gNHpEx.d.cts} +1 -1
  146. package/dist/{theme.type-C9bFJKFm.d.ts → theme.type-C2gNHpEx.d.ts} +1 -1
  147. package/package.json +184 -18
  148. package/dist/chunk-QAMNNTGM.js +0 -637
  149. package/dist/chunk-V63JO65F.cjs +0 -637
@@ -0,0 +1,1154 @@
1
+ import * as react from 'react';
2
+ import { ReactNode } from 'react';
3
+ import * as react_native from 'react-native';
4
+ import { StyleProp, ViewStyle, TextStyle, TextProps, PressableStateCallbackType, ViewProps, GestureResponderEvent, View, Text } from 'react-native';
5
+ import { T as TextStyleProps, V as ViewStyleProps } from '../../style-props.type-CfnoGEP7.cjs';
6
+ import { a as AnimationProp, P as PressableFeedbackProps } from '../../pressable-feedback.type-BA2C9sSz.cjs';
7
+ import { S as Size, R as RadiusKey } from '../../theme.type-C2gNHpEx.cjs';
8
+ import { R as Recipe, a as StyleFn } from '../../create-recipe-dC7wMfnj.cjs';
9
+ import 'react-native-reanimated';
10
+
11
+ type SwitchSlot = 'root' | 'track' | 'trackSelected' | 'thumb' | 'thumbSelected' | 'label';
12
+ /**
13
+ * The two shapes a switch comes in — the legacy component's `inside` and `overlap`, under
14
+ * the library's own two names.
15
+ *
16
+ * - **`primary`** — the thumb rides **inside** the track, clear of its edges by the
17
+ * track's padding. The shape everything else in this library shares: a filled surface
18
+ * with something on it.
19
+ * - **`secondary`** — the track is a thin bar and the thumb **overlaps** it, standing
20
+ * above and below. Less ink, and the knob reads as the thing you drag.
21
+ *
22
+ * It is a **geometry** axis, unusually: both take the same colours, because a switch that
23
+ * is on is the accent either way. What changes is the track's height, the thumb's size and
24
+ * whether the track's padding holds it in.
25
+ */
26
+ type SwitchVariant = 'primary' | 'secondary';
27
+ /**
28
+ * Three of the four, the same three as the `Checkbox` and the `Radio` — `xs` is the one
29
+ * missing. That track was 40 by 24 with an 18pt knob, and a switch is aimed at rather than
30
+ * read: unlike those two it has no row to press, the track *is* the target. Below `sm` it
31
+ * stops being comfortably hittable, and shrinking the one control whose whole surface is
32
+ * the touch target buys width nobody asked for.
33
+ */
34
+ type SwitchSize = Exclude<Size, 'xs'>;
35
+ type SwitchOwnProps = {
36
+ variant?: SwitchVariant;
37
+ /** The track, the thumb, the gap and the label's type. */
38
+ size?: SwitchSize;
39
+ /** Overrides the track's corner, which is `full`. The thumb stays round. */
40
+ radius?: RadiusKey;
41
+ /**
42
+ * A raw tint (`'#7c3aed'`), never a token (R7): the colour the track takes once the
43
+ * switch is on, with a thumb derived to read against it. The track at rest keeps the
44
+ * neutral it had — a switch that is off is off in every brand.
45
+ */
46
+ color?: string;
47
+ /** Controlled. Leave it out and the switch keeps its own state. */
48
+ isSelected?: boolean;
49
+ /** The starting value when uncontrolled. @default false */
50
+ defaultSelected?: boolean;
51
+ /** Fired with the new value on every flip, controlled or not. */
52
+ onSelectedChange?: (isSelected: boolean) => void;
53
+ /** Dims the row and stops the press. */
54
+ isDisabled?: boolean;
55
+ animation?: AnimationProp;
56
+ /** R9 — `Pressable`'s function form as much as an object or an array. */
57
+ style?: StyleProp<ViewStyle> | ((state: PressableStateCallbackType) => StyleProp<ViewStyle>);
58
+ children?: ReactNode;
59
+ };
60
+ /**
61
+ * The press behaviour the root forwards — `PressableFeedback`'s surface, minus the props
62
+ * this component owns itself. `asChild` (R12) is in there, and so is `animation`.
63
+ */
64
+ type SwitchBehaviourProps = Omit<PressableFeedbackProps, 'isPressed' | 'isDisabled' | 'style' | 'children' | 'animation'>;
65
+ /**
66
+ * R14 — the switch's own props, the pressable's, and every `ViewStyle` key neither claims.
67
+ *
68
+ * **There is no `isInvalid`**, where the `Checkbox` and the `Radio` have one: a switch
69
+ * applies its change the moment it is flipped, so there is no later moment at which it can
70
+ * be wrong. A setting that cannot be turned on is `isDisabled`, with the reason written
71
+ * beside it.
72
+ */
73
+ type SwitchProps = SwitchOwnProps & SwitchBehaviourProps & Omit<ViewStyleProps, keyof SwitchOwnProps>;
74
+ type SwitchTrackOwnProps = {
75
+ /** The thumb, and anything else the caller lays over the track. */
76
+ children?: ReactNode;
77
+ /** `false` swaps the colour at the flip instead of crossing to it. */
78
+ animation?: boolean;
79
+ style?: StyleProp<ViewStyle>;
80
+ };
81
+ /** `View`'s own props win over the `ViewStyle` keys of the same name (R14). */
82
+ type SwitchTrackProps = SwitchTrackOwnProps & Omit<ViewProps, keyof SwitchTrackOwnProps> & Omit<ViewStyleProps, keyof SwitchTrackOwnProps | keyof ViewProps>;
83
+ type SwitchThumbOwnProps = {
84
+ /** A glyph on the knob — a check, a moon. It travels with it. */
85
+ children?: ReactNode;
86
+ /** `false` puts the thumb at its end of the track with no slide. */
87
+ animation?: boolean;
88
+ style?: StyleProp<ViewStyle>;
89
+ };
90
+ type SwitchThumbProps = SwitchThumbOwnProps & Omit<ViewProps, keyof SwitchThumbOwnProps> & Omit<ViewStyleProps, keyof SwitchThumbOwnProps | keyof ViewProps>;
91
+ /** `Text`'s own props win over the `TextStyle` keys of the same name (R14). */
92
+ type SwitchLabelProps = TextProps & Omit<TextStyleProps, keyof TextProps> & {
93
+ children?: ReactNode;
94
+ };
95
+ /**
96
+ * R5 — resolved styles, plus the four things a slot cannot resolve for itself.
97
+ *
98
+ * The two colour pairs and the travel are **values, not styles**: a colour that is crossed
99
+ * and a distance that is slid are interpolated on the UI thread, and a worklet needs
100
+ * numbers and strings rather than a style object it would have to flatten every frame.
101
+ */
102
+ type SwitchContextValue = {
103
+ trackStyle: StyleProp<ViewStyle>;
104
+ thumbStyle: StyleProp<ViewStyle>;
105
+ labelStyle: StyleProp<TextStyle>;
106
+ /** The track's colour off and on. The tint moves the second one. */
107
+ track: {
108
+ off: string;
109
+ on: string;
110
+ };
111
+ /** The thumb's colour off and on. */
112
+ thumb: {
113
+ off: string;
114
+ on: string;
115
+ };
116
+ /** How far the thumb travels, in points, from its resting inset to the far end. */
117
+ travel: number;
118
+ isSelected: boolean;
119
+ isDisabled: boolean;
120
+ };
121
+
122
+ /**
123
+ * A setting that is on or off, and takes effect the moment it is flipped.
124
+ *
125
+ * ```tsx
126
+ * <Switch isSelected={isOn} onSelectedChange={setIsOn}>
127
+ * Mode sombre
128
+ * </Switch>
129
+ *
130
+ * <Switch variant="secondary" size="lg" defaultSelected>
131
+ * <Switch.Track>
132
+ * <Switch.Thumb />
133
+ * </Switch.Track>
134
+ * <Switch.Label>Synchroniser en Wi-Fi seulement</Switch.Label>
135
+ * </Switch>
136
+ * ```
137
+ *
138
+ * **The root is the row, not the track** — the `Checkbox`'s shape, for its reason: tapping
139
+ * the label flips the switch, and the label is a slot rather than a `Text` you wire up
140
+ * beside the component.
141
+ *
142
+ * **A switch is not a checkbox.** It applies its change immediately, where a checkbox
143
+ * states an intention a form submits later — which is why there is no `isInvalid` here: a
144
+ * setting that has already taken effect has no later moment at which it can be wrong.
145
+ *
146
+ * The two variants are a **shape**: `primary` rides the thumb inside the track,
147
+ * `secondary` stands it over a thinner bar. Both are the accent when they are on.
148
+ */
149
+ declare const SwitchRoot: react.ForwardRefExoticComponent<{
150
+ variant?: SwitchVariant;
151
+ size?: SwitchSize;
152
+ radius?: RadiusKey;
153
+ color?: string;
154
+ isSelected?: boolean;
155
+ defaultSelected?: boolean;
156
+ onSelectedChange?: (isSelected: boolean) => void;
157
+ isDisabled?: boolean;
158
+ animation?: AnimationProp;
159
+ style?: react_native.StyleProp<ViewStyle> | ((state: react_native.PressableStateCallbackType) => react_native.StyleProp<ViewStyle>);
160
+ children?: react.ReactNode;
161
+ } & {
162
+ hitSlop?: number | react_native.Insets | null | undefined;
163
+ id?: string | undefined | undefined;
164
+ needsOffscreenAlphaCompositing?: boolean | undefined | undefined;
165
+ onLayout?: ((event: react_native.LayoutChangeEvent) => void) | undefined | undefined;
166
+ pointerEvents?: "box-none" | "none" | "box-only" | "auto" | undefined | undefined;
167
+ removeClippedSubviews?: boolean | undefined | undefined;
168
+ testID?: string | undefined | undefined;
169
+ nativeID?: string | undefined | undefined;
170
+ collapsable?: boolean | undefined | undefined;
171
+ collapsableChildren?: boolean | undefined | undefined;
172
+ onBlur?: null | ((event: react_native.NativeSyntheticEvent<react_native.TargetedEvent>) => void) | undefined | undefined;
173
+ onFocus?: null | ((event: react_native.NativeSyntheticEvent<react_native.TargetedEvent>) => void) | undefined | undefined;
174
+ renderToHardwareTextureAndroid?: boolean | undefined | undefined;
175
+ focusable?: boolean | undefined | undefined;
176
+ tabIndex?: 0 | -1 | undefined | undefined;
177
+ shouldRasterizeIOS?: boolean | undefined | undefined;
178
+ isTVSelectable?: boolean | undefined | undefined;
179
+ hasTVPreferredFocus?: boolean | undefined | undefined;
180
+ tvParallaxShiftDistanceX?: number | undefined | undefined;
181
+ tvParallaxShiftDistanceY?: number | undefined | undefined;
182
+ tvParallaxTiltAngle?: number | undefined | undefined;
183
+ tvParallaxMagnification?: number | undefined | undefined;
184
+ onStartShouldSetResponder?: ((event: GestureResponderEvent) => boolean) | undefined | undefined;
185
+ onMoveShouldSetResponder?: ((event: GestureResponderEvent) => boolean) | undefined | undefined;
186
+ onResponderEnd?: ((event: GestureResponderEvent) => void) | undefined | undefined;
187
+ onResponderGrant?: ((event: GestureResponderEvent) => void) | undefined | undefined;
188
+ onResponderReject?: ((event: GestureResponderEvent) => void) | undefined | undefined;
189
+ onResponderMove?: ((event: GestureResponderEvent) => void) | undefined | undefined;
190
+ onResponderRelease?: ((event: GestureResponderEvent) => void) | undefined | undefined;
191
+ onResponderStart?: ((event: GestureResponderEvent) => void) | undefined | undefined;
192
+ onResponderTerminationRequest?: ((event: GestureResponderEvent) => boolean) | undefined | undefined;
193
+ onResponderTerminate?: ((event: GestureResponderEvent) => void) | undefined | undefined;
194
+ onStartShouldSetResponderCapture?: ((event: GestureResponderEvent) => boolean) | undefined | undefined;
195
+ onMoveShouldSetResponderCapture?: ((event: GestureResponderEvent) => boolean) | undefined | undefined;
196
+ onTouchStart?: ((event: GestureResponderEvent) => void) | undefined | undefined;
197
+ onTouchMove?: ((event: GestureResponderEvent) => void) | undefined | undefined;
198
+ onTouchEnd?: ((event: GestureResponderEvent) => void) | undefined | undefined;
199
+ onTouchCancel?: ((event: GestureResponderEvent) => void) | undefined | undefined;
200
+ onTouchEndCapture?: ((event: GestureResponderEvent) => void) | undefined | undefined;
201
+ onPointerEnter?: ((event: react_native.PointerEvent) => void) | undefined | undefined;
202
+ onPointerEnterCapture?: ((event: react_native.PointerEvent) => void) | undefined | undefined;
203
+ onPointerLeave?: ((event: react_native.PointerEvent) => void) | undefined | undefined;
204
+ onPointerLeaveCapture?: ((event: react_native.PointerEvent) => void) | undefined | undefined;
205
+ onPointerMove?: ((event: react_native.PointerEvent) => void) | undefined | undefined;
206
+ onPointerMoveCapture?: ((event: react_native.PointerEvent) => void) | undefined | undefined;
207
+ onPointerCancel?: ((event: react_native.PointerEvent) => void) | undefined | undefined;
208
+ onPointerCancelCapture?: ((event: react_native.PointerEvent) => void) | undefined | undefined;
209
+ onPointerDown?: ((event: react_native.PointerEvent) => void) | undefined | undefined;
210
+ onPointerDownCapture?: ((event: react_native.PointerEvent) => void) | undefined | undefined;
211
+ onPointerUp?: ((event: react_native.PointerEvent) => void) | undefined | undefined;
212
+ onPointerUpCapture?: ((event: react_native.PointerEvent) => void) | undefined | undefined;
213
+ accessible?: boolean | undefined | undefined;
214
+ accessibilityActions?: readonly Readonly<{
215
+ name: react_native.AccessibilityActionName | string;
216
+ label?: string | undefined;
217
+ }>[] | undefined;
218
+ accessibilityLabel?: string | undefined | undefined;
219
+ 'aria-label'?: string | undefined | undefined;
220
+ accessibilityRole?: react_native.AccessibilityRole | undefined;
221
+ accessibilityState?: react_native.AccessibilityState | undefined;
222
+ 'aria-busy'?: boolean | undefined | undefined;
223
+ 'aria-checked'?: boolean | "mixed" | undefined | undefined;
224
+ 'aria-disabled'?: boolean | undefined | undefined;
225
+ 'aria-expanded'?: boolean | undefined | undefined;
226
+ 'aria-selected'?: boolean | undefined | undefined;
227
+ accessibilityHint?: string | undefined | undefined;
228
+ accessibilityValue?: react_native.AccessibilityValue | undefined;
229
+ 'aria-valuemax'?: number | undefined;
230
+ 'aria-valuemin'?: number | undefined;
231
+ 'aria-valuenow'?: number | undefined;
232
+ 'aria-valuetext'?: string | undefined;
233
+ onAccessibilityAction?: ((event: react_native.AccessibilityActionEvent) => void) | undefined | undefined;
234
+ importantForAccessibility?: ("auto" | "yes" | "no" | "no-hide-descendants") | undefined | undefined;
235
+ 'aria-hidden'?: boolean | undefined | undefined;
236
+ 'aria-modal'?: boolean | undefined | undefined;
237
+ role?: react_native.Role | undefined;
238
+ accessibilityLabelledBy?: string | string[] | undefined | undefined;
239
+ 'aria-labelledby'?: string | undefined | undefined;
240
+ accessibilityLiveRegion?: "none" | "polite" | "assertive" | undefined | undefined;
241
+ 'aria-live'?: ("polite" | "assertive" | "off") | undefined | undefined;
242
+ screenReaderFocusable?: boolean | undefined | undefined;
243
+ accessibilityElementsHidden?: boolean | undefined | undefined;
244
+ accessibilityViewIsModal?: boolean | undefined | undefined;
245
+ onAccessibilityEscape?: (() => void) | undefined | undefined;
246
+ onAccessibilityTap?: (() => void) | undefined | undefined;
247
+ onMagicTap?: (() => void) | undefined | undefined;
248
+ accessibilityIgnoresInvertColors?: boolean | undefined | undefined;
249
+ accessibilityLanguage?: string | undefined | undefined;
250
+ accessibilityShowsLargeContentViewer?: boolean | undefined | undefined;
251
+ accessibilityLargeContentTitle?: string | undefined | undefined;
252
+ accessibilityRespondsToUserInteraction?: boolean | undefined | undefined;
253
+ backfaceVisibility?: "visible" | "hidden" | undefined | undefined;
254
+ backgroundColor?: react_native.ColorValue | undefined;
255
+ borderBlockColor?: react_native.ColorValue | undefined;
256
+ borderBlockEndColor?: react_native.ColorValue | undefined;
257
+ borderBlockStartColor?: react_native.ColorValue | undefined;
258
+ borderBottomColor?: react_native.ColorValue | undefined;
259
+ borderBottomEndRadius?: string | react_native.AnimatableNumericValue | undefined;
260
+ borderBottomStartRadius?: string | react_native.AnimatableNumericValue | undefined;
261
+ borderColor?: react_native.ColorValue | undefined;
262
+ borderCurve?: "circular" | "continuous" | undefined | undefined;
263
+ borderEndColor?: react_native.ColorValue | undefined;
264
+ borderEndEndRadius?: string | react_native.AnimatableNumericValue | undefined;
265
+ borderEndStartRadius?: string | react_native.AnimatableNumericValue | undefined;
266
+ borderRadius?: string | react_native.AnimatableNumericValue | undefined;
267
+ borderStartColor?: react_native.ColorValue | undefined;
268
+ borderStartEndRadius?: string | react_native.AnimatableNumericValue | undefined;
269
+ borderStartStartRadius?: string | react_native.AnimatableNumericValue | undefined;
270
+ borderStyle?: "solid" | "dotted" | "dashed" | undefined | undefined;
271
+ borderTopColor?: react_native.ColorValue | undefined;
272
+ borderTopEndRadius?: string | react_native.AnimatableNumericValue | undefined;
273
+ borderTopStartRadius?: string | react_native.AnimatableNumericValue | undefined;
274
+ outlineColor?: react_native.ColorValue | undefined;
275
+ outlineOffset?: react_native.AnimatableNumericValue | undefined;
276
+ outlineStyle?: "solid" | "dotted" | "dashed" | undefined | undefined;
277
+ outlineWidth?: react_native.AnimatableNumericValue | undefined;
278
+ opacity?: react_native.AnimatableNumericValue | undefined;
279
+ elevation?: number | undefined | undefined;
280
+ isolation?: "auto" | "isolate" | undefined | undefined;
281
+ cursor?: react_native.CursorValue | undefined;
282
+ boxShadow?: string | readonly react_native.BoxShadowValue[] | undefined;
283
+ filter?: string | readonly react_native.FilterFunction[] | undefined;
284
+ mixBlendMode?: react_native.BlendMode | undefined;
285
+ experimental_backgroundImage?: string | readonly react_native.GradientValue[] | undefined;
286
+ alignContent?: "flex-start" | "flex-end" | "center" | "stretch" | "space-between" | "space-around" | "space-evenly" | undefined | undefined;
287
+ alignItems?: react_native.FlexAlignType | undefined;
288
+ alignSelf?: "auto" | react_native.FlexAlignType | undefined;
289
+ aspectRatio?: number | string | undefined | undefined;
290
+ borderBottomWidth?: number | undefined | undefined;
291
+ borderEndWidth?: number | undefined | undefined;
292
+ borderStartWidth?: number | undefined | undefined;
293
+ borderTopWidth?: number | undefined | undefined;
294
+ borderWidth?: number | undefined | undefined;
295
+ bottom?: react_native.DimensionValue | undefined;
296
+ boxSizing?: "border-box" | "content-box" | undefined | undefined;
297
+ display?: "none" | "flex" | "contents" | undefined | undefined;
298
+ end?: react_native.DimensionValue | undefined;
299
+ flex?: number | undefined | undefined;
300
+ flexBasis?: react_native.DimensionValue | undefined;
301
+ flexDirection?: "row" | "column" | "row-reverse" | "column-reverse" | undefined | undefined;
302
+ rowGap?: number | string | undefined | undefined;
303
+ gap?: number | string | undefined | undefined;
304
+ columnGap?: number | string | undefined | undefined;
305
+ flexGrow?: number | undefined | undefined;
306
+ flexShrink?: number | undefined | undefined;
307
+ flexWrap?: "wrap" | "nowrap" | "wrap-reverse" | undefined | undefined;
308
+ height?: react_native.DimensionValue | undefined;
309
+ justifyContent?: "flex-start" | "flex-end" | "center" | "space-between" | "space-around" | "space-evenly" | undefined | undefined;
310
+ margin?: react_native.DimensionValue | undefined;
311
+ marginBottom?: react_native.DimensionValue | undefined;
312
+ marginEnd?: react_native.DimensionValue | undefined;
313
+ marginHorizontal?: react_native.DimensionValue | undefined;
314
+ marginStart?: react_native.DimensionValue | undefined;
315
+ marginTop?: react_native.DimensionValue | undefined;
316
+ marginVertical?: react_native.DimensionValue | undefined;
317
+ maxHeight?: react_native.DimensionValue | undefined;
318
+ maxWidth?: react_native.DimensionValue | undefined;
319
+ minHeight?: react_native.DimensionValue | undefined;
320
+ minWidth?: react_native.DimensionValue | undefined;
321
+ overflow?: "visible" | "hidden" | "scroll" | undefined | undefined;
322
+ padding?: react_native.DimensionValue | undefined;
323
+ paddingBottom?: react_native.DimensionValue | undefined;
324
+ paddingEnd?: react_native.DimensionValue | undefined;
325
+ paddingHorizontal?: react_native.DimensionValue | undefined;
326
+ paddingStart?: react_native.DimensionValue | undefined;
327
+ paddingTop?: react_native.DimensionValue | undefined;
328
+ paddingVertical?: react_native.DimensionValue | undefined;
329
+ position?: "absolute" | "relative" | "static" | undefined | undefined;
330
+ start?: react_native.DimensionValue | undefined;
331
+ top?: react_native.DimensionValue | undefined;
332
+ width?: react_native.DimensionValue | undefined;
333
+ zIndex?: number | undefined | undefined;
334
+ direction?: "inherit" | "ltr" | "rtl" | undefined | undefined;
335
+ inset?: react_native.DimensionValue | undefined;
336
+ insetBlock?: react_native.DimensionValue | undefined;
337
+ insetBlockEnd?: react_native.DimensionValue | undefined;
338
+ insetBlockStart?: react_native.DimensionValue | undefined;
339
+ insetInline?: react_native.DimensionValue | undefined;
340
+ insetInlineEnd?: react_native.DimensionValue | undefined;
341
+ insetInlineStart?: react_native.DimensionValue | undefined;
342
+ marginBlock?: react_native.DimensionValue | undefined;
343
+ marginBlockEnd?: react_native.DimensionValue | undefined;
344
+ marginBlockStart?: react_native.DimensionValue | undefined;
345
+ marginInline?: react_native.DimensionValue | undefined;
346
+ marginInlineEnd?: react_native.DimensionValue | undefined;
347
+ marginInlineStart?: react_native.DimensionValue | undefined;
348
+ paddingBlock?: react_native.DimensionValue | undefined;
349
+ paddingBlockEnd?: react_native.DimensionValue | undefined;
350
+ paddingBlockStart?: react_native.DimensionValue | undefined;
351
+ paddingInline?: react_native.DimensionValue | undefined;
352
+ paddingInlineEnd?: react_native.DimensionValue | undefined;
353
+ paddingInlineStart?: react_native.DimensionValue | undefined;
354
+ shadowColor?: react_native.ColorValue | undefined;
355
+ shadowOffset?: Readonly<{
356
+ width: number;
357
+ height: number;
358
+ }> | undefined;
359
+ shadowOpacity?: react_native.AnimatableNumericValue | undefined;
360
+ shadowRadius?: number | undefined | undefined;
361
+ transform?: string | readonly (({
362
+ scaleX: react_native.AnimatableNumericValue;
363
+ } & {
364
+ scaleY?: undefined;
365
+ translateX?: undefined;
366
+ translateY?: undefined;
367
+ scale?: undefined;
368
+ perspective?: undefined;
369
+ rotate?: undefined;
370
+ rotateX?: undefined;
371
+ rotateY?: undefined;
372
+ rotateZ?: undefined;
373
+ skewX?: undefined;
374
+ skewY?: undefined;
375
+ matrix?: undefined;
376
+ }) | ({
377
+ scaleY: react_native.AnimatableNumericValue;
378
+ } & {
379
+ scaleX?: undefined;
380
+ translateX?: undefined;
381
+ translateY?: undefined;
382
+ scale?: undefined;
383
+ perspective?: undefined;
384
+ rotate?: undefined;
385
+ rotateX?: undefined;
386
+ rotateY?: undefined;
387
+ rotateZ?: undefined;
388
+ skewX?: undefined;
389
+ skewY?: undefined;
390
+ matrix?: undefined;
391
+ }) | ({
392
+ translateX: react_native.AnimatableNumericValue | `${number}%`;
393
+ } & {
394
+ scaleX?: undefined;
395
+ scaleY?: undefined;
396
+ translateY?: undefined;
397
+ scale?: undefined;
398
+ perspective?: undefined;
399
+ rotate?: undefined;
400
+ rotateX?: undefined;
401
+ rotateY?: undefined;
402
+ rotateZ?: undefined;
403
+ skewX?: undefined;
404
+ skewY?: undefined;
405
+ matrix?: undefined;
406
+ }) | ({
407
+ translateY: react_native.AnimatableNumericValue | `${number}%`;
408
+ } & {
409
+ scaleX?: undefined;
410
+ scaleY?: undefined;
411
+ translateX?: undefined;
412
+ scale?: undefined;
413
+ perspective?: undefined;
414
+ rotate?: undefined;
415
+ rotateX?: undefined;
416
+ rotateY?: undefined;
417
+ rotateZ?: undefined;
418
+ skewX?: undefined;
419
+ skewY?: undefined;
420
+ matrix?: undefined;
421
+ }) | ({
422
+ scale: react_native.AnimatableNumericValue;
423
+ } & {
424
+ scaleX?: undefined;
425
+ scaleY?: undefined;
426
+ translateX?: undefined;
427
+ translateY?: undefined;
428
+ perspective?: undefined;
429
+ rotate?: undefined;
430
+ rotateX?: undefined;
431
+ rotateY?: undefined;
432
+ rotateZ?: undefined;
433
+ skewX?: undefined;
434
+ skewY?: undefined;
435
+ matrix?: undefined;
436
+ }) | ({
437
+ perspective: react_native.AnimatableNumericValue;
438
+ } & {
439
+ scaleX?: undefined;
440
+ scaleY?: undefined;
441
+ translateX?: undefined;
442
+ translateY?: undefined;
443
+ scale?: undefined;
444
+ rotate?: undefined;
445
+ rotateX?: undefined;
446
+ rotateY?: undefined;
447
+ rotateZ?: undefined;
448
+ skewX?: undefined;
449
+ skewY?: undefined;
450
+ matrix?: undefined;
451
+ }) | ({
452
+ rotate: react_native.AnimatableStringValue;
453
+ } & {
454
+ scaleX?: undefined;
455
+ scaleY?: undefined;
456
+ translateX?: undefined;
457
+ translateY?: undefined;
458
+ scale?: undefined;
459
+ perspective?: undefined;
460
+ rotateX?: undefined;
461
+ rotateY?: undefined;
462
+ rotateZ?: undefined;
463
+ skewX?: undefined;
464
+ skewY?: undefined;
465
+ matrix?: undefined;
466
+ }) | ({
467
+ rotateX: react_native.AnimatableStringValue;
468
+ } & {
469
+ scaleX?: undefined;
470
+ scaleY?: undefined;
471
+ translateX?: undefined;
472
+ translateY?: undefined;
473
+ scale?: undefined;
474
+ perspective?: undefined;
475
+ rotate?: undefined;
476
+ rotateY?: undefined;
477
+ rotateZ?: undefined;
478
+ skewX?: undefined;
479
+ skewY?: undefined;
480
+ matrix?: undefined;
481
+ }) | ({
482
+ rotateY: react_native.AnimatableStringValue;
483
+ } & {
484
+ scaleX?: undefined;
485
+ scaleY?: undefined;
486
+ translateX?: undefined;
487
+ translateY?: undefined;
488
+ scale?: undefined;
489
+ perspective?: undefined;
490
+ rotate?: undefined;
491
+ rotateX?: undefined;
492
+ rotateZ?: undefined;
493
+ skewX?: undefined;
494
+ skewY?: undefined;
495
+ matrix?: undefined;
496
+ }) | ({
497
+ rotateZ: react_native.AnimatableStringValue;
498
+ } & {
499
+ scaleX?: undefined;
500
+ scaleY?: undefined;
501
+ translateX?: undefined;
502
+ translateY?: undefined;
503
+ scale?: undefined;
504
+ perspective?: undefined;
505
+ rotate?: undefined;
506
+ rotateX?: undefined;
507
+ rotateY?: undefined;
508
+ skewX?: undefined;
509
+ skewY?: undefined;
510
+ matrix?: undefined;
511
+ }) | ({
512
+ skewX: react_native.AnimatableStringValue;
513
+ } & {
514
+ scaleX?: undefined;
515
+ scaleY?: undefined;
516
+ translateX?: undefined;
517
+ translateY?: undefined;
518
+ scale?: undefined;
519
+ perspective?: undefined;
520
+ rotate?: undefined;
521
+ rotateX?: undefined;
522
+ rotateY?: undefined;
523
+ rotateZ?: undefined;
524
+ skewY?: undefined;
525
+ matrix?: undefined;
526
+ }) | ({
527
+ skewY: react_native.AnimatableStringValue;
528
+ } & {
529
+ scaleX?: undefined;
530
+ scaleY?: undefined;
531
+ translateX?: undefined;
532
+ translateY?: undefined;
533
+ scale?: undefined;
534
+ perspective?: undefined;
535
+ rotate?: undefined;
536
+ rotateX?: undefined;
537
+ rotateY?: undefined;
538
+ rotateZ?: undefined;
539
+ skewX?: undefined;
540
+ matrix?: undefined;
541
+ }) | ({
542
+ matrix: react_native.AnimatableNumericValue[];
543
+ } & {
544
+ scaleX?: undefined;
545
+ scaleY?: undefined;
546
+ translateX?: undefined;
547
+ translateY?: undefined;
548
+ scale?: undefined;
549
+ perspective?: undefined;
550
+ rotate?: undefined;
551
+ rotateX?: undefined;
552
+ rotateY?: undefined;
553
+ rotateZ?: undefined;
554
+ skewX?: undefined;
555
+ skewY?: undefined;
556
+ }))[] | undefined;
557
+ transformOrigin?: string | (string | number)[] | undefined;
558
+ transformMatrix?: number[] | undefined;
559
+ rotation?: react_native.AnimatableNumericValue | undefined;
560
+ scaleX?: react_native.AnimatableNumericValue | undefined;
561
+ scaleY?: react_native.AnimatableNumericValue | undefined;
562
+ translateX?: react_native.AnimatableNumericValue | undefined;
563
+ translateY?: react_native.AnimatableNumericValue | undefined;
564
+ asChild?: boolean | undefined;
565
+ onPress?: null | ((event: GestureResponderEvent) => void) | undefined | undefined;
566
+ onPressIn?: null | ((event: GestureResponderEvent) => void) | undefined | undefined;
567
+ onPressOut?: null | ((event: GestureResponderEvent) => void) | undefined | undefined;
568
+ onLongPress?: null | ((event: GestureResponderEvent) => void) | undefined | undefined;
569
+ pressRetentionOffset?: number | react_native.Insets | null | undefined;
570
+ onHoverIn?: null | ((event: react_native.MouseEvent) => void) | undefined | undefined;
571
+ onHoverOut?: null | ((event: react_native.MouseEvent) => void) | undefined | undefined;
572
+ cancelable?: null | boolean | undefined | undefined;
573
+ delayHoverIn?: number | null | undefined | undefined;
574
+ delayHoverOut?: number | null | undefined | undefined;
575
+ delayLongPress?: null | number | undefined | undefined;
576
+ android_disableSound?: null | boolean | undefined | undefined;
577
+ android_ripple?: react_native.PressableAndroidRippleConfig | null | undefined;
578
+ testOnly_pressed?: null | boolean | undefined | undefined;
579
+ unstable_pressDelay?: number | undefined | undefined;
580
+ } & Omit<ViewStyleProps, keyof {
581
+ variant?: SwitchVariant;
582
+ size?: SwitchSize;
583
+ radius?: RadiusKey;
584
+ color?: string;
585
+ isSelected?: boolean;
586
+ defaultSelected?: boolean;
587
+ onSelectedChange?: (isSelected: boolean) => void;
588
+ isDisabled?: boolean;
589
+ animation?: AnimationProp;
590
+ style?: react_native.StyleProp<ViewStyle> | ((state: react_native.PressableStateCallbackType) => react_native.StyleProp<ViewStyle>);
591
+ children?: react.ReactNode;
592
+ }> & react.RefAttributes<View>>;
593
+
594
+ /**
595
+ * What the setting is.
596
+ *
597
+ * It sits **inside** the pressable, so tapping the words flips the switch — the reason
598
+ * this is a slot rather than a `Text` beside the component.
599
+ *
600
+ * It does not change with the state: "Mode sombre" is the setting whether it is on or off,
601
+ * and a label that read "Activé" would be saying what the track already says.
602
+ */
603
+ declare const SwitchLabel: react.ForwardRefExoticComponent<react_native.TextProps & Omit<TextStyleProps, keyof react_native.TextProps> & {
604
+ children?: react.ReactNode;
605
+ } & react.RefAttributes<Text>>;
606
+
607
+ /**
608
+ * The knob. It slides from one end of the track to the other, and it is the only thing on
609
+ * this component that moves.
610
+ *
611
+ * ```tsx
612
+ * <Switch.Thumb>
613
+ * <Icon as={CheckIcon} size={12} color={theme.colors.accent} />
614
+ * </Switch.Thumb>
615
+ * ```
616
+ *
617
+ * The travel is a **number** the root computed — the track's width less the knob and its
618
+ * padding at both ends — because a slide happens in a worklet and a worklet needs a
619
+ * number, not a style to flatten every frame. Its colour is crossed on the same timing, so
620
+ * the knob and the track arrive together.
621
+ *
622
+ * **`translateX`, not `start`.** R13 bans a directional edge in a style, and a transform
623
+ * is not one — but a transform does not mirror under RTL either, so the sign is flipped
624
+ * here by hand. It is the one place in the library that reads `I18nManager`, and it reads
625
+ * it for a movement rather than for a layout.
626
+ */
627
+ declare const SwitchThumb: react.ForwardRefExoticComponent<{
628
+ children?: ReactNode;
629
+ animation?: boolean;
630
+ style?: StyleProp<ViewStyle>;
631
+ } & Omit<react_native.ViewProps, keyof {
632
+ children?: ReactNode;
633
+ animation?: boolean;
634
+ style?: StyleProp<ViewStyle>;
635
+ }> & Omit<ViewStyleProps, "style" | "children" | "hitSlop" | "id" | "needsOffscreenAlphaCompositing" | "onLayout" | "pointerEvents" | "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" | "animation"> & react.RefAttributes<View>>;
636
+
637
+ /**
638
+ * The bar the knob slides on, and the surface that says on or off.
639
+ *
640
+ * ```tsx
641
+ * <Switch.Track>
642
+ * <Switch.Thumb />
643
+ * </Switch.Track>
644
+ * ```
645
+ *
646
+ * Its colour is **crossed rather than swapped**: the two ends are values on the context
647
+ * and `interpolateColor` walks between them on the UI thread, which is what makes a flip
648
+ * read as one movement together with the knob rather than as a repaint under it.
649
+ *
650
+ * It never clips. On `secondary` the thumb stands outside the track, and `overflow:
651
+ * hidden` would cut the knob in half rather than let it overlap.
652
+ */
653
+ declare const SwitchTrack: react.ForwardRefExoticComponent<{
654
+ children?: ReactNode;
655
+ animation?: boolean;
656
+ style?: StyleProp<ViewStyle>;
657
+ } & Omit<react_native.ViewProps, keyof {
658
+ children?: ReactNode;
659
+ animation?: boolean;
660
+ style?: StyleProp<ViewStyle>;
661
+ }> & Omit<ViewStyleProps, "style" | "children" | "hitSlop" | "id" | "needsOffscreenAlphaCompositing" | "onLayout" | "pointerEvents" | "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" | "animation"> & react.RefAttributes<View>>;
662
+
663
+ declare const useSwitch: () => SwitchContextValue;
664
+
665
+ declare const switchRecipe: Recipe<"label" | "track" | "root" | "thumb" | "trackSelected" | "thumbSelected", SwitchVariant, {
666
+ /**
667
+ * Declared and empty, which is unusual and deliberate: **every** number of this
668
+ * component depends on the shape as well as the size, so the whole table lives in the
669
+ * compounds below. The axis is here because the selection needs it to be typed, and
670
+ * because a reader looking for "what does `size` do" should find the answer next to
671
+ * the other axes rather than infer it from an absence.
672
+ */
673
+ readonly size: {
674
+ readonly sm: () => {};
675
+ readonly md: () => {};
676
+ readonly lg: () => {};
677
+ };
678
+ /**
679
+ * Both, always together: a track that lost its capsule while the knob kept its circle
680
+ * is a control rounded by halves. The knob's corner is the same named value rather
681
+ * than the track's less the padding — that nesting rule reaches zero before the outer
682
+ * radius does, and a sharp knob inside a slightly rounded track looks like a mistake.
683
+ */
684
+ readonly radius: Record<RadiusKey, StyleFn<SwitchSlot>>;
685
+ }>;
686
+
687
+ declare const Switch: react.ForwardRefExoticComponent<{
688
+ variant?: SwitchVariant;
689
+ size?: SwitchSize;
690
+ radius?: RadiusKey;
691
+ color?: string;
692
+ isSelected?: boolean;
693
+ defaultSelected?: boolean;
694
+ onSelectedChange?: (isSelected: boolean) => void;
695
+ isDisabled?: boolean;
696
+ animation?: AnimationProp;
697
+ style?: react_native.StyleProp<react_native.ViewStyle> | ((state: react_native.PressableStateCallbackType) => react_native.StyleProp<react_native.ViewStyle>);
698
+ children?: react.ReactNode;
699
+ } & {
700
+ hitSlop?: number | react_native.Insets | null | undefined;
701
+ id?: string | undefined | undefined;
702
+ needsOffscreenAlphaCompositing?: boolean | undefined | undefined;
703
+ onLayout?: ((event: react_native.LayoutChangeEvent) => void) | undefined | undefined;
704
+ pointerEvents?: "box-none" | "none" | "box-only" | "auto" | undefined | undefined;
705
+ removeClippedSubviews?: boolean | undefined | undefined;
706
+ testID?: string | undefined | undefined;
707
+ nativeID?: string | undefined | undefined;
708
+ collapsable?: boolean | undefined | undefined;
709
+ collapsableChildren?: boolean | undefined | undefined;
710
+ onBlur?: null | ((event: react_native.NativeSyntheticEvent<react_native.TargetedEvent>) => void) | undefined | undefined;
711
+ onFocus?: null | ((event: react_native.NativeSyntheticEvent<react_native.TargetedEvent>) => void) | undefined | undefined;
712
+ renderToHardwareTextureAndroid?: boolean | undefined | undefined;
713
+ focusable?: boolean | undefined | undefined;
714
+ tabIndex?: 0 | -1 | undefined | undefined;
715
+ shouldRasterizeIOS?: boolean | undefined | undefined;
716
+ isTVSelectable?: boolean | undefined | undefined;
717
+ hasTVPreferredFocus?: boolean | undefined | undefined;
718
+ tvParallaxShiftDistanceX?: number | undefined | undefined;
719
+ tvParallaxShiftDistanceY?: number | undefined | undefined;
720
+ tvParallaxTiltAngle?: number | undefined | undefined;
721
+ tvParallaxMagnification?: number | undefined | undefined;
722
+ onStartShouldSetResponder?: ((event: react_native.GestureResponderEvent) => boolean) | undefined | undefined;
723
+ onMoveShouldSetResponder?: ((event: react_native.GestureResponderEvent) => boolean) | undefined | undefined;
724
+ onResponderEnd?: ((event: react_native.GestureResponderEvent) => void) | undefined | undefined;
725
+ onResponderGrant?: ((event: react_native.GestureResponderEvent) => void) | undefined | undefined;
726
+ onResponderReject?: ((event: react_native.GestureResponderEvent) => void) | undefined | undefined;
727
+ onResponderMove?: ((event: react_native.GestureResponderEvent) => void) | undefined | undefined;
728
+ onResponderRelease?: ((event: react_native.GestureResponderEvent) => void) | undefined | undefined;
729
+ onResponderStart?: ((event: react_native.GestureResponderEvent) => void) | undefined | undefined;
730
+ onResponderTerminationRequest?: ((event: react_native.GestureResponderEvent) => boolean) | undefined | undefined;
731
+ onResponderTerminate?: ((event: react_native.GestureResponderEvent) => void) | undefined | undefined;
732
+ onStartShouldSetResponderCapture?: ((event: react_native.GestureResponderEvent) => boolean) | undefined | undefined;
733
+ onMoveShouldSetResponderCapture?: ((event: react_native.GestureResponderEvent) => boolean) | undefined | undefined;
734
+ onTouchStart?: ((event: react_native.GestureResponderEvent) => void) | undefined | undefined;
735
+ onTouchMove?: ((event: react_native.GestureResponderEvent) => void) | undefined | undefined;
736
+ onTouchEnd?: ((event: react_native.GestureResponderEvent) => void) | undefined | undefined;
737
+ onTouchCancel?: ((event: react_native.GestureResponderEvent) => void) | undefined | undefined;
738
+ onTouchEndCapture?: ((event: react_native.GestureResponderEvent) => void) | undefined | undefined;
739
+ onPointerEnter?: ((event: react_native.PointerEvent) => void) | undefined | undefined;
740
+ onPointerEnterCapture?: ((event: react_native.PointerEvent) => void) | undefined | undefined;
741
+ onPointerLeave?: ((event: react_native.PointerEvent) => void) | undefined | undefined;
742
+ onPointerLeaveCapture?: ((event: react_native.PointerEvent) => void) | undefined | undefined;
743
+ onPointerMove?: ((event: react_native.PointerEvent) => void) | undefined | undefined;
744
+ onPointerMoveCapture?: ((event: react_native.PointerEvent) => void) | undefined | undefined;
745
+ onPointerCancel?: ((event: react_native.PointerEvent) => void) | undefined | undefined;
746
+ onPointerCancelCapture?: ((event: react_native.PointerEvent) => void) | undefined | undefined;
747
+ onPointerDown?: ((event: react_native.PointerEvent) => void) | undefined | undefined;
748
+ onPointerDownCapture?: ((event: react_native.PointerEvent) => void) | undefined | undefined;
749
+ onPointerUp?: ((event: react_native.PointerEvent) => void) | undefined | undefined;
750
+ onPointerUpCapture?: ((event: react_native.PointerEvent) => void) | undefined | undefined;
751
+ accessible?: boolean | undefined | undefined;
752
+ accessibilityActions?: readonly Readonly<{
753
+ name: react_native.AccessibilityActionName | string;
754
+ label?: string | undefined;
755
+ }>[] | undefined;
756
+ accessibilityLabel?: string | undefined | undefined;
757
+ 'aria-label'?: string | undefined | undefined;
758
+ accessibilityRole?: react_native.AccessibilityRole | undefined;
759
+ accessibilityState?: react_native.AccessibilityState | undefined;
760
+ 'aria-busy'?: boolean | undefined | undefined;
761
+ 'aria-checked'?: boolean | "mixed" | undefined | undefined;
762
+ 'aria-disabled'?: boolean | undefined | undefined;
763
+ 'aria-expanded'?: boolean | undefined | undefined;
764
+ 'aria-selected'?: boolean | undefined | undefined;
765
+ accessibilityHint?: string | undefined | undefined;
766
+ accessibilityValue?: react_native.AccessibilityValue | undefined;
767
+ 'aria-valuemax'?: number | undefined;
768
+ 'aria-valuemin'?: number | undefined;
769
+ 'aria-valuenow'?: number | undefined;
770
+ 'aria-valuetext'?: string | undefined;
771
+ onAccessibilityAction?: ((event: react_native.AccessibilityActionEvent) => void) | undefined | undefined;
772
+ importantForAccessibility?: ("auto" | "yes" | "no" | "no-hide-descendants") | undefined | undefined;
773
+ 'aria-hidden'?: boolean | undefined | undefined;
774
+ 'aria-modal'?: boolean | undefined | undefined;
775
+ role?: react_native.Role | undefined;
776
+ accessibilityLabelledBy?: string | string[] | undefined | undefined;
777
+ 'aria-labelledby'?: string | undefined | undefined;
778
+ accessibilityLiveRegion?: "none" | "polite" | "assertive" | undefined | undefined;
779
+ 'aria-live'?: ("polite" | "assertive" | "off") | undefined | undefined;
780
+ screenReaderFocusable?: boolean | undefined | undefined;
781
+ accessibilityElementsHidden?: boolean | undefined | undefined;
782
+ accessibilityViewIsModal?: boolean | undefined | undefined;
783
+ onAccessibilityEscape?: (() => void) | undefined | undefined;
784
+ onAccessibilityTap?: (() => void) | undefined | undefined;
785
+ onMagicTap?: (() => void) | undefined | undefined;
786
+ accessibilityIgnoresInvertColors?: boolean | undefined | undefined;
787
+ accessibilityLanguage?: string | undefined | undefined;
788
+ accessibilityShowsLargeContentViewer?: boolean | undefined | undefined;
789
+ accessibilityLargeContentTitle?: string | undefined | undefined;
790
+ accessibilityRespondsToUserInteraction?: boolean | undefined | undefined;
791
+ backfaceVisibility?: "visible" | "hidden" | undefined | undefined;
792
+ backgroundColor?: react_native.ColorValue | undefined;
793
+ borderBlockColor?: react_native.ColorValue | undefined;
794
+ borderBlockEndColor?: react_native.ColorValue | undefined;
795
+ borderBlockStartColor?: react_native.ColorValue | undefined;
796
+ borderBottomColor?: react_native.ColorValue | undefined;
797
+ borderBottomEndRadius?: string | react_native.AnimatableNumericValue | undefined;
798
+ borderBottomStartRadius?: string | react_native.AnimatableNumericValue | undefined;
799
+ borderColor?: react_native.ColorValue | undefined;
800
+ borderCurve?: "circular" | "continuous" | undefined | undefined;
801
+ borderEndColor?: react_native.ColorValue | undefined;
802
+ borderEndEndRadius?: string | react_native.AnimatableNumericValue | undefined;
803
+ borderEndStartRadius?: string | react_native.AnimatableNumericValue | undefined;
804
+ borderRadius?: string | react_native.AnimatableNumericValue | undefined;
805
+ borderStartColor?: react_native.ColorValue | undefined;
806
+ borderStartEndRadius?: string | react_native.AnimatableNumericValue | undefined;
807
+ borderStartStartRadius?: string | react_native.AnimatableNumericValue | undefined;
808
+ borderStyle?: "solid" | "dotted" | "dashed" | undefined | undefined;
809
+ borderTopColor?: react_native.ColorValue | undefined;
810
+ borderTopEndRadius?: string | react_native.AnimatableNumericValue | undefined;
811
+ borderTopStartRadius?: string | react_native.AnimatableNumericValue | undefined;
812
+ outlineColor?: react_native.ColorValue | undefined;
813
+ outlineOffset?: react_native.AnimatableNumericValue | undefined;
814
+ outlineStyle?: "solid" | "dotted" | "dashed" | undefined | undefined;
815
+ outlineWidth?: react_native.AnimatableNumericValue | undefined;
816
+ opacity?: react_native.AnimatableNumericValue | undefined;
817
+ elevation?: number | undefined | undefined;
818
+ isolation?: "auto" | "isolate" | undefined | undefined;
819
+ cursor?: react_native.CursorValue | undefined;
820
+ boxShadow?: string | readonly react_native.BoxShadowValue[] | undefined;
821
+ filter?: string | readonly react_native.FilterFunction[] | undefined;
822
+ mixBlendMode?: react_native.BlendMode | undefined;
823
+ experimental_backgroundImage?: string | readonly react_native.GradientValue[] | undefined;
824
+ alignContent?: "flex-start" | "flex-end" | "center" | "stretch" | "space-between" | "space-around" | "space-evenly" | undefined | undefined;
825
+ alignItems?: react_native.FlexAlignType | undefined;
826
+ alignSelf?: "auto" | react_native.FlexAlignType | undefined;
827
+ aspectRatio?: number | string | undefined | undefined;
828
+ borderBottomWidth?: number | undefined | undefined;
829
+ borderEndWidth?: number | undefined | undefined;
830
+ borderStartWidth?: number | undefined | undefined;
831
+ borderTopWidth?: number | undefined | undefined;
832
+ borderWidth?: number | undefined | undefined;
833
+ bottom?: react_native.DimensionValue | undefined;
834
+ boxSizing?: "border-box" | "content-box" | undefined | undefined;
835
+ display?: "none" | "flex" | "contents" | undefined | undefined;
836
+ end?: react_native.DimensionValue | undefined;
837
+ flex?: number | undefined | undefined;
838
+ flexBasis?: react_native.DimensionValue | undefined;
839
+ flexDirection?: "row" | "column" | "row-reverse" | "column-reverse" | undefined | undefined;
840
+ rowGap?: number | string | undefined | undefined;
841
+ gap?: number | string | undefined | undefined;
842
+ columnGap?: number | string | undefined | undefined;
843
+ flexGrow?: number | undefined | undefined;
844
+ flexShrink?: number | undefined | undefined;
845
+ flexWrap?: "wrap" | "nowrap" | "wrap-reverse" | undefined | undefined;
846
+ height?: react_native.DimensionValue | undefined;
847
+ justifyContent?: "flex-start" | "flex-end" | "center" | "space-between" | "space-around" | "space-evenly" | undefined | undefined;
848
+ margin?: react_native.DimensionValue | undefined;
849
+ marginBottom?: react_native.DimensionValue | undefined;
850
+ marginEnd?: react_native.DimensionValue | undefined;
851
+ marginHorizontal?: react_native.DimensionValue | undefined;
852
+ marginStart?: react_native.DimensionValue | undefined;
853
+ marginTop?: react_native.DimensionValue | undefined;
854
+ marginVertical?: react_native.DimensionValue | undefined;
855
+ maxHeight?: react_native.DimensionValue | undefined;
856
+ maxWidth?: react_native.DimensionValue | undefined;
857
+ minHeight?: react_native.DimensionValue | undefined;
858
+ minWidth?: react_native.DimensionValue | undefined;
859
+ overflow?: "visible" | "hidden" | "scroll" | undefined | undefined;
860
+ padding?: react_native.DimensionValue | undefined;
861
+ paddingBottom?: react_native.DimensionValue | undefined;
862
+ paddingEnd?: react_native.DimensionValue | undefined;
863
+ paddingHorizontal?: react_native.DimensionValue | undefined;
864
+ paddingStart?: react_native.DimensionValue | undefined;
865
+ paddingTop?: react_native.DimensionValue | undefined;
866
+ paddingVertical?: react_native.DimensionValue | undefined;
867
+ position?: "absolute" | "relative" | "static" | undefined | undefined;
868
+ start?: react_native.DimensionValue | undefined;
869
+ top?: react_native.DimensionValue | undefined;
870
+ width?: react_native.DimensionValue | undefined;
871
+ zIndex?: number | undefined | undefined;
872
+ direction?: "inherit" | "ltr" | "rtl" | undefined | undefined;
873
+ inset?: react_native.DimensionValue | undefined;
874
+ insetBlock?: react_native.DimensionValue | undefined;
875
+ insetBlockEnd?: react_native.DimensionValue | undefined;
876
+ insetBlockStart?: react_native.DimensionValue | undefined;
877
+ insetInline?: react_native.DimensionValue | undefined;
878
+ insetInlineEnd?: react_native.DimensionValue | undefined;
879
+ insetInlineStart?: react_native.DimensionValue | undefined;
880
+ marginBlock?: react_native.DimensionValue | undefined;
881
+ marginBlockEnd?: react_native.DimensionValue | undefined;
882
+ marginBlockStart?: react_native.DimensionValue | undefined;
883
+ marginInline?: react_native.DimensionValue | undefined;
884
+ marginInlineEnd?: react_native.DimensionValue | undefined;
885
+ marginInlineStart?: react_native.DimensionValue | undefined;
886
+ paddingBlock?: react_native.DimensionValue | undefined;
887
+ paddingBlockEnd?: react_native.DimensionValue | undefined;
888
+ paddingBlockStart?: react_native.DimensionValue | undefined;
889
+ paddingInline?: react_native.DimensionValue | undefined;
890
+ paddingInlineEnd?: react_native.DimensionValue | undefined;
891
+ paddingInlineStart?: react_native.DimensionValue | undefined;
892
+ shadowColor?: react_native.ColorValue | undefined;
893
+ shadowOffset?: Readonly<{
894
+ width: number;
895
+ height: number;
896
+ }> | undefined;
897
+ shadowOpacity?: react_native.AnimatableNumericValue | undefined;
898
+ shadowRadius?: number | undefined | undefined;
899
+ transform?: string | readonly (({
900
+ scaleX: react_native.AnimatableNumericValue;
901
+ } & {
902
+ scaleY?: undefined;
903
+ translateX?: undefined;
904
+ translateY?: undefined;
905
+ scale?: undefined;
906
+ perspective?: undefined;
907
+ rotate?: undefined;
908
+ rotateX?: undefined;
909
+ rotateY?: undefined;
910
+ rotateZ?: undefined;
911
+ skewX?: undefined;
912
+ skewY?: undefined;
913
+ matrix?: undefined;
914
+ }) | ({
915
+ scaleY: react_native.AnimatableNumericValue;
916
+ } & {
917
+ scaleX?: undefined;
918
+ translateX?: undefined;
919
+ translateY?: undefined;
920
+ scale?: undefined;
921
+ perspective?: undefined;
922
+ rotate?: undefined;
923
+ rotateX?: undefined;
924
+ rotateY?: undefined;
925
+ rotateZ?: undefined;
926
+ skewX?: undefined;
927
+ skewY?: undefined;
928
+ matrix?: undefined;
929
+ }) | ({
930
+ translateX: react_native.AnimatableNumericValue | `${number}%`;
931
+ } & {
932
+ scaleX?: undefined;
933
+ scaleY?: undefined;
934
+ translateY?: undefined;
935
+ scale?: undefined;
936
+ perspective?: undefined;
937
+ rotate?: undefined;
938
+ rotateX?: undefined;
939
+ rotateY?: undefined;
940
+ rotateZ?: undefined;
941
+ skewX?: undefined;
942
+ skewY?: undefined;
943
+ matrix?: undefined;
944
+ }) | ({
945
+ translateY: react_native.AnimatableNumericValue | `${number}%`;
946
+ } & {
947
+ scaleX?: undefined;
948
+ scaleY?: undefined;
949
+ translateX?: undefined;
950
+ scale?: undefined;
951
+ perspective?: undefined;
952
+ rotate?: undefined;
953
+ rotateX?: undefined;
954
+ rotateY?: undefined;
955
+ rotateZ?: undefined;
956
+ skewX?: undefined;
957
+ skewY?: undefined;
958
+ matrix?: undefined;
959
+ }) | ({
960
+ scale: react_native.AnimatableNumericValue;
961
+ } & {
962
+ scaleX?: undefined;
963
+ scaleY?: undefined;
964
+ translateX?: undefined;
965
+ translateY?: undefined;
966
+ perspective?: undefined;
967
+ rotate?: undefined;
968
+ rotateX?: undefined;
969
+ rotateY?: undefined;
970
+ rotateZ?: undefined;
971
+ skewX?: undefined;
972
+ skewY?: undefined;
973
+ matrix?: undefined;
974
+ }) | ({
975
+ perspective: react_native.AnimatableNumericValue;
976
+ } & {
977
+ scaleX?: undefined;
978
+ scaleY?: undefined;
979
+ translateX?: undefined;
980
+ translateY?: undefined;
981
+ scale?: undefined;
982
+ rotate?: undefined;
983
+ rotateX?: undefined;
984
+ rotateY?: undefined;
985
+ rotateZ?: undefined;
986
+ skewX?: undefined;
987
+ skewY?: undefined;
988
+ matrix?: undefined;
989
+ }) | ({
990
+ rotate: react_native.AnimatableStringValue;
991
+ } & {
992
+ scaleX?: undefined;
993
+ scaleY?: undefined;
994
+ translateX?: undefined;
995
+ translateY?: undefined;
996
+ scale?: undefined;
997
+ perspective?: undefined;
998
+ rotateX?: undefined;
999
+ rotateY?: undefined;
1000
+ rotateZ?: undefined;
1001
+ skewX?: undefined;
1002
+ skewY?: undefined;
1003
+ matrix?: undefined;
1004
+ }) | ({
1005
+ rotateX: react_native.AnimatableStringValue;
1006
+ } & {
1007
+ scaleX?: undefined;
1008
+ scaleY?: undefined;
1009
+ translateX?: undefined;
1010
+ translateY?: undefined;
1011
+ scale?: undefined;
1012
+ perspective?: undefined;
1013
+ rotate?: undefined;
1014
+ rotateY?: undefined;
1015
+ rotateZ?: undefined;
1016
+ skewX?: undefined;
1017
+ skewY?: undefined;
1018
+ matrix?: undefined;
1019
+ }) | ({
1020
+ rotateY: react_native.AnimatableStringValue;
1021
+ } & {
1022
+ scaleX?: undefined;
1023
+ scaleY?: undefined;
1024
+ translateX?: undefined;
1025
+ translateY?: undefined;
1026
+ scale?: undefined;
1027
+ perspective?: undefined;
1028
+ rotate?: undefined;
1029
+ rotateX?: undefined;
1030
+ rotateZ?: undefined;
1031
+ skewX?: undefined;
1032
+ skewY?: undefined;
1033
+ matrix?: undefined;
1034
+ }) | ({
1035
+ rotateZ: react_native.AnimatableStringValue;
1036
+ } & {
1037
+ scaleX?: undefined;
1038
+ scaleY?: undefined;
1039
+ translateX?: undefined;
1040
+ translateY?: undefined;
1041
+ scale?: undefined;
1042
+ perspective?: undefined;
1043
+ rotate?: undefined;
1044
+ rotateX?: undefined;
1045
+ rotateY?: undefined;
1046
+ skewX?: undefined;
1047
+ skewY?: undefined;
1048
+ matrix?: undefined;
1049
+ }) | ({
1050
+ skewX: react_native.AnimatableStringValue;
1051
+ } & {
1052
+ scaleX?: undefined;
1053
+ scaleY?: undefined;
1054
+ translateX?: undefined;
1055
+ translateY?: undefined;
1056
+ scale?: undefined;
1057
+ perspective?: undefined;
1058
+ rotate?: undefined;
1059
+ rotateX?: undefined;
1060
+ rotateY?: undefined;
1061
+ rotateZ?: undefined;
1062
+ skewY?: undefined;
1063
+ matrix?: undefined;
1064
+ }) | ({
1065
+ skewY: react_native.AnimatableStringValue;
1066
+ } & {
1067
+ scaleX?: undefined;
1068
+ scaleY?: undefined;
1069
+ translateX?: undefined;
1070
+ translateY?: undefined;
1071
+ scale?: undefined;
1072
+ perspective?: undefined;
1073
+ rotate?: undefined;
1074
+ rotateX?: undefined;
1075
+ rotateY?: undefined;
1076
+ rotateZ?: undefined;
1077
+ skewX?: undefined;
1078
+ matrix?: undefined;
1079
+ }) | ({
1080
+ matrix: react_native.AnimatableNumericValue[];
1081
+ } & {
1082
+ scaleX?: undefined;
1083
+ scaleY?: undefined;
1084
+ translateX?: undefined;
1085
+ translateY?: undefined;
1086
+ scale?: undefined;
1087
+ perspective?: undefined;
1088
+ rotate?: undefined;
1089
+ rotateX?: undefined;
1090
+ rotateY?: undefined;
1091
+ rotateZ?: undefined;
1092
+ skewX?: undefined;
1093
+ skewY?: undefined;
1094
+ }))[] | undefined;
1095
+ transformOrigin?: string | (string | number)[] | undefined;
1096
+ transformMatrix?: number[] | undefined;
1097
+ rotation?: react_native.AnimatableNumericValue | undefined;
1098
+ scaleX?: react_native.AnimatableNumericValue | undefined;
1099
+ scaleY?: react_native.AnimatableNumericValue | undefined;
1100
+ translateX?: react_native.AnimatableNumericValue | undefined;
1101
+ translateY?: react_native.AnimatableNumericValue | undefined;
1102
+ asChild?: boolean | undefined;
1103
+ onPress?: null | ((event: react_native.GestureResponderEvent) => void) | undefined | undefined;
1104
+ onPressIn?: null | ((event: react_native.GestureResponderEvent) => void) | undefined | undefined;
1105
+ onPressOut?: null | ((event: react_native.GestureResponderEvent) => void) | undefined | undefined;
1106
+ onLongPress?: null | ((event: react_native.GestureResponderEvent) => void) | undefined | undefined;
1107
+ pressRetentionOffset?: number | react_native.Insets | null | undefined;
1108
+ onHoverIn?: null | ((event: react_native.MouseEvent) => void) | undefined | undefined;
1109
+ onHoverOut?: null | ((event: react_native.MouseEvent) => void) | undefined | undefined;
1110
+ cancelable?: null | boolean | undefined | undefined;
1111
+ delayHoverIn?: number | null | undefined | undefined;
1112
+ delayHoverOut?: number | null | undefined | undefined;
1113
+ delayLongPress?: null | number | undefined | undefined;
1114
+ android_disableSound?: null | boolean | undefined | undefined;
1115
+ android_ripple?: react_native.PressableAndroidRippleConfig | null | undefined;
1116
+ testOnly_pressed?: null | boolean | undefined | undefined;
1117
+ unstable_pressDelay?: number | undefined | undefined;
1118
+ } & Omit<ViewStyleProps, keyof {
1119
+ variant?: SwitchVariant;
1120
+ size?: SwitchSize;
1121
+ radius?: RadiusKey;
1122
+ color?: string;
1123
+ isSelected?: boolean;
1124
+ defaultSelected?: boolean;
1125
+ onSelectedChange?: (isSelected: boolean) => void;
1126
+ isDisabled?: boolean;
1127
+ animation?: AnimationProp;
1128
+ style?: react_native.StyleProp<react_native.ViewStyle> | ((state: react_native.PressableStateCallbackType) => react_native.StyleProp<react_native.ViewStyle>);
1129
+ children?: react.ReactNode;
1130
+ }> & react.RefAttributes<react_native.View>> & {
1131
+ Track: react.ForwardRefExoticComponent<{
1132
+ children?: react.ReactNode;
1133
+ animation?: boolean;
1134
+ style?: react_native.StyleProp<react_native.ViewStyle>;
1135
+ } & Omit<react_native.ViewProps, keyof {
1136
+ children?: react.ReactNode;
1137
+ animation?: boolean;
1138
+ style?: react_native.StyleProp<react_native.ViewStyle>;
1139
+ }> & Omit<ViewStyleProps, "style" | "children" | "hitSlop" | "id" | "needsOffscreenAlphaCompositing" | "onLayout" | "pointerEvents" | "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" | "animation"> & react.RefAttributes<react_native.View>>;
1140
+ Thumb: react.ForwardRefExoticComponent<{
1141
+ children?: react.ReactNode;
1142
+ animation?: boolean;
1143
+ style?: react_native.StyleProp<react_native.ViewStyle>;
1144
+ } & Omit<react_native.ViewProps, keyof {
1145
+ children?: react.ReactNode;
1146
+ animation?: boolean;
1147
+ style?: react_native.StyleProp<react_native.ViewStyle>;
1148
+ }> & Omit<ViewStyleProps, "style" | "children" | "hitSlop" | "id" | "needsOffscreenAlphaCompositing" | "onLayout" | "pointerEvents" | "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" | "animation"> & react.RefAttributes<react_native.View>>;
1149
+ Label: react.ForwardRefExoticComponent<react_native.TextProps & Omit<TextStyleProps, keyof react_native.TextProps> & {
1150
+ children?: react.ReactNode;
1151
+ } & react.RefAttributes<react_native.Text>>;
1152
+ };
1153
+
1154
+ export { Switch, type SwitchContextValue, SwitchLabel, type SwitchLabelProps, type SwitchProps, SwitchRoot, type SwitchSize, type SwitchSlot, SwitchThumb, type SwitchThumbProps, SwitchTrack, type SwitchTrackProps, type SwitchVariant, switchRecipe, useSwitch };