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
@@ -1,21 +1 @@
1
- import React, { forwardRef } from 'react';
2
- import { View, StyleSheet } from 'react-native';
3
- const SwiperItem = /*#__PURE__*/forwardRef((props, ref) => {
4
- const {
5
- style,
6
- children,
7
- testID
8
- } = props;
9
- return /*#__PURE__*/React.createElement(View, {
10
- ref: ref,
11
- style: [styles.item, style],
12
- testID: testID
13
- }, children);
14
- });
15
- SwiperItem.displayName = 'SwiperItem';
16
- const styles = StyleSheet.create({
17
- item: {
18
- flex: 1
19
- }
20
- });
21
- export default SwiperItem;
1
+ export { SwiperItem as default } from './Swiper';
@@ -0,0 +1,5 @@
1
+ import { createComponentTokensHook } from '../../design-system';
2
+ const createSwiperTokens = _foundations => {
3
+ return {};
4
+ };
5
+ export const useSwiperTokens = createComponentTokensHook('swiper', createSwiperTokens);
@@ -1,16 +1,11 @@
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, { useEffect, useRef } from 'react';
3
- import { ActivityIndicator, Animated, Easing, Pressable, View } from 'react-native';
4
- import { nativeDriverEnabled } from '../../platform';
5
- import { useAriaPress, useControllableValue } from '../../hooks';
1
+ import React, { useCallback, useMemo } from 'react';
2
+ import { Switch as RNSwitch } from 'react-native';
3
+ import { useControllableValue } from '../../hooks';
6
4
  import { parseNumber } from '../../utils';
7
5
  import { useSwitchTokens } from './tokens';
8
- const AnimatedHandle = Animated.createAnimatedComponent(View);
9
- const switchEasing = Easing.bezier(0.25, 0.1, 0.25, 1);
10
6
  const SwitchImpl = props => {
11
7
  const {
12
8
  disabled: disabledProp,
13
- loading: loadingProp,
14
9
  size,
15
10
  activeColor,
16
11
  inactiveColor,
@@ -18,25 +13,27 @@ const SwitchImpl = props => {
18
13
  inactiveValue: inactiveValueProp,
19
14
  tokensOverride,
20
15
  onClick,
21
- style,
22
- ...rest
16
+ style
23
17
  } = props;
24
18
  const tokens = useSwitchTokens(tokensOverride);
25
19
  const disabled = disabledProp ?? tokens.defaults.disabled;
26
- const loading = loadingProp ?? tokens.defaults.loading;
27
- const activeValue = activeValueProp ?? tokens.defaults.activeValue;
28
- const inactiveValue = inactiveValueProp ?? tokens.defaults.inactiveValue;
29
- const resolvedSize = Math.max(0, parseNumber(size, tokens.defaults.size));
30
- const borderWidth = tokens.borders.width;
31
- const inset = Math.max(0, tokens.spacing.inset);
32
- const trackHeight = resolvedSize;
33
- const trackWidth = trackHeight * 2;
34
- const trackRadius = trackHeight / 2;
35
- const innerHeight = Math.max(0, trackHeight - borderWidth * 2);
36
- const innerWidth = Math.max(0, trackWidth - borderWidth * 2);
37
- const handleSize = Math.max(0, innerHeight - inset * 2);
38
- const handleRadius = handleSize / 2;
39
- const translateDistance = Math.max(0, innerWidth - handleSize - inset * 2);
20
+ const activeValue = useMemo(() => activeValueProp ?? tokens.defaults.activeValue, [activeValueProp, tokens.defaults.activeValue]);
21
+ const inactiveValue = useMemo(() => inactiveValueProp ?? tokens.defaults.inactiveValue, [inactiveValueProp, tokens.defaults.inactiveValue]);
22
+ const scale = useMemo(() => {
23
+ if (!tokens.defaults.size) return 1;
24
+ if (typeof size === 'string') {
25
+ const value = size.toLowerCase();
26
+ if (value === 'sm') return 0.75;
27
+ if (value === 'md') return 1;
28
+ if (value === 'lg') return 1.25;
29
+ const numeric = parseNumber(size, tokens.defaults.size);
30
+ return Math.max(0, numeric / tokens.defaults.size);
31
+ }
32
+ if (typeof size === 'number') {
33
+ return Math.max(0, size / tokens.defaults.size);
34
+ }
35
+ return 1;
36
+ }, [size, tokens.defaults.size]);
40
37
  const [value, triggerChange] = useControllableValue(props, {
41
38
  valuePropName: 'checked',
42
39
  defaultValuePropName: 'defaultChecked',
@@ -44,93 +41,44 @@ const SwitchImpl = props => {
44
41
  trigger: 'onChange'
45
42
  });
46
43
  const isChecked = Object.is(value, activeValue);
47
- const progress = useRef(new Animated.Value(isChecked ? 1 : 0)).current;
48
- const colorProgress = useRef(new Animated.Value(isChecked ? 1 : 0)).current;
49
- useEffect(() => {
50
- const toValue = isChecked ? 1 : 0;
51
- progress.stopAnimation();
52
- colorProgress.stopAnimation();
53
- const animation = Animated.parallel([Animated.timing(progress, {
54
- toValue,
55
- duration: tokens.animation.duration,
56
- easing: switchEasing,
57
- useNativeDriver: nativeDriverEnabled
58
- }), Animated.timing(colorProgress, {
59
- toValue,
60
- duration: tokens.animation.duration,
61
- easing: switchEasing,
62
- useNativeDriver: false
63
- })]);
64
- animation.start();
65
- return () => animation.stop();
66
- }, [colorProgress, isChecked, progress, tokens.animation.duration]);
67
- const translateX = progress.interpolate({
68
- inputRange: [0, 1],
69
- outputRange: [0, translateDistance]
70
- });
71
- const resolvedActiveColor = activeColor ?? tokens.colors.activeTrack;
72
- const resolvedInactiveColor = inactiveColor ?? tokens.colors.inactiveTrack;
73
- const trackColor = isChecked ? resolvedActiveColor : resolvedInactiveColor;
74
- const animatedTrackColor = colorProgress.interpolate({
75
- inputRange: [0, 1],
76
- outputRange: [resolvedInactiveColor, resolvedActiveColor]
77
- });
78
- const handlePress = event => {
44
+ const resolvedActiveColor = useMemo(() => activeColor ?? tokens.colors.activeTrack, [activeColor, tokens.colors.activeTrack]);
45
+ const resolvedInactiveColor = useMemo(() => inactiveColor ?? tokens.colors.inactiveTrack, [inactiveColor, tokens.colors.inactiveTrack]);
46
+ const handleTouchEnd = useCallback(event => {
79
47
  if (disabled) return;
80
48
  onClick?.(event);
81
- if (loading) return;
49
+ }, [disabled, onClick]);
50
+ const handleValueChange = useCallback(() => {
51
+ if (disabled) return;
82
52
  const next = isChecked ? inactiveValue : activeValue;
83
53
  if (Object.is(next, value)) return;
84
54
  triggerChange(next);
85
- };
86
- const {
87
- interactionProps
88
- } = useAriaPress({
89
- disabled,
90
- onPress: handlePress,
91
- extraProps: rest
92
- });
93
- return /*#__PURE__*/React.createElement(Pressable, _extends({}, interactionProps, {
55
+ }, [activeValue, disabled, inactiveValue, isChecked, triggerChange, value]);
56
+ return /*#__PURE__*/React.createElement(RNSwitch, {
57
+ value: isChecked,
58
+ disabled: disabled,
59
+ trackColor: {
60
+ false: resolvedInactiveColor,
61
+ true: resolvedActiveColor
62
+ },
63
+ thumbColor: tokens.colors.handle,
64
+ ios_backgroundColor: resolvedInactiveColor,
65
+ style: [{
66
+ transform: [{
67
+ scaleX: scale
68
+ }, {
69
+ scaleY: scale
70
+ }]
71
+ }, {
72
+ opacity: disabled ? tokens.opacity.disabled : 1
73
+ }, style],
94
74
  accessibilityRole: "switch",
95
75
  accessibilityState: {
96
76
  checked: isChecked,
97
77
  disabled
98
78
  },
99
- disabled: disabled,
100
- style: ({
101
- pressed
102
- }) => [tokens.layout.container, {
103
- opacity: disabled ? tokens.opacity.disabled : pressed ? tokens.opacity.pressed : 1
104
- }, style]
105
- }), /*#__PURE__*/React.createElement(Animated.View, {
106
- style: [tokens.layout.track, {
107
- width: trackWidth,
108
- height: trackHeight,
109
- borderRadius: trackRadius,
110
- backgroundColor: animatedTrackColor,
111
- borderWidth,
112
- borderColor: tokens.colors.border
113
- }, {
114
- pointerEvents: 'none'
115
- }]
116
- }, /*#__PURE__*/React.createElement(AnimatedHandle, {
117
- style: [tokens.layout.handleOuter, tokens.layout.handleInner, {
118
- width: handleSize,
119
- height: handleSize,
120
- borderRadius: handleRadius,
121
- top: inset,
122
- left: inset,
123
- transform: [{
124
- translateX
125
- }],
126
- backgroundColor: tokens.colors.handle,
127
- borderWidth,
128
- borderColor: tokens.colors.border
129
- }]
130
- }, loading && /*#__PURE__*/React.createElement(ActivityIndicator, {
131
- size: tokens.loader.size,
132
- color: trackColor
133
- }))));
79
+ onValueChange: handleValueChange,
80
+ onTouchEnd: handleTouchEnd
81
+ });
134
82
  };
135
83
  export const Switch = /*#__PURE__*/React.memo(SwitchImpl);
136
84
  Switch.displayName = 'Switch';
@@ -1,72 +1,24 @@
1
1
  import { createComponentTokensHook } from '../../design-system';
2
- import { StyleSheet } from 'react-native';
3
2
  const createSwitchTokens = foundations => {
4
3
  const {
5
4
  palette,
6
5
  opacity
7
6
  } = foundations;
8
- const borderWidth = StyleSheet.hairlineWidth;
9
7
  return {
10
8
  defaults: {
11
9
  size: 28,
12
10
  disabled: false,
13
- loading: false,
14
11
  activeValue: true,
15
12
  inactiveValue: false
16
13
  },
17
- spacing: {
18
- inset: 1
19
- },
20
- layout: {
21
- container: {
22
- flexDirection: 'row',
23
- alignItems: 'center'
24
- },
25
- track: {
26
- position: 'relative'
27
- },
28
- handleOuter: {
29
- position: 'absolute'
30
- },
31
- handleInner: {
32
- alignItems: 'center',
33
- justifyContent: 'center'
34
- }
35
- },
36
14
  colors: {
37
15
  activeTrack: palette.primary[500],
38
16
  inactiveTrack: palette.default[200],
39
- handle: '#ffffff',
40
- border: palette.default[300]
41
- },
42
- borders: {
43
- width: borderWidth
17
+ handle: '#ffffff'
44
18
  },
45
19
  opacity: {
46
20
  disabled: opacity.disabled,
47
21
  pressed: opacity.pressed
48
- },
49
- animation: {
50
- duration: 200
51
- },
52
- shadow: {
53
- outer: {
54
- color: '#000000',
55
- opacity: 0.06,
56
- radius: 3,
57
- offsetY: 3,
58
- elevation: 3
59
- },
60
- inner: {
61
- color: '#000000',
62
- opacity: 0.12,
63
- radius: 2,
64
- offsetY: 2,
65
- elevation: 2
66
- }
67
- },
68
- loader: {
69
- size: 12
70
22
  }
71
23
  };
72
24
  };
@@ -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, useState } from 'react';
2
+ import React, { useCallback, useMemo, useState } from 'react';
3
3
  import { StyleSheet, View } from 'react-native';
4
4
  import { mergeTokensOverride } from '../../design-system';
5
5
  import { useControllableValue } from '../../hooks';
@@ -34,16 +34,16 @@ const TabbarBase = props => {
34
34
  const placeholder = placeholderProp ?? tokens.defaults.placeholder;
35
35
  const iconSize = iconSizeProp ?? tokens.icon.size;
36
36
  const enableSafeAreaInsetBottom = safeAreaInsetBottom ?? fixed;
37
- const items = React.Children.toArray(children).filter(React.isValidElement);
38
- const firstName = items.length ? items[0].props.name ?? 0 : undefined;
37
+ const items = useMemo(() => React.Children.toArray(children).filter(React.isValidElement), [children]);
38
+ const firstName = useMemo(() => items.length ? items[0].props.name ?? 0 : undefined, [items]);
39
39
  const [activeValue, setActiveValue] = useControllableValue(props, {
40
40
  defaultValue: firstName,
41
41
  valuePropName: 'value',
42
42
  defaultValuePropName: 'defaultValue',
43
43
  trigger: 'onChange'
44
44
  });
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;
45
+ const itemNames = useMemo(() => items.map((item, index) => item.props.name ?? index), [items]);
46
+ const currentName = useMemo(() => activeValue === undefined || activeValue === null ? firstName : itemNames.some(name => name === activeValue) ? activeValue : firstName, [activeValue, firstName, itemNames]);
47
47
  const [barHeight, setBarHeight] = useState(tokens.layout.height);
48
48
  const enablePlaceholder = fixed && placeholder;
49
49
  const handleLayout = useCallback(event => {
@@ -52,15 +52,15 @@ const TabbarBase = props => {
52
52
  setBarHeight(prev => Math.abs(prev - nextHeight) < 0.5 ? prev : nextHeight);
53
53
  }, [enablePlaceholder]);
54
54
  const onSelect = useCallback((name, index) => setActiveValue(name, index), [setActiveValue]);
55
- const contextValue = {
55
+ const contextValue = useMemo(() => ({
56
56
  activeValue: currentName,
57
57
  activeColor: activeColor ?? tokens.colors.active,
58
58
  inactiveColor: inactiveColor ?? tokens.colors.inactive,
59
59
  fontSize: tokens.typography.fontSize,
60
60
  fontWeight: tokens.typography.fontWeight,
61
61
  onSelect
62
- };
63
- const clonedChildren = items.map((item, index) => {
62
+ }), [activeColor, currentName, inactiveColor, onSelect, tokens.colors.active, tokens.colors.inactive, tokens.typography.fontSize, tokens.typography.fontWeight]);
63
+ const clonedChildren = useMemo(() => items.map((item, index) => {
64
64
  const name = item.props.name ?? index;
65
65
  return /*#__PURE__*/React.cloneElement(item, {
66
66
  key: item.key ?? name,
@@ -69,31 +69,35 @@ const TabbarBase = props => {
69
69
  iconSize,
70
70
  tokensOverride: mergeTokensOverride(tokensOverride, item.props.tokensOverride)
71
71
  });
72
- });
72
+ }), [iconSize, items, tokensOverride]);
73
73
  if (items.length === 0) return null;
74
74
  const ContentWrapper = enableSafeAreaInsetBottom ? SafeAreaView : View;
75
+ const placeholderStyle = useMemo(() => ({
76
+ height: barHeight
77
+ }), [barHeight]);
78
+ const containerStyle = useMemo(() => [styles.container, fixed && [styles.fixed, {
79
+ zIndex
80
+ }], style], [fixed, style, zIndex]);
81
+ const barStyle = useMemo(() => [styles.bar, {
82
+ backgroundColor: background,
83
+ paddingHorizontal: tokens.layout.paddingHorizontal,
84
+ minHeight: tokens.layout.height
85
+ }, border ? createHairlineBorderTop(tokens.colors.border) : null, contentStyle], [background, border, contentStyle, tokens.colors.border, tokens.layout.height, tokens.layout.paddingHorizontal]);
86
+ const rowStyle = useMemo(() => [styles.row, {
87
+ minHeight: tokens.layout.height
88
+ }], [tokens.layout.height]);
75
89
  return /*#__PURE__*/React.createElement(React.Fragment, null, enablePlaceholder && /*#__PURE__*/React.createElement(View, {
76
90
  testID: "rv-tabbar-placeholder",
77
- style: {
78
- height: barHeight
79
- }
91
+ style: placeholderStyle
80
92
  }), /*#__PURE__*/React.createElement(View, _extends({}, rest, {
81
- style: [styles.container, fixed && [styles.fixed, {
82
- zIndex
83
- }], style],
93
+ style: containerStyle,
84
94
  onLayout: handleLayout
85
95
  }), /*#__PURE__*/React.createElement(ContentWrapper, {
86
- style: [styles.bar, {
87
- backgroundColor: background,
88
- paddingHorizontal: tokens.layout.paddingHorizontal,
89
- minHeight: tokens.layout.height
90
- }, border ? createHairlineBorderTop(tokens.colors.border) : null, contentStyle]
96
+ style: barStyle
91
97
  }, /*#__PURE__*/React.createElement(TabbarContext.Provider, {
92
98
  value: contextValue
93
99
  }, /*#__PURE__*/React.createElement(View, {
94
- style: [styles.row, {
95
- minHeight: tokens.layout.height
96
- }],
100
+ style: rowStyle,
97
101
  accessibilityRole: "tablist"
98
102
  }, clonedChildren)))));
99
103
  };
@@ -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 from 'react';
2
+ import React, { useCallback, useMemo } from 'react';
3
3
  import { Pressable, StyleSheet, Text, View } from 'react-native';
4
4
  import { useAriaPress } from '../../hooks';
5
5
  import { isFunction, isPlainObject, isRenderable, isText } from '../../utils/validate';
@@ -33,7 +33,7 @@ const TabbarItem = props => {
33
33
  const isActive = context.activeValue === itemName;
34
34
  const color = isActive ? context.activeColor : context.inactiveColor;
35
35
  const resolvedIconSize = iconSize ?? tokens.icon.size;
36
- const applyIconTheme = node => {
36
+ const applyIconTheme = useCallback(node => {
37
37
  if (! /*#__PURE__*/React.isValidElement(node)) return node;
38
38
  const element = node;
39
39
  const nextProps = {};
@@ -47,15 +47,13 @@ const TabbarItem = props => {
47
47
  }];
48
48
  }
49
49
  return /*#__PURE__*/React.cloneElement(element, nextProps);
50
- };
51
- const renderIcon = () => {
50
+ }, [color, resolvedIconSize]);
51
+ const renderIcon = useCallback(() => {
52
52
  if (!icon) return null;
53
53
  const raw = isFunction(icon) ? icon(isActive) : icon;
54
54
  return applyIconTheme(raw);
55
- };
56
- const renderLabel = () => {
57
- return isFunction(children) ? children(isActive) : children;
58
- };
55
+ }, [applyIconTheme, icon, isActive]);
56
+ const renderLabel = useCallback(() => isFunction(children) ? children(isActive) : children, [children, isActive]);
59
57
  const ariaPress = useAriaPress({
60
58
  disabled,
61
59
  onPress: () => {
@@ -73,8 +71,8 @@ const TabbarItem = props => {
73
71
  testID: testID ?? `rv-tabbar-item-${itemName}`
74
72
  }
75
73
  });
76
- const shouldRenderBadge = dot || isRenderable(badge);
77
- const renderBadge = () => {
74
+ const shouldRenderBadge = useMemo(() => dot || isRenderable(badge), [badge, dot]);
75
+ const renderBadge = useCallback(() => {
78
76
  if (isRenderable(badge)) {
79
77
  if (isText(badge)) {
80
78
  return /*#__PURE__*/React.createElement(Badge, {
@@ -92,24 +90,26 @@ const TabbarItem = props => {
92
90
  return /*#__PURE__*/React.createElement(Badge, {
93
91
  dot: true
94
92
  });
95
- };
93
+ }, [badge, dot]);
94
+ const itemStyle = useMemo(() => [styles.item, {
95
+ height: tokens.layout.height,
96
+ paddingVertical: tokens.layout.paddingVertical,
97
+ opacity: disabled ? 0.5 : 1
98
+ }, style], [disabled, style, tokens.layout.height, tokens.layout.paddingVertical]);
99
+ const labelStyle = useMemo(() => [styles.label, {
100
+ color,
101
+ fontSize: context.fontSize,
102
+ fontWeight: context.fontWeight,
103
+ lineHeight: context.fontSize
104
+ }, textStyle], [color, context.fontSize, context.fontWeight, textStyle]);
96
105
  return /*#__PURE__*/React.createElement(Pressable, _extends({}, rest, ariaPress.interactionProps, {
97
- style: [styles.item, {
98
- height: tokens.layout.height,
99
- paddingVertical: tokens.layout.paddingVertical,
100
- opacity: disabled ? 0.5 : 1
101
- }, style]
106
+ style: itemStyle
102
107
  }), /*#__PURE__*/React.createElement(View, {
103
108
  style: [styles.iconWrapper, iconStyle]
104
109
  }, renderIcon(), shouldRenderBadge && /*#__PURE__*/React.createElement(View, {
105
110
  style: styles.badge
106
111
  }, renderBadge())), isRenderable(children) ? /*#__PURE__*/React.createElement(Text, {
107
- style: [styles.label, {
108
- color,
109
- fontSize: context.fontSize,
110
- fontWeight: context.fontWeight,
111
- lineHeight: context.fontSize
112
- }, textStyle]
112
+ style: labelStyle
113
113
  }, renderLabel()) : null);
114
114
  };
115
115
  const styles = StyleSheet.create({
@@ -9,7 +9,6 @@ const createTokens = foundations => {
9
9
  defaults: {
10
10
  fixed: true,
11
11
  border: true,
12
- // 与 Vant 默认一致:placeholder 默认关闭;safe-area 由 Tabbar 在 fixed 时默认开启
13
12
  placeholder: false,
14
13
  safeAreaInsetBottom: false
15
14
  },
@@ -20,7 +19,6 @@ const createTokens = foundations => {
20
19
  inactive: palette.default[600]
21
20
  },
22
21
  layout: {
23
- // 对齐官方默认观感(Vant Tabbar):50 高度、无左右 padding
24
22
  height: 50,
25
23
  paddingHorizontal: 0,
26
24
  paddingVertical: spacing.xs