@retray-dev/ui-kit 13.2.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 (334) hide show
  1. package/CHANGELOG.md +680 -0
  2. package/CONSUMER.md +2 -0
  3. package/README.md +4 -4
  4. package/SKILL.md +276 -12
  5. package/dist/Accordion.d.mts +6 -6
  6. package/dist/Accordion.d.ts +6 -6
  7. package/dist/Accordion.js +39 -40
  8. package/dist/Accordion.mjs +4 -4
  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 -4
  13. package/dist/AppHeader.d.mts +4 -4
  14. package/dist/AppHeader.d.ts +4 -4
  15. package/dist/AppHeader.js +37 -28
  16. package/dist/AppHeader.mjs +6 -6
  17. package/dist/Avatar.d.mts +4 -4
  18. package/dist/Avatar.d.ts +4 -4
  19. package/dist/Avatar.mjs +2 -2
  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 -3
  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 -5
  28. package/dist/ButtonGroup.d.mts +3 -3
  29. package/dist/ButtonGroup.d.ts +3 -3
  30. package/dist/Card.d.mts +13 -13
  31. package/dist/Card.d.ts +13 -13
  32. package/dist/Card.js +23 -14
  33. package/dist/Card.mjs +4 -4
  34. package/dist/CategoryStrip.d.mts +3 -3
  35. package/dist/CategoryStrip.d.ts +3 -3
  36. package/dist/CategoryStrip.js +30 -27
  37. package/dist/CategoryStrip.mjs +5 -5
  38. package/dist/Checkbox.d.mts +2 -2
  39. package/dist/Checkbox.d.ts +2 -2
  40. package/dist/Checkbox.js +23 -14
  41. package/dist/Checkbox.mjs +3 -3
  42. package/dist/Chip.d.mts +5 -5
  43. package/dist/Chip.d.ts +5 -5
  44. package/dist/Chip.js +30 -27
  45. package/dist/Chip.mjs +5 -5
  46. package/dist/ConfirmDialog.d.mts +2 -2
  47. package/dist/ConfirmDialog.d.ts +2 -2
  48. package/dist/ConfirmDialog.js +64 -58
  49. package/dist/ConfirmDialog.mjs +7 -6
  50. package/dist/CurrencyDisplay.d.mts +3 -3
  51. package/dist/CurrencyDisplay.d.ts +3 -3
  52. package/dist/CurrencyDisplay.mjs +2 -2
  53. package/dist/CurrencyInput.d.mts +2 -2
  54. package/dist/CurrencyInput.d.ts +2 -2
  55. package/dist/CurrencyInput.js +7 -13
  56. package/dist/CurrencyInput.mjs +4 -4
  57. package/dist/DetailRow.d.mts +6 -6
  58. package/dist/DetailRow.d.ts +6 -6
  59. package/dist/DetailRow.js +7 -13
  60. package/dist/DetailRow.mjs +3 -3
  61. package/dist/EmptyState.d.mts +4 -4
  62. package/dist/EmptyState.d.ts +4 -4
  63. package/dist/EmptyState.js +31 -29
  64. package/dist/EmptyState.mjs +6 -6
  65. package/dist/ErrorBoundary.d.mts +9 -7
  66. package/dist/ErrorBoundary.d.ts +9 -7
  67. package/dist/ErrorBoundary.js +33 -29
  68. package/dist/ErrorBoundary.mjs +5 -5
  69. package/dist/Form.d.mts +9 -9
  70. package/dist/Form.d.ts +9 -9
  71. package/dist/Form.mjs +2 -2
  72. package/dist/HolographicCard.d.mts +2 -2
  73. package/dist/HolographicCard.d.ts +2 -2
  74. package/dist/HolographicCard.js +23 -14
  75. package/dist/HolographicCard.mjs +2 -2
  76. package/dist/IconButton.d.mts +4 -4
  77. package/dist/IconButton.d.ts +4 -4
  78. package/dist/IconButton.js +30 -27
  79. package/dist/IconButton.mjs +4 -4
  80. package/dist/IconPicker.d.mts +2 -2
  81. package/dist/IconPicker.d.ts +2 -2
  82. package/dist/IconPicker.js +40 -45
  83. package/dist/IconPicker.mjs +6 -6
  84. package/dist/Image.d.mts +18 -0
  85. package/dist/Image.d.ts +18 -0
  86. package/dist/Image.js +53 -0
  87. package/dist/Image.mjs +2 -0
  88. package/dist/ImageUpload.d.mts +2 -2
  89. package/dist/ImageUpload.d.ts +2 -2
  90. package/dist/ImageUpload.js +24 -15
  91. package/dist/ImageUpload.mjs +5 -5
  92. package/dist/ImageViewer.d.mts +2 -2
  93. package/dist/ImageViewer.d.ts +2 -2
  94. package/dist/ImageViewer.js +31 -28
  95. package/dist/ImageViewer.mjs +6 -6
  96. package/dist/Input.d.mts +4 -4
  97. package/dist/Input.d.ts +4 -4
  98. package/dist/Input.js +7 -13
  99. package/dist/Input.mjs +3 -3
  100. package/dist/ItemGroup.d.mts +23 -0
  101. package/dist/ItemGroup.d.ts +23 -0
  102. package/dist/{ListGroup.js → ItemGroup.js} +11 -13
  103. package/dist/ItemGroup.mjs +4 -0
  104. package/dist/LabelValue.d.mts +4 -4
  105. package/dist/LabelValue.d.ts +4 -4
  106. package/dist/LabelValue.js +7 -13
  107. package/dist/LabelValue.mjs +3 -3
  108. package/dist/ListItem.d.mts +6 -6
  109. package/dist/ListItem.d.ts +6 -6
  110. package/dist/ListItem.js +30 -27
  111. package/dist/ListItem.mjs +5 -5
  112. package/dist/MediaCard.d.mts +6 -6
  113. package/dist/MediaCard.d.ts +6 -6
  114. package/dist/MediaCard.js +30 -27
  115. package/dist/MediaCard.mjs +5 -5
  116. package/dist/MenuItem.d.mts +5 -5
  117. package/dist/MenuItem.d.ts +5 -5
  118. package/dist/MenuItem.js +30 -27
  119. package/dist/MenuItem.mjs +5 -5
  120. package/dist/MonthPicker.d.mts +2 -2
  121. package/dist/MonthPicker.d.ts +2 -2
  122. package/dist/MonthPicker.js +23 -14
  123. package/dist/MonthPicker.mjs +3 -3
  124. package/dist/NumberStepper.d.mts +3 -3
  125. package/dist/NumberStepper.d.ts +3 -3
  126. package/dist/NumberStepper.js +30 -27
  127. package/dist/NumberStepper.mjs +5 -5
  128. package/dist/PagerDots.d.mts +2 -2
  129. package/dist/PagerDots.d.ts +2 -2
  130. package/dist/PagerDots.js +30 -27
  131. package/dist/PagerDots.mjs +4 -4
  132. package/dist/Pressable.d.mts +3 -27
  133. package/dist/Pressable.d.ts +3 -27
  134. package/dist/Pressable.js +23 -14
  135. package/dist/Pressable.mjs +2 -2
  136. package/dist/PricingCard.d.mts +2 -2
  137. package/dist/PricingCard.d.ts +2 -2
  138. package/dist/PricingCard.js +31 -29
  139. package/dist/PricingCard.mjs +7 -7
  140. package/dist/Progress.d.mts +2 -2
  141. package/dist/Progress.d.ts +2 -2
  142. package/dist/Progress.mjs +2 -2
  143. package/dist/RadioGroup.d.mts +2 -2
  144. package/dist/RadioGroup.d.ts +2 -2
  145. package/dist/RadioGroup.js +23 -14
  146. package/dist/RadioGroup.mjs +3 -3
  147. package/dist/RetrayProvider.d.mts +1 -1
  148. package/dist/RetrayProvider.d.ts +1 -1
  149. package/dist/RetrayProvider.js +14 -34
  150. package/dist/RetrayProvider.mjs +3 -3
  151. package/dist/ScreenContainer.d.mts +24 -0
  152. package/dist/ScreenContainer.d.ts +24 -0
  153. package/dist/ScreenContainer.js +85 -0
  154. package/dist/ScreenContainer.mjs +3 -0
  155. package/dist/Select.d.mts +2 -2
  156. package/dist/Select.d.ts +2 -2
  157. package/dist/Select.js +38 -45
  158. package/dist/Select.mjs +3 -3
  159. package/dist/SelectableCard.d.mts +5 -5
  160. package/dist/SelectableCard.d.ts +5 -5
  161. package/dist/SelectableCard.js +30 -27
  162. package/dist/SelectableCard.mjs +5 -5
  163. package/dist/SelectableGrid.d.mts +5 -4
  164. package/dist/SelectableGrid.d.ts +5 -4
  165. package/dist/SelectableGrid.js +80 -44
  166. package/dist/SelectableGrid.mjs +5 -5
  167. package/dist/Separator.d.mts +4 -2
  168. package/dist/Separator.d.ts +4 -2
  169. package/dist/Separator.js +29 -1
  170. package/dist/Separator.mjs +3 -2
  171. package/dist/Sheet.d.mts +10 -10
  172. package/dist/Sheet.d.ts +10 -10
  173. package/dist/Sheet.js +59 -44
  174. package/dist/Sheet.mjs +4 -3
  175. package/dist/SheetSelect.d.mts +2 -2
  176. package/dist/SheetSelect.d.ts +2 -2
  177. package/dist/SheetSelect.js +30 -27
  178. package/dist/SheetSelect.mjs +5 -5
  179. package/dist/Skeleton.d.mts +5 -5
  180. package/dist/Skeleton.d.ts +5 -5
  181. package/dist/Skeleton.mjs +3 -3
  182. package/dist/Slider.d.mts +2 -2
  183. package/dist/Slider.d.ts +2 -2
  184. package/dist/Slider.js +23 -14
  185. package/dist/Slider.mjs +3 -3
  186. package/dist/Spinner.d.mts +2 -2
  187. package/dist/Spinner.d.ts +2 -2
  188. package/dist/Spinner.mjs +2 -2
  189. package/dist/Stats.d.mts +6 -6
  190. package/dist/Stats.d.ts +6 -6
  191. package/dist/Stats.js +30 -27
  192. package/dist/Stats.mjs +5 -5
  193. package/dist/Switch.d.mts +2 -2
  194. package/dist/Switch.d.ts +2 -2
  195. package/dist/Switch.js +23 -14
  196. package/dist/Switch.mjs +3 -3
  197. package/dist/TabBar.d.mts +3 -3
  198. package/dist/TabBar.d.ts +3 -3
  199. package/dist/TabBar.js +30 -27
  200. package/dist/TabBar.mjs +4 -4
  201. package/dist/Tabs.d.mts +13 -13
  202. package/dist/Tabs.d.ts +13 -13
  203. package/dist/Tabs.js +23 -14
  204. package/dist/Tabs.mjs +3 -3
  205. package/dist/Text.d.mts +4 -4
  206. package/dist/Text.d.ts +4 -4
  207. package/dist/Text.js +20 -2
  208. package/dist/Text.mjs +3 -3
  209. package/dist/Textarea.d.mts +3 -3
  210. package/dist/Textarea.d.ts +3 -3
  211. package/dist/Textarea.js +7 -13
  212. package/dist/Textarea.mjs +3 -3
  213. package/dist/Toast.d.mts +4 -4
  214. package/dist/Toast.d.ts +4 -4
  215. package/dist/Toast.mjs +2 -2
  216. package/dist/Toggle.d.mts +4 -4
  217. package/dist/Toggle.d.ts +4 -4
  218. package/dist/Toggle.js +30 -27
  219. package/dist/Toggle.mjs +4 -4
  220. package/dist/VirtualizedList.d.mts +28 -0
  221. package/dist/VirtualizedList.d.ts +28 -0
  222. package/dist/VirtualizedList.js +130 -0
  223. package/dist/VirtualizedList.mjs +3 -0
  224. package/dist/{chunk-MZ6WRTD2.mjs → chunk-24JTXQ2M.mjs} +7 -13
  225. package/dist/{chunk-OBV72JD4.mjs → chunk-2DDJ53DK.mjs} +9 -11
  226. package/dist/{chunk-H6MQL7PS.mjs → chunk-2J5OZOMX.mjs} +12 -6
  227. package/dist/{chunk-4NQFTHN3.mjs → chunk-3GE4UFV5.mjs} +2 -2
  228. package/dist/{chunk-KAGADD2O.mjs → chunk-3RIZCKRM.mjs} +2 -2
  229. package/dist/{chunk-DE25XTVQ.mjs → chunk-3VHFOSZR.mjs} +2 -2
  230. package/dist/{chunk-C5ZRMR2E.mjs → chunk-4PF4LKNT.mjs} +2 -2
  231. package/dist/{chunk-5MYNAAFE.mjs → chunk-5J7VKFSZ.mjs} +4 -4
  232. package/dist/{chunk-E2PONRJG.mjs → chunk-5TNQ573V.mjs} +2 -2
  233. package/dist/{chunk-CZN6L2QU.mjs → chunk-6T2DVIQT.mjs} +4 -4
  234. package/dist/{chunk-L3YKPTJQ.mjs → chunk-7CE6PDCQ.mjs} +2 -2
  235. package/dist/{chunk-Y6YS33GM.mjs → chunk-AHFEAY6M.mjs} +4 -4
  236. package/dist/{chunk-77UOVFIS.mjs → chunk-AZRATPNP.mjs} +2 -2
  237. package/dist/{chunk-UMZTPUB3.mjs → chunk-BGXOEFDM.mjs} +6 -31
  238. package/dist/{chunk-KC5QDYGZ.mjs → chunk-BMAAAJWN.mjs} +2 -2
  239. package/dist/{chunk-IJCMPVW5.mjs → chunk-BQMJQMWY.mjs} +2 -2
  240. package/dist/{chunk-COA2YZOX.mjs → chunk-BTPCY4C7.mjs} +4 -4
  241. package/dist/chunk-BVJAYPAD.mjs +55 -0
  242. package/dist/{chunk-RA6SAAFE.mjs → chunk-BWLVX2SQ.mjs} +4 -4
  243. package/dist/{chunk-HHOOFDBA.mjs → chunk-CCEM3HIJ.mjs} +5 -5
  244. package/dist/chunk-CTUFFKGS.mjs +30 -0
  245. package/dist/{chunk-EHGBHFMH.mjs → chunk-CYGYC7XT.mjs} +8 -4
  246. package/dist/{chunk-ESQDPO5E.mjs → chunk-DLAOTHHS.mjs} +7 -6
  247. package/dist/{chunk-QY3X2UYR.mjs → chunk-DYYPDQA2.mjs} +21 -7
  248. package/dist/{chunk-S44XWTTC.mjs → chunk-E4BJ5WXG.mjs} +3 -3
  249. package/dist/{chunk-HUSSF6TF.mjs → chunk-EQNCMDZC.mjs} +1 -1
  250. package/dist/{chunk-PI6RULJX.mjs → chunk-EQYTDFDD.mjs} +1 -1
  251. package/dist/{chunk-BULKGOIZ.mjs → chunk-FE26TPCI.mjs} +4 -4
  252. package/dist/{chunk-DBHSUUKU.mjs → chunk-FOUSI6JD.mjs} +1 -1
  253. package/dist/{chunk-KPTY7UYQ.mjs → chunk-GR7PKEKD.mjs} +1 -1
  254. package/dist/{chunk-RRKM4MKB.mjs → chunk-HLWGFBIF.mjs} +3 -3
  255. package/dist/chunk-HMKJGVXA.mjs +35 -0
  256. package/dist/{chunk-U6DEBYU5.mjs → chunk-IFGZUJFH.mjs} +3 -3
  257. package/dist/{chunk-2VIDP72N.mjs → chunk-K3V6OTVB.mjs} +1 -1
  258. package/dist/{chunk-K7TKID3V.mjs → chunk-K4YFTUMC.mjs} +3 -3
  259. package/dist/{chunk-NGEN2EES.mjs → chunk-MQAK2W6L.mjs} +14 -22
  260. package/dist/{chunk-CM2DG4MR.mjs → chunk-MSS3CD6F.mjs} +4 -4
  261. package/dist/{chunk-2QXJDRVU.mjs → chunk-NQYS6RPX.mjs} +4 -4
  262. package/dist/{chunk-62BBSSUF.mjs → chunk-P5KC3RTG.mjs} +1 -1
  263. package/dist/{chunk-K3QX2M26.mjs → chunk-PPKCGCZ3.mjs} +5 -5
  264. package/dist/{chunk-ITG4JQM3.mjs → chunk-QEE3EQ3N.mjs} +2 -2
  265. package/dist/{chunk-IDVUZIVY.mjs → chunk-RLPPRIJ7.mjs} +17 -33
  266. package/dist/{chunk-XCIG6HT2.mjs → chunk-S433IOQE.mjs} +2 -2
  267. package/dist/{chunk-IGU223UM.mjs → chunk-SWUZKVYO.mjs} +1 -1
  268. package/dist/{chunk-NPCBNGNE.mjs → chunk-T4KMKHTI.mjs} +55 -22
  269. package/dist/{chunk-7BZJRB77.mjs → chunk-UBTP4NPP.mjs} +4 -30
  270. package/dist/{chunk-TMH263OK.mjs → chunk-UEA2VYGW.mjs} +3 -3
  271. package/dist/chunk-VISIOH33.mjs +37 -0
  272. package/dist/{chunk-SZEKQAOY.mjs → chunk-VSKBODEY.mjs} +1 -1
  273. package/dist/{chunk-FTTI6T5Q.mjs → chunk-W422TEH2.mjs} +3 -3
  274. package/dist/{chunk-WIPEDNSD.mjs → chunk-WD5LBXPR.mjs} +4 -4
  275. package/dist/chunk-WFNGSYS4.mjs +111 -0
  276. package/dist/chunk-WR6DCNAE.mjs +65 -0
  277. package/dist/{chunk-ERWJPVX7.mjs → chunk-XKBB2UZU.mjs} +2 -2
  278. package/dist/{chunk-422IVD3H.mjs → chunk-Y5TPAKOS.mjs} +13 -17
  279. package/dist/{chunk-AZV7KNJI.mjs → chunk-YKWIMVGU.mjs} +2 -2
  280. package/dist/{chunk-ZKDKKQCE.mjs → chunk-YOXSXHDE.mjs} +4 -4
  281. package/dist/{chunk-PGQ6FMXS.mjs → chunk-ZO5BRTCW.mjs} +2 -2
  282. package/dist/{chunk-KSSVIFYR.mjs → chunk-ZQGCQ7SA.mjs} +14 -34
  283. package/dist/{chunk-ZTPYUU5C.mjs → chunk-ZRUUUVOO.mjs} +3 -3
  284. package/dist/{index-CY34hxPN.d.mts → index-CinAt5Uo.d.mts} +3 -3
  285. package/dist/{index-CY34hxPN.d.ts → index-CinAt5Uo.d.ts} +3 -3
  286. package/dist/index.d.mts +68 -18
  287. package/dist/index.d.ts +68 -18
  288. package/dist/index.js +965 -825
  289. package/dist/index.mjs +76 -69
  290. package/package.json +3 -2
  291. package/src/components/Accordion/Accordion.tsx +9 -18
  292. package/src/components/AppHeader/AppHeader.tsx +9 -1
  293. package/src/components/ConfirmDialog/ConfirmDialog.tsx +4 -34
  294. package/src/components/ErrorBoundary/ErrorBoundary.tsx +5 -2
  295. package/src/components/Image/Image.tsx +50 -0
  296. package/src/components/Image/index.ts +2 -0
  297. package/src/components/ImageUpload/ImageUpload.tsx +1 -1
  298. package/src/components/{ListGroup/ListGroup.tsx → ItemGroup/ItemGroup.tsx} +15 -29
  299. package/src/components/ItemGroup/index.ts +2 -0
  300. package/src/components/ListGroup/index.tsx +20 -0
  301. package/src/components/MenuGroup/index.tsx +20 -0
  302. package/src/components/Pressable/Pressable.tsx +0 -24
  303. package/src/components/ScreenContainer/ScreenContainer.tsx +94 -0
  304. package/src/components/ScreenContainer/index.ts +2 -0
  305. package/src/components/Select/Select.tsx +22 -30
  306. package/src/components/SelectableGrid/SelectableGrid.tsx +51 -19
  307. package/src/components/Separator/Separator.tsx +35 -2
  308. package/src/components/Sheet/Sheet.tsx +3 -34
  309. package/src/components/Tabs/Tabs.tsx +9 -9
  310. package/src/components/Tabs/index.ts +1 -1
  311. package/src/components/Text/Text.tsx +6 -0
  312. package/src/components/VirtualizedList/VirtualizedList.tsx +154 -0
  313. package/src/components/VirtualizedList/index.ts +2 -0
  314. package/src/hooks/useConfirmDialog.ts +2 -11
  315. package/src/hooks/useSheetModal.ts +40 -0
  316. package/src/index.ts +5 -1
  317. package/src/theme/colors.ts +19 -57
  318. package/src/tokens.ts +21 -7
  319. package/src/utils/curatedIcons.ts +9 -18
  320. package/src/utils/haptics.ts +10 -21
  321. package/src/utils/icons.ts +7 -14
  322. package/dist/ListGroup.d.mts +0 -34
  323. package/dist/ListGroup.d.ts +0 -34
  324. package/dist/ListGroup.mjs +0 -4
  325. package/dist/MenuGroup.d.mts +0 -34
  326. package/dist/MenuGroup.d.ts +0 -34
  327. package/dist/MenuGroup.js +0 -106
  328. package/dist/MenuGroup.mjs +0 -4
  329. package/dist/chunk-ARONDO7M.mjs +0 -40
  330. package/dist/chunk-EW2FIDSM.mjs +0 -29
  331. package/dist/chunk-S2VGME7X.mjs +0 -82
  332. package/src/components/ListGroup/index.ts +0 -1
  333. package/src/components/MenuGroup/MenuGroup.tsx +0 -145
  334. package/src/components/MenuGroup/index.ts +0 -1
@@ -11,10 +11,29 @@ var Feather = require('@expo/vector-icons/Feather');
11
11
  var FontAwesome5 = require('@expo/vector-icons/FontAwesome5');
12
12
  var MaterialIcons = require('@expo/vector-icons/MaterialIcons');
13
13
  var Ionicons = require('@expo/vector-icons/Ionicons');
14
+ var Haptics = require('expo-haptics');
14
15
  var reactNativeSizeMatters = require('react-native-size-matters');
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 React4__default = /*#__PURE__*/_interopDefault(React4);
19
38
  var AntDesign__default = /*#__PURE__*/_interopDefault(AntDesign);
20
39
  var Entypo__default = /*#__PURE__*/_interopDefault(Entypo);
@@ -22,6 +41,7 @@ var Feather__default = /*#__PURE__*/_interopDefault(Feather);
22
41
  var FontAwesome5__default = /*#__PURE__*/_interopDefault(FontAwesome5);
23
42
  var MaterialIcons__default = /*#__PURE__*/_interopDefault(MaterialIcons);
24
43
  var Ionicons__default = /*#__PURE__*/_interopDefault(Ionicons);
44
+ var Haptics__namespace = /*#__PURE__*/_interopNamespace(Haptics);
25
45
 
26
46
  // src/components/IconPicker/IconPicker.tsx
27
47
  var ThemeContext = React4.createContext(void 0);
@@ -40,23 +60,17 @@ var ALL_FAMILIES = [
40
60
  { name: "MaterialIcons", component: MaterialIcons__default.default },
41
61
  { name: "Ionicons", component: Ionicons__default.default }
42
62
  ];
43
- var glyphCacheInitialized = false;
44
- function ensureGlyphCache() {
45
- if (glyphCacheInitialized) return;
46
- glyphCacheInitialized = true;
47
- for (const entry of ALL_FAMILIES) {
48
- try {
49
- entry.glyphMap = entry.component.glyphMap;
50
- } catch {
51
- entry.glyphMap = {};
52
- }
63
+ function getGlyphMap(component) {
64
+ try {
65
+ return component.glyphMap ?? {};
66
+ } catch {
67
+ return {};
53
68
  }
54
69
  }
55
70
  function Icon({ name, size, color, family }) {
56
- ensureGlyphCache();
57
71
  const entry = family ? ALL_FAMILIES.find((f) => f.name === family) : ALL_FAMILIES.find((f) => {
58
- const glyphMap = f.glyphMap;
59
- return glyphMap ? name in glyphMap : false;
72
+ const glyphMap = getGlyphMap(f.component);
73
+ return name in glyphMap;
60
74
  });
61
75
  if (!entry) return null;
62
76
  return React4__default.default.createElement(entry.component, { name, size, color });
@@ -289,49 +303,30 @@ var CATEGORIES = [
289
303
  ]
290
304
  }
291
305
  ];
292
- var _allIcons = null;
293
- var _categorized = null;
294
306
  function getAllCuratedIcons() {
295
- if (!_allIcons) {
296
- const seen = /* @__PURE__ */ new Set();
297
- const result = [];
298
- for (const cat of CATEGORIES) {
299
- for (const name of cat.icons) {
300
- if (!seen.has(name)) {
301
- seen.add(name);
302
- result.push(name);
303
- }
307
+ const seen = /* @__PURE__ */ new Set();
308
+ const result = [];
309
+ for (const cat of CATEGORIES) {
310
+ for (const name of cat.icons) {
311
+ if (!seen.has(name)) {
312
+ seen.add(name);
313
+ result.push(name);
304
314
  }
305
315
  }
306
- _allIcons = result;
307
316
  }
308
- return _allIcons;
317
+ return result;
309
318
  }
310
319
  function getCuratedCategories() {
311
- if (!_categorized) {
312
- _categorized = CATEGORIES.map((cat) => ({ ...cat, icons: [...cat.icons] }));
313
- }
314
- return _categorized;
320
+ return CATEGORIES.map((cat) => ({ ...cat, icons: [...cat.icons] }));
315
321
  }
316
- var _haptics = null;
317
- var _loaded = false;
318
- async function getHaptics() {
319
- if (reactNative.Platform.OS === "web") return null;
320
- if (!_loaded) {
321
- _loaded = true;
322
- try {
323
- _haptics = await import('expo-haptics');
324
- } catch {
325
- _haptics = null;
326
- }
327
- }
328
- return _haptics;
322
+ function maybeHaptics() {
323
+ return reactNative.Platform.OS === "web" ? null : Haptics__namespace;
329
324
  }
330
325
  function selectionAsync() {
331
- getHaptics().then((h) => h?.selectionAsync());
326
+ maybeHaptics()?.selectionAsync();
332
327
  }
333
328
  function impactMedium() {
334
- getHaptics().then((h) => h?.impactAsync(h.ImpactFeedbackStyle.Medium));
329
+ maybeHaptics()?.impactAsync(Haptics__namespace.ImpactFeedbackStyle.Medium);
335
330
  }
336
331
  var isWeb = reactNative.Platform.OS === "web";
337
332
  var s = isWeb ? (n) => n : reactNativeSizeMatters.scale;
@@ -1,7 +1,7 @@
1
- export { IconPicker } from './chunk-NGEN2EES.mjs';
2
- import './chunk-2VIDP72N.mjs';
3
- import './chunk-ARONDO7M.mjs';
4
- import './chunk-QY3X2UYR.mjs';
5
- import './chunk-MZ6WRTD2.mjs';
6
- import './chunk-KSSVIFYR.mjs';
1
+ export { IconPicker } from './chunk-MQAK2W6L.mjs';
2
+ import './chunk-K3V6OTVB.mjs';
3
+ import './chunk-CTUFFKGS.mjs';
4
+ import './chunk-DYYPDQA2.mjs';
5
+ import './chunk-24JTXQ2M.mjs';
6
+ import './chunk-ZQGCQ7SA.mjs';
7
7
  import './chunk-2CE3TQVY.mjs';
@@ -0,0 +1,18 @@
1
+ import React__default from 'react';
2
+ import { ImageStyle } from 'react-native';
3
+ import { ImageProps as ImageProps$1 } from 'expo-image';
4
+
5
+ interface ImageProps extends Omit<ImageProps$1, 'source' | 'style'> {
6
+ /** Image source URI. */
7
+ src?: string | null;
8
+ /** Custom fallback shown when image fails to load or src is null. */
9
+ fallback?: React__default.ReactNode;
10
+ /** Aspect ratio width/height — e.g. 16/9, 4/3. Sets container height proportionally. */
11
+ aspectRatio?: number;
12
+ /** Border radius override. Defaults to 0. */
13
+ borderRadius?: number;
14
+ style?: ImageStyle;
15
+ }
16
+ declare function Image({ src, fallback, aspectRatio, borderRadius, style, ...props }: ImageProps): React__default.JSX.Element;
17
+
18
+ export { Image, type ImageProps };
@@ -0,0 +1,18 @@
1
+ import React__default from 'react';
2
+ import { ImageStyle } from 'react-native';
3
+ import { ImageProps as ImageProps$1 } from 'expo-image';
4
+
5
+ interface ImageProps extends Omit<ImageProps$1, 'source' | 'style'> {
6
+ /** Image source URI. */
7
+ src?: string | null;
8
+ /** Custom fallback shown when image fails to load or src is null. */
9
+ fallback?: React__default.ReactNode;
10
+ /** Aspect ratio width/height — e.g. 16/9, 4/3. Sets container height proportionally. */
11
+ aspectRatio?: number;
12
+ /** Border radius override. Defaults to 0. */
13
+ borderRadius?: number;
14
+ style?: ImageStyle;
15
+ }
16
+ declare function Image({ src, fallback, aspectRatio, borderRadius, style, ...props }: ImageProps): React__default.JSX.Element;
17
+
18
+ export { Image, type ImageProps };
package/dist/Image.js ADDED
@@ -0,0 +1,53 @@
1
+ 'use strict';
2
+
3
+ var React2 = require('react');
4
+ var reactNative = require('react-native');
5
+ var expoImage = require('expo-image');
6
+
7
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
8
+
9
+ var React2__default = /*#__PURE__*/_interopDefault(React2);
10
+
11
+ // src/components/Image/Image.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
+
21
+ // src/components/Image/Image.tsx
22
+ function Image({ src, fallback, aspectRatio, borderRadius = 0, style, ...props }) {
23
+ const { colors } = useTheme();
24
+ const [failed, setFailed] = React2.useState(false);
25
+ if (!src || failed) {
26
+ return fallback ? /* @__PURE__ */ React2__default.default.createElement(reactNative.View, { style: [style, { overflow: "hidden" }] }, fallback) : /* @__PURE__ */ React2__default.default.createElement(
27
+ reactNative.View,
28
+ {
29
+ style: [
30
+ { backgroundColor: colors.skeleton, overflow: "hidden" },
31
+ borderRadius ? { borderRadius } : void 0,
32
+ aspectRatio ? { aspectRatio } : void 0,
33
+ style
34
+ ]
35
+ }
36
+ );
37
+ }
38
+ const imageStyle = {
39
+ ...aspectRatio ? { aspectRatio, width: "100%" } : {},
40
+ ...borderRadius ? { borderRadius } : {}
41
+ };
42
+ return /* @__PURE__ */ React2__default.default.createElement(
43
+ expoImage.Image,
44
+ {
45
+ source: { uri: src },
46
+ style: [imageStyle, style],
47
+ onError: () => setFailed(true),
48
+ ...props
49
+ }
50
+ );
51
+ }
52
+
53
+ exports.Image = Image;
package/dist/Image.mjs ADDED
@@ -0,0 +1,2 @@
1
+ export { Image } from './chunk-VISIOH33.mjs';
2
+ import './chunk-ZQGCQ7SA.mjs';
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import React__default from 'react';
2
2
  import { ViewStyle } from 'react-native';
3
3
 
4
4
  interface ImageUploadProps {
@@ -26,6 +26,6 @@ interface ImageUploadProps {
26
26
  /** Called synchronously when user taps the upload area, before dynamic import and permission request. */
27
27
  onPickerStarting?: () => void;
28
28
  }
29
- declare function ImageUpload({ value, onChange, loading, placeholder, showPlaceholderText, width, height, borderRadius, resizeMode, disabled, style, accessibilityLabel, onPickerStarting, }: ImageUploadProps): React.JSX.Element;
29
+ declare function ImageUpload({ value, onChange, loading, placeholder, showPlaceholderText, width, height, borderRadius, resizeMode, disabled, style, accessibilityLabel, onPickerStarting, }: ImageUploadProps): React__default.JSX.Element;
30
30
 
31
31
  export { ImageUpload, type ImageUploadProps };
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import React__default from 'react';
2
2
  import { ViewStyle } from 'react-native';
3
3
 
4
4
  interface ImageUploadProps {
@@ -26,6 +26,6 @@ interface ImageUploadProps {
26
26
  /** Called synchronously when user taps the upload area, before dynamic import and permission request. */
27
27
  onPickerStarting?: () => void;
28
28
  }
29
- declare function ImageUpload({ value, onChange, loading, placeholder, showPlaceholderText, width, height, borderRadius, resizeMode, disabled, style, accessibilityLabel, onPickerStarting, }: ImageUploadProps): React.JSX.Element;
29
+ declare function ImageUpload({ value, onChange, loading, placeholder, showPlaceholderText, width, height, borderRadius, resizeMode, disabled, style, accessibilityLabel, onPickerStarting, }: ImageUploadProps): React__default.JSX.Element;
30
30
 
31
31
  export { ImageUpload, type ImageUploadProps };
@@ -4,30 +4,39 @@ var React3 = require('react');
4
4
  var expoImage = require('expo-image');
5
5
  var reactNative = require('react-native');
6
6
  var vectorIcons = require('@expo/vector-icons');
7
+ var Haptics = require('expo-haptics');
7
8
  var reactNativeSizeMatters = require('react-native-size-matters');
8
9
  var pressto = require('pressto');
9
10
 
10
11
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
11
12
 
13
+ function _interopNamespace(e) {
14
+ if (e && e.__esModule) return e;
15
+ var n = Object.create(null);
16
+ if (e) {
17
+ Object.keys(e).forEach(function (k) {
18
+ if (k !== 'default') {
19
+ var d = Object.getOwnPropertyDescriptor(e, k);
20
+ Object.defineProperty(n, k, d.get ? d : {
21
+ enumerable: true,
22
+ get: function () { return e[k]; }
23
+ });
24
+ }
25
+ });
26
+ }
27
+ n.default = e;
28
+ return Object.freeze(n);
29
+ }
30
+
12
31
  var React3__default = /*#__PURE__*/_interopDefault(React3);
32
+ var Haptics__namespace = /*#__PURE__*/_interopNamespace(Haptics);
13
33
 
14
34
  // src/components/ImageUpload/ImageUpload.tsx
15
- var _haptics = null;
16
- var _loaded = false;
17
- async function getHaptics() {
18
- if (reactNative.Platform.OS === "web") return null;
19
- if (!_loaded) {
20
- _loaded = true;
21
- try {
22
- _haptics = await import('expo-haptics');
23
- } catch {
24
- _haptics = null;
25
- }
26
- }
27
- return _haptics;
35
+ function maybeHaptics() {
36
+ return reactNative.Platform.OS === "web" ? null : Haptics__namespace;
28
37
  }
29
38
  function impactLight() {
30
- getHaptics().then((h) => h?.impactAsync(h.ImpactFeedbackStyle.Light));
39
+ maybeHaptics()?.impactAsync(Haptics__namespace.ImpactFeedbackStyle.Light);
31
40
  }
32
41
  var ThemeContext = React3.createContext(void 0);
33
42
  function useTheme() {
@@ -197,7 +206,7 @@ function ImageUpload({
197
206
  },
198
207
  placeholder
199
208
  ) : null),
200
- loading || isPicking ? /* @__PURE__ */ React3__default.default.createElement(reactNative.View, { style: [styles2.loadingOverlay, { backgroundColor: colors.overlay }] }, /* @__PURE__ */ React3__default.default.createElement(Spinner, { size: "md" })) : null,
209
+ loading || isPicking ? /* @__PURE__ */ React3__default.default.createElement(reactNative.View, { style: [styles2.loadingOverlay, { backgroundColor: colors.overlay, borderRadius }] }, /* @__PURE__ */ React3__default.default.createElement(Spinner, { size: "md" })) : null,
201
210
  value && !loading ? /* @__PURE__ */ React3__default.default.createElement(reactNative.View, { style: styles2.editBadge, pointerEvents: "none" }, /* @__PURE__ */ React3__default.default.createElement(reactNative.View, { style: [styles2.editBadgeInner, { backgroundColor: colors.overlay }] }, /* @__PURE__ */ React3__default.default.createElement(vectorIcons.Feather, { name: "edit-2", size: ms(12), color: "#fff" }))) : null
202
211
  );
203
212
  }
@@ -1,7 +1,7 @@
1
- export { ImageUpload } from './chunk-HHOOFDBA.mjs';
2
- import './chunk-2VIDP72N.mjs';
1
+ export { ImageUpload } from './chunk-CCEM3HIJ.mjs';
2
+ import './chunk-K3V6OTVB.mjs';
3
3
  import './chunk-IFYMBOEN.mjs';
4
- import './chunk-ARONDO7M.mjs';
5
- import './chunk-QY3X2UYR.mjs';
6
- import './chunk-KSSVIFYR.mjs';
4
+ import './chunk-CTUFFKGS.mjs';
5
+ import './chunk-DYYPDQA2.mjs';
6
+ import './chunk-ZQGCQ7SA.mjs';
7
7
  import './chunk-2CE3TQVY.mjs';
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import React__default from 'react';
2
2
  import { ImageSourcePropType } from 'react-native';
3
3
 
4
4
  interface ImageViewerProps {
@@ -18,6 +18,6 @@ interface ImageViewerProps {
18
18
  * @example
19
19
  * <ImageViewer images={pages} visible={open} initialIndex={page} onClose={() => setOpen(false)} />
20
20
  */
21
- declare function ImageViewer({ images, visible, onClose, initialIndex }: ImageViewerProps): React.JSX.Element;
21
+ declare function ImageViewer({ images, visible, onClose, initialIndex }: ImageViewerProps): React__default.JSX.Element;
22
22
 
23
23
  export { ImageViewer, type ImageViewerProps };
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import React__default from 'react';
2
2
  import { ImageSourcePropType } from 'react-native';
3
3
 
4
4
  interface ImageViewerProps {
@@ -18,6 +18,6 @@ interface ImageViewerProps {
18
18
  * @example
19
19
  * <ImageViewer images={pages} visible={open} initialIndex={page} onClose={() => setOpen(false)} />
20
20
  */
21
- declare function ImageViewer({ images, visible, onClose, initialIndex }: ImageViewerProps): React.JSX.Element;
21
+ declare function ImageViewer({ images, visible, onClose, initialIndex }: ImageViewerProps): React__default.JSX.Element;
22
22
 
23
23
  export { ImageViewer, type ImageViewerProps };
@@ -6,6 +6,7 @@ var reactNative = require('react-native');
6
6
  var reactNativeGestureHandler = require('react-native-gesture-handler');
7
7
  var Animated2 = require('react-native-reanimated');
8
8
  var reactNativeSafeAreaContext = require('react-native-safe-area-context');
9
+ var Haptics = require('expo-haptics');
9
10
  var reactNativeSizeMatters = require('react-native-size-matters');
10
11
  var AntDesign = require('@expo/vector-icons/AntDesign');
11
12
  var Entypo = require('@expo/vector-icons/Entypo');
@@ -17,8 +18,27 @@ 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 React5__default = /*#__PURE__*/_interopDefault(React5);
21
40
  var Animated2__default = /*#__PURE__*/_interopDefault(Animated2);
41
+ var Haptics__namespace = /*#__PURE__*/_interopNamespace(Haptics);
22
42
  var AntDesign__default = /*#__PURE__*/_interopDefault(AntDesign);
23
43
  var Entypo__default = /*#__PURE__*/_interopDefault(Entypo);
24
44
  var Feather__default = /*#__PURE__*/_interopDefault(Feather);
@@ -27,25 +47,14 @@ var MaterialIcons__default = /*#__PURE__*/_interopDefault(MaterialIcons);
27
47
  var Ionicons__default = /*#__PURE__*/_interopDefault(Ionicons);
28
48
 
29
49
  // src/components/ImageViewer/ImageViewer.tsx
30
- var _haptics = null;
31
- var _loaded = false;
32
- async function getHaptics() {
33
- if (reactNative.Platform.OS === "web") return null;
34
- if (!_loaded) {
35
- _loaded = true;
36
- try {
37
- _haptics = await import('expo-haptics');
38
- } catch {
39
- _haptics = null;
40
- }
41
- }
42
- return _haptics;
50
+ function maybeHaptics() {
51
+ return reactNative.Platform.OS === "web" ? null : Haptics__namespace;
43
52
  }
44
53
  function selectionAsync() {
45
- getHaptics().then((h) => h?.selectionAsync());
54
+ maybeHaptics()?.selectionAsync();
46
55
  }
47
56
  function impactLight() {
48
- getHaptics().then((h) => h?.impactAsync(h.ImpactFeedbackStyle.Light));
57
+ maybeHaptics()?.impactAsync(Haptics__namespace.ImpactFeedbackStyle.Light);
49
58
  }
50
59
  var ThemeContext = React5.createContext(void 0);
51
60
  function useTheme() {
@@ -67,23 +76,17 @@ var ALL_FAMILIES = [
67
76
  { name: "MaterialIcons", component: MaterialIcons__default.default },
68
77
  { name: "Ionicons", component: Ionicons__default.default }
69
78
  ];
70
- var glyphCacheInitialized = false;
71
- function ensureGlyphCache() {
72
- if (glyphCacheInitialized) return;
73
- glyphCacheInitialized = true;
74
- for (const entry of ALL_FAMILIES) {
75
- try {
76
- entry.glyphMap = entry.component.glyphMap;
77
- } catch {
78
- entry.glyphMap = {};
79
- }
79
+ function getGlyphMap(component) {
80
+ try {
81
+ return component.glyphMap ?? {};
82
+ } catch {
83
+ return {};
80
84
  }
81
85
  }
82
86
  function Icon({ name, size, color, family }) {
83
- ensureGlyphCache();
84
87
  const entry = family ? ALL_FAMILIES.find((f) => f.name === family) : ALL_FAMILIES.find((f) => {
85
- const glyphMap = f.glyphMap;
86
- return glyphMap ? name in glyphMap : false;
88
+ const glyphMap = getGlyphMap(f.component);
89
+ return name in glyphMap;
87
90
  });
88
91
  if (!entry) return null;
89
92
  return React5__default.default.createElement(entry.component, { name, size, color });
@@ -1,9 +1,9 @@
1
- export { ImageViewer } from './chunk-PGQ6FMXS.mjs';
2
- import './chunk-S44XWTTC.mjs';
3
- import './chunk-ZTPYUU5C.mjs';
1
+ export { ImageViewer } from './chunk-ZO5BRTCW.mjs';
2
+ import './chunk-E4BJ5WXG.mjs';
3
+ import './chunk-ZRUUUVOO.mjs';
4
4
  import './chunk-M53LC4Q7.mjs';
5
5
  import './chunk-IFYMBOEN.mjs';
6
- import './chunk-ARONDO7M.mjs';
7
- import './chunk-MZ6WRTD2.mjs';
8
- import './chunk-KSSVIFYR.mjs';
6
+ import './chunk-CTUFFKGS.mjs';
7
+ import './chunk-24JTXQ2M.mjs';
8
+ import './chunk-ZQGCQ7SA.mjs';
9
9
  import './chunk-2CE3TQVY.mjs';
package/dist/Input.d.mts CHANGED
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import React__default from 'react';
2
2
  import { TextInputProps, TextStyle, ViewStyle } from 'react-native';
3
3
 
4
4
  interface InputProps extends TextInputProps {
@@ -6,8 +6,8 @@ interface InputProps extends TextInputProps {
6
6
  error?: string;
7
7
  hint?: string;
8
8
  disabled?: boolean;
9
- prefix?: React.ReactNode;
10
- suffix?: React.ReactNode;
9
+ prefix?: React__default.ReactNode;
10
+ suffix?: React__default.ReactNode;
11
11
  prefixStyle?: TextStyle;
12
12
  suffixStyle?: TextStyle;
13
13
  prefixIcon?: string;
@@ -20,6 +20,6 @@ interface InputProps extends TextInputProps {
20
20
  /** Use inside a Sheet/BottomSheet — swaps TextInput for BottomSheetTextInput to fix keyboard handling. */
21
21
  sheetMode?: boolean;
22
22
  }
23
- declare function Input({ label, error, hint, disabled, prefix, suffix, prefixStyle, suffixStyle, prefixIcon, suffixIcon, prefixIconColor, suffixIconColor, type, containerStyle, inputWrapperStyle, sheetMode, style, onFocus, onBlur, secureTextEntry, editable, accessibilityLabel, autoCapitalize, autoCorrect, ...props }: InputProps): React.JSX.Element;
23
+ declare function Input({ label, error, hint, disabled, prefix, suffix, prefixStyle, suffixStyle, prefixIcon, suffixIcon, prefixIconColor, suffixIconColor, type, containerStyle, inputWrapperStyle, sheetMode, style, onFocus, onBlur, secureTextEntry, editable, accessibilityLabel, autoCapitalize, autoCorrect, ...props }: InputProps): React__default.JSX.Element;
24
24
 
25
25
  export { Input, type InputProps };
package/dist/Input.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import React__default from 'react';
2
2
  import { TextInputProps, TextStyle, ViewStyle } from 'react-native';
3
3
 
4
4
  interface InputProps extends TextInputProps {
@@ -6,8 +6,8 @@ interface InputProps extends TextInputProps {
6
6
  error?: string;
7
7
  hint?: string;
8
8
  disabled?: boolean;
9
- prefix?: React.ReactNode;
10
- suffix?: React.ReactNode;
9
+ prefix?: React__default.ReactNode;
10
+ suffix?: React__default.ReactNode;
11
11
  prefixStyle?: TextStyle;
12
12
  suffixStyle?: TextStyle;
13
13
  prefixIcon?: string;
@@ -20,6 +20,6 @@ interface InputProps extends TextInputProps {
20
20
  /** Use inside a Sheet/BottomSheet — swaps TextInput for BottomSheetTextInput to fix keyboard handling. */
21
21
  sheetMode?: boolean;
22
22
  }
23
- declare function Input({ label, error, hint, disabled, prefix, suffix, prefixStyle, suffixStyle, prefixIcon, suffixIcon, prefixIconColor, suffixIconColor, type, containerStyle, inputWrapperStyle, sheetMode, style, onFocus, onBlur, secureTextEntry, editable, accessibilityLabel, autoCapitalize, autoCorrect, ...props }: InputProps): React.JSX.Element;
23
+ declare function Input({ label, error, hint, disabled, prefix, suffix, prefixStyle, suffixStyle, prefixIcon, suffixIcon, prefixIconColor, suffixIconColor, type, containerStyle, inputWrapperStyle, sheetMode, style, onFocus, onBlur, secureTextEntry, editable, accessibilityLabel, autoCapitalize, autoCorrect, ...props }: InputProps): React__default.JSX.Element;
24
24
 
25
25
  export { Input, type InputProps };
package/dist/Input.js CHANGED
@@ -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 });
package/dist/Input.mjs CHANGED
@@ -1,5 +1,5 @@
1
- export { Input } from './chunk-4NQFTHN3.mjs';
1
+ export { Input } from './chunk-3GE4UFV5.mjs';
2
2
  import './chunk-M53LC4Q7.mjs';
3
- import './chunk-MZ6WRTD2.mjs';
4
- import './chunk-KSSVIFYR.mjs';
3
+ import './chunk-24JTXQ2M.mjs';
4
+ import './chunk-ZQGCQ7SA.mjs';
5
5
  import './chunk-2CE3TQVY.mjs';
@@ -0,0 +1,23 @@
1
+ import React__default from 'react';
2
+ import { ViewStyle } from 'react-native';
3
+
4
+ type ItemGroupVariant = 'plain' | 'card';
5
+ interface ItemGroupProps {
6
+ children: React__default.ReactNode;
7
+ variant?: ItemGroupVariant;
8
+ childPropKey: 'title' | 'onPress';
9
+ style?: ViewStyle;
10
+ }
11
+ interface ItemGroupHeaderProps {
12
+ children: React__default.ReactNode;
13
+ style?: ViewStyle;
14
+ }
15
+ interface ItemGroupFooterProps {
16
+ children: React__default.ReactNode;
17
+ style?: ViewStyle;
18
+ }
19
+ declare function ItemGroup({ children, variant, childPropKey, style }: ItemGroupProps): React__default.JSX.Element;
20
+ declare function ItemGroupHeader({ children, style }: ItemGroupHeaderProps): React__default.JSX.Element;
21
+ declare function ItemGroupFooter({ children, style }: ItemGroupFooterProps): React__default.JSX.Element;
22
+
23
+ export { ItemGroup, ItemGroupFooter, type ItemGroupFooterProps, ItemGroupHeader, type ItemGroupHeaderProps, type ItemGroupProps, type ItemGroupVariant };
@@ -0,0 +1,23 @@
1
+ import React__default from 'react';
2
+ import { ViewStyle } from 'react-native';
3
+
4
+ type ItemGroupVariant = 'plain' | 'card';
5
+ interface ItemGroupProps {
6
+ children: React__default.ReactNode;
7
+ variant?: ItemGroupVariant;
8
+ childPropKey: 'title' | 'onPress';
9
+ style?: ViewStyle;
10
+ }
11
+ interface ItemGroupHeaderProps {
12
+ children: React__default.ReactNode;
13
+ style?: ViewStyle;
14
+ }
15
+ interface ItemGroupFooterProps {
16
+ children: React__default.ReactNode;
17
+ style?: ViewStyle;
18
+ }
19
+ declare function ItemGroup({ children, variant, childPropKey, style }: ItemGroupProps): React__default.JSX.Element;
20
+ declare function ItemGroupHeader({ children, style }: ItemGroupHeaderProps): React__default.JSX.Element;
21
+ declare function ItemGroupFooter({ children, style }: ItemGroupFooterProps): React__default.JSX.Element;
22
+
23
+ export { ItemGroup, ItemGroupFooter, type ItemGroupFooterProps, ItemGroupHeader, type ItemGroupHeaderProps, type ItemGroupProps, type ItemGroupVariant };