@retray-dev/ui-kit 13.0.0 → 13.4.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 (344) hide show
  1. package/CHANGELOG.md +680 -0
  2. package/CONSUMER.md +26 -9
  3. package/README.md +11 -12
  4. package/{COMPONENTS.md → SKILL.md} +515 -815
  5. package/dist/Accordion.d.mts +8 -6
  6. package/dist/Accordion.d.ts +8 -6
  7. package/dist/Accordion.js +40 -40
  8. package/dist/Accordion.mjs +4 -5
  9. package/dist/AlertBanner.d.mts +3 -3
  10. package/dist/AlertBanner.d.ts +3 -3
  11. package/dist/AlertBanner.js +7 -13
  12. package/dist/AlertBanner.mjs +4 -5
  13. package/dist/AppHeader.d.mts +8 -5
  14. package/dist/AppHeader.d.ts +8 -5
  15. package/dist/AppHeader.js +44 -31
  16. package/dist/AppHeader.mjs +6 -7
  17. package/dist/Avatar.d.mts +4 -4
  18. package/dist/Avatar.d.ts +4 -4
  19. package/dist/Avatar.mjs +2 -3
  20. package/dist/Badge.d.mts +5 -5
  21. package/dist/Badge.d.ts +5 -5
  22. package/dist/Badge.js +7 -13
  23. package/dist/Badge.mjs +3 -4
  24. package/dist/Button.d.mts +5 -5
  25. package/dist/Button.d.ts +5 -5
  26. package/dist/Button.js +31 -29
  27. package/dist/Button.mjs +5 -6
  28. package/dist/ButtonGroup.d.mts +3 -3
  29. package/dist/ButtonGroup.d.ts +3 -3
  30. package/dist/ButtonGroup.mjs +0 -1
  31. package/dist/Card.d.mts +13 -13
  32. package/dist/Card.d.ts +13 -13
  33. package/dist/Card.js +23 -14
  34. package/dist/Card.mjs +4 -5
  35. package/dist/CategoryStrip.d.mts +3 -3
  36. package/dist/CategoryStrip.d.ts +3 -3
  37. package/dist/CategoryStrip.js +30 -27
  38. package/dist/CategoryStrip.mjs +5 -6
  39. package/dist/Checkbox.d.mts +3 -2
  40. package/dist/Checkbox.d.ts +3 -2
  41. package/dist/Checkbox.js +26 -15
  42. package/dist/Checkbox.mjs +3 -4
  43. package/dist/Chip.d.mts +5 -5
  44. package/dist/Chip.d.ts +5 -5
  45. package/dist/Chip.js +30 -27
  46. package/dist/Chip.mjs +5 -6
  47. package/dist/ConfirmDialog.d.mts +3 -2
  48. package/dist/ConfirmDialog.d.ts +3 -2
  49. package/dist/ConfirmDialog.js +67 -49
  50. package/dist/ConfirmDialog.mjs +7 -7
  51. package/dist/CurrencyDisplay.d.mts +3 -3
  52. package/dist/CurrencyDisplay.d.ts +3 -3
  53. package/dist/CurrencyDisplay.mjs +2 -3
  54. package/dist/CurrencyInput.d.mts +2 -2
  55. package/dist/CurrencyInput.d.ts +2 -2
  56. package/dist/CurrencyInput.js +7 -13
  57. package/dist/CurrencyInput.mjs +4 -5
  58. package/dist/DetailRow.d.mts +6 -6
  59. package/dist/DetailRow.d.ts +6 -6
  60. package/dist/DetailRow.js +7 -13
  61. package/dist/DetailRow.mjs +3 -4
  62. package/dist/EmptyState.d.mts +4 -4
  63. package/dist/EmptyState.d.ts +4 -4
  64. package/dist/EmptyState.js +31 -29
  65. package/dist/EmptyState.mjs +6 -7
  66. package/dist/ErrorBoundary.d.mts +9 -7
  67. package/dist/ErrorBoundary.d.ts +9 -7
  68. package/dist/ErrorBoundary.js +33 -29
  69. package/dist/ErrorBoundary.mjs +5 -6
  70. package/dist/Form.d.mts +9 -9
  71. package/dist/Form.d.ts +9 -9
  72. package/dist/Form.mjs +2 -3
  73. package/dist/HolographicCard.d.mts +2 -2
  74. package/dist/HolographicCard.d.ts +2 -2
  75. package/dist/HolographicCard.js +23 -14
  76. package/dist/HolographicCard.mjs +2 -3
  77. package/dist/IconButton.d.mts +4 -4
  78. package/dist/IconButton.d.ts +4 -4
  79. package/dist/IconButton.js +30 -27
  80. package/dist/IconButton.mjs +4 -5
  81. package/dist/IconPicker.d.mts +2 -2
  82. package/dist/IconPicker.d.ts +2 -2
  83. package/dist/IconPicker.js +40 -45
  84. package/dist/IconPicker.mjs +6 -7
  85. package/dist/Image.d.mts +18 -0
  86. package/dist/Image.d.ts +18 -0
  87. package/dist/Image.js +53 -0
  88. package/dist/Image.mjs +2 -0
  89. package/dist/ImageUpload.d.mts +2 -4
  90. package/dist/ImageUpload.d.ts +2 -4
  91. package/dist/ImageUpload.js +50 -40
  92. package/dist/ImageUpload.mjs +5 -6
  93. package/dist/ImageViewer.d.mts +2 -2
  94. package/dist/ImageViewer.d.ts +2 -2
  95. package/dist/ImageViewer.js +31 -28
  96. package/dist/ImageViewer.mjs +6 -7
  97. package/dist/Input.d.mts +4 -4
  98. package/dist/Input.d.ts +4 -4
  99. package/dist/Input.js +7 -13
  100. package/dist/Input.mjs +3 -4
  101. package/dist/ItemGroup.d.mts +23 -0
  102. package/dist/ItemGroup.d.ts +23 -0
  103. package/dist/{ListGroup.js → ItemGroup.js} +11 -13
  104. package/dist/ItemGroup.mjs +4 -0
  105. package/dist/LabelValue.d.mts +4 -4
  106. package/dist/LabelValue.d.ts +4 -4
  107. package/dist/LabelValue.js +7 -13
  108. package/dist/LabelValue.mjs +3 -4
  109. package/dist/ListItem.d.mts +7 -6
  110. package/dist/ListItem.d.ts +7 -6
  111. package/dist/ListItem.js +33 -28
  112. package/dist/ListItem.mjs +5 -6
  113. package/dist/MediaCard.d.mts +6 -6
  114. package/dist/MediaCard.d.ts +6 -6
  115. package/dist/MediaCard.js +30 -27
  116. package/dist/MediaCard.mjs +5 -6
  117. package/dist/MenuItem.d.mts +6 -5
  118. package/dist/MenuItem.d.ts +6 -5
  119. package/dist/MenuItem.js +33 -28
  120. package/dist/MenuItem.mjs +5 -6
  121. package/dist/MonthPicker.d.mts +2 -2
  122. package/dist/MonthPicker.d.ts +2 -2
  123. package/dist/MonthPicker.js +23 -14
  124. package/dist/MonthPicker.mjs +3 -4
  125. package/dist/NumberStepper.d.mts +4 -3
  126. package/dist/NumberStepper.d.ts +4 -3
  127. package/dist/NumberStepper.js +34 -28
  128. package/dist/NumberStepper.mjs +5 -6
  129. package/dist/PagerDots.d.mts +2 -2
  130. package/dist/PagerDots.d.ts +2 -2
  131. package/dist/PagerDots.js +30 -27
  132. package/dist/PagerDots.mjs +4 -5
  133. package/dist/Pressable.d.mts +3 -27
  134. package/dist/Pressable.d.ts +3 -27
  135. package/dist/Pressable.js +23 -14
  136. package/dist/Pressable.mjs +2 -3
  137. package/dist/PricingCard.d.mts +2 -2
  138. package/dist/PricingCard.d.ts +2 -2
  139. package/dist/PricingCard.js +31 -29
  140. package/dist/PricingCard.mjs +7 -8
  141. package/dist/Progress.d.mts +2 -2
  142. package/dist/Progress.d.ts +2 -2
  143. package/dist/Progress.mjs +2 -3
  144. package/dist/RadioGroup.d.mts +2 -2
  145. package/dist/RadioGroup.d.ts +2 -2
  146. package/dist/RadioGroup.js +23 -14
  147. package/dist/RadioGroup.mjs +3 -4
  148. package/dist/RetrayProvider.d.mts +1 -1
  149. package/dist/RetrayProvider.d.ts +1 -1
  150. package/dist/RetrayProvider.js +14 -34
  151. package/dist/RetrayProvider.mjs +3 -4
  152. package/dist/ScreenContainer.d.mts +24 -0
  153. package/dist/ScreenContainer.d.ts +24 -0
  154. package/dist/ScreenContainer.js +85 -0
  155. package/dist/ScreenContainer.mjs +3 -0
  156. package/dist/Select.d.mts +3 -2
  157. package/dist/Select.d.ts +3 -2
  158. package/dist/Select.js +41 -46
  159. package/dist/Select.mjs +3 -4
  160. package/dist/SelectableCard.d.mts +5 -5
  161. package/dist/SelectableCard.d.ts +5 -5
  162. package/dist/SelectableCard.js +30 -27
  163. package/dist/SelectableCard.mjs +5 -6
  164. package/dist/SelectableGrid.d.mts +5 -4
  165. package/dist/SelectableGrid.d.ts +5 -4
  166. package/dist/SelectableGrid.js +80 -45
  167. package/dist/SelectableGrid.mjs +5 -6
  168. package/dist/Separator.d.mts +4 -2
  169. package/dist/Separator.d.ts +4 -2
  170. package/dist/Separator.js +29 -1
  171. package/dist/Separator.mjs +3 -3
  172. package/dist/Sheet.d.mts +11 -11
  173. package/dist/Sheet.d.ts +11 -11
  174. package/dist/Sheet.js +62 -34
  175. package/dist/Sheet.mjs +4 -4
  176. package/dist/SheetSelect.d.mts +2 -2
  177. package/dist/SheetSelect.d.ts +2 -2
  178. package/dist/SheetSelect.js +30 -27
  179. package/dist/SheetSelect.mjs +5 -6
  180. package/dist/Skeleton.d.mts +5 -5
  181. package/dist/Skeleton.d.ts +5 -5
  182. package/dist/Skeleton.mjs +3 -4
  183. package/dist/Slider.d.mts +3 -2
  184. package/dist/Slider.d.ts +3 -2
  185. package/dist/Slider.js +25 -14
  186. package/dist/Slider.mjs +3 -4
  187. package/dist/Spinner.d.mts +2 -2
  188. package/dist/Spinner.d.ts +2 -2
  189. package/dist/Spinner.mjs +2 -3
  190. package/dist/Stats.d.mts +6 -6
  191. package/dist/Stats.d.ts +6 -6
  192. package/dist/Stats.js +30 -27
  193. package/dist/Stats.mjs +5 -6
  194. package/dist/Switch.d.mts +3 -2
  195. package/dist/Switch.d.ts +3 -2
  196. package/dist/Switch.js +25 -15
  197. package/dist/Switch.mjs +3 -4
  198. package/dist/TabBar.d.mts +3 -3
  199. package/dist/TabBar.d.ts +3 -3
  200. package/dist/TabBar.js +30 -27
  201. package/dist/TabBar.mjs +4 -5
  202. package/dist/Tabs.d.mts +13 -13
  203. package/dist/Tabs.d.ts +13 -13
  204. package/dist/Tabs.js +23 -14
  205. package/dist/Tabs.mjs +3 -4
  206. package/dist/Text.d.mts +4 -4
  207. package/dist/Text.d.ts +4 -4
  208. package/dist/Text.js +20 -2
  209. package/dist/Text.mjs +3 -4
  210. package/dist/Textarea.d.mts +3 -3
  211. package/dist/Textarea.d.ts +3 -3
  212. package/dist/Textarea.js +7 -13
  213. package/dist/Textarea.mjs +3 -4
  214. package/dist/Toast.d.mts +15 -13
  215. package/dist/Toast.d.ts +15 -13
  216. package/dist/Toast.mjs +2 -3
  217. package/dist/Toggle.d.mts +4 -4
  218. package/dist/Toggle.d.ts +4 -4
  219. package/dist/Toggle.js +30 -27
  220. package/dist/Toggle.mjs +4 -5
  221. package/dist/VirtualizedList.d.mts +28 -0
  222. package/dist/VirtualizedList.d.ts +28 -0
  223. package/dist/VirtualizedList.js +130 -0
  224. package/dist/VirtualizedList.mjs +3 -0
  225. package/dist/{chunk-MZ6WRTD2.mjs → chunk-24JTXQ2M.mjs} +7 -13
  226. package/dist/{chunk-OBV72JD4.mjs → chunk-2DDJ53DK.mjs} +9 -11
  227. package/dist/{chunk-6CR4S6W2.mjs → chunk-2J5OZOMX.mjs} +19 -8
  228. package/dist/{chunk-4NQFTHN3.mjs → chunk-3GE4UFV5.mjs} +2 -2
  229. package/dist/{chunk-KAGADD2O.mjs → chunk-3RIZCKRM.mjs} +2 -2
  230. package/dist/{chunk-DE25XTVQ.mjs → chunk-3VHFOSZR.mjs} +2 -2
  231. package/dist/{chunk-UOKFSFNJ.mjs → chunk-4PF4LKNT.mjs} +4 -2
  232. package/dist/{chunk-5MYNAAFE.mjs → chunk-5J7VKFSZ.mjs} +4 -4
  233. package/dist/{chunk-BTUW5LSG.mjs → chunk-5TNQ573V.mjs} +4 -3
  234. package/dist/{chunk-6QLBHUEG.mjs → chunk-6T2DVIQT.mjs} +7 -5
  235. package/dist/{chunk-L3YKPTJQ.mjs → chunk-7CE6PDCQ.mjs} +2 -2
  236. package/dist/{chunk-Y6YS33GM.mjs → chunk-AHFEAY6M.mjs} +4 -4
  237. package/dist/{chunk-4ZO5PTKF.mjs → chunk-AZRATPNP.mjs} +5 -3
  238. package/dist/{chunk-V2ZB2XNS.mjs → chunk-BGXOEFDM.mjs} +9 -22
  239. package/dist/{chunk-KC5QDYGZ.mjs → chunk-BMAAAJWN.mjs} +2 -2
  240. package/dist/{chunk-IJCMPVW5.mjs → chunk-BQMJQMWY.mjs} +2 -2
  241. package/dist/{chunk-E4EQSCKR.mjs → chunk-BTPCY4C7.mjs} +7 -5
  242. package/dist/chunk-BVJAYPAD.mjs +55 -0
  243. package/dist/{chunk-RA6SAAFE.mjs → chunk-BWLVX2SQ.mjs} +4 -4
  244. package/dist/{chunk-EROPDCB5.mjs → chunk-CCEM3HIJ.mjs} +30 -25
  245. package/dist/chunk-CTUFFKGS.mjs +30 -0
  246. package/dist/{chunk-EHGBHFMH.mjs → chunk-CYGYC7XT.mjs} +8 -4
  247. package/dist/{chunk-ESQDPO5E.mjs → chunk-DLAOTHHS.mjs} +7 -6
  248. package/dist/{chunk-QY3X2UYR.mjs → chunk-DYYPDQA2.mjs} +21 -7
  249. package/dist/{chunk-S44XWTTC.mjs → chunk-E4BJ5WXG.mjs} +3 -3
  250. package/dist/{chunk-HUSSF6TF.mjs → chunk-EQNCMDZC.mjs} +1 -1
  251. package/dist/{chunk-PI6RULJX.mjs → chunk-EQYTDFDD.mjs} +1 -1
  252. package/dist/{chunk-BULKGOIZ.mjs → chunk-FE26TPCI.mjs} +4 -4
  253. package/dist/{chunk-DBHSUUKU.mjs → chunk-FOUSI6JD.mjs} +1 -1
  254. package/dist/{chunk-KPTY7UYQ.mjs → chunk-GR7PKEKD.mjs} +1 -1
  255. package/dist/{chunk-RRKM4MKB.mjs → chunk-HLWGFBIF.mjs} +3 -3
  256. package/dist/chunk-HMKJGVXA.mjs +35 -0
  257. package/dist/{chunk-U6DEBYU5.mjs → chunk-IFGZUJFH.mjs} +3 -3
  258. package/dist/{chunk-2VIDP72N.mjs → chunk-K3V6OTVB.mjs} +1 -1
  259. package/dist/{chunk-K7TKID3V.mjs → chunk-K4YFTUMC.mjs} +3 -3
  260. package/dist/{chunk-NGEN2EES.mjs → chunk-MQAK2W6L.mjs} +14 -22
  261. package/dist/{chunk-CM2DG4MR.mjs → chunk-MSS3CD6F.mjs} +4 -4
  262. package/dist/{chunk-TETMEKZE.mjs → chunk-NQYS6RPX.mjs} +8 -5
  263. package/dist/{chunk-62BBSSUF.mjs → chunk-P5KC3RTG.mjs} +1 -1
  264. package/dist/{chunk-K3QX2M26.mjs → chunk-PPKCGCZ3.mjs} +5 -5
  265. package/dist/{chunk-ITG4JQM3.mjs → chunk-QEE3EQ3N.mjs} +2 -2
  266. package/dist/{chunk-URIH43IJ.mjs → chunk-RLPPRIJ7.mjs} +20 -34
  267. package/dist/{chunk-XCIG6HT2.mjs → chunk-S433IOQE.mjs} +2 -2
  268. package/dist/{chunk-IGU223UM.mjs → chunk-SWUZKVYO.mjs} +1 -1
  269. package/dist/{chunk-MP7GLMIR.mjs → chunk-T4KMKHTI.mjs} +55 -23
  270. package/dist/{chunk-2QOHHBJC.mjs → chunk-UBTP4NPP.mjs} +5 -21
  271. package/dist/{chunk-TMH263OK.mjs → chunk-UEA2VYGW.mjs} +3 -3
  272. package/dist/chunk-VISIOH33.mjs +37 -0
  273. package/dist/{chunk-SZEKQAOY.mjs → chunk-VSKBODEY.mjs} +1 -1
  274. package/dist/{chunk-FTTI6T5Q.mjs → chunk-W422TEH2.mjs} +3 -3
  275. package/dist/{chunk-WIPEDNSD.mjs → chunk-WD5LBXPR.mjs} +4 -4
  276. package/dist/chunk-WFNGSYS4.mjs +111 -0
  277. package/dist/chunk-WR6DCNAE.mjs +65 -0
  278. package/dist/{chunk-ERWJPVX7.mjs → chunk-XKBB2UZU.mjs} +2 -2
  279. package/dist/{chunk-CBIZLRYH.mjs → chunk-Y5TPAKOS.mjs} +14 -17
  280. package/dist/{chunk-AZV7KNJI.mjs → chunk-YKWIMVGU.mjs} +2 -2
  281. package/dist/{chunk-ZKDKKQCE.mjs → chunk-YOXSXHDE.mjs} +4 -4
  282. package/dist/{chunk-PGQ6FMXS.mjs → chunk-ZO5BRTCW.mjs} +2 -2
  283. package/dist/{chunk-KSSVIFYR.mjs → chunk-ZQGCQ7SA.mjs} +14 -34
  284. package/dist/{chunk-ZTPYUU5C.mjs → chunk-ZRUUUVOO.mjs} +3 -3
  285. package/dist/fonts.mjs +0 -2
  286. package/dist/{index-CY34hxPN.d.ts → index-CinAt5Uo.d.mts} +3 -3
  287. package/dist/{index-CY34hxPN.d.mts → index-CinAt5Uo.d.ts} +3 -3
  288. package/dist/index.d.mts +69 -19
  289. package/dist/index.d.ts +69 -19
  290. package/dist/index.js +1023 -839
  291. package/dist/index.mjs +76 -70
  292. package/package.json +15 -12
  293. package/src/components/Accordion/Accordion.tsx +12 -18
  294. package/src/components/AppHeader/AppHeader.tsx +33 -10
  295. package/src/components/Checkbox/Checkbox.tsx +3 -0
  296. package/src/components/ConfirmDialog/ConfirmDialog.tsx +7 -21
  297. package/src/components/ErrorBoundary/ErrorBoundary.tsx +5 -2
  298. package/src/components/Image/Image.tsx +50 -0
  299. package/src/components/Image/index.ts +2 -0
  300. package/src/components/ImageUpload/ImageUpload.tsx +34 -26
  301. package/src/components/{ListGroup/ListGroup.tsx → ItemGroup/ItemGroup.tsx} +15 -29
  302. package/src/components/ItemGroup/index.ts +2 -0
  303. package/src/components/ListGroup/index.tsx +20 -0
  304. package/src/components/ListItem/ListItem.tsx +3 -0
  305. package/src/components/MenuGroup/index.tsx +20 -0
  306. package/src/components/MenuItem/MenuItem.tsx +3 -0
  307. package/src/components/NumberStepper/NumberStepper.tsx +4 -0
  308. package/src/components/Pressable/Pressable.tsx +0 -24
  309. package/src/components/ScreenContainer/ScreenContainer.tsx +94 -0
  310. package/src/components/ScreenContainer/index.ts +2 -0
  311. package/src/components/Select/Select.tsx +25 -30
  312. package/src/components/SelectableGrid/SelectableGrid.tsx +51 -20
  313. package/src/components/Separator/Separator.tsx +35 -2
  314. package/src/components/Sheet/Sheet.tsx +3 -21
  315. package/src/components/Sheet/index.ts +2 -2
  316. package/src/components/Slider/Slider.tsx +3 -0
  317. package/src/components/Switch/Switch.tsx +3 -1
  318. package/src/components/Tabs/Tabs.tsx +9 -9
  319. package/src/components/Tabs/index.ts +1 -1
  320. package/src/components/Text/Text.tsx +7 -0
  321. package/src/components/VirtualizedList/VirtualizedList.tsx +154 -0
  322. package/src/components/VirtualizedList/index.ts +2 -0
  323. package/src/hooks/useConfirmDialog.ts +2 -11
  324. package/src/hooks/useSheetModal.ts +40 -0
  325. package/src/index.ts +5 -1
  326. package/src/theme/colors.ts +19 -57
  327. package/src/tokens.ts +21 -7
  328. package/src/utils/curatedIcons.ts +9 -18
  329. package/src/utils/haptics.ts +10 -21
  330. package/src/utils/icons.ts +7 -14
  331. package/dist/ListGroup.d.mts +0 -34
  332. package/dist/ListGroup.d.ts +0 -34
  333. package/dist/ListGroup.mjs +0 -5
  334. package/dist/MenuGroup.d.mts +0 -34
  335. package/dist/MenuGroup.d.ts +0 -34
  336. package/dist/MenuGroup.js +0 -106
  337. package/dist/MenuGroup.mjs +0 -5
  338. package/dist/chunk-ARONDO7M.mjs +0 -40
  339. package/dist/chunk-EW2FIDSM.mjs +0 -29
  340. package/dist/chunk-S2VGME7X.mjs +0 -82
  341. package/dist/chunk-Y6FXYEAI.mjs +0 -8
  342. package/src/components/ListGroup/index.ts +0 -1
  343. package/src/components/MenuGroup/MenuGroup.tsx +0 -145
  344. package/src/components/MenuGroup/index.ts +0 -1
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import React__default from 'react';
2
2
  import { ImageSourcePropType, ViewStyle, TextStyle } from 'react-native';
3
3
 
4
4
  type ListItemVariant = 'plain' | 'card';
@@ -12,16 +12,16 @@ interface ListItemProps {
12
12
  * Arbitrary content rendered on the left (avatar, icon, image, etc.).
13
13
  * Rendered inside a 44×44 aligned container.
14
14
  */
15
- leftRender?: React.ReactNode;
15
+ leftRender?: React__default.ReactNode;
16
16
  /**
17
17
  * Arbitrary content rendered on the right (badge, price, chevron, switch, etc.).
18
18
  */
19
- rightRender?: React.ReactNode | string;
19
+ rightRender?: React__default.ReactNode | string;
20
20
  /**
21
21
  * Multiple action buttons rendered on the right with automatic gap.
22
22
  * Takes precedence over `rightRender` and `showChevron`.
23
23
  */
24
- rightActions?: React.ReactNode[];
24
+ rightActions?: React__default.ReactNode[];
25
25
  /**
26
26
  * Icon name from `@expo/vector-icons` rendered in the left slot.
27
27
  * See https://icons.expo.fyi. Takes precedence over `leftRender`.
@@ -64,8 +64,9 @@ interface ListItemProps {
64
64
  captionStyle?: TextStyle;
65
65
  /** Accessibility label override. Defaults to the title. */
66
66
  accessibilityLabel?: string;
67
+ accessibilityHint?: string;
67
68
  }
68
- declare function ListItemBase({ imageSource, leftRender, rightRender, rightActions, leftIcon, rightIcon, leftIconColor, rightIconColor, title, subtitle, caption, variant, showChevron, showSeparator, onPress, disabled, style, titleStyle, subtitleStyle, subtitleNumberOfLines, captionStyle, accessibilityLabel, }: ListItemProps): React.JSX.Element;
69
- declare const ListItem: React.MemoExoticComponent<typeof ListItemBase>;
69
+ declare function ListItemBase({ imageSource, leftRender, rightRender, rightActions, leftIcon, rightIcon, leftIconColor, rightIconColor, title, subtitle, caption, variant, showChevron, showSeparator, onPress, disabled, style, titleStyle, subtitleStyle, subtitleNumberOfLines, captionStyle, accessibilityLabel, accessibilityHint, }: ListItemProps): React__default.JSX.Element;
70
+ declare const ListItem: React__default.MemoExoticComponent<typeof ListItemBase>;
70
71
 
71
72
  export { ListItem, type ListItemProps };
package/dist/ListItem.js CHANGED
@@ -4,6 +4,7 @@ var React3 = require('react');
4
4
  var expoImage = require('expo-image');
5
5
  var reactNative = require('react-native');
6
6
  var vectorIcons = require('@expo/vector-icons');
7
+ var Haptics = require('expo-haptics');
7
8
  var reactNativeSizeMatters = require('react-native-size-matters');
8
9
  var AntDesign = require('@expo/vector-icons/AntDesign');
9
10
  var Entypo = require('@expo/vector-icons/Entypo');
@@ -15,7 +16,26 @@ var pressto = require('pressto');
15
16
 
16
17
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
17
18
 
19
+ function _interopNamespace(e) {
20
+ if (e && e.__esModule) return e;
21
+ var n = Object.create(null);
22
+ if (e) {
23
+ Object.keys(e).forEach(function (k) {
24
+ if (k !== 'default') {
25
+ var d = Object.getOwnPropertyDescriptor(e, k);
26
+ Object.defineProperty(n, k, d.get ? d : {
27
+ enumerable: true,
28
+ get: function () { return e[k]; }
29
+ });
30
+ }
31
+ });
32
+ }
33
+ n.default = e;
34
+ return Object.freeze(n);
35
+ }
36
+
18
37
  var React3__default = /*#__PURE__*/_interopDefault(React3);
38
+ var Haptics__namespace = /*#__PURE__*/_interopNamespace(Haptics);
19
39
  var AntDesign__default = /*#__PURE__*/_interopDefault(AntDesign);
20
40
  var Entypo__default = /*#__PURE__*/_interopDefault(Entypo);
21
41
  var Feather__default = /*#__PURE__*/_interopDefault(Feather);
@@ -24,22 +44,11 @@ var MaterialIcons__default = /*#__PURE__*/_interopDefault(MaterialIcons);
24
44
  var Ionicons__default = /*#__PURE__*/_interopDefault(Ionicons);
25
45
 
26
46
  // src/components/ListItem/ListItem.tsx
27
- var _haptics = null;
28
- var _loaded = false;
29
- async function getHaptics() {
30
- if (reactNative.Platform.OS === "web") return null;
31
- if (!_loaded) {
32
- _loaded = true;
33
- try {
34
- _haptics = await import('expo-haptics');
35
- } catch {
36
- _haptics = null;
37
- }
38
- }
39
- return _haptics;
47
+ function maybeHaptics() {
48
+ return reactNative.Platform.OS === "web" ? null : Haptics__namespace;
40
49
  }
41
50
  function selectionAsync() {
42
- getHaptics().then((h) => h?.selectionAsync());
51
+ maybeHaptics()?.selectionAsync();
43
52
  }
44
53
  var ThemeContext = React3.createContext(void 0);
45
54
  function useTheme() {
@@ -62,23 +71,17 @@ var ALL_FAMILIES = [
62
71
  { name: "MaterialIcons", component: MaterialIcons__default.default },
63
72
  { name: "Ionicons", component: Ionicons__default.default }
64
73
  ];
65
- var glyphCacheInitialized = false;
66
- function ensureGlyphCache() {
67
- if (glyphCacheInitialized) return;
68
- glyphCacheInitialized = true;
69
- for (const entry of ALL_FAMILIES) {
70
- try {
71
- entry.glyphMap = entry.component.glyphMap;
72
- } catch {
73
- entry.glyphMap = {};
74
- }
74
+ function getGlyphMap(component) {
75
+ try {
76
+ return component.glyphMap ?? {};
77
+ } catch {
78
+ return {};
75
79
  }
76
80
  }
77
81
  function Icon({ name, size, color, family }) {
78
- ensureGlyphCache();
79
82
  const entry = family ? ALL_FAMILIES.find((f) => f.name === family) : ALL_FAMILIES.find((f) => {
80
- const glyphMap = f.glyphMap;
81
- return glyphMap ? name in glyphMap : false;
83
+ const glyphMap = getGlyphMap(f.component);
84
+ return name in glyphMap;
82
85
  });
83
86
  if (!entry) return null;
84
87
  return React3__default.default.createElement(entry.component, { name, size, color });
@@ -120,7 +123,8 @@ function ListItemBase({
120
123
  subtitleStyle,
121
124
  subtitleNumberOfLines = 2,
122
125
  captionStyle,
123
- accessibilityLabel
126
+ accessibilityLabel,
127
+ accessibilityHint
124
128
  }) {
125
129
  const { colors } = useTheme();
126
130
  const handlePress = () => {
@@ -185,6 +189,7 @@ function ListItemBase({
185
189
  activateOnHover: true,
186
190
  accessibilityRole: "button",
187
191
  accessibilityLabel: a11yLabel,
192
+ accessibilityHint,
188
193
  accessibilityState: { disabled: !!disabled }
189
194
  },
190
195
  content
package/dist/ListItem.mjs CHANGED
@@ -1,8 +1,7 @@
1
- export { ListItem } from './chunk-6QLBHUEG.mjs';
1
+ export { ListItem } from './chunk-6T2DVIQT.mjs';
2
2
  import './chunk-IFYMBOEN.mjs';
3
- import './chunk-ARONDO7M.mjs';
4
- import './chunk-QY3X2UYR.mjs';
5
- import './chunk-MZ6WRTD2.mjs';
6
- import './chunk-KSSVIFYR.mjs';
3
+ import './chunk-CTUFFKGS.mjs';
4
+ import './chunk-DYYPDQA2.mjs';
5
+ import './chunk-24JTXQ2M.mjs';
6
+ import './chunk-ZQGCQ7SA.mjs';
7
7
  import './chunk-2CE3TQVY.mjs';
8
- import './chunk-Y6FXYEAI.mjs';
@@ -1,12 +1,12 @@
1
- import React from 'react';
1
+ import React__default from 'react';
2
2
  import { ImageSourcePropType, ViewStyle } from 'react-native';
3
3
 
4
4
  type MediaCardAspectRatio = '1:1' | '4:3' | '16:9' | '4:5' | '3:2';
5
5
  interface MediaCardProps {
6
6
  imageSource?: ImageSourcePropType;
7
7
  aspectRatio?: MediaCardAspectRatio;
8
- badge?: React.ReactNode;
9
- actionIcon?: React.ReactNode;
8
+ badge?: React__default.ReactNode;
9
+ actionIcon?: React__default.ReactNode;
10
10
  actionIconName?: string;
11
11
  actionActive?: boolean;
12
12
  onActionPress?: () => void;
@@ -16,10 +16,10 @@ interface MediaCardProps {
16
16
  onPress?: () => void;
17
17
  style?: ViewStyle;
18
18
  imageStyle?: ViewStyle;
19
- footer?: React.ReactNode;
19
+ footer?: React__default.ReactNode;
20
20
  accessibilityLabel?: string;
21
21
  }
22
- declare function MediaCardBase({ imageSource, aspectRatio, badge, actionIcon, actionIconName, actionActive, onActionPress, title, subtitle, caption, onPress, style, imageStyle, footer, accessibilityLabel, }: MediaCardProps): React.JSX.Element;
23
- declare const MediaCard: React.MemoExoticComponent<typeof MediaCardBase>;
22
+ declare function MediaCardBase({ imageSource, aspectRatio, badge, actionIcon, actionIconName, actionActive, onActionPress, title, subtitle, caption, onPress, style, imageStyle, footer, accessibilityLabel, }: MediaCardProps): React__default.JSX.Element;
23
+ declare const MediaCard: React__default.MemoExoticComponent<typeof MediaCardBase>;
24
24
 
25
25
  export { MediaCard, type MediaCardAspectRatio, type MediaCardProps };
@@ -1,12 +1,12 @@
1
- import React from 'react';
1
+ import React__default from 'react';
2
2
  import { ImageSourcePropType, ViewStyle } from 'react-native';
3
3
 
4
4
  type MediaCardAspectRatio = '1:1' | '4:3' | '16:9' | '4:5' | '3:2';
5
5
  interface MediaCardProps {
6
6
  imageSource?: ImageSourcePropType;
7
7
  aspectRatio?: MediaCardAspectRatio;
8
- badge?: React.ReactNode;
9
- actionIcon?: React.ReactNode;
8
+ badge?: React__default.ReactNode;
9
+ actionIcon?: React__default.ReactNode;
10
10
  actionIconName?: string;
11
11
  actionActive?: boolean;
12
12
  onActionPress?: () => void;
@@ -16,10 +16,10 @@ interface MediaCardProps {
16
16
  onPress?: () => void;
17
17
  style?: ViewStyle;
18
18
  imageStyle?: ViewStyle;
19
- footer?: React.ReactNode;
19
+ footer?: React__default.ReactNode;
20
20
  accessibilityLabel?: string;
21
21
  }
22
- declare function MediaCardBase({ imageSource, aspectRatio, badge, actionIcon, actionIconName, actionActive, onActionPress, title, subtitle, caption, onPress, style, imageStyle, footer, accessibilityLabel, }: MediaCardProps): React.JSX.Element;
23
- declare const MediaCard: React.MemoExoticComponent<typeof MediaCardBase>;
22
+ declare function MediaCardBase({ imageSource, aspectRatio, badge, actionIcon, actionIconName, actionActive, onActionPress, title, subtitle, caption, onPress, style, imageStyle, footer, accessibilityLabel, }: MediaCardProps): React__default.JSX.Element;
23
+ declare const MediaCard: React__default.MemoExoticComponent<typeof MediaCardBase>;
24
24
 
25
25
  export { MediaCard, type MediaCardAspectRatio, type MediaCardProps };
package/dist/MediaCard.js CHANGED
@@ -3,6 +3,7 @@
3
3
  var React3 = require('react');
4
4
  var expoImage = require('expo-image');
5
5
  var reactNative = require('react-native');
6
+ var Haptics = require('expo-haptics');
6
7
  var reactNativeSizeMatters = require('react-native-size-matters');
7
8
  var AntDesign = require('@expo/vector-icons/AntDesign');
8
9
  var Entypo = require('@expo/vector-icons/Entypo');
@@ -14,7 +15,26 @@ var pressto = require('pressto');
14
15
 
15
16
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
16
17
 
18
+ function _interopNamespace(e) {
19
+ if (e && e.__esModule) return e;
20
+ var n = Object.create(null);
21
+ if (e) {
22
+ Object.keys(e).forEach(function (k) {
23
+ if (k !== 'default') {
24
+ var d = Object.getOwnPropertyDescriptor(e, k);
25
+ Object.defineProperty(n, k, d.get ? d : {
26
+ enumerable: true,
27
+ get: function () { return e[k]; }
28
+ });
29
+ }
30
+ });
31
+ }
32
+ n.default = e;
33
+ return Object.freeze(n);
34
+ }
35
+
17
36
  var React3__default = /*#__PURE__*/_interopDefault(React3);
37
+ var Haptics__namespace = /*#__PURE__*/_interopNamespace(Haptics);
18
38
  var AntDesign__default = /*#__PURE__*/_interopDefault(AntDesign);
19
39
  var Entypo__default = /*#__PURE__*/_interopDefault(Entypo);
20
40
  var Feather__default = /*#__PURE__*/_interopDefault(Feather);
@@ -23,22 +43,11 @@ var MaterialIcons__default = /*#__PURE__*/_interopDefault(MaterialIcons);
23
43
  var Ionicons__default = /*#__PURE__*/_interopDefault(Ionicons);
24
44
 
25
45
  // src/components/MediaCard/MediaCard.tsx
26
- var _haptics = null;
27
- var _loaded = false;
28
- async function getHaptics() {
29
- if (reactNative.Platform.OS === "web") return null;
30
- if (!_loaded) {
31
- _loaded = true;
32
- try {
33
- _haptics = await import('expo-haptics');
34
- } catch {
35
- _haptics = null;
36
- }
37
- }
38
- return _haptics;
46
+ function maybeHaptics() {
47
+ return reactNative.Platform.OS === "web" ? null : Haptics__namespace;
39
48
  }
40
49
  function impactLight() {
41
- getHaptics().then((h) => h?.impactAsync(h.ImpactFeedbackStyle.Light));
50
+ maybeHaptics()?.impactAsync(Haptics__namespace.ImpactFeedbackStyle.Light);
42
51
  }
43
52
  var ThemeContext = React3.createContext(void 0);
44
53
  function useTheme() {
@@ -61,23 +70,17 @@ var ALL_FAMILIES = [
61
70
  { name: "MaterialIcons", component: MaterialIcons__default.default },
62
71
  { name: "Ionicons", component: Ionicons__default.default }
63
72
  ];
64
- var glyphCacheInitialized = false;
65
- function ensureGlyphCache() {
66
- if (glyphCacheInitialized) return;
67
- glyphCacheInitialized = true;
68
- for (const entry of ALL_FAMILIES) {
69
- try {
70
- entry.glyphMap = entry.component.glyphMap;
71
- } catch {
72
- entry.glyphMap = {};
73
- }
73
+ function getGlyphMap(component) {
74
+ try {
75
+ return component.glyphMap ?? {};
76
+ } catch {
77
+ return {};
74
78
  }
75
79
  }
76
80
  function Icon({ name, size, color, family }) {
77
- ensureGlyphCache();
78
81
  const entry = family ? ALL_FAMILIES.find((f) => f.name === family) : ALL_FAMILIES.find((f) => {
79
- const glyphMap = f.glyphMap;
80
- return glyphMap ? name in glyphMap : false;
82
+ const glyphMap = getGlyphMap(f.component);
83
+ return name in glyphMap;
81
84
  });
82
85
  if (!entry) return null;
83
86
  return React3__default.default.createElement(entry.component, { name, size, color });
@@ -1,8 +1,7 @@
1
- export { MediaCard } from './chunk-CM2DG4MR.mjs';
1
+ export { MediaCard } from './chunk-MSS3CD6F.mjs';
2
2
  import './chunk-IFYMBOEN.mjs';
3
- import './chunk-ARONDO7M.mjs';
4
- import './chunk-QY3X2UYR.mjs';
5
- import './chunk-MZ6WRTD2.mjs';
6
- import './chunk-KSSVIFYR.mjs';
3
+ import './chunk-CTUFFKGS.mjs';
4
+ import './chunk-DYYPDQA2.mjs';
5
+ import './chunk-24JTXQ2M.mjs';
6
+ import './chunk-ZQGCQ7SA.mjs';
7
7
  import './chunk-2CE3TQVY.mjs';
8
- import './chunk-Y6FXYEAI.mjs';
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import React__default from 'react';
2
2
  import { ViewStyle, TextStyle } from 'react-native';
3
3
 
4
4
  type MenuItemVariant = 'plain' | 'card';
@@ -12,7 +12,7 @@ interface MenuItemProps {
12
12
  */
13
13
  iconName?: string;
14
14
  /** Custom icon node rendered on the left. */
15
- icon?: React.ReactNode;
15
+ icon?: React__default.ReactNode;
16
16
  /** Override icon color. Defaults to `foreground`. */
17
17
  iconColor?: string;
18
18
  /**
@@ -20,7 +20,7 @@ interface MenuItemProps {
20
20
  * When provided, replaces the default chevron.
21
21
  * Use for checkboxes, switches, badges, or other controls.
22
22
  */
23
- rightRender?: React.ReactNode;
23
+ rightRender?: React__default.ReactNode;
24
24
  /**
25
25
  * Show chevron on the right. Defaults to `true`.
26
26
  * Ignored when `rightRender` is provided.
@@ -41,8 +41,9 @@ interface MenuItemProps {
41
41
  labelStyle?: TextStyle;
42
42
  /** Accessibility label override. Defaults to label. */
43
43
  accessibilityLabel?: string;
44
+ accessibilityHint?: string;
44
45
  }
45
- declare function MenuItemBase({ label, subtitle, iconName, icon, iconColor, rightRender, showChevron, onPress, disabled, variant, showSeparator, style, labelStyle, accessibilityLabel, }: MenuItemProps): React.JSX.Element;
46
- declare const MenuItem: React.MemoExoticComponent<typeof MenuItemBase>;
46
+ declare function MenuItemBase({ label, subtitle, iconName, icon, iconColor, rightRender, showChevron, onPress, disabled, variant, showSeparator, style, labelStyle, accessibilityLabel, accessibilityHint, }: MenuItemProps): React__default.JSX.Element;
47
+ declare const MenuItem: React__default.MemoExoticComponent<typeof MenuItemBase>;
47
48
 
48
49
  export { MenuItem, type MenuItemProps, type MenuItemVariant };
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import React__default from 'react';
2
2
  import { ViewStyle, TextStyle } from 'react-native';
3
3
 
4
4
  type MenuItemVariant = 'plain' | 'card';
@@ -12,7 +12,7 @@ interface MenuItemProps {
12
12
  */
13
13
  iconName?: string;
14
14
  /** Custom icon node rendered on the left. */
15
- icon?: React.ReactNode;
15
+ icon?: React__default.ReactNode;
16
16
  /** Override icon color. Defaults to `foreground`. */
17
17
  iconColor?: string;
18
18
  /**
@@ -20,7 +20,7 @@ interface MenuItemProps {
20
20
  * When provided, replaces the default chevron.
21
21
  * Use for checkboxes, switches, badges, or other controls.
22
22
  */
23
- rightRender?: React.ReactNode;
23
+ rightRender?: React__default.ReactNode;
24
24
  /**
25
25
  * Show chevron on the right. Defaults to `true`.
26
26
  * Ignored when `rightRender` is provided.
@@ -41,8 +41,9 @@ interface MenuItemProps {
41
41
  labelStyle?: TextStyle;
42
42
  /** Accessibility label override. Defaults to label. */
43
43
  accessibilityLabel?: string;
44
+ accessibilityHint?: string;
44
45
  }
45
- declare function MenuItemBase({ label, subtitle, iconName, icon, iconColor, rightRender, showChevron, onPress, disabled, variant, showSeparator, style, labelStyle, accessibilityLabel, }: MenuItemProps): React.JSX.Element;
46
- declare const MenuItem: React.MemoExoticComponent<typeof MenuItemBase>;
46
+ declare function MenuItemBase({ label, subtitle, iconName, icon, iconColor, rightRender, showChevron, onPress, disabled, variant, showSeparator, style, labelStyle, accessibilityLabel, accessibilityHint, }: MenuItemProps): React__default.JSX.Element;
47
+ declare const MenuItem: React__default.MemoExoticComponent<typeof MenuItemBase>;
47
48
 
48
49
  export { MenuItem, type MenuItemProps, type MenuItemVariant };
package/dist/MenuItem.js CHANGED
@@ -3,6 +3,7 @@
3
3
  var React3 = require('react');
4
4
  var reactNative = require('react-native');
5
5
  var vectorIcons = require('@expo/vector-icons');
6
+ var Haptics = require('expo-haptics');
6
7
  var reactNativeSizeMatters = require('react-native-size-matters');
7
8
  var AntDesign = require('@expo/vector-icons/AntDesign');
8
9
  var Entypo = require('@expo/vector-icons/Entypo');
@@ -14,7 +15,26 @@ var pressto = require('pressto');
14
15
 
15
16
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
16
17
 
18
+ function _interopNamespace(e) {
19
+ if (e && e.__esModule) return e;
20
+ var n = Object.create(null);
21
+ if (e) {
22
+ Object.keys(e).forEach(function (k) {
23
+ if (k !== 'default') {
24
+ var d = Object.getOwnPropertyDescriptor(e, k);
25
+ Object.defineProperty(n, k, d.get ? d : {
26
+ enumerable: true,
27
+ get: function () { return e[k]; }
28
+ });
29
+ }
30
+ });
31
+ }
32
+ n.default = e;
33
+ return Object.freeze(n);
34
+ }
35
+
17
36
  var React3__default = /*#__PURE__*/_interopDefault(React3);
37
+ var Haptics__namespace = /*#__PURE__*/_interopNamespace(Haptics);
18
38
  var AntDesign__default = /*#__PURE__*/_interopDefault(AntDesign);
19
39
  var Entypo__default = /*#__PURE__*/_interopDefault(Entypo);
20
40
  var Feather__default = /*#__PURE__*/_interopDefault(Feather);
@@ -23,22 +43,11 @@ var MaterialIcons__default = /*#__PURE__*/_interopDefault(MaterialIcons);
23
43
  var Ionicons__default = /*#__PURE__*/_interopDefault(Ionicons);
24
44
 
25
45
  // src/components/MenuItem/MenuItem.tsx
26
- var _haptics = null;
27
- var _loaded = false;
28
- async function getHaptics() {
29
- if (reactNative.Platform.OS === "web") return null;
30
- if (!_loaded) {
31
- _loaded = true;
32
- try {
33
- _haptics = await import('expo-haptics');
34
- } catch {
35
- _haptics = null;
36
- }
37
- }
38
- return _haptics;
46
+ function maybeHaptics() {
47
+ return reactNative.Platform.OS === "web" ? null : Haptics__namespace;
39
48
  }
40
49
  function selectionAsync() {
41
- getHaptics().then((h) => h?.selectionAsync());
50
+ maybeHaptics()?.selectionAsync();
42
51
  }
43
52
  var ThemeContext = React3.createContext(void 0);
44
53
  function useTheme() {
@@ -60,23 +69,17 @@ var ALL_FAMILIES = [
60
69
  { name: "MaterialIcons", component: MaterialIcons__default.default },
61
70
  { name: "Ionicons", component: Ionicons__default.default }
62
71
  ];
63
- var glyphCacheInitialized = false;
64
- function ensureGlyphCache() {
65
- if (glyphCacheInitialized) return;
66
- glyphCacheInitialized = true;
67
- for (const entry of ALL_FAMILIES) {
68
- try {
69
- entry.glyphMap = entry.component.glyphMap;
70
- } catch {
71
- entry.glyphMap = {};
72
- }
72
+ function getGlyphMap(component) {
73
+ try {
74
+ return component.glyphMap ?? {};
75
+ } catch {
76
+ return {};
73
77
  }
74
78
  }
75
79
  function Icon({ name, size, color, family }) {
76
- ensureGlyphCache();
77
80
  const entry = family ? ALL_FAMILIES.find((f) => f.name === family) : ALL_FAMILIES.find((f) => {
78
- const glyphMap = f.glyphMap;
79
- return glyphMap ? name in glyphMap : false;
81
+ const glyphMap = getGlyphMap(f.component);
82
+ return name in glyphMap;
80
83
  });
81
84
  if (!entry) return null;
82
85
  return React3__default.default.createElement(entry.component, { name, size, color });
@@ -110,7 +113,8 @@ function MenuItemBase({
110
113
  showSeparator = false,
111
114
  style,
112
115
  labelStyle,
113
- accessibilityLabel
116
+ accessibilityLabel,
117
+ accessibilityHint
114
118
  }) {
115
119
  const { colors } = useTheme();
116
120
  const handlePress = () => {
@@ -141,6 +145,7 @@ function MenuItemBase({
141
145
  activateOnHover: true,
142
146
  accessibilityRole: "button",
143
147
  accessibilityLabel: a11yLabel,
148
+ accessibilityHint,
144
149
  accessibilityState: { disabled }
145
150
  },
146
151
  resolvedIcon ? /* @__PURE__ */ React3__default.default.createElement(reactNative.View, { style: styles.iconContainer }, resolvedIcon) : null,
package/dist/MenuItem.mjs CHANGED
@@ -1,8 +1,7 @@
1
- export { MenuItem } from './chunk-E4EQSCKR.mjs';
1
+ export { MenuItem } from './chunk-BTPCY4C7.mjs';
2
2
  import './chunk-IFYMBOEN.mjs';
3
- import './chunk-ARONDO7M.mjs';
4
- import './chunk-QY3X2UYR.mjs';
5
- import './chunk-MZ6WRTD2.mjs';
6
- import './chunk-KSSVIFYR.mjs';
3
+ import './chunk-CTUFFKGS.mjs';
4
+ import './chunk-DYYPDQA2.mjs';
5
+ import './chunk-24JTXQ2M.mjs';
6
+ import './chunk-ZQGCQ7SA.mjs';
7
7
  import './chunk-2CE3TQVY.mjs';
8
- import './chunk-Y6FXYEAI.mjs';
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import React__default from 'react';
2
2
  import { ViewStyle } from 'react-native';
3
3
 
4
4
  interface MonthPickerValue {
@@ -23,6 +23,6 @@ interface MonthPickerProps {
23
23
  formatLabel?: (value: MonthPickerValue) => string;
24
24
  style?: ViewStyle;
25
25
  }
26
- declare function MonthPicker({ value, onChange, minValue, maxValue, locale, formatLabel, style }: MonthPickerProps): React.JSX.Element;
26
+ declare function MonthPicker({ value, onChange, minValue, maxValue, locale, formatLabel, style }: MonthPickerProps): React__default.JSX.Element;
27
27
 
28
28
  export { MonthPicker, type MonthPickerProps, type MonthPickerValue, dateToMonthPickerValue, monthPickerValueToDate };
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import React__default from 'react';
2
2
  import { ViewStyle } from 'react-native';
3
3
 
4
4
  interface MonthPickerValue {
@@ -23,6 +23,6 @@ interface MonthPickerProps {
23
23
  formatLabel?: (value: MonthPickerValue) => string;
24
24
  style?: ViewStyle;
25
25
  }
26
- declare function MonthPicker({ value, onChange, minValue, maxValue, locale, formatLabel, style }: MonthPickerProps): React.JSX.Element;
26
+ declare function MonthPicker({ value, onChange, minValue, maxValue, locale, formatLabel, style }: MonthPickerProps): React__default.JSX.Element;
27
27
 
28
28
  export { MonthPicker, type MonthPickerProps, type MonthPickerValue, dateToMonthPickerValue, monthPickerValueToDate };
@@ -3,29 +3,38 @@
3
3
  var React2 = require('react');
4
4
  var reactNative = require('react-native');
5
5
  var vectorIcons = require('@expo/vector-icons');
6
+ var Haptics = require('expo-haptics');
6
7
  var reactNativeSizeMatters = require('react-native-size-matters');
7
8
 
8
9
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
9
10
 
11
+ function _interopNamespace(e) {
12
+ if (e && e.__esModule) return e;
13
+ var n = Object.create(null);
14
+ if (e) {
15
+ Object.keys(e).forEach(function (k) {
16
+ if (k !== 'default') {
17
+ var d = Object.getOwnPropertyDescriptor(e, k);
18
+ Object.defineProperty(n, k, d.get ? d : {
19
+ enumerable: true,
20
+ get: function () { return e[k]; }
21
+ });
22
+ }
23
+ });
24
+ }
25
+ n.default = e;
26
+ return Object.freeze(n);
27
+ }
28
+
10
29
  var React2__default = /*#__PURE__*/_interopDefault(React2);
30
+ var Haptics__namespace = /*#__PURE__*/_interopNamespace(Haptics);
11
31
 
12
32
  // src/components/MonthPicker/MonthPicker.tsx
13
- var _haptics = null;
14
- var _loaded = false;
15
- async function getHaptics() {
16
- if (reactNative.Platform.OS === "web") return null;
17
- if (!_loaded) {
18
- _loaded = true;
19
- try {
20
- _haptics = await import('expo-haptics');
21
- } catch {
22
- _haptics = null;
23
- }
24
- }
25
- return _haptics;
33
+ function maybeHaptics() {
34
+ return reactNative.Platform.OS === "web" ? null : Haptics__namespace;
26
35
  }
27
36
  function selectionAsync() {
28
- getHaptics().then((h) => h?.selectionAsync());
37
+ maybeHaptics()?.selectionAsync();
29
38
  }
30
39
  var ThemeContext = React2.createContext(void 0);
31
40
  function useTheme() {
@@ -1,5 +1,4 @@
1
- export { MonthPicker, dateToMonthPickerValue, monthPickerValueToDate } from './chunk-ITG4JQM3.mjs';
2
- import './chunk-ARONDO7M.mjs';
3
- import './chunk-KSSVIFYR.mjs';
1
+ export { MonthPicker, dateToMonthPickerValue, monthPickerValueToDate } from './chunk-QEE3EQ3N.mjs';
2
+ import './chunk-CTUFFKGS.mjs';
3
+ import './chunk-ZQGCQ7SA.mjs';
4
4
  import './chunk-2CE3TQVY.mjs';
5
- import './chunk-Y6FXYEAI.mjs';
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import React__default from 'react';
2
2
  import { ViewStyle } from 'react-native';
3
3
 
4
4
  type NumberStepperSize = 'sm' | 'md' | 'lg';
@@ -12,8 +12,9 @@ interface NumberStepperProps {
12
12
  disabled?: boolean;
13
13
  style?: ViewStyle;
14
14
  accessibilityLabel?: string;
15
+ accessibilityHint?: string;
15
16
  }
16
- declare function NumberStepperBase({ value, onValueChange, min, max, step, size, disabled, style, accessibilityLabel, }: NumberStepperProps): React.JSX.Element;
17
- declare const NumberStepper: React.MemoExoticComponent<typeof NumberStepperBase>;
17
+ declare function NumberStepperBase({ value, onValueChange, min, max, step, size, disabled, style, accessibilityLabel, accessibilityHint, }: NumberStepperProps): React__default.JSX.Element;
18
+ declare const NumberStepper: React__default.MemoExoticComponent<typeof NumberStepperBase>;
18
19
 
19
20
  export { NumberStepper, type NumberStepperProps, type NumberStepperSize };
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import React__default from 'react';
2
2
  import { ViewStyle } from 'react-native';
3
3
 
4
4
  type NumberStepperSize = 'sm' | 'md' | 'lg';
@@ -12,8 +12,9 @@ interface NumberStepperProps {
12
12
  disabled?: boolean;
13
13
  style?: ViewStyle;
14
14
  accessibilityLabel?: string;
15
+ accessibilityHint?: string;
15
16
  }
16
- declare function NumberStepperBase({ value, onValueChange, min, max, step, size, disabled, style, accessibilityLabel, }: NumberStepperProps): React.JSX.Element;
17
- declare const NumberStepper: React.MemoExoticComponent<typeof NumberStepperBase>;
17
+ declare function NumberStepperBase({ value, onValueChange, min, max, step, size, disabled, style, accessibilityLabel, accessibilityHint, }: NumberStepperProps): React__default.JSX.Element;
18
+ declare const NumberStepper: React__default.MemoExoticComponent<typeof NumberStepperBase>;
18
19
 
19
20
  export { NumberStepper, type NumberStepperProps, type NumberStepperSize };