@bifrostui/react 1.4.8-beta.0 → 2.0.0-alpha.0

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 (556) hide show
  1. package/dist/ActionSheet/ActionSheet.css +16 -6
  2. package/dist/ActionSheet/ActionSheetItem.css +11 -17
  3. package/dist/ActionSheet/ActionSheetItem.js +3 -8
  4. package/dist/ActionSheet/ActionSheetItem.types.d.ts +2 -2
  5. package/dist/ActionSheet/index.css +89 -0
  6. package/dist/Alert/Alert.types.d.ts +3 -3
  7. package/dist/Alert/index.css +18 -14
  8. package/dist/Avatar/Avatar.css +16 -12
  9. package/dist/Avatar/Avatar.js +3 -8
  10. package/dist/Avatar/AvatarGroup.css +19 -15
  11. package/dist/Avatar/AvatarGroup.js +2 -6
  12. package/dist/Avatar/index.css +93 -0
  13. package/dist/Backdrop/Backdrop.d.ts +1 -1
  14. package/dist/Backdrop/Backdrop.js +1 -1
  15. package/dist/Backdrop/{Backdrop.css → index.css} +6 -2
  16. package/dist/Badge/Badge.d.ts +1 -1
  17. package/dist/Badge/Badge.js +4 -9
  18. package/dist/Badge/Badge.types.d.ts +1 -1
  19. package/dist/Badge/{Badge.css → index.css} +47 -27
  20. package/dist/Breadcrumb/Breadcrumb.d.ts +1 -1
  21. package/dist/Breadcrumb/Breadcrumb.js +1 -1
  22. package/dist/Breadcrumb/index.css +38 -0
  23. package/dist/Button/Button.d.ts +1 -1
  24. package/dist/Button/Button.js +6 -11
  25. package/dist/Button/Button.types.d.ts +8 -7
  26. package/{es/Button/Button.css → dist/Button/index.css} +93 -63
  27. package/dist/Calendar/Calendar.d.ts +1 -1
  28. package/dist/Calendar/Calendar.js +10 -22
  29. package/dist/Calendar/Calendar.types.d.ts +0 -5
  30. package/dist/Calendar/{Calendar.css → index.css} +35 -31
  31. package/dist/Card/Card.css +9 -0
  32. package/dist/Card/CardContent.css +1 -2
  33. package/dist/Card/CardFooter.css +2 -4
  34. package/dist/Card/CardHeader.css +5 -5
  35. package/dist/Card/CardHeader.js +2 -2
  36. package/dist/Card/index.css +77 -0
  37. package/dist/Checkbox/Checkbox.d.ts +1 -1
  38. package/dist/Checkbox/Checkbox.js +4 -8
  39. package/dist/Checkbox/CheckboxGroup.d.ts +1 -1
  40. package/dist/Checkbox/CheckboxGroup.js +5 -8
  41. package/dist/Checkbox/{Checkbox.css → index.css} +14 -10
  42. package/dist/CitySelector/CitySelector.miniapp.d.ts +0 -1
  43. package/dist/CitySelector/CitySelector.miniapp.js +0 -1
  44. package/dist/CitySelector/CitySelectorCore.d.ts +1 -1
  45. package/dist/CitySelector/CitySelectorCore.js +1 -1
  46. package/dist/CitySelector/Selector/index.css +4 -4
  47. package/{es/CitySelector/CitySelector.css → dist/CitySelector/index.css} +31 -27
  48. package/dist/Collapse/Collapse.d.ts +2 -2
  49. package/dist/Collapse/Collapse.js +9 -12
  50. package/{es/Collapse/Collapse.css → dist/Collapse/index.css} +1 -0
  51. package/dist/CollapsePanel/CollapsePanel.d.ts +1 -1
  52. package/dist/CollapsePanel/CollapsePanel.js +1 -1
  53. package/dist/CollapsePanel/CollapsePanelItem.js +45 -46
  54. package/{es/CollapsePanel/CollapsePanel.css → dist/CollapsePanel/index.css} +12 -10
  55. package/dist/Countdown/Countdown.d.ts +1 -1
  56. package/dist/Countdown/Countdown.js +6 -13
  57. package/{es/Countdown/Countdown.css → dist/Countdown/index.css} +12 -8
  58. package/dist/Dialog/FunctionalDialog.js +1 -1
  59. package/dist/Dialog/index.css +26 -23
  60. package/dist/Divider/Divider.d.ts +1 -1
  61. package/dist/Divider/Divider.js +9 -6
  62. package/{es/Divider/Divider.css → dist/Divider/index.css} +14 -10
  63. package/dist/Drawer/Drawer.d.ts +1 -1
  64. package/dist/Drawer/Drawer.js +5 -11
  65. package/dist/Drawer/{Drawer.css → index.css} +2 -0
  66. package/dist/Fade/Fade.js +52 -56
  67. package/dist/IconButton/IconButton.d.ts +1 -1
  68. package/dist/IconButton/IconButton.js +7 -14
  69. package/dist/IconButton/IconButton.types.d.ts +4 -3
  70. package/{es/IconButton/IconButton.css → dist/IconButton/index.css} +79 -29
  71. package/dist/Image/Image.js +112 -119
  72. package/dist/Image/index.css +6 -2
  73. package/dist/Input/Input.d.ts +1 -1
  74. package/dist/Input/Input.js +6 -12
  75. package/{es/Input/Input.css → dist/Input/index.css} +22 -18
  76. package/dist/ItemSelector/ItemSelector.miniapp.d.ts +0 -1
  77. package/dist/ItemSelector/ItemSelector.miniapp.js +0 -1
  78. package/dist/ItemSelector/ItemSelectorCore.d.ts +1 -1
  79. package/dist/ItemSelector/ItemSelectorCore.js +1 -1
  80. package/dist/List/List.css +7 -3
  81. package/dist/List/List.js +3 -8
  82. package/dist/List/ListItem.css +3 -3
  83. package/dist/List/ListItem.js +42 -44
  84. package/dist/List/ListItemContent.js +1 -4
  85. package/dist/List/ListItemExtra.js +9 -4
  86. package/dist/List/ListItemFooter.js +9 -4
  87. package/dist/List/ListItemHeader.js +9 -4
  88. package/dist/List/index.css +80 -0
  89. package/dist/Loading/Loading.d.ts +1 -1
  90. package/dist/Loading/Loading.js +14 -5
  91. package/{es/Loading/Loading.css → dist/Loading/index.css} +10 -6
  92. package/dist/Modal/Modal.d.ts +1 -1
  93. package/dist/Modal/Modal.js +1 -7
  94. package/dist/Modal/Modal.miniapp.d.ts +2 -2
  95. package/dist/Modal/Modal.miniapp.js +5 -11
  96. package/dist/NavBar/NavBar.d.ts +1 -1
  97. package/dist/NavBar/NavBar.js +1 -2
  98. package/dist/NavBar/index.css +65 -0
  99. package/dist/Picker/Picker.css +21 -21
  100. package/dist/Picker/Picker.js +6 -28
  101. package/dist/Picker/Picker.types.d.ts +4 -17
  102. package/dist/Picker/PickerPanel.css +8 -12
  103. package/dist/Picker/PickerPanel.js +39 -29
  104. package/dist/Picker/index.css +116 -0
  105. package/dist/Popover/Popover.d.ts +1 -1
  106. package/dist/Popover/Popover.js +28 -71
  107. package/{es/Popover/Popover.css → dist/Popover/index.css} +32 -28
  108. package/dist/Portal/Portal.miniapp.js +4 -7
  109. package/dist/Progress/Progress.d.ts +1 -1
  110. package/dist/Progress/Progress.js +1 -1
  111. package/dist/Progress/index.css +28 -0
  112. package/dist/Radio/Radio.d.ts +1 -1
  113. package/dist/Radio/Radio.js +3 -7
  114. package/dist/Radio/RadioButtonIcon.js +6 -1
  115. package/dist/Radio/RadioGroup.d.ts +1 -1
  116. package/dist/Radio/RadioGroup.js +1 -4
  117. package/dist/Radio/{Radio.css → index.css} +10 -7
  118. package/dist/Rating/Rating.d.ts +1 -1
  119. package/dist/Rating/Rating.js +9 -19
  120. package/{es/Rating/Rating.css → dist/Rating/index.css} +20 -7
  121. package/dist/ScrollView/ScrollView.d.ts +1 -1
  122. package/dist/ScrollView/ScrollView.js +12 -25
  123. package/dist/ScrollView/ScrollView.types.d.ts +1 -0
  124. package/dist/Select/Select.d.ts +1 -1
  125. package/dist/Select/Select.js +43 -76
  126. package/dist/Select/SelectOption.d.ts +1 -1
  127. package/dist/Select/SelectOption.js +1 -1
  128. package/dist/Select/{Select.css → index.css} +30 -20
  129. package/dist/Skeleton/Skeleton.d.ts +1 -1
  130. package/dist/Skeleton/Skeleton.js +6 -10
  131. package/dist/Skeleton/{Skeleton.css → index.css} +7 -3
  132. package/dist/Slide/Slide.js +69 -74
  133. package/dist/Slider/Slider.d.ts +1 -1
  134. package/dist/Slider/Slider.js +13 -29
  135. package/dist/Slider/index.css +111 -0
  136. package/dist/Stack/Stack.d.ts +1 -1
  137. package/dist/Stack/Stack.js +1 -1
  138. package/dist/Steps/Step.css +14 -14
  139. package/dist/Steps/Step.js +81 -82
  140. package/dist/Steps/Steps.css +18 -14
  141. package/dist/Steps/Steps.d.ts +1 -1
  142. package/dist/Steps/Steps.js +57 -60
  143. package/dist/Steps/index.css +199 -0
  144. package/dist/Swiper/Swiper.d.ts +1 -1
  145. package/dist/Swiper/Swiper.js +1 -1
  146. package/{es/Swiper/Swiper.css → dist/Swiper/index.css} +6 -2
  147. package/dist/Switch/Switch.d.ts +1 -1
  148. package/dist/Switch/Switch.js +76 -79
  149. package/dist/Switch/Switch.types.d.ts +1 -1
  150. package/{es/Switch/Switch.css → dist/Switch/index.css} +46 -35
  151. package/dist/TabBar/TabBar.css +12 -8
  152. package/dist/TabBar/TabBar.js +3 -8
  153. package/dist/TabBar/TabBarContext.d.ts +3 -3
  154. package/dist/TabBar/TabBarItem.css +6 -0
  155. package/dist/TabBar/TabBarItem.js +3 -3
  156. package/dist/TabBar/index.css +59 -0
  157. package/dist/TabBar/index.types.d.ts +3 -3
  158. package/dist/Tabs/Tab.css +10 -16
  159. package/dist/Tabs/Tab.js +2 -3
  160. package/dist/Tabs/Tabs.css +32 -21
  161. package/dist/Tabs/Tabs.js +39 -70
  162. package/dist/Tabs/Tabs.types.d.ts +0 -10
  163. package/dist/Tabs/index.css +135 -0
  164. package/dist/Tabs/utils/bound.d.ts +1 -0
  165. package/dist/{DesktopPicker/utils/calcAfterMounted.js → Tabs/utils/bound.js} +14 -7
  166. package/dist/Tag/Tag.css +49 -23
  167. package/dist/Tag/Tag.js +3 -7
  168. package/dist/Tag/Tag.types.d.ts +4 -4
  169. package/dist/Tag/TagGroup.css +15 -11
  170. package/dist/Tag/TagGroup.d.ts +2 -2
  171. package/dist/Tag/TagGroup.js +16 -14
  172. package/dist/Tag/index.css +182 -0
  173. package/dist/TextArea/TextArea.d.ts +1 -1
  174. package/dist/TextArea/TextArea.js +6 -13
  175. package/dist/TextArea/index.css +57 -0
  176. package/dist/ThemeProvider/ThemeProvider.js +1 -4
  177. package/dist/ThemeProvider/ThemeProvider.types.d.ts +5 -10
  178. package/dist/ThemeProvider/utils/constants.d.ts +1 -1
  179. package/dist/ThemeProvider/utils/constants.js +4 -1
  180. package/dist/ThemeProvider/utils/mountTokens.d.ts +4 -4
  181. package/dist/Toast/FunctionalToast.js +1 -1
  182. package/dist/Toast/Toast.d.ts +1 -1
  183. package/dist/Toast/Toast.js +5 -5
  184. package/dist/Toast/index.css +58 -0
  185. package/dist/Tooltip/Tooltip.d.ts +1 -1
  186. package/dist/Tooltip/Tooltip.js +28 -71
  187. package/dist/Tooltip/index.css +95 -0
  188. package/dist/Transition/TransitionCore.js +3 -8
  189. package/dist/index.d.ts +0 -6
  190. package/dist/index.js +1 -13
  191. package/dist/locales/base.d.ts +0 -11
  192. package/dist/locales/en-US.js +0 -24
  193. package/dist/locales/zh-CN.js +0 -24
  194. package/dist/locales/zh-TW.js +0 -24
  195. package/es/ActionSheet/ActionSheet.css +16 -6
  196. package/es/ActionSheet/ActionSheetItem.css +11 -17
  197. package/es/ActionSheet/ActionSheetItem.js +3 -8
  198. package/es/ActionSheet/ActionSheetItem.types.d.ts +2 -2
  199. package/es/ActionSheet/index.css +89 -0
  200. package/es/Alert/Alert.types.d.ts +3 -3
  201. package/es/Alert/index.css +18 -14
  202. package/es/Avatar/Avatar.css +16 -12
  203. package/es/Avatar/Avatar.js +3 -8
  204. package/es/Avatar/AvatarGroup.css +19 -15
  205. package/es/Avatar/AvatarGroup.js +2 -6
  206. package/es/Avatar/index.css +93 -0
  207. package/es/Backdrop/Backdrop.d.ts +1 -1
  208. package/es/Backdrop/Backdrop.js +1 -1
  209. package/es/Backdrop/{Backdrop.css → index.css} +6 -2
  210. package/es/Badge/Badge.d.ts +1 -1
  211. package/es/Badge/Badge.js +4 -9
  212. package/es/Badge/Badge.types.d.ts +1 -1
  213. package/es/Badge/{Badge.css → index.css} +47 -27
  214. package/es/Breadcrumb/Breadcrumb.d.ts +1 -1
  215. package/es/Breadcrumb/Breadcrumb.js +1 -1
  216. package/es/Breadcrumb/index.css +38 -0
  217. package/es/Button/Button.d.ts +1 -1
  218. package/es/Button/Button.js +6 -11
  219. package/es/Button/Button.types.d.ts +8 -7
  220. package/{dist/Button/Button.css → es/Button/index.css} +93 -63
  221. package/es/Calendar/Calendar.d.ts +1 -1
  222. package/es/Calendar/Calendar.js +10 -22
  223. package/es/Calendar/Calendar.types.d.ts +0 -5
  224. package/es/Calendar/{Calendar.css → index.css} +35 -31
  225. package/es/Card/Card.css +9 -0
  226. package/es/Card/CardContent.css +1 -2
  227. package/es/Card/CardFooter.css +2 -4
  228. package/es/Card/CardHeader.css +5 -5
  229. package/es/Card/CardHeader.js +2 -2
  230. package/es/Card/index.css +77 -0
  231. package/es/Checkbox/Checkbox.d.ts +1 -1
  232. package/es/Checkbox/Checkbox.js +4 -8
  233. package/es/Checkbox/CheckboxGroup.d.ts +1 -1
  234. package/es/Checkbox/CheckboxGroup.js +5 -8
  235. package/es/Checkbox/{Checkbox.css → index.css} +14 -10
  236. package/es/CitySelector/CitySelector.miniapp.d.ts +0 -1
  237. package/es/CitySelector/CitySelector.miniapp.js +0 -1
  238. package/es/CitySelector/CitySelectorCore.d.ts +1 -1
  239. package/es/CitySelector/CitySelectorCore.js +1 -1
  240. package/es/CitySelector/Selector/index.css +4 -4
  241. package/{dist/CitySelector/CitySelector.css → es/CitySelector/index.css} +31 -27
  242. package/es/Collapse/Collapse.d.ts +2 -2
  243. package/es/Collapse/Collapse.js +9 -12
  244. package/{dist/Collapse/Collapse.css → es/Collapse/index.css} +1 -0
  245. package/es/CollapsePanel/CollapsePanel.d.ts +1 -1
  246. package/es/CollapsePanel/CollapsePanel.js +1 -1
  247. package/es/CollapsePanel/CollapsePanelItem.js +45 -46
  248. package/{dist/CollapsePanel/CollapsePanel.css → es/CollapsePanel/index.css} +12 -10
  249. package/es/Countdown/Countdown.d.ts +1 -1
  250. package/es/Countdown/Countdown.js +6 -13
  251. package/{dist/Countdown/Countdown.css → es/Countdown/index.css} +12 -8
  252. package/es/Dialog/FunctionalDialog.js +2 -2
  253. package/es/Dialog/index.css +26 -23
  254. package/es/Divider/Divider.d.ts +1 -1
  255. package/es/Divider/Divider.js +9 -6
  256. package/{dist/Divider/Divider.css → es/Divider/index.css} +14 -10
  257. package/es/Drawer/Drawer.d.ts +1 -1
  258. package/es/Drawer/Drawer.js +5 -11
  259. package/es/Drawer/{Drawer.css → index.css} +2 -0
  260. package/es/Fade/Fade.js +52 -56
  261. package/es/IconButton/IconButton.d.ts +1 -1
  262. package/es/IconButton/IconButton.js +7 -14
  263. package/es/IconButton/IconButton.types.d.ts +4 -3
  264. package/{dist/IconButton/IconButton.css → es/IconButton/index.css} +79 -29
  265. package/es/Image/Image.js +112 -119
  266. package/es/Image/index.css +6 -2
  267. package/es/Input/Input.d.ts +1 -1
  268. package/es/Input/Input.js +6 -12
  269. package/{dist/Input/Input.css → es/Input/index.css} +22 -18
  270. package/es/ItemSelector/ItemSelector.miniapp.d.ts +0 -1
  271. package/es/ItemSelector/ItemSelector.miniapp.js +0 -1
  272. package/es/ItemSelector/ItemSelectorCore.d.ts +1 -1
  273. package/es/ItemSelector/ItemSelectorCore.js +1 -1
  274. package/es/List/List.css +7 -3
  275. package/es/List/List.js +3 -8
  276. package/es/List/ListItem.css +3 -3
  277. package/es/List/ListItem.js +42 -44
  278. package/es/List/ListItemContent.js +1 -4
  279. package/es/List/ListItemExtra.js +9 -4
  280. package/es/List/ListItemFooter.js +9 -4
  281. package/es/List/ListItemHeader.js +9 -4
  282. package/es/List/index.css +80 -0
  283. package/es/Loading/Loading.d.ts +1 -1
  284. package/es/Loading/Loading.js +14 -5
  285. package/{dist/Loading/Loading.css → es/Loading/index.css} +10 -6
  286. package/es/Modal/Modal.d.ts +1 -1
  287. package/es/Modal/Modal.js +1 -7
  288. package/es/Modal/Modal.miniapp.d.ts +2 -2
  289. package/es/Modal/Modal.miniapp.js +5 -11
  290. package/es/NavBar/NavBar.d.ts +1 -1
  291. package/es/NavBar/NavBar.js +1 -2
  292. package/es/NavBar/index.css +65 -0
  293. package/es/Picker/Picker.css +21 -21
  294. package/es/Picker/Picker.js +6 -28
  295. package/es/Picker/Picker.types.d.ts +4 -17
  296. package/es/Picker/PickerPanel.css +8 -12
  297. package/es/Picker/PickerPanel.js +52 -31
  298. package/es/Picker/index.css +116 -0
  299. package/es/Popover/Popover.d.ts +1 -1
  300. package/es/Popover/Popover.js +30 -74
  301. package/{dist/Popover/Popover.css → es/Popover/index.css} +32 -28
  302. package/es/Portal/Portal.miniapp.js +5 -8
  303. package/es/Progress/Progress.d.ts +1 -1
  304. package/es/Progress/Progress.js +1 -1
  305. package/es/Progress/index.css +28 -0
  306. package/es/Radio/Radio.d.ts +1 -1
  307. package/es/Radio/Radio.js +3 -7
  308. package/es/Radio/RadioButtonIcon.js +6 -1
  309. package/es/Radio/RadioGroup.d.ts +1 -1
  310. package/es/Radio/RadioGroup.js +1 -4
  311. package/es/Radio/{Radio.css → index.css} +10 -7
  312. package/es/Rating/Rating.d.ts +1 -1
  313. package/es/Rating/Rating.js +9 -19
  314. package/{dist/Rating/Rating.css → es/Rating/index.css} +20 -7
  315. package/es/ScrollView/ScrollView.d.ts +1 -1
  316. package/es/ScrollView/ScrollView.js +12 -25
  317. package/es/ScrollView/ScrollView.types.d.ts +1 -0
  318. package/es/Select/Select.d.ts +1 -1
  319. package/es/Select/Select.js +44 -76
  320. package/es/Select/SelectOption.d.ts +1 -1
  321. package/es/Select/SelectOption.js +1 -1
  322. package/es/Select/{Select.css → index.css} +30 -20
  323. package/es/Skeleton/Skeleton.d.ts +1 -1
  324. package/es/Skeleton/Skeleton.js +6 -10
  325. package/es/Skeleton/{Skeleton.css → index.css} +7 -3
  326. package/es/Slide/Slide.js +69 -74
  327. package/es/Slider/Slider.d.ts +1 -1
  328. package/es/Slider/Slider.js +14 -32
  329. package/es/Slider/index.css +111 -0
  330. package/es/Stack/Stack.d.ts +1 -1
  331. package/es/Stack/Stack.js +1 -1
  332. package/es/Steps/Step.css +14 -14
  333. package/es/Steps/Step.js +81 -82
  334. package/es/Steps/Steps.css +18 -14
  335. package/es/Steps/Steps.d.ts +1 -1
  336. package/es/Steps/Steps.js +57 -60
  337. package/es/Steps/index.css +199 -0
  338. package/es/Swiper/Swiper.d.ts +1 -1
  339. package/es/Swiper/Swiper.js +1 -1
  340. package/{dist/Swiper/Swiper.css → es/Swiper/index.css} +6 -2
  341. package/es/Switch/Switch.d.ts +1 -1
  342. package/es/Switch/Switch.js +76 -79
  343. package/es/Switch/Switch.types.d.ts +1 -1
  344. package/{dist/Switch/Switch.css → es/Switch/index.css} +46 -35
  345. package/es/TabBar/TabBar.css +12 -8
  346. package/es/TabBar/TabBar.js +3 -8
  347. package/es/TabBar/TabBarContext.d.ts +3 -3
  348. package/es/TabBar/TabBarItem.css +6 -0
  349. package/es/TabBar/TabBarItem.js +2 -2
  350. package/es/TabBar/index.css +59 -0
  351. package/es/TabBar/index.types.d.ts +3 -3
  352. package/es/Tabs/Tab.css +10 -16
  353. package/es/Tabs/Tab.js +2 -3
  354. package/es/Tabs/Tabs.css +32 -21
  355. package/es/Tabs/Tabs.js +41 -83
  356. package/es/Tabs/Tabs.types.d.ts +0 -10
  357. package/es/Tabs/index.css +135 -0
  358. package/es/Tabs/utils/bound.d.ts +1 -0
  359. package/es/Tabs/utils/bound.js +13 -0
  360. package/es/Tag/Tag.css +49 -23
  361. package/es/Tag/Tag.js +3 -7
  362. package/es/Tag/Tag.types.d.ts +4 -4
  363. package/es/Tag/TagGroup.css +15 -11
  364. package/es/Tag/TagGroup.d.ts +2 -2
  365. package/es/Tag/TagGroup.js +16 -14
  366. package/es/Tag/index.css +182 -0
  367. package/es/TextArea/TextArea.d.ts +1 -1
  368. package/es/TextArea/TextArea.js +6 -13
  369. package/es/TextArea/index.css +57 -0
  370. package/es/ThemeProvider/ThemeProvider.js +1 -4
  371. package/es/ThemeProvider/ThemeProvider.types.d.ts +5 -10
  372. package/es/ThemeProvider/utils/constants.d.ts +1 -1
  373. package/es/ThemeProvider/utils/constants.js +4 -1
  374. package/es/ThemeProvider/utils/mountTokens.d.ts +4 -4
  375. package/es/Toast/FunctionalToast.js +2 -2
  376. package/es/Toast/Toast.d.ts +1 -1
  377. package/es/Toast/Toast.js +5 -5
  378. package/es/Toast/index.css +58 -0
  379. package/es/Tooltip/Tooltip.d.ts +1 -1
  380. package/es/Tooltip/Tooltip.js +30 -74
  381. package/es/Tooltip/index.css +95 -0
  382. package/es/Transition/TransitionCore.js +3 -8
  383. package/es/index.d.ts +0 -6
  384. package/es/index.js +0 -6
  385. package/es/locales/base.d.ts +0 -11
  386. package/es/locales/en-US.js +0 -24
  387. package/es/locales/zh-CN.js +0 -24
  388. package/es/locales/zh-TW.js +0 -24
  389. package/package.json +14 -6
  390. package/dist/Breadcrumb/Breadcrumb.css +0 -34
  391. package/dist/CitySelector/miniapp.css +0 -4
  392. package/dist/Collapse/Collapse.miniapp.d.ts +0 -5
  393. package/dist/Collapse/Collapse.miniapp.js +0 -177
  394. package/dist/DatePicker/DatePicker.d.ts +0 -4
  395. package/dist/DatePicker/DatePicker.js +0 -335
  396. package/dist/DatePicker/DatePicker.types.d.ts +0 -36
  397. package/dist/DatePicker/DatePicker.types.js +0 -15
  398. package/dist/DatePicker/constants.d.ts +0 -9
  399. package/dist/DatePicker/constants.js +0 -37
  400. package/dist/DatePicker/index.d.ts +0 -3
  401. package/dist/DatePicker/index.js +0 -44
  402. package/dist/DesktopDatePicker/DesktopDatePicker.d.ts +0 -5
  403. package/dist/DesktopDatePicker/DesktopDatePicker.js +0 -280
  404. package/dist/DesktopDatePicker/DesktopDatePicker.types.d.ts +0 -163
  405. package/dist/DesktopDatePicker/DesktopDatePicker.types.js +0 -15
  406. package/dist/DesktopDatePicker/deskTopPickerContainer.css +0 -100
  407. package/dist/DesktopDatePicker/index.css +0 -61
  408. package/dist/DesktopDatePicker/index.d.ts +0 -2
  409. package/dist/DesktopDatePicker/index.js +0 -41
  410. package/dist/DesktopDatePicker/useGetDatePickerContent.d.ts +0 -6
  411. package/dist/DesktopDatePicker/useGetDatePickerContent.js +0 -343
  412. package/dist/DesktopDateTimePicker/DesktopDateTimePicker.d.ts +0 -5
  413. package/dist/DesktopDateTimePicker/DesktopDateTimePicker.js +0 -322
  414. package/dist/DesktopDateTimePicker/DesktopDateTimePicker.types.d.ts +0 -163
  415. package/dist/DesktopDateTimePicker/DesktopDateTimePicker.types.js +0 -15
  416. package/dist/DesktopDateTimePicker/index.css +0 -66
  417. package/dist/DesktopDateTimePicker/index.d.ts +0 -2
  418. package/dist/DesktopDateTimePicker/index.js +0 -41
  419. package/dist/DesktopPicker/DesktopPicker.d.ts +0 -5
  420. package/dist/DesktopPicker/DesktopPicker.js +0 -238
  421. package/dist/DesktopPicker/DesktopPicker.types.d.ts +0 -57
  422. package/dist/DesktopPicker/DesktopPicker.types.js +0 -15
  423. package/dist/DesktopPicker/index.css +0 -37
  424. package/dist/DesktopPicker/index.d.ts +0 -2
  425. package/dist/DesktopPicker/index.js +0 -41
  426. package/dist/DesktopPicker/utils/calcAfterMounted.d.ts +0 -2
  427. package/dist/DesktopPicker/utils/calcAfterMounted.miniapp.d.ts +0 -2
  428. package/dist/DesktopPicker/utils/calcAfterMounted.miniapp.js +0 -38
  429. package/dist/DesktopTimePicker/DesktopTimePicker.d.ts +0 -5
  430. package/dist/DesktopTimePicker/DesktopTimePicker.js +0 -288
  431. package/dist/DesktopTimePicker/DesktopTimePicker.types.d.ts +0 -182
  432. package/dist/DesktopTimePicker/DesktopTimePicker.types.js +0 -15
  433. package/dist/DesktopTimePicker/DesktopTimePickerList.d.ts +0 -4
  434. package/dist/DesktopTimePicker/DesktopTimePickerList.js +0 -111
  435. package/dist/DesktopTimePicker/index.css +0 -170
  436. package/dist/DesktopTimePicker/index.d.ts +0 -2
  437. package/dist/DesktopTimePicker/index.js +0 -41
  438. package/dist/DesktopTimePicker/useGetTimePickerContent.d.ts +0 -6
  439. package/dist/DesktopTimePicker/useGetTimePickerContent.js +0 -249
  440. package/dist/DesktopTimePicker/utils/scrollUtil.d.ts +0 -2
  441. package/dist/DesktopTimePicker/utils/scrollUtil.js +0 -27
  442. package/dist/DesktopTimePicker/utils/scrollUtil.miniapp.d.ts +0 -2
  443. package/dist/DesktopTimePicker/utils/scrollUtil.miniapp.js +0 -51
  444. package/dist/DesktopTimePicker/utils/utils.d.ts +0 -28
  445. package/dist/DesktopTimePicker/utils/utils.js +0 -408
  446. package/dist/ItemSelector/miniapp.css +0 -4
  447. package/dist/NavBar/NavBar.css +0 -61
  448. package/dist/Progress/Progress.css +0 -24
  449. package/dist/Slider/Slider.css +0 -106
  450. package/dist/SwipeAction/SwipeAction.css +0 -79
  451. package/dist/SwipeAction/SwipeAction.d.ts +0 -5
  452. package/dist/SwipeAction/SwipeAction.js +0 -349
  453. package/dist/SwipeAction/SwipeAction.types.d.ts +0 -75
  454. package/dist/SwipeAction/SwipeAction.types.js +0 -15
  455. package/dist/SwipeAction/SwipeActionContext.d.ts +0 -4
  456. package/dist/SwipeAction/SwipeActionContext.js +0 -30
  457. package/dist/SwipeAction/SwipeActionItem.css +0 -31
  458. package/dist/SwipeAction/SwipeActionItem.d.ts +0 -5
  459. package/dist/SwipeAction/SwipeActionItem.js +0 -105
  460. package/dist/SwipeAction/constants.d.ts +0 -9
  461. package/dist/SwipeAction/constants.js +0 -39
  462. package/dist/SwipeAction/index.d.ts +0 -5
  463. package/dist/SwipeAction/index.js +0 -50
  464. package/dist/Tabs/utils/scroll.d.ts +0 -2
  465. package/dist/Tabs/utils/scroll.js +0 -55
  466. package/dist/TextArea/TextArea.css +0 -53
  467. package/dist/Toast/Toast.css +0 -53
  468. package/dist/Tooltip/Tooltip.css +0 -91
  469. package/es/Breadcrumb/Breadcrumb.css +0 -34
  470. package/es/CitySelector/miniapp.css +0 -4
  471. package/es/Collapse/Collapse.miniapp.d.ts +0 -5
  472. package/es/Collapse/Collapse.miniapp.js +0 -157
  473. package/es/DatePicker/DatePicker.d.ts +0 -4
  474. package/es/DatePicker/DatePicker.js +0 -308
  475. package/es/DatePicker/DatePicker.types.d.ts +0 -36
  476. package/es/DatePicker/DatePicker.types.js +0 -1
  477. package/es/DatePicker/constants.d.ts +0 -9
  478. package/es/DatePicker/constants.js +0 -14
  479. package/es/DatePicker/index.d.ts +0 -3
  480. package/es/DatePicker/index.js +0 -8
  481. package/es/DesktopDatePicker/DesktopDatePicker.d.ts +0 -5
  482. package/es/DesktopDatePicker/DesktopDatePicker.js +0 -253
  483. package/es/DesktopDatePicker/DesktopDatePicker.types.d.ts +0 -163
  484. package/es/DesktopDatePicker/DesktopDatePicker.types.js +0 -1
  485. package/es/DesktopDatePicker/deskTopPickerContainer.css +0 -100
  486. package/es/DesktopDatePicker/index.css +0 -61
  487. package/es/DesktopDatePicker/index.d.ts +0 -2
  488. package/es/DesktopDatePicker/index.js +0 -6
  489. package/es/DesktopDatePicker/useGetDatePickerContent.d.ts +0 -6
  490. package/es/DesktopDatePicker/useGetDatePickerContent.js +0 -316
  491. package/es/DesktopDateTimePicker/DesktopDateTimePicker.d.ts +0 -5
  492. package/es/DesktopDateTimePicker/DesktopDateTimePicker.js +0 -295
  493. package/es/DesktopDateTimePicker/DesktopDateTimePicker.types.d.ts +0 -163
  494. package/es/DesktopDateTimePicker/DesktopDateTimePicker.types.js +0 -1
  495. package/es/DesktopDateTimePicker/index.css +0 -66
  496. package/es/DesktopDateTimePicker/index.d.ts +0 -2
  497. package/es/DesktopDateTimePicker/index.js +0 -9
  498. package/es/DesktopPicker/DesktopPicker.d.ts +0 -5
  499. package/es/DesktopPicker/DesktopPicker.js +0 -221
  500. package/es/DesktopPicker/DesktopPicker.types.d.ts +0 -57
  501. package/es/DesktopPicker/DesktopPicker.types.js +0 -1
  502. package/es/DesktopPicker/index.css +0 -37
  503. package/es/DesktopPicker/index.d.ts +0 -2
  504. package/es/DesktopPicker/index.js +0 -6
  505. package/es/DesktopPicker/utils/calcAfterMounted.d.ts +0 -2
  506. package/es/DesktopPicker/utils/calcAfterMounted.js +0 -6
  507. package/es/DesktopPicker/utils/calcAfterMounted.miniapp.d.ts +0 -2
  508. package/es/DesktopPicker/utils/calcAfterMounted.miniapp.js +0 -9
  509. package/es/DesktopTimePicker/DesktopTimePicker.d.ts +0 -5
  510. package/es/DesktopTimePicker/DesktopTimePicker.js +0 -261
  511. package/es/DesktopTimePicker/DesktopTimePicker.types.d.ts +0 -182
  512. package/es/DesktopTimePicker/DesktopTimePicker.types.js +0 -1
  513. package/es/DesktopTimePicker/DesktopTimePickerList.d.ts +0 -4
  514. package/es/DesktopTimePicker/DesktopTimePickerList.js +0 -84
  515. package/es/DesktopTimePicker/index.css +0 -170
  516. package/es/DesktopTimePicker/index.d.ts +0 -2
  517. package/es/DesktopTimePicker/index.js +0 -6
  518. package/es/DesktopTimePicker/useGetTimePickerContent.d.ts +0 -6
  519. package/es/DesktopTimePicker/useGetTimePickerContent.js +0 -226
  520. package/es/DesktopTimePicker/utils/scrollUtil.d.ts +0 -2
  521. package/es/DesktopTimePicker/utils/scrollUtil.js +0 -8
  522. package/es/DesktopTimePicker/utils/scrollUtil.miniapp.d.ts +0 -2
  523. package/es/DesktopTimePicker/utils/scrollUtil.miniapp.js +0 -22
  524. package/es/DesktopTimePicker/utils/utils.d.ts +0 -28
  525. package/es/DesktopTimePicker/utils/utils.js +0 -365
  526. package/es/ItemSelector/miniapp.css +0 -4
  527. package/es/NavBar/NavBar.css +0 -61
  528. package/es/Progress/Progress.css +0 -24
  529. package/es/Slider/Slider.css +0 -106
  530. package/es/SwipeAction/SwipeAction.css +0 -79
  531. package/es/SwipeAction/SwipeAction.d.ts +0 -5
  532. package/es/SwipeAction/SwipeAction.js +0 -334
  533. package/es/SwipeAction/SwipeAction.types.d.ts +0 -75
  534. package/es/SwipeAction/SwipeAction.types.js +0 -1
  535. package/es/SwipeAction/SwipeActionContext.d.ts +0 -4
  536. package/es/SwipeAction/SwipeActionContext.js +0 -11
  537. package/es/SwipeAction/SwipeActionItem.css +0 -31
  538. package/es/SwipeAction/SwipeActionItem.d.ts +0 -5
  539. package/es/SwipeAction/SwipeActionItem.js +0 -78
  540. package/es/SwipeAction/constants.d.ts +0 -9
  541. package/es/SwipeAction/constants.js +0 -15
  542. package/es/SwipeAction/index.d.ts +0 -5
  543. package/es/SwipeAction/index.js +0 -12
  544. package/es/Tabs/utils/scroll.d.ts +0 -2
  545. package/es/Tabs/utils/scroll.js +0 -36
  546. package/es/TextArea/TextArea.css +0 -53
  547. package/es/Toast/Toast.css +0 -53
  548. package/es/Tooltip/Tooltip.css +0 -91
  549. /package/dist/ItemSelector/{ItemSelector.css → index.css} +0 -0
  550. /package/dist/Modal/{Modal.css → index.css} +0 -0
  551. /package/dist/ScrollView/{ScrollView.css → index.css} +0 -0
  552. /package/dist/Stack/{Stack.css → index.css} +0 -0
  553. /package/es/ItemSelector/{ItemSelector.css → index.css} +0 -0
  554. /package/es/Modal/{Modal.css → index.css} +0 -0
  555. /package/es/ScrollView/{ScrollView.css → index.css} +0 -0
  556. /package/es/Stack/{Stack.css → index.css} +0 -0
@@ -0,0 +1,59 @@
1
+ :root,
2
+ page,
3
+ xhs-page {
4
+ --bui-tab-bar-width: 100%;
5
+ --bui-tab-bar-height: 50px;
6
+ --bui-tab-bar-padding: 6px 0;
7
+ --bui-tab-bar-color: var(--bui-color-fg-default);
8
+ }
9
+ .bui-tab-bar {
10
+ display: flex;
11
+ width: var(--bui-tab-bar-width);
12
+ height: var(--bui-tab-bar-height);
13
+ padding: var(--bui-tab-bar-padding);
14
+ background: var(--bui-color-bg-view);
15
+ font-family: var(--bui-font-family);
16
+ }
17
+ .bui-tab-bar-item {
18
+ display: flex;
19
+ align-items: center;
20
+ justify-content: center;
21
+ flex-direction: column;
22
+ flex: 1;
23
+ color: var(--bui-tab-bar-color);
24
+ font-family: var(--bui-font-family);
25
+ }
26
+ .bui-tab-bar-item-primary {
27
+ color: var(--bui-color-primary);
28
+ }
29
+ .bui-tab-bar-item-success {
30
+ color: var(--bui-color-success);
31
+ }
32
+ .bui-tab-bar-item-info {
33
+ color: var(--bui-color-info);
34
+ }
35
+ .bui-tab-bar-item-warning {
36
+ color: var(--bui-color-warning);
37
+ }
38
+ .bui-tab-bar-item-danger {
39
+ color: var(--bui-color-danger);
40
+ }
41
+ .bui-tab-bar-item-light {
42
+ color: var(--bui-color-fg-default);
43
+ }
44
+ .bui-tab-bar-item-dark {
45
+ color: var(--bui-color-bg-view);
46
+ }
47
+ .bui-tab-bar-item-vip {
48
+ color: var(--bui-color-vip);
49
+ }
50
+ .bui-tab-bar-item .bui-badge {
51
+ display: flex;
52
+ flex-direction: column;
53
+ align-items: center;
54
+ justify-content: center;
55
+ }
56
+ .bui-tab-bar-item .bui-badge-position .bui-badge-contained,
57
+ .bui-tab-bar-item .bui-badge-position .bui-badge-outlined {
58
+ top: 0;
59
+ }
@@ -10,14 +10,14 @@ export type TabBarProps<D extends React.ElementType = 'div', P = {}> = OverrideP
10
10
  current?: number;
11
11
  /**
12
12
  * 默认文案颜色
13
- * @default 'default'
13
+ * @default 'neutral'
14
14
  */
15
- color?: ThemeColor | 'default' | 'vip';
15
+ color?: ThemeColor | 'vip';
16
16
  /**
17
17
  * 选中文案颜色
18
18
  * @default 'primary'
19
19
  */
20
- activeColor?: ThemeColor | 'default' | 'vip';
20
+ activeColor?: ThemeColor | 'vip';
21
21
  /**
22
22
  * 变化时回调函数
23
23
  */
package/es/Tabs/Tab.css CHANGED
@@ -4,31 +4,25 @@
4
4
  justify-content: center;
5
5
  white-space: nowrap;
6
6
  width: min-content;
7
- height: var(--tab-height);
7
+ height: var(--bui-tab-height);
8
8
  box-sizing: border-box;
9
9
  position: relative;
10
10
  cursor: pointer;
11
- font-size: var(--font-size);
11
+ font-size: var(--bui-tab-font-size);
12
12
  line-height: var(--bui-line-height);
13
- color: var(--color);
14
- padding: var(--tab-padding);
13
+ color: var(--bui-tab-color);
14
+ padding: var(--bui-tab-padding);
15
15
  font-family: var(--bui-font-family);
16
16
  }
17
17
  .bui-tab-active {
18
- font-size: var(--font-size);
19
- line-height: var(--bui-line-height);
20
- font-weight: var(--bui-font-weight-medium);
21
- color: var(--active-color);
22
- }
23
- .bui-tab-center {
24
- flex: 1 0 0;
25
- margin: 0 auto;
18
+ color: var(--bui-tab-active-color);
19
+ font-weight: var(--bui-font-weight-bold);
20
+ font-family: var(--bui-tab-active-font-family);
26
21
  }
27
22
  .bui-tab-miniapp-active {
28
- font-size: var(--font-size);
23
+ color: var(--bui-tab-active-color);
29
24
  line-height: 1.5;
30
- font-weight: var(--bui-font-weight-medium);
31
- color: var(--active-color);
25
+ font-weight: var(--bui-font-weight-bold);
32
26
  position: relative;
33
27
  }
34
28
  .bui-tab-miniapp-active-line {
@@ -46,7 +40,7 @@
46
40
  opacity: 0.5;
47
41
  pointer-events: none;
48
42
  }
49
- .bui-tabline-invisible {
43
+ .bui-indicator-invisible {
50
44
  visibility: hidden;
51
45
  background-color: transparent;
52
46
  }
package/es/Tabs/Tab.js CHANGED
@@ -50,14 +50,13 @@ const Tab = /* @__PURE__ */ React.forwardRef((props, ref) => {
50
50
  "onClick"
51
51
  ]);
52
52
  const tabsContext = React.useContext(TabsContext);
53
- const { value, align, triggerChange } = tabsContext;
53
+ const { value, triggerChange } = tabsContext;
54
54
  return /* @__PURE__ */ React.createElement(
55
55
  "div",
56
56
  __spreadProps(__spreadValues({
57
57
  ref,
58
58
  className: clsx(
59
59
  prefixCls,
60
- align !== "start" && `${prefixCls}-${align}`,
61
60
  {
62
61
  [`${prefixCls}-active`]: !isMini && index === value,
63
62
  [`${prefixCls}-miniapp-active`]: isMini && index === value,
@@ -79,7 +78,7 @@ const Tab = /* @__PURE__ */ React.forwardRef((props, ref) => {
79
78
  "div",
80
79
  {
81
80
  className: clsx(`${prefixCls}-miniapp-active-line`, {
82
- "bui-tabline-invisible": index !== value
81
+ "bui-indicator-invisible": index !== value
83
82
  })
84
83
  }
85
84
  )
package/es/Tabs/Tabs.css CHANGED
@@ -1,20 +1,30 @@
1
+ :root,
2
+ page,
3
+ xhs-page {
4
+ --bui-tabs-height: 39px;
5
+ --bui-tabs-font-weight: var(--bui-font-weight-medium);
6
+ --bui-tabs-indicator-background: var(--bui-color-primary);
7
+ --bui-tabs-indicator-height: 3PX;
8
+ --bui-tabs-indicator-width: 24px;
9
+ --bui-tabs-indicator-border-radius: 3px 3px 0 0;
10
+ --bui-tabs-indicator-bottom: 0;
11
+ --bui-tabs-indicator-box-shadow: none;
12
+ --bui-tabs-mask-width: 12px;
13
+ --bui-tabs-mask-height: 100%;
14
+ --bui-tab-font-size: var(--bui-text-size-1);
15
+ --bui-tab-color: var(--bui-color-fg-subtle);
16
+ --bui-tab-height: 100%;
17
+ --bui-tab-padding: var(--bui-spacing-lg) var(--bui-spacing-lg) 10px;
18
+ --bui-tab-active-color: var(--bui-color-fg-default);
19
+ --bui-tab-active-font-family: var(--bui-font-family-accent, inherit);
20
+ }
1
21
  .bui-tabs {
2
- --height: var(--bui-tabs-height, 39px);
3
- --color: var(--bui-tabs-color, var(--bui-color-fg-subtle));
4
- --active-color: var(--bui-tabs-active-color, var(--bui-color-fg-default));
5
- --line-color: var(--bui-tabs-line-color, var(--bui-color-primary));
6
- --line-height: var(--bui-tabs-line-height, 3PX);
7
- --line-width: var(--bui-tabs-line-width, 18px);
8
- --mask-width: var(--bui-tabs-mask-width, 12px);
9
- --mask-height: var(--bui-tabs-mask-height, 100%);
10
- --tab-height: var(--bui-tab-height, 100%);
11
- --tab-padding: var(--bui-tab-padding, var(--bui-spacing-lg) var(--bui-spacing-lg) 10px);
12
- --font-size: var(--bui-tab-font-size, var(--bui-text-size-1));
13
22
  position: relative;
14
23
  font-family: var(--bui-font-family);
24
+ font-weight: var(--bui-tabs-font-weight);
15
25
  }
16
26
  .bui-tabs-tabs {
17
- height: var(--height);
27
+ height: var(--bui-tabs-height);
18
28
  display: flex;
19
29
  flex-wrap: nowrap;
20
30
  justify-content: flex-start;
@@ -26,14 +36,15 @@
26
36
  .bui-tabs-tabs::-webkit-scrollbar {
27
37
  display: none;
28
38
  }
29
- .bui-tabs-tabline {
39
+ .bui-tabs-indicator {
30
40
  position: absolute;
31
- width: var(--line-width);
32
- bottom: 0;
33
- height: var(--line-height);
41
+ width: var(--bui-tabs-indicator-width);
42
+ bottom: var(--bui-tabs-indicator-bottom);
43
+ height: var(--bui-tabs-indicator-height);
34
44
  color: var(--bui-color-primary);
35
- background: var(--line-color);
36
- border-radius: var(--bui-shape-radius-label);
45
+ background: var(--bui-tabs-indicator-background);
46
+ border-radius: var(--bui-tabs-indicator-border-radius);
47
+ box-shadow: var(--bui-tabs-indicator-box-shadow);
37
48
  }
38
49
  .bui-tabs-content {
39
50
  padding: var(--bui-spacing-lg);
@@ -43,8 +54,8 @@
43
54
  top: 0;
44
55
  bottom: 0;
45
56
  z-index: 1;
46
- width: var(--mask-width);
47
- height: var(--mask-height);
57
+ width: var(--bui-tabs-mask-width);
58
+ height: var(--bui-tabs-mask-height);
48
59
  pointer-events: none;
49
60
  }
50
61
  .bui-tabs-mask-left {
@@ -63,7 +74,7 @@
63
74
  var(--bui-color-bg-view),
64
75
  rgba(255, 255, 255, 0));
65
76
  }
66
- .bui-tabline-invisible {
77
+ .bui-indicator-invisible {
67
78
  visibility: hidden;
68
79
  background-color: transparent;
69
80
  }
package/es/Tabs/Tabs.js CHANGED
@@ -26,45 +26,34 @@ var __objRest = (source, exclude) => {
26
26
  }
27
27
  return target;
28
28
  };
29
- import {
30
- debounce,
31
- isMini,
32
- throttle,
33
- useDidMountEffect
34
- } from "@bifrostui/utils";
29
+ import { debounce, isMini, throttle, useEventCallback } from "@bifrostui/utils";
35
30
  import clsx from "clsx";
36
- import React, {
37
- useEffect,
38
- useLayoutEffect,
39
- useMemo,
40
- useRef,
41
- useState
42
- } from "react";
31
+ import React, { useEffect, useMemo, useRef, useState } from "react";
43
32
  import Tab from "./Tab";
44
33
  import { TabsContextProvider } from "./TabsContext";
45
- import scrollLeftTo from "./utils/scroll";
34
+ import bound from "./utils/bound";
46
35
  import "./Tabs.css";
47
36
  const prefixCls = "bui-tabs";
48
- const duration = 300;
49
37
  const Tabs = /* @__PURE__ */ React.forwardRef((props, ref) => {
50
- const _a = props, { children, className, value, tabs, align, onChange } = _a, others = __objRest(_a, ["children", "className", "value", "tabs", "align", "onChange"]);
51
- const [active, setActive] = useState("");
38
+ const _a = props, { children, className, value, tabs = [], onChange } = _a, others = __objRest(_a, ["children", "className", "value", "tabs", "onChange"]);
52
39
  const tabsRef = useRef(null);
53
40
  const activeLineRef = useRef(null);
54
- const [lineData, setLineData] = useState({
41
+ const [indicatorData, setIndicatorData] = useState({
55
42
  x: 0,
56
- transitionInUse: false,
57
43
  hasActiveTab: false
58
44
  });
59
45
  const [maskData, setMaskData] = useState({
60
46
  leftMaskOpacity: 0,
61
47
  rightMaskOpacity: 0
62
48
  });
63
- const getActiveTabElement = () => {
49
+ const animate = useEventCallback(() => {
64
50
  const container = tabsRef.current;
65
51
  if (!container)
66
- return void 0;
67
- const activeIndex = !!tabs.length && tabs.findIndex((item) => item.index === active);
52
+ return;
53
+ const activeIndex = !!tabs.length && tabs.findIndex((item) => item.index === value);
54
+ const activeLine = activeLineRef.current;
55
+ if (!activeLine)
56
+ return;
68
57
  let activeTab;
69
58
  if (tabs.length) {
70
59
  activeTab = activeIndex > -1 ? container.childNodes[activeIndex + 1] : void 0;
@@ -78,25 +67,6 @@ const Tabs = /* @__PURE__ */ React.forwardRef((props, ref) => {
78
67
  return [...child.classList].includes("bui-tab-active");
79
68
  });
80
69
  }
81
- return activeTab;
82
- };
83
- const scrollIntoView = () => {
84
- const tabsContainer = tabsRef.current;
85
- const activeTab = getActiveTabElement();
86
- if (!tabsContainer || !activeTab) {
87
- return;
88
- }
89
- const to = activeTab.offsetLeft - (tabsContainer.offsetWidth - activeTab.offsetWidth) / 2;
90
- scrollLeftTo(tabsContainer, to, duration);
91
- };
92
- const animate = ({ transitionInUse }) => {
93
- const container = tabsRef.current;
94
- if (!container)
95
- return;
96
- const activeLine = activeLineRef.current;
97
- if (!activeLine)
98
- return;
99
- const activeTab = getActiveTabElement();
100
70
  let activeTabLeft = 0;
101
71
  let activeTabWidth = 0;
102
72
  let containerWidth = 0;
@@ -111,37 +81,22 @@ const Tabs = /* @__PURE__ */ React.forwardRef((props, ref) => {
111
81
  activeLineWidth = activeLine.offsetWidth;
112
82
  x = activeTabLeft + (activeTabWidth - activeLineWidth) / 2;
113
83
  }
114
- setLineData({
84
+ setIndicatorData({
115
85
  x,
116
- transitionInUse,
117
86
  hasActiveTab: !!activeTab
118
87
  });
119
88
  const maxScrollDistance = containerScrollWidth - containerWidth;
120
89
  if (maxScrollDistance <= 0 || !activeTab)
121
90
  return;
122
- if (!isMini) {
123
- scrollIntoView();
91
+ const nextScrollLeft = bound(
92
+ activeTabLeft - (containerWidth - activeTabWidth) / 2,
93
+ 0,
94
+ containerScrollWidth - containerWidth
95
+ );
96
+ if (tabsRef.current) {
97
+ tabsRef.current.scrollLeft = nextScrollLeft;
124
98
  }
125
- };
126
- useEffect(() => {
127
- setActive(value);
128
- }, [value]);
129
- useLayoutEffect(() => {
130
- animate({ transitionInUse: false });
131
- }, []);
132
- useEffect(() => {
133
- const handleResize = debounce(() => {
134
- animate({ transitionInUse: true });
135
- updateMask();
136
- }, 100);
137
- window.addEventListener("resize", handleResize);
138
- return () => {
139
- window.removeEventListener("resize", handleResize);
140
- };
141
- }, [active]);
142
- useDidMountEffect(() => {
143
- animate({ transitionInUse: true });
144
- }, [active, tabs, children]);
99
+ });
145
100
  const updateMask = useMemo(
146
101
  () => throttle(
147
102
  () => {
@@ -150,10 +105,7 @@ const Tabs = /* @__PURE__ */ React.forwardRef((props, ref) => {
150
105
  return;
151
106
  const scrollLeft = container == null ? void 0 : container.scrollLeft;
152
107
  const showLeftMask = scrollLeft > 0;
153
- const rightRange = Math.abs(
154
- container.scrollWidth - (scrollLeft + container.offsetWidth)
155
- );
156
- const showRightMask = rightRange > 1;
108
+ const showRightMask = scrollLeft + container.offsetWidth < container.scrollWidth;
157
109
  setMaskData({
158
110
  leftMaskOpacity: showLeftMask ? 1 : 0,
159
111
  rightMaskOpacity: showRightMask ? 1 : 0
@@ -167,7 +119,20 @@ const Tabs = /* @__PURE__ */ React.forwardRef((props, ref) => {
167
119
  ),
168
120
  []
169
121
  );
170
- useLayoutEffect(() => {
122
+ useEffect(() => {
123
+ animate();
124
+ }, [value, tabs.length, React.Children.toArray(children).length]);
125
+ useEffect(() => {
126
+ const handleResize = debounce(() => {
127
+ animate();
128
+ updateMask();
129
+ }, 100);
130
+ window.addEventListener("resize", handleResize);
131
+ return () => {
132
+ window.removeEventListener("resize", handleResize);
133
+ };
134
+ }, []);
135
+ useEffect(() => {
171
136
  updateMask();
172
137
  }, []);
173
138
  const handleClick = (e, item) => {
@@ -177,16 +142,13 @@ const Tabs = /* @__PURE__ */ React.forwardRef((props, ref) => {
177
142
  if (index === void 0 || index === null) {
178
143
  return;
179
144
  }
180
- if (active !== value) {
181
- setActive(index);
182
- }
183
145
  if (index !== value) {
184
146
  onChange == null ? void 0 : onChange(e, { index });
185
147
  }
186
148
  };
187
149
  const providerValue = useMemo(() => {
188
- return { value, align, triggerChange: handleClick };
189
- }, [value, align, children, handleClick]);
150
+ return { value, triggerChange: handleClick };
151
+ }, [value, children, handleClick]);
190
152
  return /* @__PURE__ */ React.createElement("div", __spreadValues({ ref, className: clsx(prefixCls, className) }, others), /* @__PURE__ */ React.createElement(
191
153
  "div",
192
154
  {
@@ -207,12 +169,12 @@ const Tabs = /* @__PURE__ */ React.forwardRef((props, ref) => {
207
169
  "div",
208
170
  {
209
171
  ref: activeLineRef,
210
- className: clsx(`${prefixCls}-tabline`, {
211
- "bui-tabline-invisible": isMini || !lineData.hasActiveTab
172
+ className: clsx(`${prefixCls}-indicator`, {
173
+ "bui-indicator-invisible": isMini || !indicatorData.hasActiveTab
212
174
  }),
213
175
  style: {
214
- transition: lineData.transitionInUse ? `transform ${duration / 1e3}s ease` : void 0,
215
- transform: `translate3d(${lineData.x}px, 0px, 0px)`
176
+ transition: "transform 0.3s ease-in-out",
177
+ transform: `translate(${indicatorData.x}px, 0px)`
216
178
  }
217
179
  }
218
180
  ), /* @__PURE__ */ React.createElement(TabsContextProvider, { value: providerValue }, !!tabs.length && tabs.map((item) => {
@@ -228,10 +190,6 @@ const Tabs = /* @__PURE__ */ React.forwardRef((props, ref) => {
228
190
  }), children)));
229
191
  });
230
192
  Tabs.displayName = "BuiTabs";
231
- Tabs.defaultProps = {
232
- align: "center",
233
- tabs: []
234
- };
235
193
  var Tabs_default = Tabs;
236
194
  export {
237
195
  Tabs_default as default
@@ -3,9 +3,6 @@ import React, { SyntheticEvent } from 'react';
3
3
  export interface TabHeaderItem {
4
4
  title: React.ReactNode;
5
5
  index: string;
6
- /**
7
- * 是否禁止点击
8
- */
9
6
  disabled?: boolean;
10
7
  }
11
8
  export interface ITabsChangeData {
@@ -14,11 +11,8 @@ export interface ITabsChangeData {
14
11
  }
15
12
  export type TabChangeEvent = (e?: SyntheticEvent, data?: ITabsChangeData) => void;
16
13
  export interface ITabItem {
17
- /** 面板标题 */
18
14
  title: React.ReactNode;
19
- /** 面板的索引值 */
20
15
  index: string;
21
- /** 面板是否禁用 */
22
16
  disabled?: boolean;
23
17
  }
24
18
  export type ITabAlign = 'start' | 'center';
@@ -32,10 +26,6 @@ export type TabsProps<D extends React.ElementType = 'div', P = {}> = OverridePro
32
26
  * 切换面板的数据
33
27
  */
34
28
  tabs?: ITabItem[];
35
- /**
36
- * 对齐方式,默认为center
37
- */
38
- align?: ITabAlign;
39
29
  /**
40
30
  * 切换面板的回调
41
31
  */
@@ -0,0 +1,135 @@
1
+ :root,
2
+ page,
3
+ xhs-page {
4
+ --bui-tabs-height: 39px;
5
+ --bui-tabs-font-weight: var(--bui-font-weight-medium);
6
+ --bui-tabs-indicator-background: var(--bui-color-primary);
7
+ --bui-tabs-indicator-height: 3PX;
8
+ --bui-tabs-indicator-width: 24px;
9
+ --bui-tabs-indicator-border-radius: 3px 3px 0 0;
10
+ --bui-tabs-indicator-bottom: 0;
11
+ --bui-tabs-indicator-box-shadow: none;
12
+ --bui-tabs-mask-width: 12px;
13
+ --bui-tabs-mask-height: 100%;
14
+ --bui-tab-font-size: var(--bui-text-size-1);
15
+ --bui-tab-color: var(--bui-color-fg-subtle);
16
+ --bui-tab-height: 100%;
17
+ --bui-tab-padding: var(--bui-spacing-lg) var(--bui-spacing-lg) 10px;
18
+ --bui-tab-active-color: var(--bui-color-fg-default);
19
+ --bui-tab-active-font-family: var(--bui-font-family-accent, inherit);
20
+ }
21
+ .bui-tabs {
22
+ position: relative;
23
+ font-family: var(--bui-font-family);
24
+ font-weight: var(--bui-tabs-font-weight);
25
+ }
26
+ .bui-tabs-tabs {
27
+ height: var(--bui-tabs-height);
28
+ display: flex;
29
+ flex-wrap: nowrap;
30
+ justify-content: flex-start;
31
+ align-items: center;
32
+ position: relative;
33
+ overflow-x: scroll;
34
+ scrollbar-width: none;
35
+ }
36
+ .bui-tabs-tabs::-webkit-scrollbar {
37
+ display: none;
38
+ }
39
+ .bui-tabs-indicator {
40
+ position: absolute;
41
+ width: var(--bui-tabs-indicator-width);
42
+ bottom: var(--bui-tabs-indicator-bottom);
43
+ height: var(--bui-tabs-indicator-height);
44
+ color: var(--bui-color-primary);
45
+ background: var(--bui-tabs-indicator-background);
46
+ border-radius: var(--bui-tabs-indicator-border-radius);
47
+ box-shadow: var(--bui-tabs-indicator-box-shadow);
48
+ }
49
+ .bui-tabs-content {
50
+ padding: var(--bui-spacing-lg);
51
+ }
52
+ .bui-tabs-mask {
53
+ position: absolute;
54
+ top: 0;
55
+ bottom: 0;
56
+ z-index: 1;
57
+ width: var(--bui-tabs-mask-width);
58
+ height: var(--bui-tabs-mask-height);
59
+ pointer-events: none;
60
+ }
61
+ .bui-tabs-mask-left {
62
+ left: 0;
63
+ background:
64
+ linear-gradient(
65
+ to right,
66
+ var(--bui-color-bg-view),
67
+ rgba(255, 255, 255, 0));
68
+ }
69
+ .bui-tabs-mask-right {
70
+ right: 0;
71
+ background:
72
+ linear-gradient(
73
+ to left,
74
+ var(--bui-color-bg-view),
75
+ rgba(255, 255, 255, 0));
76
+ }
77
+ .bui-indicator-invisible {
78
+ visibility: hidden;
79
+ background-color: transparent;
80
+ }
81
+ .bui-tab {
82
+ display: flex;
83
+ align-items: center;
84
+ justify-content: center;
85
+ white-space: nowrap;
86
+ width: min-content;
87
+ height: var(--bui-tab-height);
88
+ box-sizing: border-box;
89
+ position: relative;
90
+ cursor: pointer;
91
+ font-size: var(--bui-tab-font-size);
92
+ line-height: var(--bui-line-height);
93
+ color: var(--bui-tab-color);
94
+ padding: var(--bui-tab-padding);
95
+ font-family: var(--bui-font-family);
96
+ }
97
+ .bui-tab-active {
98
+ color: var(--bui-tab-active-color);
99
+ font-weight: var(--bui-font-weight-bold);
100
+ font-family: var(--bui-tab-active-font-family);
101
+ }
102
+ .bui-tab-miniapp-active {
103
+ color: var(--bui-tab-active-color);
104
+ line-height: 1.5;
105
+ font-weight: var(--bui-font-weight-bold);
106
+ position: relative;
107
+ }
108
+ .bui-tab-miniapp-active-line {
109
+ position: absolute;
110
+ bottom: 0;
111
+ left: -12px;
112
+ right: -12px;
113
+ margin: 0 auto !important;
114
+ width: 18px;
115
+ height: 2px;
116
+ transition: all 100ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
117
+ background-color: var(--bui-color-primary);
118
+ }
119
+ .bui-tab-disabled {
120
+ opacity: 0.5;
121
+ pointer-events: none;
122
+ }
123
+ .bui-indicator-invisible {
124
+ visibility: hidden;
125
+ background-color: transparent;
126
+ }
127
+ .bui-tabpanel {
128
+ font-family: var(--bui-font-family);
129
+ }
130
+ .bui-tabpanel-active {
131
+ display: block;
132
+ }
133
+ .bui-tabpanel-inactive {
134
+ display: none;
135
+ }
@@ -0,0 +1 @@
1
+ export default function bound(position: number, min: number | undefined, max: number | undefined): number;
@@ -0,0 +1,13 @@
1
+ function bound(position, min, max) {
2
+ let ret = position;
3
+ if (min !== void 0) {
4
+ ret = Math.max(position, min);
5
+ }
6
+ if (max !== void 0) {
7
+ ret = Math.min(ret, max);
8
+ }
9
+ return ret;
10
+ }
11
+ export {
12
+ bound as default
13
+ };