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,14 +1,13 @@
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, useEffect, useRef, useState } from 'react';
3
- import { Animated, Easing, Pressable, StyleSheet, Text, View, useWindowDimensions } from 'react-native';
2
+ import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';
3
+ import { Animated, Easing, Platform, Pressable, StyleSheet, Text, View, useWindowDimensions } from 'react-native';
4
4
  import { SafeAreaView } from '../safe-area-view';
5
5
  import { addPopStateListener, nativeDriverEnabled } from '../../platform';
6
6
  import { createPlatformShadow } from '../../utils/createPlatformShadow';
7
7
  import { isRenderable, isText } from '../../utils/validate';
8
8
  import { Cross } from 'react-native-system-icon';
9
9
  import Portal from '../portal/Portal';
10
- import { useOverlayStack } from '../overlay';
11
- import { useAriaOverlay, usePresenceAnimation } from '../../hooks';
10
+ import { useAriaOverlay, useOverlayStack } from '../../hooks';
12
11
  import { usePopupTokens } from './tokens';
13
12
  const AnimatedPressable = Animated.createAnimatedComponent(Pressable);
14
13
  const EASING_IN_CUBIC = Easing.bezier(0.55, 0.055, 0.675, 0.19);
@@ -131,7 +130,7 @@ export const Popup = props => {
131
130
  safeAreaInsetTop = false,
132
131
  safeAreaInsetBottom: safeAreaInsetBottomProp,
133
132
  lockScroll = true,
134
- destroyOnClose = false,
133
+ destroyOnClose = true,
135
134
  duration = 300,
136
135
  zIndex,
137
136
  closeOnBackPress = false,
@@ -153,14 +152,14 @@ export const Popup = props => {
153
152
  const shouldTranslate = placement !== 'center';
154
153
  const safeAreaInsetBottom = safeAreaInsetBottomProp ?? false;
155
154
  const tokens = usePopupTokens(tokensOverride);
156
- const shadow = createPlatformShadow({
155
+ const shadow = useMemo(() => createPlatformShadow({
157
156
  color: tokens.shadow.color,
158
157
  opacity: tokens.shadow.opacity,
159
158
  radius: tokens.shadow.radius,
160
159
  offsetY: tokens.shadow.offsetY,
161
160
  elevation: tokens.shadow.elevation
162
- });
163
- const dynamicStyles = {
161
+ }), [tokens.shadow.color, tokens.shadow.elevation, tokens.shadow.offsetY, tokens.shadow.opacity, tokens.shadow.radius]);
162
+ const dynamicStyles = useMemo(() => ({
164
163
  popup: {
165
164
  backgroundColor: tokens.colors.background,
166
165
  padding: tokens.spacing.padding,
@@ -205,7 +204,7 @@ export const Popup = props => {
205
204
  minWidth: tokens.layout.minWidth,
206
205
  maxWidth: tokens.layout.centerMaxWidth
207
206
  }
208
- };
207
+ }), [shadow, tokens.colors.background, tokens.colors.description, tokens.colors.title, tokens.layout.centerMaxWidth, tokens.layout.maxWidth, tokens.layout.minWidth, tokens.layout.sideWidth, tokens.spacing.closeIconPadding, tokens.spacing.closeIconSize, tokens.spacing.descriptionBottom, tokens.spacing.descriptionHorizontal, tokens.spacing.padding, tokens.spacing.titleBottom, tokens.spacing.titleTop, tokens.typography.descriptionLineHeight, tokens.typography.descriptionSize, tokens.typography.titleSize, tokens.typography.titleWeight]);
209
208
  const [mounted, setMounted] = useState(visible);
210
209
  const [interactionVisible, setInteractionVisible] = useState(visible);
211
210
  const isOpen = visible || interactionVisible;
@@ -227,7 +226,8 @@ export const Popup = props => {
227
226
  toValue: show ? 1 : 0,
228
227
  duration,
229
228
  easing,
230
- useNativeDriver: nativeDriverEnabled
229
+ useNativeDriver: nativeDriverEnabled,
230
+ isInteraction: false
231
231
  });
232
232
  animationRef.current = animation;
233
233
  animation.start(({
@@ -295,7 +295,7 @@ export const Popup = props => {
295
295
  const {
296
296
  zIndex: stackZIndex
297
297
  } = useOverlayStack({
298
- visible,
298
+ visible: isOpen,
299
299
  onClose: handleStackClose,
300
300
  closeOnBack: closeOnBackPress,
301
301
  lockScroll,
@@ -306,11 +306,13 @@ export const Popup = props => {
306
306
  overlayRef,
307
307
  overlayProps
308
308
  } = useAriaOverlay({
309
- isOpen: visible,
309
+ isOpen,
310
310
  onClose: () => requestClose('overlay'),
311
311
  isDismissable: shouldCloseOnOverlay,
312
312
  overlayProps: {
313
- accessibilityRole: 'dialog',
313
+ ...(Platform.OS === 'android' ? {} : {
314
+ accessibilityRole: 'dialog'
315
+ }),
314
316
  accessibilityLiveRegion: 'polite'
315
317
  }
316
318
  });
@@ -318,24 +320,18 @@ export const Popup = props => {
318
320
  onLayout: overlayOnLayout,
319
321
  ...overlayRestProps
320
322
  } = overlayProps;
321
- const stopPropagationResponder = useCallback(() => true, []);
322
323
  const contentInteractionProps = stopPropagation ? {
323
324
  ...overlayRestProps,
324
- onStartShouldSetResponder: stopPropagationResponder
325
+ onStartShouldSetResponder: () => true
325
326
  } : overlayRestProps;
326
327
  const config = placementConfig[placement];
327
328
  const radiusStyle = buildRadius(round, placement, tokens.radius.round);
328
- const {
329
- animated: overlayOpacity
330
- } = usePresenceAnimation(visible, {
331
- duration
332
- });
333
329
  const {
334
330
  width: windowWidth,
335
331
  height: windowHeight
336
332
  } = useWindowDimensions();
337
333
  const translateDistance = placement === 'left' || placement === 'right' ? windowWidth : placement === 'top' || placement === 'bottom' ? windowHeight : 0;
338
- const translateTransform = (() => {
334
+ const translateTransform = useMemo(() => {
339
335
  if (!shouldTranslate) return null;
340
336
  const outputRange = [translateDistance * direction, 0];
341
337
  return config.axis === 'y' ? {
@@ -349,9 +345,9 @@ export const Popup = props => {
349
345
  outputRange
350
346
  })
351
347
  };
352
- })();
348
+ }, [config.axis, direction, progress, shouldTranslate, translateDistance]);
353
349
  const baseTransform = translateTransform ? [translateTransform] : [];
354
- const animatedContentStyle = (() => {
350
+ const animatedContentStyle = useMemo(() => {
355
351
  const extraTransform = contentAnimationStyle?.transform;
356
352
  const transform = Array.isArray(extraTransform) ? [...baseTransform, ...extraTransform] : baseTransform;
357
353
  const baseStyle = {
@@ -371,7 +367,7 @@ export const Popup = props => {
371
367
  };
372
368
  }
373
369
  return baseStyle;
374
- })();
370
+ }, [baseTransform, contentAnimationStyle, placement, progress]);
375
371
  const handleContentLayout = useCallback(event => {
376
372
  overlayOnLayout?.(event);
377
373
  }, [overlayOnLayout]);
@@ -380,7 +376,6 @@ export const Popup = props => {
380
376
  setSafeAreaTopHeight(event.nativeEvent.layout.height);
381
377
  }, []);
382
378
  const shouldRender = mounted || visible;
383
- if (!shouldRender) return null;
384
379
  const hidden = !isOpen;
385
380
  const hasCustomCloseIcon = closeIcon != null;
386
381
  const hasHeader = isRenderable(title) || isRenderable(description);
@@ -402,53 +397,64 @@ export const Popup = props => {
402
397
  } : {
403
398
  right: tokens.spacing.closeIconRight
404
399
  };
405
- const headerNode = hasHeader ? /*#__PURE__*/React.createElement(View, {
406
- style: [styles.header, headerPaddingStyle]
407
- }, renderHeaderNode(title, {
408
- textStyle: [styles.title, dynamicStyles.title],
409
- wrapperStyle: dynamicStyles.titleWrapper
410
- }), renderHeaderNode(description, {
411
- textStyle: [styles.description, dynamicStyles.description],
412
- wrapperStyle: dynamicStyles.descriptionWrapper
413
- })) : null;
414
- const contentBody = hasHeader ? /*#__PURE__*/React.createElement(React.Fragment, null, headerNode, children) : children;
415
- const closeIconNode = closeable ? /*#__PURE__*/React.createElement(Pressable, {
416
- style: [styles.closeIconBase, dynamicStyles.closeIconBase, closeIconVerticalStyle, closeIconHorizontalStyle, !hasCustomCloseIcon ? dynamicStyles.closeIconDefault : null],
417
- hitSlop: 8,
418
- onPress: () => requestClose('close-icon')
419
- }, hasCustomCloseIcon ? closeIcon : /*#__PURE__*/React.createElement(Cross, {
420
- size: 22,
421
- fill: tokens.colors.closeIcon,
422
- color: tokens.colors.closeIcon
423
- })) : null;
424
- const content = /*#__PURE__*/React.createElement(Animated.View, _extends({
400
+ const headerNode = useMemo(() => {
401
+ if (!hasHeader) return null;
402
+ return /*#__PURE__*/React.createElement(View, {
403
+ style: [styles.header, headerPaddingStyle]
404
+ }, renderHeaderNode(title, {
405
+ textStyle: [styles.title, dynamicStyles.title],
406
+ wrapperStyle: dynamicStyles.titleWrapper
407
+ }), renderHeaderNode(description, {
408
+ textStyle: [styles.description, dynamicStyles.description],
409
+ wrapperStyle: dynamicStyles.descriptionWrapper
410
+ }));
411
+ }, [description, dynamicStyles.description, dynamicStyles.descriptionWrapper, dynamicStyles.title, dynamicStyles.titleWrapper, hasHeader, headerPaddingStyle, title]);
412
+ const contentBody = useMemo(() => hasHeader ? /*#__PURE__*/React.createElement(React.Fragment, null, headerNode, children) : children, [children, hasHeader, headerNode]);
413
+ const closeIconNode = useMemo(() => {
414
+ if (!closeable) return null;
415
+ return /*#__PURE__*/React.createElement(Pressable, {
416
+ style: [styles.closeIconBase, dynamicStyles.closeIconBase, closeIconVerticalStyle, closeIconHorizontalStyle, !hasCustomCloseIcon ? dynamicStyles.closeIconDefault : null],
417
+ hitSlop: 8,
418
+ onPress: () => requestClose('close-icon')
419
+ }, hasCustomCloseIcon ? closeIcon : /*#__PURE__*/React.createElement(Cross, {
420
+ size: 22,
421
+ fill: tokens.colors.closeIcon,
422
+ color: tokens.colors.closeIcon
423
+ }));
424
+ }, [closeIcon, closeIconHorizontalStyle, closeIconVerticalStyle, closeable, dynamicStyles.closeIconBase, dynamicStyles.closeIconDefault, hasCustomCloseIcon, requestClose, tokens.colors.closeIcon]);
425
+ const content = useMemo(() => /*#__PURE__*/React.createElement(Animated.View, _extends({
425
426
  ref: overlayRef
426
427
  }, contentInteractionProps, {
427
428
  onLayout: handleContentLayout,
429
+ renderToHardwareTextureAndroid: Platform.OS === 'android',
430
+ shouldRasterizeIOS: Platform.OS === 'ios',
428
431
  style: [dynamicStyles.popup, placement === 'center' ? dynamicStyles.popupCenter : null, isVertical ? styles.popupVertical : null, isHorizontal ? dynamicStyles.popupSide : null, radiusStyle, animatedContentStyle, style, hidden ? hiddenContentStyle : null]
429
432
  }, rest), closeIconNode, renderWithSafeArea(contentBody, {
430
433
  safeArea,
431
434
  safeAreaInsetTop,
432
435
  safeAreaInsetBottom
433
- }, safeAreaInsetTop ? handleSafeAreaTopLayout : undefined));
436
+ }, safeAreaInsetTop ? handleSafeAreaTopLayout : undefined)), [animatedContentStyle, closeIconNode, contentBody, contentInteractionProps, dynamicStyles.popup, dynamicStyles.popupCenter, dynamicStyles.popupSide, handleContentLayout, handleSafeAreaTopLayout, hidden, isHorizontal, isVertical, overlayRef, placement, radiusStyle, rest, safeArea, safeAreaInsetBottom, safeAreaInsetTop, style]);
437
+ if (!shouldRender) return null;
434
438
  const resolvedZIndex = stackZIndex ?? zIndex;
435
439
  return /*#__PURE__*/React.createElement(Portal, null, /*#__PURE__*/React.createElement(View, {
436
- style: [styles.portalRoot, resolvedZIndex ? {
440
+ style: [styles.portalRoot, webFixedRootStyle, resolvedZIndex ? {
437
441
  zIndex: resolvedZIndex
438
442
  } : undefined],
439
443
  pointerEvents: "box-none"
440
444
  }, /*#__PURE__*/React.createElement(View, {
441
445
  style: [styles.container, config.container],
442
446
  pointerEvents: isOpen ? 'auto' : 'none',
443
- accessibilityViewIsModal: visible,
447
+ accessibilityViewIsModal: isOpen,
444
448
  accessibilityLiveRegion: "polite",
445
449
  onAccessibilityEscape: () => requestClose('close')
446
450
  }, overlay && isOpen ? /*#__PURE__*/React.createElement(AnimatedPressable, _extends({
447
451
  testID: overlayTestID,
448
452
  style: [styles.overlay, {
449
453
  backgroundColor: tokens.colors.overlay,
450
- opacity: overlayOpacity
454
+ opacity: progress
451
455
  }, overlayStyle],
456
+ renderToHardwareTextureAndroid: Platform.OS === 'android',
457
+ shouldRasterizeIOS: Platform.OS === 'ios',
452
458
  pointerEvents: isOpen ? 'auto' : 'none'
453
459
  }, canCloseOnOverlay ? {
454
460
  accessibilityRole: 'button',
@@ -504,5 +510,12 @@ const styles = StyleSheet.create({
504
510
  ...StyleSheet.absoluteFillObject
505
511
  }
506
512
  });
513
+ const webFixedRootStyle = Platform.OS === 'web' ? {
514
+ position: 'fixed',
515
+ top: 0,
516
+ left: 0,
517
+ right: 0,
518
+ bottom: 0
519
+ } : undefined;
507
520
  Popup.displayName = 'Popup';
508
521
  export default Popup;
@@ -1,40 +1,46 @@
1
- import { useContext, useLayoutEffect, useRef } from 'react';
1
+ import React, { useContext, useLayoutEffect, useMemo, useRef } from 'react';
2
+ import Overlay from '../overlay';
3
+ import { PortalHost, portalManager as globalManager, portalStore } from './PortalHost';
2
4
  import { PortalContext } from './PortalContext';
3
- import { PortalHost, ensureGlobalPortalHost, portalManager as globalManager, portalStore } from './PortalHost';
4
- const usePortalManager = () => useContext(PortalContext) ?? globalManager;
5
- let hasWarnedNoHost = false;
6
- const PortalComponent = ({
7
- children
8
- }) => {
9
- const manager = usePortalManager();
5
+ const PortalComponent = /*#__PURE__*/React.forwardRef(({
6
+ children,
7
+ isOpen,
8
+ visible,
9
+ useRNModal,
10
+ useRNModalOnAndroid,
11
+ isKeyboardDismissable,
12
+ animationPreset,
13
+ onRequestClose,
14
+ style
15
+ }, _ref) => {
16
+ const manager = useContext(PortalContext) ?? globalManager;
10
17
  const keyRef = useRef(null);
18
+ const resolvedOpen = isOpen ?? visible ?? true;
19
+ const overlayNode = useMemo(() => /*#__PURE__*/React.createElement(Overlay, {
20
+ isOpen: resolvedOpen,
21
+ useRNModal: useRNModal,
22
+ useRNModalOnAndroid: useRNModalOnAndroid,
23
+ isKeyboardDismissable: isKeyboardDismissable,
24
+ animationPreset: animationPreset,
25
+ onRequestClose: onRequestClose,
26
+ style: style
27
+ }, children), [animationPreset, children, isKeyboardDismissable, onRequestClose, resolvedOpen, style, useRNModal, useRNModalOnAndroid]);
11
28
  useLayoutEffect(() => {
12
- if (manager === globalManager) {
13
- if (typeof document === 'undefined' && !portalStore.hasHosts() && !hasWarnedNoHost && typeof __DEV__ !== 'undefined' && __DEV__) {
14
- hasWarnedNoHost = true;
15
- console.warn('[Portal] 请在根节点挂载 <PortalHost> 以保证遮罩层正常工作');
16
- }
17
- void ensureGlobalPortalHost();
29
+ if (keyRef.current === null) {
30
+ keyRef.current = manager.mount(overlayNode);
31
+ } else {
32
+ manager.update(keyRef.current, overlayNode);
33
+ }
34
+ }, [manager, overlayNode]);
35
+ useLayoutEffect(() => () => {
36
+ if (keyRef.current !== null) {
37
+ manager.unmount(keyRef.current);
38
+ keyRef.current = null;
18
39
  }
19
- const key = manager.mount(children ?? null);
20
- keyRef.current = key;
21
- return () => {
22
- if (keyRef.current !== null) {
23
- manager.unmount(keyRef.current);
24
- keyRef.current = null;
25
- }
26
- };
27
40
  }, [manager]);
28
- useLayoutEffect(() => {
29
- if (keyRef.current === null) return;
30
- manager.update(keyRef.current, children ?? null);
31
- }, [children, manager]);
32
41
  return null;
33
- };
34
- const add = (children, key) => {
35
- ensureGlobalPortalHost();
36
- return globalManager.mount(children, key);
37
- };
42
+ });
43
+ const add = (children, key) => globalManager.mount(children, key);
38
44
  const remove = key => globalManager.unmount(key);
39
45
  const update = (key, children) => globalManager.update(key, children);
40
46
  const clear = () => portalStore.clear();