@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
package/dist/Toggle.d.ts CHANGED
@@ -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 ToggleVariant = 'default' | 'outline';
@@ -10,9 +10,9 @@ interface ToggleProps {
10
10
  size?: ToggleSize;
11
11
  label?: string;
12
12
  /** Icon to show when not pressed */
13
- icon?: React.ReactNode | ((pressed: boolean) => React.ReactNode);
13
+ icon?: React__default.ReactNode | ((pressed: boolean) => React__default.ReactNode);
14
14
  /** Icon to show when pressed/active. If omitted, a default check mark is used. */
15
- activeIcon?: React.ReactNode | ((pressed: boolean) => React.ReactNode);
15
+ activeIcon?: React__default.ReactNode | ((pressed: boolean) => React__default.ReactNode);
16
16
  /**
17
17
  * Icon name from `@expo/vector-icons` shown when not pressed.
18
18
  * See https://icons.expo.fyi. Takes precedence over `icon`.
@@ -31,6 +31,6 @@ interface ToggleProps {
31
31
  style?: ViewStyle;
32
32
  accessibilityLabel?: string;
33
33
  }
34
- declare function Toggle({ pressed, onPressedChange, variant, size, label, icon, activeIcon, iconName, activeIconName, iconColor, activeIconColor, disabled, style, accessibilityLabel, }: ToggleProps): React.JSX.Element;
34
+ declare function Toggle({ pressed, onPressedChange, variant, size, label, icon, activeIcon, iconName, activeIconName, iconColor, activeIconColor, disabled, style, accessibilityLabel, }: ToggleProps): React__default.JSX.Element;
35
35
 
36
36
  export { Toggle, type ToggleProps, type ToggleSize, type ToggleVariant };
package/dist/Toggle.js CHANGED
@@ -4,6 +4,7 @@ var React3 = require('react');
4
4
  var reactNative = require('react-native');
5
5
  var reactNativeEase = require('react-native-ease');
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/Toggle/Toggle.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() {
@@ -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 });
package/dist/Toggle.mjs CHANGED
@@ -1,8 +1,7 @@
1
- export { Toggle } from './chunk-RRKM4MKB.mjs';
1
+ export { Toggle } from './chunk-HLWGFBIF.mjs';
2
2
  import './chunk-M53LC4Q7.mjs';
3
3
  import './chunk-IFYMBOEN.mjs';
4
- import './chunk-ARONDO7M.mjs';
5
- import './chunk-MZ6WRTD2.mjs';
6
- import './chunk-KSSVIFYR.mjs';
4
+ import './chunk-CTUFFKGS.mjs';
5
+ import './chunk-24JTXQ2M.mjs';
6
+ import './chunk-ZQGCQ7SA.mjs';
7
7
  import './chunk-2CE3TQVY.mjs';
8
- import './chunk-Y6FXYEAI.mjs';
@@ -0,0 +1,28 @@
1
+ import React__default from 'react';
2
+ import { SectionListProps, SectionListRenderItemInfo, ViewStyle } from 'react-native';
3
+
4
+ interface VirtualizedListSection<T> {
5
+ title?: string;
6
+ data: readonly T[];
7
+ }
8
+ interface VirtualizedListProps<T> extends Omit<SectionListProps<T>, 'sections' | 'renderItem' | 'ListEmptyComponent'> {
9
+ sections: VirtualizedListSection<T>[];
10
+ renderItem: (info: SectionListRenderItemInfo<T>) => React__default.ReactElement | null;
11
+ /** Empty state shown when no data. */
12
+ emptyTitle?: string;
13
+ /** Empty state description. */
14
+ emptyDescription?: string;
15
+ /** Custom empty state component. Overrides emptyTitle/emptyDescription. */
16
+ emptyComponent?: React__default.ReactNode;
17
+ /** Enable pull-to-refresh. */
18
+ refreshing?: boolean;
19
+ onRefresh?: () => void;
20
+ /** Sticky section headers. Default true. */
21
+ stickyHeaders?: boolean;
22
+ /** Override section header color. Defaults to foregroundMuted. */
23
+ headerColor?: string;
24
+ style?: ViewStyle;
25
+ }
26
+ declare function VirtualizedList<T>({ sections, renderItem, emptyTitle, emptyDescription, emptyComponent, refreshing, onRefresh, stickyHeaders, headerColor, style, ...props }: VirtualizedListProps<T>): React__default.JSX.Element;
27
+
28
+ export { VirtualizedList, type VirtualizedListProps, type VirtualizedListSection };
@@ -0,0 +1,28 @@
1
+ import React__default from 'react';
2
+ import { SectionListProps, SectionListRenderItemInfo, ViewStyle } from 'react-native';
3
+
4
+ interface VirtualizedListSection<T> {
5
+ title?: string;
6
+ data: readonly T[];
7
+ }
8
+ interface VirtualizedListProps<T> extends Omit<SectionListProps<T>, 'sections' | 'renderItem' | 'ListEmptyComponent'> {
9
+ sections: VirtualizedListSection<T>[];
10
+ renderItem: (info: SectionListRenderItemInfo<T>) => React__default.ReactElement | null;
11
+ /** Empty state shown when no data. */
12
+ emptyTitle?: string;
13
+ /** Empty state description. */
14
+ emptyDescription?: string;
15
+ /** Custom empty state component. Overrides emptyTitle/emptyDescription. */
16
+ emptyComponent?: React__default.ReactNode;
17
+ /** Enable pull-to-refresh. */
18
+ refreshing?: boolean;
19
+ onRefresh?: () => void;
20
+ /** Sticky section headers. Default true. */
21
+ stickyHeaders?: boolean;
22
+ /** Override section header color. Defaults to foregroundMuted. */
23
+ headerColor?: string;
24
+ style?: ViewStyle;
25
+ }
26
+ declare function VirtualizedList<T>({ sections, renderItem, emptyTitle, emptyDescription, emptyComponent, refreshing, onRefresh, stickyHeaders, headerColor, style, ...props }: VirtualizedListProps<T>): React__default.JSX.Element;
27
+
28
+ export { VirtualizedList, type VirtualizedListProps, type VirtualizedListSection };
@@ -0,0 +1,130 @@
1
+ 'use strict';
2
+
3
+ var React2 = require('react');
4
+ var reactNative = require('react-native');
5
+ var reactNativeSizeMatters = require('react-native-size-matters');
6
+
7
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
8
+
9
+ var React2__default = /*#__PURE__*/_interopDefault(React2);
10
+
11
+ // src/components/VirtualizedList/VirtualizedList.tsx
12
+ var ThemeContext = React2.createContext(void 0);
13
+ function useTheme() {
14
+ const context = React2.useContext(ThemeContext);
15
+ if (!context) {
16
+ throw new Error("useTheme must be used within a ThemeProvider");
17
+ }
18
+ return context;
19
+ }
20
+ var isWeb = reactNative.Platform.OS === "web";
21
+ var s = isWeb ? (n) => n : reactNativeSizeMatters.scale;
22
+ var vs = isWeb ? (n) => n : reactNativeSizeMatters.verticalScale;
23
+
24
+ // src/components/VirtualizedList/VirtualizedList.tsx
25
+ function VirtualizedList({
26
+ sections,
27
+ renderItem,
28
+ emptyTitle = "Sin contenido",
29
+ emptyDescription,
30
+ emptyComponent,
31
+ refreshing = false,
32
+ onRefresh,
33
+ stickyHeaders = true,
34
+ headerColor,
35
+ style,
36
+ ...props
37
+ }) {
38
+ const { colors } = useTheme();
39
+ const renderSectionHeader = React2.useCallback(
40
+ ({ section }) => {
41
+ if (!section.title) return null;
42
+ return /* @__PURE__ */ React2__default.default.createElement(reactNative.View, { style: [styles.sectionHeader, { backgroundColor: colors.background }] }, /* @__PURE__ */ React2__default.default.createElement(
43
+ reactNative.Text,
44
+ {
45
+ style: [styles.sectionHeaderText, { color: headerColor ?? colors.foregroundMuted }],
46
+ allowFontScaling: true
47
+ },
48
+ section.title
49
+ ));
50
+ },
51
+ [colors.background, colors.foregroundMuted, headerColor]
52
+ );
53
+ const keyExtractor = React2.useCallback(
54
+ (_item, index) => String(index),
55
+ []
56
+ );
57
+ const flatSections = sections.filter((s2) => s2.data.length > 0);
58
+ const hasData = flatSections.length > 0;
59
+ if (!hasData) {
60
+ if (emptyComponent) return /* @__PURE__ */ React2__default.default.createElement(reactNative.View, { style }, emptyComponent);
61
+ return /* @__PURE__ */ React2__default.default.createElement(reactNative.View, { style: [styles.empty, style] }, /* @__PURE__ */ React2__default.default.createElement(
62
+ reactNative.Text,
63
+ {
64
+ style: [styles.emptyTitle, { color: colors.foregroundMuted }],
65
+ allowFontScaling: true
66
+ },
67
+ emptyTitle
68
+ ), emptyDescription ? /* @__PURE__ */ React2__default.default.createElement(
69
+ reactNative.Text,
70
+ {
71
+ style: [styles.emptyDescription, { color: colors.foregroundMuted }],
72
+ allowFontScaling: true
73
+ },
74
+ emptyDescription
75
+ ) : null);
76
+ }
77
+ return /* @__PURE__ */ React2__default.default.createElement(
78
+ reactNative.SectionList,
79
+ {
80
+ sections: flatSections,
81
+ renderItem,
82
+ renderSectionHeader,
83
+ keyExtractor,
84
+ stickySectionHeadersEnabled: stickyHeaders,
85
+ refreshControl: onRefresh ? /* @__PURE__ */ React2__default.default.createElement(
86
+ reactNative.RefreshControl,
87
+ {
88
+ refreshing,
89
+ onRefresh,
90
+ tintColor: colors.primary
91
+ }
92
+ ) : void 0,
93
+ style,
94
+ showsVerticalScrollIndicator: false,
95
+ ...props
96
+ }
97
+ );
98
+ }
99
+ var styles = reactNative.StyleSheet.create({
100
+ sectionHeader: {
101
+ paddingHorizontal: s(16),
102
+ paddingTop: vs(16),
103
+ paddingBottom: vs(6)
104
+ },
105
+ sectionHeaderText: {
106
+ fontFamily: "Sohne-SemiBold",
107
+ fontSize: 13,
108
+ letterSpacing: 0.32,
109
+ textTransform: "uppercase"
110
+ },
111
+ empty: {
112
+ flex: 1,
113
+ alignItems: "center",
114
+ justifyContent: "center",
115
+ paddingHorizontal: s(32),
116
+ gap: vs(8)
117
+ },
118
+ emptyTitle: {
119
+ fontFamily: "Sohne-Medium",
120
+ fontSize: 16,
121
+ textAlign: "center"
122
+ },
123
+ emptyDescription: {
124
+ fontFamily: "Sohne-Regular",
125
+ fontSize: 14,
126
+ textAlign: "center"
127
+ }
128
+ });
129
+
130
+ exports.VirtualizedList = VirtualizedList;
@@ -0,0 +1,3 @@
1
+ export { VirtualizedList } from './chunk-WFNGSYS4.mjs';
2
+ import './chunk-ZQGCQ7SA.mjs';
3
+ import './chunk-2CE3TQVY.mjs';
@@ -15,23 +15,17 @@ var ALL_FAMILIES = [
15
15
  { name: "MaterialIcons", component: MaterialIcons },
16
16
  { name: "Ionicons", component: Ionicons }
17
17
  ];
18
- var glyphCacheInitialized = false;
19
- function ensureGlyphCache() {
20
- if (glyphCacheInitialized) return;
21
- glyphCacheInitialized = true;
22
- for (const entry of ALL_FAMILIES) {
23
- try {
24
- entry.glyphMap = entry.component.glyphMap;
25
- } catch {
26
- entry.glyphMap = {};
27
- }
18
+ function getGlyphMap(component) {
19
+ try {
20
+ return component.glyphMap ?? {};
21
+ } catch {
22
+ return {};
28
23
  }
29
24
  }
30
25
  function Icon({ name, size, color, family }) {
31
- ensureGlyphCache();
32
26
  const entry = family ? ALL_FAMILIES.find((f) => f.name === family) : ALL_FAMILIES.find((f) => {
33
- const glyphMap = f.glyphMap;
34
- return glyphMap ? name in glyphMap : false;
27
+ const glyphMap = getGlyphMap(f.component);
28
+ return name in glyphMap;
35
29
  });
36
30
  if (!entry) return null;
37
31
  return React.createElement(entry.component, { name, size, color });
@@ -1,19 +1,19 @@
1
- import { RADIUS } from './chunk-QY3X2UYR.mjs';
2
- import { useTheme } from './chunk-KSSVIFYR.mjs';
1
+ import { RADIUS } from './chunk-DYYPDQA2.mjs';
2
+ import { useTheme } from './chunk-ZQGCQ7SA.mjs';
3
3
  import { vs, s } from './chunk-2CE3TQVY.mjs';
4
4
  import React from 'react';
5
5
  import { StyleSheet, View, Text } from 'react-native';
6
6
 
7
- function ListGroup({ children, variant = "plain", style }) {
7
+ function ItemGroup({ children, variant = "plain", childPropKey, style }) {
8
8
  const { colors } = useTheme();
9
9
  const processedChildren = React.Children.map(children, (child, index) => {
10
10
  if (!React.isValidElement(child)) return child;
11
- if (child.type === ListGroupHeader || child.type === ListGroupFooter) {
11
+ if (child.type === ItemGroupHeader || child.type === ItemGroupFooter) {
12
12
  return child;
13
13
  }
14
14
  const childProps = child.props;
15
- const isListItem = "title" in childProps;
16
- if (!isListItem) return child;
15
+ const isTargetChild = childPropKey in childProps;
16
+ if (!isTargetChild) return child;
17
17
  const isLast = index === React.Children.count(children) - 1;
18
18
  if (childProps["showSeparator"] === void 0 && !isLast) {
19
19
  return React.cloneElement(child, {
@@ -36,22 +36,20 @@ function ListGroup({ children, variant = "plain", style }) {
36
36
  } : {};
37
37
  return /* @__PURE__ */ React.createElement(View, { style: [styles.container, cardStyle, style] }, processedChildren);
38
38
  }
39
- function ListGroupHeader({ children, style }) {
39
+ function ItemGroupHeader({ children, style }) {
40
40
  const { colors } = useTheme();
41
41
  if (typeof children === "string") {
42
42
  return /* @__PURE__ */ React.createElement(View, { style: [styles.header, { borderBottomColor: colors.separator }, style] }, /* @__PURE__ */ React.createElement(Text, { style: [styles.headerText, { color: colors.foregroundMuted }], allowFontScaling: true }, children));
43
43
  }
44
44
  return /* @__PURE__ */ React.createElement(View, { style: [styles.header, { borderBottomColor: colors.separator }, style] }, children);
45
45
  }
46
- function ListGroupFooter({ children, style }) {
46
+ function ItemGroupFooter({ children, style }) {
47
47
  const { colors } = useTheme();
48
48
  if (typeof children === "string") {
49
49
  return /* @__PURE__ */ React.createElement(View, { style: [styles.footer, style] }, /* @__PURE__ */ React.createElement(Text, { style: [styles.footerText, { color: colors.foregroundMuted }], allowFontScaling: true }, children));
50
50
  }
51
51
  return /* @__PURE__ */ React.createElement(View, { style: [styles.footer, style] }, children);
52
52
  }
53
- ListGroup.Header = ListGroupHeader;
54
- ListGroup.Footer = ListGroupFooter;
55
53
  var styles = StyleSheet.create({
56
54
  container: {
57
55
  overflow: "hidden"
@@ -79,4 +77,4 @@ var styles = StyleSheet.create({
79
77
  }
80
78
  });
81
79
 
82
- export { ListGroup, ListGroupFooter, ListGroupHeader };
80
+ export { ItemGroup, ItemGroupFooter, ItemGroupHeader };
@@ -1,7 +1,8 @@
1
- import { IconButton } from './chunk-ZTPYUU5C.mjs';
2
- import { BREAKPOINTS } from './chunk-QY3X2UYR.mjs';
3
- import { useTheme } from './chunk-KSSVIFYR.mjs';
4
- import { mvs, ms, vs, s } from './chunk-2CE3TQVY.mjs';
1
+ import { IconButton } from './chunk-ZRUUUVOO.mjs';
2
+ import { BREAKPOINTS } from './chunk-DYYPDQA2.mjs';
3
+ import { Icon } from './chunk-24JTXQ2M.mjs';
4
+ import { useTheme } from './chunk-ZQGCQ7SA.mjs';
5
+ import { s, mvs, ms, vs } from './chunk-2CE3TQVY.mjs';
5
6
  import React from 'react';
6
7
  import { StyleSheet, useWindowDimensions, View, Text } from 'react-native';
7
8
  import { useSafeAreaInsets } from 'react-native-safe-area-context';
@@ -11,6 +12,7 @@ function AppHeader({
11
12
  subtitle,
12
13
  onBack,
13
14
  backIconName = "chevron-left",
15
+ iconName,
14
16
  left,
15
17
  right,
16
18
  titleAlign = "auto",
@@ -24,7 +26,7 @@ function AppHeader({
24
26
  const { width } = useWindowDimensions();
25
27
  const isWide = width >= BREAKPOINTS.wide;
26
28
  const centered = titleAlign === "center" || titleAlign === "auto" && isWide;
27
- const leftNode = left ?? (onBack ? /* @__PURE__ */ React.createElement(
29
+ const leftNode = left ?? /* @__PURE__ */ React.createElement(React.Fragment, null, onBack ? /* @__PURE__ */ React.createElement(
28
30
  IconButton,
29
31
  {
30
32
  iconName: backIconName,
@@ -33,7 +35,7 @@ function AppHeader({
33
35
  onPress: onBack,
34
36
  accessibilityLabel: "Atr\xE1s"
35
37
  }
36
- ) : null);
38
+ ) : null, iconName && !left ? /* @__PURE__ */ React.createElement(View, { style: styles.iconSlot }, /* @__PURE__ */ React.createElement(Icon, { name: iconName, size: 20, color: colors.foreground })) : null);
37
39
  const titleBlock = /* @__PURE__ */ React.createElement(View, { style: [styles.titleBlock, centered && styles.titleBlockCentered], pointerEvents: "none" }, title ? /* @__PURE__ */ React.createElement(
38
40
  Text,
39
41
  {
@@ -83,10 +85,13 @@ var styles = StyleSheet.create({
83
85
  minWidth: s(44),
84
86
  flexDirection: "row",
85
87
  alignItems: "center",
86
- justifyContent: "flex-start"
88
+ justifyContent: "flex-start",
89
+ paddingLeft: s(8),
90
+ gap: s(4)
87
91
  },
88
92
  sideRight: {
89
- justifyContent: "flex-end"
93
+ justifyContent: "flex-end",
94
+ paddingRight: s(8)
90
95
  },
91
96
  titleBlock: {
92
97
  flex: 1,
@@ -107,6 +112,12 @@ var styles = StyleSheet.create({
107
112
  fontSize: ms(13),
108
113
  lineHeight: mvs(16)
109
114
  },
115
+ iconSlot: {
116
+ width: s(44),
117
+ height: s(44),
118
+ alignItems: "center",
119
+ justifyContent: "center"
120
+ },
110
121
  textCentered: {
111
122
  textAlign: "center"
112
123
  }
@@ -1,6 +1,6 @@
1
1
  import { COLOR_TRANSITION } from './chunk-M53LC4Q7.mjs';
2
- import { Icon } from './chunk-MZ6WRTD2.mjs';
3
- import { useTheme } from './chunk-KSSVIFYR.mjs';
2
+ import { Icon } from './chunk-24JTXQ2M.mjs';
3
+ import { useTheme } from './chunk-ZQGCQ7SA.mjs';
4
4
  import { ms, s, vs } from './chunk-2CE3TQVY.mjs';
5
5
  import React, { useState } from 'react';
6
6
  import { Platform, StyleSheet, TouchableOpacity, View, Text, TextInput } from 'react-native';
@@ -1,5 +1,5 @@
1
- import { Icon } from './chunk-MZ6WRTD2.mjs';
2
- import { useTheme } from './chunk-KSSVIFYR.mjs';
1
+ import { Icon } from './chunk-24JTXQ2M.mjs';
2
+ import { useTheme } from './chunk-ZQGCQ7SA.mjs';
3
3
  import { mvs, ms, s } from './chunk-2CE3TQVY.mjs';
4
4
  import React from 'react';
5
5
  import { StyleSheet, View, Text } from 'react-native';
@@ -1,5 +1,5 @@
1
- import { Icon } from './chunk-MZ6WRTD2.mjs';
2
- import { useTheme } from './chunk-KSSVIFYR.mjs';
1
+ import { Icon } from './chunk-24JTXQ2M.mjs';
2
+ import { useTheme } from './chunk-ZQGCQ7SA.mjs';
3
3
  import { mvs, ms, s } from './chunk-2CE3TQVY.mjs';
4
4
  import React from 'react';
5
5
  import { StyleSheet, View, Text } from 'react-native';
@@ -1,5 +1,5 @@
1
- import { selectionAsync } from './chunk-ARONDO7M.mjs';
2
- import { useTheme } from './chunk-KSSVIFYR.mjs';
1
+ import { selectionAsync } from './chunk-CTUFFKGS.mjs';
2
+ import { useTheme } from './chunk-ZQGCQ7SA.mjs';
3
3
  import { vs, ms } from './chunk-2CE3TQVY.mjs';
4
4
  import React, { useRef } from 'react';
5
5
  import { StyleSheet, View, Text } from 'react-native';
@@ -16,6 +16,7 @@ function Slider({
16
16
  showValue = false,
17
17
  formatValue = (v) => v.toFixed(2),
18
18
  accessibilityLabel,
19
+ accessibilityHint,
19
20
  disabled,
20
21
  style
21
22
  }) {
@@ -34,6 +35,7 @@ function Slider({
34
35
  style: [styles.wrapper, style],
35
36
  accessibilityRole: "adjustable",
36
37
  accessibilityLabel: accessibilityLabel ?? label,
38
+ accessibilityHint,
37
39
  accessibilityValue: {
38
40
  min: minimumValue,
39
41
  max: maximumValue,
@@ -1,9 +1,9 @@
1
1
  import { COLOR_TRANSITION } from './chunk-M53LC4Q7.mjs';
2
2
  import { PressableChip } from './chunk-IFYMBOEN.mjs';
3
- import { selectionAsync } from './chunk-ARONDO7M.mjs';
4
- import { RADIUS } from './chunk-QY3X2UYR.mjs';
5
- import { Icon } from './chunk-MZ6WRTD2.mjs';
6
- import { useTheme } from './chunk-KSSVIFYR.mjs';
3
+ import { selectionAsync } from './chunk-CTUFFKGS.mjs';
4
+ import { RADIUS } from './chunk-DYYPDQA2.mjs';
5
+ import { Icon } from './chunk-24JTXQ2M.mjs';
6
+ import { useTheme } from './chunk-ZQGCQ7SA.mjs';
7
7
  import { ms, s, vs } from './chunk-2CE3TQVY.mjs';
8
8
  import React, { useCallback } from 'react';
9
9
  import { View, Text, StyleSheet, ScrollView } from 'react-native';
@@ -1,7 +1,7 @@
1
1
  import { COLOR_TRANSITION, SPRING_ELASTIC, OPACITY_TRANSITION } from './chunk-M53LC4Q7.mjs';
2
2
  import { PressableButton } from './chunk-IFYMBOEN.mjs';
3
- import { selectionAsync } from './chunk-ARONDO7M.mjs';
4
- import { useTheme } from './chunk-KSSVIFYR.mjs';
3
+ import { selectionAsync } from './chunk-CTUFFKGS.mjs';
4
+ import { useTheme } from './chunk-ZQGCQ7SA.mjs';
5
5
  import { s } from './chunk-2CE3TQVY.mjs';
6
6
  import React from 'react';
7
7
  import { StyleSheet, View } from 'react-native';
@@ -15,7 +15,7 @@ var THUMB_OFFSET = s(3);
15
15
  var THUMB_TRAVEL = TRACK_WIDTH - THUMB_SIZE - THUMB_OFFSET * 2;
16
16
  var ICON_SIZE = s(13);
17
17
  var DISABLED_OPACITY = 0.45;
18
- function Switch({ checked = false, onCheckedChange, disabled, style, accessibilityLabel }) {
18
+ function Switch({ checked = false, onCheckedChange, disabled, style, accessibilityLabel, accessibilityHint }) {
19
19
  const { colors } = useTheme();
20
20
  const isDisabled = !!disabled;
21
21
  return /* @__PURE__ */ React.createElement(View, { style: [{ alignSelf: "flex-start" }, style] }, /* @__PURE__ */ React.createElement(
@@ -30,6 +30,7 @@ function Switch({ checked = false, onCheckedChange, disabled, style, accessibili
30
30
  touchSoundDisabled: true,
31
31
  accessibilityRole: "switch",
32
32
  accessibilityLabel,
33
+ accessibilityHint,
33
34
  accessibilityState: { checked, disabled: isDisabled },
34
35
  style: styles.touchable
35
36
  },
@@ -1,8 +1,8 @@
1
1
  import { PressableRow } from './chunk-IFYMBOEN.mjs';
2
- import { selectionAsync } from './chunk-ARONDO7M.mjs';
3
- import { RADIUS } from './chunk-QY3X2UYR.mjs';
4
- import { Icon } from './chunk-MZ6WRTD2.mjs';
5
- import { useTheme } from './chunk-KSSVIFYR.mjs';
2
+ import { selectionAsync } from './chunk-CTUFFKGS.mjs';
3
+ import { RADIUS } from './chunk-DYYPDQA2.mjs';
4
+ import { Icon } from './chunk-24JTXQ2M.mjs';
5
+ import { useTheme } from './chunk-ZQGCQ7SA.mjs';
6
6
  import { ms, s, mvs, vs } from './chunk-2CE3TQVY.mjs';
7
7
  import React from 'react';
8
8
  import { Image } from 'expo-image';
@@ -31,7 +31,8 @@ function ListItemBase({
31
31
  subtitleStyle,
32
32
  subtitleNumberOfLines = 2,
33
33
  captionStyle,
34
- accessibilityLabel
34
+ accessibilityLabel,
35
+ accessibilityHint
35
36
  }) {
36
37
  const { colors } = useTheme();
37
38
  const handlePress = () => {
@@ -96,6 +97,7 @@ function ListItemBase({
96
97
  activateOnHover: true,
97
98
  accessibilityRole: "button",
98
99
  accessibilityLabel: a11yLabel,
100
+ accessibilityHint,
99
101
  accessibilityState: { disabled: !!disabled }
100
102
  },
101
103
  content
@@ -1,6 +1,6 @@
1
1
  import { COLOR_TRANSITION } from './chunk-M53LC4Q7.mjs';
2
- import { Icon } from './chunk-MZ6WRTD2.mjs';
3
- import { useTheme } from './chunk-KSSVIFYR.mjs';
2
+ import { Icon } from './chunk-24JTXQ2M.mjs';
3
+ import { useTheme } from './chunk-ZQGCQ7SA.mjs';
4
4
  import { vs, ms, s } from './chunk-2CE3TQVY.mjs';
5
5
  import React, { useState } from 'react';
6
6
  import { Platform, StyleSheet, View, Text, TextInput } from 'react-native';
@@ -1,9 +1,9 @@
1
1
  import { COLOR_TRANSITION } from './chunk-M53LC4Q7.mjs';
2
2
  import { PressableButton } from './chunk-IFYMBOEN.mjs';
3
- import { impactMedium } from './chunk-ARONDO7M.mjs';
4
- import { TYPOGRAPHY, RADIUS } from './chunk-QY3X2UYR.mjs';
5
- import { Icon } from './chunk-MZ6WRTD2.mjs';
6
- import { useTheme } from './chunk-KSSVIFYR.mjs';
3
+ import { impactMedium } from './chunk-CTUFFKGS.mjs';
4
+ import { TYPOGRAPHY, RADIUS } from './chunk-DYYPDQA2.mjs';
5
+ import { Icon } from './chunk-24JTXQ2M.mjs';
6
+ import { useTheme } from './chunk-ZQGCQ7SA.mjs';
7
7
  import { vs, s, mvs, ms } from './chunk-2CE3TQVY.mjs';
8
8
  import React from 'react';
9
9
  import { StyleSheet, View, ActivityIndicator, Text } from 'react-native';
@@ -1,7 +1,7 @@
1
1
  import { COLOR_TRANSITION, OPACITY_TRANSITION } from './chunk-M53LC4Q7.mjs';
2
2
  import { PressableButton } from './chunk-IFYMBOEN.mjs';
3
- import { selectionAsync } from './chunk-ARONDO7M.mjs';
4
- import { useTheme } from './chunk-KSSVIFYR.mjs';
3
+ import { selectionAsync } from './chunk-CTUFFKGS.mjs';
4
+ import { useTheme } from './chunk-ZQGCQ7SA.mjs';
5
5
  import { mvs, ms, vs, s } from './chunk-2CE3TQVY.mjs';
6
6
  import React from 'react';
7
7
  import { StyleSheet, View, Text } from 'react-native';
@@ -13,7 +13,8 @@ function Checkbox({
13
13
  label,
14
14
  disabled,
15
15
  style,
16
- accessibilityLabel
16
+ accessibilityLabel,
17
+ accessibilityHint
17
18
  }) {
18
19
  const { colors } = useTheme();
19
20
  const handlePress = () => {
@@ -34,6 +35,7 @@ function Checkbox({
34
35
  touchSoundDisabled: true,
35
36
  accessibilityRole: "checkbox",
36
37
  accessibilityLabel: accessibilityLabel ?? label,
38
+ accessibilityHint,
37
39
  accessibilityState: { checked, disabled: !!disabled }
38
40
  },
39
41
  /* @__PURE__ */ React.createElement(