@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,6 +1,6 @@
1
1
  import { PRESS_SCALE } from './chunk-M53LC4Q7.mjs';
2
2
  import { PressableCard } from './chunk-IFYMBOEN.mjs';
3
- import { impactLight } from './chunk-ARONDO7M.mjs';
3
+ import { impactLight } from './chunk-CTUFFKGS.mjs';
4
4
  import React from 'react';
5
5
 
6
6
  function Pressable({
@@ -1,8 +1,8 @@
1
- import { Badge } from './chunk-AZV7KNJI.mjs';
2
- import { Button } from './chunk-Y6YS33GM.mjs';
3
- import { RADIUS, SHADOWS } from './chunk-QY3X2UYR.mjs';
4
- import { Icon } from './chunk-MZ6WRTD2.mjs';
5
- import { useTheme } from './chunk-KSSVIFYR.mjs';
1
+ import { Badge } from './chunk-YKWIMVGU.mjs';
2
+ import { Button } from './chunk-AHFEAY6M.mjs';
3
+ import { RADIUS, SHADOWS } from './chunk-DYYPDQA2.mjs';
4
+ import { Icon } from './chunk-24JTXQ2M.mjs';
5
+ import { useTheme } from './chunk-ZQGCQ7SA.mjs';
6
6
  import { mvs, ms, vs, s } from './chunk-2CE3TQVY.mjs';
7
7
  import React from 'react';
8
8
  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 { s, mvs, ms } from './chunk-2CE3TQVY.mjs';
4
4
  import React from 'react';
5
5
  import { StyleSheet, View, TouchableOpacity, Text } from 'react-native';
@@ -1,6 +1,6 @@
1
1
  import { PressableButton } from './chunk-IFYMBOEN.mjs';
2
- import { selectionAsync } from './chunk-ARONDO7M.mjs';
3
- import { useTheme } from './chunk-KSSVIFYR.mjs';
2
+ import { selectionAsync } from './chunk-CTUFFKGS.mjs';
3
+ import { useTheme } from './chunk-ZQGCQ7SA.mjs';
4
4
  import { ms, vs, s } from './chunk-2CE3TQVY.mjs';
5
5
  import React, { useState, useRef } from 'react';
6
6
  import { Platform, StyleSheet, View, Text, Modal, TouchableOpacity } from 'react-native';
@@ -20,13 +20,26 @@ function Select({
20
20
  error,
21
21
  disabled,
22
22
  style,
23
- accessibilityLabel
23
+ accessibilityLabel,
24
+ accessibilityHint
24
25
  }) {
25
26
  const { colors } = useTheme();
26
27
  const [pickerVisible, setPickerVisible] = useState(false);
27
28
  const [pendingValue, setPendingValue] = useState(value);
28
29
  const pickerRef = useRef(null);
29
30
  const selected = options.find((o) => o.value === value);
31
+ function renderPickerItems(includePlaceholder, itemColor, disabledColor) {
32
+ return /* @__PURE__ */ React.createElement(React.Fragment, null, includePlaceholder ? /* @__PURE__ */ React.createElement(Picker.Item, { label: placeholder, value: "", enabled: false, color: disabledColor }) : null, options.map((o) => /* @__PURE__ */ React.createElement(
33
+ Picker.Item,
34
+ {
35
+ key: o.value,
36
+ label: o.label,
37
+ value: o.value,
38
+ enabled: !o.disabled,
39
+ color: o.disabled ? disabledColor : itemColor
40
+ }
41
+ )));
42
+ }
30
43
  const handleOpen = () => {
31
44
  if (disabled) return;
32
45
  selectionAsync();
@@ -64,6 +77,7 @@ function Select({
64
77
  touchSoundDisabled: true,
65
78
  accessibilityRole: "combobox",
66
79
  accessibilityLabel: accessibilityLabel ?? label,
80
+ accessibilityHint,
67
81
  accessibilityValue: { text: selected?.label ?? placeholder },
68
82
  accessibilityState: { disabled: !!disabled, expanded: pickerVisible }
69
83
  },
@@ -96,17 +110,7 @@ function Select({
96
110
  onValueChange: (val) => setPendingValue(val),
97
111
  itemStyle: { color: colors.foreground }
98
112
  },
99
- !value ? /* @__PURE__ */ React.createElement(Picker.Item, { label: placeholder, value: "", color: colors.foregroundMuted, enabled: false }) : null,
100
- options.map((o) => /* @__PURE__ */ React.createElement(
101
- Picker.Item,
102
- {
103
- key: o.value,
104
- label: o.label,
105
- value: o.value,
106
- enabled: !o.disabled,
107
- color: o.disabled ? colors.foregroundMuted : colors.foreground
108
- }
109
- ))
113
+ renderPickerItems(!value, colors.foreground, colors.foregroundMuted)
110
114
  ))
111
115
  ) : null, isAndroid ? /* @__PURE__ */ React.createElement(
112
116
  Picker,
@@ -124,16 +128,7 @@ function Select({
124
128
  prompt: label,
125
129
  style: styles.androidHiddenPicker
126
130
  },
127
- !value ? /* @__PURE__ */ React.createElement(Picker.Item, { label: placeholder, value: "", enabled: false }) : null,
128
- options.map((o) => /* @__PURE__ */ React.createElement(
129
- Picker.Item,
130
- {
131
- key: o.value,
132
- label: o.label,
133
- value: o.value,
134
- enabled: !o.disabled
135
- }
136
- ))
131
+ renderPickerItems(!value)
137
132
  ) : null, isWeb ? /* @__PURE__ */ React.createElement(
138
133
  Picker,
139
134
  {
@@ -154,16 +149,7 @@ function Select({
154
149
  }
155
150
  ]
156
151
  },
157
- /* @__PURE__ */ React.createElement(Picker.Item, { label: placeholder, value: "", enabled: false }),
158
- options.map((o) => /* @__PURE__ */ React.createElement(
159
- Picker.Item,
160
- {
161
- key: o.value,
162
- label: o.label,
163
- value: o.value,
164
- enabled: !o.disabled
165
- }
166
- ))
152
+ renderPickerItems(true)
167
153
  ) : null, error ? /* @__PURE__ */ React.createElement(Text, { style: [styles.helperText, { color: colors.destructive }], allowFontScaling: true }, error) : !error && hint ? /* @__PURE__ */ React.createElement(Text, { style: [styles.helperText, { color: colors.foregroundMuted }], allowFontScaling: true }, hint) : null);
168
154
  }
169
155
  var styles = StyleSheet.create({
@@ -1,6 +1,6 @@
1
1
  import { TIMINGS } from './chunk-M53LC4Q7.mjs';
2
- import { RADIUS } from './chunk-QY3X2UYR.mjs';
3
- import { useTheme } from './chunk-KSSVIFYR.mjs';
2
+ import { RADIUS } from './chunk-DYYPDQA2.mjs';
3
+ import { useTheme } from './chunk-ZQGCQ7SA.mjs';
4
4
  import { vs, s } from './chunk-2CE3TQVY.mjs';
5
5
  import React, { useState, useEffect } from 'react';
6
6
  import { StyleSheet, View } from 'react-native';
@@ -1,4 +1,4 @@
1
- import { useTheme } from './chunk-KSSVIFYR.mjs';
1
+ import { useTheme } from './chunk-ZQGCQ7SA.mjs';
2
2
  import { s, ms, vs } from './chunk-2CE3TQVY.mjs';
3
3
  import React, { useState } from 'react';
4
4
  import { Image } from 'expo-image';
@@ -1,11 +1,12 @@
1
1
  import { PressableChip } 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';
6
- import { mvs, ms, vs, s } from './chunk-2CE3TQVY.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
+ import { vs, s, mvs, ms } from './chunk-2CE3TQVY.mjs';
7
7
  import React, { useState } from 'react';
8
8
  import { StyleSheet, ScrollView, View, Text } from 'react-native';
9
+ import { Image } from 'expo-image';
9
10
 
10
11
  function isSelected(value, candidate) {
11
12
  if (value == null) return false;
@@ -13,8 +14,10 @@ function isSelected(value, candidate) {
13
14
  }
14
15
  function Cell({ item, selected, width, onPress }) {
15
16
  const { colors } = useTheme();
17
+ const hasImage = !!item.imageUrl;
16
18
  const iconColor = selected ? colors.primary : colors.foregroundSubtle;
17
19
  const iconNode = item.icon ?? (item.iconName ? /* @__PURE__ */ React.createElement(Icon, { name: item.iconName, size: ms(24), color: iconColor }) : null);
20
+ const imageSize = width - 4;
18
21
  return /* @__PURE__ */ React.createElement(
19
22
  PressableChip,
20
23
  {
@@ -25,27 +28,44 @@ function Cell({ item, selected, width, onPress }) {
25
28
  activateOnHover: true,
26
29
  accessibilityRole: "button",
27
30
  accessibilityState: { selected, disabled: item.disabled },
28
- accessibilityLabel: item.label ?? String(item.value),
29
- style: [
30
- { width },
31
- styles.cell,
32
- {
33
- backgroundColor: selected ? colors.primary + "14" : colors.surface,
34
- borderColor: selected ? colors.primary : "transparent"
35
- },
36
- item.disabled && styles.cellDisabled
37
- ]
31
+ accessibilityLabel: item.label ?? String(item.value)
38
32
  },
39
- iconNode,
40
- item.label ? /* @__PURE__ */ React.createElement(
41
- Text,
33
+ /* @__PURE__ */ React.createElement(
34
+ View,
42
35
  {
43
- style: [styles.label, { color: selected ? colors.primary : colors.foreground }],
44
- numberOfLines: 1,
45
- allowFontScaling: true
36
+ style: [
37
+ { width },
38
+ styles.cell,
39
+ hasImage && styles.cellImage,
40
+ {
41
+ borderColor: selected ? colors.primary : "transparent"
42
+ },
43
+ item.disabled && styles.cellDisabled
44
+ ]
46
45
  },
47
- item.label
48
- ) : null
46
+ hasImage ? /* @__PURE__ */ React.createElement(
47
+ Image,
48
+ {
49
+ source: item.imageUrl,
50
+ style: { width: imageSize, height: imageSize },
51
+ contentFit: "cover"
52
+ }
53
+ ) : null,
54
+ iconNode && !hasImage ? iconNode : null,
55
+ item.label ? /* @__PURE__ */ React.createElement(
56
+ Text,
57
+ {
58
+ style: [
59
+ styles.label,
60
+ hasImage && styles.labelImage,
61
+ { color: selected ? colors.primary : colors.foreground }
62
+ ],
63
+ numberOfLines: 2,
64
+ allowFontScaling: true
65
+ },
66
+ item.label
67
+ ) : null
68
+ )
49
69
  );
50
70
  }
51
71
  function SelectableGrid({
@@ -125,6 +145,13 @@ var styles = StyleSheet.create({
125
145
  paddingHorizontal: s(8),
126
146
  paddingVertical: vs(10)
127
147
  },
148
+ cellImage: {
149
+ padding: 0,
150
+ gap: 0,
151
+ overflow: "hidden",
152
+ alignItems: "stretch",
153
+ justifyContent: "flex-start"
154
+ },
128
155
  cellDisabled: {
129
156
  opacity: 0.4
130
157
  },
@@ -133,6 +160,11 @@ var styles = StyleSheet.create({
133
160
  fontSize: ms(11),
134
161
  lineHeight: mvs(14),
135
162
  textAlign: "center"
163
+ },
164
+ labelImage: {
165
+ paddingHorizontal: s(6),
166
+ paddingBottom: vs(6),
167
+ paddingTop: vs(3)
136
168
  }
137
169
  });
138
170
 
@@ -1,7 +1,7 @@
1
- import { impactMedium } from './chunk-ARONDO7M.mjs';
2
- import { useTheme } from './chunk-KSSVIFYR.mjs';
1
+ import { useSheetModal } from './chunk-HMKJGVXA.mjs';
2
+ import { useTheme } from './chunk-ZQGCQ7SA.mjs';
3
3
  import { s, vs, mvs, ms } from './chunk-2CE3TQVY.mjs';
4
- import React, { useRef, useId, useCallback, useEffect } from 'react';
4
+ import React, { useId, useCallback } from 'react';
5
5
  import { StyleSheet, View, Text, TouchableOpacity } from 'react-native';
6
6
  import { BottomSheetBackdrop, BottomSheetFooter, BottomSheetModal, BottomSheetScrollView, BottomSheetView } from '@gorhom/bottom-sheet';
7
7
  export { BottomSheetModalProvider, BottomSheetTextInput } from '@gorhom/bottom-sheet';
@@ -38,24 +38,8 @@ function Sheet({
38
38
  }) {
39
39
  const { colors } = useTheme();
40
40
  const insets = useSafeAreaInsets();
41
- const ref = useRef(null);
42
- const wasOpened = useRef(false);
43
- const isPresentedRef = useRef(false);
41
+ const { ref, handleDismiss } = useSheetModal(open, onClose);
44
42
  const name = useId();
45
- const handleDismiss = useCallback(() => {
46
- isPresentedRef.current = false;
47
- onClose?.();
48
- }, [onClose]);
49
- useEffect(() => {
50
- if (open && !isPresentedRef.current) {
51
- impactMedium();
52
- ref.current?.present();
53
- wasOpened.current = true;
54
- isPresentedRef.current = true;
55
- } else if (!open && wasOpened.current && isPresentedRef.current) {
56
- ref.current?.dismiss();
57
- }
58
- }, [open]);
59
43
  const renderBackdrop = useCallback(
60
44
  (props) => /* @__PURE__ */ React.createElement(
61
45
  BottomSheetBackdrop,
@@ -191,4 +175,4 @@ var styles = StyleSheet.create({
191
175
  }
192
176
  });
193
177
 
194
- export { Sheet };
178
+ export { Sheet, SheetContent, SheetFooter, SheetHeader };
@@ -1,7 +1,7 @@
1
1
  import { PressableCard } from './chunk-IFYMBOEN.mjs';
2
- import { impactLight } from './chunk-ARONDO7M.mjs';
3
- import { RADIUS } from './chunk-QY3X2UYR.mjs';
4
- import { useTheme } from './chunk-KSSVIFYR.mjs';
2
+ import { impactLight } from './chunk-CTUFFKGS.mjs';
3
+ import { RADIUS } from './chunk-DYYPDQA2.mjs';
4
+ import { useTheme } from './chunk-ZQGCQ7SA.mjs';
5
5
  import { vs, s, mvs, ms } from './chunk-2CE3TQVY.mjs';
6
6
  import React from 'react';
7
7
  import { StyleSheet, View, Text } from 'react-native';
@@ -0,0 +1,37 @@
1
+ import { useTheme } from './chunk-ZQGCQ7SA.mjs';
2
+ import React, { useState } from 'react';
3
+ import { View } from 'react-native';
4
+ import { Image as Image$1 } from 'expo-image';
5
+
6
+ function Image({ src, fallback, aspectRatio, borderRadius = 0, style, ...props }) {
7
+ const { colors } = useTheme();
8
+ const [failed, setFailed] = useState(false);
9
+ if (!src || failed) {
10
+ return fallback ? /* @__PURE__ */ React.createElement(View, { style: [style, { overflow: "hidden" }] }, fallback) : /* @__PURE__ */ React.createElement(
11
+ View,
12
+ {
13
+ style: [
14
+ { backgroundColor: colors.skeleton, overflow: "hidden" },
15
+ borderRadius ? { borderRadius } : void 0,
16
+ aspectRatio ? { aspectRatio } : void 0,
17
+ style
18
+ ]
19
+ }
20
+ );
21
+ }
22
+ const imageStyle = {
23
+ ...aspectRatio ? { aspectRatio, width: "100%" } : {},
24
+ ...borderRadius ? { borderRadius } : {}
25
+ };
26
+ return /* @__PURE__ */ React.createElement(
27
+ Image$1,
28
+ {
29
+ source: { uri: src },
30
+ style: [imageStyle, style],
31
+ onError: () => setFailed(true),
32
+ ...props
33
+ }
34
+ );
35
+ }
36
+
37
+ export { Image };
@@ -1,4 +1,4 @@
1
- import { useTheme } from './chunk-KSSVIFYR.mjs';
1
+ import { useTheme } from './chunk-ZQGCQ7SA.mjs';
2
2
  import { ms, vs, s } from './chunk-2CE3TQVY.mjs';
3
3
  import React from 'react';
4
4
  import { toast, Toaster } from 'sonner-native';
@@ -1,6 +1,6 @@
1
- import { Button } from './chunk-Y6YS33GM.mjs';
2
- import { Icon } from './chunk-MZ6WRTD2.mjs';
3
- import { useTheme } from './chunk-KSSVIFYR.mjs';
1
+ import { Button } from './chunk-AHFEAY6M.mjs';
2
+ import { Icon } from './chunk-24JTXQ2M.mjs';
3
+ import { useTheme } from './chunk-ZQGCQ7SA.mjs';
4
4
  import { s, vs, mvs, ms } from './chunk-2CE3TQVY.mjs';
5
5
  import React from 'react';
6
6
  import { StyleSheet, View, Text } from 'react-native';
@@ -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, mvs, s, vs } from './chunk-2CE3TQVY.mjs';
8
8
  import React from 'react';
9
9
  import { StyleSheet, View, Text, ScrollView } from 'react-native';
@@ -0,0 +1,111 @@
1
+ import { useTheme } from './chunk-ZQGCQ7SA.mjs';
2
+ import { vs, s } from './chunk-2CE3TQVY.mjs';
3
+ import React, { useCallback } from 'react';
4
+ import { StyleSheet, View, Text, SectionList, RefreshControl } from 'react-native';
5
+
6
+ function VirtualizedList({
7
+ sections,
8
+ renderItem,
9
+ emptyTitle = "Sin contenido",
10
+ emptyDescription,
11
+ emptyComponent,
12
+ refreshing = false,
13
+ onRefresh,
14
+ stickyHeaders = true,
15
+ headerColor,
16
+ style,
17
+ ...props
18
+ }) {
19
+ const { colors } = useTheme();
20
+ const renderSectionHeader = useCallback(
21
+ ({ section }) => {
22
+ if (!section.title) return null;
23
+ return /* @__PURE__ */ React.createElement(View, { style: [styles.sectionHeader, { backgroundColor: colors.background }] }, /* @__PURE__ */ React.createElement(
24
+ Text,
25
+ {
26
+ style: [styles.sectionHeaderText, { color: headerColor ?? colors.foregroundMuted }],
27
+ allowFontScaling: true
28
+ },
29
+ section.title
30
+ ));
31
+ },
32
+ [colors.background, colors.foregroundMuted, headerColor]
33
+ );
34
+ const keyExtractor = useCallback(
35
+ (_item, index) => String(index),
36
+ []
37
+ );
38
+ const flatSections = sections.filter((s2) => s2.data.length > 0);
39
+ const hasData = flatSections.length > 0;
40
+ if (!hasData) {
41
+ if (emptyComponent) return /* @__PURE__ */ React.createElement(View, { style }, emptyComponent);
42
+ return /* @__PURE__ */ React.createElement(View, { style: [styles.empty, style] }, /* @__PURE__ */ React.createElement(
43
+ Text,
44
+ {
45
+ style: [styles.emptyTitle, { color: colors.foregroundMuted }],
46
+ allowFontScaling: true
47
+ },
48
+ emptyTitle
49
+ ), emptyDescription ? /* @__PURE__ */ React.createElement(
50
+ Text,
51
+ {
52
+ style: [styles.emptyDescription, { color: colors.foregroundMuted }],
53
+ allowFontScaling: true
54
+ },
55
+ emptyDescription
56
+ ) : null);
57
+ }
58
+ return /* @__PURE__ */ React.createElement(
59
+ SectionList,
60
+ {
61
+ sections: flatSections,
62
+ renderItem,
63
+ renderSectionHeader,
64
+ keyExtractor,
65
+ stickySectionHeadersEnabled: stickyHeaders,
66
+ refreshControl: onRefresh ? /* @__PURE__ */ React.createElement(
67
+ RefreshControl,
68
+ {
69
+ refreshing,
70
+ onRefresh,
71
+ tintColor: colors.primary
72
+ }
73
+ ) : void 0,
74
+ style,
75
+ showsVerticalScrollIndicator: false,
76
+ ...props
77
+ }
78
+ );
79
+ }
80
+ var styles = StyleSheet.create({
81
+ sectionHeader: {
82
+ paddingHorizontal: s(16),
83
+ paddingTop: vs(16),
84
+ paddingBottom: vs(6)
85
+ },
86
+ sectionHeaderText: {
87
+ fontFamily: "Sohne-SemiBold",
88
+ fontSize: 13,
89
+ letterSpacing: 0.32,
90
+ textTransform: "uppercase"
91
+ },
92
+ empty: {
93
+ flex: 1,
94
+ alignItems: "center",
95
+ justifyContent: "center",
96
+ paddingHorizontal: s(32),
97
+ gap: vs(8)
98
+ },
99
+ emptyTitle: {
100
+ fontFamily: "Sohne-Medium",
101
+ fontSize: 16,
102
+ textAlign: "center"
103
+ },
104
+ emptyDescription: {
105
+ fontFamily: "Sohne-Regular",
106
+ fontSize: 14,
107
+ textAlign: "center"
108
+ }
109
+ });
110
+
111
+ export { VirtualizedList };
@@ -0,0 +1,65 @@
1
+ import { BREAKPOINTS } from './chunk-DYYPDQA2.mjs';
2
+ import { useTheme } from './chunk-ZQGCQ7SA.mjs';
3
+ import React from 'react';
4
+ import { StyleSheet, View, ScrollView, KeyboardAvoidingView, Platform } from 'react-native';
5
+ import { useSafeAreaInsets } from 'react-native-safe-area-context';
6
+
7
+ function ScreenContainer({
8
+ children,
9
+ maxWidth = BREAKPOINTS.wide,
10
+ scroll = false,
11
+ backgroundColor,
12
+ paddingTop,
13
+ paddingBottom,
14
+ paddingHorizontal,
15
+ keyboard = false,
16
+ style: _style
17
+ }) {
18
+ const insets = useSafeAreaInsets();
19
+ const { colors } = useTheme();
20
+ const wrapperStyle = {
21
+ flex: 1,
22
+ backgroundColor: backgroundColor ?? colors.background,
23
+ paddingTop: paddingTop ?? insets.top,
24
+ paddingBottom: paddingBottom ?? insets.bottom,
25
+ paddingHorizontal: paddingHorizontal ?? 0,
26
+ ..._style
27
+ };
28
+ const inner = /* @__PURE__ */ React.createElement(View, { style: [styles.inner, { maxWidth: maxWidth || void 0 }] }, children);
29
+ const content = scroll ? /* @__PURE__ */ React.createElement(
30
+ ScrollView,
31
+ {
32
+ style: styles.scroll,
33
+ contentContainerStyle: styles.scrollContent,
34
+ keyboardShouldPersistTaps: "handled"
35
+ },
36
+ inner
37
+ ) : inner;
38
+ if (keyboard) {
39
+ return /* @__PURE__ */ React.createElement(
40
+ KeyboardAvoidingView,
41
+ {
42
+ style: wrapperStyle,
43
+ behavior: Platform.OS === "ios" ? "padding" : void 0,
44
+ keyboardVerticalOffset: Platform.OS === "ios" ? 0 : 0
45
+ },
46
+ content
47
+ );
48
+ }
49
+ return /* @__PURE__ */ React.createElement(View, { style: wrapperStyle }, content);
50
+ }
51
+ var styles = StyleSheet.create({
52
+ scroll: {
53
+ flex: 1
54
+ },
55
+ scrollContent: {
56
+ flexGrow: 1
57
+ },
58
+ inner: {
59
+ flex: 1,
60
+ alignSelf: "center",
61
+ width: "100%"
62
+ }
63
+ });
64
+
65
+ export { ScreenContainer };
@@ -1,5 +1,5 @@
1
- import { ToastProvider } from './chunk-SZEKQAOY.mjs';
2
- import { ThemeProvider } from './chunk-KSSVIFYR.mjs';
1
+ import { ToastProvider } from './chunk-VSKBODEY.mjs';
2
+ import { ThemeProvider } from './chunk-ZQGCQ7SA.mjs';
3
3
  import React from 'react';
4
4
  import { StyleSheet } from 'react-native';
5
5
  import { SafeAreaProvider, initialWindowMetrics } from 'react-native-safe-area-context';
@@ -1,12 +1,12 @@
1
1
  import { TIMINGS } from './chunk-M53LC4Q7.mjs';
2
2
  import { PressableRow } from './chunk-IFYMBOEN.mjs';
3
- import { selectionAsync } from './chunk-ARONDO7M.mjs';
4
- import { Icon } from './chunk-MZ6WRTD2.mjs';
5
- import { useTheme } from './chunk-KSSVIFYR.mjs';
3
+ import { selectionAsync } from './chunk-CTUFFKGS.mjs';
4
+ import { Icon } from './chunk-24JTXQ2M.mjs';
5
+ import { useTheme } from './chunk-ZQGCQ7SA.mjs';
6
6
  import { ms, vs, s } from './chunk-2CE3TQVY.mjs';
7
7
  import React, { useState } from 'react';
8
8
  import { StyleSheet, View, Text } from 'react-native';
9
- import Animated, { useSharedValue, useDerivedValue, withTiming, Easing, useAnimatedStyle } from 'react-native-reanimated';
9
+ import Animated, { useSharedValue, useAnimatedStyle, withTiming, Easing } from 'react-native-reanimated';
10
10
  import { Entypo } from '@expo/vector-icons';
11
11
 
12
12
  function AccordionItemComponent({
@@ -21,24 +21,20 @@ function AccordionItemComponent({
21
21
  React.useEffect(() => {
22
22
  isExpanded.value = isOpen;
23
23
  }, [isOpen, isExpanded]);
24
- const derivedHeight = useDerivedValue(
25
- () => withTiming(height.value * Number(isExpanded.value), {
26
- duration: isExpanded.value ? TIMINGS.expand.duration : TIMINGS.collapse.duration,
27
- easing: isExpanded.value ? Easing.bezier(0.23, 1, 0.32, 1) : Easing.in(Easing.ease)
28
- })
29
- );
30
- const derivedRotation = useDerivedValue(
31
- () => withTiming(isExpanded.value ? 1 : 0, {
24
+ const bodyStyle = useAnimatedStyle(() => ({
25
+ height: withTiming(height.value * Number(isExpanded.value), {
32
26
  duration: isExpanded.value ? TIMINGS.expand.duration : TIMINGS.collapse.duration,
33
27
  easing: isExpanded.value ? Easing.bezier(0.23, 1, 0.32, 1) : Easing.in(Easing.ease)
34
- })
35
- );
36
- const bodyStyle = useAnimatedStyle(() => ({
37
- height: derivedHeight.value,
28
+ }),
38
29
  overflow: "hidden"
39
30
  }));
40
31
  const rotationStyle = useAnimatedStyle(() => ({
41
- transform: [{ rotate: `${derivedRotation.value * 180}deg` }]
32
+ transform: [{
33
+ rotate: `${withTiming(isExpanded.value ? 1 : 0, {
34
+ duration: isExpanded.value ? TIMINGS.expand.duration : TIMINGS.collapse.duration,
35
+ easing: isExpanded.value ? Easing.bezier(0.23, 1, 0.32, 1) : Easing.in(Easing.ease)
36
+ }) * 180}deg`
37
+ }]
42
38
  }));
43
39
  return /* @__PURE__ */ React.createElement(View, { style: [styles.item, { backgroundColor: colors.card, borderColor: colors.border }] }, /* @__PURE__ */ React.createElement(
44
40
  PressableRow,
@@ -52,6 +48,7 @@ function AccordionItemComponent({
52
48
  accessibilityRole: "button",
53
49
  accessibilityState: { expanded: isOpen },
54
50
  accessibilityLabel: typeof item.trigger === "string" ? item.trigger : void 0,
51
+ accessibilityHint: item.accessibilityHint,
55
52
  style: styles.trigger
56
53
  },
57
54
  /* @__PURE__ */ React.createElement(View, { style: styles.triggerContent }, resolvedIcon ? /* @__PURE__ */ React.createElement(View, { style: styles.icon }, resolvedIcon) : null, typeof item.trigger === "string" ? /* @__PURE__ */ React.createElement(Text, { style: [styles.triggerText, { color: colors.foreground }], allowFontScaling: true }, item.trigger) : item.trigger),
@@ -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 { vs, s, ms } from './chunk-2CE3TQVY.mjs';
4
4
  import React from 'react';
5
5
  import { StyleSheet, View, Text } from 'react-native';
@@ -1,8 +1,8 @@
1
1
  import { PressableCard } from './chunk-IFYMBOEN.mjs';
2
- import { impactLight } 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 { impactLight } 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 { s, vs, mvs, ms } from './chunk-2CE3TQVY.mjs';
7
7
  import React, { useState, useCallback } from 'react';
8
8
  import { StyleSheet, View, Text } from 'react-native';
@@ -1,5 +1,5 @@
1
- import { PagerDots } from './chunk-S44XWTTC.mjs';
2
- import { IconButton } from './chunk-ZTPYUU5C.mjs';
1
+ import { PagerDots } from './chunk-E4BJ5WXG.mjs';
2
+ import { IconButton } from './chunk-ZRUUUVOO.mjs';
3
3
  import { s, vs } from './chunk-2CE3TQVY.mjs';
4
4
  import React, { useState, useCallback } from 'react';
5
5
  import { Image } from 'expo-image';