react-native-system-ui 0.0.4 → 0.0.6

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 (371) hide show
  1. package/dist/cjs/components/action-sheet/ActionSheet.js +28 -22
  2. package/dist/cjs/components/area/Area.js +72 -6
  3. package/dist/cjs/components/area/tokens.js +11 -0
  4. package/dist/cjs/components/avatar/Avatar.js +42 -10
  5. package/dist/cjs/components/badge/Badge.js +10 -10
  6. package/dist/cjs/components/badge/tokens.js +4 -0
  7. package/dist/cjs/components/button/Button.js +16 -65
  8. package/dist/cjs/components/button/ButtonContext.js +7 -10
  9. package/dist/cjs/components/button/ButtonGroup.js +13 -15
  10. package/dist/cjs/components/button/tokens.js +1 -5
  11. package/dist/cjs/components/calendar/Calendar.js +23 -12
  12. package/dist/cjs/components/cascader/Cascader.js +18 -13
  13. package/dist/cjs/components/cell/Cell.js +3 -3
  14. package/dist/cjs/components/cell/CellGroup.js +26 -21
  15. package/dist/cjs/components/checkbox/Checkbox.js +5 -4
  16. package/dist/cjs/components/checkbox/CheckboxContext.js +7 -10
  17. package/dist/cjs/components/checkbox/CheckboxGroup.js +24 -21
  18. package/dist/cjs/components/circle/Circle.js +6 -6
  19. package/dist/cjs/components/collapse/Collapse.js +10 -10
  20. package/dist/cjs/components/config-provider/locale/en-US.js +66 -4
  21. package/dist/cjs/components/config-provider/locale/zh-CN.js +74 -2
  22. package/dist/cjs/components/config-provider/tokens.js +11 -0
  23. package/dist/cjs/components/count-down/CountDown.js +6 -6
  24. package/dist/cjs/components/datetime-picker/DatetimePicker.js +6 -6
  25. package/dist/cjs/components/datetime-picker/tokens.js +11 -0
  26. package/dist/cjs/components/dialog/Dialog.js +39 -34
  27. package/dist/cjs/components/dialog/tokens.js +1 -4
  28. package/dist/cjs/components/divider/Divider.js +36 -1
  29. package/dist/cjs/components/field/Field.js +303 -201
  30. package/dist/cjs/components/flex/Flex.js +7 -3
  31. package/dist/cjs/components/flex/FlexContext.js +7 -14
  32. package/dist/cjs/components/form/Form.js +112 -122
  33. package/dist/cjs/components/form/FormContext.js +7 -10
  34. package/dist/cjs/components/form/FormItem.js +30 -4
  35. package/dist/cjs/components/form/FormList.js +16 -3
  36. package/dist/cjs/components/form/tokens.js +11 -0
  37. package/dist/cjs/components/form/utils.js +2 -1
  38. package/dist/cjs/components/grid/Grid.js +45 -31
  39. package/dist/cjs/components/grid/GridContext.js +7 -10
  40. package/dist/cjs/components/grid/GridItem.js +22 -22
  41. package/dist/cjs/components/image/Image.js +17 -13
  42. package/dist/cjs/components/image-preview/ImagePreview.js +43 -41
  43. package/dist/cjs/components/index.js +43 -141
  44. package/dist/cjs/components/input/Input.js +19 -5
  45. package/dist/cjs/components/loading/Loading.js +10 -139
  46. package/dist/cjs/components/loading/tokens.js +0 -24
  47. package/dist/cjs/components/notice-bar/NoticeBar.js +45 -41
  48. package/dist/cjs/components/notify/Notify.js +72 -30
  49. package/dist/cjs/components/notify/imperative.js +2 -2
  50. package/dist/cjs/components/notify/tokens.js +11 -1
  51. package/dist/cjs/components/number-keyboard/NumberKeyboard.js +6 -6
  52. package/dist/cjs/components/overlay/Overlay.js +70 -77
  53. package/dist/cjs/components/overlay/index.js +13 -27
  54. package/dist/cjs/components/overlay/tokens.js +4 -31
  55. package/dist/cjs/components/password-input/PasswordInput.js +2 -41
  56. package/dist/cjs/components/password-input/tokens.js +53 -0
  57. package/dist/cjs/components/picker/Picker.js +618 -38
  58. package/dist/cjs/components/popup/Popup.js +60 -47
  59. package/dist/cjs/components/portal/Portal.js +39 -31
  60. package/dist/cjs/components/portal/PortalHost.js +258 -213
  61. package/dist/cjs/components/portal/tokens.js +11 -0
  62. package/dist/cjs/components/progress/Progress.js +77 -36
  63. package/dist/cjs/components/progress/index.js +6 -0
  64. package/dist/cjs/components/radio/Radio.js +35 -12
  65. package/dist/cjs/components/radio/RadioContext.js +7 -10
  66. package/dist/cjs/components/radio/RadioGroup.js +23 -20
  67. package/dist/cjs/components/safe-area-view/tokens.js +11 -0
  68. package/dist/cjs/components/search/Search.js +16 -16
  69. package/dist/cjs/components/selector/Selector.js +6 -6
  70. package/dist/cjs/components/share-sheet/ShareSheet.js +50 -46
  71. package/dist/cjs/components/sidebar/Sidebar.js +27 -22
  72. package/dist/cjs/components/sidebar/SidebarItem.js +27 -22
  73. package/dist/cjs/components/skeleton/Skeleton.js +34 -21
  74. package/dist/cjs/components/slider/Slider.js +135 -78
  75. package/dist/cjs/components/stepper/Stepper.js +12 -10
  76. package/dist/cjs/components/swiper/Swiper.js +247 -710
  77. package/dist/cjs/components/swiper/SwiperItem.js +5 -33
  78. package/dist/cjs/components/swiper/tokens.js +11 -0
  79. package/dist/cjs/components/switch/Switch.js +46 -98
  80. package/dist/cjs/components/switch/tokens.js +1 -55
  81. package/dist/cjs/components/tabbar/Tabbar.js +26 -22
  82. package/dist/cjs/components/tabbar/TabbarItem.js +23 -22
  83. package/dist/cjs/components/tabbar/tokens.js +0 -2
  84. package/dist/cjs/components/tabs/Tabs.js +268 -94
  85. package/dist/cjs/components/tabs/index.js +4 -5
  86. package/dist/cjs/components/toast/Toast.js +72 -27
  87. package/dist/cjs/components/toast/imperative.js +2 -2
  88. package/dist/cjs/hooks/gesture/useGestureScroll.js +1 -2
  89. package/dist/cjs/hooks/index.js +12 -12
  90. package/dist/cjs/hooks/overlay/index.js +27 -0
  91. package/dist/cjs/hooks/useHairline.js +0 -4
  92. package/dist/cjs/platform/scrollLock.js +1 -1
  93. package/dist/cjs/utils/compare.js +26 -0
  94. package/dist/cjs/utils/index.js +11 -0
  95. package/dist/es/components/action-sheet/ActionSheet.js +29 -23
  96. package/dist/es/components/area/Area.js +73 -7
  97. package/dist/es/components/area/tokens.js +5 -0
  98. package/dist/es/components/avatar/Avatar.js +42 -10
  99. package/dist/es/components/badge/Badge.js +11 -11
  100. package/dist/es/components/badge/tokens.js +4 -0
  101. package/dist/es/components/button/Button.js +17 -65
  102. package/dist/es/components/button/ButtonContext.js +1 -2
  103. package/dist/es/components/button/ButtonGroup.js +10 -12
  104. package/dist/es/components/button/tokens.js +1 -5
  105. package/dist/es/components/calendar/Calendar.js +24 -13
  106. package/dist/es/components/cascader/Cascader.js +16 -11
  107. package/dist/es/components/cell/Cell.js +4 -4
  108. package/dist/es/components/cell/CellGroup.js +25 -20
  109. package/dist/es/components/checkbox/Checkbox.js +5 -4
  110. package/dist/es/components/checkbox/CheckboxContext.js +1 -2
  111. package/dist/es/components/checkbox/CheckboxGroup.js +24 -21
  112. package/dist/es/components/circle/Circle.js +7 -7
  113. package/dist/es/components/collapse/Collapse.js +11 -11
  114. package/dist/es/components/config-provider/locale/en-US.js +66 -4
  115. package/dist/es/components/config-provider/locale/zh-CN.js +74 -2
  116. package/dist/es/components/config-provider/tokens.js +5 -0
  117. package/dist/es/components/count-down/CountDown.js +7 -7
  118. package/dist/es/components/datetime-picker/DatetimePicker.js +7 -7
  119. package/dist/es/components/datetime-picker/tokens.js +5 -0
  120. package/dist/es/components/dialog/Dialog.js +40 -35
  121. package/dist/es/components/dialog/tokens.js +1 -4
  122. package/dist/es/components/divider/Divider.js +36 -1
  123. package/dist/es/components/field/Field.js +304 -202
  124. package/dist/es/components/flex/Flex.js +5 -1
  125. package/dist/es/components/flex/FlexContext.js +1 -6
  126. package/dist/es/components/form/Form.js +89 -99
  127. package/dist/es/components/form/FormContext.js +1 -2
  128. package/dist/es/components/form/FormItem.js +32 -6
  129. package/dist/es/components/form/FormList.js +18 -5
  130. package/dist/es/components/form/tokens.js +5 -0
  131. package/dist/es/components/form/utils.js +1 -0
  132. package/dist/es/components/grid/Grid.js +43 -29
  133. package/dist/es/components/grid/GridContext.js +1 -2
  134. package/dist/es/components/grid/GridItem.js +24 -24
  135. package/dist/es/components/image/Image.js +18 -14
  136. package/dist/es/components/image-preview/ImagePreview.js +44 -42
  137. package/dist/es/components/index.js +2 -17
  138. package/dist/es/components/input/Input.js +20 -6
  139. package/dist/es/components/loading/Loading.js +10 -139
  140. package/dist/es/components/loading/tokens.js +0 -24
  141. package/dist/es/components/notice-bar/NoticeBar.js +46 -42
  142. package/dist/es/components/notify/Notify.js +72 -30
  143. package/dist/es/components/notify/imperative.js +2 -2
  144. package/dist/es/components/notify/tokens.js +5 -1
  145. package/dist/es/components/number-keyboard/NumberKeyboard.js +7 -7
  146. package/dist/es/components/overlay/Overlay.js +58 -75
  147. package/dist/es/components/overlay/index.js +3 -4
  148. package/dist/es/components/overlay/tokens.js +3 -29
  149. package/dist/es/components/password-input/PasswordInput.js +1 -40
  150. package/dist/es/components/password-input/tokens.js +41 -0
  151. package/dist/es/components/picker/Picker.js +610 -34
  152. package/dist/es/components/popup/Popup.js +62 -49
  153. package/dist/es/components/portal/Portal.js +37 -31
  154. package/dist/es/components/portal/PortalHost.js +257 -211
  155. package/dist/es/components/portal/tokens.js +5 -0
  156. package/dist/es/components/progress/Progress.js +76 -36
  157. package/dist/es/components/progress/index.js +2 -1
  158. package/dist/es/components/radio/Radio.js +37 -14
  159. package/dist/es/components/radio/RadioContext.js +1 -2
  160. package/dist/es/components/radio/RadioGroup.js +23 -20
  161. package/dist/es/components/safe-area-view/tokens.js +5 -0
  162. package/dist/es/components/search/Search.js +17 -17
  163. package/dist/es/components/selector/Selector.js +7 -7
  164. package/dist/es/components/share-sheet/ShareSheet.js +51 -47
  165. package/dist/es/components/sidebar/Sidebar.js +26 -21
  166. package/dist/es/components/sidebar/SidebarItem.js +26 -22
  167. package/dist/es/components/skeleton/Skeleton.js +35 -22
  168. package/dist/es/components/slider/Slider.js +132 -75
  169. package/dist/es/components/stepper/Stepper.js +13 -11
  170. package/dist/es/components/swiper/Swiper.js +248 -711
  171. package/dist/es/components/swiper/SwiperItem.js +1 -21
  172. package/dist/es/components/swiper/tokens.js +5 -0
  173. package/dist/es/components/switch/Switch.js +49 -101
  174. package/dist/es/components/switch/tokens.js +1 -49
  175. package/dist/es/components/tabbar/Tabbar.js +27 -23
  176. package/dist/es/components/tabbar/TabbarItem.js +22 -22
  177. package/dist/es/components/tabbar/tokens.js +0 -2
  178. package/dist/es/components/tabs/Tabs.js +264 -90
  179. package/dist/es/components/tabs/index.js +1 -2
  180. package/dist/es/components/toast/Toast.js +72 -28
  181. package/dist/es/components/toast/imperative.js +2 -2
  182. package/dist/es/hooks/gesture/useGestureScroll.js +1 -2
  183. package/dist/es/hooks/index.js +1 -1
  184. package/dist/es/hooks/overlay/index.js +3 -0
  185. package/dist/es/hooks/useHairline.js +0 -4
  186. package/dist/es/platform/scrollLock.js +1 -1
  187. package/dist/es/utils/compare.js +18 -0
  188. package/dist/es/utils/index.js +1 -1
  189. package/dist/types/components/area/tokens.d.ts +3 -0
  190. package/dist/types/components/avatar/Avatar.d.ts +4 -2
  191. package/dist/types/components/button/ButtonContext.d.ts +2 -16
  192. package/dist/types/components/button/ButtonGroup.d.ts +14 -1
  193. package/dist/types/components/button/index.d.ts +1 -1
  194. package/dist/types/components/checkbox/CheckboxContext.d.ts +2 -16
  195. package/dist/types/components/checkbox/CheckboxGroup.d.ts +15 -1
  196. package/dist/types/components/collapse/Collapse.d.ts +0 -1
  197. package/dist/types/components/config-provider/LocaleContext.d.ts +2 -74
  198. package/dist/types/components/config-provider/tokens.d.ts +3 -0
  199. package/dist/types/components/config-provider/useLocale.d.ts +1 -74
  200. package/dist/types/components/datetime-picker/tokens.d.ts +3 -0
  201. package/dist/types/components/flex/Flex.d.ts +6 -0
  202. package/dist/types/components/flex/FlexContext.d.ts +2 -8
  203. package/dist/types/components/form/Form.d.ts +15 -1
  204. package/dist/types/components/form/FormContext.d.ts +2 -17
  205. package/dist/types/components/form/tokens.d.ts +3 -0
  206. package/dist/types/components/form/utils.d.ts +1 -0
  207. package/dist/types/components/grid/Grid.d.ts +16 -1
  208. package/dist/types/components/grid/GridContext.d.ts +2 -17
  209. package/dist/types/components/index.d.ts +3 -33
  210. package/dist/types/components/loading/index.d.ts +1 -1
  211. package/dist/types/components/notify/Notify.d.ts +1 -0
  212. package/dist/types/components/overlay/Overlay.d.ts +6 -1
  213. package/dist/types/components/overlay/index.d.ts +2 -3
  214. package/dist/types/components/overlay/tokens.d.ts +2 -3
  215. package/dist/types/components/password-input/PasswordInput.d.ts +0 -39
  216. package/dist/types/components/password-input/tokens.d.ts +40 -0
  217. package/dist/types/components/picker/Picker.d.ts +18 -2
  218. package/dist/types/components/picker/index.d.ts +1 -1
  219. package/dist/types/components/portal/Portal.d.ts +4 -6
  220. package/dist/types/components/portal/PortalHost.d.ts +1 -15
  221. package/dist/types/components/portal/tokens.d.ts +3 -0
  222. package/dist/types/components/progress/Progress.d.ts +4 -0
  223. package/dist/types/components/progress/index.d.ts +2 -1
  224. package/dist/types/components/radio/RadioContext.d.ts +2 -13
  225. package/dist/types/components/radio/RadioGroup.d.ts +12 -1
  226. package/dist/types/components/safe-area-view/tokens.d.ts +3 -0
  227. package/dist/types/components/swiper/Swiper.d.ts +4 -2
  228. package/dist/types/components/swiper/SwiperItem.d.ts +1 -5
  229. package/dist/types/components/swiper/tokens.d.ts +3 -0
  230. package/dist/types/components/tabs/Tabs.d.ts +8 -4
  231. package/dist/types/components/tabs/index.d.ts +3 -1
  232. package/dist/types/components/toast/Toast.d.ts +1 -4
  233. package/dist/types/hooks/aria/useAriaListBox.d.ts +0 -6
  234. package/dist/types/hooks/aria/useAriaOverlay.d.ts +0 -10
  235. package/dist/types/hooks/aria/useAriaPress.d.ts +0 -20
  236. package/dist/types/hooks/aria/useAriaToggle.d.ts +0 -3
  237. package/dist/types/hooks/index.d.ts +1 -1
  238. package/dist/types/hooks/overlay/index.d.ts +2 -0
  239. package/dist/types/hooks/useHairline.d.ts +0 -21
  240. package/dist/types/utils/compare.d.ts +2 -0
  241. package/dist/types/utils/index.d.ts +1 -0
  242. package/package.json +10 -48
  243. package/dist/cjs/components/area/utils.js +0 -74
  244. package/dist/cjs/components/cascader/utils.js +0 -20
  245. package/dist/cjs/components/config-provider/locale/base.js +0 -80
  246. package/dist/cjs/components/dropdown-menu/DropdownItem.js +0 -288
  247. package/dist/cjs/components/dropdown-menu/DropdownMenu.js +0 -340
  248. package/dist/cjs/components/dropdown-menu/DropdownMenuContext.js +0 -21
  249. package/dist/cjs/components/dropdown-menu/index.js +0 -25
  250. package/dist/cjs/components/dropdown-menu/tokens.js +0 -67
  251. package/dist/cjs/components/field/utils.js +0 -24
  252. package/dist/cjs/components/index-bar/IndexAnchor.js +0 -74
  253. package/dist/cjs/components/index-bar/IndexBar.js +0 -436
  254. package/dist/cjs/components/index-bar/index.js +0 -25
  255. package/dist/cjs/components/index-bar/tokens.js +0 -45
  256. package/dist/cjs/components/list/List.js +0 -165
  257. package/dist/cjs/components/list/index.js +0 -9
  258. package/dist/cjs/components/list/tokens.js +0 -39
  259. package/dist/cjs/components/notify/defaults.js +0 -15
  260. package/dist/cjs/components/pagination/Pagination.js +0 -160
  261. package/dist/cjs/components/pagination/index.js +0 -22
  262. package/dist/cjs/components/pagination/tokens.js +0 -103
  263. package/dist/cjs/components/picker/WheelPicker.js +0 -492
  264. package/dist/cjs/components/picker/utils.js +0 -138
  265. package/dist/cjs/components/pull-refresh/PullRefresh.js +0 -378
  266. package/dist/cjs/components/pull-refresh/index.js +0 -16
  267. package/dist/cjs/components/pull-refresh/tokens.js +0 -22
  268. package/dist/cjs/components/rate/Rate.js +0 -269
  269. package/dist/cjs/components/rate/index.js +0 -15
  270. package/dist/cjs/components/rate/tokens.js +0 -60
  271. package/dist/cjs/components/slider/utils.js +0 -60
  272. package/dist/cjs/components/swiper/useSwiperWeb.js +0 -209
  273. package/dist/cjs/components/swiper/utils.js +0 -49
  274. package/dist/cjs/components/tabs/TabPane.js +0 -9
  275. package/dist/cjs/components/tabs/useTabsAnimation.js +0 -74
  276. package/dist/cjs/components/tabs/useTabsScroll.js +0 -133
  277. package/dist/cjs/components/tabs/utils.js +0 -34
  278. package/dist/cjs/components/types.js +0 -1
  279. package/dist/cjs/components/uploader/Uploader.js +0 -557
  280. package/dist/cjs/components/uploader/index.js +0 -22
  281. package/dist/cjs/components/uploader/tokens.js +0 -58
  282. package/dist/cjs/components/uploader/utils.js +0 -72
  283. package/dist/cjs/hooks/usePresenceAnimation.js +0 -70
  284. package/dist/es/components/area/utils.js +0 -67
  285. package/dist/es/components/cascader/utils.js +0 -13
  286. package/dist/es/components/config-provider/locale/base.js +0 -74
  287. package/dist/es/components/dropdown-menu/DropdownItem.js +0 -269
  288. package/dist/es/components/dropdown-menu/DropdownMenu.js +0 -320
  289. package/dist/es/components/dropdown-menu/DropdownMenuContext.js +0 -7
  290. package/dist/es/components/dropdown-menu/index.js +0 -7
  291. package/dist/es/components/dropdown-menu/tokens.js +0 -61
  292. package/dist/es/components/field/utils.js +0 -17
  293. package/dist/es/components/index-bar/IndexAnchor.js +0 -55
  294. package/dist/es/components/index-bar/IndexBar.js +0 -417
  295. package/dist/es/components/index-bar/index.js +0 -7
  296. package/dist/es/components/index-bar/tokens.js +0 -39
  297. package/dist/es/components/list/List.js +0 -145
  298. package/dist/es/components/list/index.js +0 -2
  299. package/dist/es/components/list/tokens.js +0 -32
  300. package/dist/es/components/notify/defaults.js +0 -9
  301. package/dist/es/components/pagination/Pagination.js +0 -141
  302. package/dist/es/components/pagination/index.js +0 -4
  303. package/dist/es/components/pagination/tokens.js +0 -91
  304. package/dist/es/components/picker/WheelPicker.js +0 -473
  305. package/dist/es/components/picker/utils.js +0 -127
  306. package/dist/es/components/pull-refresh/PullRefresh.js +0 -359
  307. package/dist/es/components/pull-refresh/index.js +0 -3
  308. package/dist/es/components/pull-refresh/tokens.js +0 -16
  309. package/dist/es/components/rate/Rate.js +0 -250
  310. package/dist/es/components/rate/index.js +0 -3
  311. package/dist/es/components/rate/tokens.js +0 -53
  312. package/dist/es/components/slider/utils.js +0 -49
  313. package/dist/es/components/swiper/useSwiperWeb.js +0 -190
  314. package/dist/es/components/swiper/utils.js +0 -37
  315. package/dist/es/components/tabs/TabPane.js +0 -3
  316. package/dist/es/components/tabs/useTabsAnimation.js +0 -55
  317. package/dist/es/components/tabs/useTabsScroll.js +0 -114
  318. package/dist/es/components/tabs/utils.js +0 -19
  319. package/dist/es/components/types.js +0 -1
  320. package/dist/es/components/uploader/Uploader.js +0 -537
  321. package/dist/es/components/uploader/index.js +0 -4
  322. package/dist/es/components/uploader/tokens.js +0 -52
  323. package/dist/es/components/uploader/utils.js +0 -60
  324. package/dist/es/hooks/usePresenceAnimation.js +0 -51
  325. package/dist/types/components/area/utils.d.ts +0 -2
  326. package/dist/types/components/cascader/utils.d.ts +0 -6
  327. package/dist/types/components/config-provider/locale/base.d.ts +0 -74
  328. package/dist/types/components/dropdown-menu/DropdownItem.d.ts +0 -4
  329. package/dist/types/components/dropdown-menu/DropdownMenu.d.ts +0 -4
  330. package/dist/types/components/dropdown-menu/DropdownMenuContext.d.ts +0 -17
  331. package/dist/types/components/dropdown-menu/index.d.ts +0 -8
  332. package/dist/types/components/dropdown-menu/tokens.d.ts +0 -52
  333. package/dist/types/components/field/utils.d.ts +0 -4
  334. package/dist/types/components/index-bar/IndexAnchor.d.ts +0 -4
  335. package/dist/types/components/index-bar/IndexBar.d.ts +0 -4
  336. package/dist/types/components/index-bar/index.d.ts +0 -9
  337. package/dist/types/components/index-bar/tokens.d.ts +0 -31
  338. package/dist/types/components/list/List.d.ts +0 -4
  339. package/dist/types/components/list/index.d.ts +0 -3
  340. package/dist/types/components/list/tokens.d.ts +0 -4
  341. package/dist/types/components/notify/defaults.d.ts +0 -10
  342. package/dist/types/components/pagination/Pagination.d.ts +0 -5
  343. package/dist/types/components/pagination/index.d.ts +0 -5
  344. package/dist/types/components/pagination/tokens.d.ts +0 -2
  345. package/dist/types/components/picker/WheelPicker.d.ts +0 -21
  346. package/dist/types/components/picker/utils.d.ts +0 -17
  347. package/dist/types/components/pull-refresh/PullRefresh.d.ts +0 -5
  348. package/dist/types/components/pull-refresh/index.d.ts +0 -4
  349. package/dist/types/components/pull-refresh/tokens.d.ts +0 -10
  350. package/dist/types/components/rate/Rate.d.ts +0 -4
  351. package/dist/types/components/rate/index.d.ts +0 -4
  352. package/dist/types/components/rate/tokens.d.ts +0 -4
  353. package/dist/types/components/slider/utils.d.ts +0 -42
  354. package/dist/types/components/swiper/useSwiperWeb.d.ts +0 -41
  355. package/dist/types/components/swiper/utils.d.ts +0 -17
  356. package/dist/types/components/tabs/TabPane.d.ts +0 -4
  357. package/dist/types/components/tabs/useTabsAnimation.d.ts +0 -30
  358. package/dist/types/components/tabs/useTabsScroll.d.ts +0 -23
  359. package/dist/types/components/tabs/utils.d.ts +0 -5
  360. package/dist/types/components/types.d.ts +0 -59
  361. package/dist/types/components/uploader/Uploader.d.ts +0 -4
  362. package/dist/types/components/uploader/index.d.ts +0 -5
  363. package/dist/types/components/uploader/tokens.d.ts +0 -42
  364. package/dist/types/components/uploader/utils.d.ts +0 -11
  365. package/dist/types/hooks/usePresenceAnimation.d.ts +0 -20
  366. /package/dist/cjs/{components → hooks}/overlay/OverlayStackStore.js +0 -0
  367. /package/dist/cjs/{components → hooks}/overlay/useOverlayStack.js +0 -0
  368. /package/dist/es/{components → hooks}/overlay/OverlayStackStore.js +0 -0
  369. /package/dist/es/{components → hooks}/overlay/useOverlayStack.js +0 -0
  370. /package/dist/types/{components → hooks}/overlay/OverlayStackStore.d.ts +0 -0
  371. /package/dist/types/{components → hooks}/overlay/useOverlayStack.d.ts +0 -0
@@ -3,38 +3,10 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = void 0;
7
- function _react() {
8
- const data = _interopRequireWildcard(require("react"));
9
- _react = function () {
10
- return data;
11
- };
12
- return data;
13
- }
14
- function _reactNative() {
15
- const data = require("react-native");
16
- _reactNative = function () {
17
- return data;
18
- };
19
- return data;
20
- }
21
- 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); }
22
- const SwiperItem = /*#__PURE__*/(0, _react().forwardRef)((props, ref) => {
23
- const {
24
- style,
25
- children,
26
- testID
27
- } = props;
28
- return /*#__PURE__*/_react().default.createElement(_reactNative().View, {
29
- ref: ref,
30
- style: [styles.item, style],
31
- testID: testID
32
- }, children);
33
- });
34
- SwiperItem.displayName = 'SwiperItem';
35
- const styles = _reactNative().StyleSheet.create({
36
- item: {
37
- flex: 1
6
+ Object.defineProperty(exports, "default", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _Swiper.SwiperItem;
38
10
  }
39
11
  });
40
- var _default = exports.default = SwiperItem;
12
+ var _Swiper = require("./Swiper");
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useSwiperTokens = void 0;
7
+ var _designSystem = require("../../design-system");
8
+ const createSwiperTokens = _foundations => {
9
+ return {};
10
+ };
11
+ const useSwiperTokens = exports.useSwiperTokens = (0, _designSystem.createComponentTokensHook)('swiper', createSwiperTokens);
@@ -18,18 +18,13 @@ function _reactNative() {
18
18
  };
19
19
  return data;
20
20
  }
21
- var _platform = require("../../platform");
22
21
  var _hooks = require("../../hooks");
23
22
  var _utils = require("../../utils");
24
23
  var _tokens = require("./tokens");
25
24
  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); }
26
- 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); }
27
- const AnimatedHandle = _reactNative().Animated.createAnimatedComponent(_reactNative().View);
28
- const switchEasing = _reactNative().Easing.bezier(0.25, 0.1, 0.25, 1);
29
25
  const SwitchImpl = props => {
30
26
  const {
31
27
  disabled: disabledProp,
32
- loading: loadingProp,
33
28
  size,
34
29
  activeColor,
35
30
  inactiveColor,
@@ -37,25 +32,27 @@ const SwitchImpl = props => {
37
32
  inactiveValue: inactiveValueProp,
38
33
  tokensOverride,
39
34
  onClick,
40
- style,
41
- ...rest
35
+ style
42
36
  } = props;
43
37
  const tokens = (0, _tokens.useSwitchTokens)(tokensOverride);
44
38
  const disabled = disabledProp ?? tokens.defaults.disabled;
45
- const loading = loadingProp ?? tokens.defaults.loading;
46
- const activeValue = activeValueProp ?? tokens.defaults.activeValue;
47
- const inactiveValue = inactiveValueProp ?? tokens.defaults.inactiveValue;
48
- const resolvedSize = Math.max(0, (0, _utils.parseNumber)(size, tokens.defaults.size));
49
- const borderWidth = tokens.borders.width;
50
- const inset = Math.max(0, tokens.spacing.inset);
51
- const trackHeight = resolvedSize;
52
- const trackWidth = trackHeight * 2;
53
- const trackRadius = trackHeight / 2;
54
- const innerHeight = Math.max(0, trackHeight - borderWidth * 2);
55
- const innerWidth = Math.max(0, trackWidth - borderWidth * 2);
56
- const handleSize = Math.max(0, innerHeight - inset * 2);
57
- const handleRadius = handleSize / 2;
58
- const translateDistance = Math.max(0, innerWidth - handleSize - inset * 2);
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]);
41
+ const scale = (0, _react().useMemo)(() => {
42
+ if (!tokens.defaults.size) return 1;
43
+ if (typeof size === 'string') {
44
+ const value = size.toLowerCase();
45
+ if (value === 'sm') return 0.75;
46
+ if (value === 'md') return 1;
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);
53
+ }
54
+ return 1;
55
+ }, [size, tokens.defaults.size]);
59
56
  const [value, triggerChange] = (0, _hooks.useControllableValue)(props, {
60
57
  valuePropName: 'checked',
61
58
  defaultValuePropName: 'defaultChecked',
@@ -63,93 +60,44 @@ const SwitchImpl = props => {
63
60
  trigger: 'onChange'
64
61
  });
65
62
  const isChecked = Object.is(value, activeValue);
66
- const progress = (0, _react().useRef)(new (_reactNative().Animated.Value)(isChecked ? 1 : 0)).current;
67
- const colorProgress = (0, _react().useRef)(new (_reactNative().Animated.Value)(isChecked ? 1 : 0)).current;
68
- (0, _react().useEffect)(() => {
69
- const toValue = isChecked ? 1 : 0;
70
- progress.stopAnimation();
71
- colorProgress.stopAnimation();
72
- const animation = _reactNative().Animated.parallel([_reactNative().Animated.timing(progress, {
73
- toValue,
74
- duration: tokens.animation.duration,
75
- easing: switchEasing,
76
- useNativeDriver: _platform.nativeDriverEnabled
77
- }), _reactNative().Animated.timing(colorProgress, {
78
- toValue,
79
- duration: tokens.animation.duration,
80
- easing: switchEasing,
81
- useNativeDriver: false
82
- })]);
83
- animation.start();
84
- return () => animation.stop();
85
- }, [colorProgress, isChecked, progress, tokens.animation.duration]);
86
- const translateX = progress.interpolate({
87
- inputRange: [0, 1],
88
- outputRange: [0, translateDistance]
89
- });
90
- const resolvedActiveColor = activeColor ?? tokens.colors.activeTrack;
91
- const resolvedInactiveColor = inactiveColor ?? tokens.colors.inactiveTrack;
92
- const trackColor = isChecked ? resolvedActiveColor : resolvedInactiveColor;
93
- const animatedTrackColor = colorProgress.interpolate({
94
- inputRange: [0, 1],
95
- outputRange: [resolvedInactiveColor, resolvedActiveColor]
96
- });
97
- const handlePress = event => {
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]);
65
+ const handleTouchEnd = (0, _react().useCallback)(event => {
98
66
  if (disabled) return;
99
67
  onClick?.(event);
100
- if (loading) return;
68
+ }, [disabled, onClick]);
69
+ const handleValueChange = (0, _react().useCallback)(() => {
70
+ if (disabled) return;
101
71
  const next = isChecked ? inactiveValue : activeValue;
102
72
  if (Object.is(next, value)) return;
103
73
  triggerChange(next);
104
- };
105
- const {
106
- interactionProps
107
- } = (0, _hooks.useAriaPress)({
108
- disabled,
109
- onPress: handlePress,
110
- extraProps: rest
111
- });
112
- return /*#__PURE__*/_react().default.createElement(_reactNative().Pressable, _extends({}, interactionProps, {
74
+ }, [activeValue, disabled, inactiveValue, isChecked, triggerChange, value]);
75
+ return /*#__PURE__*/_react().default.createElement(_reactNative().Switch, {
76
+ value: isChecked,
77
+ disabled: disabled,
78
+ trackColor: {
79
+ false: resolvedInactiveColor,
80
+ true: resolvedActiveColor
81
+ },
82
+ thumbColor: tokens.colors.handle,
83
+ ios_backgroundColor: resolvedInactiveColor,
84
+ style: [{
85
+ transform: [{
86
+ scaleX: scale
87
+ }, {
88
+ scaleY: scale
89
+ }]
90
+ }, {
91
+ opacity: disabled ? tokens.opacity.disabled : 1
92
+ }, style],
113
93
  accessibilityRole: "switch",
114
94
  accessibilityState: {
115
95
  checked: isChecked,
116
96
  disabled
117
97
  },
118
- disabled: disabled,
119
- style: ({
120
- pressed
121
- }) => [tokens.layout.container, {
122
- opacity: disabled ? tokens.opacity.disabled : pressed ? tokens.opacity.pressed : 1
123
- }, style]
124
- }), /*#__PURE__*/_react().default.createElement(_reactNative().Animated.View, {
125
- style: [tokens.layout.track, {
126
- width: trackWidth,
127
- height: trackHeight,
128
- borderRadius: trackRadius,
129
- backgroundColor: animatedTrackColor,
130
- borderWidth,
131
- borderColor: tokens.colors.border
132
- }, {
133
- pointerEvents: 'none'
134
- }]
135
- }, /*#__PURE__*/_react().default.createElement(AnimatedHandle, {
136
- style: [tokens.layout.handleOuter, tokens.layout.handleInner, {
137
- width: handleSize,
138
- height: handleSize,
139
- borderRadius: handleRadius,
140
- top: inset,
141
- left: inset,
142
- transform: [{
143
- translateX
144
- }],
145
- backgroundColor: tokens.colors.handle,
146
- borderWidth,
147
- borderColor: tokens.colors.border
148
- }]
149
- }, loading && /*#__PURE__*/_react().default.createElement(_reactNative().ActivityIndicator, {
150
- size: tokens.loader.size,
151
- color: trackColor
152
- }))));
98
+ onValueChange: handleValueChange,
99
+ onTouchEnd: handleTouchEnd
100
+ });
153
101
  };
154
102
  const Switch = exports.Switch = /*#__PURE__*/_react().default.memo(SwitchImpl);
155
103
  Switch.displayName = 'Switch';
@@ -5,80 +5,26 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.useSwitchTokens = void 0;
7
7
  var _designSystem = require("../../design-system");
8
- function _reactNative() {
9
- const data = require("react-native");
10
- _reactNative = function () {
11
- return data;
12
- };
13
- return data;
14
- }
15
8
  const createSwitchTokens = foundations => {
16
9
  const {
17
10
  palette,
18
11
  opacity
19
12
  } = foundations;
20
- const borderWidth = _reactNative().StyleSheet.hairlineWidth;
21
13
  return {
22
14
  defaults: {
23
15
  size: 28,
24
16
  disabled: false,
25
- loading: false,
26
17
  activeValue: true,
27
18
  inactiveValue: false
28
19
  },
29
- spacing: {
30
- inset: 1
31
- },
32
- layout: {
33
- container: {
34
- flexDirection: 'row',
35
- alignItems: 'center'
36
- },
37
- track: {
38
- position: 'relative'
39
- },
40
- handleOuter: {
41
- position: 'absolute'
42
- },
43
- handleInner: {
44
- alignItems: 'center',
45
- justifyContent: 'center'
46
- }
47
- },
48
20
  colors: {
49
21
  activeTrack: palette.primary[500],
50
22
  inactiveTrack: palette.default[200],
51
- handle: '#ffffff',
52
- border: palette.default[300]
53
- },
54
- borders: {
55
- width: borderWidth
23
+ handle: '#ffffff'
56
24
  },
57
25
  opacity: {
58
26
  disabled: opacity.disabled,
59
27
  pressed: opacity.pressed
60
- },
61
- animation: {
62
- duration: 200
63
- },
64
- shadow: {
65
- outer: {
66
- color: '#000000',
67
- opacity: 0.06,
68
- radius: 3,
69
- offsetY: 3,
70
- elevation: 3
71
- },
72
- inner: {
73
- color: '#000000',
74
- opacity: 0.12,
75
- radius: 2,
76
- offsetY: 2,
77
- elevation: 2
78
- }
79
- },
80
- loader: {
81
- size: 12
82
28
  }
83
29
  };
84
30
  };
@@ -53,16 +53,16 @@ const TabbarBase = props => {
53
53
  const placeholder = placeholderProp ?? tokens.defaults.placeholder;
54
54
  const iconSize = iconSizeProp ?? tokens.icon.size;
55
55
  const enableSafeAreaInsetBottom = safeAreaInsetBottom ?? fixed;
56
- const items = _react().default.Children.toArray(children).filter(_react().default.isValidElement);
57
- const firstName = items.length ? items[0].props.name ?? 0 : undefined;
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]);
58
58
  const [activeValue, setActiveValue] = (0, _hooks.useControllableValue)(props, {
59
59
  defaultValue: firstName,
60
60
  valuePropName: 'value',
61
61
  defaultValuePropName: 'defaultValue',
62
62
  trigger: 'onChange'
63
63
  });
64
- const itemNames = items.map((item, index) => item.props.name ?? index);
65
- const currentName = activeValue === undefined || activeValue === null ? firstName : itemNames.some(name => name === activeValue) ? activeValue : firstName;
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]);
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 => {
@@ -71,15 +71,15 @@ const TabbarBase = props => {
71
71
  setBarHeight(prev => Math.abs(prev - nextHeight) < 0.5 ? prev : nextHeight);
72
72
  }, [enablePlaceholder]);
73
73
  const onSelect = (0, _react().useCallback)((name, index) => setActiveValue(name, index), [setActiveValue]);
74
- const contextValue = {
74
+ const contextValue = (0, _react().useMemo)(() => ({
75
75
  activeValue: currentName,
76
76
  activeColor: activeColor ?? tokens.colors.active,
77
77
  inactiveColor: inactiveColor ?? tokens.colors.inactive,
78
78
  fontSize: tokens.typography.fontSize,
79
79
  fontWeight: tokens.typography.fontWeight,
80
80
  onSelect
81
- };
82
- const clonedChildren = items.map((item, index) => {
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
83
  const name = item.props.name ?? index;
84
84
  return /*#__PURE__*/_react().default.cloneElement(item, {
85
85
  key: item.key ?? name,
@@ -88,31 +88,35 @@ const TabbarBase = props => {
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
93
  const ContentWrapper = enableSafeAreaInsetBottom ? _safeAreaView.SafeAreaView : _reactNative().View;
94
+ const placeholderStyle = (0, _react().useMemo)(() => ({
95
+ height: barHeight
96
+ }), [barHeight]);
97
+ const containerStyle = (0, _react().useMemo)(() => [styles.container, fixed && [styles.fixed, {
98
+ zIndex
99
+ }], style], [fixed, style, zIndex]);
100
+ const barStyle = (0, _react().useMemo)(() => [styles.bar, {
101
+ backgroundColor: background,
102
+ paddingHorizontal: tokens.layout.paddingHorizontal,
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, {
106
+ minHeight: tokens.layout.height
107
+ }], [tokens.layout.height]);
94
108
  return /*#__PURE__*/_react().default.createElement(_react().default.Fragment, null, enablePlaceholder && /*#__PURE__*/_react().default.createElement(_reactNative().View, {
95
109
  testID: "rv-tabbar-placeholder",
96
- style: {
97
- height: barHeight
98
- }
110
+ style: placeholderStyle
99
111
  }), /*#__PURE__*/_react().default.createElement(_reactNative().View, _extends({}, rest, {
100
- style: [styles.container, fixed && [styles.fixed, {
101
- zIndex
102
- }], style],
112
+ style: containerStyle,
103
113
  onLayout: handleLayout
104
114
  }), /*#__PURE__*/_react().default.createElement(ContentWrapper, {
105
- style: [styles.bar, {
106
- backgroundColor: background,
107
- paddingHorizontal: tokens.layout.paddingHorizontal,
108
- minHeight: tokens.layout.height
109
- }, border ? (0, _hairline.createHairlineBorderTop)(tokens.colors.border) : null, contentStyle]
115
+ style: barStyle
110
116
  }, /*#__PURE__*/_react().default.createElement(_TabbarContext.TabbarContext.Provider, {
111
117
  value: contextValue
112
118
  }, /*#__PURE__*/_react().default.createElement(_reactNative().View, {
113
- style: [styles.row, {
114
- minHeight: tokens.layout.height
115
- }],
119
+ style: rowStyle,
116
120
  accessibilityRole: "tablist"
117
121
  }, clonedChildren)))));
118
122
  };
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
  function _react() {
8
- const data = _interopRequireDefault(require("react"));
8
+ const data = _interopRequireWildcard(require("react"));
9
9
  _react = function () {
10
10
  return data;
11
11
  };
@@ -24,6 +24,7 @@ var _badge = _interopRequireDefault(require("../badge"));
24
24
  var _TabbarContext = require("./TabbarContext");
25
25
  var _tokens = require("./tokens");
26
26
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
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); }
27
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); }
28
29
  const TabbarItem = props => {
29
30
  const {
@@ -52,7 +53,7 @@ const TabbarItem = props => {
52
53
  const isActive = context.activeValue === itemName;
53
54
  const color = isActive ? context.activeColor : context.inactiveColor;
54
55
  const resolvedIconSize = iconSize ?? tokens.icon.size;
55
- const applyIconTheme = node => {
56
+ const applyIconTheme = (0, _react().useCallback)(node => {
56
57
  if (! /*#__PURE__*/_react().default.isValidElement(node)) return node;
57
58
  const element = node;
58
59
  const nextProps = {};
@@ -66,15 +67,13 @@ const TabbarItem = props => {
66
67
  }];
67
68
  }
68
69
  return /*#__PURE__*/_react().default.cloneElement(element, nextProps);
69
- };
70
- const renderIcon = () => {
70
+ }, [color, resolvedIconSize]);
71
+ const renderIcon = (0, _react().useCallback)(() => {
71
72
  if (!icon) return null;
72
73
  const raw = (0, _validate.isFunction)(icon) ? icon(isActive) : icon;
73
74
  return applyIconTheme(raw);
74
- };
75
- const renderLabel = () => {
76
- return (0, _validate.isFunction)(children) ? children(isActive) : children;
77
- };
75
+ }, [applyIconTheme, icon, isActive]);
76
+ const renderLabel = (0, _react().useCallback)(() => (0, _validate.isFunction)(children) ? children(isActive) : children, [children, isActive]);
78
77
  const ariaPress = (0, _hooks.useAriaPress)({
79
78
  disabled,
80
79
  onPress: () => {
@@ -92,8 +91,8 @@ const TabbarItem = props => {
92
91
  testID: testID ?? `rv-tabbar-item-${itemName}`
93
92
  }
94
93
  });
95
- const shouldRenderBadge = dot || (0, _validate.isRenderable)(badge);
96
- const renderBadge = () => {
94
+ const shouldRenderBadge = (0, _react().useMemo)(() => dot || (0, _validate.isRenderable)(badge), [badge, dot]);
95
+ const renderBadge = (0, _react().useCallback)(() => {
97
96
  if ((0, _validate.isRenderable)(badge)) {
98
97
  if ((0, _validate.isText)(badge)) {
99
98
  return /*#__PURE__*/_react().default.createElement(_badge.default, {
@@ -111,24 +110,26 @@ const TabbarItem = props => {
111
110
  return /*#__PURE__*/_react().default.createElement(_badge.default, {
112
111
  dot: true
113
112
  });
114
- };
113
+ }, [badge, dot]);
114
+ const itemStyle = (0, _react().useMemo)(() => [styles.item, {
115
+ height: tokens.layout.height,
116
+ paddingVertical: tokens.layout.paddingVertical,
117
+ 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]);
115
125
  return /*#__PURE__*/_react().default.createElement(_reactNative().Pressable, _extends({}, rest, ariaPress.interactionProps, {
116
- style: [styles.item, {
117
- height: tokens.layout.height,
118
- paddingVertical: tokens.layout.paddingVertical,
119
- opacity: disabled ? 0.5 : 1
120
- }, style]
126
+ style: itemStyle
121
127
  }), /*#__PURE__*/_react().default.createElement(_reactNative().View, {
122
128
  style: [styles.iconWrapper, iconStyle]
123
129
  }, renderIcon(), shouldRenderBadge && /*#__PURE__*/_react().default.createElement(_reactNative().View, {
124
130
  style: styles.badge
125
131
  }, renderBadge())), (0, _validate.isRenderable)(children) ? /*#__PURE__*/_react().default.createElement(_reactNative().Text, {
126
- style: [styles.label, {
127
- color,
128
- fontSize: context.fontSize,
129
- fontWeight: context.fontWeight,
130
- lineHeight: context.fontSize
131
- }, textStyle]
132
+ style: labelStyle
132
133
  }, renderLabel()) : null);
133
134
  };
134
135
  const styles = _reactNative().StyleSheet.create({
@@ -15,7 +15,6 @@ const createTokens = foundations => {
15
15
  defaults: {
16
16
  fixed: true,
17
17
  border: true,
18
- // 与 Vant 默认一致:placeholder 默认关闭;safe-area 由 Tabbar 在 fixed 时默认开启
19
18
  placeholder: false,
20
19
  safeAreaInsetBottom: false
21
20
  },
@@ -26,7 +25,6 @@ const createTokens = foundations => {
26
25
  inactive: palette.default[600]
27
26
  },
28
27
  layout: {
29
- // 对齐官方默认观感(Vant Tabbar):50 高度、无左右 padding
30
28
  height: 50,
31
29
  paddingHorizontal: 0,
32
30
  paddingVertical: spacing.xs