react-native-system-ui 0.0.2 → 0.0.3

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 (545) hide show
  1. package/README.md +22 -6
  2. package/dist/cjs/{index-bar → components/index-bar}/IndexBar.js +2 -1
  3. package/dist/cjs/components/index.js +511 -0
  4. package/dist/cjs/{nav-bar → components/nav-bar}/NavBar.js +2 -1
  5. package/dist/cjs/{notify → components/notify}/Notify.js +35 -43
  6. package/dist/cjs/{notify → components/notify}/imperative.js +1 -1
  7. package/dist/cjs/{number-keyboard → components/number-keyboard}/NumberKeyboard.js +3 -4
  8. package/dist/cjs/{popup → components/popup}/Popup.js +9 -21
  9. package/dist/cjs/components/safe-area-view/SafeAreaView.js +63 -0
  10. package/dist/cjs/components/safe-area-view/index.js +12 -0
  11. package/dist/cjs/{tabbar → components/tabbar}/Tabbar.js +2 -1
  12. package/dist/cjs/{toast → components/toast}/Toast.js +5 -8
  13. package/dist/cjs/components/types.js +1 -0
  14. package/dist/cjs/design-system/ThemeContext.js +19 -0
  15. package/dist/cjs/design-system/ThemeProvider.js +37 -0
  16. package/dist/cjs/design-system/createComponentTokensHook.js +30 -0
  17. package/dist/cjs/design-system/index.js +59 -0
  18. package/dist/cjs/design-system/mergeTokensOverride.js +12 -0
  19. package/dist/cjs/design-system/presets.js +147 -0
  20. package/dist/cjs/design-system/tokens.js +144 -0
  21. package/dist/cjs/design-system/useTheme.js +16 -0
  22. package/dist/cjs/hooks/aria/index.js +49 -0
  23. package/dist/cjs/hooks/aria/useAriaListBox.js +58 -0
  24. package/dist/cjs/hooks/aria/useAriaOverlay.js +50 -0
  25. package/dist/cjs/hooks/aria/useAriaPress.js +107 -0
  26. package/dist/cjs/hooks/aria/useAriaToggle.js +41 -0
  27. package/dist/cjs/hooks/gesture/index.js +16 -0
  28. package/dist/cjs/hooks/gesture/useGestureScroll.js +131 -0
  29. package/dist/cjs/hooks/index.js +84 -0
  30. package/dist/cjs/hooks/useControllableValue.js +52 -0
  31. package/dist/cjs/hooks/useCountDown.js +107 -0
  32. package/dist/cjs/hooks/useHairline.js +62 -0
  33. package/dist/cjs/hooks/usePresenceAnimation.js +60 -0
  34. package/dist/cjs/hooks/useSafeAreaPadding.js +41 -0
  35. package/dist/cjs/index.js +33 -499
  36. package/dist/cjs/platform/animation.js +14 -0
  37. package/dist/cjs/platform/history.js +14 -0
  38. package/dist/cjs/platform/index.js +60 -0
  39. package/dist/cjs/platform/measure.js +55 -0
  40. package/dist/cjs/platform/runtime.js +19 -0
  41. package/dist/cjs/platform/scrollLock.js +24 -0
  42. package/dist/cjs/utils/array.js +12 -0
  43. package/dist/cjs/utils/color.js +52 -0
  44. package/dist/cjs/utils/createPlatformShadow.js +63 -0
  45. package/dist/cjs/utils/date.js +75 -0
  46. package/dist/cjs/utils/deepMerge.js +37 -0
  47. package/dist/cjs/utils/hairline.js +103 -0
  48. package/dist/cjs/utils/index.js +115 -0
  49. package/dist/cjs/utils/number.js +73 -0
  50. package/dist/cjs/utils/promise.js +9 -0
  51. package/dist/cjs/utils/string.js +39 -0
  52. package/dist/cjs/utils/validate.js +41 -0
  53. package/dist/es/{index-bar → components/index-bar}/IndexBar.js +2 -1
  54. package/dist/es/components/index.js +74 -0
  55. package/dist/es/{nav-bar → components/nav-bar}/NavBar.js +2 -1
  56. package/dist/es/{notify → components/notify}/Notify.js +37 -44
  57. package/dist/es/{notify → components/notify}/imperative.js +1 -1
  58. package/dist/es/{number-keyboard → components/number-keyboard}/NumberKeyboard.js +3 -4
  59. package/dist/es/{popup → components/popup}/Popup.js +8 -20
  60. package/dist/es/components/safe-area-view/SafeAreaView.js +43 -0
  61. package/dist/es/components/safe-area-view/index.js +1 -0
  62. package/dist/es/{tabbar → components/tabbar}/Tabbar.js +2 -1
  63. package/dist/es/{toast → components/toast}/Toast.js +4 -7
  64. package/dist/es/components/types.js +1 -0
  65. package/dist/es/design-system/ThemeContext.js +6 -0
  66. package/dist/es/design-system/ThemeProvider.js +23 -0
  67. package/dist/es/design-system/createComponentTokensHook.js +17 -0
  68. package/dist/es/design-system/index.js +6 -0
  69. package/dist/es/design-system/mergeTokensOverride.js +5 -0
  70. package/dist/es/design-system/presets.js +140 -0
  71. package/dist/es/design-system/tokens.js +136 -0
  72. package/dist/es/design-system/useTheme.js +3 -0
  73. package/dist/es/hooks/aria/index.js +5 -0
  74. package/dist/es/hooks/aria/useAriaListBox.js +33 -0
  75. package/dist/es/hooks/aria/useAriaOverlay.js +25 -0
  76. package/dist/es/hooks/aria/useAriaPress.js +70 -0
  77. package/dist/es/hooks/aria/useAriaToggle.js +16 -0
  78. package/dist/es/hooks/gesture/index.js +2 -0
  79. package/dist/es/hooks/gesture/useGestureScroll.js +112 -0
  80. package/dist/es/hooks/index.js +7 -0
  81. package/dist/es/hooks/useControllableValue.js +40 -0
  82. package/dist/es/hooks/useCountDown.js +95 -0
  83. package/dist/es/hooks/useHairline.js +42 -0
  84. package/dist/es/hooks/usePresenceAnimation.js +41 -0
  85. package/dist/es/hooks/useSafeAreaPadding.js +23 -0
  86. package/dist/es/index.js +4 -73
  87. package/dist/es/platform/animation.js +2 -0
  88. package/dist/es/platform/history.js +7 -0
  89. package/dist/es/platform/index.js +6 -0
  90. package/dist/es/platform/measure.js +48 -0
  91. package/dist/es/platform/runtime.js +4 -0
  92. package/dist/es/platform/scrollLock.js +16 -0
  93. package/dist/es/utils/array.js +5 -0
  94. package/dist/es/utils/color.js +42 -0
  95. package/dist/es/utils/createPlatformShadow.js +50 -0
  96. package/dist/es/utils/date.js +63 -0
  97. package/dist/es/utils/deepMerge.js +31 -0
  98. package/dist/es/utils/hairline.js +84 -0
  99. package/dist/es/utils/index.js +12 -0
  100. package/dist/es/utils/number.js +56 -0
  101. package/dist/es/utils/promise.js +2 -0
  102. package/dist/es/utils/string.js +30 -0
  103. package/dist/es/utils/validate.js +15 -0
  104. package/dist/types/components/index.d.ts +2 -0
  105. package/dist/types/components/safe-area-view/SafeAreaView.d.ts +10 -0
  106. package/dist/types/components/safe-area-view/index.d.ts +2 -0
  107. package/dist/types/hooks/index.d.ts +1 -0
  108. package/dist/types/hooks/useSafeAreaPadding.d.ts +13 -0
  109. package/package.json +281 -265
  110. package/dist/cjs/safe-area/SafeAreaClipper.js +0 -114
  111. package/dist/cjs/safe-area/index.js +0 -63
  112. package/dist/es/safe-area/SafeAreaClipper.js +0 -86
  113. package/dist/es/safe-area/index.js +0 -25
  114. package/dist/types/components/safe-area/SafeAreaClipper.d.ts +0 -47
  115. package/dist/types/components/safe-area/index.d.ts +0 -9
  116. /package/dist/cjs/{action-sheet → components/action-sheet}/ActionSheet.js +0 -0
  117. /package/dist/cjs/{action-sheet → components/action-sheet}/index.js +0 -0
  118. /package/dist/cjs/{action-sheet → components/action-sheet}/tokens.js +0 -0
  119. /package/dist/cjs/{area → components/area}/Area.js +0 -0
  120. /package/dist/cjs/{area → components/area}/index.js +0 -0
  121. /package/dist/cjs/{area → components/area}/utils.js +0 -0
  122. /package/dist/cjs/{avatar → components/avatar}/Avatar.js +0 -0
  123. /package/dist/cjs/{avatar → components/avatar}/index.js +0 -0
  124. /package/dist/cjs/{avatar → components/avatar}/tokens.js +0 -0
  125. /package/dist/cjs/{badge → components/badge}/Badge.js +0 -0
  126. /package/dist/cjs/{badge → components/badge}/index.js +0 -0
  127. /package/dist/cjs/{badge → components/badge}/tokens.js +0 -0
  128. /package/dist/cjs/{button → components/button}/Button.js +0 -0
  129. /package/dist/cjs/{button → components/button}/ButtonContext.js +0 -0
  130. /package/dist/cjs/{button → components/button}/ButtonGroup.js +0 -0
  131. /package/dist/cjs/{button → components/button}/index.js +0 -0
  132. /package/dist/cjs/{button → components/button}/tokens.js +0 -0
  133. /package/dist/cjs/{calendar → components/calendar}/Calendar.js +0 -0
  134. /package/dist/cjs/{calendar → components/calendar}/index.js +0 -0
  135. /package/dist/cjs/{calendar → components/calendar}/tokens.js +0 -0
  136. /package/dist/cjs/{cascader → components/cascader}/Cascader.js +0 -0
  137. /package/dist/cjs/{cascader → components/cascader}/index.js +0 -0
  138. /package/dist/cjs/{cascader → components/cascader}/tokens.js +0 -0
  139. /package/dist/cjs/{cascader → components/cascader}/useCascaderExtend.js +0 -0
  140. /package/dist/cjs/{cascader → components/cascader}/utils.js +0 -0
  141. /package/dist/cjs/{cell → components/cell}/Cell.js +0 -0
  142. /package/dist/cjs/{cell → components/cell}/CellContext.js +0 -0
  143. /package/dist/cjs/{cell → components/cell}/CellGroup.js +0 -0
  144. /package/dist/cjs/{cell → components/cell}/index.js +0 -0
  145. /package/dist/cjs/{cell → components/cell}/tokens.js +0 -0
  146. /package/dist/cjs/{checkbox → components/checkbox}/Checkbox.js +0 -0
  147. /package/dist/cjs/{checkbox → components/checkbox}/CheckboxContext.js +0 -0
  148. /package/dist/cjs/{checkbox → components/checkbox}/CheckboxGroup.js +0 -0
  149. /package/dist/cjs/{checkbox → components/checkbox}/index.js +0 -0
  150. /package/dist/cjs/{checkbox → components/checkbox}/tokens.js +0 -0
  151. /package/dist/cjs/{circle → components/circle}/Circle.js +0 -0
  152. /package/dist/cjs/{circle → components/circle}/index.js +0 -0
  153. /package/dist/cjs/{circle → components/circle}/tokens.js +0 -0
  154. /package/dist/cjs/{collapse → components/collapse}/Collapse.js +0 -0
  155. /package/dist/cjs/{collapse → components/collapse}/index.js +0 -0
  156. /package/dist/cjs/{collapse → components/collapse}/tokens.js +0 -0
  157. /package/dist/cjs/{config-provider → components/config-provider}/ConfigProvider.js +0 -0
  158. /package/dist/cjs/{config-provider → components/config-provider}/LocaleContext.js +0 -0
  159. /package/dist/cjs/{config-provider → components/config-provider}/index.js +0 -0
  160. /package/dist/cjs/{config-provider → components/config-provider}/locale/base.js +0 -0
  161. /package/dist/cjs/{config-provider → components/config-provider}/locale/en-US.js +0 -0
  162. /package/dist/cjs/{config-provider → components/config-provider}/locale/zh-CN.js +0 -0
  163. /package/dist/cjs/{config-provider → components/config-provider}/useLocale.js +0 -0
  164. /package/dist/cjs/{count-down → components/count-down}/CountDown.js +0 -0
  165. /package/dist/cjs/{count-down → components/count-down}/index.js +0 -0
  166. /package/dist/cjs/{count-down → components/count-down}/tokens.js +0 -0
  167. /package/dist/cjs/{datetime-picker → components/datetime-picker}/DatetimePicker.js +0 -0
  168. /package/dist/cjs/{datetime-picker → components/datetime-picker}/index.js +0 -0
  169. /package/dist/cjs/{dialog → components/dialog}/Dialog.js +0 -0
  170. /package/dist/cjs/{dialog → components/dialog}/imperative.js +0 -0
  171. /package/dist/cjs/{dialog → components/dialog}/index.js +0 -0
  172. /package/dist/cjs/{dialog → components/dialog}/tokens.js +0 -0
  173. /package/dist/cjs/{divider → components/divider}/Divider.js +0 -0
  174. /package/dist/cjs/{divider → components/divider}/index.js +0 -0
  175. /package/dist/cjs/{divider → components/divider}/tokens.js +0 -0
  176. /package/dist/cjs/{dropdown-menu → components/dropdown-menu}/DropdownItem.js +0 -0
  177. /package/dist/cjs/{dropdown-menu → components/dropdown-menu}/DropdownMenu.js +0 -0
  178. /package/dist/cjs/{dropdown-menu → components/dropdown-menu}/DropdownMenuContext.js +0 -0
  179. /package/dist/cjs/{dropdown-menu → components/dropdown-menu}/index.js +0 -0
  180. /package/dist/cjs/{dropdown-menu → components/dropdown-menu}/tokens.js +0 -0
  181. /package/dist/cjs/{empty → components/empty}/Empty.js +0 -0
  182. /package/dist/cjs/{empty → components/empty}/index.js +0 -0
  183. /package/dist/cjs/{empty → components/empty}/tokens.js +0 -0
  184. /package/dist/cjs/{field → components/field}/Field.js +0 -0
  185. /package/dist/cjs/{field → components/field}/index.js +0 -0
  186. /package/dist/cjs/{field → components/field}/tokens.js +0 -0
  187. /package/dist/cjs/{field → components/field}/utils.js +0 -0
  188. /package/dist/cjs/{flex → components/flex}/Flex.js +0 -0
  189. /package/dist/cjs/{flex → components/flex}/FlexContext.js +0 -0
  190. /package/dist/cjs/{flex → components/flex}/FlexItem.js +0 -0
  191. /package/dist/cjs/{flex → components/flex}/index.js +0 -0
  192. /package/dist/cjs/{flex → components/flex}/tokens.js +0 -0
  193. /package/dist/cjs/{form → components/form}/Form.js +0 -0
  194. /package/dist/cjs/{form → components/form}/FormContext.js +0 -0
  195. /package/dist/cjs/{form → components/form}/FormItem.js +0 -0
  196. /package/dist/cjs/{form → components/form}/FormList.js +0 -0
  197. /package/dist/cjs/{form → components/form}/index.js +0 -0
  198. /package/dist/cjs/{form → components/form}/utils.js +0 -0
  199. /package/dist/cjs/{grid → components/grid}/Grid.js +0 -0
  200. /package/dist/cjs/{grid → components/grid}/GridContext.js +0 -0
  201. /package/dist/cjs/{grid → components/grid}/GridItem.js +0 -0
  202. /package/dist/cjs/{grid → components/grid}/index.js +0 -0
  203. /package/dist/cjs/{grid → components/grid}/tokens.js +0 -0
  204. /package/dist/cjs/{image → components/image}/Image.js +0 -0
  205. /package/dist/cjs/{image → components/image}/index.js +0 -0
  206. /package/dist/cjs/{image → components/image}/tokens.js +0 -0
  207. /package/dist/cjs/{image-preview → components/image-preview}/ImagePreview.js +0 -0
  208. /package/dist/cjs/{image-preview → components/image-preview}/imperative.js +0 -0
  209. /package/dist/cjs/{image-preview → components/image-preview}/index.js +0 -0
  210. /package/dist/cjs/{image-preview → components/image-preview}/tokens.js +0 -0
  211. /package/dist/cjs/{index-bar → components/index-bar}/IndexAnchor.js +0 -0
  212. /package/dist/cjs/{index-bar → components/index-bar}/index.js +0 -0
  213. /package/dist/cjs/{index-bar → components/index-bar}/tokens.js +0 -0
  214. /package/dist/cjs/{input → components/input}/Input.js +0 -0
  215. /package/dist/cjs/{input → components/input}/index.js +0 -0
  216. /package/dist/cjs/{input → components/input}/tokens.js +0 -0
  217. /package/dist/cjs/{list → components/list}/List.js +0 -0
  218. /package/dist/cjs/{list → components/list}/index.js +0 -0
  219. /package/dist/cjs/{list → components/list}/tokens.js +0 -0
  220. /package/dist/cjs/{loading → components/loading}/Loading.js +0 -0
  221. /package/dist/cjs/{loading → components/loading}/index.js +0 -0
  222. /package/dist/cjs/{loading → components/loading}/tokens.js +0 -0
  223. /package/dist/cjs/{nav-bar → components/nav-bar}/index.js +0 -0
  224. /package/dist/cjs/{nav-bar → components/nav-bar}/tokens.js +0 -0
  225. /package/dist/cjs/{notice-bar → components/notice-bar}/NoticeBar.js +0 -0
  226. /package/dist/cjs/{notice-bar → components/notice-bar}/index.js +0 -0
  227. /package/dist/cjs/{notice-bar → components/notice-bar}/tokens.js +0 -0
  228. /package/dist/cjs/{notify → components/notify}/defaults.js +0 -0
  229. /package/dist/cjs/{notify → components/notify}/index.js +0 -0
  230. /package/dist/cjs/{notify → components/notify}/tokens.js +0 -0
  231. /package/dist/cjs/{number-keyboard → components/number-keyboard}/index.js +0 -0
  232. /package/dist/cjs/{number-keyboard → components/number-keyboard}/tokens.js +0 -0
  233. /package/dist/cjs/{overlay → components/overlay}/Overlay.js +0 -0
  234. /package/dist/cjs/{overlay → components/overlay}/OverlayStackStore.js +0 -0
  235. /package/dist/cjs/{overlay → components/overlay}/index.js +0 -0
  236. /package/dist/cjs/{overlay → components/overlay}/tokens.js +0 -0
  237. /package/dist/cjs/{overlay → components/overlay}/useOverlayStack.js +0 -0
  238. /package/dist/cjs/{pagination → components/pagination}/Pagination.js +0 -0
  239. /package/dist/cjs/{pagination → components/pagination}/index.js +0 -0
  240. /package/dist/cjs/{pagination → components/pagination}/tokens.js +0 -0
  241. /package/dist/cjs/{password-input → components/password-input}/PasswordInput.js +0 -0
  242. /package/dist/cjs/{password-input → components/password-input}/index.js +0 -0
  243. /package/dist/cjs/{picker → components/picker}/Picker.js +0 -0
  244. /package/dist/cjs/{picker → components/picker}/WheelPicker.js +0 -0
  245. /package/dist/cjs/{picker → components/picker}/index.js +0 -0
  246. /package/dist/cjs/{picker → components/picker}/tokens.js +0 -0
  247. /package/dist/cjs/{picker → components/picker}/utils.js +0 -0
  248. /package/dist/cjs/{popup → components/popup}/index.js +0 -0
  249. /package/dist/cjs/{popup → components/popup}/tokens.js +0 -0
  250. /package/dist/cjs/{portal → components/portal}/Portal.js +0 -0
  251. /package/dist/cjs/{portal → components/portal}/PortalContext.js +0 -0
  252. /package/dist/cjs/{portal → components/portal}/PortalHost.js +0 -0
  253. /package/dist/cjs/{portal → components/portal}/index.js +0 -0
  254. /package/dist/cjs/{progress → components/progress}/Progress.js +0 -0
  255. /package/dist/cjs/{progress → components/progress}/index.js +0 -0
  256. /package/dist/cjs/{progress → components/progress}/tokens.js +0 -0
  257. /package/dist/cjs/{pull-refresh → components/pull-refresh}/PullRefresh.js +0 -0
  258. /package/dist/cjs/{pull-refresh → components/pull-refresh}/index.js +0 -0
  259. /package/dist/cjs/{pull-refresh → components/pull-refresh}/tokens.js +0 -0
  260. /package/dist/cjs/{radio → components/radio}/Radio.js +0 -0
  261. /package/dist/cjs/{radio → components/radio}/RadioContext.js +0 -0
  262. /package/dist/cjs/{radio → components/radio}/RadioGroup.js +0 -0
  263. /package/dist/cjs/{radio → components/radio}/index.js +0 -0
  264. /package/dist/cjs/{radio → components/radio}/tokens.js +0 -0
  265. /package/dist/cjs/{rate → components/rate}/Rate.js +0 -0
  266. /package/dist/cjs/{rate → components/rate}/index.js +0 -0
  267. /package/dist/cjs/{rate → components/rate}/tokens.js +0 -0
  268. /package/dist/cjs/{search → components/search}/Search.js +0 -0
  269. /package/dist/cjs/{search → components/search}/index.js +0 -0
  270. /package/dist/cjs/{search → components/search}/tokens.js +0 -0
  271. /package/dist/cjs/{selector → components/selector}/Selector.js +0 -0
  272. /package/dist/cjs/{selector → components/selector}/index.js +0 -0
  273. /package/dist/cjs/{selector → components/selector}/tokens.js +0 -0
  274. /package/dist/cjs/{share-sheet → components/share-sheet}/ShareSheet.js +0 -0
  275. /package/dist/cjs/{share-sheet → components/share-sheet}/index.js +0 -0
  276. /package/dist/cjs/{share-sheet → components/share-sheet}/tokens.js +0 -0
  277. /package/dist/cjs/{sidebar → components/sidebar}/Sidebar.js +0 -0
  278. /package/dist/cjs/{sidebar → components/sidebar}/SidebarContext.js +0 -0
  279. /package/dist/cjs/{sidebar → components/sidebar}/SidebarItem.js +0 -0
  280. /package/dist/cjs/{sidebar → components/sidebar}/index.js +0 -0
  281. /package/dist/cjs/{sidebar → components/sidebar}/tokens.js +0 -0
  282. /package/dist/cjs/{skeleton → components/skeleton}/Skeleton.js +0 -0
  283. /package/dist/cjs/{skeleton → components/skeleton}/index.js +0 -0
  284. /package/dist/cjs/{skeleton → components/skeleton}/tokens.js +0 -0
  285. /package/dist/cjs/{slider → components/slider}/Slider.js +0 -0
  286. /package/dist/cjs/{slider → components/slider}/index.js +0 -0
  287. /package/dist/cjs/{slider → components/slider}/tokens.js +0 -0
  288. /package/dist/cjs/{slider → components/slider}/utils.js +0 -0
  289. /package/dist/cjs/{space → components/space}/Space.js +0 -0
  290. /package/dist/cjs/{space → components/space}/index.js +0 -0
  291. /package/dist/cjs/{space → components/space}/tokens.js +0 -0
  292. /package/dist/cjs/{stepper → components/stepper}/Stepper.js +0 -0
  293. /package/dist/cjs/{stepper → components/stepper}/index.js +0 -0
  294. /package/dist/cjs/{stepper → components/stepper}/tokens.js +0 -0
  295. /package/dist/cjs/{swiper → components/swiper}/Swiper.js +0 -0
  296. /package/dist/cjs/{swiper → components/swiper}/SwiperItem.js +0 -0
  297. /package/dist/cjs/{swiper → components/swiper}/SwiperPagIndicator.js +0 -0
  298. /package/dist/cjs/{swiper → components/swiper}/index.js +0 -0
  299. /package/dist/cjs/{swiper → components/swiper}/useSwiperWeb.js +0 -0
  300. /package/dist/cjs/{swiper → components/swiper}/utils.js +0 -0
  301. /package/dist/cjs/{switch → components/switch}/Switch.js +0 -0
  302. /package/dist/cjs/{switch → components/switch}/index.js +0 -0
  303. /package/dist/cjs/{switch → components/switch}/tokens.js +0 -0
  304. /package/dist/cjs/{tabbar → components/tabbar}/TabbarContext.js +0 -0
  305. /package/dist/cjs/{tabbar → components/tabbar}/TabbarItem.js +0 -0
  306. /package/dist/cjs/{tabbar → components/tabbar}/index.js +0 -0
  307. /package/dist/cjs/{tabbar → components/tabbar}/tokens.js +0 -0
  308. /package/dist/cjs/{tabs → components/tabs}/TabPane.js +0 -0
  309. /package/dist/cjs/{tabs → components/tabs}/Tabs.js +0 -0
  310. /package/dist/cjs/{tabs → components/tabs}/index.js +0 -0
  311. /package/dist/cjs/{tabs → components/tabs}/tokens.js +0 -0
  312. /package/dist/cjs/{tabs → components/tabs}/useTabsAnimation.js +0 -0
  313. /package/dist/cjs/{tabs → components/tabs}/useTabsScroll.js +0 -0
  314. /package/dist/cjs/{tabs → components/tabs}/utils.js +0 -0
  315. /package/dist/cjs/{tag → components/tag}/Tag.js +0 -0
  316. /package/dist/cjs/{tag → components/tag}/index.js +0 -0
  317. /package/dist/cjs/{tag → components/tag}/tokens.js +0 -0
  318. /package/dist/cjs/{toast → components/toast}/imperative.js +0 -0
  319. /package/dist/cjs/{toast → components/toast}/index.js +0 -0
  320. /package/dist/cjs/{toast → components/toast}/tokens.js +0 -0
  321. /package/dist/cjs/{typography → components/typography}/Typography.js +0 -0
  322. /package/dist/cjs/{typography → components/typography}/index.js +0 -0
  323. /package/dist/cjs/{typography → components/typography}/tokens.js +0 -0
  324. /package/dist/cjs/{uploader → components/uploader}/Uploader.js +0 -0
  325. /package/dist/cjs/{uploader → components/uploader}/index.js +0 -0
  326. /package/dist/cjs/{uploader → components/uploader}/tokens.js +0 -0
  327. /package/dist/cjs/{uploader → components/uploader}/utils.js +0 -0
  328. /package/dist/cjs/{water-mark → components/water-mark}/WaterMark.js +0 -0
  329. /package/dist/cjs/{water-mark → components/water-mark}/index.js +0 -0
  330. /package/dist/cjs/{water-mark → components/water-mark}/tokens.js +0 -0
  331. /package/dist/es/{action-sheet → components/action-sheet}/ActionSheet.js +0 -0
  332. /package/dist/es/{action-sheet → components/action-sheet}/index.js +0 -0
  333. /package/dist/es/{action-sheet → components/action-sheet}/tokens.js +0 -0
  334. /package/dist/es/{area → components/area}/Area.js +0 -0
  335. /package/dist/es/{area → components/area}/index.js +0 -0
  336. /package/dist/es/{area → components/area}/utils.js +0 -0
  337. /package/dist/es/{avatar → components/avatar}/Avatar.js +0 -0
  338. /package/dist/es/{avatar → components/avatar}/index.js +0 -0
  339. /package/dist/es/{avatar → components/avatar}/tokens.js +0 -0
  340. /package/dist/es/{badge → components/badge}/Badge.js +0 -0
  341. /package/dist/es/{badge → components/badge}/index.js +0 -0
  342. /package/dist/es/{badge → components/badge}/tokens.js +0 -0
  343. /package/dist/es/{button → components/button}/Button.js +0 -0
  344. /package/dist/es/{button → components/button}/ButtonContext.js +0 -0
  345. /package/dist/es/{button → components/button}/ButtonGroup.js +0 -0
  346. /package/dist/es/{button → components/button}/index.js +0 -0
  347. /package/dist/es/{button → components/button}/tokens.js +0 -0
  348. /package/dist/es/{calendar → components/calendar}/Calendar.js +0 -0
  349. /package/dist/es/{calendar → components/calendar}/index.js +0 -0
  350. /package/dist/es/{calendar → components/calendar}/tokens.js +0 -0
  351. /package/dist/es/{cascader → components/cascader}/Cascader.js +0 -0
  352. /package/dist/es/{cascader → components/cascader}/index.js +0 -0
  353. /package/dist/es/{cascader → components/cascader}/tokens.js +0 -0
  354. /package/dist/es/{cascader → components/cascader}/useCascaderExtend.js +0 -0
  355. /package/dist/es/{cascader → components/cascader}/utils.js +0 -0
  356. /package/dist/es/{cell → components/cell}/Cell.js +0 -0
  357. /package/dist/es/{cell → components/cell}/CellContext.js +0 -0
  358. /package/dist/es/{cell → components/cell}/CellGroup.js +0 -0
  359. /package/dist/es/{cell → components/cell}/index.js +0 -0
  360. /package/dist/es/{cell → components/cell}/tokens.js +0 -0
  361. /package/dist/es/{checkbox → components/checkbox}/Checkbox.js +0 -0
  362. /package/dist/es/{checkbox → components/checkbox}/CheckboxContext.js +0 -0
  363. /package/dist/es/{checkbox → components/checkbox}/CheckboxGroup.js +0 -0
  364. /package/dist/es/{checkbox → components/checkbox}/index.js +0 -0
  365. /package/dist/es/{checkbox → components/checkbox}/tokens.js +0 -0
  366. /package/dist/es/{circle → components/circle}/Circle.js +0 -0
  367. /package/dist/es/{circle → components/circle}/index.js +0 -0
  368. /package/dist/es/{circle → components/circle}/tokens.js +0 -0
  369. /package/dist/es/{collapse → components/collapse}/Collapse.js +0 -0
  370. /package/dist/es/{collapse → components/collapse}/index.js +0 -0
  371. /package/dist/es/{collapse → components/collapse}/tokens.js +0 -0
  372. /package/dist/es/{config-provider → components/config-provider}/ConfigProvider.js +0 -0
  373. /package/dist/es/{config-provider → components/config-provider}/LocaleContext.js +0 -0
  374. /package/dist/es/{config-provider → components/config-provider}/index.js +0 -0
  375. /package/dist/es/{config-provider → components/config-provider}/locale/base.js +0 -0
  376. /package/dist/es/{config-provider → components/config-provider}/locale/en-US.js +0 -0
  377. /package/dist/es/{config-provider → components/config-provider}/locale/zh-CN.js +0 -0
  378. /package/dist/es/{config-provider → components/config-provider}/useLocale.js +0 -0
  379. /package/dist/es/{count-down → components/count-down}/CountDown.js +0 -0
  380. /package/dist/es/{count-down → components/count-down}/index.js +0 -0
  381. /package/dist/es/{count-down → components/count-down}/tokens.js +0 -0
  382. /package/dist/es/{datetime-picker → components/datetime-picker}/DatetimePicker.js +0 -0
  383. /package/dist/es/{datetime-picker → components/datetime-picker}/index.js +0 -0
  384. /package/dist/es/{dialog → components/dialog}/Dialog.js +0 -0
  385. /package/dist/es/{dialog → components/dialog}/imperative.js +0 -0
  386. /package/dist/es/{dialog → components/dialog}/index.js +0 -0
  387. /package/dist/es/{dialog → components/dialog}/tokens.js +0 -0
  388. /package/dist/es/{divider → components/divider}/Divider.js +0 -0
  389. /package/dist/es/{divider → components/divider}/index.js +0 -0
  390. /package/dist/es/{divider → components/divider}/tokens.js +0 -0
  391. /package/dist/es/{dropdown-menu → components/dropdown-menu}/DropdownItem.js +0 -0
  392. /package/dist/es/{dropdown-menu → components/dropdown-menu}/DropdownMenu.js +0 -0
  393. /package/dist/es/{dropdown-menu → components/dropdown-menu}/DropdownMenuContext.js +0 -0
  394. /package/dist/es/{dropdown-menu → components/dropdown-menu}/index.js +0 -0
  395. /package/dist/es/{dropdown-menu → components/dropdown-menu}/tokens.js +0 -0
  396. /package/dist/es/{empty → components/empty}/Empty.js +0 -0
  397. /package/dist/es/{empty → components/empty}/index.js +0 -0
  398. /package/dist/es/{empty → components/empty}/tokens.js +0 -0
  399. /package/dist/es/{field → components/field}/Field.js +0 -0
  400. /package/dist/es/{field → components/field}/index.js +0 -0
  401. /package/dist/es/{field → components/field}/tokens.js +0 -0
  402. /package/dist/es/{field → components/field}/utils.js +0 -0
  403. /package/dist/es/{flex → components/flex}/Flex.js +0 -0
  404. /package/dist/es/{flex → components/flex}/FlexContext.js +0 -0
  405. /package/dist/es/{flex → components/flex}/FlexItem.js +0 -0
  406. /package/dist/es/{flex → components/flex}/index.js +0 -0
  407. /package/dist/es/{flex → components/flex}/tokens.js +0 -0
  408. /package/dist/es/{form → components/form}/Form.js +0 -0
  409. /package/dist/es/{form → components/form}/FormContext.js +0 -0
  410. /package/dist/es/{form → components/form}/FormItem.js +0 -0
  411. /package/dist/es/{form → components/form}/FormList.js +0 -0
  412. /package/dist/es/{form → components/form}/index.js +0 -0
  413. /package/dist/es/{form → components/form}/utils.js +0 -0
  414. /package/dist/es/{grid → components/grid}/Grid.js +0 -0
  415. /package/dist/es/{grid → components/grid}/GridContext.js +0 -0
  416. /package/dist/es/{grid → components/grid}/GridItem.js +0 -0
  417. /package/dist/es/{grid → components/grid}/index.js +0 -0
  418. /package/dist/es/{grid → components/grid}/tokens.js +0 -0
  419. /package/dist/es/{image → components/image}/Image.js +0 -0
  420. /package/dist/es/{image → components/image}/index.js +0 -0
  421. /package/dist/es/{image → components/image}/tokens.js +0 -0
  422. /package/dist/es/{image-preview → components/image-preview}/ImagePreview.js +0 -0
  423. /package/dist/es/{image-preview → components/image-preview}/imperative.js +0 -0
  424. /package/dist/es/{image-preview → components/image-preview}/index.js +0 -0
  425. /package/dist/es/{image-preview → components/image-preview}/tokens.js +0 -0
  426. /package/dist/es/{index-bar → components/index-bar}/IndexAnchor.js +0 -0
  427. /package/dist/es/{index-bar → components/index-bar}/index.js +0 -0
  428. /package/dist/es/{index-bar → components/index-bar}/tokens.js +0 -0
  429. /package/dist/es/{input → components/input}/Input.js +0 -0
  430. /package/dist/es/{input → components/input}/index.js +0 -0
  431. /package/dist/es/{input → components/input}/tokens.js +0 -0
  432. /package/dist/es/{list → components/list}/List.js +0 -0
  433. /package/dist/es/{list → components/list}/index.js +0 -0
  434. /package/dist/es/{list → components/list}/tokens.js +0 -0
  435. /package/dist/es/{loading → components/loading}/Loading.js +0 -0
  436. /package/dist/es/{loading → components/loading}/index.js +0 -0
  437. /package/dist/es/{loading → components/loading}/tokens.js +0 -0
  438. /package/dist/es/{nav-bar → components/nav-bar}/index.js +0 -0
  439. /package/dist/es/{nav-bar → components/nav-bar}/tokens.js +0 -0
  440. /package/dist/es/{notice-bar → components/notice-bar}/NoticeBar.js +0 -0
  441. /package/dist/es/{notice-bar → components/notice-bar}/index.js +0 -0
  442. /package/dist/es/{notice-bar → components/notice-bar}/tokens.js +0 -0
  443. /package/dist/es/{notify → components/notify}/defaults.js +0 -0
  444. /package/dist/es/{notify → components/notify}/index.js +0 -0
  445. /package/dist/es/{notify → components/notify}/tokens.js +0 -0
  446. /package/dist/es/{number-keyboard → components/number-keyboard}/index.js +0 -0
  447. /package/dist/es/{number-keyboard → components/number-keyboard}/tokens.js +0 -0
  448. /package/dist/es/{overlay → components/overlay}/Overlay.js +0 -0
  449. /package/dist/es/{overlay → components/overlay}/OverlayStackStore.js +0 -0
  450. /package/dist/es/{overlay → components/overlay}/index.js +0 -0
  451. /package/dist/es/{overlay → components/overlay}/tokens.js +0 -0
  452. /package/dist/es/{overlay → components/overlay}/useOverlayStack.js +0 -0
  453. /package/dist/es/{pagination → components/pagination}/Pagination.js +0 -0
  454. /package/dist/es/{pagination → components/pagination}/index.js +0 -0
  455. /package/dist/es/{pagination → components/pagination}/tokens.js +0 -0
  456. /package/dist/es/{password-input → components/password-input}/PasswordInput.js +0 -0
  457. /package/dist/es/{password-input → components/password-input}/index.js +0 -0
  458. /package/dist/es/{picker → components/picker}/Picker.js +0 -0
  459. /package/dist/es/{picker → components/picker}/WheelPicker.js +0 -0
  460. /package/dist/es/{picker → components/picker}/index.js +0 -0
  461. /package/dist/es/{picker → components/picker}/tokens.js +0 -0
  462. /package/dist/es/{picker → components/picker}/utils.js +0 -0
  463. /package/dist/es/{popup → components/popup}/index.js +0 -0
  464. /package/dist/es/{popup → components/popup}/tokens.js +0 -0
  465. /package/dist/es/{portal → components/portal}/Portal.js +0 -0
  466. /package/dist/es/{portal → components/portal}/PortalContext.js +0 -0
  467. /package/dist/es/{portal → components/portal}/PortalHost.js +0 -0
  468. /package/dist/es/{portal → components/portal}/index.js +0 -0
  469. /package/dist/es/{progress → components/progress}/Progress.js +0 -0
  470. /package/dist/es/{progress → components/progress}/index.js +0 -0
  471. /package/dist/es/{progress → components/progress}/tokens.js +0 -0
  472. /package/dist/es/{pull-refresh → components/pull-refresh}/PullRefresh.js +0 -0
  473. /package/dist/es/{pull-refresh → components/pull-refresh}/index.js +0 -0
  474. /package/dist/es/{pull-refresh → components/pull-refresh}/tokens.js +0 -0
  475. /package/dist/es/{radio → components/radio}/Radio.js +0 -0
  476. /package/dist/es/{radio → components/radio}/RadioContext.js +0 -0
  477. /package/dist/es/{radio → components/radio}/RadioGroup.js +0 -0
  478. /package/dist/es/{radio → components/radio}/index.js +0 -0
  479. /package/dist/es/{radio → components/radio}/tokens.js +0 -0
  480. /package/dist/es/{rate → components/rate}/Rate.js +0 -0
  481. /package/dist/es/{rate → components/rate}/index.js +0 -0
  482. /package/dist/es/{rate → components/rate}/tokens.js +0 -0
  483. /package/dist/es/{search → components/search}/Search.js +0 -0
  484. /package/dist/es/{search → components/search}/index.js +0 -0
  485. /package/dist/es/{search → components/search}/tokens.js +0 -0
  486. /package/dist/es/{selector → components/selector}/Selector.js +0 -0
  487. /package/dist/es/{selector → components/selector}/index.js +0 -0
  488. /package/dist/es/{selector → components/selector}/tokens.js +0 -0
  489. /package/dist/es/{share-sheet → components/share-sheet}/ShareSheet.js +0 -0
  490. /package/dist/es/{share-sheet → components/share-sheet}/index.js +0 -0
  491. /package/dist/es/{share-sheet → components/share-sheet}/tokens.js +0 -0
  492. /package/dist/es/{sidebar → components/sidebar}/Sidebar.js +0 -0
  493. /package/dist/es/{sidebar → components/sidebar}/SidebarContext.js +0 -0
  494. /package/dist/es/{sidebar → components/sidebar}/SidebarItem.js +0 -0
  495. /package/dist/es/{sidebar → components/sidebar}/index.js +0 -0
  496. /package/dist/es/{sidebar → components/sidebar}/tokens.js +0 -0
  497. /package/dist/es/{skeleton → components/skeleton}/Skeleton.js +0 -0
  498. /package/dist/es/{skeleton → components/skeleton}/index.js +0 -0
  499. /package/dist/es/{skeleton → components/skeleton}/tokens.js +0 -0
  500. /package/dist/es/{slider → components/slider}/Slider.js +0 -0
  501. /package/dist/es/{slider → components/slider}/index.js +0 -0
  502. /package/dist/es/{slider → components/slider}/tokens.js +0 -0
  503. /package/dist/es/{slider → components/slider}/utils.js +0 -0
  504. /package/dist/es/{space → components/space}/Space.js +0 -0
  505. /package/dist/es/{space → components/space}/index.js +0 -0
  506. /package/dist/es/{space → components/space}/tokens.js +0 -0
  507. /package/dist/es/{stepper → components/stepper}/Stepper.js +0 -0
  508. /package/dist/es/{stepper → components/stepper}/index.js +0 -0
  509. /package/dist/es/{stepper → components/stepper}/tokens.js +0 -0
  510. /package/dist/es/{swiper → components/swiper}/Swiper.js +0 -0
  511. /package/dist/es/{swiper → components/swiper}/SwiperItem.js +0 -0
  512. /package/dist/es/{swiper → components/swiper}/SwiperPagIndicator.js +0 -0
  513. /package/dist/es/{swiper → components/swiper}/index.js +0 -0
  514. /package/dist/es/{swiper → components/swiper}/useSwiperWeb.js +0 -0
  515. /package/dist/es/{swiper → components/swiper}/utils.js +0 -0
  516. /package/dist/es/{switch → components/switch}/Switch.js +0 -0
  517. /package/dist/es/{switch → components/switch}/index.js +0 -0
  518. /package/dist/es/{switch → components/switch}/tokens.js +0 -0
  519. /package/dist/es/{tabbar → components/tabbar}/TabbarContext.js +0 -0
  520. /package/dist/es/{tabbar → components/tabbar}/TabbarItem.js +0 -0
  521. /package/dist/es/{tabbar → components/tabbar}/index.js +0 -0
  522. /package/dist/es/{tabbar → components/tabbar}/tokens.js +0 -0
  523. /package/dist/es/{tabs → components/tabs}/TabPane.js +0 -0
  524. /package/dist/es/{tabs → components/tabs}/Tabs.js +0 -0
  525. /package/dist/es/{tabs → components/tabs}/index.js +0 -0
  526. /package/dist/es/{tabs → components/tabs}/tokens.js +0 -0
  527. /package/dist/es/{tabs → components/tabs}/useTabsAnimation.js +0 -0
  528. /package/dist/es/{tabs → components/tabs}/useTabsScroll.js +0 -0
  529. /package/dist/es/{tabs → components/tabs}/utils.js +0 -0
  530. /package/dist/es/{tag → components/tag}/Tag.js +0 -0
  531. /package/dist/es/{tag → components/tag}/index.js +0 -0
  532. /package/dist/es/{tag → components/tag}/tokens.js +0 -0
  533. /package/dist/es/{toast → components/toast}/imperative.js +0 -0
  534. /package/dist/es/{toast → components/toast}/index.js +0 -0
  535. /package/dist/es/{toast → components/toast}/tokens.js +0 -0
  536. /package/dist/es/{typography → components/typography}/Typography.js +0 -0
  537. /package/dist/es/{typography → components/typography}/index.js +0 -0
  538. /package/dist/es/{typography → components/typography}/tokens.js +0 -0
  539. /package/dist/es/{uploader → components/uploader}/Uploader.js +0 -0
  540. /package/dist/es/{uploader → components/uploader}/index.js +0 -0
  541. /package/dist/es/{uploader → components/uploader}/tokens.js +0 -0
  542. /package/dist/es/{uploader → components/uploader}/utils.js +0 -0
  543. /package/dist/es/{water-mark → components/water-mark}/WaterMark.js +0 -0
  544. /package/dist/es/{water-mark → components/water-mark}/index.js +0 -0
  545. /package/dist/es/{water-mark → components/water-mark}/tokens.js +0 -0
package/dist/es/index.js CHANGED
@@ -1,73 +1,4 @@
1
- export { default as Button } from './button';
2
- export { default as Cell } from './cell';
3
- export { CellGroup } from './cell';
4
- export { default as Flex } from './flex';
5
- export { default as Space } from './space';
6
- export { default as Divider } from './divider';
7
- export { default as Tag } from './tag';
8
- export { Checkbox } from './checkbox';
9
- export { CheckboxGroup } from './checkbox';
10
- export { Radio } from './radio';
11
- export { RadioGroup } from './radio';
12
- export { default as Field } from './field';
13
- export { FieldGroup } from './field';
14
- export { default as Input } from './input';
15
- export { default as Form } from './form';
16
- export { default as Switch } from './switch';
17
- export { default as Badge } from './badge';
18
- export { default as Avatar } from './avatar';
19
- export { default as Grid } from './grid';
20
- export { default as Typography } from './typography';
21
- export { default as Loading } from './loading';
22
- export { default as Empty } from './empty';
23
- export { default as Image } from './image';
24
- export { useImageTokens } from './image';
25
- export { default as Progress } from './progress';
26
- export { default as Circle } from './circle';
27
- export { default as NoticeBar } from './notice-bar';
28
- export { default as Slider } from './slider';
29
- export { default as Stepper } from './stepper';
30
- export { default as Rate } from './rate';
31
- export { default as Selector } from './selector';
32
- export { default as Search } from './search';
33
- export { default as PasswordInput } from './password-input';
34
- export { default as Picker } from './picker';
35
- export { default as NumberKeyboard } from './number-keyboard';
36
- export { default as Collapse } from './collapse';
37
- export { default as Popup } from './popup';
38
- export { default as Overlay } from './overlay';
39
- export { default as Dialog } from './dialog';
40
- export { default as Toast } from './toast';
41
- export { default as Notify } from './notify';
42
- export { Portal } from './portal';
43
- export { PortalHost } from './portal';
44
- export { ConfigProvider } from './config-provider';
45
- export { useLocale } from './config-provider';
46
- export { zhCN } from './config-provider';
47
- export { enUS } from './config-provider';
48
- export { default as DatetimePicker } from './datetime-picker';
49
- export { default as Calendar } from './calendar';
50
- export { default as Cascader } from './cascader';
51
- export { default as Tabs } from './tabs';
52
- export { default as Tabbar } from './tabbar';
53
- export { default as NavBar } from './nav-bar';
54
- export { default as Sidebar } from './sidebar';
55
- export { default as IndexBar } from './index-bar';
56
- export { default as ActionSheet } from './action-sheet';
57
- export { default as ShareSheet } from './share-sheet';
58
- export { default as DropdownMenu } from './dropdown-menu';
59
- export { default as Area } from './area';
60
- export { default as List } from './list';
61
- export { default as PullRefresh } from './pull-refresh';
62
- export { default as ImagePreview } from './image-preview';
63
- export { default as Swiper } from './swiper';
64
- export { SwiperItem } from './swiper';
65
- export { SwiperPagIndicator } from './swiper';
66
- export { useSwiperPagIndicatorTokens } from './swiper';
67
- export { default as Uploader } from './uploader';
68
- export { useUploaderTokens } from './uploader';
69
- export { default as Skeleton } from './skeleton';
70
- export { useSkeletonTokens } from './skeleton';
71
- export { default as CountDown } from './count-down';
72
- export { default as WaterMark } from './water-mark';
73
- export { default as Pagination } from './pagination';
1
+ export * from './components';
2
+ export * from './design-system';
3
+ export * from './hooks';
4
+ export {};
@@ -0,0 +1,2 @@
1
+ import { Platform } from 'react-native';
2
+ export const nativeDriverEnabled = Platform.OS !== 'web';
@@ -0,0 +1,7 @@
1
+ export const addPopStateListener = listener => {
2
+ if (typeof window === 'undefined' || !window.addEventListener) return () => {};
3
+ window.addEventListener('popstate', listener);
4
+ return () => {
5
+ window.removeEventListener('popstate', listener);
6
+ };
7
+ };
@@ -0,0 +1,6 @@
1
+ export * from './animation';
2
+ export * from './history';
3
+ export * from './measure';
4
+ export * from './runtime';
5
+ export * from './scrollLock';
6
+ export {};
@@ -0,0 +1,48 @@
1
+ import { isFunction } from '../utils/validate';
2
+ export const measureInWindow = (node, callback) => {
3
+ if (!node) {
4
+ callback(null);
5
+ return;
6
+ }
7
+ try {
8
+ const maybeMeasureNode = node;
9
+ if (isFunction(maybeMeasureNode.measureInWindow)) {
10
+ maybeMeasureNode.measureInWindow((x, y, width, height) => {
11
+ if (![x, y, width, height].every(Number.isFinite)) {
12
+ callback(null);
13
+ return;
14
+ }
15
+ callback({
16
+ x,
17
+ y,
18
+ width,
19
+ height
20
+ });
21
+ });
22
+ return;
23
+ }
24
+ const maybeDomNode = node;
25
+ if (isFunction(maybeDomNode.getBoundingClientRect)) {
26
+ const rect = maybeDomNode.getBoundingClientRect();
27
+ const x = rect?.left;
28
+ const y = rect?.top;
29
+ const width = rect?.width;
30
+ const height = rect?.height;
31
+ if (![x, y, width, height].every(Number.isFinite)) {
32
+ callback(null);
33
+ return;
34
+ }
35
+ callback({
36
+ x: x,
37
+ y: y,
38
+ width: width,
39
+ height: height
40
+ });
41
+ return;
42
+ }
43
+ } catch (_error) {
44
+ callback(null);
45
+ return;
46
+ }
47
+ callback(null);
48
+ };
@@ -0,0 +1,4 @@
1
+ import { Platform } from 'react-native';
2
+ export const isWeb = () => Platform.OS === 'web';
3
+ export const isIOS = () => Platform.OS === 'ios';
4
+ export const isAndroid = () => Platform.OS === 'android';
@@ -0,0 +1,16 @@
1
+ let locked = false;
2
+ let previousOverflow = '';
3
+ export const setBodyScrollLocked = nextLocked => {
4
+ if (typeof document === 'undefined') return;
5
+ if (nextLocked && !locked) {
6
+ previousOverflow = document.body.style.overflow;
7
+ document.body.style.overflow = 'hidden';
8
+ locked = true;
9
+ return;
10
+ }
11
+ if (!nextLocked && locked) {
12
+ document.body.style.overflow = previousOverflow;
13
+ locked = false;
14
+ }
15
+ };
16
+ export const isBodyScrollLocked = () => locked;
@@ -0,0 +1,5 @@
1
+ export const toArray = value => {
2
+ if (value === undefined || value === null) return [];
3
+ if (Array.isArray(value)) return value;
4
+ return [value];
5
+ };
@@ -0,0 +1,42 @@
1
+ import { clamp01 } from './number';
2
+ const hexRegex = /^#([0-9a-f]{3}|[0-9a-f]{6})$/i;
3
+ export const hexToRgb = input => {
4
+ if (!hexRegex.test(input)) return null;
5
+ const normalized = input.length === 4 ? `#${input[1]}${input[1]}${input[2]}${input[2]}${input[3]}${input[3]}` : input;
6
+ const intVal = parseInt(normalized.slice(1), 16);
7
+ const r = intVal >> 16 & 255;
8
+ const g = intVal >> 8 & 255;
9
+ const b = intVal & 255;
10
+ return [r, g, b];
11
+ };
12
+ const parseRgbChannels = input => {
13
+ const match = input.match(/^rgba?\(([^)]*)\)$/i);
14
+ if (!match) return null;
15
+ const parts = match[1].split(',').map(part => part.trim()).slice(0, 3);
16
+ const numeric = parts.map(value => Number(value));
17
+ if (!numeric.every(channel => Number.isFinite(channel))) return null;
18
+ return [numeric[0], numeric[1], numeric[2]];
19
+ };
20
+ export const withAlpha = (color, alpha) => {
21
+ const clamped = clamp01(alpha);
22
+ const trimmed = color?.trim?.() ?? '';
23
+ if (!trimmed) return color;
24
+ if (trimmed.startsWith('#')) {
25
+ const rgb = hexToRgb(trimmed);
26
+ return rgb ? `rgba(${rgb[0]}, ${rgb[1]}, ${rgb[2]}, ${clamped})` : color;
27
+ }
28
+ const rgb = parseRgbChannels(trimmed);
29
+ if (rgb) return `rgba(${rgb[0]}, ${rgb[1]}, ${rgb[2]}, ${clamped})`;
30
+ return trimmed;
31
+ };
32
+ export const ensureRgba = (color, alpha) => {
33
+ const trimmed = color.trim().toLowerCase();
34
+ if (trimmed.startsWith('rgba')) return color;
35
+ return withAlpha(color, alpha);
36
+ };
37
+ const gradientColorRegex = /(#[0-9a-fA-F]{3,8}|rgba?\([^)]*\)|hsla?\([^)]*\))/i;
38
+ export const extractFirstColorToken = input => {
39
+ if (!input) return undefined;
40
+ const match = input.match(gradientColorRegex);
41
+ return match ? match[0] : undefined;
42
+ };
@@ -0,0 +1,50 @@
1
+ import { Platform } from 'react-native';
2
+ const hexToRgba = (hex, alpha) => {
3
+ const normalized = hex.replace('#', '');
4
+ const expand = normalized.length === 3 ? normalized.split('').map(char => char + char).join('') : normalized;
5
+ if (expand.length < 6) {
6
+ return hex;
7
+ }
8
+ const bigint = parseInt(expand.slice(0, 6), 16);
9
+ const r = bigint >> 16 & 255;
10
+ const g = bigint >> 8 & 255;
11
+ const b = bigint & 255;
12
+ const clampedAlpha = Math.max(0, Math.min(1, alpha));
13
+ return `rgba(${r}, ${g}, ${b}, ${clampedAlpha})`;
14
+ };
15
+ const ensureRgbaColor = (color, alpha) => {
16
+ const trimmed = color.trim().toLowerCase();
17
+ if (trimmed.startsWith('#')) {
18
+ return hexToRgba(trimmed, alpha);
19
+ }
20
+ if (trimmed.startsWith('rgba')) {
21
+ return color;
22
+ }
23
+ if (trimmed.startsWith('rgb(')) {
24
+ return color.replace(/rgb\(([^)]*)\)/i, (_, inner) => `rgba(${inner}, ${alpha})`);
25
+ }
26
+ return color;
27
+ };
28
+ export const createPlatformShadow = config => {
29
+ const nativeShadow = {
30
+ shadowColor: config.color,
31
+ shadowOpacity: config.opacity,
32
+ shadowRadius: config.radius,
33
+ shadowOffset: {
34
+ width: config.offsetX ?? 0,
35
+ height: config.offsetY
36
+ },
37
+ ...(config.elevation !== undefined ? {
38
+ elevation: config.elevation
39
+ } : null)
40
+ };
41
+ if (Platform.OS !== 'web') {
42
+ return nativeShadow;
43
+ }
44
+ const blur = Math.max(config.radius * 1.5, config.radius);
45
+ const boxShadowColor = ensureRgbaColor(config.color, config.opacity);
46
+ return {
47
+ boxShadow: `${config.offsetX ?? 0}px ${config.offsetY}px ${blur}px ${boxShadowColor}`
48
+ };
49
+ };
50
+ export default createPlatformShadow;
@@ -0,0 +1,63 @@
1
+ export const padZero = (value, length = 2) => {
2
+ const str = String(value);
3
+ return str.length >= length ? str : `${'0'.repeat(length - str.length)}${str}`;
4
+ };
5
+ export const times = (count, iteratee) => {
6
+ return Array.from({
7
+ length: count
8
+ }, (_, index) => iteratee(index));
9
+ };
10
+ export const getTrueValue = value => {
11
+ if (!value) return 0;
12
+ const parsed = parseInt(value, 10);
13
+ return Number.isNaN(parsed) ? 0 : parsed;
14
+ };
15
+ export const getMonthEndDay = (year, month) => {
16
+ return 32 - new Date(year, month - 1, 32).getDate();
17
+ };
18
+ export const isValidDate = value => {
19
+ return value instanceof Date && !Number.isNaN(value.getTime());
20
+ };
21
+ export const formatDuration = (format, currentTime) => {
22
+ const {
23
+ days
24
+ } = currentTime;
25
+ let {
26
+ hours,
27
+ minutes,
28
+ seconds,
29
+ milliseconds
30
+ } = currentTime;
31
+ let template = format;
32
+ if (template.includes('DD')) {
33
+ template = template.replace('DD', padZero(days));
34
+ } else {
35
+ hours += days * 24;
36
+ }
37
+ if (template.includes('HH')) {
38
+ template = template.replace('HH', padZero(hours));
39
+ } else {
40
+ minutes += hours * 60;
41
+ }
42
+ if (template.includes('mm')) {
43
+ template = template.replace('mm', padZero(minutes));
44
+ } else {
45
+ seconds += minutes * 60;
46
+ }
47
+ if (template.includes('ss')) {
48
+ template = template.replace('ss', padZero(seconds));
49
+ } else {
50
+ milliseconds += seconds * 1000;
51
+ }
52
+ if (template.includes('S')) {
53
+ const ms = padZero(milliseconds, 3);
54
+ if (template.includes('SSS')) {
55
+ template = template.replace('SSS', ms);
56
+ } else if (template.includes('SS')) {
57
+ template = template.replace('SS', ms.slice(0, 2));
58
+ } else {
59
+ template = template.replace('S', ms.charAt(0));
60
+ }
61
+ }
62
+ return template;
63
+ };
@@ -0,0 +1,31 @@
1
+ const isPlainObject = value => {
2
+ return Object.prototype.toString.call(value) === '[object Object]';
3
+ };
4
+ export function deepMerge(target, source) {
5
+ if (!source) {
6
+ return target;
7
+ }
8
+ if (!Array.isArray(target) && !isPlainObject(target)) {
9
+ return source;
10
+ }
11
+ const output = Array.isArray(target) ? [...target] : {
12
+ ...target
13
+ };
14
+ Object.keys(source).forEach(key => {
15
+ const sourceValue = source[key];
16
+ if (sourceValue === undefined) {
17
+ return;
18
+ }
19
+ const targetValue = target[key];
20
+ if (isPlainObject(targetValue) && isPlainObject(sourceValue)) {
21
+ ;
22
+ output[key] = deepMerge(targetValue, sourceValue);
23
+ return;
24
+ }
25
+ ;
26
+ output[key] = Array.isArray(sourceValue) ? [...sourceValue] : isPlainObject(sourceValue) ? {
27
+ ...sourceValue
28
+ } : sourceValue;
29
+ });
30
+ return output;
31
+ }
@@ -0,0 +1,84 @@
1
+ import { Platform, StyleSheet } from 'react-native';
2
+ export const getHairlineWidth = () => Platform.OS === 'web' ? 1 : StyleSheet.hairlineWidth;
3
+ export const createHairlineBorder = ({
4
+ color,
5
+ position = 'all',
6
+ enabled = true
7
+ } = {}) => {
8
+ if (!enabled) return {};
9
+ const width = getHairlineWidth();
10
+ const key = position === 'all' ? 'border' : `border${position[0].toUpperCase()}${position.slice(1)}`;
11
+ return {
12
+ [`${key}Width`]: width,
13
+ ...(color && {
14
+ [`${key}Color`]: color
15
+ })
16
+ };
17
+ };
18
+ export const createHairlineBorderTop = color => createHairlineBorder({
19
+ color,
20
+ position: 'top'
21
+ });
22
+ export const createHairlineBorderRight = color => createHairlineBorder({
23
+ color,
24
+ position: 'right'
25
+ });
26
+ export const createHairlineBorderBottom = color => createHairlineBorder({
27
+ color,
28
+ position: 'bottom'
29
+ });
30
+ export const createHairlineBorderLeft = color => createHairlineBorder({
31
+ color,
32
+ position: 'left'
33
+ });
34
+ export const createHairlineView = ({
35
+ left,
36
+ right,
37
+ top,
38
+ bottom,
39
+ width,
40
+ color,
41
+ position = 'bottom'
42
+ } = {}) => {
43
+ const isWeb = Platform.OS === 'web';
44
+ const borderWidth = width ?? (isWeb ? 1 : StyleSheet.hairlineWidth);
45
+ const style = {
46
+ position: 'absolute',
47
+ pointerEvents: 'none',
48
+ left,
49
+ right,
50
+ top,
51
+ bottom
52
+ };
53
+ if (position !== 'all') {
54
+ const s = style;
55
+ if (s[position] === undefined) s[position] = 0;
56
+ }
57
+ const key = position === 'all' ? 'border' : `border${position[0].toUpperCase()}${position.slice(1)}`;
58
+ const mutableStyle = style;
59
+ mutableStyle[`${key}Width`] = borderWidth;
60
+ if (color) mutableStyle[`${key}Color`] = color;
61
+ if (isWeb && (!width || width === 1 || width === StyleSheet.hairlineWidth)) {
62
+ const scales = {
63
+ top: {
64
+ scaleY: 0.5
65
+ },
66
+ bottom: {
67
+ scaleY: 0.5
68
+ },
69
+ left: {
70
+ scaleX: 0.5
71
+ },
72
+ right: {
73
+ scaleX: 0.5
74
+ },
75
+ all: {
76
+ scale: 0.5
77
+ }
78
+ };
79
+ if (scales[position]) {
80
+ style.transform = [scales[position]];
81
+ }
82
+ }
83
+ return style;
84
+ };
@@ -0,0 +1,12 @@
1
+ // 统一导出所有工具函数,简化导入路径
2
+ export * from './array';
3
+ export * from './color';
4
+ export * from './createPlatformShadow';
5
+ export * from './date';
6
+ export * from './deepMerge';
7
+ export * from './hairline';
8
+ export * from './number';
9
+ export * from './promise';
10
+ export * from './string';
11
+ export * from './validate';
12
+ export {};
@@ -0,0 +1,56 @@
1
+ import { isFiniteNumber, isNumber, isString } from './validate';
2
+ export const clamp = (value, min, max) => Math.min(Math.max(value, min), max);
3
+ export const clamp01 = value => clamp(value, 0, 1);
4
+ export const parseNumberLike = (value, fallback) => {
5
+ if (isFiniteNumber(value)) return value;
6
+ if (isString(value)) {
7
+ const parsed = Number.parseFloat(value);
8
+ return Number.isFinite(parsed) ? parsed : fallback;
9
+ }
10
+ return fallback;
11
+ };
12
+ export const parseNumber = (value, fallback = 0) => parseNumberLike(value, fallback) ?? fallback;
13
+ export const parsePercentage = percentage => {
14
+ if (isNumber(percentage)) return percentage;
15
+ if (isString(percentage)) {
16
+ const normalized = percentage.trim().replace('%', '');
17
+ const parsed = Number(normalized);
18
+ return Number.isNaN(parsed) ? 0 : parsed;
19
+ }
20
+ return 0;
21
+ };
22
+ export const isNumericLike = value => isNumber(value) || isString(value) && value.trim() !== '' && !Number.isNaN(Number(value));
23
+ export const addNumber = (num1, num2) => {
24
+ const cardinal = 10 ** 10;
25
+ return Math.round((num1 + num2) * cardinal) / cardinal;
26
+ };
27
+ export const formatNumber = (value, integer, decimalLength) => {
28
+ let next = value;
29
+ if (integer) next = Math.trunc(next);
30
+ if (decimalLength !== undefined) {
31
+ const factor = 10 ** decimalLength;
32
+ next = Math.round(next * factor) / factor;
33
+ }
34
+ return next;
35
+ };
36
+ export const numberToString = (value, decimalLength) => {
37
+ if (value === null || value === undefined || !Number.isFinite(value)) return '';
38
+ if (decimalLength !== undefined) return value.toFixed(decimalLength);
39
+ return String(value);
40
+ };
41
+ export const parseDecimalLength = value => {
42
+ if (value === undefined) return undefined;
43
+ const parsed = isNumber(value) ? value : Number.parseInt(value, 10);
44
+ if (!Number.isFinite(parsed)) return undefined;
45
+ return Math.max(0, Math.floor(parsed));
46
+ };
47
+ export const clampValue = (value, min, max) => {
48
+ let next = value;
49
+ if (isFiniteNumber(min)) {
50
+ next = Math.max(next, min);
51
+ }
52
+ if (isFiniteNumber(max)) {
53
+ next = Math.min(next, max);
54
+ }
55
+ return next;
56
+ };
@@ -0,0 +1,2 @@
1
+ import { isFunction, isObject } from './validate';
2
+ export const isPromiseLike = value => isObject(value) && isFunction(value.then);
@@ -0,0 +1,30 @@
1
+ import { isTwoCNChar } from './validate';
2
+ export const ensureSpace = (value, autoInsertSpace) => {
3
+ if (!autoInsertSpace) {
4
+ return value;
5
+ }
6
+ return isTwoCNChar(value) ? value.split('').join(' ') : value;
7
+ };
8
+ export const trimExtraChar = (value, char, regExp) => {
9
+ const index = value.indexOf(char);
10
+ if (index === -1) return value;
11
+ if (char === '-' && index !== 0) {
12
+ return value.slice(0, index);
13
+ }
14
+ return value.slice(0, index + 1) + value.slice(index).replace(regExp, '');
15
+ };
16
+ export const formatNumberInput = (value, allowDot = true, allowMinus = true) => {
17
+ let next = value;
18
+ if (allowDot) {
19
+ next = trimExtraChar(next, '.', /\./g);
20
+ } else {
21
+ next = next.split('.')[0];
22
+ }
23
+ if (allowMinus) {
24
+ next = trimExtraChar(next, '-', /-/g);
25
+ } else {
26
+ next = next.replace(/-/g, '');
27
+ }
28
+ const regExp = allowDot ? /[^-0-9.]/g : /[^-0-9]/g;
29
+ return next.replace(regExp, '');
30
+ };
@@ -0,0 +1,15 @@
1
+ import { isValidElement } from 'react';
2
+ export const isDef = val => val !== undefined && val !== null;
3
+ export const isRenderable = node => node != null && typeof node !== 'boolean';
4
+ export const isText = node => typeof node === 'string' || typeof node === 'number';
5
+ export const isNumber = val => typeof val === 'number' && !Number.isNaN(val);
6
+ export const isFiniteNumber = val => isNumber(val) && Number.isFinite(val);
7
+ export const isString = val => typeof val === 'string';
8
+ export const isBoolean = val => typeof val === 'boolean';
9
+ export const isFunction = val => typeof val === 'function';
10
+ export const isUndefined = val => typeof val === 'undefined';
11
+ export const isObject = val => val !== null && typeof val === 'object';
12
+ export const isValidNode = node => isRenderable(node) && (typeof node !== 'string' || node.length > 0);
13
+ export const isPlainObject = val => !!val && typeof val === 'object' && !Array.isArray(val) && ! /*#__PURE__*/isValidElement(val);
14
+ export const isTwoCNChar = value => /^(?:[\u4e00-\u9fa5]){2}$/.test(value);
15
+ export const isImageUrlString = url => /\.(jpeg|jpg|gif|png|svg|webp|jfif|bmp|dpg)/i.test(url);
@@ -81,6 +81,8 @@ export type { NotifyProps, NotifyType, NotifyPosition } from './notify';
81
81
  export { Portal } from './portal';
82
82
  export { PortalHost } from './portal';
83
83
  export type { PortalProps } from './portal/Portal';
84
+ export { SafeAreaView } from './safe-area-view';
85
+ export type { SafeAreaViewProps } from './safe-area-view';
84
86
  export { ConfigProvider } from './config-provider';
85
87
  export { useLocale } from './config-provider';
86
88
  export { zhCN } from './config-provider';
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ import { type LayoutChangeEvent, type StyleProp, type ViewStyle } from 'react-native';
3
+ export interface SafeAreaViewProps {
4
+ edge?: 'top' | 'bottom';
5
+ style?: StyleProp<ViewStyle>;
6
+ children?: React.ReactNode;
7
+ onLayout?: (event: LayoutChangeEvent) => void;
8
+ pointerEvents?: 'box-none' | 'none' | 'box-only' | 'auto';
9
+ }
10
+ export declare const SafeAreaView: React.FC<SafeAreaViewProps>;
@@ -0,0 +1,2 @@
1
+ export { SafeAreaView } from './SafeAreaView';
2
+ export type { SafeAreaViewProps } from './SafeAreaView';
@@ -1,4 +1,5 @@
1
1
  export * from './usePresenceAnimation';
2
+ export * from './useSafeAreaPadding';
2
3
  export * from './aria';
3
4
  export * from './gesture';
4
5
  export { default as useControllableValue } from './useControllableValue';
@@ -0,0 +1,13 @@
1
+ export type SafeAreaPaddingMin = {
2
+ top?: number;
3
+ bottom?: number;
4
+ left?: number;
5
+ right?: number;
6
+ };
7
+ export type SafeAreaPaddingResult = {
8
+ paddingTop: number | string;
9
+ paddingBottom: number | string;
10
+ paddingLeft: number | string;
11
+ paddingRight: number | string;
12
+ };
13
+ export declare function useSafeAreaPadding(min?: SafeAreaPaddingMin): SafeAreaPaddingResult;