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
@@ -7,7 +7,6 @@ exports.useLoadingTokens = exports.createLoadingTokens = void 0;
7
7
  var _designSystem = require("../../design-system");
8
8
  const createLoadingTokens = foundations => ({
9
9
  defaults: {
10
- type: 'circular',
11
10
  size: 30,
12
11
  textSize: foundations.fontSize.sm,
13
12
  vertical: false
@@ -16,15 +15,6 @@ const createLoadingTokens = foundations => ({
16
15
  container: {
17
16
  alignItems: 'center'
18
17
  },
19
- spinnerItem: {
20
- position: 'absolute',
21
- top: 0,
22
- right: 0,
23
- bottom: 0,
24
- left: 0,
25
- alignItems: 'center',
26
- justifyContent: 'flex-start'
27
- },
28
18
  text: {
29
19
  includeFontPadding: false,
30
20
  textAlignVertical: 'center'
@@ -34,20 +24,6 @@ const createLoadingTokens = foundations => ({
34
24
  indicator: foundations.palette.default[400],
35
25
  text: foundations.palette.default[500]
36
26
  },
37
- sizing: {
38
- spinner: {
39
- lineWidth: 2,
40
- lineLength: 8,
41
- itemCount: 12,
42
- innerGapRatio: 0.25
43
- },
44
- ball: {
45
- itemCount: 3,
46
- dotSizeRatio: 0.2,
47
- dotScaleMin: 0.4,
48
- gapRatio: 0.25
49
- }
50
- },
51
27
  spacing: {
52
28
  gap: foundations.spacing.sm
53
29
  }
@@ -83,15 +83,15 @@ const NoticeBar = props => {
83
83
  const resolvedSpeed = (0, _number.parseNumber)(speed, 60);
84
84
  const resolvedVerticalInterval = Math.max(0, (0, _number.parseNumber)(verticalInterval, 3000));
85
85
  const resolvedVerticalDuration = Math.max(0, (0, _number.parseNumber)(verticalDuration, 300));
86
- const verticalItems = (() => {
86
+ const verticalItems = (0, _react().useMemo)(() => {
87
87
  if (!isVertical) return [];
88
88
  if (items && items.length) return items;
89
89
  const childArray = _react().default.Children.toArray(children);
90
90
  if (childArray.length) return childArray;
91
91
  return text !== undefined ? [text] : [];
92
- })();
92
+ }, [children, isVertical, items, text]);
93
93
  const hasVerticalLoop = isVertical && verticalItems.length > 1;
94
- const verticalTrackItems = hasVerticalLoop ? [...verticalItems, verticalItems[0]] : verticalItems;
94
+ const verticalTrackItems = (0, _react().useMemo)(() => hasVerticalLoop ? [...verticalItems, verticalItems[0]] : verticalItems, [hasVerticalLoop, verticalItems]);
95
95
  const verticalTranslateY = (0, _react().useRef)(new (_reactNative().Animated.Value)(0)).current;
96
96
  const [itemHeight, setItemHeight] = (0, _react().useState)(0);
97
97
  const setContentWidthSafe = (0, _react().useCallback)(next => {
@@ -119,7 +119,7 @@ const NoticeBar = props => {
119
119
  accessibilityRole: 'button'
120
120
  } : undefined
121
121
  });
122
- const rightNode = mode === 'closeable' ? /*#__PURE__*/_react().default.createElement(_reactNative().Pressable, _extends({
122
+ const rightNode = (0, _react().useMemo)(() => mode === 'closeable' ? /*#__PURE__*/_react().default.createElement(_reactNative().Pressable, _extends({
123
123
  hitSlop: 8
124
124
  }, closePress.interactionProps), /*#__PURE__*/_react().default.createElement(_reactNativeSystemIcon().Close, {
125
125
  size: 16,
@@ -129,7 +129,7 @@ const NoticeBar = props => {
129
129
  size: 16,
130
130
  fill: resolvedColor,
131
131
  color: resolvedColor
132
- }) : rightIcon || null;
132
+ }) : rightIcon || null, [closePress.interactionProps, mode, resolvedColor, rightIcon]);
133
133
  const hasLeft = (0, _validate.isRenderable)(leftIcon);
134
134
  const hasRight = Boolean(rightNode);
135
135
  const effectiveContainerWidth = Math.max(0, containerWidth - (hasLeft ? tokens.spacing.sidePadding : 0) - (hasRight ? tokens.spacing.sidePadding : 0));
@@ -210,44 +210,48 @@ const NoticeBar = props => {
210
210
  if (!height) return;
211
211
  setItemHeight(prev => prev === 0 || Math.abs(prev - height) >= 0.5 ? height : prev);
212
212
  }, []);
213
- const verticalContentNode = !isVertical || verticalTrackItems.length === 0 ? null : !hasVerticalLoop ? (() => {
214
- const single = verticalTrackItems[0];
215
- if ((0, _validate.isText)(single)) {
216
- return /*#__PURE__*/_react().default.createElement(_reactNative().Text, _extends({
217
- onLayout: textOnLayout,
218
- style: [styles.text, {
219
- color: resolvedColor,
220
- fontSize: tokens.typography.fontSize
221
- }],
222
- numberOfLines: 1,
223
- ellipsizeMode: "tail"
224
- }, restTextProps), single);
213
+ const verticalContentNode = (0, _react().useMemo)(() => {
214
+ if (!isVertical || verticalTrackItems.length === 0) return null;
215
+ if (!hasVerticalLoop) {
216
+ const single = verticalTrackItems[0];
217
+ if ((0, _validate.isText)(single)) {
218
+ return /*#__PURE__*/_react().default.createElement(_reactNative().Text, _extends({
219
+ onLayout: textOnLayout,
220
+ style: [styles.text, {
221
+ color: resolvedColor,
222
+ fontSize: tokens.typography.fontSize
223
+ }],
224
+ numberOfLines: 1,
225
+ ellipsizeMode: "tail"
226
+ }, restTextProps), single);
227
+ }
228
+ return single;
225
229
  }
226
- return single;
227
- })() : /*#__PURE__*/_react().default.createElement(_reactNative().View, {
228
- style: [styles.verticalViewport, itemHeight ? {
229
- height: itemHeight
230
- } : undefined],
231
- pointerEvents: "none"
232
- }, /*#__PURE__*/_react().default.createElement(_reactNative().Animated.View, {
233
- style: [styles.verticalTrack, {
234
- transform: [{
235
- translateY: verticalTranslateY
230
+ return /*#__PURE__*/_react().default.createElement(_reactNative().View, {
231
+ style: [styles.verticalViewport, itemHeight ? {
232
+ height: itemHeight
233
+ } : undefined],
234
+ pointerEvents: "none"
235
+ }, /*#__PURE__*/_react().default.createElement(_reactNative().Animated.View, {
236
+ style: [styles.verticalTrack, {
237
+ transform: [{
238
+ translateY: verticalTranslateY
239
+ }]
236
240
  }]
237
- }]
238
- }, verticalTrackItems.map((item, index) => /*#__PURE__*/_react().default.createElement(_reactNative().View, {
239
- key: index,
240
- onLayout: index === 0 ? handleItemLayout : undefined,
241
- style: styles.verticalItem
242
- }, (0, _validate.isText)(item) ? /*#__PURE__*/_react().default.createElement(_reactNative().Text, _extends({
243
- onLayout: textOnLayout,
244
- style: [styles.text, {
245
- color: resolvedColor,
246
- fontSize: tokens.typography.fontSize
247
- }],
248
- numberOfLines: 1,
249
- ellipsizeMode: "tail"
250
- }, restTextProps), item) : item))));
241
+ }, verticalTrackItems.map((item, index) => /*#__PURE__*/_react().default.createElement(_reactNative().View, {
242
+ key: index,
243
+ onLayout: index === 0 ? handleItemLayout : undefined,
244
+ style: styles.verticalItem
245
+ }, (0, _validate.isText)(item) ? /*#__PURE__*/_react().default.createElement(_reactNative().Text, _extends({
246
+ onLayout: textOnLayout,
247
+ style: [styles.text, {
248
+ color: resolvedColor,
249
+ fontSize: tokens.typography.fontSize
250
+ }],
251
+ numberOfLines: 1,
252
+ ellipsizeMode: "tail"
253
+ }, restTextProps), item) : item))));
254
+ }, [handleItemLayout, hasVerticalLoop, isVertical, itemHeight, resolvedColor, restTextProps, textOnLayout, tokens.typography.fontSize, verticalTrackItems, verticalTranslateY]);
251
255
  const handleContainerLayout = (0, _react().useCallback)(event => {
252
256
  setContainerWidthSafe(event.nativeEvent.layout.width);
253
257
  }, [setContainerWidthSafe]);
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = exports.Notify = void 0;
6
+ exports.default = exports.NotifyContent = exports.Notify = void 0;
7
7
  function _react() {
8
8
  const data = _interopRequireWildcard(require("react"));
9
9
  _react = function () {
@@ -20,14 +20,13 @@ function _reactNative() {
20
20
  }
21
21
  var _utils = require("../../utils");
22
22
  var _hooks = require("../../hooks");
23
- var _usePresenceAnimation = require("../../hooks/usePresenceAnimation");
24
23
  var _Portal = _interopRequireDefault(require("../portal/Portal"));
25
- var _overlay = require("../overlay");
24
+ var _platform = require("../../platform");
26
25
  var _tokens = require("./tokens");
27
26
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
28
27
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
29
28
  function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
30
- const Notify = props => {
29
+ const NotifyContent = props => {
31
30
  const {
32
31
  visible,
33
32
  message,
@@ -51,44 +50,41 @@ const Notify = props => {
51
50
  const tokens = (0, _tokens.useNotifyTokens)(tokensOverride);
52
51
  const paddingVertical = tokens.spacing.paddingVertical;
53
52
  const safeAreaPadding = (0, _hooks.useSafeAreaPadding)({
54
- top: paddingVertical,
55
- bottom: paddingVertical
53
+ top: 0,
54
+ bottom: 0
56
55
  });
57
56
  const type = typeProp ?? tokens.defaults.type;
58
57
  const position = positionProp ?? tokens.defaults.position;
59
58
  const closeOnClick = closeOnClickProp ?? tokens.defaults.closeOnClick;
60
59
  const safeAreaInsetTop = props.safeAreaInsetTop ?? (position === 'top' ? tokens.defaults.safeAreaInsetTop : false);
61
60
  const safeAreaInsetBottom = props.safeAreaInsetBottom ?? (position === 'bottom' ? tokens.defaults.safeAreaInsetBottom : false);
62
- const safeTop = safeAreaInsetTop && position === 'top' ? safeAreaPadding.paddingTop : paddingVertical;
63
- const safeBottom = safeAreaInsetBottom && position === 'bottom' ? safeAreaPadding.paddingBottom : paddingVertical;
61
+ const safeTop = safeAreaInsetTop && position === 'top' ? safeAreaPadding.paddingTop : 0;
62
+ const safeBottom = safeAreaInsetBottom && position === 'bottom' ? safeAreaPadding.paddingBottom : 0;
64
63
  const offset = typeof offsetProp === 'number' && Number.isFinite(offsetProp) ? Math.max(0, offsetProp) : 0;
65
- const safeBottomInset = safeAreaInsetBottom && position === 'bottom' && typeof safeBottom === 'number' ? Math.max(0, safeBottom - paddingVertical) + offset : offset;
66
- const webTopPadding = _reactNative().Platform.OS === 'web' && position === 'top' ? typeof safeTop === 'string' ? `calc(${safeTop} + ${offset}px)` : safeTop + offset : undefined;
67
- const webBottomPadding = _reactNative().Platform.OS === 'web' && safeAreaInsetBottom && position === 'bottom' ? typeof safeBottom === 'string' ? `calc(${safeBottom} + ${offset}px)` : safeBottom + offset : undefined;
64
+ const addOffset = (value, delta) => typeof value === 'string' ? `calc(${value} + ${delta}px)` : value + delta;
65
+ const safeBottomInset = safeAreaInsetBottom && position === 'bottom' && typeof safeBottom === 'number' ? safeBottom + offset : offset;
66
+ const webTopPadding = _reactNative().Platform.OS === 'web' && position === 'top' ? addOffset(safeTop, offset) : undefined;
67
+ const webBottomPadding = _reactNative().Platform.OS === 'web' && safeAreaInsetBottom && position === 'bottom' ? addOffset(safeBottom, offset) : undefined;
68
68
  const variant = tokens.colors.variants[type];
69
69
  const resolvedBackground = background ?? variant.background;
70
70
  const resolvedTextColor = color ?? variant.text;
71
71
  const resolvedDuration = durationProp ?? tokens.defaults.duration;
72
72
  const [barHeight, setBarHeight] = _react().default.useState(0);
73
- const handleLayout = event => {
73
+ const handleLayout = (0, _react().useCallback)(event => {
74
74
  const height = event.nativeEvent.layout.height;
75
75
  if (!height) return;
76
76
  setBarHeight(prev => prev === height ? prev : height);
77
- };
77
+ }, []);
78
78
 
79
79
  // 关键:静态调用时 Notify 初次挂载的 visible=true,需要执行进入动画
80
80
  const canAnimate = barHeight > 0;
81
- const {
82
- mounted,
83
- animated
84
- } = (0, _usePresenceAnimation.usePresenceAnimation)(visible, {
85
- duration: tokens.defaults.animationDuration,
86
- appear: true,
87
- canAnimate
88
- });
81
+ const [mounted, setMounted] = _react().default.useState(visible);
82
+ const animated = _react().default.useRef(new (_reactNative().Animated.Value)(0)).current;
83
+ const animationRef = _react().default.useRef(null);
84
+ const animationIdRef = _react().default.useRef(0);
89
85
  const {
90
86
  zIndex: stackZIndex
91
- } = (0, _overlay.useOverlayStack)({
87
+ } = (0, _hooks.useOverlayStack)({
92
88
  visible: mounted,
93
89
  type: 'notify',
94
90
  zIndex
@@ -96,6 +92,49 @@ const Notify = props => {
96
92
  const resolvedZIndex = stackZIndex ?? zIndex;
97
93
  const prevVisibleRef = _react().default.useRef(visible);
98
94
  const closingRef = _react().default.useRef(false);
95
+ _react().default.useEffect(() => {
96
+ animationIdRef.current += 1;
97
+ const animationId = animationIdRef.current;
98
+ animationRef.current?.stop();
99
+ const durationValue = tokens.defaults.animationDuration;
100
+ if (visible) {
101
+ setMounted(true);
102
+ if (!canAnimate) {
103
+ animated.setValue(0);
104
+ return;
105
+ }
106
+ animationRef.current = _reactNative().Animated.timing(animated, {
107
+ toValue: 1,
108
+ duration: durationValue,
109
+ easing: _reactNative().Easing.out(_reactNative().Easing.cubic),
110
+ useNativeDriver: _platform.nativeDriverEnabled,
111
+ isInteraction: false
112
+ });
113
+ animationRef.current.start();
114
+ } else {
115
+ if (!canAnimate) {
116
+ animated.setValue(0);
117
+ setMounted(false);
118
+ return;
119
+ }
120
+ animationRef.current = _reactNative().Animated.timing(animated, {
121
+ toValue: 0,
122
+ duration: durationValue,
123
+ easing: _reactNative().Easing.out(_reactNative().Easing.cubic),
124
+ useNativeDriver: _platform.nativeDriverEnabled,
125
+ isInteraction: false
126
+ });
127
+ animationRef.current.start(({
128
+ finished
129
+ }) => {
130
+ if (!finished || animationId !== animationIdRef.current) return;
131
+ setMounted(false);
132
+ });
133
+ }
134
+ }, [animated, canAnimate, tokens.defaults.animationDuration, visible]);
135
+ _react().default.useEffect(() => () => {
136
+ animationRef.current?.stop();
137
+ }, []);
99
138
  _react().default.useEffect(() => {
100
139
  let openedTimer = null;
101
140
  if (visible) {
@@ -131,10 +170,10 @@ const Notify = props => {
131
170
  }, [onClose, resolvedDuration, visible]);
132
171
  const contentHeight = barHeight > 0 ? barHeight : tokens.sizing.minHeight;
133
172
  const interactive = closeOnClick || (0, _utils.isFunction)(onClick);
134
- const handlePress = () => {
173
+ const handlePress = (0, _react().useCallback)(() => {
135
174
  onClick?.();
136
175
  if (closeOnClick) onClose?.();
137
- };
176
+ }, [closeOnClick, onClick, onClose]);
138
177
  const accessibilityRole = interactive ? 'button' : 'alert';
139
178
  const press = (0, _hooks.useAriaPress)({
140
179
  disabled: !interactive,
@@ -152,10 +191,9 @@ const Notify = props => {
152
191
  outputRange: [-contentHeight, 0]
153
192
  }), [animated, contentHeight, position]);
154
193
  const hasMessage = message !== undefined && message !== null && message !== false && message !== '';
155
- if (!mounted) return null;
156
- const bar = /*#__PURE__*/_react().default.createElement(_reactNative().View, {
194
+ const bar = (0, _react().useMemo)(() => /*#__PURE__*/_react().default.createElement(_reactNative().View, {
157
195
  style: [tokens.layout.container, position === 'top' ? {
158
- paddingTop: webTopPadding ?? (typeof safeTop === 'number' ? safeTop + offset : safeTop)
196
+ paddingTop: webTopPadding ?? addOffset(safeTop, offset)
159
197
  } : null, webBottomPadding !== undefined ? {
160
198
  paddingBottom: webBottomPadding
161
199
  } : null]
@@ -195,8 +233,9 @@ const Notify = props => {
195
233
  style: {
196
234
  height: safeBottomInset
197
235
  }
198
- }) : null);
199
- return /*#__PURE__*/_react().default.createElement(_Portal.default, null, /*#__PURE__*/_react().default.createElement(_reactNative().View, {
236
+ }) : null), [accessibilityRole, animated, contentHeight, handleLayout, hasMessage, interactive, message, offset, paddingVertical, position, resolvedBackground, resolvedTextColor, safeBottomInset, safeTop, style, textStyle, tokens.layout.container, tokens.layout.content, tokens.layout.text, tokens.sizing.minHeight, tokens.spacing.paddingHorizontal, tokens.typography.fontSize, tokens.typography.lineHeight, translateY, webBottomPadding, webTopPadding]);
237
+ if (!mounted) return null;
238
+ return /*#__PURE__*/_react().default.createElement(_reactNative().View, {
200
239
  testID: "rv-notify",
201
240
  pointerEvents: interactive ? 'box-none' : 'none',
202
241
  style: [tokens.layout.portal, position === 'bottom' ? {
@@ -208,8 +247,11 @@ const Notify = props => {
208
247
  } : null]
209
248
  }, interactive ? /*#__PURE__*/_react().default.createElement(_reactNative().Pressable, _extends({}, press.interactionProps, {
210
249
  disabled: !interactive
211
- }), bar) : bar));
250
+ }), bar) : bar);
212
251
  };
252
+ exports.NotifyContent = NotifyContent;
253
+ const Notify = props => /*#__PURE__*/_react().default.createElement(_Portal.default, null, /*#__PURE__*/_react().default.createElement(NotifyContent, props));
213
254
  exports.Notify = Notify;
255
+ NotifyContent.displayName = 'NotifyContent';
214
256
  Notify.displayName = 'Notify';
215
257
  var _default = exports.default = Notify;
@@ -13,7 +13,7 @@ function _react() {
13
13
  }
14
14
  var _Portal = _interopRequireDefault(require("../portal/Portal"));
15
15
  var _utils = require("../../utils");
16
- var _Notify = _interopRequireDefault(require("./Notify"));
16
+ var _Notify = require("./Notify");
17
17
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
18
18
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
19
19
  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); }
@@ -89,7 +89,7 @@ const NotifyPortal = ({
89
89
  options.onClosed?.();
90
90
  removeNotify(id);
91
91
  };
92
- return /*#__PURE__*/_react().default.createElement(_Notify.default, _extends({}, options, {
92
+ return /*#__PURE__*/_react().default.createElement(_Notify.NotifyContent, _extends({}, options, {
93
93
  visible: visible,
94
94
  onClose: handleClose,
95
95
  onClosed: handleClosed
@@ -5,6 +5,13 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.useNotifyTokens = exports.createNotifyTokens = void 0;
7
7
  var _designSystem = require("../../design-system");
8
+ function _reactNative() {
9
+ const data = require("react-native");
10
+ _reactNative = function () {
11
+ return data;
12
+ };
13
+ return data;
14
+ }
8
15
  const createNotifyTokens = foundations => ({
9
16
  defaults: {
10
17
  type: 'primary',
@@ -19,7 +26,10 @@ const createNotifyTokens = foundations => ({
19
26
  portal: {
20
27
  position: 'absolute',
21
28
  left: 0,
22
- right: 0
29
+ right: 0,
30
+ ...(_reactNative().Platform.OS === 'web' ? {
31
+ position: 'fixed'
32
+ } : {})
23
33
  },
24
34
  container: {
25
35
  width: '100%'
@@ -129,7 +129,7 @@ const NumberKeyboard = /*#__PURE__*/_react().default.memo(props => {
129
129
  keyboardRegistry.delete(closeSelf);
130
130
  };
131
131
  }, [visible, closeSelf]);
132
- const keys = (() => {
132
+ const keys = (0, _react().useMemo)(() => {
133
133
  const shouldShuffle = randomKeyOrder && visible;
134
134
  const numbers = shouldShuffle ? shuffle(NUMBER_KEYS) : NUMBER_KEYS;
135
135
  const main = numbers.map(text => ({
@@ -180,7 +180,7 @@ const NumberKeyboard = /*#__PURE__*/_react().default.memo(props => {
180
180
  text: showDeleteKey ? undefined : ''
181
181
  });
182
182
  return main;
183
- })();
183
+ }, [extraKey, isCustomTheme, randomKeyOrder, showDeleteKey, visible]);
184
184
  const handleInput = (0, _react().useCallback)((text, type) => {
185
185
  if (type === 'delete') {
186
186
  const currentValue = valueRef.current;
@@ -200,13 +200,13 @@ const NumberKeyboard = /*#__PURE__*/_react().default.memo(props => {
200
200
  onInput?.(text);
201
201
  setMergedValue(`${currentValue}${text}`);
202
202
  }, [closeSelf, onDelete, onInput, setMergedValue]);
203
- const wrapperShadow = (0, _createPlatformShadow.createPlatformShadow)({
203
+ const wrapperShadow = (0, _react().useMemo)(() => (0, _createPlatformShadow.createPlatformShadow)({
204
204
  color: shadow.color,
205
205
  opacity: shadow.opacity,
206
206
  radius: shadow.radius,
207
207
  offsetY: shadow.offsetY,
208
208
  elevation: shadow.elevation
209
- });
209
+ }), [shadow.color, shadow.elevation, shadow.offsetY, shadow.opacity, shadow.radius]);
210
210
  const keyGap = spacing.keyGap;
211
211
  const renderKey = (0, _react().useCallback)((key, index, isClose = false, fullWidth = false, customHeight) => {
212
212
  const isPlaceholder = key.type === '' && !key.text;
@@ -313,7 +313,7 @@ const NumberKeyboard = /*#__PURE__*/_react().default.memo(props => {
313
313
  }, []);
314
314
  const hasHeader = !isCustomTheme && (title || closeButtonText);
315
315
  const doubleKeyHeight = sizing.keyHeight * 2 + keyGap;
316
- const memo = (() => {
316
+ const memo = (0, _react().useMemo)(() => {
317
317
  const headerPaddingStyle = {
318
318
  paddingHorizontal: spacing.titlePadding
319
319
  };
@@ -421,7 +421,7 @@ const NumberKeyboard = /*#__PURE__*/_react().default.memo(props => {
421
421
  bodyNode,
422
422
  safeAreaNode
423
423
  };
424
- })();
424
+ }, [closeSelf, colors.title, doubleKeyHeight, extraKeyRender, hasHeader, isCustomTheme, keyGap, keys, renderKey, resolvedCloseText, safeAreaInsetBottom, sizing.titleFontSize, spacing.paddingHorizontal, spacing.titlePadding, title]);
425
425
  if (!shouldRender && !visible) {
426
426
  return null;
427
427
  }
@@ -3,9 +3,9 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = exports.Overlay = void 0;
6
+ exports.default = exports.Overlay = exports.ExitAnimationContext = void 0;
7
7
  function _react() {
8
- const data = _interopRequireWildcard(require("react"));
8
+ const data = _interopRequireDefault(require("react"));
9
9
  _react = function () {
10
10
  return data;
11
11
  };
@@ -18,86 +18,79 @@ function _reactNative() {
18
18
  };
19
19
  return data;
20
20
  }
21
- var _usePresenceAnimation = require("../../hooks/usePresenceAnimation");
22
- var _number = require("../../utils/number");
23
- var _Portal = _interopRequireDefault(require("../portal/Portal"));
24
- var _useOverlayStack = require("./useOverlayStack");
25
- var _tokens = require("./tokens");
21
+ function _overlays() {
22
+ const data = require("@react-native-aria/overlays");
23
+ _overlays = function () {
24
+ return data;
25
+ };
26
+ return data;
27
+ }
28
+ function _interactions() {
29
+ const data = require("@react-native-aria/interactions");
30
+ _interactions = function () {
31
+ return data;
32
+ };
33
+ return data;
34
+ }
26
35
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
27
- function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
28
- const AnimatedPressable = _reactNative().Animated.createAnimatedComponent(_reactNative().Pressable);
29
- const Overlay = props => {
36
+ const ExitAnimationContext = exports.ExitAnimationContext = /*#__PURE__*/_react().default.createContext({
37
+ exited: true,
38
+ setExited: _exited => {}
39
+ });
40
+ const Overlay = exports.Overlay = /*#__PURE__*/_react().default.forwardRef((props, ref) => {
30
41
  const {
31
- color,
32
- tokensOverride,
33
- onPress,
34
- onClick,
35
- style,
36
- zIndex,
37
42
  children,
38
- visible: visibleProp,
39
- duration: durationProp,
40
- lockScroll: lockScrollProp,
41
- closeOnBackPress: closeOnBackPressProp,
42
- testID: testIDProp,
43
- accessibilityLabel: accessibilityLabelProp
43
+ isOpen,
44
+ visible,
45
+ useRNModal = false,
46
+ useRNModalOnAndroid = false,
47
+ isKeyboardDismissable = true,
48
+ animationPreset = 'fade',
49
+ onRequestClose,
50
+ style
44
51
  } = props;
45
- const hasAction = !!onPress || !!onClick;
46
- const tokens = (0, _tokens.useOverlayTokens)(tokensOverride);
47
- const visible = visibleProp ?? tokens.defaults.visible;
48
- const lockScroll = lockScrollProp ?? tokens.defaults.lockScroll;
49
- const closeOnBackPress = closeOnBackPressProp ?? tokens.defaults.closeOnBackPress;
50
- const testID = testIDProp ?? tokens.defaults.testID;
51
- const accessibilityLabel = accessibilityLabelProp ?? tokens.defaults.accessibilityLabel;
52
- const duration = durationProp ?? tokens.defaults.duration;
53
- const resolvedDuration = Math.max(0, (0, _number.parseNumberLike)(duration, tokens.defaults.duration) ?? tokens.defaults.duration);
54
- const {
55
- mounted,
56
- animated
57
- } = (0, _usePresenceAnimation.usePresenceAnimation)(visible, {
58
- duration: resolvedDuration
52
+ const resolvedOpen = isOpen ?? visible ?? false;
53
+ const [exited, setExited] = _react().default.useState(!resolvedOpen);
54
+ (0, _interactions().useKeyboardDismissable)({
55
+ enabled: _reactNative().Platform.OS !== 'web' && resolvedOpen && isKeyboardDismissable,
56
+ callback: onRequestClose ?? (() => {})
59
57
  });
60
- const handlePress = (0, _react().useCallback)(() => {
61
- if (onPress) {
62
- onPress();
63
- return;
58
+ let styleObj = {};
59
+ if (_reactNative().Platform.OS === 'web') {
60
+ styleObj.zIndex = 9999;
61
+ }
62
+ if (animationPreset === 'slide') {
63
+ styleObj.overflow = 'hidden';
64
+ styleObj.display = 'flex';
65
+ } else {
66
+ styleObj.display = exited && !resolvedOpen ? 'none' : 'flex';
67
+ }
68
+ if (!resolvedOpen && exited) {
69
+ return null;
70
+ }
71
+ if (useRNModal || useRNModalOnAndroid && _reactNative().Platform.OS === 'android') {
72
+ return /*#__PURE__*/_react().default.createElement(ExitAnimationContext.Provider, {
73
+ value: {
74
+ exited,
75
+ setExited
76
+ }
77
+ }, /*#__PURE__*/_react().default.createElement(_reactNative().Modal, {
78
+ statusBarTranslucent: true,
79
+ transparent: true,
80
+ visible: resolvedOpen,
81
+ onRequestClose: onRequestClose,
82
+ animationType: animationPreset,
83
+ ref: ref
84
+ }, children));
85
+ }
86
+ return /*#__PURE__*/_react().default.createElement(_overlays().OverlayContainer, {
87
+ style: [style, styleObj]
88
+ }, /*#__PURE__*/_react().default.createElement(ExitAnimationContext.Provider, {
89
+ value: {
90
+ exited,
91
+ setExited
64
92
  }
65
- onClick?.();
66
- }, [onClick, onPress]);
67
- const {
68
- zIndex: stackZIndex
69
- } = (0, _useOverlayStack.useOverlayStack)({
70
- visible: mounted,
71
- onClose: hasAction ? handlePress : undefined,
72
- closeOnBack: hasAction ? closeOnBackPress : false,
73
- lockScroll,
74
- zIndex: (0, _number.parseNumberLike)(zIndex),
75
- type: 'overlay'
76
- });
77
- if (!mounted) return null;
78
- const resolvedZIndex = stackZIndex ?? (0, _number.parseNumberLike)(zIndex);
79
- const styleBackgroundColor = _reactNative().StyleSheet.flatten(style)?.backgroundColor;
80
- const resolvedColor = color ?? styleBackgroundColor ?? tokens.colors.backdrop;
81
- return /*#__PURE__*/_react().default.createElement(_Portal.default, null, /*#__PURE__*/_react().default.createElement(_reactNative().View, {
82
- pointerEvents: "box-none",
83
- style: [tokens.layout.portal, resolvedZIndex !== undefined && resolvedZIndex !== null ? {
84
- zIndex: resolvedZIndex
85
- } : null, style]
86
- }, /*#__PURE__*/_react().default.createElement(AnimatedPressable, {
87
- testID: testID,
88
- style: [tokens.layout.overlay, {
89
- backgroundColor: resolvedColor,
90
- opacity: animated,
91
- touchAction: lockScroll ? 'none' : undefined
92
- }],
93
- pointerEvents: mounted ? 'auto' : 'none',
94
- accessible: hasAction,
95
- accessibilityRole: hasAction ? 'button' : undefined,
96
- accessibilityLabel: hasAction ? accessibilityLabel : undefined,
97
- accessibilityHint: hasAction ? '双击即可关闭遮罩' : undefined,
98
- onPress: handlePress
99
- }), children));
100
- };
101
- exports.Overlay = Overlay;
93
+ }, children));
94
+ });
102
95
  Overlay.displayName = 'Overlay';
103
96
  var _default = exports.default = Overlay;