@xaui/native 0.9.1-alpha.4 → 0.9.1-alpha.40

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 (203) hide show
  1. package/dist/chunk-2EGR4LWD.js +145 -0
  2. package/dist/chunk-2NRZKJG7.js +531 -0
  3. package/dist/chunk-2PMXMKS5.js +67 -0
  4. package/dist/chunk-2XPG2243.js +586 -0
  5. package/dist/chunk-36PRYGAM.js +13 -0
  6. package/dist/chunk-3E7CDKFO.cjs +696 -0
  7. package/dist/chunk-3GFRSZYR.js +54 -0
  8. package/dist/chunk-423RQBOX.js +21 -0
  9. package/dist/chunk-4CUZZWFW.js +92 -0
  10. package/dist/chunk-4GTAZM2C.js +174 -0
  11. package/dist/chunk-4KFKWBN5.cjs +89 -0
  12. package/dist/{chunk-3QBT3Q65.cjs → chunk-57SJ4LJF.cjs} +7 -2
  13. package/dist/chunk-5R26NM4M.cjs +402 -0
  14. package/dist/chunk-5VKYNBNA.js +607 -0
  15. package/dist/chunk-64MXEVT3.js +66 -0
  16. package/dist/chunk-6DOLGZVV.cjs +147 -0
  17. package/dist/chunk-6L2TS2R3.cjs +92 -0
  18. package/dist/chunk-6UEZJRVI.js +669 -0
  19. package/dist/chunk-734MFAX4.js +27 -0
  20. package/dist/chunk-73RKQC5X.js +104 -0
  21. package/dist/chunk-7DPL3ZDS.cjs +21 -0
  22. package/dist/chunk-7EIHHOHP.cjs +42 -0
  23. package/dist/chunk-7GHM4GKL.cjs +119 -0
  24. package/dist/chunk-7YF5NAHQ.cjs +74 -0
  25. package/dist/{chunk-X2K2FX3W.js → chunk-A3EGFI6T.js} +6 -1
  26. package/dist/chunk-ABAGZTXZ.cjs +736 -0
  27. package/dist/{chunk-AW63PTQ4.cjs → chunk-ACAPTWE3.cjs} +85 -81
  28. package/dist/chunk-AMCSSOJT.cjs +104 -0
  29. package/dist/chunk-BA2DBSAN.js +102 -0
  30. package/dist/chunk-BRRXFOBY.js +431 -0
  31. package/dist/chunk-C5YLPCFC.cjs +293 -0
  32. package/dist/chunk-DA3OKXHV.cjs +700 -0
  33. package/dist/chunk-DD4276RF.js +366 -0
  34. package/dist/chunk-DG2I4PJG.js +701 -0
  35. package/dist/chunk-DHGLGSH6.js +661 -0
  36. package/dist/chunk-DIBUQ46Y.js +346 -0
  37. package/dist/chunk-EGLLDKN6.js +9 -0
  38. package/dist/chunk-EJQCQPET.cjs +9 -0
  39. package/dist/chunk-EKS3W46M.cjs +66 -0
  40. package/dist/chunk-EZEYMLO3.js +402 -0
  41. package/dist/chunk-F6CQ6CBI.cjs +112 -0
  42. package/dist/chunk-F6W3JQ7K.js +42 -0
  43. package/dist/chunk-FHUYHV6J.js +89 -0
  44. package/dist/chunk-FNEUOBCV.cjs +174 -0
  45. package/dist/chunk-G7P3ERYF.cjs +478 -0
  46. package/dist/chunk-GA6PBWNT.js +147 -0
  47. package/dist/chunk-GFUZ3MUT.cjs +455 -0
  48. package/dist/chunk-GGW43Q37.cjs +1 -0
  49. package/dist/chunk-GTR5X65M.cjs +27 -0
  50. package/dist/chunk-H4E4HDEP.cjs +13 -0
  51. package/dist/chunk-H7DS4IO7.js +198 -0
  52. package/dist/chunk-HDVVZG4S.cjs +198 -0
  53. package/dist/chunk-IKJVLJKT.js +151 -0
  54. package/dist/chunk-J3MB4PI5.cjs +531 -0
  55. package/dist/chunk-K72UDPVN.js +119 -0
  56. package/dist/chunk-KCMYU7WF.js +86 -0
  57. package/dist/chunk-LRN3RNDO.js +940 -0
  58. package/dist/chunk-LTX6TB5I.js +124 -0
  59. package/dist/chunk-LUPCPLND.cjs +145 -0
  60. package/dist/chunk-M63GFNKV.js +194 -0
  61. package/dist/chunk-N3KTZMPG.js +293 -0
  62. package/dist/chunk-NCTOTTVW.js +13 -0
  63. package/dist/chunk-NWGLP6JX.cjs +410 -0
  64. package/dist/chunk-R73XQK7X.cjs +314 -0
  65. package/dist/chunk-RU7JCMWC.cjs +881 -0
  66. package/dist/chunk-SNIHUKDA.cjs +184 -0
  67. package/dist/chunk-T5FV5F7A.cjs +607 -0
  68. package/dist/chunk-TDTUAIFF.cjs +153 -0
  69. package/dist/chunk-TJ74XVZN.cjs +431 -0
  70. package/dist/chunk-TK44VBIE.cjs +194 -0
  71. package/dist/chunk-UAWBAD4E.cjs +346 -0
  72. package/dist/chunk-UFTCTTKK.js +381 -0
  73. package/dist/chunk-WDDXU3OH.cjs +67 -0
  74. package/dist/chunk-WFEMJCXO.cjs +13 -0
  75. package/dist/chunk-WHJTBTYM.js +0 -0
  76. package/dist/{chunk-2KXQATVL.js → chunk-WKCQ6VGW.js} +59 -55
  77. package/dist/chunk-XFPQFCEK.js +455 -0
  78. package/dist/chunk-XSQPVDFH.cjs +60 -0
  79. package/dist/chunk-XTC2SLFT.js +153 -0
  80. package/dist/chunk-XV735BSA.cjs +366 -0
  81. package/dist/chunk-XWNG2U4K.cjs +124 -0
  82. package/dist/chunk-YGYYJ3LQ.js +314 -0
  83. package/dist/chunk-YVHT2UVW.js +74 -0
  84. package/dist/chunk-ZFOOJK37.cjs +86 -0
  85. package/dist/close-button.type-BUYuoSt2.d.ts +36 -0
  86. package/dist/close-button.type-CHsgZ3wO.d.cts +36 -0
  87. package/dist/components/accordion/index.cjs +35 -0
  88. package/dist/components/accordion/index.d.cts +299 -0
  89. package/dist/components/accordion/index.d.ts +299 -0
  90. package/dist/components/accordion/index.js +35 -0
  91. package/dist/components/alert/index.cjs +20 -0
  92. package/dist/components/alert/index.d.cts +169 -0
  93. package/dist/components/alert/index.d.ts +169 -0
  94. package/dist/components/alert/index.js +20 -0
  95. package/dist/components/avatar/index.cjs +16 -0
  96. package/dist/components/avatar/index.d.cts +131 -0
  97. package/dist/components/avatar/index.d.ts +131 -0
  98. package/dist/components/avatar/index.js +16 -0
  99. package/dist/components/badge/index.cjs +15 -0
  100. package/dist/components/badge/index.d.cts +157 -0
  101. package/dist/components/badge/index.d.ts +157 -0
  102. package/dist/components/badge/index.js +15 -0
  103. package/dist/components/button/index.cjs +22 -0
  104. package/dist/components/button/index.d.cts +613 -0
  105. package/dist/components/button/index.d.ts +613 -0
  106. package/dist/components/button/index.js +22 -0
  107. package/dist/components/card/index.cjs +22 -0
  108. package/dist/components/card/index.d.cts +620 -0
  109. package/dist/components/card/index.d.ts +620 -0
  110. package/dist/components/card/index.js +22 -0
  111. package/dist/components/checkbox/index.cjs +26 -0
  112. package/dist/components/checkbox/index.d.cts +1136 -0
  113. package/dist/components/checkbox/index.d.ts +1136 -0
  114. package/dist/components/checkbox/index.js +26 -0
  115. package/dist/components/chip/index.cjs +20 -0
  116. package/dist/components/chip/index.d.cts +608 -0
  117. package/dist/components/chip/index.d.ts +608 -0
  118. package/dist/components/chip/index.js +20 -0
  119. package/dist/components/divider/index.cjs +13 -0
  120. package/dist/components/divider/index.d.cts +117 -0
  121. package/dist/components/divider/index.d.ts +117 -0
  122. package/dist/components/divider/index.js +13 -0
  123. package/dist/components/field-group/index.cjs +27 -0
  124. package/dist/components/field-group/index.d.cts +270 -0
  125. package/dist/components/field-group/index.d.ts +270 -0
  126. package/dist/components/field-group/index.js +27 -0
  127. package/dist/components/input-otp/index.cjs +29 -0
  128. package/dist/components/input-otp/index.d.cts +325 -0
  129. package/dist/components/input-otp/index.d.ts +325 -0
  130. package/dist/components/input-otp/index.js +29 -0
  131. package/dist/components/menu/index.cjs +49 -0
  132. package/dist/components/menu/index.d.cts +351 -0
  133. package/dist/components/menu/index.d.ts +351 -0
  134. package/dist/components/menu/index.js +49 -0
  135. package/dist/components/popover/index.cjs +38 -0
  136. package/dist/components/popover/index.d.cts +254 -0
  137. package/dist/components/popover/index.d.ts +254 -0
  138. package/dist/components/popover/index.js +38 -0
  139. package/dist/components/radio/index.cjs +26 -0
  140. package/dist/components/radio/index.d.cts +1102 -0
  141. package/dist/components/radio/index.d.ts +1102 -0
  142. package/dist/components/radio/index.js +26 -0
  143. package/dist/components/select/index.cjs +50 -0
  144. package/dist/components/select/index.d.cts +498 -0
  145. package/dist/components/select/index.d.ts +498 -0
  146. package/dist/components/select/index.js +50 -0
  147. package/dist/components/skeleton/index.cjs +11 -0
  148. package/dist/components/skeleton/index.d.cts +111 -0
  149. package/dist/components/skeleton/index.d.ts +111 -0
  150. package/dist/components/skeleton/index.js +11 -0
  151. package/dist/components/spinner/index.cjs +17 -0
  152. package/dist/components/spinner/index.d.cts +104 -0
  153. package/dist/components/spinner/index.d.ts +104 -0
  154. package/dist/components/spinner/index.js +17 -0
  155. package/dist/components/switch/index.cjs +27 -0
  156. package/dist/components/switch/index.d.cts +1154 -0
  157. package/dist/components/switch/index.d.ts +1154 -0
  158. package/dist/components/switch/index.js +27 -0
  159. package/dist/components/text-area/index.cjs +14 -0
  160. package/dist/components/text-area/index.d.cts +73 -0
  161. package/dist/components/text-area/index.d.ts +73 -0
  162. package/dist/components/text-area/index.js +14 -0
  163. package/dist/components/text-field/index.cjs +25 -0
  164. package/dist/components/text-field/index.d.cts +205 -0
  165. package/dist/components/text-field/index.d.ts +205 -0
  166. package/dist/components/text-field/index.js +25 -0
  167. package/dist/components/typography/index.cjs +15 -0
  168. package/dist/components/typography/index.d.cts +116 -0
  169. package/dist/components/typography/index.d.ts +116 -0
  170. package/dist/components/typography/index.js +15 -0
  171. package/dist/components/view/index.cjs +17 -0
  172. package/dist/components/view/index.d.cts +152 -0
  173. package/dist/components/view/index.d.ts +152 -0
  174. package/dist/components/view/index.js +17 -0
  175. package/dist/create-recipe-BdVd2ffi.d.ts +114 -0
  176. package/dist/create-recipe-dC7wMfnj.d.cts +114 -0
  177. package/dist/icon.type-Kml72iSz.d.ts +73 -0
  178. package/dist/icon.type-d_i9ma-i.d.cts +73 -0
  179. package/dist/index.cjs +400 -4
  180. package/dist/index.d.cts +118 -4
  181. package/dist/index.d.ts +118 -4
  182. package/dist/index.js +423 -27
  183. package/dist/placement-DHa0Rrh1.d.cts +38 -0
  184. package/dist/placement-DHa0Rrh1.d.ts +38 -0
  185. package/dist/pressable-feedback.type-BA2C9sSz.d.cts +127 -0
  186. package/dist/pressable-feedback.type-Bs4dQlGj.d.ts +127 -0
  187. package/dist/style-props.type-CfnoGEP7.d.cts +31 -0
  188. package/dist/style-props.type-CfnoGEP7.d.ts +31 -0
  189. package/dist/system/index.cjs +73 -4
  190. package/dist/system/index.d.cts +379 -193
  191. package/dist/system/index.d.ts +379 -193
  192. package/dist/system/index.js +87 -18
  193. package/dist/text-field.type-0l73acce.d.ts +167 -0
  194. package/dist/text-field.type-DBh06DU5.d.cts +167 -0
  195. package/dist/theme/index.cjs +5 -3
  196. package/dist/theme/index.d.cts +55 -24
  197. package/dist/theme/index.d.ts +55 -24
  198. package/dist/theme/index.js +4 -2
  199. package/dist/{theme.type-C9bFJKFm.d.cts → theme.type-C2gNHpEx.d.cts} +1 -1
  200. package/dist/{theme.type-C9bFJKFm.d.ts → theme.type-C2gNHpEx.d.ts} +1 -1
  201. package/package.json +254 -18
  202. package/dist/chunk-ECDWSSHJ.js +0 -688
  203. package/dist/chunk-IYFGO523.cjs +0 -688
@@ -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.js';
6
+ import { S as Size, R as RadiusKey } from '../../theme.type-C2gNHpEx.js';
7
+ import { a as AnimationProp, P as PressableFeedbackProps } from '../../pressable-feedback.type-Bs4dQlGj.js';
8
+ import { R as Recipe, a as StyleFn } from '../../create-recipe-BdVd2ffi.js';
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
+ alignContent?: "flex-start" | "flex-end" | "center" | "stretch" | "space-between" | "space-around" | "space-evenly" | undefined | undefined;
163
+ alignItems?: react_native.FlexAlignType | undefined;
164
+ alignSelf?: "auto" | react_native.FlexAlignType | undefined;
165
+ aspectRatio?: number | string | undefined | undefined;
166
+ boxSizing?: "border-box" | "content-box" | undefined | undefined;
167
+ columnGap?: number | string | undefined | undefined;
168
+ direction?: "inherit" | "ltr" | "rtl" | undefined | undefined;
169
+ display?: "none" | "flex" | "contents" | undefined | undefined;
170
+ flex?: number | undefined | undefined;
171
+ flexBasis?: react_native.DimensionValue | undefined;
172
+ flexDirection?: "row" | "column" | "row-reverse" | "column-reverse" | undefined | undefined;
173
+ flexGrow?: number | undefined | undefined;
174
+ flexShrink?: number | undefined | undefined;
175
+ flexWrap?: "wrap" | "nowrap" | "wrap-reverse" | undefined | undefined;
176
+ gap?: number | string | undefined | undefined;
177
+ justifyContent?: "flex-start" | "flex-end" | "center" | "space-between" | "space-around" | "space-evenly" | undefined | undefined;
178
+ overflow?: "visible" | "hidden" | "scroll" | undefined | undefined;
179
+ rowGap?: number | string | undefined | undefined;
180
+ bottom?: react_native.DimensionValue | undefined;
181
+ end?: react_native.DimensionValue | undefined;
182
+ inset?: react_native.DimensionValue | undefined;
183
+ insetBlock?: react_native.DimensionValue | undefined;
184
+ insetBlockEnd?: react_native.DimensionValue | undefined;
185
+ insetBlockStart?: react_native.DimensionValue | undefined;
186
+ insetInline?: react_native.DimensionValue | undefined;
187
+ insetInlineEnd?: react_native.DimensionValue | undefined;
188
+ insetInlineStart?: react_native.DimensionValue | undefined;
189
+ position?: "absolute" | "relative" | "static" | undefined | undefined;
190
+ start?: react_native.DimensionValue | undefined;
191
+ top?: react_native.DimensionValue | undefined;
192
+ zIndex?: number | undefined | undefined;
193
+ margin?: react_native.DimensionValue | undefined;
194
+ marginBlock?: react_native.DimensionValue | undefined;
195
+ marginBlockEnd?: react_native.DimensionValue | undefined;
196
+ marginBlockStart?: react_native.DimensionValue | undefined;
197
+ marginBottom?: react_native.DimensionValue | undefined;
198
+ marginEnd?: react_native.DimensionValue | undefined;
199
+ marginHorizontal?: react_native.DimensionValue | undefined;
200
+ marginInline?: react_native.DimensionValue | undefined;
201
+ marginInlineEnd?: react_native.DimensionValue | undefined;
202
+ marginInlineStart?: react_native.DimensionValue | undefined;
203
+ marginStart?: react_native.DimensionValue | undefined;
204
+ marginTop?: react_native.DimensionValue | undefined;
205
+ marginVertical?: react_native.DimensionValue | undefined;
206
+ padding?: react_native.DimensionValue | undefined;
207
+ paddingBlock?: react_native.DimensionValue | undefined;
208
+ paddingBlockEnd?: react_native.DimensionValue | undefined;
209
+ paddingBlockStart?: react_native.DimensionValue | undefined;
210
+ paddingBottom?: react_native.DimensionValue | undefined;
211
+ paddingEnd?: react_native.DimensionValue | undefined;
212
+ paddingHorizontal?: react_native.DimensionValue | undefined;
213
+ paddingInline?: react_native.DimensionValue | undefined;
214
+ paddingInlineEnd?: react_native.DimensionValue | undefined;
215
+ paddingInlineStart?: react_native.DimensionValue | undefined;
216
+ paddingStart?: react_native.DimensionValue | undefined;
217
+ paddingTop?: react_native.DimensionValue | undefined;
218
+ paddingVertical?: react_native.DimensionValue | undefined;
219
+ height?: react_native.DimensionValue | undefined;
220
+ maxHeight?: react_native.DimensionValue | undefined;
221
+ maxWidth?: react_native.DimensionValue | undefined;
222
+ minHeight?: react_native.DimensionValue | undefined;
223
+ minWidth?: react_native.DimensionValue | undefined;
224
+ width?: react_native.DimensionValue | undefined;
225
+ borderBlockColor?: react_native.ColorValue | undefined;
226
+ borderBlockEndColor?: react_native.ColorValue | undefined;
227
+ borderBlockStartColor?: react_native.ColorValue | undefined;
228
+ borderBottomColor?: react_native.ColorValue | undefined;
229
+ borderBottomEndRadius?: string | react_native.AnimatableNumericValue | undefined;
230
+ borderBottomStartRadius?: string | react_native.AnimatableNumericValue | undefined;
231
+ borderBottomWidth?: number | undefined | undefined;
232
+ borderColor?: react_native.ColorValue | undefined;
233
+ borderCurve?: "circular" | "continuous" | undefined | undefined;
234
+ borderEndColor?: react_native.ColorValue | undefined;
235
+ borderEndEndRadius?: string | react_native.AnimatableNumericValue | undefined;
236
+ borderEndStartRadius?: string | react_native.AnimatableNumericValue | undefined;
237
+ borderEndWidth?: number | undefined | undefined;
238
+ borderRadius?: string | react_native.AnimatableNumericValue | undefined;
239
+ borderStartColor?: react_native.ColorValue | undefined;
240
+ borderStartEndRadius?: string | react_native.AnimatableNumericValue | undefined;
241
+ borderStartStartRadius?: string | react_native.AnimatableNumericValue | undefined;
242
+ borderStartWidth?: number | undefined | undefined;
243
+ borderStyle?: "solid" | "dotted" | "dashed" | undefined | undefined;
244
+ borderTopColor?: react_native.ColorValue | undefined;
245
+ borderTopEndRadius?: string | react_native.AnimatableNumericValue | undefined;
246
+ borderTopStartRadius?: string | react_native.AnimatableNumericValue | undefined;
247
+ borderTopWidth?: number | undefined | undefined;
248
+ borderWidth?: number | undefined | undefined;
249
+ backfaceVisibility?: "visible" | "hidden" | undefined | undefined;
250
+ backgroundColor?: react_native.ColorValue | undefined;
251
+ boxShadow?: string | readonly react_native.BoxShadowValue[] | undefined;
252
+ cursor?: react_native.CursorValue | undefined;
253
+ elevation?: number | undefined | undefined;
254
+ experimental_backgroundImage?: string | readonly react_native.GradientValue[] | undefined;
255
+ filter?: string | readonly react_native.FilterFunction[] | undefined;
256
+ isolation?: "auto" | "isolate" | undefined | undefined;
257
+ mixBlendMode?: react_native.BlendMode | undefined;
258
+ opacity?: react_native.AnimatableNumericValue | undefined;
259
+ outlineColor?: react_native.ColorValue | undefined;
260
+ outlineOffset?: react_native.AnimatableNumericValue | undefined;
261
+ outlineStyle?: "solid" | "dotted" | "dashed" | undefined | undefined;
262
+ outlineWidth?: react_native.AnimatableNumericValue | undefined;
263
+ shadowColor?: react_native.ColorValue | undefined;
264
+ shadowOffset?: Readonly<{
265
+ width: number;
266
+ height: number;
267
+ }> | undefined;
268
+ shadowOpacity?: react_native.AnimatableNumericValue | undefined;
269
+ shadowRadius?: number | undefined | undefined;
270
+ rotation?: react_native.AnimatableNumericValue | undefined;
271
+ scaleX?: react_native.AnimatableNumericValue | undefined;
272
+ scaleY?: react_native.AnimatableNumericValue | undefined;
273
+ transform?: string | readonly (({
274
+ scaleX: react_native.AnimatableNumericValue;
275
+ } & {
276
+ scaleY?: undefined;
277
+ translateX?: undefined;
278
+ translateY?: undefined;
279
+ scale?: undefined;
280
+ skewX?: undefined;
281
+ skewY?: undefined;
282
+ perspective?: undefined;
283
+ rotate?: undefined;
284
+ rotateX?: undefined;
285
+ rotateY?: undefined;
286
+ rotateZ?: undefined;
287
+ matrix?: undefined;
288
+ }) | ({
289
+ scaleY: react_native.AnimatableNumericValue;
290
+ } & {
291
+ scaleX?: undefined;
292
+ translateX?: undefined;
293
+ translateY?: undefined;
294
+ scale?: undefined;
295
+ skewX?: undefined;
296
+ skewY?: undefined;
297
+ perspective?: undefined;
298
+ rotate?: undefined;
299
+ rotateX?: undefined;
300
+ rotateY?: undefined;
301
+ rotateZ?: undefined;
302
+ matrix?: undefined;
303
+ }) | ({
304
+ translateX: react_native.AnimatableNumericValue | `${number}%`;
305
+ } & {
306
+ scaleX?: undefined;
307
+ scaleY?: undefined;
308
+ translateY?: undefined;
309
+ scale?: undefined;
310
+ skewX?: undefined;
311
+ skewY?: undefined;
312
+ perspective?: undefined;
313
+ rotate?: undefined;
314
+ rotateX?: undefined;
315
+ rotateY?: undefined;
316
+ rotateZ?: undefined;
317
+ matrix?: undefined;
318
+ }) | ({
319
+ translateY: react_native.AnimatableNumericValue | `${number}%`;
320
+ } & {
321
+ scaleX?: undefined;
322
+ scaleY?: undefined;
323
+ translateX?: undefined;
324
+ scale?: undefined;
325
+ skewX?: undefined;
326
+ skewY?: undefined;
327
+ perspective?: undefined;
328
+ rotate?: undefined;
329
+ rotateX?: undefined;
330
+ rotateY?: undefined;
331
+ rotateZ?: undefined;
332
+ matrix?: undefined;
333
+ }) | ({
334
+ scale: react_native.AnimatableNumericValue;
335
+ } & {
336
+ scaleX?: undefined;
337
+ scaleY?: undefined;
338
+ translateX?: undefined;
339
+ translateY?: undefined;
340
+ skewX?: undefined;
341
+ skewY?: undefined;
342
+ perspective?: undefined;
343
+ rotate?: undefined;
344
+ rotateX?: undefined;
345
+ rotateY?: undefined;
346
+ rotateZ?: undefined;
347
+ matrix?: undefined;
348
+ }) | ({
349
+ skewX: react_native.AnimatableStringValue;
350
+ } & {
351
+ scaleX?: undefined;
352
+ scaleY?: undefined;
353
+ translateX?: undefined;
354
+ translateY?: undefined;
355
+ scale?: undefined;
356
+ skewY?: undefined;
357
+ perspective?: undefined;
358
+ rotate?: undefined;
359
+ rotateX?: undefined;
360
+ rotateY?: undefined;
361
+ rotateZ?: undefined;
362
+ matrix?: undefined;
363
+ }) | ({
364
+ skewY: react_native.AnimatableStringValue;
365
+ } & {
366
+ scaleX?: undefined;
367
+ scaleY?: undefined;
368
+ translateX?: undefined;
369
+ translateY?: undefined;
370
+ scale?: undefined;
371
+ skewX?: undefined;
372
+ perspective?: undefined;
373
+ rotate?: undefined;
374
+ rotateX?: undefined;
375
+ rotateY?: undefined;
376
+ rotateZ?: undefined;
377
+ matrix?: undefined;
378
+ }) | ({
379
+ perspective: react_native.AnimatableNumericValue;
380
+ } & {
381
+ scaleX?: undefined;
382
+ scaleY?: undefined;
383
+ translateX?: undefined;
384
+ translateY?: undefined;
385
+ scale?: undefined;
386
+ skewX?: undefined;
387
+ skewY?: undefined;
388
+ rotate?: undefined;
389
+ rotateX?: undefined;
390
+ rotateY?: undefined;
391
+ rotateZ?: undefined;
392
+ matrix?: undefined;
393
+ }) | ({
394
+ rotate: react_native.AnimatableStringValue;
395
+ } & {
396
+ scaleX?: undefined;
397
+ scaleY?: undefined;
398
+ translateX?: undefined;
399
+ translateY?: undefined;
400
+ scale?: undefined;
401
+ skewX?: undefined;
402
+ skewY?: undefined;
403
+ perspective?: undefined;
404
+ rotateX?: undefined;
405
+ rotateY?: undefined;
406
+ rotateZ?: undefined;
407
+ matrix?: undefined;
408
+ }) | ({
409
+ rotateX: react_native.AnimatableStringValue;
410
+ } & {
411
+ scaleX?: undefined;
412
+ scaleY?: undefined;
413
+ translateX?: undefined;
414
+ translateY?: undefined;
415
+ scale?: undefined;
416
+ skewX?: undefined;
417
+ skewY?: undefined;
418
+ perspective?: undefined;
419
+ rotate?: undefined;
420
+ rotateY?: undefined;
421
+ rotateZ?: undefined;
422
+ matrix?: undefined;
423
+ }) | ({
424
+ rotateY: react_native.AnimatableStringValue;
425
+ } & {
426
+ scaleX?: undefined;
427
+ scaleY?: undefined;
428
+ translateX?: undefined;
429
+ translateY?: undefined;
430
+ scale?: undefined;
431
+ skewX?: undefined;
432
+ skewY?: undefined;
433
+ perspective?: undefined;
434
+ rotate?: undefined;
435
+ rotateX?: undefined;
436
+ rotateZ?: undefined;
437
+ matrix?: undefined;
438
+ }) | ({
439
+ rotateZ: react_native.AnimatableStringValue;
440
+ } & {
441
+ scaleX?: undefined;
442
+ scaleY?: undefined;
443
+ translateX?: undefined;
444
+ translateY?: undefined;
445
+ scale?: undefined;
446
+ skewX?: undefined;
447
+ skewY?: undefined;
448
+ perspective?: undefined;
449
+ rotate?: undefined;
450
+ rotateX?: undefined;
451
+ rotateY?: undefined;
452
+ matrix?: undefined;
453
+ }) | ({
454
+ matrix: react_native.AnimatableNumericValue[];
455
+ } & {
456
+ scaleX?: undefined;
457
+ scaleY?: undefined;
458
+ translateX?: undefined;
459
+ translateY?: undefined;
460
+ scale?: undefined;
461
+ skewX?: undefined;
462
+ skewY?: undefined;
463
+ perspective?: undefined;
464
+ rotate?: undefined;
465
+ rotateX?: undefined;
466
+ rotateY?: undefined;
467
+ rotateZ?: undefined;
468
+ }))[] | undefined;
469
+ transformMatrix?: number[] | undefined;
470
+ transformOrigin?: string | (string | number)[] | undefined;
471
+ translateX?: react_native.AnimatableNumericValue | undefined;
472
+ translateY?: react_native.AnimatableNumericValue | undefined;
473
+ pointerEvents?: "box-none" | "none" | "box-only" | "auto" | undefined | undefined;
474
+ hitSlop?: number | react_native.Insets | null | undefined;
475
+ id?: string | undefined | undefined;
476
+ needsOffscreenAlphaCompositing?: boolean | undefined | undefined;
477
+ onLayout?: ((event: react_native.LayoutChangeEvent) => void) | undefined | undefined;
478
+ removeClippedSubviews?: boolean | undefined | undefined;
479
+ testID?: string | undefined | undefined;
480
+ nativeID?: string | undefined | undefined;
481
+ collapsable?: boolean | undefined | undefined;
482
+ collapsableChildren?: boolean | undefined | undefined;
483
+ onBlur?: null | ((event: react_native.NativeSyntheticEvent<react_native.TargetedEvent>) => void) | undefined | undefined;
484
+ onFocus?: null | ((event: react_native.NativeSyntheticEvent<react_native.TargetedEvent>) => void) | undefined | undefined;
485
+ renderToHardwareTextureAndroid?: boolean | undefined | undefined;
486
+ focusable?: boolean | undefined | undefined;
487
+ tabIndex?: 0 | -1 | undefined | undefined;
488
+ shouldRasterizeIOS?: boolean | undefined | undefined;
489
+ isTVSelectable?: boolean | undefined | undefined;
490
+ hasTVPreferredFocus?: boolean | undefined | undefined;
491
+ tvParallaxShiftDistanceX?: number | undefined | undefined;
492
+ tvParallaxShiftDistanceY?: number | undefined | undefined;
493
+ tvParallaxTiltAngle?: number | undefined | undefined;
494
+ tvParallaxMagnification?: number | undefined | undefined;
495
+ onStartShouldSetResponder?: ((event: GestureResponderEvent) => boolean) | undefined | undefined;
496
+ onMoveShouldSetResponder?: ((event: GestureResponderEvent) => boolean) | undefined | undefined;
497
+ onResponderEnd?: ((event: GestureResponderEvent) => void) | undefined | undefined;
498
+ onResponderGrant?: ((event: GestureResponderEvent) => void) | undefined | undefined;
499
+ onResponderReject?: ((event: GestureResponderEvent) => void) | undefined | undefined;
500
+ onResponderMove?: ((event: GestureResponderEvent) => void) | undefined | undefined;
501
+ onResponderRelease?: ((event: GestureResponderEvent) => void) | undefined | undefined;
502
+ onResponderStart?: ((event: GestureResponderEvent) => void) | undefined | undefined;
503
+ onResponderTerminationRequest?: ((event: GestureResponderEvent) => boolean) | undefined | undefined;
504
+ onResponderTerminate?: ((event: GestureResponderEvent) => void) | undefined | undefined;
505
+ onStartShouldSetResponderCapture?: ((event: GestureResponderEvent) => boolean) | undefined | undefined;
506
+ onMoveShouldSetResponderCapture?: ((event: GestureResponderEvent) => boolean) | undefined | undefined;
507
+ onTouchStart?: ((event: GestureResponderEvent) => void) | undefined | undefined;
508
+ onTouchMove?: ((event: GestureResponderEvent) => void) | undefined | undefined;
509
+ onTouchEnd?: ((event: GestureResponderEvent) => void) | undefined | undefined;
510
+ onTouchCancel?: ((event: GestureResponderEvent) => void) | undefined | undefined;
511
+ onTouchEndCapture?: ((event: GestureResponderEvent) => void) | undefined | undefined;
512
+ onPointerEnter?: ((event: react_native.PointerEvent) => void) | undefined | undefined;
513
+ onPointerEnterCapture?: ((event: react_native.PointerEvent) => void) | undefined | undefined;
514
+ onPointerLeave?: ((event: react_native.PointerEvent) => void) | undefined | undefined;
515
+ onPointerLeaveCapture?: ((event: react_native.PointerEvent) => void) | undefined | undefined;
516
+ onPointerMove?: ((event: react_native.PointerEvent) => void) | undefined | undefined;
517
+ onPointerMoveCapture?: ((event: react_native.PointerEvent) => void) | undefined | undefined;
518
+ onPointerCancel?: ((event: react_native.PointerEvent) => void) | undefined | undefined;
519
+ onPointerCancelCapture?: ((event: react_native.PointerEvent) => void) | undefined | undefined;
520
+ onPointerDown?: ((event: react_native.PointerEvent) => void) | undefined | undefined;
521
+ onPointerDownCapture?: ((event: react_native.PointerEvent) => void) | undefined | undefined;
522
+ onPointerUp?: ((event: react_native.PointerEvent) => void) | undefined | undefined;
523
+ onPointerUpCapture?: ((event: react_native.PointerEvent) => void) | undefined | undefined;
524
+ accessible?: boolean | undefined | undefined;
525
+ accessibilityActions?: readonly Readonly<{
526
+ name: react_native.AccessibilityActionName | string;
527
+ label?: string | undefined;
528
+ }>[] | undefined;
529
+ accessibilityLabel?: string | undefined | undefined;
530
+ 'aria-label'?: string | undefined | undefined;
531
+ accessibilityRole?: react_native.AccessibilityRole | undefined;
532
+ accessibilityState?: react_native.AccessibilityState | undefined;
533
+ 'aria-busy'?: boolean | undefined | undefined;
534
+ 'aria-checked'?: boolean | "mixed" | undefined | undefined;
535
+ 'aria-disabled'?: boolean | undefined | undefined;
536
+ 'aria-expanded'?: boolean | undefined | undefined;
537
+ 'aria-selected'?: boolean | undefined | undefined;
538
+ accessibilityHint?: string | undefined | undefined;
539
+ accessibilityValue?: react_native.AccessibilityValue | undefined;
540
+ 'aria-valuemax'?: number | undefined;
541
+ 'aria-valuemin'?: number | undefined;
542
+ 'aria-valuenow'?: number | undefined;
543
+ 'aria-valuetext'?: string | undefined;
544
+ onAccessibilityAction?: ((event: react_native.AccessibilityActionEvent) => void) | undefined | undefined;
545
+ importantForAccessibility?: ("auto" | "yes" | "no" | "no-hide-descendants") | undefined | undefined;
546
+ 'aria-hidden'?: boolean | undefined | undefined;
547
+ 'aria-modal'?: boolean | undefined | undefined;
548
+ role?: react_native.Role | undefined;
549
+ accessibilityLabelledBy?: string | string[] | undefined | undefined;
550
+ 'aria-labelledby'?: string | undefined | undefined;
551
+ accessibilityLiveRegion?: "none" | "polite" | "assertive" | undefined | undefined;
552
+ 'aria-live'?: ("polite" | "assertive" | "off") | undefined | undefined;
553
+ screenReaderFocusable?: boolean | undefined | undefined;
554
+ accessibilityElementsHidden?: boolean | undefined | undefined;
555
+ accessibilityViewIsModal?: boolean | undefined | undefined;
556
+ onAccessibilityEscape?: (() => void) | undefined | undefined;
557
+ onAccessibilityTap?: (() => void) | undefined | undefined;
558
+ onMagicTap?: (() => void) | undefined | undefined;
559
+ accessibilityIgnoresInvertColors?: boolean | undefined | undefined;
560
+ accessibilityLanguage?: string | undefined | undefined;
561
+ accessibilityShowsLargeContentViewer?: boolean | undefined | undefined;
562
+ accessibilityLargeContentTitle?: string | undefined | undefined;
563
+ accessibilityRespondsToUserInteraction?: boolean | undefined | undefined;
564
+ onPress?: null | ((event: GestureResponderEvent) => void) | undefined | undefined;
565
+ onPressIn?: null | ((event: GestureResponderEvent) => void) | undefined | undefined;
566
+ onPressOut?: null | ((event: GestureResponderEvent) => void) | undefined | undefined;
567
+ onLongPress?: null | ((event: GestureResponderEvent) => void) | undefined | undefined;
568
+ delayLongPress?: null | number | undefined | undefined;
569
+ asChild?: boolean | 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
+ pressRetentionOffset?: number | react_native.Insets | null | 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, "pointerEvents" | "style" | "children" | "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" | "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, "pointerEvents" | "style" | "children" | "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" | "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
+ alignContent?: "flex-start" | "flex-end" | "center" | "stretch" | "space-between" | "space-around" | "space-evenly" | undefined | undefined;
701
+ alignItems?: react_native.FlexAlignType | undefined;
702
+ alignSelf?: "auto" | react_native.FlexAlignType | undefined;
703
+ aspectRatio?: number | string | undefined | undefined;
704
+ boxSizing?: "border-box" | "content-box" | undefined | undefined;
705
+ columnGap?: number | string | undefined | undefined;
706
+ direction?: "inherit" | "ltr" | "rtl" | undefined | undefined;
707
+ display?: "none" | "flex" | "contents" | undefined | undefined;
708
+ flex?: number | undefined | undefined;
709
+ flexBasis?: react_native.DimensionValue | undefined;
710
+ flexDirection?: "row" | "column" | "row-reverse" | "column-reverse" | undefined | undefined;
711
+ flexGrow?: number | undefined | undefined;
712
+ flexShrink?: number | undefined | undefined;
713
+ flexWrap?: "wrap" | "nowrap" | "wrap-reverse" | undefined | undefined;
714
+ gap?: number | string | undefined | undefined;
715
+ justifyContent?: "flex-start" | "flex-end" | "center" | "space-between" | "space-around" | "space-evenly" | undefined | undefined;
716
+ overflow?: "visible" | "hidden" | "scroll" | undefined | undefined;
717
+ rowGap?: number | string | undefined | undefined;
718
+ bottom?: react_native.DimensionValue | undefined;
719
+ end?: react_native.DimensionValue | undefined;
720
+ inset?: react_native.DimensionValue | undefined;
721
+ insetBlock?: react_native.DimensionValue | undefined;
722
+ insetBlockEnd?: react_native.DimensionValue | undefined;
723
+ insetBlockStart?: react_native.DimensionValue | undefined;
724
+ insetInline?: react_native.DimensionValue | undefined;
725
+ insetInlineEnd?: react_native.DimensionValue | undefined;
726
+ insetInlineStart?: react_native.DimensionValue | undefined;
727
+ position?: "absolute" | "relative" | "static" | undefined | undefined;
728
+ start?: react_native.DimensionValue | undefined;
729
+ top?: react_native.DimensionValue | undefined;
730
+ zIndex?: number | undefined | undefined;
731
+ margin?: react_native.DimensionValue | undefined;
732
+ marginBlock?: react_native.DimensionValue | undefined;
733
+ marginBlockEnd?: react_native.DimensionValue | undefined;
734
+ marginBlockStart?: react_native.DimensionValue | undefined;
735
+ marginBottom?: react_native.DimensionValue | undefined;
736
+ marginEnd?: react_native.DimensionValue | undefined;
737
+ marginHorizontal?: react_native.DimensionValue | undefined;
738
+ marginInline?: react_native.DimensionValue | undefined;
739
+ marginInlineEnd?: react_native.DimensionValue | undefined;
740
+ marginInlineStart?: react_native.DimensionValue | undefined;
741
+ marginStart?: react_native.DimensionValue | undefined;
742
+ marginTop?: react_native.DimensionValue | undefined;
743
+ marginVertical?: react_native.DimensionValue | undefined;
744
+ padding?: react_native.DimensionValue | undefined;
745
+ paddingBlock?: react_native.DimensionValue | undefined;
746
+ paddingBlockEnd?: react_native.DimensionValue | undefined;
747
+ paddingBlockStart?: react_native.DimensionValue | undefined;
748
+ paddingBottom?: react_native.DimensionValue | undefined;
749
+ paddingEnd?: react_native.DimensionValue | undefined;
750
+ paddingHorizontal?: react_native.DimensionValue | undefined;
751
+ paddingInline?: react_native.DimensionValue | undefined;
752
+ paddingInlineEnd?: react_native.DimensionValue | undefined;
753
+ paddingInlineStart?: react_native.DimensionValue | undefined;
754
+ paddingStart?: react_native.DimensionValue | undefined;
755
+ paddingTop?: react_native.DimensionValue | undefined;
756
+ paddingVertical?: react_native.DimensionValue | undefined;
757
+ height?: react_native.DimensionValue | undefined;
758
+ maxHeight?: react_native.DimensionValue | undefined;
759
+ maxWidth?: react_native.DimensionValue | undefined;
760
+ minHeight?: react_native.DimensionValue | undefined;
761
+ minWidth?: react_native.DimensionValue | undefined;
762
+ width?: react_native.DimensionValue | undefined;
763
+ borderBlockColor?: react_native.ColorValue | undefined;
764
+ borderBlockEndColor?: react_native.ColorValue | undefined;
765
+ borderBlockStartColor?: react_native.ColorValue | undefined;
766
+ borderBottomColor?: react_native.ColorValue | undefined;
767
+ borderBottomEndRadius?: string | react_native.AnimatableNumericValue | undefined;
768
+ borderBottomStartRadius?: string | react_native.AnimatableNumericValue | undefined;
769
+ borderBottomWidth?: number | undefined | undefined;
770
+ borderColor?: react_native.ColorValue | undefined;
771
+ borderCurve?: "circular" | "continuous" | undefined | undefined;
772
+ borderEndColor?: react_native.ColorValue | undefined;
773
+ borderEndEndRadius?: string | react_native.AnimatableNumericValue | undefined;
774
+ borderEndStartRadius?: string | react_native.AnimatableNumericValue | undefined;
775
+ borderEndWidth?: number | undefined | undefined;
776
+ borderRadius?: string | react_native.AnimatableNumericValue | undefined;
777
+ borderStartColor?: react_native.ColorValue | undefined;
778
+ borderStartEndRadius?: string | react_native.AnimatableNumericValue | undefined;
779
+ borderStartStartRadius?: string | react_native.AnimatableNumericValue | undefined;
780
+ borderStartWidth?: number | undefined | undefined;
781
+ borderStyle?: "solid" | "dotted" | "dashed" | undefined | undefined;
782
+ borderTopColor?: react_native.ColorValue | undefined;
783
+ borderTopEndRadius?: string | react_native.AnimatableNumericValue | undefined;
784
+ borderTopStartRadius?: string | react_native.AnimatableNumericValue | undefined;
785
+ borderTopWidth?: number | undefined | undefined;
786
+ borderWidth?: number | undefined | undefined;
787
+ backfaceVisibility?: "visible" | "hidden" | undefined | undefined;
788
+ backgroundColor?: react_native.ColorValue | undefined;
789
+ boxShadow?: string | readonly react_native.BoxShadowValue[] | undefined;
790
+ cursor?: react_native.CursorValue | undefined;
791
+ elevation?: number | undefined | undefined;
792
+ experimental_backgroundImage?: string | readonly react_native.GradientValue[] | undefined;
793
+ filter?: string | readonly react_native.FilterFunction[] | undefined;
794
+ isolation?: "auto" | "isolate" | undefined | undefined;
795
+ mixBlendMode?: react_native.BlendMode | undefined;
796
+ opacity?: react_native.AnimatableNumericValue | undefined;
797
+ outlineColor?: react_native.ColorValue | undefined;
798
+ outlineOffset?: react_native.AnimatableNumericValue | undefined;
799
+ outlineStyle?: "solid" | "dotted" | "dashed" | undefined | undefined;
800
+ outlineWidth?: react_native.AnimatableNumericValue | undefined;
801
+ shadowColor?: react_native.ColorValue | undefined;
802
+ shadowOffset?: Readonly<{
803
+ width: number;
804
+ height: number;
805
+ }> | undefined;
806
+ shadowOpacity?: react_native.AnimatableNumericValue | undefined;
807
+ shadowRadius?: number | undefined | undefined;
808
+ rotation?: react_native.AnimatableNumericValue | undefined;
809
+ scaleX?: react_native.AnimatableNumericValue | undefined;
810
+ scaleY?: react_native.AnimatableNumericValue | undefined;
811
+ transform?: string | readonly (({
812
+ scaleX: react_native.AnimatableNumericValue;
813
+ } & {
814
+ scaleY?: undefined;
815
+ translateX?: undefined;
816
+ translateY?: undefined;
817
+ scale?: undefined;
818
+ skewX?: undefined;
819
+ skewY?: undefined;
820
+ perspective?: undefined;
821
+ rotate?: undefined;
822
+ rotateX?: undefined;
823
+ rotateY?: undefined;
824
+ rotateZ?: undefined;
825
+ matrix?: undefined;
826
+ }) | ({
827
+ scaleY: react_native.AnimatableNumericValue;
828
+ } & {
829
+ scaleX?: undefined;
830
+ translateX?: undefined;
831
+ translateY?: undefined;
832
+ scale?: undefined;
833
+ skewX?: undefined;
834
+ skewY?: undefined;
835
+ perspective?: undefined;
836
+ rotate?: undefined;
837
+ rotateX?: undefined;
838
+ rotateY?: undefined;
839
+ rotateZ?: undefined;
840
+ matrix?: undefined;
841
+ }) | ({
842
+ translateX: react_native.AnimatableNumericValue | `${number}%`;
843
+ } & {
844
+ scaleX?: undefined;
845
+ scaleY?: undefined;
846
+ translateY?: undefined;
847
+ scale?: undefined;
848
+ skewX?: undefined;
849
+ skewY?: undefined;
850
+ perspective?: undefined;
851
+ rotate?: undefined;
852
+ rotateX?: undefined;
853
+ rotateY?: undefined;
854
+ rotateZ?: undefined;
855
+ matrix?: undefined;
856
+ }) | ({
857
+ translateY: react_native.AnimatableNumericValue | `${number}%`;
858
+ } & {
859
+ scaleX?: undefined;
860
+ scaleY?: undefined;
861
+ translateX?: undefined;
862
+ scale?: undefined;
863
+ skewX?: undefined;
864
+ skewY?: undefined;
865
+ perspective?: undefined;
866
+ rotate?: undefined;
867
+ rotateX?: undefined;
868
+ rotateY?: undefined;
869
+ rotateZ?: undefined;
870
+ matrix?: undefined;
871
+ }) | ({
872
+ scale: react_native.AnimatableNumericValue;
873
+ } & {
874
+ scaleX?: undefined;
875
+ scaleY?: undefined;
876
+ translateX?: undefined;
877
+ translateY?: undefined;
878
+ skewX?: undefined;
879
+ skewY?: undefined;
880
+ perspective?: undefined;
881
+ rotate?: undefined;
882
+ rotateX?: undefined;
883
+ rotateY?: undefined;
884
+ rotateZ?: undefined;
885
+ matrix?: undefined;
886
+ }) | ({
887
+ skewX: react_native.AnimatableStringValue;
888
+ } & {
889
+ scaleX?: undefined;
890
+ scaleY?: undefined;
891
+ translateX?: undefined;
892
+ translateY?: undefined;
893
+ scale?: undefined;
894
+ skewY?: undefined;
895
+ perspective?: undefined;
896
+ rotate?: undefined;
897
+ rotateX?: undefined;
898
+ rotateY?: undefined;
899
+ rotateZ?: undefined;
900
+ matrix?: undefined;
901
+ }) | ({
902
+ skewY: react_native.AnimatableStringValue;
903
+ } & {
904
+ scaleX?: undefined;
905
+ scaleY?: undefined;
906
+ translateX?: undefined;
907
+ translateY?: undefined;
908
+ scale?: undefined;
909
+ skewX?: undefined;
910
+ perspective?: undefined;
911
+ rotate?: undefined;
912
+ rotateX?: undefined;
913
+ rotateY?: undefined;
914
+ rotateZ?: undefined;
915
+ matrix?: undefined;
916
+ }) | ({
917
+ perspective: react_native.AnimatableNumericValue;
918
+ } & {
919
+ scaleX?: undefined;
920
+ scaleY?: undefined;
921
+ translateX?: undefined;
922
+ translateY?: undefined;
923
+ scale?: undefined;
924
+ skewX?: undefined;
925
+ skewY?: undefined;
926
+ rotate?: undefined;
927
+ rotateX?: undefined;
928
+ rotateY?: undefined;
929
+ rotateZ?: undefined;
930
+ matrix?: undefined;
931
+ }) | ({
932
+ rotate: react_native.AnimatableStringValue;
933
+ } & {
934
+ scaleX?: undefined;
935
+ scaleY?: undefined;
936
+ translateX?: undefined;
937
+ translateY?: undefined;
938
+ scale?: undefined;
939
+ skewX?: undefined;
940
+ skewY?: undefined;
941
+ perspective?: undefined;
942
+ rotateX?: undefined;
943
+ rotateY?: undefined;
944
+ rotateZ?: undefined;
945
+ matrix?: undefined;
946
+ }) | ({
947
+ rotateX: react_native.AnimatableStringValue;
948
+ } & {
949
+ scaleX?: undefined;
950
+ scaleY?: undefined;
951
+ translateX?: undefined;
952
+ translateY?: undefined;
953
+ scale?: undefined;
954
+ skewX?: undefined;
955
+ skewY?: undefined;
956
+ perspective?: undefined;
957
+ rotate?: undefined;
958
+ rotateY?: undefined;
959
+ rotateZ?: undefined;
960
+ matrix?: undefined;
961
+ }) | ({
962
+ rotateY: react_native.AnimatableStringValue;
963
+ } & {
964
+ scaleX?: undefined;
965
+ scaleY?: undefined;
966
+ translateX?: undefined;
967
+ translateY?: undefined;
968
+ scale?: undefined;
969
+ skewX?: undefined;
970
+ skewY?: undefined;
971
+ perspective?: undefined;
972
+ rotate?: undefined;
973
+ rotateX?: undefined;
974
+ rotateZ?: undefined;
975
+ matrix?: undefined;
976
+ }) | ({
977
+ rotateZ: react_native.AnimatableStringValue;
978
+ } & {
979
+ scaleX?: undefined;
980
+ scaleY?: undefined;
981
+ translateX?: undefined;
982
+ translateY?: undefined;
983
+ scale?: undefined;
984
+ skewX?: undefined;
985
+ skewY?: undefined;
986
+ perspective?: undefined;
987
+ rotate?: undefined;
988
+ rotateX?: undefined;
989
+ rotateY?: undefined;
990
+ matrix?: undefined;
991
+ }) | ({
992
+ matrix: react_native.AnimatableNumericValue[];
993
+ } & {
994
+ scaleX?: undefined;
995
+ scaleY?: undefined;
996
+ translateX?: undefined;
997
+ translateY?: undefined;
998
+ scale?: undefined;
999
+ skewX?: undefined;
1000
+ skewY?: undefined;
1001
+ perspective?: undefined;
1002
+ rotate?: undefined;
1003
+ rotateX?: undefined;
1004
+ rotateY?: undefined;
1005
+ rotateZ?: undefined;
1006
+ }))[] | undefined;
1007
+ transformMatrix?: number[] | undefined;
1008
+ transformOrigin?: string | (string | number)[] | undefined;
1009
+ translateX?: react_native.AnimatableNumericValue | undefined;
1010
+ translateY?: react_native.AnimatableNumericValue | undefined;
1011
+ pointerEvents?: "box-none" | "none" | "box-only" | "auto" | undefined | undefined;
1012
+ hitSlop?: number | react_native.Insets | null | undefined;
1013
+ id?: string | undefined | undefined;
1014
+ needsOffscreenAlphaCompositing?: boolean | undefined | undefined;
1015
+ onLayout?: ((event: react_native.LayoutChangeEvent) => void) | undefined | undefined;
1016
+ removeClippedSubviews?: boolean | undefined | undefined;
1017
+ testID?: string | undefined | undefined;
1018
+ nativeID?: string | undefined | undefined;
1019
+ collapsable?: boolean | undefined | undefined;
1020
+ collapsableChildren?: boolean | undefined | undefined;
1021
+ onBlur?: null | ((event: react_native.NativeSyntheticEvent<react_native.TargetedEvent>) => void) | undefined | undefined;
1022
+ onFocus?: null | ((event: react_native.NativeSyntheticEvent<react_native.TargetedEvent>) => void) | undefined | undefined;
1023
+ renderToHardwareTextureAndroid?: boolean | undefined | undefined;
1024
+ focusable?: boolean | undefined | undefined;
1025
+ tabIndex?: 0 | -1 | undefined | undefined;
1026
+ shouldRasterizeIOS?: boolean | undefined | undefined;
1027
+ isTVSelectable?: boolean | undefined | undefined;
1028
+ hasTVPreferredFocus?: boolean | undefined | undefined;
1029
+ tvParallaxShiftDistanceX?: number | undefined | undefined;
1030
+ tvParallaxShiftDistanceY?: number | undefined | undefined;
1031
+ tvParallaxTiltAngle?: number | undefined | undefined;
1032
+ tvParallaxMagnification?: number | undefined | undefined;
1033
+ onStartShouldSetResponder?: ((event: react_native.GestureResponderEvent) => boolean) | undefined | undefined;
1034
+ onMoveShouldSetResponder?: ((event: react_native.GestureResponderEvent) => boolean) | undefined | undefined;
1035
+ onResponderEnd?: ((event: react_native.GestureResponderEvent) => void) | undefined | undefined;
1036
+ onResponderGrant?: ((event: react_native.GestureResponderEvent) => void) | undefined | undefined;
1037
+ onResponderReject?: ((event: react_native.GestureResponderEvent) => void) | undefined | undefined;
1038
+ onResponderMove?: ((event: react_native.GestureResponderEvent) => void) | undefined | undefined;
1039
+ onResponderRelease?: ((event: react_native.GestureResponderEvent) => void) | undefined | undefined;
1040
+ onResponderStart?: ((event: react_native.GestureResponderEvent) => void) | undefined | undefined;
1041
+ onResponderTerminationRequest?: ((event: react_native.GestureResponderEvent) => boolean) | undefined | undefined;
1042
+ onResponderTerminate?: ((event: react_native.GestureResponderEvent) => void) | undefined | undefined;
1043
+ onStartShouldSetResponderCapture?: ((event: react_native.GestureResponderEvent) => boolean) | undefined | undefined;
1044
+ onMoveShouldSetResponderCapture?: ((event: react_native.GestureResponderEvent) => boolean) | undefined | undefined;
1045
+ onTouchStart?: ((event: react_native.GestureResponderEvent) => void) | undefined | undefined;
1046
+ onTouchMove?: ((event: react_native.GestureResponderEvent) => void) | undefined | undefined;
1047
+ onTouchEnd?: ((event: react_native.GestureResponderEvent) => void) | undefined | undefined;
1048
+ onTouchCancel?: ((event: react_native.GestureResponderEvent) => void) | undefined | undefined;
1049
+ onTouchEndCapture?: ((event: react_native.GestureResponderEvent) => void) | undefined | undefined;
1050
+ onPointerEnter?: ((event: react_native.PointerEvent) => void) | undefined | undefined;
1051
+ onPointerEnterCapture?: ((event: react_native.PointerEvent) => void) | undefined | undefined;
1052
+ onPointerLeave?: ((event: react_native.PointerEvent) => void) | undefined | undefined;
1053
+ onPointerLeaveCapture?: ((event: react_native.PointerEvent) => void) | undefined | undefined;
1054
+ onPointerMove?: ((event: react_native.PointerEvent) => void) | undefined | undefined;
1055
+ onPointerMoveCapture?: ((event: react_native.PointerEvent) => void) | undefined | undefined;
1056
+ onPointerCancel?: ((event: react_native.PointerEvent) => void) | undefined | undefined;
1057
+ onPointerCancelCapture?: ((event: react_native.PointerEvent) => void) | undefined | undefined;
1058
+ onPointerDown?: ((event: react_native.PointerEvent) => void) | undefined | undefined;
1059
+ onPointerDownCapture?: ((event: react_native.PointerEvent) => void) | undefined | undefined;
1060
+ onPointerUp?: ((event: react_native.PointerEvent) => void) | undefined | undefined;
1061
+ onPointerUpCapture?: ((event: react_native.PointerEvent) => void) | undefined | undefined;
1062
+ accessible?: boolean | undefined | undefined;
1063
+ accessibilityActions?: readonly Readonly<{
1064
+ name: react_native.AccessibilityActionName | string;
1065
+ label?: string | undefined;
1066
+ }>[] | undefined;
1067
+ accessibilityLabel?: string | undefined | undefined;
1068
+ 'aria-label'?: string | undefined | undefined;
1069
+ accessibilityRole?: react_native.AccessibilityRole | undefined;
1070
+ accessibilityState?: react_native.AccessibilityState | undefined;
1071
+ 'aria-busy'?: boolean | undefined | undefined;
1072
+ 'aria-checked'?: boolean | "mixed" | undefined | undefined;
1073
+ 'aria-disabled'?: boolean | undefined | undefined;
1074
+ 'aria-expanded'?: boolean | undefined | undefined;
1075
+ 'aria-selected'?: boolean | undefined | undefined;
1076
+ accessibilityHint?: string | undefined | undefined;
1077
+ accessibilityValue?: react_native.AccessibilityValue | undefined;
1078
+ 'aria-valuemax'?: number | undefined;
1079
+ 'aria-valuemin'?: number | undefined;
1080
+ 'aria-valuenow'?: number | undefined;
1081
+ 'aria-valuetext'?: string | undefined;
1082
+ onAccessibilityAction?: ((event: react_native.AccessibilityActionEvent) => void) | undefined | undefined;
1083
+ importantForAccessibility?: ("auto" | "yes" | "no" | "no-hide-descendants") | undefined | undefined;
1084
+ 'aria-hidden'?: boolean | undefined | undefined;
1085
+ 'aria-modal'?: boolean | undefined | undefined;
1086
+ role?: react_native.Role | undefined;
1087
+ accessibilityLabelledBy?: string | string[] | undefined | undefined;
1088
+ 'aria-labelledby'?: string | undefined | undefined;
1089
+ accessibilityLiveRegion?: "none" | "polite" | "assertive" | undefined | undefined;
1090
+ 'aria-live'?: ("polite" | "assertive" | "off") | undefined | undefined;
1091
+ screenReaderFocusable?: boolean | undefined | undefined;
1092
+ accessibilityElementsHidden?: boolean | undefined | undefined;
1093
+ accessibilityViewIsModal?: boolean | undefined | undefined;
1094
+ onAccessibilityEscape?: (() => void) | undefined | undefined;
1095
+ onAccessibilityTap?: (() => void) | undefined | undefined;
1096
+ onMagicTap?: (() => void) | undefined | undefined;
1097
+ accessibilityIgnoresInvertColors?: boolean | undefined | undefined;
1098
+ accessibilityLanguage?: string | undefined | undefined;
1099
+ accessibilityShowsLargeContentViewer?: boolean | undefined | undefined;
1100
+ accessibilityLargeContentTitle?: string | undefined | undefined;
1101
+ accessibilityRespondsToUserInteraction?: boolean | undefined | undefined;
1102
+ onPress?: null | ((event: react_native.GestureResponderEvent) => void) | undefined | undefined;
1103
+ onPressIn?: null | ((event: react_native.GestureResponderEvent) => void) | undefined | undefined;
1104
+ onPressOut?: null | ((event: react_native.GestureResponderEvent) => void) | undefined | undefined;
1105
+ onLongPress?: null | ((event: react_native.GestureResponderEvent) => void) | undefined | undefined;
1106
+ delayLongPress?: null | number | undefined | undefined;
1107
+ asChild?: boolean | 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
+ pressRetentionOffset?: number | react_native.Insets | null | 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, "pointerEvents" | "style" | "children" | "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" | "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, "pointerEvents" | "style" | "children" | "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" | "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 };