panelui-native 0.6.0 → 0.9.0

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 (181) hide show
  1. package/README.md +1 -1
  2. package/lib/module/components/accordion/index.js +7 -5
  3. package/lib/module/components/accordion/index.js.map +1 -1
  4. package/lib/module/components/alert/index.js +3 -6
  5. package/lib/module/components/alert/index.js.map +1 -1
  6. package/lib/module/components/attachment/index.js +219 -0
  7. package/lib/module/components/attachment/index.js.map +1 -0
  8. package/lib/module/components/bottom-sheet/index.js +82 -4
  9. package/lib/module/components/bottom-sheet/index.js.map +1 -1
  10. package/lib/module/components/button/index.js +36 -1
  11. package/lib/module/components/button/index.js.map +1 -1
  12. package/lib/module/components/dialog/index.js +6 -2
  13. package/lib/module/components/dialog/index.js.map +1 -1
  14. package/lib/module/components/empty-state/index.js +98 -22
  15. package/lib/module/components/empty-state/index.js.map +1 -1
  16. package/lib/module/components/inline-select/index.js +171 -46
  17. package/lib/module/components/inline-select/index.js.map +1 -1
  18. package/lib/module/components/input/index.js +28 -5
  19. package/lib/module/components/input/index.js.map +1 -1
  20. package/lib/module/components/input-group/index.js +0 -1
  21. package/lib/module/components/input-group/index.js.map +1 -1
  22. package/lib/module/components/item/index.js +359 -0
  23. package/lib/module/components/item/index.js.map +1 -0
  24. package/lib/module/components/label/index.js +5 -3
  25. package/lib/module/components/label/index.js.map +1 -1
  26. package/lib/module/components/line-chart/index.js +1024 -0
  27. package/lib/module/components/line-chart/index.js.map +1 -0
  28. package/lib/module/components/marker/index.js +190 -0
  29. package/lib/module/components/marker/index.js.map +1 -0
  30. package/lib/module/components/message/index.js +334 -0
  31. package/lib/module/components/message/index.js.map +1 -0
  32. package/lib/module/components/message-scroller/index.js +451 -0
  33. package/lib/module/components/message-scroller/index.js.map +1 -0
  34. package/lib/module/components/popover/index.js +500 -0
  35. package/lib/module/components/popover/index.js.map +1 -0
  36. package/lib/module/components/radio-group/index.js +104 -16
  37. package/lib/module/components/radio-group/index.js.map +1 -1
  38. package/lib/module/components/scroll-fade/index.js +119 -71
  39. package/lib/module/components/scroll-fade/index.js.map +1 -1
  40. package/lib/module/components/select/index.js +35 -6
  41. package/lib/module/components/select/index.js.map +1 -1
  42. package/lib/module/components/separator/index.js +91 -0
  43. package/lib/module/components/separator/index.js.map +1 -0
  44. package/lib/module/components/shimmer/index.js +111 -64
  45. package/lib/module/components/shimmer/index.js.map +1 -1
  46. package/lib/module/components/surface/index.js +24 -4
  47. package/lib/module/components/surface/index.js.map +1 -1
  48. package/lib/module/components/switch/index.js +20 -1
  49. package/lib/module/components/switch/index.js.map +1 -1
  50. package/lib/module/components/toast/index.js +7 -8
  51. package/lib/module/components/toast/index.js.map +1 -1
  52. package/lib/module/components/typography/index.js +3 -3
  53. package/lib/module/hooks/index.js +1 -0
  54. package/lib/module/hooks/index.js.map +1 -1
  55. package/lib/module/hooks/use-breakpoint.js +2 -2
  56. package/lib/module/hooks/use-copy-to-clipboard.js +0 -2
  57. package/lib/module/hooks/use-copy-to-clipboard.js.map +1 -1
  58. package/lib/module/hooks/use-keyboard-avoidance.js +120 -0
  59. package/lib/module/hooks/use-keyboard-avoidance.js.map +1 -0
  60. package/lib/module/icons/index.js +73 -4
  61. package/lib/module/icons/index.js.map +1 -1
  62. package/lib/module/index.js +13 -1
  63. package/lib/module/index.js.map +1 -1
  64. package/lib/module/native/index.js +53 -0
  65. package/lib/module/native/index.js.map +1 -0
  66. package/lib/module/primitives/keyboard-avoider.js +40 -0
  67. package/lib/module/primitives/keyboard-avoider.js.map +1 -0
  68. package/lib/module/primitives/scrim.js +72 -0
  69. package/lib/module/primitives/scrim.js.map +1 -0
  70. package/lib/module/providers/panel-ui-provider.js +24 -4
  71. package/lib/module/providers/panel-ui-provider.js.map +1 -1
  72. package/lib/module/theme/use-theme.js +1 -1
  73. package/lib/typescript/src/components/accordion/index.d.ts +7 -5
  74. package/lib/typescript/src/components/accordion/index.d.ts.map +1 -1
  75. package/lib/typescript/src/components/alert/index.d.ts +3 -6
  76. package/lib/typescript/src/components/alert/index.d.ts.map +1 -1
  77. package/lib/typescript/src/components/attachment/index.d.ts +93 -0
  78. package/lib/typescript/src/components/attachment/index.d.ts.map +1 -0
  79. package/lib/typescript/src/components/bottom-sheet/index.d.ts +27 -2
  80. package/lib/typescript/src/components/bottom-sheet/index.d.ts.map +1 -1
  81. package/lib/typescript/src/components/button/index.d.ts +11 -0
  82. package/lib/typescript/src/components/button/index.d.ts.map +1 -1
  83. package/lib/typescript/src/components/dialog/index.d.ts +7 -1
  84. package/lib/typescript/src/components/dialog/index.d.ts.map +1 -1
  85. package/lib/typescript/src/components/empty-state/index.d.ts +156 -7
  86. package/lib/typescript/src/components/empty-state/index.d.ts.map +1 -1
  87. package/lib/typescript/src/components/inline-select/index.d.ts +29 -6
  88. package/lib/typescript/src/components/inline-select/index.d.ts.map +1 -1
  89. package/lib/typescript/src/components/input/index.d.ts +13 -0
  90. package/lib/typescript/src/components/input/index.d.ts.map +1 -1
  91. package/lib/typescript/src/components/input-group/index.d.ts +0 -1
  92. package/lib/typescript/src/components/input-group/index.d.ts.map +1 -1
  93. package/lib/typescript/src/components/item/index.d.ts +286 -0
  94. package/lib/typescript/src/components/item/index.d.ts.map +1 -0
  95. package/lib/typescript/src/components/label/index.d.ts +5 -3
  96. package/lib/typescript/src/components/label/index.d.ts.map +1 -1
  97. package/lib/typescript/src/components/line-chart/index.d.ts +247 -0
  98. package/lib/typescript/src/components/line-chart/index.d.ts.map +1 -0
  99. package/lib/typescript/src/components/marker/index.d.ts +137 -0
  100. package/lib/typescript/src/components/marker/index.d.ts.map +1 -0
  101. package/lib/typescript/src/components/message/index.d.ts +177 -0
  102. package/lib/typescript/src/components/message/index.d.ts.map +1 -0
  103. package/lib/typescript/src/components/message-scroller/index.d.ts +150 -0
  104. package/lib/typescript/src/components/message-scroller/index.d.ts.map +1 -0
  105. package/lib/typescript/src/components/popover/index.d.ts +130 -0
  106. package/lib/typescript/src/components/popover/index.d.ts.map +1 -0
  107. package/lib/typescript/src/components/radio-group/index.d.ts +32 -0
  108. package/lib/typescript/src/components/radio-group/index.d.ts.map +1 -1
  109. package/lib/typescript/src/components/scroll-fade/index.d.ts +18 -9
  110. package/lib/typescript/src/components/scroll-fade/index.d.ts.map +1 -1
  111. package/lib/typescript/src/components/select/index.d.ts +16 -1
  112. package/lib/typescript/src/components/select/index.d.ts.map +1 -1
  113. package/lib/typescript/src/components/separator/index.d.ts +47 -0
  114. package/lib/typescript/src/components/separator/index.d.ts.map +1 -0
  115. package/lib/typescript/src/components/shimmer/index.d.ts +38 -20
  116. package/lib/typescript/src/components/shimmer/index.d.ts.map +1 -1
  117. package/lib/typescript/src/components/surface/index.d.ts +51 -2
  118. package/lib/typescript/src/components/surface/index.d.ts.map +1 -1
  119. package/lib/typescript/src/components/switch/index.d.ts +10 -0
  120. package/lib/typescript/src/components/switch/index.d.ts.map +1 -1
  121. package/lib/typescript/src/components/toast/index.d.ts +4 -4
  122. package/lib/typescript/src/components/toast/index.d.ts.map +1 -1
  123. package/lib/typescript/src/hooks/index.d.ts +1 -0
  124. package/lib/typescript/src/hooks/index.d.ts.map +1 -1
  125. package/lib/typescript/src/hooks/use-breakpoint.d.ts +2 -2
  126. package/lib/typescript/src/hooks/use-copy-to-clipboard.d.ts +0 -2
  127. package/lib/typescript/src/hooks/use-copy-to-clipboard.d.ts.map +1 -1
  128. package/lib/typescript/src/hooks/use-keyboard-avoidance.d.ts +20 -0
  129. package/lib/typescript/src/hooks/use-keyboard-avoidance.d.ts.map +1 -0
  130. package/lib/typescript/src/icons/index.d.ts +10 -4
  131. package/lib/typescript/src/icons/index.d.ts.map +1 -1
  132. package/lib/typescript/src/index.d.ts +11 -1
  133. package/lib/typescript/src/index.d.ts.map +1 -1
  134. package/lib/typescript/src/native/index.d.ts +35 -0
  135. package/lib/typescript/src/native/index.d.ts.map +1 -0
  136. package/lib/typescript/src/primitives/keyboard-avoider.d.ts +22 -0
  137. package/lib/typescript/src/primitives/keyboard-avoider.d.ts.map +1 -0
  138. package/lib/typescript/src/primitives/scrim.d.ts +21 -0
  139. package/lib/typescript/src/primitives/scrim.d.ts.map +1 -0
  140. package/lib/typescript/src/providers/panel-ui-provider.d.ts +1 -1
  141. package/lib/typescript/src/providers/panel-ui-provider.d.ts.map +1 -1
  142. package/lib/typescript/src/theme/use-theme.d.ts +1 -1
  143. package/package.json +16 -3
  144. package/src/components/accordion/index.tsx +7 -5
  145. package/src/components/alert/index.tsx +3 -6
  146. package/src/components/attachment/index.tsx +279 -0
  147. package/src/components/bottom-sheet/index.tsx +102 -2
  148. package/src/components/button/index.tsx +52 -0
  149. package/src/components/dialog/index.tsx +10 -1
  150. package/src/components/empty-state/index.tsx +64 -19
  151. package/src/components/inline-select/index.tsx +191 -44
  152. package/src/components/input/index.tsx +39 -3
  153. package/src/components/input-group/index.tsx +0 -1
  154. package/src/components/item/index.tsx +387 -0
  155. package/src/components/label/index.tsx +5 -3
  156. package/src/components/line-chart/index.tsx +1224 -0
  157. package/src/components/marker/index.tsx +194 -0
  158. package/src/components/message/index.tsx +336 -0
  159. package/src/components/message-scroller/index.tsx +574 -0
  160. package/src/components/popover/index.tsx +599 -0
  161. package/src/components/radio-group/index.tsx +108 -17
  162. package/src/components/scroll-fade/index.tsx +163 -51
  163. package/src/components/select/index.tsx +54 -9
  164. package/src/components/separator/index.tsx +97 -0
  165. package/src/components/shimmer/index.tsx +151 -58
  166. package/src/components/surface/index.tsx +32 -5
  167. package/src/components/switch/index.tsx +27 -1
  168. package/src/components/toast/index.tsx +7 -8
  169. package/src/components/typography/index.tsx +3 -3
  170. package/src/hooks/index.ts +5 -0
  171. package/src/hooks/use-breakpoint.ts +2 -2
  172. package/src/hooks/use-copy-to-clipboard.ts +0 -2
  173. package/src/hooks/use-keyboard-avoidance.ts +140 -0
  174. package/src/icons/index.tsx +52 -4
  175. package/src/index.ts +92 -0
  176. package/src/native/index.ts +79 -0
  177. package/src/primitives/keyboard-avoider.tsx +49 -0
  178. package/src/primitives/scrim.tsx +95 -0
  179. package/src/providers/panel-ui-provider.tsx +30 -9
  180. package/src/theme/use-theme.ts +1 -1
  181. package/theme.css +63 -3
@@ -1,11 +1,29 @@
1
1
  "use strict";
2
2
 
3
+ import { Fragment } from 'react';
3
4
  import { StyleSheet, View } from 'react-native';
4
5
  import { GestureHandlerRootView } from 'react-native-gesture-handler';
5
6
  import { PortalHost, PortalProvider } from "../primitives/portal.js";
6
7
  import { ToastViewport } from "../components/toast/index.js";
7
8
  import { cn } from "../utils/cn.js";
9
+
10
+ /**
11
+ * `react-native-keyboard-controller` needs its provider at the root, and
12
+ * forgetting it is a silent failure — the hooks return zeroes and keyboard
13
+ * avoidance simply does nothing. Mount it here when the package is installed
14
+ * so `avoidKeyboard` works without any extra setup, and fall back to a
15
+ * pass-through when it is not.
16
+ */
8
17
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
18
+ const KeyboardProvider = (() => {
19
+ try {
20
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
21
+ const controller = require('react-native-keyboard-controller');
22
+ return controller?.KeyboardProvider ?? Fragment;
23
+ } catch {
24
+ return Fragment;
25
+ }
26
+ })();
9
27
  /**
10
28
  * Root provider for PanelUI. Owns three things:
11
29
  * the gesture handler root, the themed page background, and the portal host
@@ -25,10 +43,12 @@ export function PanelUIProvider({
25
43
  }) {
26
44
  return /*#__PURE__*/_jsx(GestureHandlerRootView, {
27
45
  style: styles.root,
28
- children: /*#__PURE__*/_jsx(View, {
29
- className: cn('flex-1', background && 'bg-background', className),
30
- children: /*#__PURE__*/_jsxs(PortalProvider, {
31
- children: [children, /*#__PURE__*/_jsx(ToastViewport, {}), /*#__PURE__*/_jsx(PortalHost, {})]
46
+ children: /*#__PURE__*/_jsx(KeyboardProvider, {
47
+ children: /*#__PURE__*/_jsx(View, {
48
+ className: cn('flex-1', background && 'bg-background', className),
49
+ children: /*#__PURE__*/_jsxs(PortalProvider, {
50
+ children: [children, /*#__PURE__*/_jsx(ToastViewport, {}), /*#__PURE__*/_jsx(PortalHost, {})]
51
+ })
32
52
  })
33
53
  })
34
54
  });
@@ -1 +1 @@
1
- {"version":3,"names":["StyleSheet","View","GestureHandlerRootView","PortalHost","PortalProvider","ToastViewport","cn","jsx","_jsx","jsxs","_jsxs","PanelUIProvider","children","className","background","style","styles","root","create","flex"],"sourceRoot":"../../../src","sources":["providers/panel-ui-provider.tsx"],"mappings":";;AACA,SAASA,UAAU,EAAEC,IAAI,QAAQ,cAAc;AAC/C,SAASC,sBAAsB,QAAQ,8BAA8B;AACrE,SAASC,UAAU,EAAEC,cAAc,QAAQ,yBAAsB;AACjE,SAASC,aAAa,QAAQ,8BAAqB;AACnD,SAASC,EAAE,QAAQ,gBAAa;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAgBjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,eAAeA,CAAC;EAC9BC,QAAQ;EACRC,SAAS;EACTC,UAAU,GAAG;AACO,CAAC,EAAE;EACvB,oBACEN,IAAA,CAACN,sBAAsB;IAACa,KAAK,EAAEC,MAAM,CAACC,IAAK;IAAAL,QAAA,eACzCJ,IAAA,CAACP,IAAI;MAACY,SAAS,EAAEP,EAAE,CAAC,QAAQ,EAAEQ,UAAU,IAAI,eAAe,EAAED,SAAS,CAAE;MAAAD,QAAA,eACtEF,KAAA,CAACN,cAAc;QAAAQ,QAAA,GACZA,QAAQ,eAETJ,IAAA,CAACH,aAAa,IAAE,CAAC,eACjBG,IAAA,CAACL,UAAU,IAAE,CAAC;MAAA,CACA;IAAC,CACb;EAAC,CACe,CAAC;AAE7B;AAEA,MAAMa,MAAM,GAAGhB,UAAU,CAACkB,MAAM,CAAC;EAC/BD,IAAI,EAAE;IAAEE,IAAI,EAAE;EAAE;AAClB,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["Fragment","StyleSheet","View","GestureHandlerRootView","PortalHost","PortalProvider","ToastViewport","cn","jsx","_jsx","jsxs","_jsxs","KeyboardProvider","controller","require","PanelUIProvider","children","className","background","style","styles","root","create","flex"],"sourceRoot":"../../../src","sources":["providers/panel-ui-provider.tsx"],"mappings":";;AAAA,SAASA,QAAQ,QAA4C,OAAO;AACpE,SAASC,UAAU,EAAEC,IAAI,QAAQ,cAAc;AAC/C,SAASC,sBAAsB,QAAQ,8BAA8B;AACrE,SAASC,UAAU,EAAEC,cAAc,QAAQ,yBAAsB;AACjE,SAASC,aAAa,QAAQ,8BAAqB;AACnD,SAASC,EAAE,QAAQ,gBAAa;;AAEhC;AACA;AACA;AACA;AACA;AACA;AACA;AANA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAOA,MAAMC,gBAAyD,GAAG,CAAC,MAAM;EACvE,IAAI;IACF;IACA,MAAMC,UAAU,GAAGC,OAAO,CAAC,kCAAkC,CAAC;IAC9D,OAAOD,UAAU,EAAED,gBAAgB,IAAIZ,QAAQ;EACjD,CAAC,CAAC,MAAM;IACN,OAAOA,QAAQ;EACjB;AACF,CAAC,EAAE,CAAC;AAgBJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASe,eAAeA,CAAC;EAC9BC,QAAQ;EACRC,SAAS;EACTC,UAAU,GAAG;AACO,CAAC,EAAE;EACvB,oBACET,IAAA,CAACN,sBAAsB;IAACgB,KAAK,EAAEC,MAAM,CAACC,IAAK;IAAAL,QAAA,eAGzCP,IAAA,CAACG,gBAAgB;MAAAI,QAAA,eACfP,IAAA,CAACP,IAAI;QAACe,SAAS,EAAEV,EAAE,CAAC,QAAQ,EAAEW,UAAU,IAAI,eAAe,EAAED,SAAS,CAAE;QAAAD,QAAA,eACtEL,KAAA,CAACN,cAAc;UAAAW,QAAA,GACZA,QAAQ,eAETP,IAAA,CAACH,aAAa,IAAE,CAAC,eACjBG,IAAA,CAACL,UAAU,IAAE,CAAC;QAAA,CACA;MAAC,CACb;IAAC,CACS;EAAC,CACG,CAAC;AAE7B;AAEA,MAAMgB,MAAM,GAAGnB,UAAU,CAACqB,MAAM,CAAC;EAC/BD,IAAI,EAAE;IAAEE,IAAI,EAAE;EAAE;AAClB,CAAC,CAAC","ignoreList":[]}
@@ -11,7 +11,7 @@ import { Uniwind, useUniwind } from 'uniwind';
11
11
  /**
12
12
  * The theme families PanelUI ships. Each sets its own palette *and* its own
13
13
  * radius scale, so switching family changes the shape of the UI as well as
14
- * its colour — Panel is the Coss default, Moon is sharp and monochrome,
14
+ * its colour — Panel is the default, Moon is sharp and monochrome,
15
15
  * Grass is soft and green.
16
16
  *
17
17
  * Everything beyond `panel` must be registered in your metro config, or
@@ -1,12 +1,14 @@
1
1
  /**
2
2
  * Accordion — collapsible sections.
3
3
  *
4
- * Adapted from: heroui-inc/heroui-native src/components/accordion/
5
- * (the Item / Trigger / Indicator / Content anatomy, single vs multiple
6
- * selection, the rotating chevron indicator, and layout-transition expand).
4
+ * Split into Item / Trigger / Indicator / Content so a section header can hold
5
+ * anything — a badge, a price, a second line — instead of only a string. The
6
+ * chevron rotates rather than swapping glyphs, and the panel expands through a
7
+ * layout transition, both on the UI thread.
7
8
  *
8
- * Upstream ships `default` and `surface`; the extra variants here follow the
9
- * same slot structure.
9
+ * `selectionMode` decides whether opening one section closes the others, which
10
+ * also changes the shape of `value`: a string when single, an array when
11
+ * multiple.
10
12
  */
11
13
  import { type ReactNode } from 'react';
12
14
  import { View, type Text as RNText, type ViewProps } from 'react-native';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/accordion/index.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EASL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,EAAa,IAAI,EAAE,KAAK,IAAI,IAAI,MAAM,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AASpF,OAAO,EAAQ,KAAK,SAAS,EAAE,MAAM,0BAAuB,CAAC;AAE7D,MAAM,MAAM,gBAAgB,GACxB,SAAS,GACT,SAAS,GACT,WAAW,GACX,UAAU,GACV,OAAO,CAAC;AAEZ,MAAM,MAAM,sBAAsB,GAAG,QAAQ,GAAG,UAAU,CAAC;AA0E3D,MAAM,WAAW,cAAe,SAAQ,SAAS;IAC/C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B,2DAA2D;IAC3D,aAAa,CAAC,EAAE,sBAAsB,CAAC;IACvC,0CAA0C;IAC1C,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACjC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,IAAI,CAAC;IACnD,8CAA8C;IAC9C,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AA0ED,MAAM,WAAW,kBAAmB,SAAQ,SAAS;IACnD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qDAAqD;IACrD,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AA6BD,MAAM,WAAW,qBAAsB,SAAQ,SAAS;IACtD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AA8BD,MAAM,WAAW,uBAAwB,SAAQ,SAAS;IACxD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oCAAoC;IACpC,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AA4BD,MAAM,WAAW,qBAAsB,SAAQ,SAAS;IACtD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAmCD,eAAO,MAAM,SAAS;;;;;;CAMpB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/accordion/index.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EASL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,EAAa,IAAI,EAAE,KAAK,IAAI,IAAI,MAAM,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AASpF,OAAO,EAAQ,KAAK,SAAS,EAAE,MAAM,0BAAuB,CAAC;AAE7D,MAAM,MAAM,gBAAgB,GACxB,SAAS,GACT,SAAS,GACT,WAAW,GACX,UAAU,GACV,OAAO,CAAC;AAEZ,MAAM,MAAM,sBAAsB,GAAG,QAAQ,GAAG,UAAU,CAAC;AA0E3D,MAAM,WAAW,cAAe,SAAQ,SAAS;IAC/C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B,2DAA2D;IAC3D,aAAa,CAAC,EAAE,sBAAsB,CAAC;IACvC,0CAA0C;IAC1C,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACjC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,IAAI,CAAC;IACnD,8CAA8C;IAC9C,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AA0ED,MAAM,WAAW,kBAAmB,SAAQ,SAAS;IACnD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qDAAqD;IACrD,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AA6BD,MAAM,WAAW,qBAAsB,SAAQ,SAAS;IACtD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AA8BD,MAAM,WAAW,uBAAwB,SAAQ,SAAS;IACxD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oCAAoC;IACpC,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AA4BD,MAAM,WAAW,qBAAsB,SAAQ,SAAS;IACtD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAmCD,eAAO,MAAM,SAAS;;;;;;CAMpB,CAAC"}
@@ -1,12 +1,9 @@
1
1
  /**
2
2
  * Alert — a status message with an optional leading status icon.
3
3
  *
4
- * Adapted from: heroui-inc/heroui-native src/components/alert/alert.tsx
5
- * (Indicator / Content / Title / Description anatomy, status-driven icon and
6
- * title colour), restyled with Coss UI tokens.
7
- *
8
- * The `variant` prop name is kept from PanelUI v0.2 rather than renamed to
9
- * HeroUI's `status`, so existing code keeps working.
4
+ * The indicator derives its icon and colour from the variant, so a success
5
+ * alert cannot end up with a warning icon. Pass `icon` on the root to override
6
+ * it everywhere, or give `Alert.Indicator` children to override one.
10
7
  */
11
8
  import { type ReactNode } from 'react';
12
9
  import { View, type Text as RNText, type ViewProps } from 'react-native';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/alert/index.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAyC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAC9E,OAAO,EAAE,IAAI,EAAE,KAAK,IAAI,IAAI,MAAM,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AACzE,OAAO,EAAM,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAG1D,OAAO,EAAQ,KAAK,SAAS,EAAE,MAAM,0BAAuB,CAAC;AAG7D,QAAA,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2CAmCjB,CAAC;AAuBH,MAAM,WAAW,UAAW,SAAQ,SAAS,EAAE,YAAY,CAAC,OAAO,aAAa,CAAC;IAC/E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;OAKG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AA6BD,MAAM,WAAW,mBAAoB,SAAQ,SAAS;IACpD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4DAA4D;IAC5D,SAAS,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9C,iDAAiD;IACjD,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAqDD,eAAO,MAAM,KAAK;IAChB,oEAAoE;;IAEpE,mDAAmD;;oBA9BW,MAAM;;;;CAkCpE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/alert/index.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAyC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAC9E,OAAO,EAAE,IAAI,EAAE,KAAK,IAAI,IAAI,MAAM,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AACzE,OAAO,EAAM,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAG1D,OAAO,EAAQ,KAAK,SAAS,EAAE,MAAM,0BAAuB,CAAC;AAG7D,QAAA,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2CAmCjB,CAAC;AAuBH,MAAM,WAAW,UAAW,SAAQ,SAAS,EAAE,YAAY,CAAC,OAAO,aAAa,CAAC;IAC/E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;OAKG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AA6BD,MAAM,WAAW,mBAAoB,SAAQ,SAAS;IACpD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4DAA4D;IAC5D,SAAS,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9C,iDAAiD;IACjD,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAqDD,eAAO,MAAM,KAAK;IAChB,oEAAoE;;IAEpE,mDAAmD;;oBA9BW,MAAM;;;;CAkCpE,CAAC"}
@@ -0,0 +1,93 @@
1
+ /**
2
+ * Attachment — a file, with its upload life.
3
+ *
4
+ * A file in a chat composer or an upload list is the same row shape `Item`
5
+ * already draws — media, a name, a size, a remove button — so this is that row,
6
+ * not a second one. What it adds is the part `Item` has no opinion on: the
7
+ * file's *state*. A file is picked, then uploading, then processing, then done
8
+ * (or failed), and each of those has to look different or the user cannot tell
9
+ * a stuck upload from a finished one.
10
+ *
11
+ * ```tsx
12
+ * <Attachment state="uploading">
13
+ * <Attachment.Media><FileIcon /></Attachment.Media>
14
+ * <Attachment.Content>
15
+ * <Attachment.Title>report.pdf</Attachment.Title>
16
+ * <Attachment.Description>PDF · 2.4 MB</Attachment.Description>
17
+ * </Attachment.Content>
18
+ * <Attachment.Actions>
19
+ * <Attachment.Action aria-label="Cancel"><XIcon size={14} /></Attachment.Action>
20
+ * </Attachment.Actions>
21
+ * </Attachment>
22
+ * ```
23
+ *
24
+ * While uploading or processing the title shimmers — the same sweep the rest of
25
+ * the library uses for "in progress" — and an optional bar tracks `progress`.
26
+ * A failed file tints its name and description in the destructive colour, which
27
+ * carries the state without relying on an icon nobody reads.
28
+ */
29
+ import { type ReactNode } from 'react';
30
+ import { View, type ViewProps } from 'react-native';
31
+ import { type AnimatedPressableProps } from '../../primitives/animated-pressable.js';
32
+ import { type TextProps } from '../../primitives/text.js';
33
+ export type AttachmentState = 'idle' | 'uploading' | 'processing' | 'error' | 'done';
34
+ type AttachmentSize = 'default' | 'sm' | 'xs';
35
+ export interface AttachmentProps extends Omit<AnimatedPressableProps, 'children' | 'disabled'> {
36
+ className?: string;
37
+ /**
38
+ * Where the file is in its life. `uploading`/`processing` shimmer the name;
39
+ * `error` tints the row destructive. Default `done`.
40
+ */
41
+ state?: AttachmentState;
42
+ /** Row density, passed through to the underlying Item. */
43
+ size?: AttachmentSize;
44
+ /** Stack the row into a card — for a horizontal group of thumbnails. */
45
+ orientation?: 'horizontal' | 'vertical';
46
+ /** Upload progress 0–1. Draws a thin bar along the bottom while busy. */
47
+ progress?: number;
48
+ disabled?: boolean;
49
+ children?: ReactNode;
50
+ }
51
+ export interface AttachmentGroupProps extends ViewProps {
52
+ className?: string;
53
+ orientation?: 'horizontal' | 'vertical';
54
+ children?: ReactNode;
55
+ }
56
+ export interface AttachmentMediaProps extends ViewProps {
57
+ className?: string;
58
+ /** `icon` frames it in a tile; `image` clips it for a thumbnail. */
59
+ variant?: 'default' | 'icon' | 'image';
60
+ children?: ReactNode;
61
+ }
62
+ export interface AttachmentContentProps extends ViewProps {
63
+ className?: string;
64
+ children?: ReactNode;
65
+ }
66
+ export interface AttachmentTitleProps extends TextProps {
67
+ className?: string;
68
+ children?: ReactNode;
69
+ }
70
+ export interface AttachmentDescriptionProps extends TextProps {
71
+ className?: string;
72
+ children?: ReactNode;
73
+ }
74
+ export interface AttachmentActionsProps extends ViewProps {
75
+ className?: string;
76
+ children?: ReactNode;
77
+ }
78
+ export interface AttachmentActionProps extends Omit<AnimatedPressableProps, 'children'> {
79
+ className?: string;
80
+ accessibilityLabel: string;
81
+ children?: ReactNode;
82
+ }
83
+ export declare const Attachment: import("react").ForwardRefExoticComponent<AttachmentProps & import("react").RefAttributes<View>> & {
84
+ Group: import("react").ForwardRefExoticComponent<AttachmentGroupProps & import("react").RefAttributes<View>>;
85
+ Media: import("react").ForwardRefExoticComponent<AttachmentMediaProps & import("react").RefAttributes<View>>;
86
+ Content: import("react").ForwardRefExoticComponent<AttachmentContentProps & import("react").RefAttributes<View>>;
87
+ Title: import("react").ForwardRefExoticComponent<AttachmentTitleProps & import("react").RefAttributes<import("react-native").Text>>;
88
+ Description: import("react").ForwardRefExoticComponent<AttachmentDescriptionProps & import("react").RefAttributes<import("react-native").Text>>;
89
+ Actions: import("react").ForwardRefExoticComponent<AttachmentActionsProps & import("react").RefAttributes<View>>;
90
+ Action: import("react").ForwardRefExoticComponent<AttachmentActionProps & import("react").RefAttributes<View>>;
91
+ };
92
+ export {};
93
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/attachment/index.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,OAAO,EAAyC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAC9E,OAAO,EAAE,IAAI,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAGpD,OAAO,EAAqB,KAAK,sBAAsB,EAAE,MAAM,wCAAqC,CAAC;AACrG,OAAO,EAAQ,KAAK,SAAS,EAAE,MAAM,0BAAuB,CAAC;AAK7D,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,WAAW,GAAG,YAAY,GAAG,OAAO,GAAG,MAAM,CAAC;AACrF,KAAK,cAAc,GAAG,SAAS,GAAG,IAAI,GAAG,IAAI,CAAC;AA+B9C,MAAM,WAAW,eACf,SAAQ,IAAI,CAAC,sBAAsB,EAAE,UAAU,GAAG,UAAU,CAAC;IAC7D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB,0DAA0D;IAC1D,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,wEAAwE;IACxE,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;IACxC,yEAAyE;IACzE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAyCD,MAAM,WAAW,oBAAqB,SAAQ,SAAS;IACrD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;IACxC,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAYD,MAAM,WAAW,oBAAqB,SAAQ,SAAS;IACrD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oEAAoE;IACpE,OAAO,CAAC,EAAE,SAAS,GAAG,MAAM,GAAG,OAAO,CAAC;IACvC,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAYD,MAAM,WAAW,sBAAuB,SAAQ,SAAS;IACvD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAWD,MAAM,WAAW,oBAAqB,SAAQ,SAAS;IACrD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAyBD,MAAM,WAAW,0BAA2B,SAAQ,SAAS;IAC3D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAqBD,MAAM,WAAW,sBAAuB,SAAQ,SAAS;IACvD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAWD,MAAM,WAAW,qBACf,SAAQ,IAAI,CAAC,sBAAsB,EAAE,UAAU,CAAC;IAChD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAyBD,eAAO,MAAM,UAAU;;;;;;;;CAQrB,CAAC"}
@@ -5,8 +5,28 @@ export interface BottomSheetProps {
5
5
  open?: boolean;
6
6
  onOpenChange?: (open: boolean) => void;
7
7
  defaultOpen?: boolean;
8
+ /**
9
+ * Present the platform's own sheet instead of this one, so it gets the
10
+ * system's detents, scroll interaction and dismiss gesture. Requires the
11
+ * optional `@expo/ui` package; without it this prop does nothing.
12
+ *
13
+ * **Theme tokens do not apply to the sheet chrome** — the platform draws the
14
+ * container, so `BottomSheet.Content`'s `className` and its drag handle are
15
+ * ignored. The content inside is still yours.
16
+ */
17
+ native?: boolean;
18
+ /**
19
+ * Heights the native sheet can rest at. Omit to size to the content.
20
+ * `{ fraction }` and `{ height }` are iOS-only; Android snaps them to the
21
+ * nearest of `half` / `full`.
22
+ */
23
+ snapPoints?: ('half' | 'full' | {
24
+ fraction: number;
25
+ } | {
26
+ height: number;
27
+ })[];
8
28
  }
9
- declare function BottomSheetRoot({ children, open, onOpenChange, defaultOpen, }: BottomSheetProps): import("react").JSX.Element;
29
+ declare function BottomSheetRoot({ children, open, onOpenChange, defaultOpen, native, snapPoints, }: BottomSheetProps): import("react").JSX.Element;
10
30
  interface BottomSheetTriggerProps {
11
31
  children: ReactElement<{
12
32
  onPress?: (...args: unknown[]) => void;
@@ -19,9 +39,14 @@ export interface BottomSheetContentProps extends ViewProps {
19
39
  className?: string;
20
40
  /** Tap on the backdrop closes the sheet. Default true. */
21
41
  dismissible?: boolean;
42
+ /**
43
+ * Show a close button in the top-right corner. On by default for the styled
44
+ * sheet; ignored by the native sheet, which has its own dismiss affordances.
45
+ */
46
+ showClose?: boolean;
22
47
  children?: ReactNode;
23
48
  }
24
- declare function BottomSheetContent({ className, dismissible, children, ...props }: BottomSheetContentProps): import("react").JSX.Element | null;
49
+ declare function BottomSheetContent({ className, dismissible, showClose, children, ...props }: BottomSheetContentProps): import("react").JSX.Element | null;
25
50
  export declare const BottomSheet: typeof BottomSheetRoot & {
26
51
  Trigger: typeof BottomSheetTrigger;
27
52
  Content: typeof BottomSheetContent;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/bottom-sheet/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAQL,KAAK,YAAY,EACjB,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,EAAwC,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAoCpF,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,SAAS,CAAC;IACpB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,iBAAS,eAAe,CAAC,EACvB,QAAQ,EACR,IAAI,EACJ,YAAY,EACZ,WAAmB,GACpB,EAAE,gBAAgB,+BAuBlB;AAED,UAAU,uBAAuB;IAC/B,QAAQ,EAAE,YAAY,CAAC;QAAE,OAAO,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAA;KAAE,CAAC,CAAC;CACpE;AAED,iBAAS,kBAAkB,CAAC,EAAE,QAAQ,EAAE,EAAE,uBAAuB;cAH5B,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI;wDAahE;AAED,MAAM,WAAW,uBAAwB,SAAQ,SAAS;IACxD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0DAA0D;IAC1D,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,iBAAS,kBAAkB,CAAC,EAC1B,SAAS,EACT,WAAkB,EAClB,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,uBAAuB,sCAyEzB;AAED,eAAO,MAAM,WAAW;;;CAGtB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/bottom-sheet/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAQL,KAAK,YAAY,EACjB,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,EAAwC,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAuCpF,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,SAAS,CAAC;IACpB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;;;;;OAQG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;;OAIG;IACH,UAAU,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,GAAG;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,GAAG;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,EAAE,CAAC;CAC9E;AAWD,iBAAS,eAAe,CAAC,EACvB,QAAQ,EACR,IAAI,EACJ,YAAY,EACZ,WAAmB,EACnB,MAAM,EACN,UAAU,GACX,EAAE,gBAAgB,+BA+BlB;AAED,UAAU,uBAAuB;IAC/B,QAAQ,EAAE,YAAY,CAAC;QAAE,OAAO,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAA;KAAE,CAAC,CAAC;CACpE;AAED,iBAAS,kBAAkB,CAAC,EAAE,QAAQ,EAAE,EAAE,uBAAuB;cAH5B,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI;wDAahE;AAED,MAAM,WAAW,uBAAwB,SAAQ,SAAS;IACxD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0DAA0D;IAC1D,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,iBAAS,kBAAkB,CAAC,EAC1B,SAAS,EACT,WAAkB,EAClB,SAAgB,EAChB,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,uBAAuB,sCAiIzB;AAED,eAAO,MAAM,WAAW;;;CAGtB,CAAC"}
@@ -210,6 +210,17 @@ export interface ButtonProps extends Omit<AnimatedPressableProps, 'children' | '
210
210
  endContent?: ReactNode;
211
211
  /** Extra classes for the label when children is a string. */
212
212
  labelClassName?: string;
213
+ /**
214
+ * Render the platform's own button instead of this one. Requires the
215
+ * optional `@expo/ui` package; without it this prop does nothing.
216
+ *
217
+ * **Theme tokens do not apply** — the platform draws the button, so
218
+ * `className`, `size`, `fullWidth`, `startContent`, `endContent` and
219
+ * `loading` are all ignored. `variant` maps onto the nearest platform
220
+ * style: `primary`/`destructive` → filled, `outline` → outlined, everything
221
+ * else → text.
222
+ */
223
+ native?: boolean;
213
224
  }
214
225
  export declare const Button: import("react").ForwardRefExoticComponent<ButtonProps & import("react").RefAttributes<View>>;
215
226
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/button/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AACnD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAM,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAE1D,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,wCAAqC,CAAC;AAK7C,QAAA,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;QAiCd,6EAA6E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAA7E,6EAA6E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAA7E,6EAA6E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2CAwBjF,CAAC;AAEH,KAAK,kBAAkB,GAAG,YAAY,CAAC,OAAO,cAAc,CAAC,CAAC;AAsB9D,MAAM,WAAW,WACf,SAAQ,IAAI,CAAC,sBAAsB,EAAE,UAAU,GAAG,UAAU,CAAC,EAC3D,IAAI,CAAC,kBAAkB,EAAE,UAAU,CAAC;IACtC,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,qEAAqE;IACrE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,iFAAiF;IACjF,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,wCAAwC;IACxC,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,6DAA6D;IAC7D,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,eAAO,MAAM,MAAM,8FAiElB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/button/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AACnD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAM,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAE1D,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,wCAAqC,CAAC;AAM7C,QAAA,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;QAiCd,6EAA6E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAA7E,6EAA6E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAA7E,6EAA6E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2CAwBjF,CAAC;AAEH,KAAK,kBAAkB,GAAG,YAAY,CAAC,OAAO,cAAc,CAAC,CAAC;AAsB9D,MAAM,WAAW,WACf,SAAQ,IAAI,CAAC,sBAAsB,EAAE,UAAU,GAAG,UAAU,CAAC,EAC3D,IAAI,CAAC,kBAAkB,EAAE,UAAU,CAAC;IACtC,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,qEAAqE;IACrE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,iFAAiF;IACjF,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,wCAAwC;IACxC,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,6DAA6D;IAC7D,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;;;;;;OASG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAeD,eAAO,MAAM,MAAM,8FA4FlB,CAAC"}
@@ -23,9 +23,15 @@ export interface DialogContentProps extends ViewProps {
23
23
  className?: string;
24
24
  /** Tap on the backdrop closes the dialog. Default true. */
25
25
  dismissible?: boolean;
26
+ /**
27
+ * Frost the screen behind the dialog instead of dimming it. Uses `expo-blur`
28
+ * when installed and falls back to the dim when it is not, so it is safe to
29
+ * pass either way.
30
+ */
31
+ blur?: boolean;
26
32
  children?: ReactNode;
27
33
  }
28
- declare function DialogContent({ className, dismissible, children, ...props }: DialogContentProps): import("react").JSX.Element | null;
34
+ declare function DialogContent({ className, dismissible, blur, children, ...props }: DialogContentProps): import("react").JSX.Element | null;
29
35
  declare function DialogFooter({ className, ...props }: ViewProps & {
30
36
  className?: string;
31
37
  }): import("react").JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/dialog/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EASL,KAAK,YAAY,EACjB,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,EAAmB,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAG/D,OAAO,EAAQ,KAAK,SAAS,EAAE,MAAM,0BAAuB,CAAC;AAkB7D,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,SAAS,CAAC;IACpB,6BAA6B;IAC7B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,uCAAuC;IACvC,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,iBAAS,UAAU,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,WAAmB,EAAE,EAAE,WAAW,+BAmBrF;AAED,UAAU,kBAAkB;IAC1B,QAAQ,EAAE,YAAY,CAAC;QAAE,OAAO,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAA;KAAE,CAAC,CAAC;CACpE;AAED,qDAAqD;AACrD,iBAAS,aAAa,CAAC,EAAE,QAAQ,EAAE,EAAE,kBAAkB;cAJlB,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI;wDAchE;AAED,MAAM,WAAW,kBAAmB,SAAQ,SAAS;IACnD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2DAA2D;IAC3D,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,iBAAS,aAAa,CAAC,EACrB,SAAS,EACT,WAAkB,EAClB,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,kBAAkB,sCAqCpB;AAsBD,iBAAS,YAAY,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,SAAS,GAAG;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,+BAOhF;AAED,UAAU,gBAAgB;IACxB,QAAQ,EAAE,YAAY,CAAC;QAAE,OAAO,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAA;KAAE,CAAC,CAAC;CACpE;AAED,sDAAsD;AACtD,iBAAS,WAAW,CAAC,EAAE,QAAQ,EAAE,EAAE,gBAAgB;cAJd,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI;wDAchE;AAED,eAAO,MAAM,MAAM;;;;;;;CAOjB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/dialog/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EASL,KAAK,YAAY,EACjB,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,EAAmB,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAI/D,OAAO,EAAQ,KAAK,SAAS,EAAE,MAAM,0BAAuB,CAAC;AAkB7D,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,SAAS,CAAC;IACpB,6BAA6B;IAC7B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,uCAAuC;IACvC,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,iBAAS,UAAU,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,WAAmB,EAAE,EAAE,WAAW,+BAmBrF;AAED,UAAU,kBAAkB;IAC1B,QAAQ,EAAE,YAAY,CAAC;QAAE,OAAO,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAA;KAAE,CAAC,CAAC;CACpE;AAED,qDAAqD;AACrD,iBAAS,aAAa,CAAC,EAAE,QAAQ,EAAE,EAAE,kBAAkB;cAJlB,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI;wDAchE;AAED,MAAM,WAAW,kBAAmB,SAAQ,SAAS;IACnD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2DAA2D;IAC3D,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;OAIG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,iBAAS,aAAa,CAAC,EACrB,SAAS,EACT,WAAkB,EAClB,IAAY,EACZ,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,kBAAkB,sCAsCpB;AAsBD,iBAAS,YAAY,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,SAAS,GAAG;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,+BAOhF;AAED,UAAU,gBAAgB;IACxB,QAAQ,EAAE,YAAY,CAAC;QAAE,OAAO,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAA;KAAE,CAAC,CAAC;CACpE;AAED,sDAAsD;AACtD,iBAAS,WAAW,CAAC,EAAE,QAAQ,EAAE,EAAE,gBAAgB;cAJd,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI;wDAchE;AAED,eAAO,MAAM,MAAM;;;;;;;CAOjB,CAAC"}
@@ -1,16 +1,113 @@
1
1
  /**
2
2
  * EmptyState — the placeholder shown when a list or view has no content.
3
3
  *
4
- * Adapted from: cosscom/coss packages/ui/src/components/empty.tsx
5
- * (centered Header / Media / Title / Description / Content anatomy, and the
6
- * `icon` media variant that stacks two rotated ghost cards behind the icon).
7
- * Coss does that with CSS pseudo-elements; on native it is two absolutely
8
- * positioned siblings with static rotate transforms.
4
+ * Centred Header / Media / Title / Description / Content, with an `icon` media
5
+ * variant that stacks two rotated ghost cards behind the icon. On the web that
6
+ * is a pair of CSS pseudo-elements; React Native has none, so it is two
7
+ * absolutely positioned siblings with static rotate transforms.
9
8
  */
10
9
  import { type ReactNode } from 'react';
11
10
  import { View, type Text as RNText, type ViewProps } from 'react-native';
12
11
  import { type VariantProps } from 'tailwind-variants';
13
12
  import { type TextProps } from '../../primitives/text.js';
13
+ type EmptyStateSize = 'sm' | 'default' | 'lg';
14
+ declare const emptyStateVariants: import("tailwind-variants").TVReturnType<{
15
+ variant: {
16
+ default: {
17
+ root: string;
18
+ };
19
+ card: {
20
+ root: string;
21
+ };
22
+ };
23
+ size: {
24
+ sm: {
25
+ root: string;
26
+ title: string;
27
+ description: string;
28
+ };
29
+ default: {
30
+ root: string;
31
+ title: string;
32
+ description: string;
33
+ };
34
+ lg: {
35
+ root: string;
36
+ title: string;
37
+ description: string;
38
+ };
39
+ };
40
+ }, {
41
+ root: string;
42
+ header: string;
43
+ title: string;
44
+ description: string;
45
+ content: string;
46
+ }, undefined, {
47
+ variant: {
48
+ default: {
49
+ root: string;
50
+ };
51
+ card: {
52
+ root: string;
53
+ };
54
+ };
55
+ size: {
56
+ sm: {
57
+ root: string;
58
+ title: string;
59
+ description: string;
60
+ };
61
+ default: {
62
+ root: string;
63
+ title: string;
64
+ description: string;
65
+ };
66
+ lg: {
67
+ root: string;
68
+ title: string;
69
+ description: string;
70
+ };
71
+ };
72
+ }, {
73
+ root: string;
74
+ header: string;
75
+ title: string;
76
+ description: string;
77
+ content: string;
78
+ }, import("tailwind-variants").TVReturnType<{
79
+ variant: {
80
+ default: {
81
+ root: string;
82
+ };
83
+ card: {
84
+ root: string;
85
+ };
86
+ };
87
+ size: {
88
+ sm: {
89
+ root: string;
90
+ title: string;
91
+ description: string;
92
+ };
93
+ default: {
94
+ root: string;
95
+ title: string;
96
+ description: string;
97
+ };
98
+ lg: {
99
+ root: string;
100
+ title: string;
101
+ description: string;
102
+ };
103
+ };
104
+ }, {
105
+ root: string;
106
+ header: string;
107
+ title: string;
108
+ description: string;
109
+ content: string;
110
+ }, undefined, unknown, unknown, undefined>>;
14
111
  declare const mediaVariants: import("tailwind-variants").TVReturnType<{
15
112
  variant: {
16
113
  default: {
@@ -21,6 +118,20 @@ declare const mediaVariants: import("tailwind-variants").TVReturnType<{
21
118
  card: string;
22
119
  };
23
120
  };
121
+ size: {
122
+ sm: {
123
+ card: string;
124
+ ghost: string;
125
+ };
126
+ default: {
127
+ card: string;
128
+ ghost: string;
129
+ };
130
+ lg: {
131
+ card: string;
132
+ ghost: string;
133
+ };
134
+ };
24
135
  }, {
25
136
  wrapper: string;
26
137
  card: string;
@@ -35,6 +146,20 @@ declare const mediaVariants: import("tailwind-variants").TVReturnType<{
35
146
  card: string;
36
147
  };
37
148
  };
149
+ size: {
150
+ sm: {
151
+ card: string;
152
+ ghost: string;
153
+ };
154
+ default: {
155
+ card: string;
156
+ ghost: string;
157
+ };
158
+ lg: {
159
+ card: string;
160
+ ghost: string;
161
+ };
162
+ };
38
163
  }, {
39
164
  wrapper: string;
40
165
  card: string;
@@ -49,13 +174,35 @@ declare const mediaVariants: import("tailwind-variants").TVReturnType<{
49
174
  card: string;
50
175
  };
51
176
  };
177
+ size: {
178
+ sm: {
179
+ card: string;
180
+ ghost: string;
181
+ };
182
+ default: {
183
+ card: string;
184
+ ghost: string;
185
+ };
186
+ lg: {
187
+ card: string;
188
+ ghost: string;
189
+ };
190
+ };
52
191
  }, {
53
192
  wrapper: string;
54
193
  card: string;
55
194
  ghost: string;
56
195
  }, undefined, unknown, unknown, undefined>>;
57
- export interface EmptyStateProps extends ViewProps {
196
+ export interface EmptyStateProps extends ViewProps, VariantProps<typeof emptyStateVariants> {
58
197
  className?: string;
198
+ /**
199
+ * `default` fills its parent — a whole screen, or a flex slot. `card` is a
200
+ * self-contained bordered block for an empty state that sits inside content
201
+ * rather than owning the screen.
202
+ */
203
+ variant?: 'default' | 'card';
204
+ /** Scales the padding, media, title and description together. */
205
+ size?: EmptyStateSize;
59
206
  children?: ReactNode;
60
207
  }
61
208
  export interface EmptyStateMediaProps extends ViewProps, VariantProps<typeof mediaVariants> {
@@ -67,7 +214,9 @@ export declare const EmptyState: import("react").ForwardRefExoticComponent<Empty
67
214
  Media: import("react").ForwardRefExoticComponent<EmptyStateMediaProps & import("react").RefAttributes<View>>;
68
215
  Title: import("react").ForwardRefExoticComponent<TextProps & import("react").RefAttributes<RNText>>;
69
216
  Description: import("react").ForwardRefExoticComponent<TextProps & import("react").RefAttributes<RNText>>;
70
- Content: import("react").ForwardRefExoticComponent<EmptyStateProps & import("react").RefAttributes<View>>;
217
+ Content: import("react").ForwardRefExoticComponent<ViewProps & {
218
+ className?: string;
219
+ } & import("react").RefAttributes<View>>;
71
220
  };
72
221
  export {};
73
222
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/empty-state/index.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAc,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,KAAK,IAAI,IAAI,MAAM,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AACzE,OAAO,EAAM,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAQ,KAAK,SAAS,EAAE,MAAM,0BAAuB,CAAC;AAY7D,QAAA,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2CAoBjB,CAAC;AAEH,MAAM,WAAW,eAAgB,SAAQ,SAAS;IAChD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAmBD,MAAM,WAAW,oBACf,SAAQ,SAAS,EACf,YAAY,CAAC,OAAO,aAAa,CAAC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAwDD,eAAO,MAAM,UAAU;;;;;;CAMrB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/empty-state/index.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAyC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAC9E,OAAO,EAAE,IAAI,EAAE,KAAK,IAAI,IAAI,MAAM,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AACzE,OAAO,EAAM,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAQ,KAAK,SAAS,EAAE,MAAM,0BAAuB,CAAC;AAE7D,KAAK,cAAc,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI,CAAC;AAK9C,QAAA,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2CA0BtB,CAAC;AAEH,QAAA,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2CA0BjB,CAAC;AAEH,MAAM,WAAW,eACf,SAAQ,SAAS,EACf,YAAY,CAAC,OAAO,kBAAkB,CAAC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,OAAO,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;IAC7B,iEAAiE;IACjE,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAuBD,MAAM,WAAW,oBACf,SAAQ,SAAS,EACf,YAAY,CAAC,OAAO,aAAa,CAAC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AA2DD,eAAO,MAAM,UAAU;;;;;;oBAR8C,MAAM;;CAczE,CAAC"}
@@ -1,9 +1,22 @@
1
+ /**
2
+ * InlineSelect — a select that reveals its options next to the trigger instead
3
+ * of taking over the screen with a sheet.
4
+ *
5
+ * Two presentations, because the right one depends on what surrounds it:
6
+ *
7
+ * - Inline (default) expands the list in normal layout flow. Everything below
8
+ * moves down. Fine inside a settings list where that reads as the row
9
+ * growing, wrong anywhere the shift is jarring.
10
+ * - `overlay` floats the list above the page through a portal, anchored to the
11
+ * trigger and flipped above it when there is no room below. Nothing else on
12
+ * the screen moves.
13
+ */
1
14
  import { type ReactNode } from 'react';
2
15
  export interface InlineSelectItemProps {
3
16
  value: string;
4
17
  label: string;
5
18
  }
6
- /** Option row. Rendered inline beneath the trigger — no overlay involved. */
19
+ /** Option row. */
7
20
  declare function InlineSelectItem({ value, label }: InlineSelectItemProps): import("react").JSX.Element;
8
21
  export interface InlineSelectProps {
9
22
  className?: string;
@@ -11,13 +24,23 @@ export interface InlineSelectProps {
11
24
  onValueChange: (value: string) => void;
12
25
  placeholder?: string;
13
26
  disabled?: boolean;
27
+ /**
28
+ * Float the list above the page instead of expanding it in layout flow, so
29
+ * opening the select does not push the content below it down.
30
+ */
31
+ overlay?: boolean;
32
+ /**
33
+ * Width of the floating list. `trigger` matches the trigger, `content` sizes
34
+ * to the longest option, or pass a pixel value. Ignored without `overlay`.
35
+ */
36
+ overlayWidth?: 'trigger' | 'content' | number;
37
+ /** Gap between the trigger and the floating list. Ignored without `overlay`. */
38
+ overlayOffset?: number;
39
+ /** Called when the list opens or closes. */
40
+ onOpenChange?: (open: boolean) => void;
14
41
  children: ReactNode;
15
42
  }
16
- /**
17
- * A select that expands its options inline instead of opening a bottom sheet.
18
- * Useful inside forms and scroll views where an overlay would be disruptive.
19
- */
20
- declare function InlineSelectRoot({ className, value, onValueChange, placeholder, disabled, children, }: InlineSelectProps): import("react").JSX.Element;
43
+ declare function InlineSelectRoot({ className, value, onValueChange, placeholder, disabled, overlay, overlayWidth, overlayOffset, onOpenChange, children, }: InlineSelectProps): import("react").JSX.Element;
21
44
  export declare const InlineSelect: typeof InlineSelectRoot & {
22
45
  Item: typeof InlineSelectItem;
23
46
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/inline-select/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAQL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AA0Cf,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,6EAA6E;AAC7E,iBAAS,gBAAgB,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,qBAAqB,+BA4BhE;AAED,MAAM,WAAW,iBAAiB;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED;;;GAGG;AACH,iBAAS,gBAAgB,CAAC,EACxB,SAAS,EACT,KAAK,EACL,aAAa,EACb,WAAgC,EAChC,QAAQ,EACR,QAAQ,GACT,EAAE,iBAAiB,+BAyEnB;AAED,eAAO,MAAM,YAAY;;CAEvB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/inline-select/index.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,EASL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAwDf,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,kBAAkB;AAClB,iBAAS,gBAAgB,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,qBAAqB,+BA4BhE;AAUD,MAAM,WAAW,iBAAiB;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;OAGG;IACH,YAAY,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,MAAM,CAAC;IAC9C,gFAAgF;IAChF,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,4CAA4C;IAC5C,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED,iBAAS,gBAAgB,CAAC,EACxB,SAAS,EACT,KAAK,EACL,aAAa,EACb,WAAgC,EAChC,QAAQ,EACR,OAAe,EACf,YAAwB,EACxB,aAAiB,EACjB,YAAY,EACZ,QAAQ,GACT,EAAE,iBAAiB,+BA0KnB;AAED,eAAO,MAAM,YAAY;;CAEvB,CAAC"}
@@ -7,6 +7,19 @@ export interface InputProps extends TextInputProps {
7
7
  /** Error message. When set, the field renders in its invalid state. */
8
8
  errorMessage?: string;
9
9
  disabled?: boolean;
10
+ /**
11
+ * Lift the field above the software keyboard when it would otherwise be
12
+ * covered. Moves by exactly the overlap, and not at all when the field is
13
+ * already clear.
14
+ *
15
+ * Install `react-native-keyboard-controller` for this to behave on Android.
16
+ *
17
+ * Do not toggle this at runtime — it changes which component renders the
18
+ * container, which would remount the field and drop focus.
19
+ */
20
+ avoidKeyboard?: boolean;
21
+ /** Gap kept between the field and the keyboard when `avoidKeyboard` is set. */
22
+ keyboardOffset?: number;
10
23
  }
11
24
  export declare const Input: import("react").ForwardRefExoticComponent<InputProps & import("react").RefAttributes<TextInput>>;
12
25
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/input/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAQ,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AA2BpE,MAAM,WAAW,UAAW,SAAQ,cAAc;IAChD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uEAAuE;IACvE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,eAAO,MAAM,KAAK,kGA+DjB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/input/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAQ,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AA4BpE,MAAM,WAAW,UAAW,SAAQ,cAAc;IAChD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uEAAuE;IACvE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;;;;;OASG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,+EAA+E;IAC/E,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,eAAO,MAAM,KAAK,kGAqFjB,CAAC"}