react-native-system-ui 0.0.2 → 0.0.4

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 (565) hide show
  1. package/README.md +22 -6
  2. package/dist/cjs/{area → components/area}/Area.js +4 -10
  3. package/dist/cjs/{avatar → components/avatar}/Avatar.js +3 -3
  4. package/dist/cjs/{avatar → components/avatar}/tokens.js +2 -1
  5. package/dist/cjs/{badge → components/badge}/Badge.js +30 -38
  6. package/dist/cjs/{button → components/button}/Button.js +13 -13
  7. package/dist/cjs/{button → components/button}/ButtonGroup.js +8 -8
  8. package/dist/cjs/{calendar → components/calendar}/Calendar.js +10 -10
  9. package/dist/cjs/{cascader → components/cascader}/Cascader.js +4 -4
  10. package/dist/cjs/{cascader → components/cascader}/useCascaderExtend.js +5 -15
  11. package/dist/cjs/{checkbox → components/checkbox}/CheckboxGroup.js +2 -2
  12. package/dist/cjs/{circle → components/circle}/Circle.js +2 -2
  13. package/dist/cjs/{collapse → components/collapse}/Collapse.js +13 -16
  14. package/dist/cjs/{config-provider → components/config-provider}/ConfigProvider.js +1 -1
  15. package/dist/cjs/{datetime-picker → components/datetime-picker}/DatetimePicker.js +7 -7
  16. package/dist/cjs/{dialog → components/dialog}/Dialog.js +4 -6
  17. package/dist/cjs/{dialog → components/dialog}/tokens.js +2 -1
  18. package/dist/cjs/{dropdown-menu → components/dropdown-menu}/DropdownItem.js +53 -52
  19. package/dist/cjs/{dropdown-menu → components/dropdown-menu}/DropdownMenu.js +19 -23
  20. package/dist/cjs/{dropdown-menu → components/dropdown-menu}/tokens.js +20 -3
  21. package/dist/cjs/{field → components/field}/Field.js +6 -6
  22. package/dist/cjs/{form → components/form}/Form.js +5 -9
  23. package/dist/cjs/{grid → components/grid}/Grid.js +4 -4
  24. package/dist/cjs/{image → components/image}/Image.js +19 -15
  25. package/dist/cjs/{image-preview → components/image-preview}/ImagePreview.js +62 -60
  26. package/dist/cjs/{image-preview → components/image-preview}/tokens.js +21 -2
  27. package/dist/cjs/{index-bar → components/index-bar}/IndexAnchor.js +7 -6
  28. package/dist/cjs/{index-bar → components/index-bar}/IndexBar.js +40 -45
  29. package/dist/cjs/components/index-bar/tokens.js +45 -0
  30. package/dist/cjs/components/index.js +854 -0
  31. package/dist/cjs/{input → components/input}/Input.js +7 -10
  32. package/dist/cjs/{nav-bar → components/nav-bar}/NavBar.js +2 -1
  33. package/dist/cjs/{notice-bar → components/notice-bar}/NoticeBar.js +69 -95
  34. package/dist/cjs/{notify → components/notify}/Notify.js +65 -49
  35. package/dist/cjs/{notify → components/notify}/defaults.js +2 -2
  36. package/dist/cjs/{notify → components/notify}/imperative.js +2 -2
  37. package/dist/cjs/{notify → components/notify}/tokens.js +5 -4
  38. package/dist/cjs/{number-keyboard → components/number-keyboard}/NumberKeyboard.js +15 -16
  39. package/dist/cjs/{number-keyboard → components/number-keyboard}/tokens.js +4 -2
  40. package/dist/cjs/{overlay → components/overlay}/useOverlayStack.js +5 -1
  41. package/dist/cjs/{pagination → components/pagination}/Pagination.js +2 -2
  42. package/dist/cjs/{password-input → components/password-input}/PasswordInput.js +35 -27
  43. package/dist/cjs/{picker → components/picker}/Picker.js +11 -12
  44. package/dist/cjs/{picker → components/picker}/WheelPicker.js +9 -9
  45. package/dist/cjs/{picker → components/picker}/tokens.js +4 -2
  46. package/dist/cjs/{popup → components/popup}/Popup.js +48 -75
  47. package/dist/cjs/{popup → components/popup}/tokens.js +2 -1
  48. package/dist/cjs/{portal → components/portal}/Portal.js +5 -0
  49. package/dist/cjs/{portal → components/portal}/PortalHost.js +1 -13
  50. package/dist/cjs/{pull-refresh → components/pull-refresh}/PullRefresh.js +46 -27
  51. package/dist/cjs/{radio → components/radio}/RadioGroup.js +2 -2
  52. package/dist/cjs/components/safe-area-view/SafeAreaView.js +63 -0
  53. package/dist/cjs/components/safe-area-view/index.js +12 -0
  54. package/dist/cjs/{search → components/search}/Search.js +52 -67
  55. package/dist/cjs/{search → components/search}/tokens.js +2 -1
  56. package/dist/cjs/{selector → components/selector}/Selector.js +3 -3
  57. package/dist/cjs/{share-sheet → components/share-sheet}/ShareSheet.js +64 -62
  58. package/dist/cjs/{share-sheet → components/share-sheet}/tokens.js +15 -2
  59. package/dist/cjs/{sidebar → components/sidebar}/Sidebar.js +15 -19
  60. package/dist/cjs/{sidebar → components/sidebar}/SidebarItem.js +0 -3
  61. package/dist/cjs/{skeleton → components/skeleton}/Skeleton.js +44 -56
  62. package/dist/cjs/{slider → components/slider}/Slider.js +55 -61
  63. package/dist/cjs/{stepper → components/stepper}/Stepper.js +13 -16
  64. package/dist/cjs/{stepper → components/stepper}/tokens.js +4 -2
  65. package/dist/cjs/{swiper → components/swiper}/Swiper.js +21 -42
  66. package/dist/cjs/{swiper → components/swiper}/useSwiperWeb.js +15 -18
  67. package/dist/cjs/{tabbar → components/tabbar}/Tabbar.js +10 -12
  68. package/dist/cjs/{tabbar → components/tabbar}/TabbarItem.js +0 -3
  69. package/dist/cjs/{tabs → components/tabs}/Tabs.js +33 -54
  70. package/dist/cjs/{tabs → components/tabs}/tokens.js +9 -1
  71. package/dist/cjs/{tabs → components/tabs}/useTabsScroll.js +4 -0
  72. package/dist/cjs/{toast → components/toast}/Toast.js +15 -16
  73. package/dist/cjs/{toast → components/toast}/tokens.js +5 -1
  74. package/dist/cjs/components/types.js +1 -0
  75. package/dist/cjs/{typography → components/typography}/Typography.js +17 -30
  76. package/dist/cjs/{uploader → components/uploader}/Uploader.js +49 -46
  77. package/dist/cjs/{uploader → components/uploader}/tokens.js +27 -1
  78. package/dist/cjs/{water-mark → components/water-mark}/WaterMark.js +16 -16
  79. package/dist/cjs/design-system/ThemeContext.js +19 -0
  80. package/dist/cjs/design-system/ThemeProvider.js +37 -0
  81. package/dist/cjs/design-system/createComponentTokensHook.js +30 -0
  82. package/dist/cjs/design-system/index.js +59 -0
  83. package/dist/cjs/design-system/mergeTokensOverride.js +12 -0
  84. package/dist/cjs/design-system/presets.js +147 -0
  85. package/dist/cjs/design-system/tokens.js +144 -0
  86. package/dist/cjs/design-system/useTheme.js +16 -0
  87. package/dist/cjs/hooks/aria/index.js +49 -0
  88. package/dist/cjs/hooks/aria/useAriaListBox.js +58 -0
  89. package/dist/cjs/hooks/aria/useAriaOverlay.js +50 -0
  90. package/dist/cjs/hooks/aria/useAriaPress.js +107 -0
  91. package/dist/cjs/hooks/aria/useAriaToggle.js +41 -0
  92. package/dist/cjs/hooks/gesture/index.js +16 -0
  93. package/dist/cjs/hooks/gesture/useGestureScroll.js +131 -0
  94. package/dist/cjs/hooks/index.js +84 -0
  95. package/dist/cjs/hooks/useControllableValue.js +52 -0
  96. package/dist/cjs/hooks/useCountDown.js +107 -0
  97. package/dist/cjs/hooks/useHairline.js +62 -0
  98. package/dist/cjs/hooks/usePresenceAnimation.js +70 -0
  99. package/dist/cjs/hooks/useSafeAreaPadding.js +41 -0
  100. package/dist/cjs/index.js +33 -499
  101. package/dist/cjs/platform/animation.js +14 -0
  102. package/dist/cjs/platform/history.js +14 -0
  103. package/dist/cjs/platform/index.js +60 -0
  104. package/dist/cjs/platform/measure.js +55 -0
  105. package/dist/cjs/platform/runtime.js +19 -0
  106. package/dist/cjs/platform/scrollLock.js +24 -0
  107. package/dist/cjs/utils/array.js +12 -0
  108. package/dist/cjs/utils/color.js +52 -0
  109. package/dist/cjs/utils/createPlatformShadow.js +63 -0
  110. package/dist/cjs/utils/date.js +75 -0
  111. package/dist/cjs/utils/deepMerge.js +37 -0
  112. package/dist/cjs/utils/hairline.js +103 -0
  113. package/dist/cjs/utils/index.js +115 -0
  114. package/dist/cjs/utils/number.js +73 -0
  115. package/dist/cjs/utils/promise.js +9 -0
  116. package/dist/cjs/utils/string.js +39 -0
  117. package/dist/cjs/utils/validate.js +41 -0
  118. package/dist/es/{area → components/area}/Area.js +5 -11
  119. package/dist/es/{avatar → components/avatar}/Avatar.js +3 -3
  120. package/dist/es/{avatar → components/avatar}/tokens.js +2 -1
  121. package/dist/es/{badge → components/badge}/Badge.js +31 -39
  122. package/dist/es/{button → components/button}/Button.js +14 -14
  123. package/dist/es/{button → components/button}/ButtonGroup.js +7 -7
  124. package/dist/es/{calendar → components/calendar}/Calendar.js +11 -11
  125. package/dist/es/{cascader → components/cascader}/Cascader.js +5 -5
  126. package/dist/es/{cascader → components/cascader}/useCascaderExtend.js +5 -9
  127. package/dist/es/{checkbox → components/checkbox}/CheckboxGroup.js +3 -3
  128. package/dist/es/{circle → components/circle}/Circle.js +3 -3
  129. package/dist/es/{collapse → components/collapse}/Collapse.js +14 -17
  130. package/dist/es/{config-provider → components/config-provider}/ConfigProvider.js +2 -2
  131. package/dist/es/{datetime-picker → components/datetime-picker}/DatetimePicker.js +8 -8
  132. package/dist/es/{dialog → components/dialog}/Dialog.js +4 -6
  133. package/dist/es/{dialog → components/dialog}/tokens.js +2 -1
  134. package/dist/es/{dropdown-menu → components/dropdown-menu}/DropdownItem.js +53 -52
  135. package/dist/es/{dropdown-menu → components/dropdown-menu}/DropdownMenu.js +20 -24
  136. package/dist/es/{dropdown-menu → components/dropdown-menu}/tokens.js +20 -3
  137. package/dist/es/{field → components/field}/Field.js +7 -7
  138. package/dist/es/{field → components/field}/index.js +1 -1
  139. package/dist/es/{form → components/form}/Form.js +6 -10
  140. package/dist/es/{grid → components/grid}/Grid.js +3 -3
  141. package/dist/es/{image → components/image}/Image.js +20 -16
  142. package/dist/es/{image-preview → components/image-preview}/ImagePreview.js +63 -61
  143. package/dist/es/components/image-preview/tokens.js +35 -0
  144. package/dist/es/{index-bar → components/index-bar}/IndexAnchor.js +7 -6
  145. package/dist/es/{index-bar → components/index-bar}/IndexBar.js +41 -46
  146. package/dist/es/components/index-bar/tokens.js +39 -0
  147. package/dist/es/components/index.js +123 -0
  148. package/dist/es/{input → components/input}/Input.js +8 -11
  149. package/dist/es/{nav-bar → components/nav-bar}/NavBar.js +2 -1
  150. package/dist/es/{notice-bar → components/notice-bar}/NoticeBar.js +70 -96
  151. package/dist/es/{notify → components/notify}/Notify.js +68 -52
  152. package/dist/es/{notify → components/notify}/defaults.js +2 -2
  153. package/dist/es/{notify → components/notify}/imperative.js +2 -2
  154. package/dist/es/{notify → components/notify}/tokens.js +5 -4
  155. package/dist/es/{number-keyboard → components/number-keyboard}/NumberKeyboard.js +16 -17
  156. package/dist/es/{number-keyboard → components/number-keyboard}/tokens.js +4 -2
  157. package/dist/es/{overlay → components/overlay}/useOverlayStack.js +6 -2
  158. package/dist/es/{pagination → components/pagination}/Pagination.js +3 -3
  159. package/dist/es/{password-input → components/password-input}/PasswordInput.js +36 -28
  160. package/dist/es/{picker → components/picker}/Picker.js +12 -13
  161. package/dist/es/{picker → components/picker}/WheelPicker.js +10 -10
  162. package/dist/es/{picker → components/picker}/tokens.js +4 -2
  163. package/dist/es/{popup → components/popup}/Popup.js +48 -75
  164. package/dist/es/{popup → components/popup}/tokens.js +2 -1
  165. package/dist/es/{portal → components/portal}/Portal.js +5 -0
  166. package/dist/es/{portal → components/portal}/PortalHost.js +1 -13
  167. package/dist/es/{pull-refresh → components/pull-refresh}/PullRefresh.js +47 -28
  168. package/dist/es/{radio → components/radio}/RadioGroup.js +3 -3
  169. package/dist/es/components/safe-area-view/SafeAreaView.js +43 -0
  170. package/dist/es/components/safe-area-view/index.js +1 -0
  171. package/dist/es/{search → components/search}/Search.js +53 -68
  172. package/dist/es/{search → components/search}/tokens.js +2 -1
  173. package/dist/es/{selector → components/selector}/Selector.js +4 -4
  174. package/dist/es/{share-sheet → components/share-sheet}/ShareSheet.js +65 -63
  175. package/dist/es/{share-sheet → components/share-sheet}/tokens.js +15 -2
  176. package/dist/es/{sidebar → components/sidebar}/Sidebar.js +14 -18
  177. package/dist/es/{sidebar → components/sidebar}/SidebarItem.js +0 -3
  178. package/dist/es/{skeleton → components/skeleton}/Skeleton.js +45 -57
  179. package/dist/es/{slider → components/slider}/Slider.js +56 -62
  180. package/dist/es/{stepper → components/stepper}/Stepper.js +14 -17
  181. package/dist/es/{stepper → components/stepper}/tokens.js +4 -2
  182. package/dist/es/{swiper → components/swiper}/Swiper.js +22 -43
  183. package/dist/es/{swiper → components/swiper}/useSwiperWeb.js +16 -19
  184. package/dist/es/{tabbar → components/tabbar}/Tabbar.js +11 -13
  185. package/dist/es/{tabbar → components/tabbar}/TabbarItem.js +0 -3
  186. package/dist/es/{tabs → components/tabs}/Tabs.js +34 -55
  187. package/dist/es/{tabs → components/tabs}/tokens.js +9 -1
  188. package/dist/es/{tabs → components/tabs}/useTabsScroll.js +4 -0
  189. package/dist/es/{toast → components/toast}/Toast.js +14 -15
  190. package/dist/es/{toast → components/toast}/tokens.js +5 -1
  191. package/dist/es/components/types.js +1 -0
  192. package/dist/es/{typography → components/typography}/Typography.js +18 -31
  193. package/dist/es/{uploader → components/uploader}/Uploader.js +49 -46
  194. package/dist/es/{uploader → components/uploader}/tokens.js +27 -1
  195. package/dist/es/{water-mark → components/water-mark}/WaterMark.js +17 -17
  196. package/dist/es/design-system/ThemeContext.js +6 -0
  197. package/dist/es/design-system/ThemeProvider.js +23 -0
  198. package/dist/es/design-system/createComponentTokensHook.js +17 -0
  199. package/dist/es/design-system/index.js +6 -0
  200. package/dist/es/design-system/mergeTokensOverride.js +5 -0
  201. package/dist/es/design-system/presets.js +140 -0
  202. package/dist/es/design-system/tokens.js +136 -0
  203. package/dist/es/design-system/useTheme.js +3 -0
  204. package/dist/es/hooks/aria/index.js +5 -0
  205. package/dist/es/hooks/aria/useAriaListBox.js +33 -0
  206. package/dist/es/hooks/aria/useAriaOverlay.js +25 -0
  207. package/dist/es/hooks/aria/useAriaPress.js +70 -0
  208. package/dist/es/hooks/aria/useAriaToggle.js +16 -0
  209. package/dist/es/hooks/gesture/index.js +2 -0
  210. package/dist/es/hooks/gesture/useGestureScroll.js +112 -0
  211. package/dist/es/hooks/index.js +7 -0
  212. package/dist/es/hooks/useControllableValue.js +40 -0
  213. package/dist/es/hooks/useCountDown.js +95 -0
  214. package/dist/es/hooks/useHairline.js +42 -0
  215. package/dist/es/hooks/usePresenceAnimation.js +51 -0
  216. package/dist/es/hooks/useSafeAreaPadding.js +23 -0
  217. package/dist/es/index.js +4 -73
  218. package/dist/es/platform/animation.js +2 -0
  219. package/dist/es/platform/history.js +7 -0
  220. package/dist/es/platform/index.js +6 -0
  221. package/dist/es/platform/measure.js +48 -0
  222. package/dist/es/platform/runtime.js +4 -0
  223. package/dist/es/platform/scrollLock.js +16 -0
  224. package/dist/es/utils/array.js +5 -0
  225. package/dist/es/utils/color.js +42 -0
  226. package/dist/es/utils/createPlatformShadow.js +50 -0
  227. package/dist/es/utils/date.js +63 -0
  228. package/dist/es/utils/deepMerge.js +31 -0
  229. package/dist/es/utils/hairline.js +84 -0
  230. package/dist/es/utils/index.js +12 -0
  231. package/dist/es/utils/number.js +56 -0
  232. package/dist/es/utils/promise.js +2 -0
  233. package/dist/es/utils/string.js +30 -0
  234. package/dist/es/utils/validate.js +15 -0
  235. package/dist/types/components/dialog/tokens.d.ts +1 -0
  236. package/dist/types/components/dropdown-menu/tokens.d.ts +17 -0
  237. package/dist/types/components/field/index.d.ts +1 -1
  238. package/dist/types/components/image-preview/tokens.d.ts +16 -0
  239. package/dist/types/components/index-bar/tokens.d.ts +13 -4
  240. package/dist/types/components/index.d.ts +104 -0
  241. package/dist/types/components/notify/defaults.d.ts +2 -2
  242. package/dist/types/components/number-keyboard/tokens.d.ts +1 -0
  243. package/dist/types/components/password-input/PasswordInput.d.ts +4 -0
  244. package/dist/types/components/picker/tokens.d.ts +2 -0
  245. package/dist/types/components/popup/tokens.d.ts +1 -0
  246. package/dist/types/components/safe-area-view/SafeAreaView.d.ts +10 -0
  247. package/dist/types/components/safe-area-view/index.d.ts +2 -0
  248. package/dist/types/components/search/tokens.d.ts +1 -0
  249. package/dist/types/components/share-sheet/tokens.d.ts +13 -0
  250. package/dist/types/components/stepper/tokens.d.ts +2 -0
  251. package/dist/types/components/tabs/tokens.d.ts +8 -0
  252. package/dist/types/components/toast/tokens.d.ts +4 -0
  253. package/dist/types/components/uploader/tokens.d.ts +25 -0
  254. package/dist/types/hooks/index.d.ts +1 -0
  255. package/dist/types/hooks/usePresenceAnimation.d.ts +6 -1
  256. package/dist/types/hooks/useSafeAreaPadding.d.ts +13 -0
  257. package/package.json +290 -274
  258. package/dist/cjs/index-bar/tokens.js +0 -36
  259. package/dist/cjs/safe-area/SafeAreaClipper.js +0 -114
  260. package/dist/cjs/safe-area/index.js +0 -63
  261. package/dist/es/image-preview/tokens.js +0 -16
  262. package/dist/es/index-bar/tokens.js +0 -30
  263. package/dist/es/safe-area/SafeAreaClipper.js +0 -86
  264. package/dist/es/safe-area/index.js +0 -25
  265. package/dist/types/components/safe-area/SafeAreaClipper.d.ts +0 -47
  266. package/dist/types/components/safe-area/index.d.ts +0 -9
  267. /package/dist/cjs/{action-sheet → components/action-sheet}/ActionSheet.js +0 -0
  268. /package/dist/cjs/{action-sheet → components/action-sheet}/index.js +0 -0
  269. /package/dist/cjs/{action-sheet → components/action-sheet}/tokens.js +0 -0
  270. /package/dist/cjs/{area → components/area}/index.js +0 -0
  271. /package/dist/cjs/{area → components/area}/utils.js +0 -0
  272. /package/dist/cjs/{avatar → components/avatar}/index.js +0 -0
  273. /package/dist/cjs/{badge → components/badge}/index.js +0 -0
  274. /package/dist/cjs/{badge → components/badge}/tokens.js +0 -0
  275. /package/dist/cjs/{button → components/button}/ButtonContext.js +0 -0
  276. /package/dist/cjs/{button → components/button}/index.js +0 -0
  277. /package/dist/cjs/{button → components/button}/tokens.js +0 -0
  278. /package/dist/cjs/{calendar → components/calendar}/index.js +0 -0
  279. /package/dist/cjs/{calendar → components/calendar}/tokens.js +0 -0
  280. /package/dist/cjs/{cascader → components/cascader}/index.js +0 -0
  281. /package/dist/cjs/{cascader → components/cascader}/tokens.js +0 -0
  282. /package/dist/cjs/{cascader → components/cascader}/utils.js +0 -0
  283. /package/dist/cjs/{cell → components/cell}/Cell.js +0 -0
  284. /package/dist/cjs/{cell → components/cell}/CellContext.js +0 -0
  285. /package/dist/cjs/{cell → components/cell}/CellGroup.js +0 -0
  286. /package/dist/cjs/{cell → components/cell}/index.js +0 -0
  287. /package/dist/cjs/{cell → components/cell}/tokens.js +0 -0
  288. /package/dist/cjs/{checkbox → components/checkbox}/Checkbox.js +0 -0
  289. /package/dist/cjs/{checkbox → components/checkbox}/CheckboxContext.js +0 -0
  290. /package/dist/cjs/{checkbox → components/checkbox}/index.js +0 -0
  291. /package/dist/cjs/{checkbox → components/checkbox}/tokens.js +0 -0
  292. /package/dist/cjs/{circle → components/circle}/index.js +0 -0
  293. /package/dist/cjs/{circle → components/circle}/tokens.js +0 -0
  294. /package/dist/cjs/{collapse → components/collapse}/index.js +0 -0
  295. /package/dist/cjs/{collapse → components/collapse}/tokens.js +0 -0
  296. /package/dist/cjs/{config-provider → components/config-provider}/LocaleContext.js +0 -0
  297. /package/dist/cjs/{config-provider → components/config-provider}/index.js +0 -0
  298. /package/dist/cjs/{config-provider → components/config-provider}/locale/base.js +0 -0
  299. /package/dist/cjs/{config-provider → components/config-provider}/locale/en-US.js +0 -0
  300. /package/dist/cjs/{config-provider → components/config-provider}/locale/zh-CN.js +0 -0
  301. /package/dist/cjs/{config-provider → components/config-provider}/useLocale.js +0 -0
  302. /package/dist/cjs/{count-down → components/count-down}/CountDown.js +0 -0
  303. /package/dist/cjs/{count-down → components/count-down}/index.js +0 -0
  304. /package/dist/cjs/{count-down → components/count-down}/tokens.js +0 -0
  305. /package/dist/cjs/{datetime-picker → components/datetime-picker}/index.js +0 -0
  306. /package/dist/cjs/{dialog → components/dialog}/imperative.js +0 -0
  307. /package/dist/cjs/{dialog → components/dialog}/index.js +0 -0
  308. /package/dist/cjs/{divider → components/divider}/Divider.js +0 -0
  309. /package/dist/cjs/{divider → components/divider}/index.js +0 -0
  310. /package/dist/cjs/{divider → components/divider}/tokens.js +0 -0
  311. /package/dist/cjs/{dropdown-menu → components/dropdown-menu}/DropdownMenuContext.js +0 -0
  312. /package/dist/cjs/{dropdown-menu → components/dropdown-menu}/index.js +0 -0
  313. /package/dist/cjs/{empty → components/empty}/Empty.js +0 -0
  314. /package/dist/cjs/{empty → components/empty}/index.js +0 -0
  315. /package/dist/cjs/{empty → components/empty}/tokens.js +0 -0
  316. /package/dist/cjs/{field → components/field}/index.js +0 -0
  317. /package/dist/cjs/{field → components/field}/tokens.js +0 -0
  318. /package/dist/cjs/{field → components/field}/utils.js +0 -0
  319. /package/dist/cjs/{flex → components/flex}/Flex.js +0 -0
  320. /package/dist/cjs/{flex → components/flex}/FlexContext.js +0 -0
  321. /package/dist/cjs/{flex → components/flex}/FlexItem.js +0 -0
  322. /package/dist/cjs/{flex → components/flex}/index.js +0 -0
  323. /package/dist/cjs/{flex → components/flex}/tokens.js +0 -0
  324. /package/dist/cjs/{form → components/form}/FormContext.js +0 -0
  325. /package/dist/cjs/{form → components/form}/FormItem.js +0 -0
  326. /package/dist/cjs/{form → components/form}/FormList.js +0 -0
  327. /package/dist/cjs/{form → components/form}/index.js +0 -0
  328. /package/dist/cjs/{form → components/form}/utils.js +0 -0
  329. /package/dist/cjs/{grid → components/grid}/GridContext.js +0 -0
  330. /package/dist/cjs/{grid → components/grid}/GridItem.js +0 -0
  331. /package/dist/cjs/{grid → components/grid}/index.js +0 -0
  332. /package/dist/cjs/{grid → components/grid}/tokens.js +0 -0
  333. /package/dist/cjs/{image → components/image}/index.js +0 -0
  334. /package/dist/cjs/{image → components/image}/tokens.js +0 -0
  335. /package/dist/cjs/{image-preview → components/image-preview}/imperative.js +0 -0
  336. /package/dist/cjs/{image-preview → components/image-preview}/index.js +0 -0
  337. /package/dist/cjs/{index-bar → components/index-bar}/index.js +0 -0
  338. /package/dist/cjs/{input → components/input}/index.js +0 -0
  339. /package/dist/cjs/{input → components/input}/tokens.js +0 -0
  340. /package/dist/cjs/{list → components/list}/List.js +0 -0
  341. /package/dist/cjs/{list → components/list}/index.js +0 -0
  342. /package/dist/cjs/{list → components/list}/tokens.js +0 -0
  343. /package/dist/cjs/{loading → components/loading}/Loading.js +0 -0
  344. /package/dist/cjs/{loading → components/loading}/index.js +0 -0
  345. /package/dist/cjs/{loading → components/loading}/tokens.js +0 -0
  346. /package/dist/cjs/{nav-bar → components/nav-bar}/index.js +0 -0
  347. /package/dist/cjs/{nav-bar → components/nav-bar}/tokens.js +0 -0
  348. /package/dist/cjs/{notice-bar → components/notice-bar}/index.js +0 -0
  349. /package/dist/cjs/{notice-bar → components/notice-bar}/tokens.js +0 -0
  350. /package/dist/cjs/{notify → components/notify}/index.js +0 -0
  351. /package/dist/cjs/{number-keyboard → components/number-keyboard}/index.js +0 -0
  352. /package/dist/cjs/{overlay → components/overlay}/Overlay.js +0 -0
  353. /package/dist/cjs/{overlay → components/overlay}/OverlayStackStore.js +0 -0
  354. /package/dist/cjs/{overlay → components/overlay}/index.js +0 -0
  355. /package/dist/cjs/{overlay → components/overlay}/tokens.js +0 -0
  356. /package/dist/cjs/{pagination → components/pagination}/index.js +0 -0
  357. /package/dist/cjs/{pagination → components/pagination}/tokens.js +0 -0
  358. /package/dist/cjs/{password-input → components/password-input}/index.js +0 -0
  359. /package/dist/cjs/{picker → components/picker}/index.js +0 -0
  360. /package/dist/cjs/{picker → components/picker}/utils.js +0 -0
  361. /package/dist/cjs/{popup → components/popup}/index.js +0 -0
  362. /package/dist/cjs/{portal → components/portal}/PortalContext.js +0 -0
  363. /package/dist/cjs/{portal → components/portal}/index.js +0 -0
  364. /package/dist/cjs/{progress → components/progress}/Progress.js +0 -0
  365. /package/dist/cjs/{progress → components/progress}/index.js +0 -0
  366. /package/dist/cjs/{progress → components/progress}/tokens.js +0 -0
  367. /package/dist/cjs/{pull-refresh → components/pull-refresh}/index.js +0 -0
  368. /package/dist/cjs/{pull-refresh → components/pull-refresh}/tokens.js +0 -0
  369. /package/dist/cjs/{radio → components/radio}/Radio.js +0 -0
  370. /package/dist/cjs/{radio → components/radio}/RadioContext.js +0 -0
  371. /package/dist/cjs/{radio → components/radio}/index.js +0 -0
  372. /package/dist/cjs/{radio → components/radio}/tokens.js +0 -0
  373. /package/dist/cjs/{rate → components/rate}/Rate.js +0 -0
  374. /package/dist/cjs/{rate → components/rate}/index.js +0 -0
  375. /package/dist/cjs/{rate → components/rate}/tokens.js +0 -0
  376. /package/dist/cjs/{search → components/search}/index.js +0 -0
  377. /package/dist/cjs/{selector → components/selector}/index.js +0 -0
  378. /package/dist/cjs/{selector → components/selector}/tokens.js +0 -0
  379. /package/dist/cjs/{share-sheet → components/share-sheet}/index.js +0 -0
  380. /package/dist/cjs/{sidebar → components/sidebar}/SidebarContext.js +0 -0
  381. /package/dist/cjs/{sidebar → components/sidebar}/index.js +0 -0
  382. /package/dist/cjs/{sidebar → components/sidebar}/tokens.js +0 -0
  383. /package/dist/cjs/{skeleton → components/skeleton}/index.js +0 -0
  384. /package/dist/cjs/{skeleton → components/skeleton}/tokens.js +0 -0
  385. /package/dist/cjs/{slider → components/slider}/index.js +0 -0
  386. /package/dist/cjs/{slider → components/slider}/tokens.js +0 -0
  387. /package/dist/cjs/{slider → components/slider}/utils.js +0 -0
  388. /package/dist/cjs/{space → components/space}/Space.js +0 -0
  389. /package/dist/cjs/{space → components/space}/index.js +0 -0
  390. /package/dist/cjs/{space → components/space}/tokens.js +0 -0
  391. /package/dist/cjs/{stepper → components/stepper}/index.js +0 -0
  392. /package/dist/cjs/{swiper → components/swiper}/SwiperItem.js +0 -0
  393. /package/dist/cjs/{swiper → components/swiper}/SwiperPagIndicator.js +0 -0
  394. /package/dist/cjs/{swiper → components/swiper}/index.js +0 -0
  395. /package/dist/cjs/{swiper → components/swiper}/utils.js +0 -0
  396. /package/dist/cjs/{switch → components/switch}/Switch.js +0 -0
  397. /package/dist/cjs/{switch → components/switch}/index.js +0 -0
  398. /package/dist/cjs/{switch → components/switch}/tokens.js +0 -0
  399. /package/dist/cjs/{tabbar → components/tabbar}/TabbarContext.js +0 -0
  400. /package/dist/cjs/{tabbar → components/tabbar}/index.js +0 -0
  401. /package/dist/cjs/{tabbar → components/tabbar}/tokens.js +0 -0
  402. /package/dist/cjs/{tabs → components/tabs}/TabPane.js +0 -0
  403. /package/dist/cjs/{tabs → components/tabs}/index.js +0 -0
  404. /package/dist/cjs/{tabs → components/tabs}/useTabsAnimation.js +0 -0
  405. /package/dist/cjs/{tabs → components/tabs}/utils.js +0 -0
  406. /package/dist/cjs/{tag → components/tag}/Tag.js +0 -0
  407. /package/dist/cjs/{tag → components/tag}/index.js +0 -0
  408. /package/dist/cjs/{tag → components/tag}/tokens.js +0 -0
  409. /package/dist/cjs/{toast → components/toast}/imperative.js +0 -0
  410. /package/dist/cjs/{toast → components/toast}/index.js +0 -0
  411. /package/dist/cjs/{typography → components/typography}/index.js +0 -0
  412. /package/dist/cjs/{typography → components/typography}/tokens.js +0 -0
  413. /package/dist/cjs/{uploader → components/uploader}/index.js +0 -0
  414. /package/dist/cjs/{uploader → components/uploader}/utils.js +0 -0
  415. /package/dist/cjs/{water-mark → components/water-mark}/index.js +0 -0
  416. /package/dist/cjs/{water-mark → components/water-mark}/tokens.js +0 -0
  417. /package/dist/es/{action-sheet → components/action-sheet}/ActionSheet.js +0 -0
  418. /package/dist/es/{action-sheet → components/action-sheet}/index.js +0 -0
  419. /package/dist/es/{action-sheet → components/action-sheet}/tokens.js +0 -0
  420. /package/dist/es/{area → components/area}/index.js +0 -0
  421. /package/dist/es/{area → components/area}/utils.js +0 -0
  422. /package/dist/es/{avatar → components/avatar}/index.js +0 -0
  423. /package/dist/es/{badge → components/badge}/index.js +0 -0
  424. /package/dist/es/{badge → components/badge}/tokens.js +0 -0
  425. /package/dist/es/{button → components/button}/ButtonContext.js +0 -0
  426. /package/dist/es/{button → components/button}/index.js +0 -0
  427. /package/dist/es/{button → components/button}/tokens.js +0 -0
  428. /package/dist/es/{calendar → components/calendar}/index.js +0 -0
  429. /package/dist/es/{calendar → components/calendar}/tokens.js +0 -0
  430. /package/dist/es/{cascader → components/cascader}/index.js +0 -0
  431. /package/dist/es/{cascader → components/cascader}/tokens.js +0 -0
  432. /package/dist/es/{cascader → components/cascader}/utils.js +0 -0
  433. /package/dist/es/{cell → components/cell}/Cell.js +0 -0
  434. /package/dist/es/{cell → components/cell}/CellContext.js +0 -0
  435. /package/dist/es/{cell → components/cell}/CellGroup.js +0 -0
  436. /package/dist/es/{cell → components/cell}/index.js +0 -0
  437. /package/dist/es/{cell → components/cell}/tokens.js +0 -0
  438. /package/dist/es/{checkbox → components/checkbox}/Checkbox.js +0 -0
  439. /package/dist/es/{checkbox → components/checkbox}/CheckboxContext.js +0 -0
  440. /package/dist/es/{checkbox → components/checkbox}/index.js +0 -0
  441. /package/dist/es/{checkbox → components/checkbox}/tokens.js +0 -0
  442. /package/dist/es/{circle → components/circle}/index.js +0 -0
  443. /package/dist/es/{circle → components/circle}/tokens.js +0 -0
  444. /package/dist/es/{collapse → components/collapse}/index.js +0 -0
  445. /package/dist/es/{collapse → components/collapse}/tokens.js +0 -0
  446. /package/dist/es/{config-provider → components/config-provider}/LocaleContext.js +0 -0
  447. /package/dist/es/{config-provider → components/config-provider}/index.js +0 -0
  448. /package/dist/es/{config-provider → components/config-provider}/locale/base.js +0 -0
  449. /package/dist/es/{config-provider → components/config-provider}/locale/en-US.js +0 -0
  450. /package/dist/es/{config-provider → components/config-provider}/locale/zh-CN.js +0 -0
  451. /package/dist/es/{config-provider → components/config-provider}/useLocale.js +0 -0
  452. /package/dist/es/{count-down → components/count-down}/CountDown.js +0 -0
  453. /package/dist/es/{count-down → components/count-down}/index.js +0 -0
  454. /package/dist/es/{count-down → components/count-down}/tokens.js +0 -0
  455. /package/dist/es/{datetime-picker → components/datetime-picker}/index.js +0 -0
  456. /package/dist/es/{dialog → components/dialog}/imperative.js +0 -0
  457. /package/dist/es/{dialog → components/dialog}/index.js +0 -0
  458. /package/dist/es/{divider → components/divider}/Divider.js +0 -0
  459. /package/dist/es/{divider → components/divider}/index.js +0 -0
  460. /package/dist/es/{divider → components/divider}/tokens.js +0 -0
  461. /package/dist/es/{dropdown-menu → components/dropdown-menu}/DropdownMenuContext.js +0 -0
  462. /package/dist/es/{dropdown-menu → components/dropdown-menu}/index.js +0 -0
  463. /package/dist/es/{empty → components/empty}/Empty.js +0 -0
  464. /package/dist/es/{empty → components/empty}/index.js +0 -0
  465. /package/dist/es/{empty → components/empty}/tokens.js +0 -0
  466. /package/dist/es/{field → components/field}/tokens.js +0 -0
  467. /package/dist/es/{field → components/field}/utils.js +0 -0
  468. /package/dist/es/{flex → components/flex}/Flex.js +0 -0
  469. /package/dist/es/{flex → components/flex}/FlexContext.js +0 -0
  470. /package/dist/es/{flex → components/flex}/FlexItem.js +0 -0
  471. /package/dist/es/{flex → components/flex}/index.js +0 -0
  472. /package/dist/es/{flex → components/flex}/tokens.js +0 -0
  473. /package/dist/es/{form → components/form}/FormContext.js +0 -0
  474. /package/dist/es/{form → components/form}/FormItem.js +0 -0
  475. /package/dist/es/{form → components/form}/FormList.js +0 -0
  476. /package/dist/es/{form → components/form}/index.js +0 -0
  477. /package/dist/es/{form → components/form}/utils.js +0 -0
  478. /package/dist/es/{grid → components/grid}/GridContext.js +0 -0
  479. /package/dist/es/{grid → components/grid}/GridItem.js +0 -0
  480. /package/dist/es/{grid → components/grid}/index.js +0 -0
  481. /package/dist/es/{grid → components/grid}/tokens.js +0 -0
  482. /package/dist/es/{image → components/image}/index.js +0 -0
  483. /package/dist/es/{image → components/image}/tokens.js +0 -0
  484. /package/dist/es/{image-preview → components/image-preview}/imperative.js +0 -0
  485. /package/dist/es/{image-preview → components/image-preview}/index.js +0 -0
  486. /package/dist/es/{index-bar → components/index-bar}/index.js +0 -0
  487. /package/dist/es/{input → components/input}/index.js +0 -0
  488. /package/dist/es/{input → components/input}/tokens.js +0 -0
  489. /package/dist/es/{list → components/list}/List.js +0 -0
  490. /package/dist/es/{list → components/list}/index.js +0 -0
  491. /package/dist/es/{list → components/list}/tokens.js +0 -0
  492. /package/dist/es/{loading → components/loading}/Loading.js +0 -0
  493. /package/dist/es/{loading → components/loading}/index.js +0 -0
  494. /package/dist/es/{loading → components/loading}/tokens.js +0 -0
  495. /package/dist/es/{nav-bar → components/nav-bar}/index.js +0 -0
  496. /package/dist/es/{nav-bar → components/nav-bar}/tokens.js +0 -0
  497. /package/dist/es/{notice-bar → components/notice-bar}/index.js +0 -0
  498. /package/dist/es/{notice-bar → components/notice-bar}/tokens.js +0 -0
  499. /package/dist/es/{notify → components/notify}/index.js +0 -0
  500. /package/dist/es/{number-keyboard → components/number-keyboard}/index.js +0 -0
  501. /package/dist/es/{overlay → components/overlay}/Overlay.js +0 -0
  502. /package/dist/es/{overlay → components/overlay}/OverlayStackStore.js +0 -0
  503. /package/dist/es/{overlay → components/overlay}/index.js +0 -0
  504. /package/dist/es/{overlay → components/overlay}/tokens.js +0 -0
  505. /package/dist/es/{pagination → components/pagination}/index.js +0 -0
  506. /package/dist/es/{pagination → components/pagination}/tokens.js +0 -0
  507. /package/dist/es/{password-input → components/password-input}/index.js +0 -0
  508. /package/dist/es/{picker → components/picker}/index.js +0 -0
  509. /package/dist/es/{picker → components/picker}/utils.js +0 -0
  510. /package/dist/es/{popup → components/popup}/index.js +0 -0
  511. /package/dist/es/{portal → components/portal}/PortalContext.js +0 -0
  512. /package/dist/es/{portal → components/portal}/index.js +0 -0
  513. /package/dist/es/{progress → components/progress}/Progress.js +0 -0
  514. /package/dist/es/{progress → components/progress}/index.js +0 -0
  515. /package/dist/es/{progress → components/progress}/tokens.js +0 -0
  516. /package/dist/es/{pull-refresh → components/pull-refresh}/index.js +0 -0
  517. /package/dist/es/{pull-refresh → components/pull-refresh}/tokens.js +0 -0
  518. /package/dist/es/{radio → components/radio}/Radio.js +0 -0
  519. /package/dist/es/{radio → components/radio}/RadioContext.js +0 -0
  520. /package/dist/es/{radio → components/radio}/index.js +0 -0
  521. /package/dist/es/{radio → components/radio}/tokens.js +0 -0
  522. /package/dist/es/{rate → components/rate}/Rate.js +0 -0
  523. /package/dist/es/{rate → components/rate}/index.js +0 -0
  524. /package/dist/es/{rate → components/rate}/tokens.js +0 -0
  525. /package/dist/es/{search → components/search}/index.js +0 -0
  526. /package/dist/es/{selector → components/selector}/index.js +0 -0
  527. /package/dist/es/{selector → components/selector}/tokens.js +0 -0
  528. /package/dist/es/{share-sheet → components/share-sheet}/index.js +0 -0
  529. /package/dist/es/{sidebar → components/sidebar}/SidebarContext.js +0 -0
  530. /package/dist/es/{sidebar → components/sidebar}/index.js +0 -0
  531. /package/dist/es/{sidebar → components/sidebar}/tokens.js +0 -0
  532. /package/dist/es/{skeleton → components/skeleton}/index.js +0 -0
  533. /package/dist/es/{skeleton → components/skeleton}/tokens.js +0 -0
  534. /package/dist/es/{slider → components/slider}/index.js +0 -0
  535. /package/dist/es/{slider → components/slider}/tokens.js +0 -0
  536. /package/dist/es/{slider → components/slider}/utils.js +0 -0
  537. /package/dist/es/{space → components/space}/Space.js +0 -0
  538. /package/dist/es/{space → components/space}/index.js +0 -0
  539. /package/dist/es/{space → components/space}/tokens.js +0 -0
  540. /package/dist/es/{stepper → components/stepper}/index.js +0 -0
  541. /package/dist/es/{swiper → components/swiper}/SwiperItem.js +0 -0
  542. /package/dist/es/{swiper → components/swiper}/SwiperPagIndicator.js +0 -0
  543. /package/dist/es/{swiper → components/swiper}/index.js +0 -0
  544. /package/dist/es/{swiper → components/swiper}/utils.js +0 -0
  545. /package/dist/es/{switch → components/switch}/Switch.js +0 -0
  546. /package/dist/es/{switch → components/switch}/index.js +0 -0
  547. /package/dist/es/{switch → components/switch}/tokens.js +0 -0
  548. /package/dist/es/{tabbar → components/tabbar}/TabbarContext.js +0 -0
  549. /package/dist/es/{tabbar → components/tabbar}/index.js +0 -0
  550. /package/dist/es/{tabbar → components/tabbar}/tokens.js +0 -0
  551. /package/dist/es/{tabs → components/tabs}/TabPane.js +0 -0
  552. /package/dist/es/{tabs → components/tabs}/index.js +0 -0
  553. /package/dist/es/{tabs → components/tabs}/useTabsAnimation.js +0 -0
  554. /package/dist/es/{tabs → components/tabs}/utils.js +0 -0
  555. /package/dist/es/{tag → components/tag}/Tag.js +0 -0
  556. /package/dist/es/{tag → components/tag}/index.js +0 -0
  557. /package/dist/es/{tag → components/tag}/tokens.js +0 -0
  558. /package/dist/es/{toast → components/toast}/imperative.js +0 -0
  559. /package/dist/es/{toast → components/toast}/index.js +0 -0
  560. /package/dist/es/{typography → components/typography}/index.js +0 -0
  561. /package/dist/es/{typography → components/typography}/tokens.js +0 -0
  562. /package/dist/es/{uploader → components/uploader}/index.js +0 -0
  563. /package/dist/es/{uploader → components/uploader}/utils.js +0 -0
  564. /package/dist/es/{water-mark → components/water-mark}/index.js +0 -0
  565. /package/dist/es/{water-mark → components/water-mark}/tokens.js +0 -0
@@ -1,4 +1,4 @@
1
- import { useRef, useCallback, useMemo, useEffect } from 'react';
1
+ import { useRef, useCallback, useEffect } from 'react';
2
2
  import { Animated, PanResponder } from 'react-native';
3
3
  import { clamp } from '../../utils';
4
4
  import { stopWebEvent } from './utils';
@@ -97,23 +97,20 @@ export const useSwiperWeb = ({
97
97
  (latest.vertical ? webTranslateXAnim : webTranslateYAnim).stopAnimation();
98
98
  webOffsetRef.current = nextOffset;
99
99
  }, []);
100
- const webTrackTransform = useMemo(() => {
101
- if (vertical) return trackOffsetPx ? [{
102
- translateY: trackOffsetPx
103
- }, {
104
- translateY: webTranslateYAnim
105
- }] : [{
106
- translateY: webTranslateYAnim
107
- }];
108
- return trackOffsetPx ? [{
109
- translateX: trackOffsetPx
110
- }, {
111
- translateX: webTranslateXAnim
112
- }] : [{
113
- translateX: webTranslateXAnim
114
- }];
115
- }, [trackOffsetPx, vertical, webTranslateXAnim, webTranslateYAnim]);
116
- const panResponder = useMemo(() => {
100
+ const webTrackTransform = vertical ? trackOffsetPx ? [{
101
+ translateY: trackOffsetPx
102
+ }, {
103
+ translateY: webTranslateYAnim
104
+ }] : [{
105
+ translateY: webTranslateYAnim
106
+ }] : trackOffsetPx ? [{
107
+ translateX: trackOffsetPx
108
+ }, {
109
+ translateX: webTranslateXAnim
110
+ }] : [{
111
+ translateX: webTranslateXAnim
112
+ }];
113
+ const panResponder = (() => {
117
114
  if (!isWeb) return null;
118
115
  return PanResponder.create({
119
116
  onStartShouldSetPanResponder: () => false,
@@ -171,7 +168,7 @@ export const useSwiperWeb = ({
171
168
  panLatestRef.current.onDragEnd?.();
172
169
  }
173
170
  });
174
- }, [isWeb, cancelWebRaf, stopWebSnapAnim, scheduleWebTranslate, flushWebTranslate, swipeToRef]);
171
+ })();
175
172
  useEffect(() => {
176
173
  return () => {
177
174
  cancelWebRaf();
@@ -1,9 +1,10 @@
1
1
  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); }
2
- import React, { useCallback, useMemo, useState } from 'react';
3
- import { SafeAreaView, StyleSheet, View } from 'react-native';
2
+ import React, { useCallback, useState } from 'react';
3
+ import { StyleSheet, View } from 'react-native';
4
4
  import { mergeTokensOverride } from '../../design-system';
5
5
  import { useControllableValue } from '../../hooks';
6
6
  import { createHairlineBorderTop } from '../../utils/hairline';
7
+ import { SafeAreaView } from '../safe-area-view';
7
8
  import { TabbarContext } from './TabbarContext';
8
9
  import { useTabbarTokens } from './tokens';
9
10
  const TabbarBase = props => {
@@ -33,19 +34,16 @@ const TabbarBase = props => {
33
34
  const placeholder = placeholderProp ?? tokens.defaults.placeholder;
34
35
  const iconSize = iconSizeProp ?? tokens.icon.size;
35
36
  const enableSafeAreaInsetBottom = safeAreaInsetBottom ?? fixed;
36
- const items = useMemo(() => React.Children.toArray(children).filter(React.isValidElement), [children]);
37
- const firstName = useMemo(() => items.length ? items[0].props.name ?? 0 : undefined, [items]);
37
+ const items = React.Children.toArray(children).filter(React.isValidElement);
38
+ const firstName = items.length ? items[0].props.name ?? 0 : undefined;
38
39
  const [activeValue, setActiveValue] = useControllableValue(props, {
39
40
  defaultValue: firstName,
40
41
  valuePropName: 'value',
41
42
  defaultValuePropName: 'defaultValue',
42
43
  trigger: 'onChange'
43
44
  });
44
- const itemNames = useMemo(() => items.map((item, index) => item.props.name ?? index), [items]);
45
- const currentName = useMemo(() => {
46
- if (activeValue === undefined || activeValue === null) return firstName;
47
- return itemNames.some(name => name === activeValue) ? activeValue : firstName;
48
- }, [activeValue, firstName, itemNames]);
45
+ const itemNames = items.map((item, index) => item.props.name ?? index);
46
+ const currentName = activeValue === undefined || activeValue === null ? firstName : itemNames.some(name => name === activeValue) ? activeValue : firstName;
49
47
  const [barHeight, setBarHeight] = useState(tokens.layout.height);
50
48
  const enablePlaceholder = fixed && placeholder;
51
49
  const handleLayout = useCallback(event => {
@@ -54,15 +52,15 @@ const TabbarBase = props => {
54
52
  setBarHeight(prev => Math.abs(prev - nextHeight) < 0.5 ? prev : nextHeight);
55
53
  }, [enablePlaceholder]);
56
54
  const onSelect = useCallback((name, index) => setActiveValue(name, index), [setActiveValue]);
57
- const contextValue = useMemo(() => ({
55
+ const contextValue = {
58
56
  activeValue: currentName,
59
57
  activeColor: activeColor ?? tokens.colors.active,
60
58
  inactiveColor: inactiveColor ?? tokens.colors.inactive,
61
59
  fontSize: tokens.typography.fontSize,
62
60
  fontWeight: tokens.typography.fontWeight,
63
61
  onSelect
64
- }), [activeColor, currentName, inactiveColor, onSelect, tokens.colors.active, tokens.colors.inactive, tokens.typography.fontSize, tokens.typography.fontWeight]);
65
- const clonedChildren = useMemo(() => items.map((item, index) => {
62
+ };
63
+ const clonedChildren = items.map((item, index) => {
66
64
  const name = item.props.name ?? index;
67
65
  return /*#__PURE__*/React.cloneElement(item, {
68
66
  key: item.key ?? name,
@@ -71,7 +69,7 @@ const TabbarBase = props => {
71
69
  iconSize,
72
70
  tokensOverride: mergeTokensOverride(tokensOverride, item.props.tokensOverride)
73
71
  });
74
- }), [iconSize, items, tokensOverride]);
72
+ });
75
73
  if (items.length === 0) return null;
76
74
  const ContentWrapper = enableSafeAreaInsetBottom ? SafeAreaView : View;
77
75
  return /*#__PURE__*/React.createElement(React.Fragment, null, enablePlaceholder && /*#__PURE__*/React.createElement(View, {
@@ -27,9 +27,6 @@ const TabbarItem = props => {
27
27
  const tokens = useTabbarTokens(tokensOverride);
28
28
  const context = useTabbarContext();
29
29
  if (!context) {
30
- if (typeof __DEV__ !== 'undefined' && __DEV__) {
31
- console.warn('[TabbarItem] 需要作为 Tabbar 的子节点使用。');
32
- }
33
30
  return null;
34
31
  }
35
32
  const itemName = name ?? index ?? 0;
@@ -1,5 +1,5 @@
1
1
  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); }
2
- import React, { memo, useCallback, useEffect, useImperativeHandle, useMemo, useRef, useState, Children, isValidElement, Fragment } from 'react';
2
+ import React, { memo, useCallback, useEffect, useImperativeHandle, useRef, useState, Children, isValidElement, Fragment } from 'react';
3
3
  import { Animated, Pressable, StyleSheet, Text, ScrollView, View, Platform } from 'react-native';
4
4
  import { useAriaPress, useControllableValue } from '../../hooks';
5
5
  import { parseNumberLike } from '../../utils/number';
@@ -119,10 +119,10 @@ const TabBarItemInner = ({
119
119
  }, ellipsis && !isJumbo ? styles.ellipsis : null, titleStyle],
120
120
  numberOfLines: ellipsis && !isJumbo ? 1 : undefined
121
121
  }, renderTitle), isRenderable(renderDescription) && (isText(renderDescription) ? /*#__PURE__*/React.createElement(Text, {
122
- style: [styles.description, isJumbo ? {
122
+ style: [styles.descriptionText, isJumbo ? {
123
123
  color: descriptionColor,
124
124
  fontSize: tokens.typography.descriptionSize,
125
- marginTop: 8,
125
+ marginTop: tokens.spacing.jumboDescriptionMarginTop,
126
126
  textAlign: 'center',
127
127
  backgroundColor: isActive ? tokens.colors.jumboDescriptionActiveBackground : tokens.colors.jumboDescriptionBackground,
128
128
  paddingHorizontal: tokens.jumbo.descriptionPaddingHorizontal,
@@ -131,26 +131,29 @@ const TabBarItemInner = ({
131
131
  } : {
132
132
  color: descriptionColor,
133
133
  fontSize: tokens.typography.descriptionSize,
134
- marginTop: 2,
134
+ marginTop: tokens.spacing.descriptionMarginTop,
135
135
  textAlign: 'center'
136
136
  }, descriptionStyle]
137
137
  }, renderDescription) : /*#__PURE__*/React.createElement(View, {
138
- style: [styles.description, isJumbo ? {
139
- marginTop: 8,
138
+ style: [styles.descriptionView, isJumbo ? {
139
+ marginTop: tokens.spacing.jumboDescriptionMarginTop,
140
140
  alignItems: 'center',
141
141
  backgroundColor: isActive ? tokens.colors.jumboDescriptionActiveBackground : tokens.colors.jumboDescriptionBackground,
142
142
  paddingHorizontal: tokens.jumbo.descriptionPaddingHorizontal,
143
143
  paddingVertical: tokens.jumbo.descriptionPaddingVertical,
144
144
  borderRadius: tokens.jumbo.descriptionRadius
145
145
  } : {
146
- marginTop: 2,
146
+ marginTop: tokens.spacing.descriptionMarginTop,
147
147
  alignItems: 'center'
148
148
  }]
149
149
  }, renderDescription)), isRenderable(pane.badge) && /*#__PURE__*/React.createElement(View, {
150
- style: styles.badge
150
+ style: [styles.badge, {
151
+ marginTop: tokens.spacing.badgeMarginTop
152
+ }]
151
153
  }, isText(pane.badge) ? /*#__PURE__*/React.createElement(Text, {
152
154
  style: [styles.badgeText, {
153
- color: tokens.colors.badgeText
155
+ color: tokens.colors.badgeText,
156
+ fontSize: tokens.typography.badgeTextSize
154
157
  }]
155
158
  }, pane.badge) : pane.badge)));
156
159
  };
@@ -212,7 +215,7 @@ const TabsBaseInner = (props, ref) => {
212
215
  preventScroll: true
213
216
  };
214
217
  const isSwipeable = !!swipeableConfig;
215
- const panes = useMemo(() => {
218
+ const panes = (() => {
216
219
  const result = [];
217
220
  let paneIndex = 0;
218
221
  const walk = nodes => {
@@ -224,11 +227,6 @@ const TabsBaseInner = (props, ref) => {
224
227
  return;
225
228
  }
226
229
  if (!isTabPaneElement(element)) {
227
- if (typeof __DEV__ !== 'undefined' && __DEV__) {
228
- const type = element.type;
229
- const childName = typeof type === 'string' ? type : type.displayName ?? type.name ?? 'Unknown';
230
- console.warn('[Tabs] children 只能是 <Tabs.TabPane />,已忽略:', childName);
231
- }
232
230
  return;
233
231
  }
234
232
  const paneProps = element.props;
@@ -244,7 +242,7 @@ const TabsBaseInner = (props, ref) => {
244
242
  };
245
243
  walk(children);
246
244
  return result;
247
- }, [children]);
245
+ })();
248
246
  const firstPaneName = panes[0]?.name;
249
247
  const [activeValue, setActiveValue] = useControllableValue(props, {
250
248
  defaultValue: firstPaneName,
@@ -257,13 +255,13 @@ const TabsBaseInner = (props, ref) => {
257
255
  useEffect(() => {
258
256
  currentNameRef.current = currentName;
259
257
  }, [currentName]);
260
- const nameIndexMap = useMemo(() => {
258
+ const nameIndexMap = (() => {
261
259
  const map = new Map();
262
260
  panes.forEach(pane => {
263
261
  map.set(pane.name, pane.index);
264
262
  });
265
263
  return map;
266
- }, [panes]);
264
+ })();
267
265
  const activeIndex = currentName == null ? -1 : nameIndexMap.get(currentName) ?? -1;
268
266
  const visitedRef = useRef(new Set());
269
267
  useEffect(() => {
@@ -312,12 +310,7 @@ const TabsBaseInner = (props, ref) => {
312
310
  navContentSizeSyncFrameRef.current = null;
313
311
  };
314
312
  }, []);
315
- const scrollable = useMemo(() => {
316
- if (isBoolean(scrollableProp)) {
317
- return scrollableProp;
318
- }
319
- return panes.length > resolvedSwipeThreshold || ellipsis === false;
320
- }, [ellipsis, panes.length, resolvedSwipeThreshold, scrollableProp]);
313
+ const scrollable = isBoolean(scrollableProp) ? scrollableProp : panes.length > resolvedSwipeThreshold || ellipsis === false;
321
314
  const indicatorColor = color ?? tokens.colors.indicator;
322
315
  const indicatorCornerRadius = resolvedLineHeight ? resolvedLineHeight / 2 : tokens.indicator.radius;
323
316
  const {
@@ -386,12 +379,8 @@ const TabsBaseInner = (props, ref) => {
386
379
  const runBeforeChange = useCallback(name => {
387
380
  if (!beforeChange) return Promise.resolve(true);
388
381
  try {
389
- return Promise.resolve(beforeChange(name)).then(res => res !== false).catch(error => {
390
- if (typeof __DEV__ !== 'undefined' && __DEV__) console.warn('[Tabs] beforeChange 抛出异常:', error);
391
- return false;
392
- });
382
+ return Promise.resolve(beforeChange(name)).then(res => res !== false).catch(() => false);
393
383
  } catch (error) {
394
- if (typeof __DEV__ !== 'undefined' && __DEV__) console.warn('[Tabs] beforeChange 抛出异常:', error);
395
384
  return Promise.resolve(false);
396
385
  }
397
386
  }, [beforeChange]);
@@ -490,15 +479,7 @@ const TabsBaseInner = (props, ref) => {
490
479
  }, [currentName, scrollIntoView]);
491
480
  const borderEnabled = border ?? false;
492
481
  const showIndicator = type === 'line';
493
- const navHeight = useMemo(() => {
494
- if (type === 'jumbo') {
495
- return tokens.jumbo.height;
496
- }
497
- if (type === 'card') {
498
- return tokens.card.height;
499
- }
500
- return tokens.tabList.height;
501
- }, [type, tokens]);
482
+ const navHeight = type === 'jumbo' ? tokens.jumbo.height : type === 'card' ? tokens.card.height : tokens.tabList.height;
502
483
  const navPaddingBottom = Platform.OS === 'web' && type !== 'line' && type !== 'card' ? tokens.tabList.paddingBottom : 0;
503
484
  const indicatorBottom = showIndicator ? type === 'line' ? 0 : tokens.indicator.offset : 0;
504
485
  if (panes.length === 0) {
@@ -572,7 +553,9 @@ const TabsBaseInner = (props, ref) => {
572
553
  backgroundColor: background
573
554
  }, tabBarStyle]
574
555
  }, navLeft && /*#__PURE__*/React.createElement(View, {
575
- style: styles.navSide
556
+ style: [styles.navSide, {
557
+ paddingHorizontal: tokens.spacing.navSidePaddingHorizontal
558
+ }]
576
559
  }, navLeft), /*#__PURE__*/React.createElement(View, {
577
560
  style: [styles.nav, {
578
561
  minHeight: navHeight + navPaddingBottom,
@@ -586,7 +569,9 @@ const TabsBaseInner = (props, ref) => {
586
569
  } : null],
587
570
  onLayout: handleNavContainerLayout
588
571
  }, navBody), navRight && /*#__PURE__*/React.createElement(View, {
589
- style: styles.navSide
572
+ style: [styles.navSide, {
573
+ paddingHorizontal: tokens.spacing.navSidePaddingHorizontal
574
+ }]
590
575
  }, navRight));
591
576
  const paneNodes = panes.map(pane => {
592
577
  const isActive = pane.name === currentName;
@@ -629,7 +614,9 @@ const TabsBaseInner = (props, ref) => {
629
614
  style: [styles.container, style],
630
615
  onLayout: handleContainerLayout
631
616
  }), navContent, navBottom && /*#__PURE__*/React.createElement(View, {
632
- style: styles.navBottom
617
+ style: [styles.navBottom, {
618
+ marginTop: tokens.spacing.navBottomMarginTop
619
+ }]
633
620
  }, navBottom), contentNode);
634
621
  };
635
622
  const styles = StyleSheet.create({
@@ -655,12 +642,8 @@ const styles = StyleSheet.create({
655
642
  navContentStatic: {
656
643
  flex: 1
657
644
  },
658
- navSide: {
659
- paddingHorizontal: 8
660
- },
661
- navBottom: {
662
- marginTop: 8
663
- },
645
+ navSide: {},
646
+ navBottom: {},
664
647
  labelWrapper: {
665
648
  justifyContent: 'center',
666
649
  alignItems: 'center',
@@ -688,20 +671,16 @@ const styles = StyleSheet.create({
688
671
  title: {
689
672
  includeFontPadding: false
690
673
  },
691
- description: {
692
- marginTop: 2,
674
+ descriptionText: {
693
675
  includeFontPadding: false
694
676
  },
677
+ descriptionView: {},
695
678
  ellipsis: {
696
679
  maxWidth: '100%',
697
680
  flexShrink: 1
698
681
  },
699
- badge: {
700
- marginTop: 4
701
- },
702
- badgeText: {
703
- fontSize: 10
704
- },
682
+ badge: {},
683
+ badgeText: {},
705
684
  indicator: {
706
685
  position: 'absolute',
707
686
  bottom: 0,
@@ -61,7 +61,15 @@ const createTokens = foundations => {
61
61
  titleActiveWeight: foundations.typography.weight.semiBold,
62
62
  descriptionSize: fontSize.xs,
63
63
  jumboTitleSize: fontSize.md,
64
- jumboLineHeight: Math.round(fontSize.md * 1.6)
64
+ jumboLineHeight: Math.round(fontSize.md * 1.6),
65
+ badgeTextSize: fontSize.xxs
66
+ },
67
+ spacing: {
68
+ navSidePaddingHorizontal: spacing.sm,
69
+ navBottomMarginTop: spacing.sm,
70
+ descriptionMarginTop: spacing.xxs,
71
+ jumboDescriptionMarginTop: spacing.sm,
72
+ badgeMarginTop: spacing.xs
65
73
  },
66
74
  indicator: {
67
75
  height: 3,
@@ -69,7 +69,11 @@ export const useTabsScroll = ({
69
69
  const listenerId = navScrollX.addListener(({
70
70
  value
71
71
  }) => {
72
+ const prev = navLastScrollXRef.current;
72
73
  navLastScrollXRef.current = value;
74
+ if (Math.abs(value - prev) < 0.5) {
75
+ return;
76
+ }
73
77
  navScrollRef.current?.scrollTo({
74
78
  x: value,
75
79
  y: 0,
@@ -1,7 +1,8 @@
1
1
  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); }
2
2
  import React, { useEffect, useRef } from 'react';
3
- import { Animated, Pressable, SafeAreaView, StyleSheet, Text, View, useWindowDimensions } from 'react-native';
3
+ import { Animated, Pressable, StyleSheet, Text, View, useWindowDimensions } from 'react-native';
4
4
  import Portal from '../portal/Portal';
5
+ import { SafeAreaView } from '../safe-area-view';
5
6
  import { useAriaPress } from '../../hooks';
6
7
  import { usePresenceAnimation } from '../../hooks/usePresenceAnimation';
7
8
  import Loading from '../loading';
@@ -57,7 +58,7 @@ export const Toast = props => {
57
58
  });
58
59
  const prevVisibleRef = useRef(visible);
59
60
  const closingRef = useRef(false);
60
- const positionOffset = windowHeight > 0 ? Math.round(windowHeight * 0.2) : 60;
61
+ const positionOffset = windowHeight > 0 ? Math.round(windowHeight * tokens.positionOffsetRatio) : tokens.positionOffsetMin;
61
62
  const needsSafeAreaTop = safeAreaInsetTopProp !== undefined ? safeAreaInsetTopProp : position === 'top';
62
63
  const needsSafeAreaBottom = safeAreaInsetBottomProp !== undefined ? safeAreaInsetBottomProp : position === 'bottom';
63
64
  const positionStyle = position === 'top' ? {
@@ -158,7 +159,7 @@ export const Toast = props => {
158
159
  };
159
160
  const toastStyle = {
160
161
  borderRadius: tokens.radius,
161
- opacity: closeOnClick && toastPress.states.pressed ? 0.85 : animated,
162
+ opacity: closeOnClick && toastPress.states.pressed ? tokens.pressedOpacity : animated,
162
163
  backgroundColor: tokens.colors.variants[type],
163
164
  maxWidth: tokens.maxWidth,
164
165
  ...boxStyle
@@ -166,13 +167,17 @@ export const Toast = props => {
166
167
  if (!mounted) return null;
167
168
  const hasMessage = message !== undefined && message !== null && message !== false && message !== '';
168
169
  return /*#__PURE__*/React.createElement(Portal, null, /*#__PURE__*/React.createElement(View, {
169
- style: [styles.backdrop, positionStyle, stackZIndex ? {
170
+ style: [styles.backdrop, {
171
+ backgroundColor: tokens.colors.transparent
172
+ }, positionStyle, stackZIndex ? {
170
173
  zIndex: stackZIndex
171
174
  } : undefined],
172
175
  pointerEvents: forbidClick || overlay || closeOnClick ? 'auto' : 'none'
173
176
  }, overlay || forbidClick ? /*#__PURE__*/React.createElement(Pressable, {
174
177
  testID: "rv-toast-overlay",
175
- style: [styles.overlay, overlay && {
178
+ style: [styles.overlay, {
179
+ backgroundColor: tokens.colors.transparent
180
+ }, overlay && {
176
181
  backgroundColor: colors.backdrop
177
182
  }, overlayStyle],
178
183
  pointerEvents: "auto",
@@ -180,9 +185,7 @@ export const Toast = props => {
180
185
  onStartShouldSetResponder: () => true,
181
186
  onMoveShouldSetResponder: () => true
182
187
  }) : null, needsSafeAreaTop && /*#__PURE__*/React.createElement(SafeAreaView, {
183
- style: {
184
- width: '100%'
185
- },
188
+ edge: "top",
186
189
  pointerEvents: "none"
187
190
  }), /*#__PURE__*/React.createElement(Pressable, _extends({
188
191
  disabled: !closeOnClick
@@ -203,21 +206,17 @@ export const Toast = props => {
203
206
  alignItems: 'center'
204
207
  }
205
208
  }, message) : null)), needsSafeAreaBottom && /*#__PURE__*/React.createElement(SafeAreaView, {
206
- style: {
207
- width: '100%'
208
- },
209
+ edge: "bottom",
209
210
  pointerEvents: "none"
210
211
  })));
211
212
  };
212
213
  const styles = StyleSheet.create({
213
214
  backdrop: {
214
215
  flex: 1,
215
- alignItems: 'center',
216
- backgroundColor: 'transparent'
216
+ alignItems: 'center'
217
217
  },
218
218
  overlay: {
219
- ...StyleSheet.absoluteFillObject,
220
- backgroundColor: 'transparent'
219
+ ...StyleSheet.absoluteFillObject
221
220
  },
222
221
  toast: {
223
222
  alignItems: 'center',
@@ -11,7 +11,8 @@ export const createToastTokens = foundations => {
11
11
  success: backdrop,
12
12
  fail: backdrop,
13
13
  loading: backdrop
14
- }
14
+ },
15
+ transparent: 'transparent'
15
16
  },
16
17
  fontSize: foundations.fontSize.sm,
17
18
  lineHeight: Math.round(foundations.fontSize.sm * foundations.typography.lineHeightMultiplier),
@@ -25,6 +26,9 @@ export const createToastTokens = foundations => {
25
26
  defaultPadding: foundations.spacing.lg,
26
27
  defaultWidth: 88,
27
28
  defaultMinHeight: 88,
29
+ pressedOpacity: 0.85,
30
+ positionOffsetRatio: 0.2,
31
+ positionOffsetMin: 60,
28
32
  animationDuration: 160
29
33
  };
30
34
  };
@@ -0,0 +1 @@
1
+ export {};
@@ -1,5 +1,5 @@
1
1
  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); }
2
- import React, { useCallback, useMemo, useState } from 'react';
2
+ import React, { useCallback, useState } from 'react';
3
3
  import { Linking, Text, View } from 'react-native';
4
4
  import { isBoolean, isNumber, isPlainObject } from '../../utils';
5
5
  import { isWeb as isWebPlatform } from '../../platform';
@@ -54,21 +54,18 @@ const TypographyTextBaseInner = /*#__PURE__*/React.forwardRef((props, ref) => {
54
54
  }
55
55
  const fontSize = level ? tokens.sizing.titles[level].fontSize : tokens.sizing.sizes[size];
56
56
  const lineHeight = level ? tokens.sizing.titles[level].lineHeight : fontSize * tokens.sizing.lineHeightMultiplier;
57
- const baseStyle = useMemo(() => {
58
- const textDecorationLine = underline && deleted ? 'underline line-through' : underline ? 'underline' : deleted ? 'line-through' : undefined;
59
- const computedStyle = {
60
- color: resolvedColor,
61
- fontSize,
62
- lineHeight,
63
- fontFamily: tokens.typography.fontFamily,
64
- fontWeight: strong ? tokens.typography.weight.strong : tokens.typography.weight.regular,
65
- includeFontPadding: false,
66
- textDecorationLine,
67
- textAlign: center ? 'center' : undefined,
68
- opacity: disabled ? tokens.opacity.disabled : 1
69
- };
70
- return [computedStyle, style];
71
- }, [resolvedColor, fontSize, lineHeight, tokens.typography.fontFamily, tokens.opacity.disabled, tokens.typography.weight.regular, tokens.typography.weight.strong, strong, center, disabled, underline, deleted, style]);
57
+ const textDecorationLine = underline && deleted ? 'underline line-through' : underline ? 'underline' : deleted ? 'line-through' : undefined;
58
+ const baseStyle = [{
59
+ color: resolvedColor,
60
+ fontSize,
61
+ lineHeight,
62
+ fontFamily: tokens.typography.fontFamily,
63
+ fontWeight: strong ? tokens.typography.weight.strong : tokens.typography.weight.regular,
64
+ includeFontPadding: false,
65
+ textDecorationLine,
66
+ textAlign: center ? 'center' : undefined,
67
+ opacity: disabled ? tokens.opacity.disabled : 1
68
+ }, style];
72
69
  const hasActionText = !!ellipsisConfig && (ellipsisConfig.expandText || ellipsisConfig.collapseText);
73
70
  const shouldShowAction = hasActionText && (isTruncated || expanded || isWeb);
74
71
  const handleToggleEllipsis = useCallback(() => {
@@ -79,21 +76,15 @@ const TypographyTextBaseInner = /*#__PURE__*/React.forwardRef((props, ref) => {
79
76
  return next;
80
77
  });
81
78
  }, [ellipsisConfig]);
82
- const actionLabel = useMemo(() => {
83
- if (!ellipsisConfig) return undefined;
84
- return expanded ? ellipsisConfig.collapseText ?? ellipsisConfig.expandText : ellipsisConfig.expandText ?? ellipsisConfig.collapseText;
85
- }, [ellipsisConfig, expanded]);
86
- const actionTextStyle = useMemo(() => ({
79
+ const actionLabel = !ellipsisConfig ? undefined : expanded ? ellipsisConfig.collapseText ?? ellipsisConfig.expandText : ellipsisConfig.expandText ?? ellipsisConfig.collapseText;
80
+ const actionTextStyle = {
87
81
  color: tokens.colors.primary,
88
82
  fontSize: tokens.sizing.sizes.sm,
89
83
  fontWeight: tokens.typography.weight.medium,
90
84
  marginLeft: tokens.sizing.actionMarginLeft,
91
85
  includeFontPadding: false
92
- }), [tokens.colors.primary, tokens.sizing.sizes.sm, tokens.typography.weight.medium, tokens.sizing.actionMarginLeft]);
93
- const textStyle = useMemo(() => {
94
- if (!shouldShowAction) return baseStyle;
95
- return [baseStyle, FLEX_SHRINK_STYLE];
96
- }, [shouldShowAction, baseStyle]);
86
+ };
87
+ const textStyle = shouldShowAction ? [baseStyle, FLEX_SHRINK_STYLE] : baseStyle;
97
88
  const textNode = /*#__PURE__*/React.createElement(Text, _extends({
98
89
  ref: ref,
99
90
  style: textStyle,
@@ -151,11 +142,7 @@ const TypographyLink = /*#__PURE__*/React.forwardRef((props, ref) => {
151
142
  if (href) {
152
143
  try {
153
144
  await Linking.openURL(href);
154
- } catch (error) {
155
- if (typeof __DEV__ !== 'undefined' && __DEV__) {
156
- console.warn('[Typography.Link] Failed to open url', error);
157
- }
158
- }
145
+ } catch {}
159
146
  }
160
147
  }, [onPress, href]);
161
148
  return /*#__PURE__*/React.createElement(TypographyTextBase, _extends({