@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/Checkbox.js CHANGED
@@ -3,30 +3,39 @@
3
3
  var React2 = require('react');
4
4
  var reactNative = require('react-native');
5
5
  var reactNativeEase = require('react-native-ease');
6
+ var Haptics = require('expo-haptics');
6
7
  var reactNativeSizeMatters = require('react-native-size-matters');
7
8
  var pressto = require('pressto');
8
9
 
9
10
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
10
11
 
12
+ function _interopNamespace(e) {
13
+ if (e && e.__esModule) return e;
14
+ var n = Object.create(null);
15
+ if (e) {
16
+ Object.keys(e).forEach(function (k) {
17
+ if (k !== 'default') {
18
+ var d = Object.getOwnPropertyDescriptor(e, k);
19
+ Object.defineProperty(n, k, d.get ? d : {
20
+ enumerable: true,
21
+ get: function () { return e[k]; }
22
+ });
23
+ }
24
+ });
25
+ }
26
+ n.default = e;
27
+ return Object.freeze(n);
28
+ }
29
+
11
30
  var React2__default = /*#__PURE__*/_interopDefault(React2);
31
+ var Haptics__namespace = /*#__PURE__*/_interopNamespace(Haptics);
12
32
 
13
33
  // src/components/Checkbox/Checkbox.tsx
14
- var _haptics = null;
15
- var _loaded = false;
16
- async function getHaptics() {
17
- if (reactNative.Platform.OS === "web") return null;
18
- if (!_loaded) {
19
- _loaded = true;
20
- try {
21
- _haptics = await import('expo-haptics');
22
- } catch {
23
- _haptics = null;
24
- }
25
- }
26
- return _haptics;
34
+ function maybeHaptics() {
35
+ return reactNative.Platform.OS === "web" ? null : Haptics__namespace;
27
36
  }
28
37
  function selectionAsync() {
29
- getHaptics().then((h) => h?.selectionAsync());
38
+ maybeHaptics()?.selectionAsync();
30
39
  }
31
40
  var ThemeContext = React2.createContext(void 0);
32
41
  function useTheme() {
@@ -72,7 +81,8 @@ function Checkbox({
72
81
  label,
73
82
  disabled,
74
83
  style,
75
- accessibilityLabel
84
+ accessibilityLabel,
85
+ accessibilityHint
76
86
  }) {
77
87
  const { colors } = useTheme();
78
88
  const handlePress = () => {
@@ -93,6 +103,7 @@ function Checkbox({
93
103
  touchSoundDisabled: true,
94
104
  accessibilityRole: "checkbox",
95
105
  accessibilityLabel: accessibilityLabel ?? label,
106
+ accessibilityHint,
96
107
  accessibilityState: { checked, disabled: !!disabled }
97
108
  },
98
109
  /* @__PURE__ */ React2__default.default.createElement(
package/dist/Checkbox.mjs CHANGED
@@ -1,7 +1,6 @@
1
- export { Checkbox } from './chunk-4ZO5PTKF.mjs';
1
+ export { Checkbox } from './chunk-AZRATPNP.mjs';
2
2
  import './chunk-M53LC4Q7.mjs';
3
3
  import './chunk-IFYMBOEN.mjs';
4
- import './chunk-ARONDO7M.mjs';
5
- import './chunk-KSSVIFYR.mjs';
4
+ import './chunk-CTUFFKGS.mjs';
5
+ import './chunk-ZQGCQ7SA.mjs';
6
6
  import './chunk-2CE3TQVY.mjs';
7
- import './chunk-Y6FXYEAI.mjs';
package/dist/Chip.d.mts CHANGED
@@ -1,11 +1,11 @@
1
- import React from 'react';
1
+ import React__default from 'react';
2
2
  import { ViewStyle } from 'react-native';
3
3
 
4
4
  interface ChipProps {
5
5
  label: string;
6
6
  selected?: boolean;
7
7
  onPress?: () => void;
8
- icon?: React.ReactNode;
8
+ icon?: React__default.ReactNode;
9
9
  iconName?: string;
10
10
  style?: ViewStyle;
11
11
  accessibilityLabel?: string;
@@ -24,8 +24,8 @@ interface ChipGroupProps {
24
24
  multiSelect?: boolean;
25
25
  style?: ViewStyle;
26
26
  }
27
- declare function ChipBase({ label, selected, onPress, icon, iconName, style, accessibilityLabel }: ChipProps): React.JSX.Element;
28
- declare const Chip: React.MemoExoticComponent<typeof ChipBase>;
29
- declare function ChipGroup({ options, value, onValueChange, multiSelect, style }: ChipGroupProps): React.JSX.Element;
27
+ declare function ChipBase({ label, selected, onPress, icon, iconName, style, accessibilityLabel }: ChipProps): React__default.JSX.Element;
28
+ declare const Chip: React__default.MemoExoticComponent<typeof ChipBase>;
29
+ declare function ChipGroup({ options, value, onValueChange, multiSelect, style }: ChipGroupProps): React__default.JSX.Element;
30
30
 
31
31
  export { Chip, ChipGroup, type ChipGroupProps, type ChipOption, type ChipProps };
package/dist/Chip.d.ts CHANGED
@@ -1,11 +1,11 @@
1
- import React from 'react';
1
+ import React__default from 'react';
2
2
  import { ViewStyle } from 'react-native';
3
3
 
4
4
  interface ChipProps {
5
5
  label: string;
6
6
  selected?: boolean;
7
7
  onPress?: () => void;
8
- icon?: React.ReactNode;
8
+ icon?: React__default.ReactNode;
9
9
  iconName?: string;
10
10
  style?: ViewStyle;
11
11
  accessibilityLabel?: string;
@@ -24,8 +24,8 @@ interface ChipGroupProps {
24
24
  multiSelect?: boolean;
25
25
  style?: ViewStyle;
26
26
  }
27
- declare function ChipBase({ label, selected, onPress, icon, iconName, style, accessibilityLabel }: ChipProps): React.JSX.Element;
28
- declare const Chip: React.MemoExoticComponent<typeof ChipBase>;
29
- declare function ChipGroup({ options, value, onValueChange, multiSelect, style }: ChipGroupProps): React.JSX.Element;
27
+ declare function ChipBase({ label, selected, onPress, icon, iconName, style, accessibilityLabel }: ChipProps): React__default.JSX.Element;
28
+ declare const Chip: React__default.MemoExoticComponent<typeof ChipBase>;
29
+ declare function ChipGroup({ options, value, onValueChange, multiSelect, style }: ChipGroupProps): React__default.JSX.Element;
30
30
 
31
31
  export { Chip, ChipGroup, type ChipGroupProps, type ChipOption, type ChipProps };
package/dist/Chip.js CHANGED
@@ -3,6 +3,7 @@
3
3
  var React3 = require('react');
4
4
  var reactNative = require('react-native');
5
5
  var reactNativeEase = require('react-native-ease');
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/Chip/Chip.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() {
@@ -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/Chip.mjs CHANGED
@@ -1,9 +1,8 @@
1
- export { Chip, ChipGroup } from './chunk-RA6SAAFE.mjs';
1
+ export { Chip, ChipGroup } from './chunk-BWLVX2SQ.mjs';
2
2
  import './chunk-M53LC4Q7.mjs';
3
3
  import './chunk-IFYMBOEN.mjs';
4
- import './chunk-ARONDO7M.mjs';
5
- import './chunk-QY3X2UYR.mjs';
6
- import './chunk-MZ6WRTD2.mjs';
7
- import './chunk-KSSVIFYR.mjs';
4
+ import './chunk-CTUFFKGS.mjs';
5
+ import './chunk-DYYPDQA2.mjs';
6
+ import './chunk-24JTXQ2M.mjs';
7
+ import './chunk-ZQGCQ7SA.mjs';
8
8
  import './chunk-2CE3TQVY.mjs';
9
- import './chunk-Y6FXYEAI.mjs';
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import React__default from 'react';
2
2
 
3
3
  interface ConfirmDialogProps {
4
4
  visible: boolean;
@@ -11,7 +11,8 @@ interface ConfirmDialogProps {
11
11
  showCloseButton?: boolean;
12
12
  onConfirm: () => void;
13
13
  onCancel: () => void;
14
+ accessibilityHint?: string;
14
15
  }
15
- declare function ConfirmDialog({ visible, title, subtitle, confirmLabel, cancelLabel, confirmVariant, loading, showCloseButton, onConfirm, onCancel, }: ConfirmDialogProps): React.JSX.Element;
16
+ declare function ConfirmDialog({ visible, title, subtitle, confirmLabel, cancelLabel, confirmVariant, loading, showCloseButton, onConfirm, onCancel, accessibilityHint, }: ConfirmDialogProps): React__default.JSX.Element;
16
17
 
17
18
  export { ConfirmDialog, type ConfirmDialogProps };
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import React__default from 'react';
2
2
 
3
3
  interface ConfirmDialogProps {
4
4
  visible: boolean;
@@ -11,7 +11,8 @@ interface ConfirmDialogProps {
11
11
  showCloseButton?: boolean;
12
12
  onConfirm: () => void;
13
13
  onCancel: () => void;
14
+ accessibilityHint?: string;
14
15
  }
15
- declare function ConfirmDialog({ visible, title, subtitle, confirmLabel, cancelLabel, confirmVariant, loading, showCloseButton, onConfirm, onCancel, }: ConfirmDialogProps): React.JSX.Element;
16
+ declare function ConfirmDialog({ visible, title, subtitle, confirmLabel, cancelLabel, confirmVariant, loading, showCloseButton, onConfirm, onCancel, accessibilityHint, }: ConfirmDialogProps): React__default.JSX.Element;
16
17
 
17
18
  export { ConfirmDialog, type ConfirmDialogProps };
@@ -5,6 +5,7 @@ var reactNative = require('react-native');
5
5
  var bottomSheet = require('@gorhom/bottom-sheet');
6
6
  var reactNativeSafeAreaContext = require('react-native-safe-area-context');
7
7
  var vectorIcons = require('@expo/vector-icons');
8
+ var Haptics = require('expo-haptics');
8
9
  var reactNativeEase = require('react-native-ease');
9
10
  var reactNativeSizeMatters = require('react-native-size-matters');
10
11
  var AntDesign = require('@expo/vector-icons/AntDesign');
@@ -17,7 +18,26 @@ var pressto = require('pressto');
17
18
 
18
19
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
19
20
 
21
+ function _interopNamespace(e) {
22
+ if (e && e.__esModule) return e;
23
+ var n = Object.create(null);
24
+ if (e) {
25
+ Object.keys(e).forEach(function (k) {
26
+ if (k !== 'default') {
27
+ var d = Object.getOwnPropertyDescriptor(e, k);
28
+ Object.defineProperty(n, k, d.get ? d : {
29
+ enumerable: true,
30
+ get: function () { return e[k]; }
31
+ });
32
+ }
33
+ });
34
+ }
35
+ n.default = e;
36
+ return Object.freeze(n);
37
+ }
38
+
20
39
  var React3__default = /*#__PURE__*/_interopDefault(React3);
40
+ var Haptics__namespace = /*#__PURE__*/_interopNamespace(Haptics);
21
41
  var AntDesign__default = /*#__PURE__*/_interopDefault(AntDesign);
22
42
  var Entypo__default = /*#__PURE__*/_interopDefault(Entypo);
23
43
  var Feather__default = /*#__PURE__*/_interopDefault(Feather);
@@ -26,28 +46,17 @@ var MaterialIcons__default = /*#__PURE__*/_interopDefault(MaterialIcons);
26
46
  var Ionicons__default = /*#__PURE__*/_interopDefault(Ionicons);
27
47
 
28
48
  // src/components/ConfirmDialog/ConfirmDialog.tsx
29
- var _haptics = null;
30
- var _loaded = false;
31
- async function getHaptics() {
32
- if (reactNative.Platform.OS === "web") return null;
33
- if (!_loaded) {
34
- _loaded = true;
35
- try {
36
- _haptics = await import('expo-haptics');
37
- } catch {
38
- _haptics = null;
39
- }
40
- }
41
- return _haptics;
49
+ function maybeHaptics() {
50
+ return reactNative.Platform.OS === "web" ? null : Haptics__namespace;
42
51
  }
43
52
  function selectionAsync() {
44
- getHaptics().then((h) => h?.selectionAsync());
53
+ maybeHaptics()?.selectionAsync();
45
54
  }
46
55
  function impactMedium() {
47
- getHaptics().then((h) => h?.impactAsync(h.ImpactFeedbackStyle.Medium));
56
+ maybeHaptics()?.impactAsync(Haptics__namespace.ImpactFeedbackStyle.Medium);
48
57
  }
49
58
  function notificationSuccess() {
50
- getHaptics().then((h) => h?.notificationAsync(h.NotificationFeedbackType.Success));
59
+ maybeHaptics()?.notificationAsync(Haptics__namespace.NotificationFeedbackType.Success);
51
60
  }
52
61
  var ThemeContext = React3.createContext(void 0);
53
62
  function useTheme() {
@@ -57,6 +66,36 @@ function useTheme() {
57
66
  }
58
67
  return context;
59
68
  }
69
+ function useSheetModal(visible, onDismiss) {
70
+ const ref = React3.useRef(null);
71
+ const state = React3.useRef("idle");
72
+ const onDismissRef = React3.useRef(onDismiss);
73
+ const [tick, setTick] = React3.useState(0);
74
+ React3.useEffect(() => {
75
+ onDismissRef.current = onDismiss;
76
+ });
77
+ React3.useEffect(() => {
78
+ if (visible) {
79
+ if (state.current === "idle") {
80
+ state.current = "presenting";
81
+ impactMedium();
82
+ ref.current?.present();
83
+ state.current = "presented";
84
+ }
85
+ } else {
86
+ if (state.current === "presented" || state.current === "presenting") {
87
+ state.current = "dismissing";
88
+ ref.current?.dismiss();
89
+ }
90
+ }
91
+ }, [visible, tick]);
92
+ const handleDismiss = React3.useCallback(() => {
93
+ state.current = "idle";
94
+ onDismissRef.current?.();
95
+ setTick((t) => t + 1);
96
+ }, []);
97
+ return { ref, handleDismiss };
98
+ }
60
99
  var isWeb = reactNative.Platform.OS === "web";
61
100
  var s = isWeb ? (n) => n : reactNativeSizeMatters.scale;
62
101
  var vs = isWeb ? (n) => n : reactNativeSizeMatters.verticalScale;
@@ -70,23 +109,17 @@ var ALL_FAMILIES = [
70
109
  { name: "MaterialIcons", component: MaterialIcons__default.default },
71
110
  { name: "Ionicons", component: Ionicons__default.default }
72
111
  ];
73
- var glyphCacheInitialized = false;
74
- function ensureGlyphCache() {
75
- if (glyphCacheInitialized) return;
76
- glyphCacheInitialized = true;
77
- for (const entry of ALL_FAMILIES) {
78
- try {
79
- entry.glyphMap = entry.component.glyphMap;
80
- } catch {
81
- entry.glyphMap = {};
82
- }
112
+ function getGlyphMap(component) {
113
+ try {
114
+ return component.glyphMap ?? {};
115
+ } catch {
116
+ return {};
83
117
  }
84
118
  }
85
119
  function Icon({ name, size, color, family }) {
86
- ensureGlyphCache();
87
120
  const entry = family ? ALL_FAMILIES.find((f) => f.name === family) : ALL_FAMILIES.find((f) => {
88
- const glyphMap = f.glyphMap;
89
- return glyphMap ? name in glyphMap : false;
121
+ const glyphMap = getGlyphMap(f.component);
122
+ return name in glyphMap;
90
123
  });
91
124
  if (!entry) return null;
92
125
  return React3__default.default.createElement(entry.component, { name, size, color });
@@ -109,8 +142,7 @@ var TYPOGRAPHY = {
109
142
  fontWeight: "500",
110
143
  lineHeight: 18,
111
144
  letterSpacing: 0
112
- }
113
- };
145
+ }};
114
146
  var makePressable = (scale2) => pressto.createAnimatedPressable((progress) => {
115
147
  "worklet";
116
148
  return { transform: [{ scale: 1 - (1 - scale2) * progress }] };
@@ -261,28 +293,13 @@ function ConfirmDialog({
261
293
  loading = false,
262
294
  showCloseButton = false,
263
295
  onConfirm,
264
- onCancel
296
+ onCancel,
297
+ accessibilityHint
265
298
  }) {
266
299
  const { colors } = useTheme();
267
300
  const insets = reactNativeSafeAreaContext.useSafeAreaInsets();
268
- const ref = React3.useRef(null);
269
- const wasOpened = React3.useRef(false);
270
- const isPresentedRef = React3.useRef(false);
301
+ const { ref, handleDismiss } = useSheetModal(visible, onCancel);
271
302
  const name = React3.useId();
272
- const handleDismiss = React3.useCallback(() => {
273
- isPresentedRef.current = false;
274
- onCancel();
275
- }, [onCancel]);
276
- React3.useEffect(() => {
277
- if (visible && !isPresentedRef.current) {
278
- impactMedium();
279
- ref.current?.present();
280
- wasOpened.current = true;
281
- isPresentedRef.current = true;
282
- } else if (!visible && wasOpened.current && isPresentedRef.current) {
283
- ref.current?.dismiss();
284
- }
285
- }, [visible]);
286
303
  const renderBackdrop = React3.useCallback(
287
304
  (props) => /* @__PURE__ */ React3__default.default.createElement(
288
305
  bottomSheet.BottomSheetBackdrop,
@@ -332,6 +349,7 @@ function ConfirmDialog({
332
349
  notificationSuccess();
333
350
  onConfirm();
334
351
  },
352
+ accessibilityHint,
335
353
  icon: /* @__PURE__ */ React3__default.default.createElement(
336
354
  vectorIcons.Feather,
337
355
  {
@@ -1,10 +1,10 @@
1
- export { ConfirmDialog } from './chunk-V2ZB2XNS.mjs';
2
- import './chunk-Y6YS33GM.mjs';
1
+ export { ConfirmDialog } from './chunk-BGXOEFDM.mjs';
2
+ import './chunk-HMKJGVXA.mjs';
3
+ import './chunk-AHFEAY6M.mjs';
3
4
  import './chunk-M53LC4Q7.mjs';
4
5
  import './chunk-IFYMBOEN.mjs';
5
- import './chunk-ARONDO7M.mjs';
6
- import './chunk-QY3X2UYR.mjs';
7
- import './chunk-MZ6WRTD2.mjs';
8
- import './chunk-KSSVIFYR.mjs';
6
+ import './chunk-CTUFFKGS.mjs';
7
+ import './chunk-DYYPDQA2.mjs';
8
+ import './chunk-24JTXQ2M.mjs';
9
+ import './chunk-ZQGCQ7SA.mjs';
9
10
  import './chunk-2CE3TQVY.mjs';
10
- 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 CurrencyDisplayVariant = 'hero' | 'large' | 'medium' | 'small';
@@ -18,7 +18,7 @@ interface CurrencyDisplayProps {
18
18
  maxFontSize?: number;
19
19
  style?: ViewStyle;
20
20
  }
21
- declare function CurrencyDisplayBase({ value, prefix, showDecimals, textColor, variant, autoScale, maxFontSize, style }: CurrencyDisplayProps): React.JSX.Element;
22
- declare const CurrencyDisplay: React.MemoExoticComponent<typeof CurrencyDisplayBase>;
21
+ declare function CurrencyDisplayBase({ value, prefix, showDecimals, textColor, variant, autoScale, maxFontSize, style }: CurrencyDisplayProps): React__default.JSX.Element;
22
+ declare const CurrencyDisplay: React__default.MemoExoticComponent<typeof CurrencyDisplayBase>;
23
23
 
24
24
  export { CurrencyDisplay, type CurrencyDisplayProps, type CurrencyDisplayVariant };
@@ -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 CurrencyDisplayVariant = 'hero' | 'large' | 'medium' | 'small';
@@ -18,7 +18,7 @@ interface CurrencyDisplayProps {
18
18
  maxFontSize?: number;
19
19
  style?: ViewStyle;
20
20
  }
21
- declare function CurrencyDisplayBase({ value, prefix, showDecimals, textColor, variant, autoScale, maxFontSize, style }: CurrencyDisplayProps): React.JSX.Element;
22
- declare const CurrencyDisplay: React.MemoExoticComponent<typeof CurrencyDisplayBase>;
21
+ declare function CurrencyDisplayBase({ value, prefix, showDecimals, textColor, variant, autoScale, maxFontSize, style }: CurrencyDisplayProps): React__default.JSX.Element;
22
+ declare const CurrencyDisplay: React__default.MemoExoticComponent<typeof CurrencyDisplayBase>;
23
23
 
24
24
  export { CurrencyDisplay, type CurrencyDisplayProps, type CurrencyDisplayVariant };
@@ -1,4 +1,3 @@
1
- export { CurrencyDisplay } from './chunk-PI6RULJX.mjs';
2
- import './chunk-KSSVIFYR.mjs';
1
+ export { CurrencyDisplay } from './chunk-EQYTDFDD.mjs';
2
+ import './chunk-ZQGCQ7SA.mjs';
3
3
  import './chunk-2CE3TQVY.mjs';
4
- import './chunk-Y6FXYEAI.mjs';
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import React__default from 'react';
2
2
  import { TextInputProps, ViewStyle } from 'react-native';
3
3
 
4
4
  interface CurrencyInputProps extends TextInputProps {
@@ -18,6 +18,6 @@ interface CurrencyInputProps extends TextInputProps {
18
18
  /** Use inside a Sheet/BottomSheet — passes sheetMode to the underlying Input. */
19
19
  sheetMode?: boolean;
20
20
  }
21
- declare function CurrencyInput({ value, onChangeText, onChangeValue, prefix, thousandsSeparator, size, label, error, hint, placeholder, editable, containerStyle, style, sheetMode, ...props }: CurrencyInputProps): React.JSX.Element;
21
+ declare function CurrencyInput({ value, onChangeText, onChangeValue, prefix, thousandsSeparator, size, label, error, hint, placeholder, editable, containerStyle, style, sheetMode, ...props }: CurrencyInputProps): React__default.JSX.Element;
22
22
 
23
23
  export { CurrencyInput, type CurrencyInputProps };
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import React__default from 'react';
2
2
  import { TextInputProps, ViewStyle } from 'react-native';
3
3
 
4
4
  interface CurrencyInputProps extends TextInputProps {
@@ -18,6 +18,6 @@ interface CurrencyInputProps extends TextInputProps {
18
18
  /** Use inside a Sheet/BottomSheet — passes sheetMode to the underlying Input. */
19
19
  sheetMode?: boolean;
20
20
  }
21
- declare function CurrencyInput({ value, onChangeText, onChangeValue, prefix, thousandsSeparator, size, label, error, hint, placeholder, editable, containerStyle, style, sheetMode, ...props }: CurrencyInputProps): React.JSX.Element;
21
+ declare function CurrencyInput({ value, onChangeText, onChangeValue, prefix, thousandsSeparator, size, label, error, hint, placeholder, editable, containerStyle, style, sheetMode, ...props }: CurrencyInputProps): React__default.JSX.Element;
22
22
 
23
23
  export { CurrencyInput, type CurrencyInputProps };
@@ -44,23 +44,17 @@ var ALL_FAMILIES = [
44
44
  { name: "MaterialIcons", component: MaterialIcons__default.default },
45
45
  { name: "Ionicons", component: Ionicons__default.default }
46
46
  ];
47
- var glyphCacheInitialized = false;
48
- function ensureGlyphCache() {
49
- if (glyphCacheInitialized) return;
50
- glyphCacheInitialized = true;
51
- for (const entry of ALL_FAMILIES) {
52
- try {
53
- entry.glyphMap = entry.component.glyphMap;
54
- } catch {
55
- entry.glyphMap = {};
56
- }
47
+ function getGlyphMap(component) {
48
+ try {
49
+ return component.glyphMap ?? {};
50
+ } catch {
51
+ return {};
57
52
  }
58
53
  }
59
54
  function Icon({ name, size, color, family }) {
60
- ensureGlyphCache();
61
55
  const entry = family ? ALL_FAMILIES.find((f) => f.name === family) : ALL_FAMILIES.find((f) => {
62
- const glyphMap = f.glyphMap;
63
- return glyphMap ? name in glyphMap : false;
56
+ const glyphMap = getGlyphMap(f.component);
57
+ return name in glyphMap;
64
58
  });
65
59
  if (!entry) return null;
66
60
  return React3__default.default.createElement(entry.component, { name, size, color });
@@ -1,7 +1,6 @@
1
- export { CurrencyInput } from './chunk-HUSSF6TF.mjs';
2
- import './chunk-4NQFTHN3.mjs';
1
+ export { CurrencyInput } from './chunk-EQNCMDZC.mjs';
2
+ import './chunk-3GE4UFV5.mjs';
3
3
  import './chunk-M53LC4Q7.mjs';
4
- import './chunk-MZ6WRTD2.mjs';
5
- import './chunk-KSSVIFYR.mjs';
4
+ import './chunk-24JTXQ2M.mjs';
5
+ import './chunk-ZQGCQ7SA.mjs';
6
6
  import './chunk-2CE3TQVY.mjs';
7
- import './chunk-Y6FXYEAI.mjs';
@@ -1,18 +1,18 @@
1
- import React from 'react';
1
+ import React__default from 'react';
2
2
  import { ViewStyle, TextStyle } from 'react-native';
3
3
 
4
4
  type DetailRowSeparator = 'dotted' | 'solid' | 'dashed' | 'none';
5
5
  type DetailRowLabelWeight = 'normal' | 'medium' | 'semibold' | 'bold';
6
6
  interface DetailRowProps {
7
- label: React.ReactNode;
8
- value: string | number | React.ReactNode;
7
+ label: React__default.ReactNode;
8
+ value: string | number | React__default.ReactNode;
9
9
  /** Dotted/dashed/solid line between label and value. Defaults to 'dotted'. */
10
10
  separator?: DetailRowSeparator;
11
11
  labelWeight?: DetailRowLabelWeight;
12
12
  /** Semantic color key or hex string for value text. Only applies when value is a string. */
13
13
  valueColor?: string;
14
14
  /** Node rendered left of the label (e.g. Avatar, Icon). */
15
- leftIcon?: React.ReactNode;
15
+ leftIcon?: React__default.ReactNode;
16
16
  /** Icon name from @expo/vector-icons rendered left of label. Takes precedence over leftIcon. */
17
17
  leftIconName?: string;
18
18
  /** Override left icon color. Defaults to foregroundMuted. */
@@ -26,7 +26,7 @@ interface DetailRowProps {
26
26
  /** Only applies when value is a string. */
27
27
  valueStyle?: TextStyle;
28
28
  }
29
- declare function DetailRowBase({ label, value, separator, labelWeight, valueColor, leftIcon, leftIconName, leftIconColor, rightIconName, rightIconColor, style, labelStyle, valueStyle, }: DetailRowProps): React.JSX.Element;
30
- declare const DetailRow: React.MemoExoticComponent<typeof DetailRowBase>;
29
+ declare function DetailRowBase({ label, value, separator, labelWeight, valueColor, leftIcon, leftIconName, leftIconColor, rightIconName, rightIconColor, style, labelStyle, valueStyle, }: DetailRowProps): React__default.JSX.Element;
30
+ declare const DetailRow: React__default.MemoExoticComponent<typeof DetailRowBase>;
31
31
 
32
32
  export { DetailRow, type DetailRowLabelWeight, type DetailRowProps, type DetailRowSeparator };