@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
@@ -42,23 +42,17 @@ var ALL_FAMILIES = [
42
42
  { name: "MaterialIcons", component: MaterialIcons__default.default },
43
43
  { name: "Ionicons", component: Ionicons__default.default }
44
44
  ];
45
- var glyphCacheInitialized = false;
46
- function ensureGlyphCache() {
47
- if (glyphCacheInitialized) return;
48
- glyphCacheInitialized = true;
49
- for (const entry of ALL_FAMILIES) {
50
- try {
51
- entry.glyphMap = entry.component.glyphMap;
52
- } catch {
53
- entry.glyphMap = {};
54
- }
45
+ function getGlyphMap(component) {
46
+ try {
47
+ return component.glyphMap ?? {};
48
+ } catch {
49
+ return {};
55
50
  }
56
51
  }
57
52
  function Icon({ name, size, color, family }) {
58
- ensureGlyphCache();
59
53
  const entry = family ? ALL_FAMILIES.find((f) => f.name === family) : ALL_FAMILIES.find((f) => {
60
- const glyphMap = f.glyphMap;
61
- return glyphMap ? name in glyphMap : false;
54
+ const glyphMap = getGlyphMap(f.component);
55
+ return name in glyphMap;
62
56
  });
63
57
  if (!entry) return null;
64
58
  return React3__default.default.createElement(entry.component, { name, size, color });
@@ -1,5 +1,5 @@
1
- export { AlertBanner } from './chunk-K7TKID3V.mjs';
2
- import './chunk-QY3X2UYR.mjs';
3
- import './chunk-MZ6WRTD2.mjs';
4
- import './chunk-KSSVIFYR.mjs';
1
+ export { AlertBanner } from './chunk-K4YFTUMC.mjs';
2
+ import './chunk-DYYPDQA2.mjs';
3
+ import './chunk-24JTXQ2M.mjs';
4
+ import './chunk-ZQGCQ7SA.mjs';
5
5
  import './chunk-2CE3TQVY.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 AppHeaderProps {
@@ -13,9 +13,9 @@ interface AppHeaderProps {
13
13
  /** Icon name for a decorative icon shown left of the title, after the back button. Ignored when `left` is provided. */
14
14
  iconName?: string;
15
15
  /** Custom left content — overrides the back button and `iconName`. */
16
- left?: React.ReactNode;
16
+ left?: React__default.ReactNode;
17
17
  /** Custom right content (actions). */
18
- right?: React.ReactNode;
18
+ right?: React__default.ReactNode;
19
19
  /**
20
20
  * Title alignment.
21
21
  * - `'auto'` (default): left on narrow screens, centered when width ≥ `BREAKPOINTS.wide`.
@@ -38,6 +38,6 @@ interface AppHeaderProps {
38
38
  * <AppHeader title="Settings" onBack={navigation.goBack} right={<IconButton iconName="more-horizontal" variant="text" />} />
39
39
  * <AppHeader title="Perfil" iconName="user" onBack={navigation.goBack} />
40
40
  */
41
- declare function AppHeader({ title, subtitle, onBack, backIconName, iconName, left, right, titleAlign, bordered, withSafeArea, backgroundColor, style, }: AppHeaderProps): React.JSX.Element;
41
+ declare function AppHeader({ title, subtitle, onBack, backIconName, iconName, left, right, titleAlign, bordered, withSafeArea, backgroundColor, style, }: AppHeaderProps): React__default.JSX.Element;
42
42
 
43
43
  export { AppHeader, type AppHeaderProps };
@@ -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 AppHeaderProps {
@@ -13,9 +13,9 @@ interface AppHeaderProps {
13
13
  /** Icon name for a decorative icon shown left of the title, after the back button. Ignored when `left` is provided. */
14
14
  iconName?: string;
15
15
  /** Custom left content — overrides the back button and `iconName`. */
16
- left?: React.ReactNode;
16
+ left?: React__default.ReactNode;
17
17
  /** Custom right content (actions). */
18
- right?: React.ReactNode;
18
+ right?: React__default.ReactNode;
19
19
  /**
20
20
  * Title alignment.
21
21
  * - `'auto'` (default): left on narrow screens, centered when width ≥ `BREAKPOINTS.wide`.
@@ -38,6 +38,6 @@ interface AppHeaderProps {
38
38
  * <AppHeader title="Settings" onBack={navigation.goBack} right={<IconButton iconName="more-horizontal" variant="text" />} />
39
39
  * <AppHeader title="Perfil" iconName="user" onBack={navigation.goBack} />
40
40
  */
41
- declare function AppHeader({ title, subtitle, onBack, backIconName, iconName, left, right, titleAlign, bordered, withSafeArea, backgroundColor, style, }: AppHeaderProps): React.JSX.Element;
41
+ declare function AppHeader({ title, subtitle, onBack, backIconName, iconName, left, right, titleAlign, bordered, withSafeArea, backgroundColor, style, }: AppHeaderProps): React__default.JSX.Element;
42
42
 
43
43
  export { AppHeader, type AppHeaderProps };
package/dist/AppHeader.js CHANGED
@@ -3,6 +3,7 @@
3
3
  var React4 = require('react');
4
4
  var reactNative = require('react-native');
5
5
  var reactNativeSafeAreaContext = require('react-native-safe-area-context');
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 React4__default = /*#__PURE__*/_interopDefault(React4);
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);
@@ -31,22 +51,11 @@ function useTheme() {
31
51
  }
32
52
  return context;
33
53
  }
34
- var _haptics = null;
35
- var _loaded = false;
36
- async function getHaptics() {
37
- if (reactNative.Platform.OS === "web") return null;
38
- if (!_loaded) {
39
- _loaded = true;
40
- try {
41
- _haptics = await import('expo-haptics');
42
- } catch {
43
- _haptics = null;
44
- }
45
- }
46
- return _haptics;
54
+ function maybeHaptics() {
55
+ return reactNative.Platform.OS === "web" ? null : Haptics__namespace;
47
56
  }
48
57
  function impactLight() {
49
- getHaptics().then((h) => h?.impactAsync(h.ImpactFeedbackStyle.Light));
58
+ maybeHaptics()?.impactAsync(Haptics__namespace.ImpactFeedbackStyle.Light);
50
59
  }
51
60
  var isWeb = reactNative.Platform.OS === "web";
52
61
  var s = isWeb ? (n) => n : reactNativeSizeMatters.scale;
@@ -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 React4__default.default.createElement(entry.component, { name, size, color });
@@ -238,7 +241,7 @@ function AppHeader({
238
241
  onPress: onBack,
239
242
  accessibilityLabel: "Atr\xE1s"
240
243
  }
241
- ) : null, iconName && !left ? /* @__PURE__ */ React4__default.default.createElement(Icon, { name: iconName, size: 20, color: colors.foreground }) : null);
244
+ ) : null, iconName && !left ? /* @__PURE__ */ React4__default.default.createElement(reactNative.View, { style: styles2.iconSlot }, /* @__PURE__ */ React4__default.default.createElement(Icon, { name: iconName, size: 20, color: colors.foreground })) : null);
242
245
  const titleBlock = /* @__PURE__ */ React4__default.default.createElement(reactNative.View, { style: [styles2.titleBlock, centered && styles2.titleBlockCentered], pointerEvents: "none" }, title ? /* @__PURE__ */ React4__default.default.createElement(
243
246
  reactNative.Text,
244
247
  {
@@ -315,6 +318,12 @@ var styles2 = reactNative.StyleSheet.create({
315
318
  fontSize: ms(13),
316
319
  lineHeight: mvs(16)
317
320
  },
321
+ iconSlot: {
322
+ width: s(44),
323
+ height: s(44),
324
+ alignItems: "center",
325
+ justifyContent: "center"
326
+ },
318
327
  textCentered: {
319
328
  textAlign: "center"
320
329
  }
@@ -1,8 +1,8 @@
1
- export { AppHeader } from './chunk-H6MQL7PS.mjs';
2
- import './chunk-ZTPYUU5C.mjs';
1
+ export { AppHeader } from './chunk-2J5OZOMX.mjs';
2
+ import './chunk-ZRUUUVOO.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';
package/dist/Avatar.d.mts CHANGED
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import React__default from 'react';
2
2
  import { ViewStyle } from 'react-native';
3
3
 
4
4
  type AvatarSize = 'sm' | 'md' | 'lg' | 'xl';
@@ -14,8 +14,8 @@ interface AvatarProps {
14
14
  status?: AvatarStatus;
15
15
  style?: ViewStyle;
16
16
  }
17
- declare function AvatarBase({ src, fallback, fallbackText, size, status, style }: AvatarProps): React.JSX.Element;
18
- declare const Avatar: React.MemoExoticComponent<typeof AvatarBase>;
17
+ declare function AvatarBase({ src, fallback, fallbackText, size, status, style }: AvatarProps): React__default.JSX.Element;
18
+ declare const Avatar: React__default.MemoExoticComponent<typeof AvatarBase>;
19
19
  interface AvatarGroupProps {
20
20
  users: {
21
21
  name: string;
@@ -31,6 +31,6 @@ interface AvatarGroupProps {
31
31
  onOverflowPress?: () => void;
32
32
  style?: ViewStyle;
33
33
  }
34
- declare function AvatarGroup({ users, max, size, overlap, onOverflowPress, style, }: AvatarGroupProps): React.JSX.Element;
34
+ declare function AvatarGroup({ users, max, size, overlap, onOverflowPress, style, }: AvatarGroupProps): React__default.JSX.Element;
35
35
 
36
36
  export { Avatar, AvatarGroup, type AvatarGroupProps, type AvatarProps, type AvatarSize };
package/dist/Avatar.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import React__default from 'react';
2
2
  import { ViewStyle } from 'react-native';
3
3
 
4
4
  type AvatarSize = 'sm' | 'md' | 'lg' | 'xl';
@@ -14,8 +14,8 @@ interface AvatarProps {
14
14
  status?: AvatarStatus;
15
15
  style?: ViewStyle;
16
16
  }
17
- declare function AvatarBase({ src, fallback, fallbackText, size, status, style }: AvatarProps): React.JSX.Element;
18
- declare const Avatar: React.MemoExoticComponent<typeof AvatarBase>;
17
+ declare function AvatarBase({ src, fallback, fallbackText, size, status, style }: AvatarProps): React__default.JSX.Element;
18
+ declare const Avatar: React__default.MemoExoticComponent<typeof AvatarBase>;
19
19
  interface AvatarGroupProps {
20
20
  users: {
21
21
  name: string;
@@ -31,6 +31,6 @@ interface AvatarGroupProps {
31
31
  onOverflowPress?: () => void;
32
32
  style?: ViewStyle;
33
33
  }
34
- declare function AvatarGroup({ users, max, size, overlap, onOverflowPress, style, }: AvatarGroupProps): React.JSX.Element;
34
+ declare function AvatarGroup({ users, max, size, overlap, onOverflowPress, style, }: AvatarGroupProps): React__default.JSX.Element;
35
35
 
36
36
  export { Avatar, AvatarGroup, type AvatarGroupProps, type AvatarProps, type AvatarSize };
package/dist/Avatar.mjs CHANGED
@@ -1,3 +1,3 @@
1
- export { Avatar, AvatarGroup } from './chunk-IGU223UM.mjs';
2
- import './chunk-KSSVIFYR.mjs';
1
+ export { Avatar, AvatarGroup } from './chunk-SWUZKVYO.mjs';
2
+ import './chunk-ZQGCQ7SA.mjs';
3
3
  import './chunk-2CE3TQVY.mjs';
package/dist/Badge.d.mts CHANGED
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import React__default from 'react';
2
2
  import { ViewStyle } from 'react-native';
3
3
 
4
4
  type BadgeVariant = 'default' | 'secondary' | 'destructive' | 'outline' | 'success' | 'warning' | 'successOutline' | 'destructiveOutline' | 'warningOutline';
@@ -6,11 +6,11 @@ type BadgeSize = 'sm' | 'md' | 'lg';
6
6
  interface BadgeProps {
7
7
  label?: string;
8
8
  /** Alternative to \`label\` — allows JSX children. */
9
- children?: React.ReactNode;
9
+ children?: React__default.ReactNode;
10
10
  variant?: BadgeVariant;
11
11
  size?: BadgeSize;
12
12
  /** Icon rendered before the label/children. */
13
- icon?: React.ReactNode;
13
+ icon?: React__default.ReactNode;
14
14
  /**
15
15
  * Icon name from `@expo/vector-icons` rendered before the label.
16
16
  * See https://icons.expo.fyi. Takes precedence over `icon`.
@@ -20,7 +20,7 @@ interface BadgeProps {
20
20
  iconColor?: string;
21
21
  style?: ViewStyle;
22
22
  }
23
- declare function BadgeBase({ label, children, variant, size, icon, iconName, iconColor, style }: BadgeProps): React.JSX.Element;
24
- declare const Badge: React.MemoExoticComponent<typeof BadgeBase>;
23
+ declare function BadgeBase({ label, children, variant, size, icon, iconName, iconColor, style }: BadgeProps): React__default.JSX.Element;
24
+ declare const Badge: React__default.MemoExoticComponent<typeof BadgeBase>;
25
25
 
26
26
  export { Badge, type BadgeProps, type BadgeVariant };
package/dist/Badge.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import React__default from 'react';
2
2
  import { ViewStyle } from 'react-native';
3
3
 
4
4
  type BadgeVariant = 'default' | 'secondary' | 'destructive' | 'outline' | 'success' | 'warning' | 'successOutline' | 'destructiveOutline' | 'warningOutline';
@@ -6,11 +6,11 @@ type BadgeSize = 'sm' | 'md' | 'lg';
6
6
  interface BadgeProps {
7
7
  label?: string;
8
8
  /** Alternative to \`label\` — allows JSX children. */
9
- children?: React.ReactNode;
9
+ children?: React__default.ReactNode;
10
10
  variant?: BadgeVariant;
11
11
  size?: BadgeSize;
12
12
  /** Icon rendered before the label/children. */
13
- icon?: React.ReactNode;
13
+ icon?: React__default.ReactNode;
14
14
  /**
15
15
  * Icon name from `@expo/vector-icons` rendered before the label.
16
16
  * See https://icons.expo.fyi. Takes precedence over `icon`.
@@ -20,7 +20,7 @@ interface BadgeProps {
20
20
  iconColor?: string;
21
21
  style?: ViewStyle;
22
22
  }
23
- declare function BadgeBase({ label, children, variant, size, icon, iconName, iconColor, style }: BadgeProps): React.JSX.Element;
24
- declare const Badge: React.MemoExoticComponent<typeof BadgeBase>;
23
+ declare function BadgeBase({ label, children, variant, size, icon, iconName, iconColor, style }: BadgeProps): React__default.JSX.Element;
24
+ declare const Badge: React__default.MemoExoticComponent<typeof BadgeBase>;
25
25
 
26
26
  export { Badge, type BadgeProps, type BadgeVariant };
package/dist/Badge.js CHANGED
@@ -41,23 +41,17 @@ var ALL_FAMILIES = [
41
41
  { name: "MaterialIcons", component: MaterialIcons__default.default },
42
42
  { name: "Ionicons", component: Ionicons__default.default }
43
43
  ];
44
- var glyphCacheInitialized = false;
45
- function ensureGlyphCache() {
46
- if (glyphCacheInitialized) return;
47
- glyphCacheInitialized = true;
48
- for (const entry of ALL_FAMILIES) {
49
- try {
50
- entry.glyphMap = entry.component.glyphMap;
51
- } catch {
52
- entry.glyphMap = {};
53
- }
44
+ function getGlyphMap(component) {
45
+ try {
46
+ return component.glyphMap ?? {};
47
+ } catch {
48
+ return {};
54
49
  }
55
50
  }
56
51
  function Icon({ name, size, color, family }) {
57
- ensureGlyphCache();
58
52
  const entry = family ? ALL_FAMILIES.find((f) => f.name === family) : ALL_FAMILIES.find((f) => {
59
- const glyphMap = f.glyphMap;
60
- return glyphMap ? name in glyphMap : false;
53
+ const glyphMap = getGlyphMap(f.component);
54
+ return name in glyphMap;
61
55
  });
62
56
  if (!entry) return null;
63
57
  return React3__default.default.createElement(entry.component, { name, size, color });
package/dist/Badge.mjs CHANGED
@@ -1,4 +1,4 @@
1
- export { Badge } from './chunk-AZV7KNJI.mjs';
2
- import './chunk-MZ6WRTD2.mjs';
3
- import './chunk-KSSVIFYR.mjs';
1
+ export { Badge } from './chunk-YKWIMVGU.mjs';
2
+ import './chunk-24JTXQ2M.mjs';
3
+ import './chunk-ZQGCQ7SA.mjs';
4
4
  import './chunk-2CE3TQVY.mjs';
package/dist/Button.d.mts CHANGED
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import React__default from 'react';
2
2
  import { ViewStyle } from 'react-native';
3
3
 
4
4
  type ButtonVariant = 'primary' | 'secondary' | 'text' | 'destructive';
@@ -9,12 +9,12 @@ interface ButtonProps {
9
9
  size?: ButtonSize;
10
10
  loading?: boolean;
11
11
  fullWidth?: boolean;
12
- icon?: React.ReactNode | ((props: {
12
+ icon?: React__default.ReactNode | ((props: {
13
13
  label: string;
14
14
  size: ButtonSize;
15
15
  variant: ButtonVariant;
16
16
  color: string;
17
- }) => React.ReactNode);
17
+ }) => React__default.ReactNode);
18
18
  iconName?: string;
19
19
  iconColor?: string;
20
20
  iconPosition?: 'left' | 'right';
@@ -24,7 +24,7 @@ interface ButtonProps {
24
24
  accessibilityLabel?: string;
25
25
  accessibilityHint?: string;
26
26
  }
27
- declare function ButtonBase({ label, variant, size, loading, fullWidth, icon, iconName, iconColor, iconPosition, disabled, style, onPress, accessibilityLabel, accessibilityHint, }: ButtonProps): React.JSX.Element;
28
- declare const Button: React.MemoExoticComponent<typeof ButtonBase>;
27
+ declare function ButtonBase({ label, variant, size, loading, fullWidth, icon, iconName, iconColor, iconPosition, disabled, style, onPress, accessibilityLabel, accessibilityHint, }: ButtonProps): React__default.JSX.Element;
28
+ declare const Button: React__default.MemoExoticComponent<typeof ButtonBase>;
29
29
 
30
30
  export { Button, type ButtonProps, type ButtonSize, type ButtonVariant };
package/dist/Button.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import React__default from 'react';
2
2
  import { ViewStyle } from 'react-native';
3
3
 
4
4
  type ButtonVariant = 'primary' | 'secondary' | 'text' | 'destructive';
@@ -9,12 +9,12 @@ interface ButtonProps {
9
9
  size?: ButtonSize;
10
10
  loading?: boolean;
11
11
  fullWidth?: boolean;
12
- icon?: React.ReactNode | ((props: {
12
+ icon?: React__default.ReactNode | ((props: {
13
13
  label: string;
14
14
  size: ButtonSize;
15
15
  variant: ButtonVariant;
16
16
  color: string;
17
- }) => React.ReactNode);
17
+ }) => React__default.ReactNode);
18
18
  iconName?: string;
19
19
  iconColor?: string;
20
20
  iconPosition?: 'left' | 'right';
@@ -24,7 +24,7 @@ interface ButtonProps {
24
24
  accessibilityLabel?: string;
25
25
  accessibilityHint?: string;
26
26
  }
27
- declare function ButtonBase({ label, variant, size, loading, fullWidth, icon, iconName, iconColor, iconPosition, disabled, style, onPress, accessibilityLabel, accessibilityHint, }: ButtonProps): React.JSX.Element;
28
- declare const Button: React.MemoExoticComponent<typeof ButtonBase>;
27
+ declare function ButtonBase({ label, variant, size, loading, fullWidth, icon, iconName, iconColor, iconPosition, disabled, style, onPress, accessibilityLabel, accessibilityHint, }: ButtonProps): React__default.JSX.Element;
28
+ declare const Button: React__default.MemoExoticComponent<typeof ButtonBase>;
29
29
 
30
30
  export { Button, type ButtonProps, type ButtonSize, type ButtonVariant };
package/dist/Button.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/Button/Button.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 impactMedium() {
41
- getHaptics().then((h) => h?.impactAsync(h.ImpactFeedbackStyle.Medium));
50
+ maybeHaptics()?.impactAsync(Haptics__namespace.ImpactFeedbackStyle.Medium);
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 });
@@ -100,8 +103,7 @@ var TYPOGRAPHY = {
100
103
  fontWeight: "500",
101
104
  lineHeight: 18,
102
105
  letterSpacing: 0
103
- }
104
- };
106
+ }};
105
107
  var makePressable = (scale2) => pressto.createAnimatedPressable((progress) => {
106
108
  "worklet";
107
109
  return { transform: [{ scale: 1 - (1 - scale2) * progress }] };
package/dist/Button.mjs CHANGED
@@ -1,8 +1,8 @@
1
- export { Button } from './chunk-Y6YS33GM.mjs';
1
+ export { Button } from './chunk-AHFEAY6M.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';
@@ -1,8 +1,8 @@
1
- import React from 'react';
1
+ import React__default from 'react';
2
2
  import { ViewStyle } from 'react-native';
3
3
 
4
4
  interface ButtonGroupProps {
5
- children: React.ReactNode;
5
+ children: React__default.ReactNode;
6
6
  /** Spacing between buttons. Defaults to 12px. */
7
7
  gap?: number;
8
8
  /** Stack buttons vertically instead of horizontally. */
@@ -21,6 +21,6 @@ interface ButtonGroupProps {
21
21
  * </ButtonGroup>
22
22
  * ```
23
23
  */
24
- declare function ButtonGroup({ children, gap, vertical, style }: ButtonGroupProps): React.JSX.Element;
24
+ declare function ButtonGroup({ children, gap, vertical, style }: ButtonGroupProps): React__default.JSX.Element;
25
25
 
26
26
  export { ButtonGroup, type ButtonGroupProps };
@@ -1,8 +1,8 @@
1
- import React from 'react';
1
+ import React__default from 'react';
2
2
  import { ViewStyle } from 'react-native';
3
3
 
4
4
  interface ButtonGroupProps {
5
- children: React.ReactNode;
5
+ children: React__default.ReactNode;
6
6
  /** Spacing between buttons. Defaults to 12px. */
7
7
  gap?: number;
8
8
  /** Stack buttons vertically instead of horizontally. */
@@ -21,6 +21,6 @@ interface ButtonGroupProps {
21
21
  * </ButtonGroup>
22
22
  * ```
23
23
  */
24
- declare function ButtonGroup({ children, gap, vertical, style }: ButtonGroupProps): React.JSX.Element;
24
+ declare function ButtonGroup({ children, gap, vertical, style }: ButtonGroupProps): React__default.JSX.Element;
25
25
 
26
26
  export { ButtonGroup, type ButtonGroupProps };
package/dist/Card.d.mts CHANGED
@@ -1,39 +1,39 @@
1
- import React from 'react';
1
+ import React__default from 'react';
2
2
  import { ViewStyle, TextStyle } from 'react-native';
3
3
 
4
4
  type CardVariant = 'elevated' | 'outlined' | 'filled';
5
5
  interface CardProps {
6
- children: React.ReactNode;
6
+ children: React__default.ReactNode;
7
7
  variant?: CardVariant;
8
8
  onPress?: () => void;
9
9
  style?: ViewStyle;
10
10
  accessibilityLabel?: string;
11
11
  }
12
12
  interface CardHeaderProps {
13
- children: React.ReactNode;
13
+ children: React__default.ReactNode;
14
14
  style?: ViewStyle;
15
15
  }
16
16
  interface CardTitleProps {
17
- children: React.ReactNode;
17
+ children: React__default.ReactNode;
18
18
  style?: TextStyle;
19
19
  }
20
20
  interface CardDescriptionProps {
21
- children: React.ReactNode;
21
+ children: React__default.ReactNode;
22
22
  style?: TextStyle;
23
23
  }
24
24
  interface CardContentProps {
25
- children: React.ReactNode;
25
+ children: React__default.ReactNode;
26
26
  style?: ViewStyle;
27
27
  }
28
28
  interface CardFooterProps {
29
- children: React.ReactNode;
29
+ children: React__default.ReactNode;
30
30
  style?: ViewStyle;
31
31
  }
32
- declare function Card({ children, variant, onPress, style, accessibilityLabel }: CardProps): React.JSX.Element;
33
- declare function CardHeader({ children, style }: CardHeaderProps): React.JSX.Element;
34
- declare function CardTitle({ children, style }: CardTitleProps): React.JSX.Element;
35
- declare function CardDescription({ children, style }: CardDescriptionProps): React.JSX.Element;
36
- declare function CardContent({ children, style }: CardContentProps): React.JSX.Element;
37
- declare function CardFooter({ children, style }: CardFooterProps): React.JSX.Element;
32
+ declare function Card({ children, variant, onPress, style, accessibilityLabel }: CardProps): React__default.JSX.Element;
33
+ declare function CardHeader({ children, style }: CardHeaderProps): React__default.JSX.Element;
34
+ declare function CardTitle({ children, style }: CardTitleProps): React__default.JSX.Element;
35
+ declare function CardDescription({ children, style }: CardDescriptionProps): React__default.JSX.Element;
36
+ declare function CardContent({ children, style }: CardContentProps): React__default.JSX.Element;
37
+ declare function CardFooter({ children, style }: CardFooterProps): React__default.JSX.Element;
38
38
 
39
39
  export { Card, CardContent, type CardContentProps, CardDescription, type CardDescriptionProps, CardFooter, type CardFooterProps, CardHeader, type CardHeaderProps, type CardProps, CardTitle, type CardTitleProps };