react-native-system-ui 0.0.2 → 0.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (565) hide show
  1. package/README.md +22 -6
  2. package/dist/cjs/{area → components/area}/Area.js +4 -10
  3. package/dist/cjs/{avatar → components/avatar}/Avatar.js +3 -3
  4. package/dist/cjs/{avatar → components/avatar}/tokens.js +2 -1
  5. package/dist/cjs/{badge → components/badge}/Badge.js +30 -38
  6. package/dist/cjs/{button → components/button}/Button.js +13 -13
  7. package/dist/cjs/{button → components/button}/ButtonGroup.js +8 -8
  8. package/dist/cjs/{calendar → components/calendar}/Calendar.js +10 -10
  9. package/dist/cjs/{cascader → components/cascader}/Cascader.js +4 -4
  10. package/dist/cjs/{cascader → components/cascader}/useCascaderExtend.js +5 -15
  11. package/dist/cjs/{checkbox → components/checkbox}/CheckboxGroup.js +2 -2
  12. package/dist/cjs/{circle → components/circle}/Circle.js +2 -2
  13. package/dist/cjs/{collapse → components/collapse}/Collapse.js +13 -16
  14. package/dist/cjs/{config-provider → components/config-provider}/ConfigProvider.js +1 -1
  15. package/dist/cjs/{datetime-picker → components/datetime-picker}/DatetimePicker.js +7 -7
  16. package/dist/cjs/{dialog → components/dialog}/Dialog.js +4 -6
  17. package/dist/cjs/{dialog → components/dialog}/tokens.js +2 -1
  18. package/dist/cjs/{dropdown-menu → components/dropdown-menu}/DropdownItem.js +53 -52
  19. package/dist/cjs/{dropdown-menu → components/dropdown-menu}/DropdownMenu.js +19 -23
  20. package/dist/cjs/{dropdown-menu → components/dropdown-menu}/tokens.js +20 -3
  21. package/dist/cjs/{field → components/field}/Field.js +6 -6
  22. package/dist/cjs/{form → components/form}/Form.js +5 -9
  23. package/dist/cjs/{grid → components/grid}/Grid.js +4 -4
  24. package/dist/cjs/{image → components/image}/Image.js +19 -15
  25. package/dist/cjs/{image-preview → components/image-preview}/ImagePreview.js +62 -60
  26. package/dist/cjs/{image-preview → components/image-preview}/tokens.js +21 -2
  27. package/dist/cjs/{index-bar → components/index-bar}/IndexAnchor.js +7 -6
  28. package/dist/cjs/{index-bar → components/index-bar}/IndexBar.js +40 -45
  29. package/dist/cjs/components/index-bar/tokens.js +45 -0
  30. package/dist/cjs/components/index.js +854 -0
  31. package/dist/cjs/{input → components/input}/Input.js +7 -10
  32. package/dist/cjs/{nav-bar → components/nav-bar}/NavBar.js +2 -1
  33. package/dist/cjs/{notice-bar → components/notice-bar}/NoticeBar.js +69 -95
  34. package/dist/cjs/{notify → components/notify}/Notify.js +65 -49
  35. package/dist/cjs/{notify → components/notify}/defaults.js +2 -2
  36. package/dist/cjs/{notify → components/notify}/imperative.js +2 -2
  37. package/dist/cjs/{notify → components/notify}/tokens.js +5 -4
  38. package/dist/cjs/{number-keyboard → components/number-keyboard}/NumberKeyboard.js +15 -16
  39. package/dist/cjs/{number-keyboard → components/number-keyboard}/tokens.js +4 -2
  40. package/dist/cjs/{overlay → components/overlay}/useOverlayStack.js +5 -1
  41. package/dist/cjs/{pagination → components/pagination}/Pagination.js +2 -2
  42. package/dist/cjs/{password-input → components/password-input}/PasswordInput.js +35 -27
  43. package/dist/cjs/{picker → components/picker}/Picker.js +11 -12
  44. package/dist/cjs/{picker → components/picker}/WheelPicker.js +9 -9
  45. package/dist/cjs/{picker → components/picker}/tokens.js +4 -2
  46. package/dist/cjs/{popup → components/popup}/Popup.js +48 -75
  47. package/dist/cjs/{popup → components/popup}/tokens.js +2 -1
  48. package/dist/cjs/{portal → components/portal}/Portal.js +5 -0
  49. package/dist/cjs/{portal → components/portal}/PortalHost.js +1 -13
  50. package/dist/cjs/{pull-refresh → components/pull-refresh}/PullRefresh.js +46 -27
  51. package/dist/cjs/{radio → components/radio}/RadioGroup.js +2 -2
  52. package/dist/cjs/components/safe-area-view/SafeAreaView.js +63 -0
  53. package/dist/cjs/components/safe-area-view/index.js +12 -0
  54. package/dist/cjs/{search → components/search}/Search.js +52 -67
  55. package/dist/cjs/{search → components/search}/tokens.js +2 -1
  56. package/dist/cjs/{selector → components/selector}/Selector.js +3 -3
  57. package/dist/cjs/{share-sheet → components/share-sheet}/ShareSheet.js +64 -62
  58. package/dist/cjs/{share-sheet → components/share-sheet}/tokens.js +15 -2
  59. package/dist/cjs/{sidebar → components/sidebar}/Sidebar.js +15 -19
  60. package/dist/cjs/{sidebar → components/sidebar}/SidebarItem.js +0 -3
  61. package/dist/cjs/{skeleton → components/skeleton}/Skeleton.js +44 -56
  62. package/dist/cjs/{slider → components/slider}/Slider.js +55 -61
  63. package/dist/cjs/{stepper → components/stepper}/Stepper.js +13 -16
  64. package/dist/cjs/{stepper → components/stepper}/tokens.js +4 -2
  65. package/dist/cjs/{swiper → components/swiper}/Swiper.js +21 -42
  66. package/dist/cjs/{swiper → components/swiper}/useSwiperWeb.js +15 -18
  67. package/dist/cjs/{tabbar → components/tabbar}/Tabbar.js +10 -12
  68. package/dist/cjs/{tabbar → components/tabbar}/TabbarItem.js +0 -3
  69. package/dist/cjs/{tabs → components/tabs}/Tabs.js +33 -54
  70. package/dist/cjs/{tabs → components/tabs}/tokens.js +9 -1
  71. package/dist/cjs/{tabs → components/tabs}/useTabsScroll.js +4 -0
  72. package/dist/cjs/{toast → components/toast}/Toast.js +15 -16
  73. package/dist/cjs/{toast → components/toast}/tokens.js +5 -1
  74. package/dist/cjs/components/types.js +1 -0
  75. package/dist/cjs/{typography → components/typography}/Typography.js +17 -30
  76. package/dist/cjs/{uploader → components/uploader}/Uploader.js +49 -46
  77. package/dist/cjs/{uploader → components/uploader}/tokens.js +27 -1
  78. package/dist/cjs/{water-mark → components/water-mark}/WaterMark.js +16 -16
  79. package/dist/cjs/design-system/ThemeContext.js +19 -0
  80. package/dist/cjs/design-system/ThemeProvider.js +37 -0
  81. package/dist/cjs/design-system/createComponentTokensHook.js +30 -0
  82. package/dist/cjs/design-system/index.js +59 -0
  83. package/dist/cjs/design-system/mergeTokensOverride.js +12 -0
  84. package/dist/cjs/design-system/presets.js +147 -0
  85. package/dist/cjs/design-system/tokens.js +144 -0
  86. package/dist/cjs/design-system/useTheme.js +16 -0
  87. package/dist/cjs/hooks/aria/index.js +49 -0
  88. package/dist/cjs/hooks/aria/useAriaListBox.js +58 -0
  89. package/dist/cjs/hooks/aria/useAriaOverlay.js +50 -0
  90. package/dist/cjs/hooks/aria/useAriaPress.js +107 -0
  91. package/dist/cjs/hooks/aria/useAriaToggle.js +41 -0
  92. package/dist/cjs/hooks/gesture/index.js +16 -0
  93. package/dist/cjs/hooks/gesture/useGestureScroll.js +131 -0
  94. package/dist/cjs/hooks/index.js +84 -0
  95. package/dist/cjs/hooks/useControllableValue.js +52 -0
  96. package/dist/cjs/hooks/useCountDown.js +107 -0
  97. package/dist/cjs/hooks/useHairline.js +62 -0
  98. package/dist/cjs/hooks/usePresenceAnimation.js +70 -0
  99. package/dist/cjs/hooks/useSafeAreaPadding.js +41 -0
  100. package/dist/cjs/index.js +33 -499
  101. package/dist/cjs/platform/animation.js +14 -0
  102. package/dist/cjs/platform/history.js +14 -0
  103. package/dist/cjs/platform/index.js +60 -0
  104. package/dist/cjs/platform/measure.js +55 -0
  105. package/dist/cjs/platform/runtime.js +19 -0
  106. package/dist/cjs/platform/scrollLock.js +24 -0
  107. package/dist/cjs/utils/array.js +12 -0
  108. package/dist/cjs/utils/color.js +52 -0
  109. package/dist/cjs/utils/createPlatformShadow.js +63 -0
  110. package/dist/cjs/utils/date.js +75 -0
  111. package/dist/cjs/utils/deepMerge.js +37 -0
  112. package/dist/cjs/utils/hairline.js +103 -0
  113. package/dist/cjs/utils/index.js +115 -0
  114. package/dist/cjs/utils/number.js +73 -0
  115. package/dist/cjs/utils/promise.js +9 -0
  116. package/dist/cjs/utils/string.js +39 -0
  117. package/dist/cjs/utils/validate.js +41 -0
  118. package/dist/es/{area → components/area}/Area.js +5 -11
  119. package/dist/es/{avatar → components/avatar}/Avatar.js +3 -3
  120. package/dist/es/{avatar → components/avatar}/tokens.js +2 -1
  121. package/dist/es/{badge → components/badge}/Badge.js +31 -39
  122. package/dist/es/{button → components/button}/Button.js +14 -14
  123. package/dist/es/{button → components/button}/ButtonGroup.js +7 -7
  124. package/dist/es/{calendar → components/calendar}/Calendar.js +11 -11
  125. package/dist/es/{cascader → components/cascader}/Cascader.js +5 -5
  126. package/dist/es/{cascader → components/cascader}/useCascaderExtend.js +5 -9
  127. package/dist/es/{checkbox → components/checkbox}/CheckboxGroup.js +3 -3
  128. package/dist/es/{circle → components/circle}/Circle.js +3 -3
  129. package/dist/es/{collapse → components/collapse}/Collapse.js +14 -17
  130. package/dist/es/{config-provider → components/config-provider}/ConfigProvider.js +2 -2
  131. package/dist/es/{datetime-picker → components/datetime-picker}/DatetimePicker.js +8 -8
  132. package/dist/es/{dialog → components/dialog}/Dialog.js +4 -6
  133. package/dist/es/{dialog → components/dialog}/tokens.js +2 -1
  134. package/dist/es/{dropdown-menu → components/dropdown-menu}/DropdownItem.js +53 -52
  135. package/dist/es/{dropdown-menu → components/dropdown-menu}/DropdownMenu.js +20 -24
  136. package/dist/es/{dropdown-menu → components/dropdown-menu}/tokens.js +20 -3
  137. package/dist/es/{field → components/field}/Field.js +7 -7
  138. package/dist/es/{field → components/field}/index.js +1 -1
  139. package/dist/es/{form → components/form}/Form.js +6 -10
  140. package/dist/es/{grid → components/grid}/Grid.js +3 -3
  141. package/dist/es/{image → components/image}/Image.js +20 -16
  142. package/dist/es/{image-preview → components/image-preview}/ImagePreview.js +63 -61
  143. package/dist/es/components/image-preview/tokens.js +35 -0
  144. package/dist/es/{index-bar → components/index-bar}/IndexAnchor.js +7 -6
  145. package/dist/es/{index-bar → components/index-bar}/IndexBar.js +41 -46
  146. package/dist/es/components/index-bar/tokens.js +39 -0
  147. package/dist/es/components/index.js +123 -0
  148. package/dist/es/{input → components/input}/Input.js +8 -11
  149. package/dist/es/{nav-bar → components/nav-bar}/NavBar.js +2 -1
  150. package/dist/es/{notice-bar → components/notice-bar}/NoticeBar.js +70 -96
  151. package/dist/es/{notify → components/notify}/Notify.js +68 -52
  152. package/dist/es/{notify → components/notify}/defaults.js +2 -2
  153. package/dist/es/{notify → components/notify}/imperative.js +2 -2
  154. package/dist/es/{notify → components/notify}/tokens.js +5 -4
  155. package/dist/es/{number-keyboard → components/number-keyboard}/NumberKeyboard.js +16 -17
  156. package/dist/es/{number-keyboard → components/number-keyboard}/tokens.js +4 -2
  157. package/dist/es/{overlay → components/overlay}/useOverlayStack.js +6 -2
  158. package/dist/es/{pagination → components/pagination}/Pagination.js +3 -3
  159. package/dist/es/{password-input → components/password-input}/PasswordInput.js +36 -28
  160. package/dist/es/{picker → components/picker}/Picker.js +12 -13
  161. package/dist/es/{picker → components/picker}/WheelPicker.js +10 -10
  162. package/dist/es/{picker → components/picker}/tokens.js +4 -2
  163. package/dist/es/{popup → components/popup}/Popup.js +48 -75
  164. package/dist/es/{popup → components/popup}/tokens.js +2 -1
  165. package/dist/es/{portal → components/portal}/Portal.js +5 -0
  166. package/dist/es/{portal → components/portal}/PortalHost.js +1 -13
  167. package/dist/es/{pull-refresh → components/pull-refresh}/PullRefresh.js +47 -28
  168. package/dist/es/{radio → components/radio}/RadioGroup.js +3 -3
  169. package/dist/es/components/safe-area-view/SafeAreaView.js +43 -0
  170. package/dist/es/components/safe-area-view/index.js +1 -0
  171. package/dist/es/{search → components/search}/Search.js +53 -68
  172. package/dist/es/{search → components/search}/tokens.js +2 -1
  173. package/dist/es/{selector → components/selector}/Selector.js +4 -4
  174. package/dist/es/{share-sheet → components/share-sheet}/ShareSheet.js +65 -63
  175. package/dist/es/{share-sheet → components/share-sheet}/tokens.js +15 -2
  176. package/dist/es/{sidebar → components/sidebar}/Sidebar.js +14 -18
  177. package/dist/es/{sidebar → components/sidebar}/SidebarItem.js +0 -3
  178. package/dist/es/{skeleton → components/skeleton}/Skeleton.js +45 -57
  179. package/dist/es/{slider → components/slider}/Slider.js +56 -62
  180. package/dist/es/{stepper → components/stepper}/Stepper.js +14 -17
  181. package/dist/es/{stepper → components/stepper}/tokens.js +4 -2
  182. package/dist/es/{swiper → components/swiper}/Swiper.js +22 -43
  183. package/dist/es/{swiper → components/swiper}/useSwiperWeb.js +16 -19
  184. package/dist/es/{tabbar → components/tabbar}/Tabbar.js +11 -13
  185. package/dist/es/{tabbar → components/tabbar}/TabbarItem.js +0 -3
  186. package/dist/es/{tabs → components/tabs}/Tabs.js +34 -55
  187. package/dist/es/{tabs → components/tabs}/tokens.js +9 -1
  188. package/dist/es/{tabs → components/tabs}/useTabsScroll.js +4 -0
  189. package/dist/es/{toast → components/toast}/Toast.js +14 -15
  190. package/dist/es/{toast → components/toast}/tokens.js +5 -1
  191. package/dist/es/components/types.js +1 -0
  192. package/dist/es/{typography → components/typography}/Typography.js +18 -31
  193. package/dist/es/{uploader → components/uploader}/Uploader.js +49 -46
  194. package/dist/es/{uploader → components/uploader}/tokens.js +27 -1
  195. package/dist/es/{water-mark → components/water-mark}/WaterMark.js +17 -17
  196. package/dist/es/design-system/ThemeContext.js +6 -0
  197. package/dist/es/design-system/ThemeProvider.js +23 -0
  198. package/dist/es/design-system/createComponentTokensHook.js +17 -0
  199. package/dist/es/design-system/index.js +6 -0
  200. package/dist/es/design-system/mergeTokensOverride.js +5 -0
  201. package/dist/es/design-system/presets.js +140 -0
  202. package/dist/es/design-system/tokens.js +136 -0
  203. package/dist/es/design-system/useTheme.js +3 -0
  204. package/dist/es/hooks/aria/index.js +5 -0
  205. package/dist/es/hooks/aria/useAriaListBox.js +33 -0
  206. package/dist/es/hooks/aria/useAriaOverlay.js +25 -0
  207. package/dist/es/hooks/aria/useAriaPress.js +70 -0
  208. package/dist/es/hooks/aria/useAriaToggle.js +16 -0
  209. package/dist/es/hooks/gesture/index.js +2 -0
  210. package/dist/es/hooks/gesture/useGestureScroll.js +112 -0
  211. package/dist/es/hooks/index.js +7 -0
  212. package/dist/es/hooks/useControllableValue.js +40 -0
  213. package/dist/es/hooks/useCountDown.js +95 -0
  214. package/dist/es/hooks/useHairline.js +42 -0
  215. package/dist/es/hooks/usePresenceAnimation.js +51 -0
  216. package/dist/es/hooks/useSafeAreaPadding.js +23 -0
  217. package/dist/es/index.js +4 -73
  218. package/dist/es/platform/animation.js +2 -0
  219. package/dist/es/platform/history.js +7 -0
  220. package/dist/es/platform/index.js +6 -0
  221. package/dist/es/platform/measure.js +48 -0
  222. package/dist/es/platform/runtime.js +4 -0
  223. package/dist/es/platform/scrollLock.js +16 -0
  224. package/dist/es/utils/array.js +5 -0
  225. package/dist/es/utils/color.js +42 -0
  226. package/dist/es/utils/createPlatformShadow.js +50 -0
  227. package/dist/es/utils/date.js +63 -0
  228. package/dist/es/utils/deepMerge.js +31 -0
  229. package/dist/es/utils/hairline.js +84 -0
  230. package/dist/es/utils/index.js +12 -0
  231. package/dist/es/utils/number.js +56 -0
  232. package/dist/es/utils/promise.js +2 -0
  233. package/dist/es/utils/string.js +30 -0
  234. package/dist/es/utils/validate.js +15 -0
  235. package/dist/types/components/dialog/tokens.d.ts +1 -0
  236. package/dist/types/components/dropdown-menu/tokens.d.ts +17 -0
  237. package/dist/types/components/field/index.d.ts +1 -1
  238. package/dist/types/components/image-preview/tokens.d.ts +16 -0
  239. package/dist/types/components/index-bar/tokens.d.ts +13 -4
  240. package/dist/types/components/index.d.ts +104 -0
  241. package/dist/types/components/notify/defaults.d.ts +2 -2
  242. package/dist/types/components/number-keyboard/tokens.d.ts +1 -0
  243. package/dist/types/components/password-input/PasswordInput.d.ts +4 -0
  244. package/dist/types/components/picker/tokens.d.ts +2 -0
  245. package/dist/types/components/popup/tokens.d.ts +1 -0
  246. package/dist/types/components/safe-area-view/SafeAreaView.d.ts +10 -0
  247. package/dist/types/components/safe-area-view/index.d.ts +2 -0
  248. package/dist/types/components/search/tokens.d.ts +1 -0
  249. package/dist/types/components/share-sheet/tokens.d.ts +13 -0
  250. package/dist/types/components/stepper/tokens.d.ts +2 -0
  251. package/dist/types/components/tabs/tokens.d.ts +8 -0
  252. package/dist/types/components/toast/tokens.d.ts +4 -0
  253. package/dist/types/components/uploader/tokens.d.ts +25 -0
  254. package/dist/types/hooks/index.d.ts +1 -0
  255. package/dist/types/hooks/usePresenceAnimation.d.ts +6 -1
  256. package/dist/types/hooks/useSafeAreaPadding.d.ts +13 -0
  257. package/package.json +290 -274
  258. package/dist/cjs/index-bar/tokens.js +0 -36
  259. package/dist/cjs/safe-area/SafeAreaClipper.js +0 -114
  260. package/dist/cjs/safe-area/index.js +0 -63
  261. package/dist/es/image-preview/tokens.js +0 -16
  262. package/dist/es/index-bar/tokens.js +0 -30
  263. package/dist/es/safe-area/SafeAreaClipper.js +0 -86
  264. package/dist/es/safe-area/index.js +0 -25
  265. package/dist/types/components/safe-area/SafeAreaClipper.d.ts +0 -47
  266. package/dist/types/components/safe-area/index.d.ts +0 -9
  267. /package/dist/cjs/{action-sheet → components/action-sheet}/ActionSheet.js +0 -0
  268. /package/dist/cjs/{action-sheet → components/action-sheet}/index.js +0 -0
  269. /package/dist/cjs/{action-sheet → components/action-sheet}/tokens.js +0 -0
  270. /package/dist/cjs/{area → components/area}/index.js +0 -0
  271. /package/dist/cjs/{area → components/area}/utils.js +0 -0
  272. /package/dist/cjs/{avatar → components/avatar}/index.js +0 -0
  273. /package/dist/cjs/{badge → components/badge}/index.js +0 -0
  274. /package/dist/cjs/{badge → components/badge}/tokens.js +0 -0
  275. /package/dist/cjs/{button → components/button}/ButtonContext.js +0 -0
  276. /package/dist/cjs/{button → components/button}/index.js +0 -0
  277. /package/dist/cjs/{button → components/button}/tokens.js +0 -0
  278. /package/dist/cjs/{calendar → components/calendar}/index.js +0 -0
  279. /package/dist/cjs/{calendar → components/calendar}/tokens.js +0 -0
  280. /package/dist/cjs/{cascader → components/cascader}/index.js +0 -0
  281. /package/dist/cjs/{cascader → components/cascader}/tokens.js +0 -0
  282. /package/dist/cjs/{cascader → components/cascader}/utils.js +0 -0
  283. /package/dist/cjs/{cell → components/cell}/Cell.js +0 -0
  284. /package/dist/cjs/{cell → components/cell}/CellContext.js +0 -0
  285. /package/dist/cjs/{cell → components/cell}/CellGroup.js +0 -0
  286. /package/dist/cjs/{cell → components/cell}/index.js +0 -0
  287. /package/dist/cjs/{cell → components/cell}/tokens.js +0 -0
  288. /package/dist/cjs/{checkbox → components/checkbox}/Checkbox.js +0 -0
  289. /package/dist/cjs/{checkbox → components/checkbox}/CheckboxContext.js +0 -0
  290. /package/dist/cjs/{checkbox → components/checkbox}/index.js +0 -0
  291. /package/dist/cjs/{checkbox → components/checkbox}/tokens.js +0 -0
  292. /package/dist/cjs/{circle → components/circle}/index.js +0 -0
  293. /package/dist/cjs/{circle → components/circle}/tokens.js +0 -0
  294. /package/dist/cjs/{collapse → components/collapse}/index.js +0 -0
  295. /package/dist/cjs/{collapse → components/collapse}/tokens.js +0 -0
  296. /package/dist/cjs/{config-provider → components/config-provider}/LocaleContext.js +0 -0
  297. /package/dist/cjs/{config-provider → components/config-provider}/index.js +0 -0
  298. /package/dist/cjs/{config-provider → components/config-provider}/locale/base.js +0 -0
  299. /package/dist/cjs/{config-provider → components/config-provider}/locale/en-US.js +0 -0
  300. /package/dist/cjs/{config-provider → components/config-provider}/locale/zh-CN.js +0 -0
  301. /package/dist/cjs/{config-provider → components/config-provider}/useLocale.js +0 -0
  302. /package/dist/cjs/{count-down → components/count-down}/CountDown.js +0 -0
  303. /package/dist/cjs/{count-down → components/count-down}/index.js +0 -0
  304. /package/dist/cjs/{count-down → components/count-down}/tokens.js +0 -0
  305. /package/dist/cjs/{datetime-picker → components/datetime-picker}/index.js +0 -0
  306. /package/dist/cjs/{dialog → components/dialog}/imperative.js +0 -0
  307. /package/dist/cjs/{dialog → components/dialog}/index.js +0 -0
  308. /package/dist/cjs/{divider → components/divider}/Divider.js +0 -0
  309. /package/dist/cjs/{divider → components/divider}/index.js +0 -0
  310. /package/dist/cjs/{divider → components/divider}/tokens.js +0 -0
  311. /package/dist/cjs/{dropdown-menu → components/dropdown-menu}/DropdownMenuContext.js +0 -0
  312. /package/dist/cjs/{dropdown-menu → components/dropdown-menu}/index.js +0 -0
  313. /package/dist/cjs/{empty → components/empty}/Empty.js +0 -0
  314. /package/dist/cjs/{empty → components/empty}/index.js +0 -0
  315. /package/dist/cjs/{empty → components/empty}/tokens.js +0 -0
  316. /package/dist/cjs/{field → components/field}/index.js +0 -0
  317. /package/dist/cjs/{field → components/field}/tokens.js +0 -0
  318. /package/dist/cjs/{field → components/field}/utils.js +0 -0
  319. /package/dist/cjs/{flex → components/flex}/Flex.js +0 -0
  320. /package/dist/cjs/{flex → components/flex}/FlexContext.js +0 -0
  321. /package/dist/cjs/{flex → components/flex}/FlexItem.js +0 -0
  322. /package/dist/cjs/{flex → components/flex}/index.js +0 -0
  323. /package/dist/cjs/{flex → components/flex}/tokens.js +0 -0
  324. /package/dist/cjs/{form → components/form}/FormContext.js +0 -0
  325. /package/dist/cjs/{form → components/form}/FormItem.js +0 -0
  326. /package/dist/cjs/{form → components/form}/FormList.js +0 -0
  327. /package/dist/cjs/{form → components/form}/index.js +0 -0
  328. /package/dist/cjs/{form → components/form}/utils.js +0 -0
  329. /package/dist/cjs/{grid → components/grid}/GridContext.js +0 -0
  330. /package/dist/cjs/{grid → components/grid}/GridItem.js +0 -0
  331. /package/dist/cjs/{grid → components/grid}/index.js +0 -0
  332. /package/dist/cjs/{grid → components/grid}/tokens.js +0 -0
  333. /package/dist/cjs/{image → components/image}/index.js +0 -0
  334. /package/dist/cjs/{image → components/image}/tokens.js +0 -0
  335. /package/dist/cjs/{image-preview → components/image-preview}/imperative.js +0 -0
  336. /package/dist/cjs/{image-preview → components/image-preview}/index.js +0 -0
  337. /package/dist/cjs/{index-bar → components/index-bar}/index.js +0 -0
  338. /package/dist/cjs/{input → components/input}/index.js +0 -0
  339. /package/dist/cjs/{input → components/input}/tokens.js +0 -0
  340. /package/dist/cjs/{list → components/list}/List.js +0 -0
  341. /package/dist/cjs/{list → components/list}/index.js +0 -0
  342. /package/dist/cjs/{list → components/list}/tokens.js +0 -0
  343. /package/dist/cjs/{loading → components/loading}/Loading.js +0 -0
  344. /package/dist/cjs/{loading → components/loading}/index.js +0 -0
  345. /package/dist/cjs/{loading → components/loading}/tokens.js +0 -0
  346. /package/dist/cjs/{nav-bar → components/nav-bar}/index.js +0 -0
  347. /package/dist/cjs/{nav-bar → components/nav-bar}/tokens.js +0 -0
  348. /package/dist/cjs/{notice-bar → components/notice-bar}/index.js +0 -0
  349. /package/dist/cjs/{notice-bar → components/notice-bar}/tokens.js +0 -0
  350. /package/dist/cjs/{notify → components/notify}/index.js +0 -0
  351. /package/dist/cjs/{number-keyboard → components/number-keyboard}/index.js +0 -0
  352. /package/dist/cjs/{overlay → components/overlay}/Overlay.js +0 -0
  353. /package/dist/cjs/{overlay → components/overlay}/OverlayStackStore.js +0 -0
  354. /package/dist/cjs/{overlay → components/overlay}/index.js +0 -0
  355. /package/dist/cjs/{overlay → components/overlay}/tokens.js +0 -0
  356. /package/dist/cjs/{pagination → components/pagination}/index.js +0 -0
  357. /package/dist/cjs/{pagination → components/pagination}/tokens.js +0 -0
  358. /package/dist/cjs/{password-input → components/password-input}/index.js +0 -0
  359. /package/dist/cjs/{picker → components/picker}/index.js +0 -0
  360. /package/dist/cjs/{picker → components/picker}/utils.js +0 -0
  361. /package/dist/cjs/{popup → components/popup}/index.js +0 -0
  362. /package/dist/cjs/{portal → components/portal}/PortalContext.js +0 -0
  363. /package/dist/cjs/{portal → components/portal}/index.js +0 -0
  364. /package/dist/cjs/{progress → components/progress}/Progress.js +0 -0
  365. /package/dist/cjs/{progress → components/progress}/index.js +0 -0
  366. /package/dist/cjs/{progress → components/progress}/tokens.js +0 -0
  367. /package/dist/cjs/{pull-refresh → components/pull-refresh}/index.js +0 -0
  368. /package/dist/cjs/{pull-refresh → components/pull-refresh}/tokens.js +0 -0
  369. /package/dist/cjs/{radio → components/radio}/Radio.js +0 -0
  370. /package/dist/cjs/{radio → components/radio}/RadioContext.js +0 -0
  371. /package/dist/cjs/{radio → components/radio}/index.js +0 -0
  372. /package/dist/cjs/{radio → components/radio}/tokens.js +0 -0
  373. /package/dist/cjs/{rate → components/rate}/Rate.js +0 -0
  374. /package/dist/cjs/{rate → components/rate}/index.js +0 -0
  375. /package/dist/cjs/{rate → components/rate}/tokens.js +0 -0
  376. /package/dist/cjs/{search → components/search}/index.js +0 -0
  377. /package/dist/cjs/{selector → components/selector}/index.js +0 -0
  378. /package/dist/cjs/{selector → components/selector}/tokens.js +0 -0
  379. /package/dist/cjs/{share-sheet → components/share-sheet}/index.js +0 -0
  380. /package/dist/cjs/{sidebar → components/sidebar}/SidebarContext.js +0 -0
  381. /package/dist/cjs/{sidebar → components/sidebar}/index.js +0 -0
  382. /package/dist/cjs/{sidebar → components/sidebar}/tokens.js +0 -0
  383. /package/dist/cjs/{skeleton → components/skeleton}/index.js +0 -0
  384. /package/dist/cjs/{skeleton → components/skeleton}/tokens.js +0 -0
  385. /package/dist/cjs/{slider → components/slider}/index.js +0 -0
  386. /package/dist/cjs/{slider → components/slider}/tokens.js +0 -0
  387. /package/dist/cjs/{slider → components/slider}/utils.js +0 -0
  388. /package/dist/cjs/{space → components/space}/Space.js +0 -0
  389. /package/dist/cjs/{space → components/space}/index.js +0 -0
  390. /package/dist/cjs/{space → components/space}/tokens.js +0 -0
  391. /package/dist/cjs/{stepper → components/stepper}/index.js +0 -0
  392. /package/dist/cjs/{swiper → components/swiper}/SwiperItem.js +0 -0
  393. /package/dist/cjs/{swiper → components/swiper}/SwiperPagIndicator.js +0 -0
  394. /package/dist/cjs/{swiper → components/swiper}/index.js +0 -0
  395. /package/dist/cjs/{swiper → components/swiper}/utils.js +0 -0
  396. /package/dist/cjs/{switch → components/switch}/Switch.js +0 -0
  397. /package/dist/cjs/{switch → components/switch}/index.js +0 -0
  398. /package/dist/cjs/{switch → components/switch}/tokens.js +0 -0
  399. /package/dist/cjs/{tabbar → components/tabbar}/TabbarContext.js +0 -0
  400. /package/dist/cjs/{tabbar → components/tabbar}/index.js +0 -0
  401. /package/dist/cjs/{tabbar → components/tabbar}/tokens.js +0 -0
  402. /package/dist/cjs/{tabs → components/tabs}/TabPane.js +0 -0
  403. /package/dist/cjs/{tabs → components/tabs}/index.js +0 -0
  404. /package/dist/cjs/{tabs → components/tabs}/useTabsAnimation.js +0 -0
  405. /package/dist/cjs/{tabs → components/tabs}/utils.js +0 -0
  406. /package/dist/cjs/{tag → components/tag}/Tag.js +0 -0
  407. /package/dist/cjs/{tag → components/tag}/index.js +0 -0
  408. /package/dist/cjs/{tag → components/tag}/tokens.js +0 -0
  409. /package/dist/cjs/{toast → components/toast}/imperative.js +0 -0
  410. /package/dist/cjs/{toast → components/toast}/index.js +0 -0
  411. /package/dist/cjs/{typography → components/typography}/index.js +0 -0
  412. /package/dist/cjs/{typography → components/typography}/tokens.js +0 -0
  413. /package/dist/cjs/{uploader → components/uploader}/index.js +0 -0
  414. /package/dist/cjs/{uploader → components/uploader}/utils.js +0 -0
  415. /package/dist/cjs/{water-mark → components/water-mark}/index.js +0 -0
  416. /package/dist/cjs/{water-mark → components/water-mark}/tokens.js +0 -0
  417. /package/dist/es/{action-sheet → components/action-sheet}/ActionSheet.js +0 -0
  418. /package/dist/es/{action-sheet → components/action-sheet}/index.js +0 -0
  419. /package/dist/es/{action-sheet → components/action-sheet}/tokens.js +0 -0
  420. /package/dist/es/{area → components/area}/index.js +0 -0
  421. /package/dist/es/{area → components/area}/utils.js +0 -0
  422. /package/dist/es/{avatar → components/avatar}/index.js +0 -0
  423. /package/dist/es/{badge → components/badge}/index.js +0 -0
  424. /package/dist/es/{badge → components/badge}/tokens.js +0 -0
  425. /package/dist/es/{button → components/button}/ButtonContext.js +0 -0
  426. /package/dist/es/{button → components/button}/index.js +0 -0
  427. /package/dist/es/{button → components/button}/tokens.js +0 -0
  428. /package/dist/es/{calendar → components/calendar}/index.js +0 -0
  429. /package/dist/es/{calendar → components/calendar}/tokens.js +0 -0
  430. /package/dist/es/{cascader → components/cascader}/index.js +0 -0
  431. /package/dist/es/{cascader → components/cascader}/tokens.js +0 -0
  432. /package/dist/es/{cascader → components/cascader}/utils.js +0 -0
  433. /package/dist/es/{cell → components/cell}/Cell.js +0 -0
  434. /package/dist/es/{cell → components/cell}/CellContext.js +0 -0
  435. /package/dist/es/{cell → components/cell}/CellGroup.js +0 -0
  436. /package/dist/es/{cell → components/cell}/index.js +0 -0
  437. /package/dist/es/{cell → components/cell}/tokens.js +0 -0
  438. /package/dist/es/{checkbox → components/checkbox}/Checkbox.js +0 -0
  439. /package/dist/es/{checkbox → components/checkbox}/CheckboxContext.js +0 -0
  440. /package/dist/es/{checkbox → components/checkbox}/index.js +0 -0
  441. /package/dist/es/{checkbox → components/checkbox}/tokens.js +0 -0
  442. /package/dist/es/{circle → components/circle}/index.js +0 -0
  443. /package/dist/es/{circle → components/circle}/tokens.js +0 -0
  444. /package/dist/es/{collapse → components/collapse}/index.js +0 -0
  445. /package/dist/es/{collapse → components/collapse}/tokens.js +0 -0
  446. /package/dist/es/{config-provider → components/config-provider}/LocaleContext.js +0 -0
  447. /package/dist/es/{config-provider → components/config-provider}/index.js +0 -0
  448. /package/dist/es/{config-provider → components/config-provider}/locale/base.js +0 -0
  449. /package/dist/es/{config-provider → components/config-provider}/locale/en-US.js +0 -0
  450. /package/dist/es/{config-provider → components/config-provider}/locale/zh-CN.js +0 -0
  451. /package/dist/es/{config-provider → components/config-provider}/useLocale.js +0 -0
  452. /package/dist/es/{count-down → components/count-down}/CountDown.js +0 -0
  453. /package/dist/es/{count-down → components/count-down}/index.js +0 -0
  454. /package/dist/es/{count-down → components/count-down}/tokens.js +0 -0
  455. /package/dist/es/{datetime-picker → components/datetime-picker}/index.js +0 -0
  456. /package/dist/es/{dialog → components/dialog}/imperative.js +0 -0
  457. /package/dist/es/{dialog → components/dialog}/index.js +0 -0
  458. /package/dist/es/{divider → components/divider}/Divider.js +0 -0
  459. /package/dist/es/{divider → components/divider}/index.js +0 -0
  460. /package/dist/es/{divider → components/divider}/tokens.js +0 -0
  461. /package/dist/es/{dropdown-menu → components/dropdown-menu}/DropdownMenuContext.js +0 -0
  462. /package/dist/es/{dropdown-menu → components/dropdown-menu}/index.js +0 -0
  463. /package/dist/es/{empty → components/empty}/Empty.js +0 -0
  464. /package/dist/es/{empty → components/empty}/index.js +0 -0
  465. /package/dist/es/{empty → components/empty}/tokens.js +0 -0
  466. /package/dist/es/{field → components/field}/tokens.js +0 -0
  467. /package/dist/es/{field → components/field}/utils.js +0 -0
  468. /package/dist/es/{flex → components/flex}/Flex.js +0 -0
  469. /package/dist/es/{flex → components/flex}/FlexContext.js +0 -0
  470. /package/dist/es/{flex → components/flex}/FlexItem.js +0 -0
  471. /package/dist/es/{flex → components/flex}/index.js +0 -0
  472. /package/dist/es/{flex → components/flex}/tokens.js +0 -0
  473. /package/dist/es/{form → components/form}/FormContext.js +0 -0
  474. /package/dist/es/{form → components/form}/FormItem.js +0 -0
  475. /package/dist/es/{form → components/form}/FormList.js +0 -0
  476. /package/dist/es/{form → components/form}/index.js +0 -0
  477. /package/dist/es/{form → components/form}/utils.js +0 -0
  478. /package/dist/es/{grid → components/grid}/GridContext.js +0 -0
  479. /package/dist/es/{grid → components/grid}/GridItem.js +0 -0
  480. /package/dist/es/{grid → components/grid}/index.js +0 -0
  481. /package/dist/es/{grid → components/grid}/tokens.js +0 -0
  482. /package/dist/es/{image → components/image}/index.js +0 -0
  483. /package/dist/es/{image → components/image}/tokens.js +0 -0
  484. /package/dist/es/{image-preview → components/image-preview}/imperative.js +0 -0
  485. /package/dist/es/{image-preview → components/image-preview}/index.js +0 -0
  486. /package/dist/es/{index-bar → components/index-bar}/index.js +0 -0
  487. /package/dist/es/{input → components/input}/index.js +0 -0
  488. /package/dist/es/{input → components/input}/tokens.js +0 -0
  489. /package/dist/es/{list → components/list}/List.js +0 -0
  490. /package/dist/es/{list → components/list}/index.js +0 -0
  491. /package/dist/es/{list → components/list}/tokens.js +0 -0
  492. /package/dist/es/{loading → components/loading}/Loading.js +0 -0
  493. /package/dist/es/{loading → components/loading}/index.js +0 -0
  494. /package/dist/es/{loading → components/loading}/tokens.js +0 -0
  495. /package/dist/es/{nav-bar → components/nav-bar}/index.js +0 -0
  496. /package/dist/es/{nav-bar → components/nav-bar}/tokens.js +0 -0
  497. /package/dist/es/{notice-bar → components/notice-bar}/index.js +0 -0
  498. /package/dist/es/{notice-bar → components/notice-bar}/tokens.js +0 -0
  499. /package/dist/es/{notify → components/notify}/index.js +0 -0
  500. /package/dist/es/{number-keyboard → components/number-keyboard}/index.js +0 -0
  501. /package/dist/es/{overlay → components/overlay}/Overlay.js +0 -0
  502. /package/dist/es/{overlay → components/overlay}/OverlayStackStore.js +0 -0
  503. /package/dist/es/{overlay → components/overlay}/index.js +0 -0
  504. /package/dist/es/{overlay → components/overlay}/tokens.js +0 -0
  505. /package/dist/es/{pagination → components/pagination}/index.js +0 -0
  506. /package/dist/es/{pagination → components/pagination}/tokens.js +0 -0
  507. /package/dist/es/{password-input → components/password-input}/index.js +0 -0
  508. /package/dist/es/{picker → components/picker}/index.js +0 -0
  509. /package/dist/es/{picker → components/picker}/utils.js +0 -0
  510. /package/dist/es/{popup → components/popup}/index.js +0 -0
  511. /package/dist/es/{portal → components/portal}/PortalContext.js +0 -0
  512. /package/dist/es/{portal → components/portal}/index.js +0 -0
  513. /package/dist/es/{progress → components/progress}/Progress.js +0 -0
  514. /package/dist/es/{progress → components/progress}/index.js +0 -0
  515. /package/dist/es/{progress → components/progress}/tokens.js +0 -0
  516. /package/dist/es/{pull-refresh → components/pull-refresh}/index.js +0 -0
  517. /package/dist/es/{pull-refresh → components/pull-refresh}/tokens.js +0 -0
  518. /package/dist/es/{radio → components/radio}/Radio.js +0 -0
  519. /package/dist/es/{radio → components/radio}/RadioContext.js +0 -0
  520. /package/dist/es/{radio → components/radio}/index.js +0 -0
  521. /package/dist/es/{radio → components/radio}/tokens.js +0 -0
  522. /package/dist/es/{rate → components/rate}/Rate.js +0 -0
  523. /package/dist/es/{rate → components/rate}/index.js +0 -0
  524. /package/dist/es/{rate → components/rate}/tokens.js +0 -0
  525. /package/dist/es/{search → components/search}/index.js +0 -0
  526. /package/dist/es/{selector → components/selector}/index.js +0 -0
  527. /package/dist/es/{selector → components/selector}/tokens.js +0 -0
  528. /package/dist/es/{share-sheet → components/share-sheet}/index.js +0 -0
  529. /package/dist/es/{sidebar → components/sidebar}/SidebarContext.js +0 -0
  530. /package/dist/es/{sidebar → components/sidebar}/index.js +0 -0
  531. /package/dist/es/{sidebar → components/sidebar}/tokens.js +0 -0
  532. /package/dist/es/{skeleton → components/skeleton}/index.js +0 -0
  533. /package/dist/es/{skeleton → components/skeleton}/tokens.js +0 -0
  534. /package/dist/es/{slider → components/slider}/index.js +0 -0
  535. /package/dist/es/{slider → components/slider}/tokens.js +0 -0
  536. /package/dist/es/{slider → components/slider}/utils.js +0 -0
  537. /package/dist/es/{space → components/space}/Space.js +0 -0
  538. /package/dist/es/{space → components/space}/index.js +0 -0
  539. /package/dist/es/{space → components/space}/tokens.js +0 -0
  540. /package/dist/es/{stepper → components/stepper}/index.js +0 -0
  541. /package/dist/es/{swiper → components/swiper}/SwiperItem.js +0 -0
  542. /package/dist/es/{swiper → components/swiper}/SwiperPagIndicator.js +0 -0
  543. /package/dist/es/{swiper → components/swiper}/index.js +0 -0
  544. /package/dist/es/{swiper → components/swiper}/utils.js +0 -0
  545. /package/dist/es/{switch → components/switch}/Switch.js +0 -0
  546. /package/dist/es/{switch → components/switch}/index.js +0 -0
  547. /package/dist/es/{switch → components/switch}/tokens.js +0 -0
  548. /package/dist/es/{tabbar → components/tabbar}/TabbarContext.js +0 -0
  549. /package/dist/es/{tabbar → components/tabbar}/index.js +0 -0
  550. /package/dist/es/{tabbar → components/tabbar}/tokens.js +0 -0
  551. /package/dist/es/{tabs → components/tabs}/TabPane.js +0 -0
  552. /package/dist/es/{tabs → components/tabs}/index.js +0 -0
  553. /package/dist/es/{tabs → components/tabs}/useTabsAnimation.js +0 -0
  554. /package/dist/es/{tabs → components/tabs}/utils.js +0 -0
  555. /package/dist/es/{tag → components/tag}/Tag.js +0 -0
  556. /package/dist/es/{tag → components/tag}/index.js +0 -0
  557. /package/dist/es/{tag → components/tag}/tokens.js +0 -0
  558. /package/dist/es/{toast → components/toast}/imperative.js +0 -0
  559. /package/dist/es/{toast → components/toast}/index.js +0 -0
  560. /package/dist/es/{typography → components/typography}/index.js +0 -0
  561. /package/dist/es/{typography → components/typography}/tokens.js +0 -0
  562. /package/dist/es/{uploader → components/uploader}/index.js +0 -0
  563. /package/dist/es/{uploader → components/uploader}/utils.js +0 -0
  564. /package/dist/es/{water-mark → components/water-mark}/index.js +0 -0
  565. /package/dist/es/{water-mark → components/water-mark}/tokens.js +0 -0
@@ -54,10 +54,10 @@ const PullRefresh = /*#__PURE__*/_react().default.forwardRef((props, ref) => {
54
54
  sizing
55
55
  } = tokens;
56
56
  const translateY = (0, _react().useRef)(new (_reactNative().Animated.Value)(0)).current;
57
- const headHeightNumber = (0, _react().useMemo)(() => Math.max(0, (0, _number.parseNumberLike)(headHeight, sizing.headHeight) ?? sizing.headHeight), [headHeight, sizing.headHeight]);
58
- const pullDistanceNumber = (0, _react().useMemo)(() => Math.max(0, (0, _number.parseNumberLike)(pullDistance, headHeightNumber) ?? headHeightNumber), [headHeightNumber, pullDistance]);
59
- const successDurationMs = (0, _react().useMemo)(() => Math.max(0, (0, _number.parseNumberLike)(successDuration, DEFAULT_SUCCESS_DURATION) ?? DEFAULT_SUCCESS_DURATION), [successDuration]);
60
- const animationDurationMs = (0, _react().useMemo)(() => Math.max(0, (0, _number.parseNumberLike)(animationDuration, 300) ?? 300), [animationDuration]);
57
+ const headHeightNumber = Math.max(0, (0, _number.parseNumberLike)(headHeight, sizing.headHeight) ?? sizing.headHeight);
58
+ const pullDistanceNumber = Math.max(0, (0, _number.parseNumberLike)(pullDistance, headHeightNumber) ?? headHeightNumber);
59
+ const successDurationMs = Math.max(0, (0, _number.parseNumberLike)(successDuration, DEFAULT_SUCCESS_DURATION) ?? DEFAULT_SUCCESS_DURATION);
60
+ const animationDurationMs = Math.max(0, (0, _number.parseNumberLike)(animationDuration, 300) ?? 300);
61
61
  const isControlled = !(0, _validate.isUndefined)(refreshing);
62
62
  const [innerRefreshing, setInnerRefreshing] = (0, _react().useState)(!!defaultRefreshing);
63
63
  const mergedRefreshing = isControlled ? !!refreshing : innerRefreshing;
@@ -65,6 +65,8 @@ const PullRefresh = /*#__PURE__*/_react().default.forwardRef((props, ref) => {
65
65
  const draggingRef = (0, _react().useRef)(false);
66
66
  const webDragRafRef = (0, _react().useRef)(null);
67
67
  const webDragPendingRef = (0, _react().useRef)(null);
68
+ const webStateUpdateAtRef = (0, _react().useRef)(0);
69
+ const webStateUpdateValueRef = (0, _react().useRef)(0);
68
70
  const [distance, setDistance] = (0, _react().useState)(0);
69
71
  const [showSuccess, setShowSuccess] = (0, _react().useState)(false);
70
72
  const timerRef = (0, _react().useRef)(null);
@@ -72,28 +74,45 @@ const PullRefresh = /*#__PURE__*/_react().default.forwardRef((props, ref) => {
72
74
  const mergedRefreshingRef = (0, _react().useRef)(mergedRefreshing);
73
75
  const refreshTriggeredRef = (0, _react().useRef)(false);
74
76
  const refreshSucceededRef = (0, _react().useRef)(false);
77
+ const normalizeDistance = (0, _react().useCallback)(nextDistance => Math.max(0, Math.round(nextDistance)), []);
78
+ const updateDistanceState = (0, _react().useCallback)(normalized => {
79
+ setDistance(prev => Math.abs(prev - normalized) < 1 ? prev : normalized);
80
+ }, []);
81
+ const applyWebTranslate = (0, _react().useCallback)((normalized, animate = false) => {
82
+ translateY.stopAnimation();
83
+ if (animate && animationDurationMs > 0) {
84
+ _reactNative().Animated.timing(translateY, {
85
+ toValue: normalized,
86
+ duration: animationDurationMs,
87
+ useNativeDriver: false
88
+ }).start();
89
+ } else {
90
+ translateY.setValue(normalized);
91
+ }
92
+ }, [animationDurationMs, translateY]);
75
93
  const setDistanceValue = (0, _react().useCallback)((nextDistance, animate = false) => {
76
- const normalized = Math.max(0, Math.round(nextDistance));
94
+ const normalized = normalizeDistance(nextDistance);
77
95
  if (isWeb) {
78
- translateY.stopAnimation();
79
- if (animate && animationDurationMs > 0) {
80
- _reactNative().Animated.timing(translateY, {
81
- toValue: normalized,
82
- duration: animationDurationMs,
83
- useNativeDriver: false
84
- }).start();
85
- } else {
86
- translateY.setValue(normalized);
87
- }
96
+ applyWebTranslate(normalized, animate);
88
97
  }
89
- setDistance(prev => Math.abs(prev - normalized) < 1 ? prev : normalized);
90
- }, [animationDurationMs, isWeb, translateY]);
98
+ updateDistanceState(normalized);
99
+ return normalized;
100
+ }, [applyWebTranslate, isWeb, normalizeDistance, updateDistanceState]);
91
101
  const flushWebDrag = (0, _react().useCallback)(() => {
92
102
  const pending = webDragPendingRef.current;
93
103
  if (pending == null) return;
94
104
  webDragPendingRef.current = null;
95
- setDistanceValue(pending);
96
- }, [setDistanceValue]);
105
+ const normalized = normalizeDistance(pending);
106
+ if (isWeb) {
107
+ applyWebTranslate(normalized);
108
+ }
109
+ const now = Date.now();
110
+ if (now - webStateUpdateAtRef.current >= 32 || Math.abs(normalized - webStateUpdateValueRef.current) >= 4) {
111
+ webStateUpdateAtRef.current = now;
112
+ webStateUpdateValueRef.current = normalized;
113
+ updateDistanceState(normalized);
114
+ }
115
+ }, [applyWebTranslate, isWeb, normalizeDistance, updateDistanceState]);
97
116
  const cancelWebDrag = (0, _react().useCallback)(() => {
98
117
  if (webDragRafRef.current != null && typeof cancelAnimationFrame === 'function') {
99
118
  cancelAnimationFrame(webDragRafRef.current);
@@ -207,7 +226,7 @@ const PullRefresh = /*#__PURE__*/_react().default.forwardRef((props, ref) => {
207
226
  refreshTriggeredRef.current = false;
208
227
  refreshSucceededRef.current = false;
209
228
  }, [mergedRefreshing, showSuccess, triggerSuccess]);
210
- const status = (0, _react().useMemo)(() => mergedRefreshing ? 'loading' : showSuccess ? 'success' : disabled || distance === 0 ? 'normal' : distance < pullDistanceNumber ? 'pulling' : 'loosing', [disabled, distance, mergedRefreshing, pullDistanceNumber, showSuccess]);
229
+ const status = mergedRefreshing ? 'loading' : showSuccess ? 'success' : disabled || distance === 0 ? 'normal' : distance < pullDistanceNumber ? 'pulling' : 'loosing';
211
230
  const opacity = (0, _react().useRef)(new (_reactNative().Animated.Value)(status === 'normal' ? 0 : 1)).current;
212
231
  (0, _react().useEffect)(() => {
213
232
  const toValue = status === 'normal' ? 0 : 1;
@@ -222,7 +241,7 @@ const PullRefresh = /*#__PURE__*/_react().default.forwardRef((props, ref) => {
222
241
  useNativeDriver: _platform.nativeDriverEnabled
223
242
  }).start();
224
243
  }, [animationDurationMs, opacity, status]);
225
- const statusNode = (0, _react().useMemo)(() => {
244
+ const statusNode = (() => {
226
245
  switch (status) {
227
246
  case 'pulling':
228
247
  return resolveStatusText(pullingText, locale.vanPullRefresh.pulling);
@@ -235,13 +254,13 @@ const PullRefresh = /*#__PURE__*/_react().default.forwardRef((props, ref) => {
235
254
  default:
236
255
  return null;
237
256
  }
238
- }, [loadingText, locale.vanPullRefresh.loading, locale.vanPullRefresh.loosing, locale.vanPullRefresh.pulling, loosingText, pullingText, resolveStatusText, status, successText]);
257
+ })();
239
258
  const shouldReserveHead = (status === 'loading' || status === 'success') && distance === 0;
240
- const flattenedContainerStyle = (0, _react().useMemo)(() => _reactNative().StyleSheet.flatten(scrollProps.contentContainerStyle), [scrollProps.contentContainerStyle]);
259
+ const flattenedContainerStyle = _reactNative().StyleSheet.flatten(scrollProps.contentContainerStyle);
241
260
  const basePaddingTop = (0, _validate.isNumber)(flattenedContainerStyle?.paddingTop) ? flattenedContainerStyle.paddingTop : 0;
242
- const contentContainerStyle = (0, _react().useMemo)(() => shouldReserveHead ? [scrollProps.contentContainerStyle, {
261
+ const contentContainerStyle = shouldReserveHead ? [scrollProps.contentContainerStyle, {
243
262
  paddingTop: basePaddingTop + headHeightNumber
244
- }] : scrollProps.contentContainerStyle, [basePaddingTop, headHeightNumber, scrollProps.contentContainerStyle, shouldReserveHead]);
263
+ }] : scrollProps.contentContainerStyle;
245
264
  const onScrollProp = scrollProps.onScroll;
246
265
  const handleScroll = (0, _react().useCallback)(event => {
247
266
  onScrollProp?.(event);
@@ -257,7 +276,7 @@ const PullRefresh = /*#__PURE__*/_react().default.forwardRef((props, ref) => {
257
276
  }
258
277
  setDistanceValue(offset < 0 ? -offset : 0);
259
278
  }, [disabled, isWeb, mergedRefreshing, onRefresh, onScrollProp, setDistanceValue, showSuccess]);
260
- const panResponder = (0, _react().useMemo)(() => {
279
+ const panResponder = (() => {
261
280
  if (!isWeb || !(0, _validate.isFunction)(onRefresh)) return null;
262
281
  const easeDistance = raw => {
263
282
  const pullDistance = pullDistanceNumber;
@@ -314,7 +333,7 @@ const PullRefresh = /*#__PURE__*/_react().default.forwardRef((props, ref) => {
314
333
  setDistanceValue(0, true);
315
334
  }
316
335
  });
317
- }, [disabled, handleRefresh, headHeightNumber, isWeb, pullDistanceNumber, cancelWebDrag, scheduleWebDrag, setDistanceValue, showSuccess]);
336
+ })();
318
337
  return /*#__PURE__*/_react().default.createElement(_reactNative().ScrollView, _extends({}, scrollProps, {
319
338
  ref: ref,
320
339
  style: style,
@@ -108,7 +108,7 @@ const RadioGroup = props => {
108
108
  columnGap: direction === 'horizontal' ? gap : undefined,
109
109
  rowGap: gap
110
110
  } : null;
111
- const contextValue = (0, _react().useMemo)(() => ({
111
+ const contextValue = {
112
112
  state,
113
113
  direction,
114
114
  iconSize,
@@ -116,7 +116,7 @@ const RadioGroup = props => {
116
116
  labelDisabled,
117
117
  registerValue,
118
118
  unregisterValue
119
- }), [state, direction, iconSize, checkedColor, labelDisabled]);
119
+ };
120
120
  return /*#__PURE__*/_react().default.createElement(_RadioContext.RadioGroupContext.Provider, {
121
121
  value: contextValue
122
122
  }, /*#__PURE__*/_react().default.createElement(_reactNative().View, _extends({}, resolvedRadioGroupProps, viewProps, {
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.SafeAreaView = void 0;
7
+ function _react() {
8
+ const data = _interopRequireDefault(require("react"));
9
+ _react = function () {
10
+ return data;
11
+ };
12
+ return data;
13
+ }
14
+ function _reactNative() {
15
+ const data = require("react-native");
16
+ _reactNative = function () {
17
+ return data;
18
+ };
19
+ return data;
20
+ }
21
+ var _useSafeAreaPadding = require("../../hooks/useSafeAreaPadding");
22
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
23
+ const SafeAreaView = ({
24
+ edge,
25
+ style,
26
+ children,
27
+ onLayout,
28
+ pointerEvents
29
+ }) => {
30
+ const p = (0, _useSafeAreaPadding.useSafeAreaPadding)({});
31
+ if (edge === 'top') {
32
+ return /*#__PURE__*/_react().default.createElement(_reactNative().View, {
33
+ style: [{
34
+ width: '100%',
35
+ minHeight: p.paddingTop
36
+ }, style],
37
+ onLayout: onLayout,
38
+ pointerEvents: pointerEvents ?? 'none'
39
+ });
40
+ }
41
+ if (edge === 'bottom') {
42
+ return /*#__PURE__*/_react().default.createElement(_reactNative().View, {
43
+ style: [{
44
+ width: '100%',
45
+ minHeight: p.paddingBottom
46
+ }, style],
47
+ pointerEvents: pointerEvents ?? 'none'
48
+ });
49
+ }
50
+ return /*#__PURE__*/_react().default.createElement(_reactNative().View, {
51
+ style: [{
52
+ width: '100%',
53
+ paddingTop: p.paddingTop,
54
+ paddingBottom: p.paddingBottom,
55
+ paddingLeft: p.paddingLeft,
56
+ paddingRight: p.paddingRight
57
+ }, style],
58
+ onLayout: onLayout,
59
+ pointerEvents: pointerEvents
60
+ }, children);
61
+ };
62
+ exports.SafeAreaView = SafeAreaView;
63
+ SafeAreaView.displayName = 'SafeAreaView';
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "SafeAreaView", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _SafeAreaView.SafeAreaView;
10
+ }
11
+ });
12
+ var _SafeAreaView = require("./SafeAreaView");
@@ -67,7 +67,7 @@ const SearchComponent = (props, ref) => {
67
67
  defaultValue: ''
68
68
  });
69
69
  const inputValue = value ?? '';
70
- const resolvedInputAlign = (0, _react().useMemo)(() => align ?? inputAlign, [align, inputAlign]);
70
+ const resolvedInputAlign = align ?? inputAlign;
71
71
  const handleChange = (0, _react().useCallback)(next => {
72
72
  triggerChange(next);
73
73
  onChangeText?.(next);
@@ -80,14 +80,14 @@ const SearchComponent = (props, ref) => {
80
80
  onSearch?.(inputValue);
81
81
  onSubmitEditing?.(event);
82
82
  }, [inputValue, onSearch, onSubmitEditing]);
83
- const resolvedBackground = (0, _react().useMemo)(() => background ?? tokens.colors.background, [background, tokens.colors.background]);
84
- const resolvedLeftIcon = (0, _react().useMemo)(() => leftIcon ?? /*#__PURE__*/_react().default.createElement(_reactNativeSystemIcon().Search, {
83
+ const resolvedBackground = background ?? tokens.colors.background;
84
+ const resolvedLeftIcon = leftIcon ?? /*#__PURE__*/_react().default.createElement(_reactNativeSystemIcon().Search, {
85
85
  size: tokens.icon.size,
86
86
  fill: tokens.colors.icon,
87
87
  color: tokens.colors.icon
88
- }), [leftIcon, tokens.colors.icon, tokens.icon.size]);
89
- const resolvedClearTrigger = (0, _react().useMemo)(() => clearTrigger ?? tokens.defaults.clearTrigger, [clearTrigger, tokens.defaults.clearTrigger]);
90
- const resolvedReturnKeyType = (0, _react().useMemo)(() => returnKeyType ?? 'search', [returnKeyType]);
88
+ });
89
+ const resolvedClearTrigger = clearTrigger ?? tokens.defaults.clearTrigger;
90
+ const resolvedReturnKeyType = returnKeyType ?? 'search';
91
91
  const shouldShowAction = !!action || showAction;
92
92
  const isCustomActionText = /*#__PURE__*/_react().default.isValidElement(actionText);
93
93
  const shouldRenderCancelAction = shouldShowAction && !action && !isCustomActionText;
@@ -106,64 +106,49 @@ const SearchComponent = (props, ref) => {
106
106
  testID: 'rnsu-search-action'
107
107
  }
108
108
  });
109
- const containerStyles = (0, _react().useMemo)(() => [styles.container, {
109
+ const containerStyles = [styles.container, {
110
110
  paddingHorizontal: tokens.spacing.paddingHorizontal,
111
111
  paddingVertical: tokens.spacing.paddingVertical,
112
112
  backgroundColor: resolvedBackground
113
- }, containerStyle], [containerStyle, resolvedBackground, tokens.spacing.paddingHorizontal, tokens.spacing.paddingVertical]);
114
- const contentStyles = (0, _react().useMemo)(() => [styles.content, {
113
+ }, containerStyle];
114
+ const contentStyles = [styles.content, {
115
115
  borderRadius: radius,
116
116
  paddingHorizontal: tokens.spacing.contentPaddingHorizontal,
117
117
  paddingVertical: tokens.spacing.contentPaddingVertical,
118
118
  backgroundColor: tokens.colors.contentBackground
119
- }], [radius, tokens.colors.contentBackground, tokens.spacing.contentPaddingHorizontal, tokens.spacing.contentPaddingVertical]);
120
- const labelNode = (0, _react().useMemo)(() => {
121
- if (!label) return null;
122
- if ((0, _validate.isText)(label)) {
123
- return /*#__PURE__*/_react().default.createElement(_reactNative().Text, {
124
- style: {
125
- marginRight: tokens.spacing.labelGap,
126
- color: tokens.colors.label,
127
- fontSize: tokens.typography.label,
128
- fontWeight: tokens.typography.labelWeight
129
- }
130
- }, label);
119
+ }];
120
+ const labelNode = !label ? null : (0, _validate.isText)(label) ? /*#__PURE__*/_react().default.createElement(_reactNative().Text, {
121
+ style: {
122
+ marginRight: tokens.spacing.labelGap,
123
+ color: tokens.colors.label,
124
+ fontSize: tokens.typography.label,
125
+ fontWeight: tokens.typography.labelWeight
131
126
  }
132
- return /*#__PURE__*/_react().default.createElement(_reactNative().View, {
133
- style: {
134
- marginRight: tokens.spacing.labelGap
135
- }
136
- }, label);
137
- }, [label, tokens.colors.label, tokens.spacing.labelGap, tokens.typography.label, tokens.typography.labelWeight]);
138
- const actionNode = (0, _react().useMemo)(() => {
139
- if (action) {
140
- return /*#__PURE__*/_react().default.createElement(_reactNative().View, {
141
- style: [styles.actionWrapper, {
142
- marginLeft: tokens.spacing.actionGap
143
- }]
144
- }, action);
127
+ }, label) : /*#__PURE__*/_react().default.createElement(_reactNative().View, {
128
+ style: {
129
+ marginRight: tokens.spacing.labelGap
145
130
  }
146
- if (!shouldShowAction) return null;
147
- if (isCustomActionText) {
148
- return /*#__PURE__*/_react().default.createElement(_reactNative().View, {
149
- style: [styles.actionWrapper, {
150
- marginLeft: tokens.spacing.actionGap
151
- }]
152
- }, actionText);
131
+ }, label);
132
+ const actionNode = action ? /*#__PURE__*/_react().default.createElement(_reactNative().View, {
133
+ style: [styles.actionWrapper, {
134
+ marginLeft: tokens.spacing.actionGap
135
+ }]
136
+ }, action) : !shouldShowAction ? null : isCustomActionText ? /*#__PURE__*/_react().default.createElement(_reactNative().View, {
137
+ style: [styles.actionWrapper, {
138
+ marginLeft: tokens.spacing.actionGap
139
+ }]
140
+ }, actionText) : /*#__PURE__*/_react().default.createElement(_reactNative().Pressable, _extends({
141
+ style: [styles.actionWrapper, {
142
+ marginLeft: tokens.spacing.actionGap,
143
+ opacity: cancelActionPress.states.pressed ? tokens.opacity.actionPressed : 1
144
+ }]
145
+ }, cancelActionPress.interactionProps), /*#__PURE__*/_react().default.createElement(_reactNative().Text, {
146
+ style: {
147
+ color: tokens.colors.action,
148
+ fontSize: tokens.typography.action,
149
+ fontWeight: tokens.typography.actionWeight
153
150
  }
154
- return /*#__PURE__*/_react().default.createElement(_reactNative().Pressable, _extends({
155
- style: [styles.actionWrapper, {
156
- marginLeft: tokens.spacing.actionGap,
157
- opacity: cancelActionPress.states.pressed ? tokens.opacity.actionPressed : 1
158
- }]
159
- }, cancelActionPress.interactionProps), /*#__PURE__*/_react().default.createElement(_reactNative().Text, {
160
- style: {
161
- color: tokens.colors.action,
162
- fontSize: tokens.typography.action,
163
- fontWeight: tokens.typography.actionWeight
164
- }
165
- }, actionText ?? locale.cancel));
166
- }, [action, actionText, cancelActionPress.interactionProps, cancelActionPress.states.pressed, isCustomActionText, locale.cancel, shouldShowAction, tokens.colors.action, tokens.opacity.actionPressed, tokens.spacing.actionGap, tokens.typography.action, tokens.typography.actionWeight]);
151
+ }, actionText ?? locale.cancel));
167
152
  return /*#__PURE__*/_react().default.createElement(_reactNative().View, {
168
153
  style: containerStyles
169
154
  }, /*#__PURE__*/_react().default.createElement(_reactNative().View, {
@@ -183,9 +168,16 @@ const SearchComponent = (props, ref) => {
183
168
  errorMessage: errorMessage,
184
169
  inputAlign: resolvedInputAlign,
185
170
  border: false,
186
- style: [styles.field, fieldStyle],
187
- contentStyle: [styles.fieldContent, fieldContentStyle],
188
- inputStyle: [styles.input, inputStyle],
171
+ style: [styles.field, {
172
+ paddingHorizontal: tokens.spacing.none,
173
+ paddingVertical: tokens.spacing.none
174
+ }, fieldStyle],
175
+ contentStyle: [styles.fieldContent, {
176
+ paddingVertical: tokens.spacing.none
177
+ }, fieldContentStyle],
178
+ inputStyle: [styles.input, {
179
+ paddingVertical: tokens.spacing.none
180
+ }, inputStyle],
189
181
  onSubmitEditing: handleSubmit,
190
182
  returnKeyType: resolvedReturnKeyType
191
183
  }, restFieldProps)))), actionNode);
@@ -205,16 +197,9 @@ const styles = _reactNative().StyleSheet.create({
205
197
  fieldWrapper: {
206
198
  flex: 1
207
199
  },
208
- field: {
209
- paddingHorizontal: 0,
210
- paddingVertical: 0
211
- },
212
- fieldContent: {
213
- paddingVertical: 0
214
- },
215
- input: {
216
- paddingVertical: 0
217
- },
200
+ field: {},
201
+ fieldContent: {},
202
+ input: {},
218
203
  actionWrapper: {
219
204
  justifyContent: 'center'
220
205
  }
@@ -30,7 +30,8 @@ const createSearchTokens = foundations => {
30
30
  labelGap: spacing.sm,
31
31
  actionGap: spacing.sm,
32
32
  contentPaddingHorizontal: spacing.sm,
33
- contentPaddingVertical: spacing.xs
33
+ contentPaddingVertical: spacing.xs,
34
+ none: spacing.none
34
35
  },
35
36
  radius: {
36
37
  square: radii.md,
@@ -141,15 +141,15 @@ const SelectorImpl = props => {
141
141
  const [value = [], triggerChange] = (0, _hooks.useControllableValue)(props, {
142
142
  defaultValue: []
143
143
  });
144
- const optionByValue = (0, _react().useMemo)(() => {
144
+ const optionByValue = (() => {
145
145
  const map = new Map();
146
146
  for (const option of options) map.set(option.value, option);
147
147
  return map;
148
- }, [options]);
148
+ })();
149
149
  const resolvedColumns = Math.max(1, Math.floor(columns));
150
150
  const basis = `${100 / resolvedColumns}%`;
151
151
  const itemMargin = tokens.spacing.gap / 2;
152
- const selectedSet = (0, _react().useMemo)(() => new Set(value), [value]);
152
+ const selectedSet = new Set(value);
153
153
  const toggleOption = (0, _react().useCallback)(option => {
154
154
  if (disabled || option.disabled) return;
155
155
  const active = selectedSet.has(option.value);
@@ -40,13 +40,13 @@ const ShareSheetOptionItem = ({
40
40
  tokens,
41
41
  onSelect
42
42
  }) => {
43
- const optionWidthStyle = (0, _react().useMemo)(() => ({
43
+ const optionWidthStyle = {
44
44
  width: `${100 / columns}%`
45
- }), [columns]);
46
- const iconStyle = (0, _react().useMemo)(() => ({
45
+ };
46
+ const iconStyle = {
47
47
  width: tokens.sizing.icon,
48
48
  height: tokens.sizing.icon
49
- }), [tokens.sizing.icon]);
49
+ };
50
50
  const press = (0, _hooks.useAriaPress)({
51
51
  onPress: () => onSelect(option, index),
52
52
  extraProps: {
@@ -57,21 +57,26 @@ const ShareSheetOptionItem = ({
57
57
  return /*#__PURE__*/_react().default.createElement(_reactNative().Pressable, _extends({
58
58
  style: [styles.option, optionWidthStyle]
59
59
  }, press.interactionProps), /*#__PURE__*/_react().default.createElement(_reactNative().View, {
60
- style: [styles.icon, iconStyle]
60
+ style: [styles.icon, iconStyle, {
61
+ marginHorizontal: tokens.spacing.iconMarginHorizontal
62
+ }]
61
63
  }, option.icon), (0, _validate.isValidNode)(option.name) ? (0, _validate.isText)(option.name) ? /*#__PURE__*/_react().default.createElement(_reactNative().Text, {
62
64
  style: [styles.optionText, {
63
65
  color: tokens.colors.option,
64
- fontSize: tokens.typography.option
66
+ fontSize: tokens.typography.option,
67
+ paddingHorizontal: tokens.spacing.optionTextPaddingHorizontal
65
68
  }]
66
69
  }, option.name) : option.name : null, (0, _validate.isValidNode)(option.description) ? (0, _validate.isText)(option.description) ? /*#__PURE__*/_react().default.createElement(_reactNative().Text, {
67
70
  style: [styles.optionDesc, {
68
71
  color: tokens.colors.optionDesc,
69
72
  marginTop: tokens.spacing.gap,
70
- fontSize: tokens.typography.optionDesc
73
+ fontSize: tokens.typography.optionDesc,
74
+ paddingHorizontal: tokens.spacing.optionDescPaddingHorizontal
71
75
  }]
72
76
  }, option.description) : /*#__PURE__*/_react().default.createElement(_reactNative().View, {
73
77
  style: [styles.optionDescNode, {
74
- marginTop: tokens.spacing.gap
78
+ marginTop: tokens.spacing.gap,
79
+ paddingHorizontal: tokens.spacing.optionDescPaddingHorizontal
75
80
  }]
76
81
  }, option.description) : null);
77
82
  };
@@ -93,11 +98,14 @@ const ShareSheetCancel = ({
93
98
  }
94
99
  }, /*#__PURE__*/_react().default.createElement(_reactNative().Pressable, _extends({
95
100
  style: [styles.cancel, {
96
- backgroundColor: tokens.colors.background
101
+ backgroundColor: tokens.colors.background,
102
+ paddingVertical: tokens.spacing.cancelPaddingVertical,
103
+ marginTop: tokens.spacing.cancelMarginTop
97
104
  }]
98
105
  }, cancelPress.interactionProps), (0, _validate.isText)(cancelText) ? /*#__PURE__*/_react().default.createElement(_reactNative().Text, {
99
106
  style: [styles.cancelText, {
100
- color: tokens.colors.option
107
+ color: tokens.colors.option,
108
+ fontSize: tokens.typography.cancel
101
109
  }]
102
110
  }, cancelText) : cancelText));
103
111
  };
@@ -125,8 +133,8 @@ const ShareSheet = props => {
125
133
  ...popupProps
126
134
  } = props;
127
135
  const tokens = (0, _tokens.useShareSheetTokens)(tokensOverride);
128
- const groups = (0, _react().useMemo)(() => normalizeOptions(options), [options]);
129
- const resolvedColumns = (0, _react().useMemo)(() => (0, _validate.isFiniteNumber)(columns) ? Math.max(1, Math.floor(columns)) : 4, [columns]);
136
+ const groups = normalizeOptions(options);
137
+ const resolvedColumns = (0, _validate.isFiniteNumber)(columns) ? Math.max(1, Math.floor(columns)) : 4;
130
138
  const hasTitle = (0, _validate.isValidNode)(title);
131
139
  const hasDescription = (0, _validate.isValidNode)(description);
132
140
  const hasCancelText = (0, _validate.isValidNode)(cancelText);
@@ -140,14 +148,14 @@ const ShareSheet = props => {
140
148
  if (closeOnSelect) close();
141
149
  }, [close, closeOnSelect, onSelect]);
142
150
  const onPopupClose = (0, _react().useCallback)(() => close(true), [close]);
143
- const wrapperStyle = (0, _react().useMemo)(() => [styles.wrapper, {
151
+ const wrapperStyle = [styles.wrapper, {
144
152
  backgroundColor: tokens.colors.background
145
- }], [tokens.colors.background]);
146
- const groupRowStyle = (0, _react().useMemo)(() => [styles.optionsRow, {
153
+ }];
154
+ const groupRowStyle = [styles.optionsRow, {
147
155
  paddingLeft: tokens.spacing.gap,
148
156
  paddingVertical: 12
149
- }], [tokens.spacing.gap]);
150
- const groupNodes = (0, _react().useMemo)(() => {
157
+ }];
158
+ const groupNodes = (() => {
151
159
  if (!groups.length) return null;
152
160
  let globalIndex = 0;
153
161
  return groups.map((group, groupIndex) => /*#__PURE__*/_react().default.createElement(_reactNative().View, {
@@ -172,27 +180,34 @@ const ShareSheet = props => {
172
180
  onSelect: handleSelect
173
181
  });
174
182
  }))));
175
- }, [groupRowStyle, groups, handleSelect, resolvedColumns, tokens, tokens.colors.border, tokens.spacing.horizontal]);
176
- const headerNode = (0, _react().useMemo)(() => {
177
- if (!hasTitle && !hasDescription) return null;
178
- return /*#__PURE__*/_react().default.createElement(_reactNative().View, {
179
- style: styles.header
180
- }, hasTitle ? (0, _validate.isText)(title) ? /*#__PURE__*/_react().default.createElement(_reactNative().Text, {
181
- style: [styles.title, {
182
- color: tokens.colors.title,
183
- fontSize: tokens.typography.title
184
- }]
185
- }, title) : /*#__PURE__*/_react().default.createElement(_reactNative().View, {
186
- style: styles.node
187
- }, title) : null, hasDescription ? (0, _validate.isText)(description) ? /*#__PURE__*/_react().default.createElement(_reactNative().Text, {
188
- style: [styles.description, {
189
- color: tokens.colors.description,
190
- fontSize: tokens.typography.description
191
- }]
192
- }, description) : /*#__PURE__*/_react().default.createElement(_reactNative().View, {
193
- style: styles.node
194
- }, description) : null);
195
- }, [description, hasDescription, hasTitle, title, tokens.colors.description, tokens.colors.title, tokens.typography.description, tokens.typography.title]);
183
+ })();
184
+ const headerNode = !hasTitle && !hasDescription ? null : /*#__PURE__*/_react().default.createElement(_reactNative().View, {
185
+ style: [styles.header, {
186
+ paddingTop: tokens.spacing.headerPaddingTop,
187
+ paddingHorizontal: tokens.spacing.headerPaddingHorizontal,
188
+ paddingBottom: tokens.spacing.headerPaddingBottom
189
+ }]
190
+ }, hasTitle ? (0, _validate.isText)(title) ? /*#__PURE__*/_react().default.createElement(_reactNative().Text, {
191
+ style: [styles.title, {
192
+ color: tokens.colors.title,
193
+ fontSize: tokens.typography.title,
194
+ marginTop: tokens.spacing.titleMarginTop
195
+ }]
196
+ }, title) : /*#__PURE__*/_react().default.createElement(_reactNative().View, {
197
+ style: [styles.node, {
198
+ marginTop: tokens.spacing.nodeMarginTop
199
+ }]
200
+ }, title) : null, hasDescription ? (0, _validate.isText)(description) ? /*#__PURE__*/_react().default.createElement(_reactNative().Text, {
201
+ style: [styles.description, {
202
+ color: tokens.colors.description,
203
+ fontSize: tokens.typography.description,
204
+ marginTop: tokens.spacing.descriptionMarginTop
205
+ }]
206
+ }, description) : /*#__PURE__*/_react().default.createElement(_reactNative().View, {
207
+ style: [styles.node, {
208
+ marginTop: tokens.spacing.nodeMarginTop
209
+ }]
210
+ }, description) : null);
196
211
  return /*#__PURE__*/_react().default.createElement(_popup.default, _extends({}, popupProps, {
197
212
  visible: visible,
198
213
  placement: "bottom",
@@ -201,7 +216,9 @@ const ShareSheet = props => {
201
216
  overlay: overlay,
202
217
  lockScroll: lockScroll,
203
218
  onClose: onPopupClose,
204
- style: [styles.popupOverride, popupStyle]
219
+ style: [styles.popupOverride, {
220
+ padding: tokens.spacing.popupPadding
221
+ }, popupStyle]
205
222
  }), /*#__PURE__*/_react().default.createElement(_reactNative().View, {
206
223
  style: wrapperStyle
207
224
  }, headerNode, groupNodes, children, hasCancelText ? /*#__PURE__*/_react().default.createElement(ShareSheetCancel, {
@@ -211,30 +228,22 @@ const ShareSheet = props => {
211
228
  }) : null));
212
229
  };
213
230
  const styles = _reactNative().StyleSheet.create({
214
- popupOverride: {
215
- padding: 0
216
- },
231
+ popupOverride: {},
217
232
  wrapper: {
218
233
  width: '100%'
219
234
  },
220
235
  header: {
221
- paddingTop: 8,
222
- paddingHorizontal: 16,
223
- paddingBottom: 12,
224
236
  alignItems: 'center'
225
237
  },
226
238
  title: {
227
239
  fontWeight: 'normal',
228
- textAlign: 'center',
229
- marginTop: 4
240
+ textAlign: 'center'
230
241
  },
231
242
  description: {
232
- textAlign: 'center',
233
- marginTop: 4
243
+ textAlign: 'center'
234
244
  },
235
245
  node: {
236
- alignItems: 'center',
237
- marginTop: 4
246
+ alignItems: 'center'
238
247
  },
239
248
  optionsRow: {
240
249
  flexDirection: 'row',
@@ -246,29 +255,22 @@ const styles = _reactNative().StyleSheet.create({
246
255
  },
247
256
  icon: {
248
257
  alignItems: 'center',
249
- justifyContent: 'center',
250
- marginHorizontal: 12
258
+ justifyContent: 'center'
251
259
  },
252
260
  optionText: {
253
261
  fontWeight: '500',
254
- textAlign: 'center',
255
- paddingHorizontal: 4
262
+ textAlign: 'center'
256
263
  },
257
264
  optionDesc: {
258
- textAlign: 'center',
259
- paddingHorizontal: 16
265
+ textAlign: 'center'
260
266
  },
261
267
  optionDescNode: {
262
- alignItems: 'center',
263
- paddingHorizontal: 16
268
+ alignItems: 'center'
264
269
  },
265
270
  cancel: {
266
- paddingVertical: 14,
267
- marginTop: 8,
268
271
  alignItems: 'center'
269
272
  },
270
273
  cancelText: {
271
- fontSize: 16,
272
274
  fontWeight: '500'
273
275
  }
274
276
  });