@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
@@ -8,7 +8,7 @@ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
8
8
 
9
9
  var React2__default = /*#__PURE__*/_interopDefault(React2);
10
10
 
11
- // src/components/ListGroup/ListGroup.tsx
11
+ // src/components/ItemGroup/ItemGroup.tsx
12
12
  var ThemeContext = React2.createContext(void 0);
13
13
  function useTheme() {
14
14
  const context = React2.useContext(ThemeContext);
@@ -25,17 +25,17 @@ var vs = isWeb ? (n) => n : reactNativeSizeMatters.verticalScale;
25
25
  var RADIUS = {
26
26
  md: 14};
27
27
 
28
- // src/components/ListGroup/ListGroup.tsx
29
- function ListGroup({ children, variant = "plain", style }) {
28
+ // src/components/ItemGroup/ItemGroup.tsx
29
+ function ItemGroup({ children, variant = "plain", childPropKey, style }) {
30
30
  const { colors } = useTheme();
31
31
  const processedChildren = React2__default.default.Children.map(children, (child, index) => {
32
32
  if (!React2__default.default.isValidElement(child)) return child;
33
- if (child.type === ListGroupHeader || child.type === ListGroupFooter) {
33
+ if (child.type === ItemGroupHeader || child.type === ItemGroupFooter) {
34
34
  return child;
35
35
  }
36
36
  const childProps = child.props;
37
- const isListItem = "title" in childProps;
38
- if (!isListItem) return child;
37
+ const isTargetChild = childPropKey in childProps;
38
+ if (!isTargetChild) return child;
39
39
  const isLast = index === React2__default.default.Children.count(children) - 1;
40
40
  if (childProps["showSeparator"] === void 0 && !isLast) {
41
41
  return React2__default.default.cloneElement(child, {
@@ -58,22 +58,20 @@ function ListGroup({ children, variant = "plain", style }) {
58
58
  } : {};
59
59
  return /* @__PURE__ */ React2__default.default.createElement(reactNative.View, { style: [styles.container, cardStyle, style] }, processedChildren);
60
60
  }
61
- function ListGroupHeader({ children, style }) {
61
+ function ItemGroupHeader({ children, style }) {
62
62
  const { colors } = useTheme();
63
63
  if (typeof children === "string") {
64
64
  return /* @__PURE__ */ React2__default.default.createElement(reactNative.View, { style: [styles.header, { borderBottomColor: colors.separator }, style] }, /* @__PURE__ */ React2__default.default.createElement(reactNative.Text, { style: [styles.headerText, { color: colors.foregroundMuted }], allowFontScaling: true }, children));
65
65
  }
66
66
  return /* @__PURE__ */ React2__default.default.createElement(reactNative.View, { style: [styles.header, { borderBottomColor: colors.separator }, style] }, children);
67
67
  }
68
- function ListGroupFooter({ children, style }) {
68
+ function ItemGroupFooter({ children, style }) {
69
69
  const { colors } = useTheme();
70
70
  if (typeof children === "string") {
71
71
  return /* @__PURE__ */ React2__default.default.createElement(reactNative.View, { style: [styles.footer, style] }, /* @__PURE__ */ React2__default.default.createElement(reactNative.Text, { style: [styles.footerText, { color: colors.foregroundMuted }], allowFontScaling: true }, children));
72
72
  }
73
73
  return /* @__PURE__ */ React2__default.default.createElement(reactNative.View, { style: [styles.footer, style] }, children);
74
74
  }
75
- ListGroup.Header = ListGroupHeader;
76
- ListGroup.Footer = ListGroupFooter;
77
75
  var styles = reactNative.StyleSheet.create({
78
76
  container: {
79
77
  overflow: "hidden"
@@ -101,6 +99,6 @@ var styles = reactNative.StyleSheet.create({
101
99
  }
102
100
  });
103
101
 
104
- exports.ListGroup = ListGroup;
105
- exports.ListGroupFooter = ListGroupFooter;
106
- exports.ListGroupHeader = ListGroupHeader;
102
+ exports.ItemGroup = ItemGroup;
103
+ exports.ItemGroupFooter = ItemGroupFooter;
104
+ exports.ItemGroupHeader = ItemGroupHeader;
@@ -0,0 +1,4 @@
1
+ export { ItemGroup, ItemGroupFooter, ItemGroupHeader } from './chunk-2DDJ53DK.mjs';
2
+ import './chunk-DYYPDQA2.mjs';
3
+ import './chunk-ZQGCQ7SA.mjs';
4
+ import './chunk-2CE3TQVY.mjs';
@@ -1,16 +1,16 @@
1
- import React from 'react';
1
+ import React__default from 'react';
2
2
  import { ViewStyle } from 'react-native';
3
3
 
4
4
  interface LabelValueProps {
5
5
  label: string;
6
- value: string | React.ReactNode;
6
+ value: string | React__default.ReactNode;
7
7
  /** Icon name from @expo/vector-icons rendered left of label. */
8
8
  iconName?: string;
9
9
  /** Override icon color. Defaults to foregroundMuted. */
10
10
  iconColor?: string;
11
11
  style?: ViewStyle;
12
12
  }
13
- declare function LabelValueBase({ label, value, iconName, iconColor, style }: LabelValueProps): React.JSX.Element;
14
- declare const LabelValue: React.MemoExoticComponent<typeof LabelValueBase>;
13
+ declare function LabelValueBase({ label, value, iconName, iconColor, style }: LabelValueProps): React__default.JSX.Element;
14
+ declare const LabelValue: React__default.MemoExoticComponent<typeof LabelValueBase>;
15
15
 
16
16
  export { LabelValue, type LabelValueProps };
@@ -1,16 +1,16 @@
1
- import React from 'react';
1
+ import React__default from 'react';
2
2
  import { ViewStyle } from 'react-native';
3
3
 
4
4
  interface LabelValueProps {
5
5
  label: string;
6
- value: string | React.ReactNode;
6
+ value: string | React__default.ReactNode;
7
7
  /** Icon name from @expo/vector-icons rendered left of label. */
8
8
  iconName?: string;
9
9
  /** Override icon color. Defaults to foregroundMuted. */
10
10
  iconColor?: string;
11
11
  style?: ViewStyle;
12
12
  }
13
- declare function LabelValueBase({ label, value, iconName, iconColor, style }: LabelValueProps): React.JSX.Element;
14
- declare const LabelValue: React.MemoExoticComponent<typeof LabelValueBase>;
13
+ declare function LabelValueBase({ label, value, iconName, iconColor, style }: LabelValueProps): React__default.JSX.Element;
14
+ declare const LabelValue: React__default.MemoExoticComponent<typeof LabelValueBase>;
15
15
 
16
16
  export { LabelValue, type LabelValueProps };
@@ -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 });
@@ -1,4 +1,4 @@
1
- export { LabelValue } from './chunk-DE25XTVQ.mjs';
2
- import './chunk-MZ6WRTD2.mjs';
3
- import './chunk-KSSVIFYR.mjs';
1
+ export { LabelValue } from './chunk-3VHFOSZR.mjs';
2
+ import './chunk-24JTXQ2M.mjs';
3
+ import './chunk-ZQGCQ7SA.mjs';
4
4
  import './chunk-2CE3TQVY.mjs';
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import React__default from 'react';
2
2
  import { ImageSourcePropType, ViewStyle, TextStyle } from 'react-native';
3
3
 
4
4
  type ListItemVariant = 'plain' | 'card';
@@ -12,16 +12,16 @@ interface ListItemProps {
12
12
  * Arbitrary content rendered on the left (avatar, icon, image, etc.).
13
13
  * Rendered inside a 44×44 aligned container.
14
14
  */
15
- leftRender?: React.ReactNode;
15
+ leftRender?: React__default.ReactNode;
16
16
  /**
17
17
  * Arbitrary content rendered on the right (badge, price, chevron, switch, etc.).
18
18
  */
19
- rightRender?: React.ReactNode | string;
19
+ rightRender?: React__default.ReactNode | string;
20
20
  /**
21
21
  * Multiple action buttons rendered on the right with automatic gap.
22
22
  * Takes precedence over `rightRender` and `showChevron`.
23
23
  */
24
- rightActions?: React.ReactNode[];
24
+ rightActions?: React__default.ReactNode[];
25
25
  /**
26
26
  * Icon name from `@expo/vector-icons` rendered in the left slot.
27
27
  * See https://icons.expo.fyi. Takes precedence over `leftRender`.
@@ -66,7 +66,7 @@ interface ListItemProps {
66
66
  accessibilityLabel?: string;
67
67
  accessibilityHint?: string;
68
68
  }
69
- declare function ListItemBase({ imageSource, leftRender, rightRender, rightActions, leftIcon, rightIcon, leftIconColor, rightIconColor, title, subtitle, caption, variant, showChevron, showSeparator, onPress, disabled, style, titleStyle, subtitleStyle, subtitleNumberOfLines, captionStyle, accessibilityLabel, accessibilityHint, }: ListItemProps): React.JSX.Element;
70
- declare const ListItem: React.MemoExoticComponent<typeof ListItemBase>;
69
+ declare function ListItemBase({ imageSource, leftRender, rightRender, rightActions, leftIcon, rightIcon, leftIconColor, rightIconColor, title, subtitle, caption, variant, showChevron, showSeparator, onPress, disabled, style, titleStyle, subtitleStyle, subtitleNumberOfLines, captionStyle, accessibilityLabel, accessibilityHint, }: ListItemProps): React__default.JSX.Element;
70
+ declare const ListItem: React__default.MemoExoticComponent<typeof ListItemBase>;
71
71
 
72
72
  export { ListItem, type ListItemProps };
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import React__default from 'react';
2
2
  import { ImageSourcePropType, ViewStyle, TextStyle } from 'react-native';
3
3
 
4
4
  type ListItemVariant = 'plain' | 'card';
@@ -12,16 +12,16 @@ interface ListItemProps {
12
12
  * Arbitrary content rendered on the left (avatar, icon, image, etc.).
13
13
  * Rendered inside a 44×44 aligned container.
14
14
  */
15
- leftRender?: React.ReactNode;
15
+ leftRender?: React__default.ReactNode;
16
16
  /**
17
17
  * Arbitrary content rendered on the right (badge, price, chevron, switch, etc.).
18
18
  */
19
- rightRender?: React.ReactNode | string;
19
+ rightRender?: React__default.ReactNode | string;
20
20
  /**
21
21
  * Multiple action buttons rendered on the right with automatic gap.
22
22
  * Takes precedence over `rightRender` and `showChevron`.
23
23
  */
24
- rightActions?: React.ReactNode[];
24
+ rightActions?: React__default.ReactNode[];
25
25
  /**
26
26
  * Icon name from `@expo/vector-icons` rendered in the left slot.
27
27
  * See https://icons.expo.fyi. Takes precedence over `leftRender`.
@@ -66,7 +66,7 @@ interface ListItemProps {
66
66
  accessibilityLabel?: string;
67
67
  accessibilityHint?: string;
68
68
  }
69
- declare function ListItemBase({ imageSource, leftRender, rightRender, rightActions, leftIcon, rightIcon, leftIconColor, rightIconColor, title, subtitle, caption, variant, showChevron, showSeparator, onPress, disabled, style, titleStyle, subtitleStyle, subtitleNumberOfLines, captionStyle, accessibilityLabel, accessibilityHint, }: ListItemProps): React.JSX.Element;
70
- declare const ListItem: React.MemoExoticComponent<typeof ListItemBase>;
69
+ declare function ListItemBase({ imageSource, leftRender, rightRender, rightActions, leftIcon, rightIcon, leftIconColor, rightIconColor, title, subtitle, caption, variant, showChevron, showSeparator, onPress, disabled, style, titleStyle, subtitleStyle, subtitleNumberOfLines, captionStyle, accessibilityLabel, accessibilityHint, }: ListItemProps): React__default.JSX.Element;
70
+ declare const ListItem: React__default.MemoExoticComponent<typeof ListItemBase>;
71
71
 
72
72
  export { ListItem, type ListItemProps };
package/dist/ListItem.js CHANGED
@@ -4,6 +4,7 @@ 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 AntDesign = require('@expo/vector-icons/AntDesign');
9
10
  var Entypo = require('@expo/vector-icons/Entypo');
@@ -15,7 +16,26 @@ var pressto = require('pressto');
15
16
 
16
17
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
17
18
 
19
+ function _interopNamespace(e) {
20
+ if (e && e.__esModule) return e;
21
+ var n = Object.create(null);
22
+ if (e) {
23
+ Object.keys(e).forEach(function (k) {
24
+ if (k !== 'default') {
25
+ var d = Object.getOwnPropertyDescriptor(e, k);
26
+ Object.defineProperty(n, k, d.get ? d : {
27
+ enumerable: true,
28
+ get: function () { return e[k]; }
29
+ });
30
+ }
31
+ });
32
+ }
33
+ n.default = e;
34
+ return Object.freeze(n);
35
+ }
36
+
18
37
  var React3__default = /*#__PURE__*/_interopDefault(React3);
38
+ var Haptics__namespace = /*#__PURE__*/_interopNamespace(Haptics);
19
39
  var AntDesign__default = /*#__PURE__*/_interopDefault(AntDesign);
20
40
  var Entypo__default = /*#__PURE__*/_interopDefault(Entypo);
21
41
  var Feather__default = /*#__PURE__*/_interopDefault(Feather);
@@ -24,22 +44,11 @@ var MaterialIcons__default = /*#__PURE__*/_interopDefault(MaterialIcons);
24
44
  var Ionicons__default = /*#__PURE__*/_interopDefault(Ionicons);
25
45
 
26
46
  // src/components/ListItem/ListItem.tsx
27
- var _haptics = null;
28
- var _loaded = false;
29
- async function getHaptics() {
30
- if (reactNative.Platform.OS === "web") return null;
31
- if (!_loaded) {
32
- _loaded = true;
33
- try {
34
- _haptics = await import('expo-haptics');
35
- } catch {
36
- _haptics = null;
37
- }
38
- }
39
- return _haptics;
47
+ function maybeHaptics() {
48
+ return reactNative.Platform.OS === "web" ? null : Haptics__namespace;
40
49
  }
41
50
  function selectionAsync() {
42
- getHaptics().then((h) => h?.selectionAsync());
51
+ maybeHaptics()?.selectionAsync();
43
52
  }
44
53
  var ThemeContext = React3.createContext(void 0);
45
54
  function useTheme() {
@@ -62,23 +71,17 @@ var ALL_FAMILIES = [
62
71
  { name: "MaterialIcons", component: MaterialIcons__default.default },
63
72
  { name: "Ionicons", component: Ionicons__default.default }
64
73
  ];
65
- var glyphCacheInitialized = false;
66
- function ensureGlyphCache() {
67
- if (glyphCacheInitialized) return;
68
- glyphCacheInitialized = true;
69
- for (const entry of ALL_FAMILIES) {
70
- try {
71
- entry.glyphMap = entry.component.glyphMap;
72
- } catch {
73
- entry.glyphMap = {};
74
- }
74
+ function getGlyphMap(component) {
75
+ try {
76
+ return component.glyphMap ?? {};
77
+ } catch {
78
+ return {};
75
79
  }
76
80
  }
77
81
  function Icon({ name, size, color, family }) {
78
- ensureGlyphCache();
79
82
  const entry = family ? ALL_FAMILIES.find((f) => f.name === family) : ALL_FAMILIES.find((f) => {
80
- const glyphMap = f.glyphMap;
81
- return glyphMap ? name in glyphMap : false;
83
+ const glyphMap = getGlyphMap(f.component);
84
+ return name in glyphMap;
82
85
  });
83
86
  if (!entry) return null;
84
87
  return React3__default.default.createElement(entry.component, { name, size, color });
package/dist/ListItem.mjs CHANGED
@@ -1,7 +1,7 @@
1
- export { ListItem } from './chunk-CZN6L2QU.mjs';
1
+ export { ListItem } from './chunk-6T2DVIQT.mjs';
2
2
  import './chunk-IFYMBOEN.mjs';
3
- import './chunk-ARONDO7M.mjs';
4
- import './chunk-QY3X2UYR.mjs';
5
- import './chunk-MZ6WRTD2.mjs';
6
- import './chunk-KSSVIFYR.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';
@@ -1,12 +1,12 @@
1
- import React from 'react';
1
+ import React__default from 'react';
2
2
  import { ImageSourcePropType, ViewStyle } from 'react-native';
3
3
 
4
4
  type MediaCardAspectRatio = '1:1' | '4:3' | '16:9' | '4:5' | '3:2';
5
5
  interface MediaCardProps {
6
6
  imageSource?: ImageSourcePropType;
7
7
  aspectRatio?: MediaCardAspectRatio;
8
- badge?: React.ReactNode;
9
- actionIcon?: React.ReactNode;
8
+ badge?: React__default.ReactNode;
9
+ actionIcon?: React__default.ReactNode;
10
10
  actionIconName?: string;
11
11
  actionActive?: boolean;
12
12
  onActionPress?: () => void;
@@ -16,10 +16,10 @@ interface MediaCardProps {
16
16
  onPress?: () => void;
17
17
  style?: ViewStyle;
18
18
  imageStyle?: ViewStyle;
19
- footer?: React.ReactNode;
19
+ footer?: React__default.ReactNode;
20
20
  accessibilityLabel?: string;
21
21
  }
22
- declare function MediaCardBase({ imageSource, aspectRatio, badge, actionIcon, actionIconName, actionActive, onActionPress, title, subtitle, caption, onPress, style, imageStyle, footer, accessibilityLabel, }: MediaCardProps): React.JSX.Element;
23
- declare const MediaCard: React.MemoExoticComponent<typeof MediaCardBase>;
22
+ declare function MediaCardBase({ imageSource, aspectRatio, badge, actionIcon, actionIconName, actionActive, onActionPress, title, subtitle, caption, onPress, style, imageStyle, footer, accessibilityLabel, }: MediaCardProps): React__default.JSX.Element;
23
+ declare const MediaCard: React__default.MemoExoticComponent<typeof MediaCardBase>;
24
24
 
25
25
  export { MediaCard, type MediaCardAspectRatio, type MediaCardProps };
@@ -1,12 +1,12 @@
1
- import React from 'react';
1
+ import React__default from 'react';
2
2
  import { ImageSourcePropType, ViewStyle } from 'react-native';
3
3
 
4
4
  type MediaCardAspectRatio = '1:1' | '4:3' | '16:9' | '4:5' | '3:2';
5
5
  interface MediaCardProps {
6
6
  imageSource?: ImageSourcePropType;
7
7
  aspectRatio?: MediaCardAspectRatio;
8
- badge?: React.ReactNode;
9
- actionIcon?: React.ReactNode;
8
+ badge?: React__default.ReactNode;
9
+ actionIcon?: React__default.ReactNode;
10
10
  actionIconName?: string;
11
11
  actionActive?: boolean;
12
12
  onActionPress?: () => void;
@@ -16,10 +16,10 @@ interface MediaCardProps {
16
16
  onPress?: () => void;
17
17
  style?: ViewStyle;
18
18
  imageStyle?: ViewStyle;
19
- footer?: React.ReactNode;
19
+ footer?: React__default.ReactNode;
20
20
  accessibilityLabel?: string;
21
21
  }
22
- declare function MediaCardBase({ imageSource, aspectRatio, badge, actionIcon, actionIconName, actionActive, onActionPress, title, subtitle, caption, onPress, style, imageStyle, footer, accessibilityLabel, }: MediaCardProps): React.JSX.Element;
23
- declare const MediaCard: React.MemoExoticComponent<typeof MediaCardBase>;
22
+ declare function MediaCardBase({ imageSource, aspectRatio, badge, actionIcon, actionIconName, actionActive, onActionPress, title, subtitle, caption, onPress, style, imageStyle, footer, accessibilityLabel, }: MediaCardProps): React__default.JSX.Element;
23
+ declare const MediaCard: React__default.MemoExoticComponent<typeof MediaCardBase>;
24
24
 
25
25
  export { MediaCard, type MediaCardAspectRatio, type MediaCardProps };
package/dist/MediaCard.js CHANGED
@@ -3,6 +3,7 @@
3
3
  var React3 = require('react');
4
4
  var expoImage = require('expo-image');
5
5
  var reactNative = require('react-native');
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/MediaCard/MediaCard.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 impactLight() {
41
- getHaptics().then((h) => h?.impactAsync(h.ImpactFeedbackStyle.Light));
50
+ maybeHaptics()?.impactAsync(Haptics__namespace.ImpactFeedbackStyle.Light);
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 });
@@ -1,7 +1,7 @@
1
- export { MediaCard } from './chunk-CM2DG4MR.mjs';
1
+ export { MediaCard } from './chunk-MSS3CD6F.mjs';
2
2
  import './chunk-IFYMBOEN.mjs';
3
- import './chunk-ARONDO7M.mjs';
4
- import './chunk-QY3X2UYR.mjs';
5
- import './chunk-MZ6WRTD2.mjs';
6
- import './chunk-KSSVIFYR.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';
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import React__default from 'react';
2
2
  import { ViewStyle, TextStyle } from 'react-native';
3
3
 
4
4
  type MenuItemVariant = 'plain' | 'card';
@@ -12,7 +12,7 @@ interface MenuItemProps {
12
12
  */
13
13
  iconName?: string;
14
14
  /** Custom icon node rendered on the left. */
15
- icon?: React.ReactNode;
15
+ icon?: React__default.ReactNode;
16
16
  /** Override icon color. Defaults to `foreground`. */
17
17
  iconColor?: string;
18
18
  /**
@@ -20,7 +20,7 @@ interface MenuItemProps {
20
20
  * When provided, replaces the default chevron.
21
21
  * Use for checkboxes, switches, badges, or other controls.
22
22
  */
23
- rightRender?: React.ReactNode;
23
+ rightRender?: React__default.ReactNode;
24
24
  /**
25
25
  * Show chevron on the right. Defaults to `true`.
26
26
  * Ignored when `rightRender` is provided.
@@ -43,7 +43,7 @@ interface MenuItemProps {
43
43
  accessibilityLabel?: string;
44
44
  accessibilityHint?: string;
45
45
  }
46
- declare function MenuItemBase({ label, subtitle, iconName, icon, iconColor, rightRender, showChevron, onPress, disabled, variant, showSeparator, style, labelStyle, accessibilityLabel, accessibilityHint, }: MenuItemProps): React.JSX.Element;
47
- declare const MenuItem: React.MemoExoticComponent<typeof MenuItemBase>;
46
+ declare function MenuItemBase({ label, subtitle, iconName, icon, iconColor, rightRender, showChevron, onPress, disabled, variant, showSeparator, style, labelStyle, accessibilityLabel, accessibilityHint, }: MenuItemProps): React__default.JSX.Element;
47
+ declare const MenuItem: React__default.MemoExoticComponent<typeof MenuItemBase>;
48
48
 
49
49
  export { MenuItem, type MenuItemProps, type MenuItemVariant };
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import React__default from 'react';
2
2
  import { ViewStyle, TextStyle } from 'react-native';
3
3
 
4
4
  type MenuItemVariant = 'plain' | 'card';
@@ -12,7 +12,7 @@ interface MenuItemProps {
12
12
  */
13
13
  iconName?: string;
14
14
  /** Custom icon node rendered on the left. */
15
- icon?: React.ReactNode;
15
+ icon?: React__default.ReactNode;
16
16
  /** Override icon color. Defaults to `foreground`. */
17
17
  iconColor?: string;
18
18
  /**
@@ -20,7 +20,7 @@ interface MenuItemProps {
20
20
  * When provided, replaces the default chevron.
21
21
  * Use for checkboxes, switches, badges, or other controls.
22
22
  */
23
- rightRender?: React.ReactNode;
23
+ rightRender?: React__default.ReactNode;
24
24
  /**
25
25
  * Show chevron on the right. Defaults to `true`.
26
26
  * Ignored when `rightRender` is provided.
@@ -43,7 +43,7 @@ interface MenuItemProps {
43
43
  accessibilityLabel?: string;
44
44
  accessibilityHint?: string;
45
45
  }
46
- declare function MenuItemBase({ label, subtitle, iconName, icon, iconColor, rightRender, showChevron, onPress, disabled, variant, showSeparator, style, labelStyle, accessibilityLabel, accessibilityHint, }: MenuItemProps): React.JSX.Element;
47
- declare const MenuItem: React.MemoExoticComponent<typeof MenuItemBase>;
46
+ declare function MenuItemBase({ label, subtitle, iconName, icon, iconColor, rightRender, showChevron, onPress, disabled, variant, showSeparator, style, labelStyle, accessibilityLabel, accessibilityHint, }: MenuItemProps): React__default.JSX.Element;
47
+ declare const MenuItem: React__default.MemoExoticComponent<typeof MenuItemBase>;
48
48
 
49
49
  export { MenuItem, type MenuItemProps, type MenuItemVariant };