@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,117 @@
1
+ import * as react from 'react';
2
+ import { ReactNode } from 'react';
3
+ import * as react_native from 'react-native';
4
+ import { ViewProps, StyleProp, ViewStyle, View } from 'react-native';
5
+ import { V as ViewStyleProps } from '../../style-props.type-CfnoGEP7.cjs';
6
+ import { S as Size, X as XAUITheme } from '../../theme.type-C2gNHpEx.cjs';
7
+ import { R as Recipe, S as SlotStyles } from '../../create-recipe-dC7wMfnj.cjs';
8
+
9
+ type DividerSlot = 'root';
10
+ type DividerOrientation = 'horizontal' | 'vertical';
11
+ type DividerSize = Size;
12
+ /**
13
+ * What the `Divider` itself understands. R14 — a name in here is the component's, so the
14
+ * style prop that shares it is not exposed: `size` is the divider's scale and never
15
+ * `ViewStyle`'s, and `color` is R7's tint.
16
+ *
17
+ * **No `variant`**, and it is the only component in the core without one. A variant is the
18
+ * design system's *vocabulary* (§1 bis) — a name that means the same thing across the
19
+ * library. On a rule there is nothing for that name to describe: no fill against a
20
+ * foreground, no border against a surface, no intent to report. It had three values naming
21
+ * the three separator tokens, which is a shade of grey wearing a word. `size` says how
22
+ * heavy the rule is and `color` says what colour it is, in React Native's own values —
23
+ * between them there is nothing a third name would add.
24
+ */
25
+ type DividerOwnProps = {
26
+ /**
27
+ * Which way the rule runs. A horizontal one stretches across its parent and a vertical
28
+ * one stretches down it, so the axis a divider does *not* run along is the one it takes
29
+ * from whatever contains it.
30
+ */
31
+ orientation?: DividerOrientation;
32
+ /**
33
+ * The thickness — height when horizontal, width when vertical. It is `size` and not
34
+ * `thickness` because that is the vocabulary word (§1 bis), and it is consistent with
35
+ * the rest of the library rather than in spite of it: "`size` drives height, never
36
+ * width" is exactly what this does, on the axis the orientation names.
37
+ *
38
+ * `xs` is the hairline and it is the default, unlike everywhere else in the library.
39
+ * A rule you notice is a rule that is too thick.
40
+ */
41
+ size?: DividerSize;
42
+ /**
43
+ * A raw tint (`'#7c3aed'`), never a token (R7). There is one thing to colour on a rule,
44
+ * so it lands on the rule.
45
+ */
46
+ color?: string;
47
+ /**
48
+ * R12 — the child element becomes the rule and keeps its resolved style. What it is
49
+ * for here is the animated one: an `Animated.View` that collapses a section takes the
50
+ * thickness and the colour from the recipe and the height from a shared value.
51
+ */
52
+ asChild?: boolean;
53
+ style?: StyleProp<ViewStyle>;
54
+ /** Only meaningful under `asChild`, where it is the element that becomes the rule. */
55
+ children?: ReactNode;
56
+ };
57
+ type DividerProps = Omit<ViewProps, 'style'> & DividerOwnProps & Omit<ViewStyleProps, keyof DividerOwnProps | keyof ViewProps>;
58
+
59
+ /**
60
+ * The line between two things.
61
+ *
62
+ * ```tsx
63
+ * <Column gap={12}>
64
+ * <Row>…</Row>
65
+ * <Divider />
66
+ * <Row>…</Row>
67
+ * </Column>
68
+ *
69
+ * <Row gap={12}>
70
+ * <Typography>Brouillon</Typography>
71
+ * <Divider orientation="vertical" />
72
+ * <Typography>Il y a deux minutes</Typography>
73
+ * </Row>
74
+ * ```
75
+ *
76
+ * **One node and no slots.** A rule is a filled box one point thick; there is nothing
77
+ * inside it. A divider with a word in the middle of it is a `Row` holding two of these
78
+ * and a `Typography`, which is the composition the library already has — inventing a
79
+ * `Divider.Label` would put a layout inside a line.
80
+ *
81
+ * **It takes the axis it does not run along from its parent.** `alignSelf: 'stretch'` is
82
+ * the whole mechanism: in a `Column` that is full width, in a `Row` it is full height, and
83
+ * on the axis the thickness fixes it is ignored. So a divider needs no width prop, and a
84
+ * horizontal one written inside a `Row` collapses on purpose rather than guessing.
85
+ */
86
+ declare const Divider: react.ForwardRefExoticComponent<Omit<react_native.ViewProps, "style"> & {
87
+ orientation?: DividerOrientation;
88
+ size?: DividerSize;
89
+ color?: string;
90
+ asChild?: boolean;
91
+ style?: react_native.StyleProp<react_native.ViewStyle>;
92
+ children?: react.ReactNode;
93
+ } & Omit<ViewStyleProps, "size" | "color" | "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" | "asChild" | "orientation"> & react.RefAttributes<View>>;
94
+
95
+ declare const dividerRecipe: Recipe<"root", "default", {
96
+ readonly size: {
97
+ readonly xs: (theme: XAUITheme) => SlotStyles<DividerSlot>;
98
+ readonly sm: (theme: XAUITheme) => SlotStyles<DividerSlot>;
99
+ readonly md: (theme: XAUITheme) => SlotStyles<DividerSlot>;
100
+ readonly lg: (theme: XAUITheme) => SlotStyles<DividerSlot>;
101
+ };
102
+ /** Second, so it releases the axis `size` had to write blind. */
103
+ readonly orientation: {
104
+ readonly horizontal: () => {
105
+ root: {
106
+ width: "auto";
107
+ };
108
+ };
109
+ readonly vertical: () => {
110
+ root: {
111
+ height: "auto";
112
+ };
113
+ };
114
+ };
115
+ }>;
116
+
117
+ export { Divider, type DividerOrientation, type DividerProps, type DividerSize, type DividerSlot, dividerRecipe };
@@ -0,0 +1,117 @@
1
+ import * as react from 'react';
2
+ import { ReactNode } from 'react';
3
+ import * as react_native from 'react-native';
4
+ import { ViewProps, StyleProp, ViewStyle, View } from 'react-native';
5
+ import { V as ViewStyleProps } from '../../style-props.type-CfnoGEP7.js';
6
+ import { S as Size, X as XAUITheme } from '../../theme.type-C2gNHpEx.js';
7
+ import { R as Recipe, S as SlotStyles } from '../../create-recipe-BdVd2ffi.js';
8
+
9
+ type DividerSlot = 'root';
10
+ type DividerOrientation = 'horizontal' | 'vertical';
11
+ type DividerSize = Size;
12
+ /**
13
+ * What the `Divider` itself understands. R14 — a name in here is the component's, so the
14
+ * style prop that shares it is not exposed: `size` is the divider's scale and never
15
+ * `ViewStyle`'s, and `color` is R7's tint.
16
+ *
17
+ * **No `variant`**, and it is the only component in the core without one. A variant is the
18
+ * design system's *vocabulary* (§1 bis) — a name that means the same thing across the
19
+ * library. On a rule there is nothing for that name to describe: no fill against a
20
+ * foreground, no border against a surface, no intent to report. It had three values naming
21
+ * the three separator tokens, which is a shade of grey wearing a word. `size` says how
22
+ * heavy the rule is and `color` says what colour it is, in React Native's own values —
23
+ * between them there is nothing a third name would add.
24
+ */
25
+ type DividerOwnProps = {
26
+ /**
27
+ * Which way the rule runs. A horizontal one stretches across its parent and a vertical
28
+ * one stretches down it, so the axis a divider does *not* run along is the one it takes
29
+ * from whatever contains it.
30
+ */
31
+ orientation?: DividerOrientation;
32
+ /**
33
+ * The thickness — height when horizontal, width when vertical. It is `size` and not
34
+ * `thickness` because that is the vocabulary word (§1 bis), and it is consistent with
35
+ * the rest of the library rather than in spite of it: "`size` drives height, never
36
+ * width" is exactly what this does, on the axis the orientation names.
37
+ *
38
+ * `xs` is the hairline and it is the default, unlike everywhere else in the library.
39
+ * A rule you notice is a rule that is too thick.
40
+ */
41
+ size?: DividerSize;
42
+ /**
43
+ * A raw tint (`'#7c3aed'`), never a token (R7). There is one thing to colour on a rule,
44
+ * so it lands on the rule.
45
+ */
46
+ color?: string;
47
+ /**
48
+ * R12 — the child element becomes the rule and keeps its resolved style. What it is
49
+ * for here is the animated one: an `Animated.View` that collapses a section takes the
50
+ * thickness and the colour from the recipe and the height from a shared value.
51
+ */
52
+ asChild?: boolean;
53
+ style?: StyleProp<ViewStyle>;
54
+ /** Only meaningful under `asChild`, where it is the element that becomes the rule. */
55
+ children?: ReactNode;
56
+ };
57
+ type DividerProps = Omit<ViewProps, 'style'> & DividerOwnProps & Omit<ViewStyleProps, keyof DividerOwnProps | keyof ViewProps>;
58
+
59
+ /**
60
+ * The line between two things.
61
+ *
62
+ * ```tsx
63
+ * <Column gap={12}>
64
+ * <Row>…</Row>
65
+ * <Divider />
66
+ * <Row>…</Row>
67
+ * </Column>
68
+ *
69
+ * <Row gap={12}>
70
+ * <Typography>Brouillon</Typography>
71
+ * <Divider orientation="vertical" />
72
+ * <Typography>Il y a deux minutes</Typography>
73
+ * </Row>
74
+ * ```
75
+ *
76
+ * **One node and no slots.** A rule is a filled box one point thick; there is nothing
77
+ * inside it. A divider with a word in the middle of it is a `Row` holding two of these
78
+ * and a `Typography`, which is the composition the library already has — inventing a
79
+ * `Divider.Label` would put a layout inside a line.
80
+ *
81
+ * **It takes the axis it does not run along from its parent.** `alignSelf: 'stretch'` is
82
+ * the whole mechanism: in a `Column` that is full width, in a `Row` it is full height, and
83
+ * on the axis the thickness fixes it is ignored. So a divider needs no width prop, and a
84
+ * horizontal one written inside a `Row` collapses on purpose rather than guessing.
85
+ */
86
+ declare const Divider: react.ForwardRefExoticComponent<Omit<react_native.ViewProps, "style"> & {
87
+ orientation?: DividerOrientation;
88
+ size?: DividerSize;
89
+ color?: string;
90
+ asChild?: boolean;
91
+ style?: react_native.StyleProp<react_native.ViewStyle>;
92
+ children?: react.ReactNode;
93
+ } & Omit<ViewStyleProps, "size" | "color" | "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" | "asChild" | "orientation"> & react.RefAttributes<View>>;
94
+
95
+ declare const dividerRecipe: Recipe<"root", "default", {
96
+ readonly size: {
97
+ readonly xs: (theme: XAUITheme) => SlotStyles<DividerSlot>;
98
+ readonly sm: (theme: XAUITheme) => SlotStyles<DividerSlot>;
99
+ readonly md: (theme: XAUITheme) => SlotStyles<DividerSlot>;
100
+ readonly lg: (theme: XAUITheme) => SlotStyles<DividerSlot>;
101
+ };
102
+ /** Second, so it releases the axis `size` had to write blind. */
103
+ readonly orientation: {
104
+ readonly horizontal: () => {
105
+ root: {
106
+ width: "auto";
107
+ };
108
+ };
109
+ readonly vertical: () => {
110
+ root: {
111
+ height: "auto";
112
+ };
113
+ };
114
+ };
115
+ }>;
116
+
117
+ export { Divider, type DividerOrientation, type DividerProps, type DividerSize, type DividerSlot, dividerRecipe };
@@ -0,0 +1,13 @@
1
+ import {
2
+ Divider,
3
+ dividerRecipe
4
+ } from "../../chunk-ZH5XVNHG.js";
5
+ import "../../chunk-4GTAZM2C.js";
6
+ import "../../chunk-A3EGFI6T.js";
7
+ import "../../chunk-E2CWBQTV.js";
8
+ import "../../chunk-URSKA2VR.js";
9
+ import "../../chunk-GGW42MY4.js";
10
+ export {
11
+ Divider,
12
+ dividerRecipe
13
+ };
@@ -0,0 +1,25 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
+
3
+
4
+
5
+
6
+
7
+
8
+
9
+
10
+ var _chunk5Z4P6WHRcjs = require('../../chunk-5Z4P6WHR.cjs');
11
+ require('../../chunk-FNEUOBCV.cjs');
12
+ require('../../chunk-57SJ4LJF.cjs');
13
+ require('../../chunk-ZP2E2H2G.cjs');
14
+ require('../../chunk-GLGU2WFL.cjs');
15
+ require('../../chunk-MC7SY2QH.cjs');
16
+
17
+
18
+
19
+
20
+
21
+
22
+
23
+
24
+
25
+ exports.Input = _chunk5Z4P6WHRcjs.Input; exports.InputDescription = _chunk5Z4P6WHRcjs.InputDescription; exports.InputError = _chunk5Z4P6WHRcjs.InputError; exports.InputField = _chunk5Z4P6WHRcjs.InputField; exports.InputLabel = _chunk5Z4P6WHRcjs.InputLabel; exports.InputRoot = _chunk5Z4P6WHRcjs.InputRoot; exports.inputRecipe = _chunk5Z4P6WHRcjs.inputRecipe; exports.useInput = _chunk5Z4P6WHRcjs.useInput;
@@ -0,0 +1,205 @@
1
+ import * as react from 'react';
2
+ import * as react_native from 'react-native';
3
+ import { View, Text, TextInput } from 'react-native';
4
+ import { V as ViewStyleProps, T as TextStyleProps } from '../../style-props.type-CfnoGEP7.cjs';
5
+ import { R as RadiusKey, X as XAUITheme } from '../../theme.type-C2gNHpEx.cjs';
6
+ import { i as InputVariant, g as InputSize, e as InputLabelPlacement, b as InputContextValue, h as InputSlot } from '../../input.type-BUMDlzL9.cjs';
7
+ export { c as InputDescriptionProps, d as InputErrorProps, I as InputFieldProps, f as InputLabelProps, a as InputProps } from '../../input.type-BUMDlzL9.cjs';
8
+ import { R as Recipe, S as SlotStyles, a as StyleFn } from '../../create-recipe-dC7wMfnj.cjs';
9
+
10
+ /**
11
+ * A text field, with the label, the hint and the error that make it usable.
12
+ *
13
+ * ```tsx
14
+ * <Input>
15
+ * <Input.Label>Courriel</Input.Label>
16
+ * <Input.Field
17
+ * value={email}
18
+ * onChangeText={setEmail}
19
+ * placeholder="nom@exemple.fr"
20
+ * keyboardType="email-address"
21
+ * />
22
+ * <Input.Description>On ne le partage jamais.</Input.Description>
23
+ * </Input>
24
+ *
25
+ * <Input isInvalid={Boolean(error)}>
26
+ * <Input.Label>Mot de passe</Input.Label>
27
+ * <Input.Field secureTextEntry value={password} onChangeText={setPassword} />
28
+ * {error ? <Input.Error>{error}</Input.Error> : null}
29
+ * </Input>
30
+ * ```
31
+ *
32
+ * **The root is the column, not the field.** `Input.Field` is the `TextInput`, which is
33
+ * what makes the label, the hint and the error slots of one component rather than three
34
+ * components a form has to keep in step — and it is why `TextInputProps` are on the field
35
+ * rather than on the root.
36
+ *
37
+ * There is no auto-wrap here (R3): a string child of an input is not a label, a value or
38
+ * a placeholder in any way the component could guess.
39
+ */
40
+ declare const InputRoot: react.ForwardRefExoticComponent<{
41
+ variant?: InputVariant;
42
+ size?: InputSize;
43
+ radius?: RadiusKey;
44
+ labelPlacement?: InputLabelPlacement;
45
+ color?: string;
46
+ isInvalid?: boolean;
47
+ isDisabled?: boolean;
48
+ style?: react_native.StyleProp<react_native.ViewStyle>;
49
+ children?: react.ReactNode;
50
+ } & Omit<react_native.ViewProps, keyof {
51
+ variant?: InputVariant;
52
+ size?: InputSize;
53
+ radius?: RadiusKey;
54
+ labelPlacement?: InputLabelPlacement;
55
+ color?: string;
56
+ isInvalid?: boolean;
57
+ isDisabled?: boolean;
58
+ style?: react_native.StyleProp<react_native.ViewStyle>;
59
+ children?: react.ReactNode;
60
+ }> & Omit<ViewStyleProps, "variant" | "size" | "radius" | "color" | "isDisabled" | "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" | "isInvalid" | "labelPlacement"> & {
61
+ asChild?: boolean;
62
+ } & react.RefAttributes<View>>;
63
+
64
+ /**
65
+ * The hint under the field — the format expected, what the value is used for.
66
+ *
67
+ * It carries the id the field points at with `aria-describedby`, so it is read after the
68
+ * label rather than skipped. It turns `danger` with `isInvalid`, like the label.
69
+ *
70
+ * It sits inset by half the field's padding, so the column reads as one block rather than
71
+ * as a label, a box and a stray line.
72
+ */
73
+ declare const InputDescription: react.ForwardRefExoticComponent<react_native.TextProps & Omit<TextStyleProps, keyof react_native.TextProps> & {
74
+ children?: react.ReactNode;
75
+ } & react.RefAttributes<Text>>;
76
+
77
+ /**
78
+ * What is wrong with the value, in `danger`.
79
+ *
80
+ * **It always renders what it is given.** `isInvalid` paints the border, the label and the
81
+ * description; it does not mount or unmount this slot, because a slot that silently
82
+ * renders nothing is a slot you cannot debug — you write the condition yourself and see
83
+ * it:
84
+ *
85
+ * ```tsx
86
+ * <Input isInvalid={Boolean(error)}>
87
+ * <Input.Field value={value} onChangeText={onChange} />
88
+ * {error ? <Input.Error>{error}</Input.Error> : null}
89
+ * </Input>
90
+ * ```
91
+ *
92
+ * `accessibilityLiveRegion` is deliberately not set: an error that appears while you are
93
+ * still typing in the field is announced by the field's own `aria-invalid`, and a live
94
+ * region on top of that reads the message on every keystroke that changes it.
95
+ */
96
+ declare const InputError: react.ForwardRefExoticComponent<react_native.TextProps & Omit<TextStyleProps, keyof react_native.TextProps> & {
97
+ children?: react.ReactNode;
98
+ } & react.RefAttributes<Text>>;
99
+
100
+ /**
101
+ * The `TextInput` itself — the one node of this component that the user types into.
102
+ *
103
+ * ```tsx
104
+ * <Input.Field value={email} onChangeText={setEmail} placeholder="nom@exemple.fr" />
105
+ * ```
106
+ *
107
+ * It takes everything `TextInput` takes, which is why `value`, `defaultValue`, `onChange`,
108
+ * `keyboardType`, `secureTextEntry`, `autoComplete` and `multiline` are written here and
109
+ * not on the root. There is no `type`: that is an HTML prop, and React Native splits it
110
+ * into `inputMode`, `keyboardType`, `secureTextEntry` and `autoComplete`.
111
+ *
112
+ * What it does *not* take is `editable`: that is `disabled` under another name, and R8
113
+ * keeps it off the public surface — `isDisabled` on the root is what stops the field.
114
+ *
115
+ * It reports focus up rather than styling it (R5): the root's recipe resolves on the
116
+ * focus state, so the root owns it and this composes the caller's handlers into the two
117
+ * the context published.
118
+ */
119
+ declare const InputField: react.ForwardRefExoticComponent<Omit<react_native.TextInputProps, "editable"> & Omit<TextStyleProps, keyof react_native.TextInputProps> & react.RefAttributes<TextInput>>;
120
+
121
+ /**
122
+ * What the field is for. It turns `danger` with `isInvalid`, so the field that is wrong is
123
+ * findable on a long form without reading every message.
124
+ *
125
+ * It carries the id the field points at, which is what makes a screen reader announce
126
+ * "Courriel, champ de saisie" instead of reading the placeholder and hoping.
127
+ *
128
+ * Its colour comes from the theme's `foreground` rather than the variant's: the label sits
129
+ * outside the box, on the screen behind it, so a tinted field does not tint it.
130
+ */
131
+ declare const InputLabel: react.ForwardRefExoticComponent<react_native.TextProps & Omit<TextStyleProps, keyof react_native.TextProps> & {
132
+ children?: react.ReactNode;
133
+ } & react.RefAttributes<Text>>;
134
+
135
+ declare const useInput: () => InputContextValue;
136
+
137
+ declare const inputRecipe: Recipe<"field" | "label" | "description" | "suffix" | "root" | "icon" | "textArea" | "placeholder" | "error" | "prefix", InputVariant, {
138
+ readonly size: {
139
+ readonly xs: (theme: XAUITheme) => SlotStyles<InputSlot>;
140
+ readonly sm: (theme: XAUITheme) => SlotStyles<InputSlot>;
141
+ readonly md: (theme: XAUITheme) => SlotStyles<InputSlot>;
142
+ readonly lg: (theme: XAUITheme) => SlotStyles<InputSlot>;
143
+ };
144
+ readonly radius: Record<RadiusKey, StyleFn<"field">>;
145
+ /**
146
+ * `outside` is the base behaviour, so it adds nothing — it is declared because an
147
+ * axis needs both of its values for the selection to be typed, and because a reader
148
+ * looking for "what does outside do" should find the answer here rather than infer it
149
+ * from an absence. The size-dependent half of `inside` is in `compoundVariants`.
150
+ */
151
+ readonly labelPlacement: {
152
+ readonly outside: () => {};
153
+ readonly inside: () => {};
154
+ };
155
+ readonly isInvalid: {
156
+ readonly true: (theme: XAUITheme) => {
157
+ field: {
158
+ borderColor: string;
159
+ };
160
+ label: {
161
+ color: string;
162
+ };
163
+ description: {
164
+ color: string;
165
+ };
166
+ };
167
+ };
168
+ }>;
169
+
170
+ declare const Input: react.ForwardRefExoticComponent<{
171
+ variant?: InputVariant;
172
+ size?: InputSize;
173
+ radius?: RadiusKey;
174
+ labelPlacement?: InputLabelPlacement;
175
+ color?: string;
176
+ isInvalid?: boolean;
177
+ isDisabled?: boolean;
178
+ style?: react_native.StyleProp<react_native.ViewStyle>;
179
+ children?: react.ReactNode;
180
+ } & Omit<react_native.ViewProps, keyof {
181
+ variant?: InputVariant;
182
+ size?: InputSize;
183
+ radius?: RadiusKey;
184
+ labelPlacement?: InputLabelPlacement;
185
+ color?: string;
186
+ isInvalid?: boolean;
187
+ isDisabled?: boolean;
188
+ style?: react_native.StyleProp<react_native.ViewStyle>;
189
+ children?: react.ReactNode;
190
+ }> & Omit<ViewStyleProps, "variant" | "size" | "radius" | "color" | "isDisabled" | "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" | "isInvalid" | "labelPlacement"> & {
191
+ asChild?: boolean;
192
+ } & react.RefAttributes<react_native.View>> & {
193
+ Label: react.ForwardRefExoticComponent<react_native.TextProps & Omit<TextStyleProps, keyof react_native.TextProps> & {
194
+ children?: react.ReactNode;
195
+ } & react.RefAttributes<react_native.Text>>;
196
+ Field: react.ForwardRefExoticComponent<Omit<react_native.TextInputProps, "editable"> & Omit<TextStyleProps, keyof react_native.TextInputProps> & react.RefAttributes<react_native.TextInput>>;
197
+ Description: react.ForwardRefExoticComponent<react_native.TextProps & Omit<TextStyleProps, keyof react_native.TextProps> & {
198
+ children?: react.ReactNode;
199
+ } & react.RefAttributes<react_native.Text>>;
200
+ Error: react.ForwardRefExoticComponent<react_native.TextProps & Omit<TextStyleProps, keyof react_native.TextProps> & {
201
+ children?: react.ReactNode;
202
+ } & react.RefAttributes<react_native.Text>>;
203
+ };
204
+
205
+ export { Input, InputContextValue, InputDescription, InputError, InputField, InputLabel, InputLabelPlacement, InputRoot, InputSize, InputSlot, InputVariant, inputRecipe, useInput };