react-native-system-ui 0.0.6 → 1.0.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 (366) hide show
  1. package/README.md +53 -30
  2. package/dist/cjs/components/action-sheet/ActionSheet.js +97 -105
  3. package/dist/cjs/components/action-sheet/tokens.js +16 -27
  4. package/dist/cjs/components/area/Area.js +54 -67
  5. package/dist/cjs/components/area/tokens.js +6 -3
  6. package/dist/cjs/components/avatar/Avatar.js +25 -23
  7. package/dist/cjs/components/badge/Badge.js +31 -31
  8. package/dist/cjs/components/badge/tokens.js +6 -8
  9. package/dist/cjs/components/button/Button.js +115 -151
  10. package/dist/cjs/components/button/ButtonGroup.js +8 -42
  11. package/dist/cjs/components/button/tokens.js +1 -8
  12. package/dist/cjs/components/calendar/Calendar.js +212 -223
  13. package/dist/cjs/components/calendar/tokens.js +3 -3
  14. package/dist/cjs/components/cascader/Cascader.js +177 -180
  15. package/dist/cjs/components/cascader/tokens.js +2 -2
  16. package/dist/cjs/components/cascader/useCascaderExtend.js +25 -29
  17. package/dist/cjs/components/cell/Cell.js +70 -83
  18. package/dist/cjs/components/cell/CellGroup.js +16 -29
  19. package/dist/cjs/components/checkbox/Checkbox.js +139 -132
  20. package/dist/cjs/components/checkbox/CheckboxGroup.js +4 -35
  21. package/dist/cjs/components/checkbox/tokens.js +7 -10
  22. package/dist/cjs/components/circle/Circle.js +25 -24
  23. package/dist/cjs/components/collapse/Collapse.js +75 -91
  24. package/dist/cjs/components/config-provider/ConfigProvider.js +16 -3
  25. package/dist/cjs/components/config-provider/DirectionContext.js +15 -0
  26. package/dist/cjs/components/config-provider/index.js +7 -0
  27. package/dist/cjs/components/config-provider/locale/en-US.js +32 -0
  28. package/dist/cjs/components/config-provider/locale/zh-CN.js +32 -0
  29. package/dist/cjs/components/config-provider/useDirection.js +16 -0
  30. package/dist/cjs/components/count-down/CountDown.js +20 -15
  31. package/dist/cjs/components/datetime-picker/DatetimePicker.js +61 -84
  32. package/dist/cjs/components/datetime-picker/tokens.js +14 -3
  33. package/dist/cjs/components/dialog/Dialog.js +153 -121
  34. package/dist/cjs/components/dialog/imperative.js +17 -30
  35. package/dist/cjs/components/divider/Divider.js +26 -28
  36. package/dist/cjs/components/empty/Empty.js +35 -39
  37. package/dist/cjs/components/error-boundary/ErrorBoundary.js +73 -0
  38. package/dist/cjs/components/error-boundary/index.js +19 -0
  39. package/dist/cjs/components/field/Field.js +109 -106
  40. package/dist/cjs/components/flex/Flex.js +18 -18
  41. package/dist/cjs/components/flex/FlexItem.js +26 -27
  42. package/dist/cjs/components/form/Form.js +142 -161
  43. package/dist/cjs/components/form/FormItem.js +69 -97
  44. package/dist/cjs/components/form/FormList.js +49 -37
  45. package/dist/cjs/components/form/tokens.js +6 -3
  46. package/dist/cjs/components/form/utils.js +15 -34
  47. package/dist/cjs/components/grid/Grid.js +30 -29
  48. package/dist/cjs/components/grid/GridItem.js +84 -85
  49. package/dist/cjs/components/image/Image.js +55 -59
  50. package/dist/cjs/components/image/tokens.js +2 -2
  51. package/dist/cjs/components/image-preview/ImagePreview.js +124 -112
  52. package/dist/cjs/components/image-preview/imperative.js +4 -13
  53. package/dist/cjs/components/index.js +13 -0
  54. package/dist/cjs/components/input/Input.js +30 -22
  55. package/dist/cjs/components/loading/Loading.js +14 -15
  56. package/dist/cjs/components/nav-bar/NavBar.js +68 -83
  57. package/dist/cjs/components/nav-bar/tokens.js +1 -9
  58. package/dist/cjs/components/notice-bar/NoticeBar.js +74 -77
  59. package/dist/cjs/components/notify/Notify.js +88 -84
  60. package/dist/cjs/components/notify/imperative.js +20 -43
  61. package/dist/cjs/components/notify/tokens.js +1 -11
  62. package/dist/cjs/components/number-keyboard/NumberKeyboard.js +187 -209
  63. package/dist/cjs/components/overlay/Overlay.js +37 -52
  64. package/dist/cjs/components/overlay/tokens.js +5 -3
  65. package/dist/cjs/components/password-input/PasswordInput.js +98 -79
  66. package/dist/cjs/components/picker/Picker.js +440 -421
  67. package/dist/cjs/components/picker/tokens.js +1 -1
  68. package/dist/cjs/components/popup/Popup.js +263 -293
  69. package/dist/cjs/components/portal/Portal.js +12 -29
  70. package/dist/cjs/components/portal/PortalHost.js +151 -234
  71. package/dist/cjs/components/progress/Progress.js +51 -48
  72. package/dist/cjs/components/radio/Radio.js +45 -42
  73. package/dist/cjs/components/radio/RadioGroup.js +8 -40
  74. package/dist/cjs/components/radio/tokens.js +7 -10
  75. package/dist/cjs/components/safe-area-view/SafeAreaView.js +22 -26
  76. package/dist/cjs/components/search/Search.js +51 -43
  77. package/dist/cjs/components/selector/Selector.js +14 -13
  78. package/dist/cjs/components/share-sheet/ShareSheet.js +160 -161
  79. package/dist/cjs/components/sidebar/Sidebar.js +39 -45
  80. package/dist/cjs/components/sidebar/SidebarContext.js +1 -2
  81. package/dist/cjs/components/sidebar/SidebarItem.js +13 -16
  82. package/dist/cjs/components/sidebar/tokens.js +1 -3
  83. package/dist/cjs/components/skeleton/Skeleton.js +30 -37
  84. package/dist/cjs/components/skeleton/tokens.js +1 -2
  85. package/dist/cjs/components/slider/Slider.js +156 -135
  86. package/dist/cjs/components/space/Space.js +46 -69
  87. package/dist/cjs/components/stepper/Stepper.js +177 -155
  88. package/dist/cjs/components/swiper/Swiper.js +251 -253
  89. package/dist/cjs/components/swiper/SwiperPagIndicator.js +25 -27
  90. package/dist/cjs/components/swiper/tokens.js +10 -3
  91. package/dist/cjs/components/switch/Switch.js +13 -15
  92. package/dist/cjs/components/tabbar/Tabbar.js +35 -27
  93. package/dist/cjs/components/tabbar/TabbarContext.js +1 -2
  94. package/dist/cjs/components/tabbar/TabbarItem.js +65 -68
  95. package/dist/cjs/components/tabs/Tabs.js +286 -313
  96. package/dist/cjs/components/tag/Tag.js +46 -37
  97. package/dist/cjs/components/toast/Toast.js +90 -90
  98. package/dist/cjs/components/toast/imperative.js +16 -41
  99. package/dist/cjs/components/typography/Typography.js +3 -5
  100. package/dist/cjs/components/water-mark/WaterMark.js +31 -29
  101. package/dist/cjs/design-system/ThemeProvider.js +5 -11
  102. package/dist/cjs/design-system/createComponentTokensHook.js +11 -13
  103. package/dist/cjs/design-system/presets.js +2 -3
  104. package/dist/cjs/design-system/tokens.js +2 -11
  105. package/dist/cjs/hooks/animation/index.js +25 -0
  106. package/dist/cjs/hooks/animation/useAnimatedTransition.js +72 -0
  107. package/dist/cjs/hooks/animation/useReducedMotion.js +75 -0
  108. package/dist/cjs/hooks/aria/useAriaListBox.js +8 -16
  109. package/dist/cjs/hooks/aria/useAriaOverlay.js +3 -3
  110. package/dist/cjs/hooks/aria/useAriaPress.js +8 -21
  111. package/dist/cjs/hooks/aria/useAriaToggle.js +3 -3
  112. package/dist/cjs/hooks/gesture/useGestureScroll.js +60 -61
  113. package/dist/cjs/hooks/index.js +12 -0
  114. package/dist/cjs/hooks/overlay/OverlayStackStore.js +49 -69
  115. package/dist/cjs/hooks/overlay/useOverlayStack.js +13 -19
  116. package/dist/cjs/hooks/useControllableValue.js +10 -21
  117. package/dist/cjs/hooks/useCountDown.js +14 -22
  118. package/dist/cjs/hooks/useHairline.js +17 -29
  119. package/dist/cjs/hooks/useSafeAreaPadding.js +1 -4
  120. package/dist/cjs/index.js +67 -1
  121. package/dist/cjs/platform/animation.js +10 -2
  122. package/dist/cjs/platform/measure.js +18 -36
  123. package/dist/cjs/utils/color.js +21 -35
  124. package/dist/cjs/utils/compare.js +7 -12
  125. package/dist/cjs/utils/createPlatformShadow.js +28 -39
  126. package/dist/cjs/utils/date.js +20 -50
  127. package/dist/cjs/utils/deepMerge.js +16 -26
  128. package/dist/cjs/utils/hairline.js +74 -71
  129. package/dist/cjs/utils/index.js +22 -0
  130. package/dist/cjs/utils/number.js +21 -29
  131. package/dist/cjs/utils/render.js +27 -0
  132. package/dist/cjs/utils/rtl.js +25 -0
  133. package/dist/cjs/utils/string.js +8 -25
  134. package/dist/es/components/action-sheet/ActionSheet.js +99 -107
  135. package/dist/es/components/action-sheet/tokens.js +16 -27
  136. package/dist/es/components/area/Area.js +55 -68
  137. package/dist/es/components/area/tokens.js +6 -3
  138. package/dist/es/components/avatar/Avatar.js +25 -23
  139. package/dist/es/components/avatar/index.js +1 -2
  140. package/dist/es/components/badge/Badge.js +33 -33
  141. package/dist/es/components/badge/tokens.js +6 -8
  142. package/dist/es/components/button/Button.js +116 -152
  143. package/dist/es/components/button/ButtonGroup.js +9 -43
  144. package/dist/es/components/button/tokens.js +2 -3
  145. package/dist/es/components/calendar/Calendar.js +214 -225
  146. package/dist/es/components/calendar/tokens.js +3 -3
  147. package/dist/es/components/cascader/Cascader.js +180 -183
  148. package/dist/es/components/cascader/tokens.js +2 -2
  149. package/dist/es/components/cascader/useCascaderExtend.js +25 -29
  150. package/dist/es/components/cell/Cell.js +71 -84
  151. package/dist/es/components/cell/CellGroup.js +16 -28
  152. package/dist/es/components/checkbox/Checkbox.js +140 -133
  153. package/dist/es/components/checkbox/CheckboxGroup.js +5 -36
  154. package/dist/es/components/checkbox/tokens.js +7 -10
  155. package/dist/es/components/circle/Circle.js +25 -23
  156. package/dist/es/components/collapse/Collapse.js +77 -92
  157. package/dist/es/components/config-provider/ConfigProvider.js +10 -3
  158. package/dist/es/components/config-provider/DirectionContext.js +2 -0
  159. package/dist/es/components/config-provider/index.js +1 -0
  160. package/dist/es/components/config-provider/locale/en-US.js +32 -0
  161. package/dist/es/components/config-provider/locale/zh-CN.js +32 -0
  162. package/dist/es/components/config-provider/useDirection.js +3 -0
  163. package/dist/es/components/count-down/CountDown.js +23 -18
  164. package/dist/es/components/datetime-picker/DatetimePicker.js +61 -84
  165. package/dist/es/components/datetime-picker/tokens.js +14 -3
  166. package/dist/es/components/dialog/Dialog.js +154 -121
  167. package/dist/es/components/dialog/imperative.js +17 -30
  168. package/dist/es/components/divider/Divider.js +28 -29
  169. package/dist/es/components/empty/Empty.js +36 -39
  170. package/dist/es/components/error-boundary/ErrorBoundary.js +61 -0
  171. package/dist/es/components/error-boundary/index.js +1 -0
  172. package/dist/es/components/field/Field.js +109 -106
  173. package/dist/es/components/flex/Flex.js +18 -17
  174. package/dist/es/components/flex/FlexItem.js +27 -27
  175. package/dist/es/components/form/Form.js +143 -162
  176. package/dist/es/components/form/FormItem.js +68 -95
  177. package/dist/es/components/form/FormList.js +49 -37
  178. package/dist/es/components/form/tokens.js +6 -3
  179. package/dist/es/components/form/utils.js +15 -34
  180. package/dist/es/components/grid/Grid.js +30 -28
  181. package/dist/es/components/grid/GridItem.js +84 -84
  182. package/dist/es/components/image/Image.js +58 -62
  183. package/dist/es/components/image/tokens.js +2 -2
  184. package/dist/es/components/image-preview/ImagePreview.js +124 -112
  185. package/dist/es/components/image-preview/imperative.js +4 -13
  186. package/dist/es/components/index.js +3 -1
  187. package/dist/es/components/input/Input.js +31 -23
  188. package/dist/es/components/loading/Loading.js +16 -16
  189. package/dist/es/components/nav-bar/NavBar.js +68 -83
  190. package/dist/es/components/nav-bar/tokens.js +1 -3
  191. package/dist/es/components/notice-bar/NoticeBar.js +74 -76
  192. package/dist/es/components/notify/Notify.js +92 -87
  193. package/dist/es/components/notify/imperative.js +21 -44
  194. package/dist/es/components/notify/tokens.js +1 -5
  195. package/dist/es/components/number-keyboard/NumberKeyboard.js +187 -209
  196. package/dist/es/components/overlay/Overlay.js +36 -51
  197. package/dist/es/components/overlay/tokens.js +5 -3
  198. package/dist/es/components/password-input/PasswordInput.js +98 -79
  199. package/dist/es/components/picker/Picker.js +440 -421
  200. package/dist/es/components/picker/tokens.js +1 -1
  201. package/dist/es/components/popup/Popup.js +263 -292
  202. package/dist/es/components/portal/Portal.js +13 -29
  203. package/dist/es/components/portal/PortalHost.js +152 -234
  204. package/dist/es/components/progress/Progress.js +51 -48
  205. package/dist/es/components/radio/Radio.js +47 -44
  206. package/dist/es/components/radio/RadioGroup.js +10 -41
  207. package/dist/es/components/radio/tokens.js +7 -10
  208. package/dist/es/components/safe-area-view/SafeAreaView.js +22 -25
  209. package/dist/es/components/search/Search.js +52 -44
  210. package/dist/es/components/selector/Selector.js +14 -13
  211. package/dist/es/components/share-sheet/ShareSheet.js +162 -163
  212. package/dist/es/components/sidebar/Sidebar.js +41 -47
  213. package/dist/es/components/sidebar/SidebarContext.js +1 -2
  214. package/dist/es/components/sidebar/SidebarItem.js +13 -15
  215. package/dist/es/components/sidebar/tokens.js +1 -3
  216. package/dist/es/components/skeleton/Skeleton.js +30 -37
  217. package/dist/es/components/skeleton/tokens.js +1 -2
  218. package/dist/es/components/slider/Slider.js +156 -134
  219. package/dist/es/components/space/Space.js +48 -71
  220. package/dist/es/components/stepper/Stepper.js +178 -156
  221. package/dist/es/components/swiper/Swiper.js +252 -254
  222. package/dist/es/components/swiper/SwiperPagIndicator.js +25 -27
  223. package/dist/es/components/swiper/tokens.js +10 -3
  224. package/dist/es/components/switch/Switch.js +13 -15
  225. package/dist/es/components/tabbar/Tabbar.js +36 -28
  226. package/dist/es/components/tabbar/TabbarContext.js +1 -2
  227. package/dist/es/components/tabbar/TabbarItem.js +66 -69
  228. package/dist/es/components/tabs/Tabs.js +286 -313
  229. package/dist/es/components/tag/Tag.js +49 -39
  230. package/dist/es/components/toast/Toast.js +93 -91
  231. package/dist/es/components/toast/imperative.js +16 -41
  232. package/dist/es/components/typography/Typography.js +3 -5
  233. package/dist/es/components/water-mark/WaterMark.js +32 -30
  234. package/dist/es/design-system/ThemeProvider.js +5 -11
  235. package/dist/es/design-system/createComponentTokensHook.js +11 -13
  236. package/dist/es/design-system/presets.js +2 -3
  237. package/dist/es/design-system/tokens.js +1 -9
  238. package/dist/es/hooks/animation/index.js +2 -0
  239. package/dist/es/hooks/animation/useAnimatedTransition.js +53 -0
  240. package/dist/es/hooks/animation/useReducedMotion.js +54 -0
  241. package/dist/es/hooks/aria/useAriaListBox.js +8 -16
  242. package/dist/es/hooks/aria/useAriaOverlay.js +3 -3
  243. package/dist/es/hooks/aria/useAriaPress.js +8 -21
  244. package/dist/es/hooks/aria/useAriaToggle.js +3 -3
  245. package/dist/es/hooks/gesture/useGestureScroll.js +60 -61
  246. package/dist/es/hooks/index.js +1 -0
  247. package/dist/es/hooks/overlay/OverlayStackStore.js +49 -69
  248. package/dist/es/hooks/overlay/useOverlayStack.js +13 -19
  249. package/dist/es/hooks/useControllableValue.js +10 -21
  250. package/dist/es/hooks/useCountDown.js +14 -22
  251. package/dist/es/hooks/useHairline.js +16 -28
  252. package/dist/es/hooks/useSafeAreaPadding.js +1 -4
  253. package/dist/es/index.js +8 -1
  254. package/dist/es/platform/animation.js +9 -1
  255. package/dist/es/platform/measure.js +18 -36
  256. package/dist/es/utils/color.js +21 -35
  257. package/dist/es/utils/compare.js +7 -12
  258. package/dist/es/utils/createPlatformShadow.js +28 -39
  259. package/dist/es/utils/date.js +20 -50
  260. package/dist/es/utils/deepMerge.js +16 -26
  261. package/dist/es/utils/hairline.js +73 -65
  262. package/dist/es/utils/index.js +2 -0
  263. package/dist/es/utils/number.js +21 -29
  264. package/dist/es/utils/render.js +7 -0
  265. package/dist/es/utils/rtl.js +17 -0
  266. package/dist/es/utils/string.js +8 -25
  267. package/dist/types/components/action-sheet/ActionSheet.d.ts +1 -1
  268. package/dist/types/components/area/Area.d.ts +1 -1
  269. package/dist/types/components/area/tokens.d.ts +4 -0
  270. package/dist/types/components/avatar/Avatar.d.ts +1 -1
  271. package/dist/types/components/avatar/index.d.ts +1 -2
  272. package/dist/types/components/badge/Badge.d.ts +1 -1
  273. package/dist/types/components/button/Button.d.ts +1 -1
  274. package/dist/types/components/button/index.d.ts +1 -1
  275. package/dist/types/components/calendar/Calendar.d.ts +1 -1
  276. package/dist/types/components/cascader/Cascader.d.ts +1 -1
  277. package/dist/types/components/cell/Cell.d.ts +1 -1
  278. package/dist/types/components/cell/CellGroup.d.ts +1 -1
  279. package/dist/types/components/cell/index.d.ts +2 -2
  280. package/dist/types/components/checkbox/Checkbox.d.ts +1 -1
  281. package/dist/types/components/circle/Circle.d.ts +1 -1
  282. package/dist/types/components/collapse/Collapse.d.ts +1 -2
  283. package/dist/types/components/config-provider/DirectionContext.d.ts +3 -0
  284. package/dist/types/components/config-provider/index.d.ts +2 -1
  285. package/dist/types/components/config-provider/locale/en-US.d.ts +32 -0
  286. package/dist/types/components/config-provider/locale/zh-CN.d.ts +32 -0
  287. package/dist/types/components/config-provider/useDirection.d.ts +1 -0
  288. package/dist/types/components/count-down/CountDown.d.ts +1 -1
  289. package/dist/types/components/datetime-picker/DatetimePicker.d.ts +1 -1
  290. package/dist/types/components/datetime-picker/tokens.d.ts +12 -0
  291. package/dist/types/components/dialog/Dialog.d.ts +1 -1
  292. package/dist/types/components/divider/Divider.d.ts +1 -1
  293. package/dist/types/components/empty/Empty.d.ts +1 -1
  294. package/dist/types/components/error-boundary/ErrorBoundary.d.ts +6 -0
  295. package/dist/types/components/error-boundary/index.d.ts +2 -0
  296. package/dist/types/components/field/Field.d.ts +1 -1
  297. package/dist/types/components/flex/Flex.d.ts +1 -1
  298. package/dist/types/components/flex/FlexItem.d.ts +1 -1
  299. package/dist/types/components/flex/index.d.ts +2 -2
  300. package/dist/types/components/form/Form.d.ts +1 -1
  301. package/dist/types/components/form/FormItem.d.ts +2 -1
  302. package/dist/types/components/form/index.d.ts +2 -2
  303. package/dist/types/components/form/tokens.d.ts +4 -0
  304. package/dist/types/components/grid/Grid.d.ts +1 -1
  305. package/dist/types/components/grid/GridItem.d.ts +1 -1
  306. package/dist/types/components/grid/index.d.ts +2 -2
  307. package/dist/types/components/image/Image.d.ts +1 -1
  308. package/dist/types/components/image-preview/ImagePreview.d.ts +1 -1
  309. package/dist/types/components/index.d.ts +4 -1
  310. package/dist/types/components/input/Input.d.ts +3 -3
  311. package/dist/types/components/loading/Loading.d.ts +1 -1
  312. package/dist/types/components/nav-bar/NavBar.d.ts +1 -1
  313. package/dist/types/components/notice-bar/NoticeBar.d.ts +1 -1
  314. package/dist/types/components/notify/Notify.d.ts +2 -2
  315. package/dist/types/components/notify/index.d.ts +1 -1
  316. package/dist/types/components/overlay/Overlay.d.ts +1 -5
  317. package/dist/types/components/overlay/tokens.d.ts +3 -0
  318. package/dist/types/components/password-input/PasswordInput.d.ts +1 -1
  319. package/dist/types/components/picker/Picker.d.ts +5 -5
  320. package/dist/types/components/popup/Popup.d.ts +3 -42
  321. package/dist/types/components/portal/Portal.d.ts +9 -6
  322. package/dist/types/components/portal/PortalHost.d.ts +1 -1
  323. package/dist/types/components/radio/RadioGroup.d.ts +1 -1
  324. package/dist/types/components/safe-area-view/SafeAreaView.d.ts +1 -1
  325. package/dist/types/components/search/Search.d.ts +1 -1
  326. package/dist/types/components/share-sheet/ShareSheet.d.ts +1 -1
  327. package/dist/types/components/sidebar/Sidebar.d.ts +1 -1
  328. package/dist/types/components/sidebar/SidebarContext.d.ts +1 -1
  329. package/dist/types/components/sidebar/SidebarItem.d.ts +1 -1
  330. package/dist/types/components/sidebar/index.d.ts +2 -2
  331. package/dist/types/components/skeleton/Skeleton.d.ts +1 -1
  332. package/dist/types/components/slider/Slider.d.ts +1 -1
  333. package/dist/types/components/stepper/Stepper.d.ts +1 -1
  334. package/dist/types/components/swiper/Swiper.d.ts +1 -1
  335. package/dist/types/components/swiper/index.d.ts +1 -1
  336. package/dist/types/components/swiper/tokens.d.ts +8 -0
  337. package/dist/types/components/tabbar/Tabbar.d.ts +2 -2
  338. package/dist/types/components/tabbar/TabbarContext.d.ts +1 -1
  339. package/dist/types/components/tabbar/TabbarItem.d.ts +2 -2
  340. package/dist/types/components/tabs/Tabs.d.ts +1 -1
  341. package/dist/types/components/tabs/index.d.ts +1 -1
  342. package/dist/types/components/tag/Tag.d.ts +1 -1
  343. package/dist/types/components/toast/Toast.d.ts +2 -2
  344. package/dist/types/components/toast/index.d.ts +1 -1
  345. package/dist/types/components/water-mark/WaterMark.d.ts +1 -1
  346. package/dist/types/design-system/tokens.d.ts +0 -1
  347. package/dist/types/hooks/animation/index.d.ts +3 -0
  348. package/dist/types/hooks/animation/useAnimatedTransition.d.ts +13 -0
  349. package/dist/types/hooks/animation/useReducedMotion.d.ts +3 -0
  350. package/dist/types/hooks/aria/useAriaOverlay.d.ts +1 -1
  351. package/dist/types/hooks/gesture/useGestureScroll.d.ts +11 -10
  352. package/dist/types/hooks/index.d.ts +1 -0
  353. package/dist/types/hooks/overlay/OverlayStackStore.d.ts +8 -8
  354. package/dist/types/hooks/useHairline.d.ts +1 -1
  355. package/dist/types/index.d.ts +5 -0
  356. package/dist/types/platform/animation.d.ts +8 -0
  357. package/dist/types/platform/measure.d.ts +1 -1
  358. package/dist/types/utils/compare.d.ts +1 -1
  359. package/dist/types/utils/createPlatformShadow.d.ts +2 -2
  360. package/dist/types/utils/date.d.ts +2 -2
  361. package/dist/types/utils/hairline.d.ts +5 -10
  362. package/dist/types/utils/index.d.ts +2 -0
  363. package/dist/types/utils/number.d.ts +2 -2
  364. package/dist/types/utils/render.d.ts +5 -0
  365. package/dist/types/utils/rtl.d.ts +5 -0
  366. package/package.json +10 -3
@@ -21,9 +21,9 @@ function _reactNative() {
21
21
  var _designSystem = require("../../design-system");
22
22
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
23
23
  function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
24
- const createSwiperPagIndicatorTokens = foundations => ({
24
+ const createSwiperPagIndicatorTokens = f => ({
25
25
  colors: {
26
- active: foundations.palette.primary.foreground ?? '#ffffff',
26
+ active: f.palette.primary.foreground ?? '#ffffff',
27
27
  inactive: 'rgba(255,255,255,0.5)'
28
28
  },
29
29
  sizing: {
@@ -31,11 +31,11 @@ const createSwiperPagIndicatorTokens = foundations => ({
31
31
  dotSizeInactive: 6
32
32
  },
33
33
  spacing: {
34
- dotMargin: foundations.spacing.xs
34
+ dotMargin: f.spacing.xs
35
35
  },
36
36
  offset: {
37
- horizontalBottom: foundations.spacing.lg,
38
- verticalRight: foundations.spacing.lg
37
+ horizontalBottom: f.spacing.lg,
38
+ verticalRight: f.spacing.lg
39
39
  },
40
40
  layer: {
41
41
  zIndex: 10,
@@ -55,49 +55,47 @@ const SwiperPagIndicator = /*#__PURE__*/(0, _react().memo)(({
55
55
  }) => {
56
56
  const tokens = useSwiperPagIndicatorTokens(tokensOverride);
57
57
  const dots = [];
58
- const resolvedActiveColor = activeColor || tokens.colors.active;
59
- const resolvedInactiveColor = inactiveColor || tokens.colors.inactive;
60
- const dotMargin = tokens.spacing.dotMargin;
61
- const containerPositionStyle = vertical ? [styles.containerVertical, {
58
+ const ac = activeColor || tokens.colors.active,
59
+ ic = inactiveColor || tokens.colors.inactive;
60
+ const posStyle = vertical ? [S.cv, {
62
61
  right: tokens.offset.verticalRight
63
- }] : [styles.containerHorizontal, {
62
+ }] : [S.ch, {
64
63
  bottom: tokens.offset.horizontalBottom
65
64
  }];
66
65
  for (let i = 0; i < total; i++) {
67
- const isActive = current === i;
68
- const size = isActive ? tokens.sizing.dotSizeActive : tokens.sizing.dotSizeInactive;
66
+ const a = current === i;
67
+ const sz = a ? tokens.sizing.dotSizeActive : tokens.sizing.dotSizeInactive;
69
68
  dots.push(/*#__PURE__*/_react().default.createElement(_reactNative().View, {
70
69
  key: i,
71
- style: [{
72
- marginHorizontal: dotMargin,
73
- marginVertical: dotMargin,
74
- backgroundColor: isActive ? resolvedActiveColor : resolvedInactiveColor,
75
- width: size,
76
- height: size,
77
- borderRadius: size / 2
78
- }]
70
+ style: {
71
+ marginHorizontal: tokens.spacing.dotMargin,
72
+ marginVertical: tokens.spacing.dotMargin,
73
+ backgroundColor: a ? ac : ic,
74
+ width: sz,
75
+ height: sz,
76
+ borderRadius: sz / 2
77
+ }
79
78
  }));
80
79
  }
81
80
  return /*#__PURE__*/_react().default.createElement(_reactNative().View, _extends({
82
- style: [styles.container, {
81
+ style: [S.c, {
83
82
  zIndex: tokens.layer.zIndex,
84
83
  elevation: tokens.layer.elevation
85
- }, containerPositionStyle, style]
84
+ }, posStyle, style]
86
85
  }, rest), dots);
87
86
  });
88
- SwiperPagIndicator.displayName = 'SwiperPagIndicator';
89
- const styles = _reactNative().StyleSheet.create({
90
- container: {
87
+ const S = _reactNative().StyleSheet.create({
88
+ c: {
91
89
  flexDirection: 'row',
92
90
  alignItems: 'center',
93
91
  justifyContent: 'center'
94
92
  },
95
- containerHorizontal: {
93
+ ch: {
96
94
  position: 'absolute',
97
95
  left: 0,
98
96
  right: 0
99
97
  },
100
- containerVertical: {
98
+ cv: {
101
99
  position: 'absolute',
102
100
  top: 0,
103
101
  bottom: 0,
@@ -5,7 +5,14 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.useSwiperTokens = void 0;
7
7
  var _designSystem = require("../../design-system");
8
- const createSwiperTokens = _foundations => {
9
- return {};
10
- };
8
+ const createSwiperTokens = _foundations => ({
9
+ defaults: {
10
+ autoplayInterval: 3000,
11
+ scrollEventThrottle: 16
12
+ },
13
+ layer: {
14
+ zIndex: 10,
15
+ elevation: 10
16
+ }
17
+ });
11
18
  const useSwiperTokens = exports.useSwiperTokens = (0, _designSystem.createComponentTokensHook)('swiper', createSwiperTokens);
@@ -25,9 +25,9 @@ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r
25
25
  const SwitchImpl = props => {
26
26
  const {
27
27
  disabled: disabledProp,
28
- size,
29
- activeColor,
30
- inactiveColor,
28
+ size: sizeProp,
29
+ activeColor: activeColorProp,
30
+ inactiveColor: inactiveColorProp,
31
31
  activeValue: activeValueProp,
32
32
  inactiveValue: inactiveValueProp,
33
33
  tokensOverride,
@@ -36,23 +36,21 @@ const SwitchImpl = props => {
36
36
  } = props;
37
37
  const tokens = (0, _tokens.useSwitchTokens)(tokensOverride);
38
38
  const disabled = disabledProp ?? tokens.defaults.disabled;
39
- const activeValue = (0, _react().useMemo)(() => activeValueProp ?? tokens.defaults.activeValue, [activeValueProp, tokens.defaults.activeValue]);
40
- const inactiveValue = (0, _react().useMemo)(() => inactiveValueProp ?? tokens.defaults.inactiveValue, [inactiveValueProp, tokens.defaults.inactiveValue]);
39
+ const activeValue = activeValueProp ?? tokens.defaults.activeValue;
40
+ const inactiveValue = inactiveValueProp ?? tokens.defaults.inactiveValue;
41
41
  const scale = (0, _react().useMemo)(() => {
42
42
  if (!tokens.defaults.size) return 1;
43
- if (typeof size === 'string') {
44
- const value = size.toLowerCase();
43
+ if (typeof sizeProp === 'string') {
44
+ const value = sizeProp.toLowerCase();
45
45
  if (value === 'sm') return 0.75;
46
46
  if (value === 'md') return 1;
47
47
  if (value === 'lg') return 1.25;
48
- const numeric = (0, _utils.parseNumber)(size, tokens.defaults.size);
49
- return Math.max(0, numeric / tokens.defaults.size);
50
- }
51
- if (typeof size === 'number') {
52
- return Math.max(0, size / tokens.defaults.size);
48
+ const num = (0, _utils.parseNumber)(sizeProp, tokens.defaults.size);
49
+ return Math.max(0, num / tokens.defaults.size);
53
50
  }
51
+ if (typeof sizeProp === 'number') return Math.max(0, sizeProp / tokens.defaults.size);
54
52
  return 1;
55
- }, [size, tokens.defaults.size]);
53
+ }, [sizeProp, tokens.defaults.size]);
56
54
  const [value, triggerChange] = (0, _hooks.useControllableValue)(props, {
57
55
  valuePropName: 'checked',
58
56
  defaultValuePropName: 'defaultChecked',
@@ -60,8 +58,8 @@ const SwitchImpl = props => {
60
58
  trigger: 'onChange'
61
59
  });
62
60
  const isChecked = Object.is(value, activeValue);
63
- const resolvedActiveColor = (0, _react().useMemo)(() => activeColor ?? tokens.colors.activeTrack, [activeColor, tokens.colors.activeTrack]);
64
- const resolvedInactiveColor = (0, _react().useMemo)(() => inactiveColor ?? tokens.colors.inactiveTrack, [inactiveColor, tokens.colors.inactiveTrack]);
61
+ const resolvedActiveColor = activeColorProp ?? tokens.colors.activeTrack;
62
+ const resolvedInactiveColor = inactiveColorProp ?? tokens.colors.inactiveTrack;
65
63
  const handleTouchEnd = (0, _react().useCallback)(event => {
66
64
  if (disabled) return;
67
65
  onClick?.(event);
@@ -26,7 +26,7 @@ var _TabbarContext = require("./TabbarContext");
26
26
  var _tokens = require("./tokens");
27
27
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
28
28
  function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
29
- const TabbarBase = props => {
29
+ const TabbarBaseImpl = props => {
30
30
  const {
31
31
  children,
32
32
  value,
@@ -52,23 +52,23 @@ const TabbarBase = props => {
52
52
  const background = backgroundProp ?? tokens.colors.background;
53
53
  const placeholder = placeholderProp ?? tokens.defaults.placeholder;
54
54
  const iconSize = iconSizeProp ?? tokens.icon.size;
55
- const enableSafeAreaInsetBottom = safeAreaInsetBottom ?? fixed;
55
+ const enableSafeAreaBottom = safeAreaInsetBottom ?? fixed;
56
56
  const items = (0, _react().useMemo)(() => _react().default.Children.toArray(children).filter(_react().default.isValidElement), [children]);
57
- const firstName = (0, _react().useMemo)(() => items.length ? items[0].props.name ?? 0 : undefined, [items]);
57
+ const firstItemName = items.length ? items[0].props.name ?? 0 : undefined;
58
58
  const [activeValue, setActiveValue] = (0, _hooks.useControllableValue)(props, {
59
- defaultValue: firstName,
59
+ defaultValue: firstItemName,
60
60
  valuePropName: 'value',
61
61
  defaultValuePropName: 'defaultValue',
62
62
  trigger: 'onChange'
63
63
  });
64
- const itemNames = (0, _react().useMemo)(() => items.map((item, index) => item.props.name ?? index), [items]);
65
- const currentName = (0, _react().useMemo)(() => activeValue === undefined || activeValue === null ? firstName : itemNames.some(name => name === activeValue) ? activeValue : firstName, [activeValue, firstName, itemNames]);
64
+ const itemNames = items.map((item, i) => item.props.name ?? i);
65
+ const currentName = activeValue === undefined || activeValue === null ? firstItemName : itemNames.some(name => name === activeValue) ? activeValue : firstItemName;
66
66
  const [barHeight, setBarHeight] = (0, _react().useState)(tokens.layout.height);
67
67
  const enablePlaceholder = fixed && placeholder;
68
68
  const handleLayout = (0, _react().useCallback)(event => {
69
69
  if (!enablePlaceholder) return;
70
- const nextHeight = event.nativeEvent.layout.height;
71
- setBarHeight(prev => Math.abs(prev - nextHeight) < 0.5 ? prev : nextHeight);
70
+ const newHeight = event.nativeEvent.layout.height;
71
+ setBarHeight(prev => Math.abs(prev - newHeight) < 0.5 ? prev : newHeight);
72
72
  }, [enablePlaceholder]);
73
73
  const onSelect = (0, _react().useCallback)((name, index) => setActiveValue(name, index), [setActiveValue]);
74
74
  const contextValue = (0, _react().useMemo)(() => ({
@@ -79,63 +79,71 @@ const TabbarBase = props => {
79
79
  fontWeight: tokens.typography.fontWeight,
80
80
  onSelect
81
81
  }), [activeColor, currentName, inactiveColor, onSelect, tokens.colors.active, tokens.colors.inactive, tokens.typography.fontSize, tokens.typography.fontWeight]);
82
- const clonedChildren = (0, _react().useMemo)(() => items.map((item, index) => {
83
- const name = item.props.name ?? index;
82
+ const clonedChildren = (0, _react().useMemo)(() => items.map((item, i) => {
83
+ const name = item.props.name ?? i;
84
84
  return /*#__PURE__*/_react().default.cloneElement(item, {
85
85
  key: item.key ?? name,
86
86
  name,
87
- index,
87
+ index: i,
88
88
  iconSize,
89
89
  tokensOverride: (0, _designSystem.mergeTokensOverride)(tokensOverride, item.props.tokensOverride)
90
90
  });
91
91
  }), [iconSize, items, tokensOverride]);
92
92
  if (items.length === 0) return null;
93
- const ContentWrapper = enableSafeAreaInsetBottom ? _safeAreaView.SafeAreaView : _reactNative().View;
94
- const placeholderStyle = (0, _react().useMemo)(() => ({
93
+ const ContainerWrapper = enableSafeAreaBottom ? _safeAreaView.SafeAreaView : _reactNative().View;
94
+ const placeholderStyle = {
95
95
  height: barHeight
96
- }), [barHeight]);
97
- const containerStyle = (0, _react().useMemo)(() => [styles.container, fixed && [styles.fixed, {
96
+ };
97
+ const containerStyle = [S.c, fixed && [S.f, {
98
98
  zIndex
99
- }], style], [fixed, style, zIndex]);
100
- const barStyle = (0, _react().useMemo)(() => [styles.bar, {
99
+ }], style];
100
+ const barStyle = [S.b, {
101
101
  backgroundColor: background,
102
102
  paddingHorizontal: tokens.layout.paddingHorizontal,
103
103
  minHeight: tokens.layout.height
104
- }, border ? (0, _hairline.createHairlineBorderTop)(tokens.colors.border) : null, contentStyle], [background, border, contentStyle, tokens.colors.border, tokens.layout.height, tokens.layout.paddingHorizontal]);
105
- const rowStyle = (0, _react().useMemo)(() => [styles.row, {
104
+ }, contentStyle];
105
+ const rowStyle = [S.r, {
106
106
  minHeight: tokens.layout.height
107
- }], [tokens.layout.height]);
107
+ }];
108
108
  return /*#__PURE__*/_react().default.createElement(_react().default.Fragment, null, enablePlaceholder && /*#__PURE__*/_react().default.createElement(_reactNative().View, {
109
109
  testID: "rv-tabbar-placeholder",
110
110
  style: placeholderStyle
111
111
  }), /*#__PURE__*/_react().default.createElement(_reactNative().View, _extends({}, rest, {
112
112
  style: containerStyle,
113
113
  onLayout: handleLayout
114
- }), /*#__PURE__*/_react().default.createElement(ContentWrapper, {
114
+ }), /*#__PURE__*/_react().default.createElement(ContainerWrapper, {
115
115
  style: barStyle
116
116
  }, /*#__PURE__*/_react().default.createElement(_TabbarContext.TabbarContext.Provider, {
117
117
  value: contextValue
118
118
  }, /*#__PURE__*/_react().default.createElement(_reactNative().View, {
119
119
  style: rowStyle,
120
120
  accessibilityRole: "tablist"
121
- }, clonedChildren)))));
121
+ }, clonedChildren)), border && /*#__PURE__*/_react().default.createElement(_reactNative().View, {
122
+ style: (0, _hairline.createHairlineView)({
123
+ position: 'top',
124
+ color: tokens.colors.border,
125
+ left: 0,
126
+ right: 0
127
+ })
128
+ }))));
122
129
  };
123
- const styles = _reactNative().StyleSheet.create({
124
- container: {
130
+ const S = _reactNative().StyleSheet.create({
131
+ c: {
125
132
  width: '100%'
126
133
  },
127
- bar: {
134
+ b: {
128
135
  width: '100%'
129
136
  },
130
- row: {
137
+ r: {
131
138
  flexDirection: 'row'
132
139
  },
133
- fixed: {
140
+ f: {
134
141
  position: 'absolute',
135
142
  left: 0,
136
143
  right: 0,
137
144
  bottom: 0
138
145
  }
139
146
  });
147
+ const TabbarBase = /*#__PURE__*/_react().default.memo(TabbarBaseImpl);
140
148
  TabbarBase.displayName = 'Tabbar';
141
149
  var _default = exports.default = TabbarBase;
@@ -11,8 +11,7 @@ function _react() {
11
11
  };
12
12
  return data;
13
13
  }
14
- var React = _react;
15
14
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
16
- const TabbarContext = exports.TabbarContext = /*#__PURE__*/React().createContext(null);
15
+ const TabbarContext = exports.TabbarContext = /*#__PURE__*/_react().default.createContext(null);
17
16
  const useTabbarContext = () => (0, _react().useContext)(TabbarContext);
18
17
  exports.useTabbarContext = useTabbarContext;
@@ -26,7 +26,7 @@ var _tokens = require("./tokens");
26
26
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
27
27
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
28
28
  function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
29
- const TabbarItem = props => {
29
+ const TabbarItemImpl = p => {
30
30
  const {
31
31
  name,
32
32
  icon,
@@ -43,114 +43,111 @@ const TabbarItem = props => {
43
43
  iconSize,
44
44
  tokensOverride,
45
45
  ...rest
46
- } = props;
47
- const tokens = (0, _tokens.useTabbarTokens)(tokensOverride);
48
- const context = (0, _TabbarContext.useTabbarContext)();
49
- if (!context) {
50
- return null;
51
- }
52
- const itemName = name ?? index ?? 0;
53
- const isActive = context.activeValue === itemName;
54
- const color = isActive ? context.activeColor : context.inactiveColor;
55
- const resolvedIconSize = iconSize ?? tokens.icon.size;
56
- const applyIconTheme = (0, _react().useCallback)(node => {
57
- if (! /*#__PURE__*/_react().default.isValidElement(node)) return node;
58
- const element = node;
59
- const nextProps = {};
60
- const p = element.props ?? {};
61
- if (p['size'] == null) nextProps['size'] = resolvedIconSize;
62
- if (p['fill'] == null) nextProps['fill'] = color;
63
- if (p['color'] == null) nextProps['color'] = color;
64
- if (p['style'] != null) {
65
- nextProps['style'] = [p['style'], {
66
- color
67
- }];
68
- }
69
- return /*#__PURE__*/_react().default.cloneElement(element, nextProps);
70
- }, [color, resolvedIconSize]);
71
- const renderIcon = (0, _react().useCallback)(() => {
46
+ } = p;
47
+ const t = (0, _tokens.useTabbarTokens)(tokensOverride);
48
+ const ctx = (0, _TabbarContext.useTabbarContext)();
49
+ if (!ctx) return null;
50
+ const in_ = name ?? index ?? 0;
51
+ const ia = ctx.activeValue === in_;
52
+ const c = ia ? ctx.activeColor : ctx.inactiveColor;
53
+ const ris = iconSize ?? t.icon.size;
54
+ const ait = (0, _react().useCallback)(n => {
55
+ if (! /*#__PURE__*/_react().default.isValidElement(n)) return n;
56
+ const e = n;
57
+ const np = {};
58
+ const pr = e.props ?? {};
59
+ if (pr['size'] == null) np['size'] = ris;
60
+ if (pr['fill'] == null) np['fill'] = c;
61
+ if (pr['color'] == null) np['color'] = c;
62
+ if (pr['style'] != null) np['style'] = [pr['style'], {
63
+ color: c
64
+ }];
65
+ return /*#__PURE__*/_react().default.cloneElement(e, np);
66
+ }, [c, ris]);
67
+ const ri = (0, _react().useCallback)(() => {
72
68
  if (!icon) return null;
73
- const raw = (0, _validate.isFunction)(icon) ? icon(isActive) : icon;
74
- return applyIconTheme(raw);
75
- }, [applyIconTheme, icon, isActive]);
76
- const renderLabel = (0, _react().useCallback)(() => (0, _validate.isFunction)(children) ? children(isActive) : children, [children, isActive]);
77
- const ariaPress = (0, _hooks.useAriaPress)({
69
+ const r = (0, _validate.isFunction)(icon) ? icon(ia) : icon;
70
+ return ait(r);
71
+ }, [ait, icon, ia]);
72
+ const rl = (0, _react().useCallback)(() => (0, _validate.isFunction)(children) ? children(ia) : children, [children, ia]);
73
+ const ap = (0, _hooks.useAriaPress)({
78
74
  disabled,
79
75
  onPress: () => {
80
76
  if (!disabled) {
81
77
  onClick?.();
82
- context.onSelect(itemName, index ?? 0);
78
+ ctx.onSelect(in_, index ?? 0);
83
79
  }
84
80
  },
85
81
  extraProps: {
86
82
  accessibilityRole: 'tab',
87
83
  accessibilityState: {
88
- selected: isActive,
84
+ selected: ia,
89
85
  disabled
90
86
  },
91
- testID: testID ?? `rv-tabbar-item-${itemName}`
87
+ testID: testID ?? `rv-tabbar-item-${in_}`
92
88
  }
93
89
  });
94
- const shouldRenderBadge = (0, _react().useMemo)(() => dot || (0, _validate.isRenderable)(badge), [badge, dot]);
95
- const renderBadge = (0, _react().useCallback)(() => {
90
+ const srb = dot || (0, _validate.isRenderable)(badge);
91
+ const rb = (0, _react().useCallback)(() => {
96
92
  if ((0, _validate.isRenderable)(badge)) {
97
- if ((0, _validate.isText)(badge)) {
98
- return /*#__PURE__*/_react().default.createElement(_badge.default, {
99
- content: badge
100
- });
101
- }
93
+ if ((0, _validate.isText)(badge)) return /*#__PURE__*/_react().default.createElement(_badge.default, {
94
+ content: badge
95
+ });
102
96
  if ((0, _validate.isPlainObject)(badge)) {
103
- const badgeProps = badge;
104
- return /*#__PURE__*/_react().default.createElement(_badge.default, _extends({}, badgeProps, {
105
- dot: dot || badgeProps.dot
97
+ const bp = badge;
98
+ return /*#__PURE__*/_react().default.createElement(_badge.default, _extends({}, bp, {
99
+ dot: dot || bp.dot
106
100
  }));
107
101
  }
102
+ ;
108
103
  return badge;
109
104
  }
105
+ ;
110
106
  return /*#__PURE__*/_react().default.createElement(_badge.default, {
111
107
  dot: true
112
108
  });
113
109
  }, [badge, dot]);
114
- const itemStyle = (0, _react().useMemo)(() => [styles.item, {
115
- height: tokens.layout.height,
116
- paddingVertical: tokens.layout.paddingVertical,
110
+ const is_ = [S.i, {
111
+ height: t.layout.height,
112
+ paddingVertical: t.layout.paddingVertical,
117
113
  opacity: disabled ? 0.5 : 1
118
- }, style], [disabled, style, tokens.layout.height, tokens.layout.paddingVertical]);
119
- const labelStyle = (0, _react().useMemo)(() => [styles.label, {
120
- color,
121
- fontSize: context.fontSize,
122
- fontWeight: context.fontWeight,
123
- lineHeight: context.fontSize
124
- }, textStyle], [color, context.fontSize, context.fontWeight, textStyle]);
125
- return /*#__PURE__*/_react().default.createElement(_reactNative().Pressable, _extends({}, rest, ariaPress.interactionProps, {
126
- style: itemStyle
114
+ }, style];
115
+ const ls = [S.l, {
116
+ color: c,
117
+ fontSize: ctx.fontSize,
118
+ fontWeight: ctx.fontWeight,
119
+ lineHeight: ctx.fontSize
120
+ }, textStyle];
121
+ return /*#__PURE__*/_react().default.createElement(_reactNative().Pressable, _extends({}, rest, ap.interactionProps, {
122
+ style: is_
127
123
  }), /*#__PURE__*/_react().default.createElement(_reactNative().View, {
128
- style: [styles.iconWrapper, iconStyle]
129
- }, renderIcon(), shouldRenderBadge && /*#__PURE__*/_react().default.createElement(_reactNative().View, {
130
- style: styles.badge
131
- }, renderBadge())), (0, _validate.isRenderable)(children) ? /*#__PURE__*/_react().default.createElement(_reactNative().Text, {
132
- style: labelStyle
133
- }, renderLabel()) : null);
124
+ style: [S.iw, iconStyle]
125
+ }, ri(), srb && /*#__PURE__*/_react().default.createElement(_reactNative().View, {
126
+ style: S.b
127
+ }, rb())), (0, _validate.isRenderable)(children) ? /*#__PURE__*/_react().default.createElement(_reactNative().Text, {
128
+ style: ls
129
+ }, rl()) : null);
134
130
  };
135
- const styles = _reactNative().StyleSheet.create({
136
- item: {
131
+ const S = _reactNative().StyleSheet.create({
132
+ i: {
137
133
  flex: 1,
138
134
  alignItems: 'center',
139
135
  justifyContent: 'center',
140
136
  gap: 4
141
137
  },
142
- iconWrapper: {
138
+ iw: {
143
139
  alignItems: 'center',
144
140
  justifyContent: 'center'
145
141
  },
146
- badge: {
142
+ b: {
147
143
  position: 'absolute',
148
144
  top: -4,
149
145
  right: -12
150
146
  },
151
- label: {
147
+ l: {
152
148
  includeFontPadding: false
153
149
  }
154
150
  });
151
+ const TabbarItem = /*#__PURE__*/_react().default.memo(TabbarItemImpl);
155
152
  TabbarItem.displayName = 'Tabbar.Item';
156
153
  var _default = exports.default = TabbarItem;