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
@@ -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);
@@ -23,6 +23,7 @@ export interface DialogTokens {
23
23
  footerGap: number;
24
24
  roundFooterPadding: number;
25
25
  roundFooterGap: number;
26
+ closeIconPadding: number;
26
27
  };
27
28
  sizes: {
28
29
  minWidth: number;
@@ -9,17 +9,34 @@ export interface DropdownMenuTokens {
9
9
  mask: string;
10
10
  divider: string;
11
11
  barBackground: string;
12
+ transparent: string;
12
13
  };
13
14
  spacing: {
14
15
  horizontal: number;
15
16
  vertical: number;
16
17
  titlePadding: number;
18
+ customPanelPadding: number;
19
+ optionRowPaddingHorizontal: number;
20
+ optionRowPaddingVertical: number;
21
+ itemScrollablePaddingHorizontal: number;
22
+ arrowMarginLeft: number;
23
+ optionIconMarginRight: number;
24
+ indicatorMarginLeft: number;
25
+ panelPaddingHorizontal: number;
17
26
  };
18
27
  sizing: {
19
28
  barHeight: number;
20
29
  titleFontSize: number;
21
30
  titleLineHeight: number;
22
31
  panelMaxHeight: number;
32
+ optionFontSize: number;
33
+ arrowSize: number;
34
+ arrowBorderWidth: number;
35
+ arrowBorderHeight: number;
36
+ };
37
+ opacity: {
38
+ arrowInactive: number;
39
+ arrowActive: number;
23
40
  };
24
41
  shadow: {
25
42
  shadowColor: string;
@@ -1,7 +1,7 @@
1
1
  import Field from './Field';
2
2
  import { CellGroup as FieldGroup } from '../cell';
3
- export { useFieldTokens } from './tokens';
4
3
  export { FieldGroup };
5
4
  export type { FieldProps, FieldInstance, FieldType, FieldClearTrigger, FieldFormatTrigger, FieldAutosizeConfig, FieldTooltipProps, FieldShowWordLimit, FieldInputAlign, FieldControlAlign, FieldGroupProps, } from './types';
5
+ export { useFieldTokens } from './tokens';
6
6
  export default Field;
7
7
  export { Field };
@@ -5,6 +5,22 @@ export interface ImagePreviewTokens {
5
5
  indexText: string;
6
6
  indicatorActive: string;
7
7
  indicatorInactive: string;
8
+ transparent: string;
9
+ };
10
+ spacing: {
11
+ indexTop: number;
12
+ indexPaddingHorizontal: number;
13
+ indexPaddingVertical: number;
14
+ };
15
+ layout: {
16
+ popupPadding: number;
17
+ popupRadius: number;
18
+ };
19
+ radii: {
20
+ indexBadge: number;
21
+ };
22
+ typography: {
23
+ indexTextSize: number;
8
24
  };
9
25
  }
10
26
  export declare const useImagePreviewTokens: (overrides?: import("../..").DeepPartial<ImagePreviewTokens> | undefined) => ImagePreviewTokens;
@@ -5,18 +5,27 @@ export interface IndexBarTokens {
5
5
  indicatorBackground: string;
6
6
  indicatorText: string;
7
7
  stickyBackground: string;
8
- stickyText: string;
9
8
  anchorBackground: string;
10
9
  anchorText: string;
11
- border: string;
12
10
  };
13
11
  layout: {
14
12
  indexWidth: number;
15
- indicatorSize: number;
16
- stickyHeight: number;
17
13
  paddingVertical: number;
14
+ indexListPaddingHorizontal: number;
15
+ indexItemPaddingVertical: number;
16
+ indexItemPaddingHorizontal: number;
18
17
  spacing: number;
18
+ indicatorSize: number;
19
+ stickyHeight: number;
20
+ stickyPaddingHorizontal: number;
19
21
  anchorHeight: number;
22
+ anchorPaddingHorizontal: number;
23
+ };
24
+ typography: {
25
+ indexTextSize: number;
26
+ indicatorTextSize: number;
27
+ stickyTextSize: number;
28
+ anchorTitleSize: number;
20
29
  };
21
30
  }
22
31
  export declare const useIndexBarTokens: (overrides?: import("../..").DeepPartial<IndexBarTokens> | undefined) => IndexBarTokens;