@bifrostui/react 2.0.0-beta.2 → 2.0.0-beta.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (349) hide show
  1. package/dist/ActionSheet/ActionSheet.css +16 -6
  2. package/dist/ActionSheet/ActionSheetItem.css +11 -17
  3. package/dist/ActionSheet/ActionSheetItem.js +1 -1
  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/AvatarGroup.css +19 -15
  10. package/dist/Avatar/index.css +93 -0
  11. package/dist/Backdrop/Backdrop.d.ts +1 -1
  12. package/dist/Backdrop/Backdrop.js +1 -1
  13. package/dist/Backdrop/{Backdrop.css → index.css} +6 -2
  14. package/dist/Badge/Badge.d.ts +1 -1
  15. package/dist/Badge/Badge.js +1 -1
  16. package/dist/Badge/Badge.types.d.ts +1 -1
  17. package/dist/Badge/{Badge.css → index.css} +47 -27
  18. package/dist/Breadcrumb/Breadcrumb.d.ts +1 -1
  19. package/dist/Breadcrumb/Breadcrumb.js +1 -1
  20. package/dist/Breadcrumb/index.css +38 -0
  21. package/dist/Button/Button.d.ts +1 -1
  22. package/dist/Button/Button.js +3 -2
  23. package/{es/Button/Button.css → dist/Button/index.css} +69 -38
  24. package/dist/Calendar/Calendar.d.ts +1 -1
  25. package/dist/Calendar/Calendar.js +3 -3
  26. package/dist/Calendar/{Calendar.css → index.css} +35 -31
  27. package/dist/Card/Card.css +10 -1
  28. package/dist/Card/CardContent.css +1 -1
  29. package/dist/Card/CardFooter.css +2 -2
  30. package/dist/Card/CardHeader.css +4 -3
  31. package/dist/Card/CardHeader.js +2 -2
  32. package/dist/Card/index.css +77 -0
  33. package/dist/Checkbox/Checkbox.d.ts +1 -1
  34. package/dist/Checkbox/Checkbox.js +2 -2
  35. package/dist/Checkbox/CheckboxGroup.d.ts +1 -1
  36. package/dist/Checkbox/CheckboxGroup.js +1 -1
  37. package/dist/Checkbox/{Checkbox.css → index.css} +14 -10
  38. package/dist/CitySelector/CitySelector.miniapp.d.ts +0 -1
  39. package/dist/CitySelector/CitySelector.miniapp.js +0 -1
  40. package/dist/CitySelector/CitySelectorCore.d.ts +1 -1
  41. package/dist/CitySelector/CitySelectorCore.js +1 -1
  42. package/dist/CitySelector/Selector/index.css +4 -4
  43. package/{es/CitySelector/CitySelector.css → dist/CitySelector/index.css} +31 -27
  44. package/dist/Collapse/Collapse.d.ts +1 -1
  45. package/dist/Collapse/Collapse.js +1 -1
  46. package/dist/CollapsePanel/CollapsePanel.d.ts +1 -1
  47. package/dist/CollapsePanel/CollapsePanel.js +1 -1
  48. package/dist/CollapsePanel/{CollapsePanel.css → index.css} +10 -6
  49. package/dist/Countdown/Countdown.d.ts +1 -1
  50. package/dist/Countdown/Countdown.js +1 -1
  51. package/{es/Countdown/Countdown.css → dist/Countdown/index.css} +12 -8
  52. package/dist/Dialog/index.css +26 -23
  53. package/dist/Divider/Divider.d.ts +1 -1
  54. package/dist/Divider/Divider.js +1 -1
  55. package/{es/Divider/Divider.css → dist/Divider/index.css} +14 -10
  56. package/dist/Drawer/Drawer.d.ts +1 -1
  57. package/dist/Drawer/Drawer.js +1 -1
  58. package/dist/IconButton/IconButton.d.ts +1 -1
  59. package/dist/IconButton/IconButton.js +3 -3
  60. package/dist/IconButton/IconButton.types.d.ts +4 -3
  61. package/{es/IconButton/IconButton.css → dist/IconButton/index.css} +79 -29
  62. package/dist/Image/index.css +6 -2
  63. package/dist/Input/Input.d.ts +1 -1
  64. package/dist/Input/Input.js +2 -2
  65. package/dist/Input/{Input.css → index.css} +22 -18
  66. package/dist/ItemSelector/ItemSelector.miniapp.d.ts +0 -1
  67. package/dist/ItemSelector/ItemSelector.miniapp.js +0 -1
  68. package/dist/ItemSelector/ItemSelectorCore.d.ts +1 -1
  69. package/dist/ItemSelector/ItemSelectorCore.js +1 -1
  70. package/dist/List/List.css +7 -3
  71. package/dist/List/ListItem.css +3 -3
  72. package/dist/List/index.css +80 -0
  73. package/dist/Loading/Loading.d.ts +1 -1
  74. package/dist/Loading/Loading.js +1 -1
  75. package/{es/Loading/Loading.css → dist/Loading/index.css} +10 -6
  76. package/dist/Modal/Modal.d.ts +1 -1
  77. package/dist/Modal/Modal.js +1 -1
  78. package/dist/Modal/Modal.miniapp.d.ts +2 -2
  79. package/dist/Modal/Modal.miniapp.js +1 -1
  80. package/dist/NavBar/NavBar.d.ts +1 -1
  81. package/dist/NavBar/NavBar.js +1 -1
  82. package/dist/NavBar/index.css +65 -0
  83. package/dist/Picker/Picker.css +21 -16
  84. package/dist/Picker/Picker.js +1 -1
  85. package/dist/Picker/Picker.types.d.ts +2 -2
  86. package/dist/Picker/PickerPanel.css +8 -8
  87. package/dist/Picker/PickerPanel.js +33 -22
  88. package/dist/Picker/index.css +116 -0
  89. package/dist/Popover/Popover.d.ts +1 -1
  90. package/dist/Popover/Popover.js +1 -1
  91. package/{es/Popover/Popover.css → dist/Popover/index.css} +32 -28
  92. package/dist/Progress/Progress.d.ts +1 -1
  93. package/dist/Progress/Progress.js +1 -1
  94. package/dist/Progress/index.css +28 -0
  95. package/dist/Radio/Radio.d.ts +1 -1
  96. package/dist/Radio/Radio.js +1 -1
  97. package/dist/Radio/RadioButtonIcon.js +6 -1
  98. package/dist/Radio/RadioGroup.d.ts +1 -1
  99. package/dist/Radio/RadioGroup.js +1 -1
  100. package/dist/Radio/{Radio.css → index.css} +10 -6
  101. package/dist/Rating/Rating.d.ts +1 -1
  102. package/dist/Rating/Rating.js +2 -2
  103. package/dist/Rating/{Rating.css → index.css} +20 -7
  104. package/dist/ScrollView/ScrollView.d.ts +1 -1
  105. package/dist/ScrollView/ScrollView.js +1 -1
  106. package/dist/Select/Select.d.ts +1 -1
  107. package/dist/Select/Select.js +2 -8
  108. package/dist/Select/SelectOption.d.ts +1 -1
  109. package/dist/Select/SelectOption.js +1 -1
  110. package/{es/Select/Select.css → dist/Select/index.css} +26 -19
  111. package/dist/Skeleton/Skeleton.d.ts +1 -1
  112. package/dist/Skeleton/Skeleton.js +1 -1
  113. package/{es/Skeleton/Skeleton.css → dist/Skeleton/index.css} +7 -3
  114. package/dist/Slider/Slider.d.ts +1 -1
  115. package/dist/Slider/Slider.js +2 -2
  116. package/dist/Slider/index.css +111 -0
  117. package/dist/Stack/Stack.d.ts +1 -1
  118. package/dist/Stack/Stack.js +1 -1
  119. package/dist/Steps/Step.css +14 -14
  120. package/dist/Steps/Step.js +1 -1
  121. package/dist/Steps/Steps.css +18 -14
  122. package/dist/Steps/index.css +199 -0
  123. package/dist/Swiper/Swiper.d.ts +1 -1
  124. package/dist/Swiper/Swiper.js +1 -1
  125. package/dist/Swiper/{Swiper.css → index.css} +6 -2
  126. package/dist/Switch/Switch.d.ts +1 -1
  127. package/dist/Switch/Switch.js +1 -1
  128. package/dist/Switch/Switch.types.d.ts +1 -1
  129. package/dist/Switch/{Switch.css → index.css} +46 -35
  130. package/dist/TabBar/TabBar.css +12 -8
  131. package/dist/TabBar/TabBar.js +1 -1
  132. package/dist/TabBar/TabBarContext.d.ts +3 -3
  133. package/dist/TabBar/TabBarItem.css +6 -0
  134. package/dist/TabBar/TabBarItem.js +3 -3
  135. package/dist/TabBar/index.css +59 -0
  136. package/dist/TabBar/index.types.d.ts +3 -3
  137. package/dist/Tabs/Tab.css +9 -9
  138. package/dist/Tabs/Tabs.css +24 -4
  139. package/dist/Tabs/Tabs.js +1 -1
  140. package/dist/Tabs/index.css +135 -0
  141. package/dist/Tag/Tag.css +48 -22
  142. package/dist/Tag/Tag.js +2 -2
  143. package/dist/Tag/Tag.types.d.ts +4 -4
  144. package/dist/Tag/TagGroup.css +13 -9
  145. package/dist/Tag/index.css +182 -0
  146. package/dist/TextArea/TextArea.d.ts +1 -1
  147. package/dist/TextArea/TextArea.js +1 -1
  148. package/dist/TextArea/index.css +57 -0
  149. package/dist/ThemeProvider/ThemeProvider.js +1 -4
  150. package/dist/ThemeProvider/ThemeProvider.types.d.ts +5 -10
  151. package/dist/ThemeProvider/utils/constants.d.ts +1 -1
  152. package/dist/ThemeProvider/utils/constants.js +4 -1
  153. package/dist/ThemeProvider/utils/mountTokens.d.ts +4 -4
  154. package/dist/Toast/Toast.d.ts +1 -1
  155. package/dist/Toast/Toast.js +5 -5
  156. package/dist/Toast/index.css +58 -0
  157. package/dist/Tooltip/Tooltip.d.ts +1 -1
  158. package/dist/Tooltip/Tooltip.js +1 -1
  159. package/dist/Tooltip/index.css +95 -0
  160. package/es/ActionSheet/ActionSheet.css +16 -6
  161. package/es/ActionSheet/ActionSheetItem.css +11 -17
  162. package/es/ActionSheet/ActionSheetItem.js +1 -1
  163. package/es/ActionSheet/ActionSheetItem.types.d.ts +2 -2
  164. package/es/ActionSheet/index.css +89 -0
  165. package/es/Alert/Alert.types.d.ts +3 -3
  166. package/es/Alert/index.css +18 -14
  167. package/es/Avatar/Avatar.css +16 -12
  168. package/es/Avatar/AvatarGroup.css +19 -15
  169. package/es/Avatar/index.css +93 -0
  170. package/es/Backdrop/Backdrop.d.ts +1 -1
  171. package/es/Backdrop/Backdrop.js +1 -1
  172. package/es/Backdrop/{Backdrop.css → index.css} +6 -2
  173. package/es/Badge/Badge.d.ts +1 -1
  174. package/es/Badge/Badge.js +1 -1
  175. package/es/Badge/Badge.types.d.ts +1 -1
  176. package/es/Badge/{Badge.css → index.css} +47 -27
  177. package/es/Breadcrumb/Breadcrumb.d.ts +1 -1
  178. package/es/Breadcrumb/Breadcrumb.js +1 -1
  179. package/es/Breadcrumb/index.css +38 -0
  180. package/es/Button/Button.d.ts +1 -1
  181. package/es/Button/Button.js +3 -2
  182. package/{dist/Button/Button.css → es/Button/index.css} +69 -38
  183. package/es/Calendar/Calendar.d.ts +1 -1
  184. package/es/Calendar/Calendar.js +3 -3
  185. package/es/Calendar/{Calendar.css → index.css} +35 -31
  186. package/es/Card/Card.css +10 -1
  187. package/es/Card/CardContent.css +1 -1
  188. package/es/Card/CardFooter.css +2 -2
  189. package/es/Card/CardHeader.css +4 -3
  190. package/es/Card/CardHeader.js +2 -2
  191. package/es/Card/index.css +77 -0
  192. package/es/Checkbox/Checkbox.d.ts +1 -1
  193. package/es/Checkbox/Checkbox.js +2 -2
  194. package/es/Checkbox/CheckboxGroup.d.ts +1 -1
  195. package/es/Checkbox/CheckboxGroup.js +1 -1
  196. package/es/Checkbox/{Checkbox.css → index.css} +14 -10
  197. package/es/CitySelector/CitySelector.miniapp.d.ts +0 -1
  198. package/es/CitySelector/CitySelector.miniapp.js +0 -1
  199. package/es/CitySelector/CitySelectorCore.d.ts +1 -1
  200. package/es/CitySelector/CitySelectorCore.js +1 -1
  201. package/es/CitySelector/Selector/index.css +4 -4
  202. package/{dist/CitySelector/CitySelector.css → es/CitySelector/index.css} +31 -27
  203. package/es/Collapse/Collapse.d.ts +1 -1
  204. package/es/Collapse/Collapse.js +1 -1
  205. package/es/CollapsePanel/CollapsePanel.d.ts +1 -1
  206. package/es/CollapsePanel/CollapsePanel.js +1 -1
  207. package/es/CollapsePanel/{CollapsePanel.css → index.css} +10 -6
  208. package/es/Countdown/Countdown.d.ts +1 -1
  209. package/es/Countdown/Countdown.js +1 -1
  210. package/{dist/Countdown/Countdown.css → es/Countdown/index.css} +12 -8
  211. package/es/Dialog/index.css +26 -23
  212. package/es/Divider/Divider.d.ts +1 -1
  213. package/es/Divider/Divider.js +1 -1
  214. package/{dist/Divider/Divider.css → es/Divider/index.css} +14 -10
  215. package/es/Drawer/Drawer.d.ts +1 -1
  216. package/es/Drawer/Drawer.js +1 -1
  217. package/es/IconButton/IconButton.d.ts +1 -1
  218. package/es/IconButton/IconButton.js +3 -3
  219. package/es/IconButton/IconButton.types.d.ts +4 -3
  220. package/{dist/IconButton/IconButton.css → es/IconButton/index.css} +79 -29
  221. package/es/Image/index.css +6 -2
  222. package/es/Input/Input.d.ts +1 -1
  223. package/es/Input/Input.js +2 -2
  224. package/es/Input/{Input.css → index.css} +22 -18
  225. package/es/ItemSelector/ItemSelector.miniapp.d.ts +0 -1
  226. package/es/ItemSelector/ItemSelector.miniapp.js +0 -1
  227. package/es/ItemSelector/ItemSelectorCore.d.ts +1 -1
  228. package/es/ItemSelector/ItemSelectorCore.js +1 -1
  229. package/es/List/List.css +7 -3
  230. package/es/List/ListItem.css +3 -3
  231. package/es/List/index.css +80 -0
  232. package/es/Loading/Loading.d.ts +1 -1
  233. package/es/Loading/Loading.js +1 -1
  234. package/{dist/Loading/Loading.css → es/Loading/index.css} +10 -6
  235. package/es/Modal/Modal.d.ts +1 -1
  236. package/es/Modal/Modal.js +1 -1
  237. package/es/Modal/Modal.miniapp.d.ts +2 -2
  238. package/es/Modal/Modal.miniapp.js +1 -1
  239. package/es/NavBar/NavBar.d.ts +1 -1
  240. package/es/NavBar/NavBar.js +1 -1
  241. package/es/NavBar/index.css +65 -0
  242. package/es/Picker/Picker.css +21 -16
  243. package/es/Picker/Picker.js +1 -1
  244. package/es/Picker/Picker.types.d.ts +2 -2
  245. package/es/Picker/PickerPanel.css +8 -8
  246. package/es/Picker/PickerPanel.js +46 -24
  247. package/es/Picker/index.css +116 -0
  248. package/es/Popover/Popover.d.ts +1 -1
  249. package/es/Popover/Popover.js +1 -1
  250. package/{dist/Popover/Popover.css → es/Popover/index.css} +32 -28
  251. package/es/Progress/Progress.d.ts +1 -1
  252. package/es/Progress/Progress.js +1 -1
  253. package/es/Progress/index.css +28 -0
  254. package/es/Radio/Radio.d.ts +1 -1
  255. package/es/Radio/Radio.js +1 -1
  256. package/es/Radio/RadioButtonIcon.js +6 -1
  257. package/es/Radio/RadioGroup.d.ts +1 -1
  258. package/es/Radio/RadioGroup.js +1 -1
  259. package/es/Radio/{Radio.css → index.css} +10 -6
  260. package/es/Rating/Rating.d.ts +1 -1
  261. package/es/Rating/Rating.js +2 -2
  262. package/es/Rating/{Rating.css → index.css} +20 -7
  263. package/es/ScrollView/ScrollView.d.ts +1 -1
  264. package/es/ScrollView/ScrollView.js +1 -1
  265. package/es/Select/Select.d.ts +1 -1
  266. package/es/Select/Select.js +2 -8
  267. package/es/Select/SelectOption.d.ts +1 -1
  268. package/es/Select/SelectOption.js +1 -1
  269. package/{dist/Select/Select.css → es/Select/index.css} +26 -19
  270. package/es/Skeleton/Skeleton.d.ts +1 -1
  271. package/es/Skeleton/Skeleton.js +1 -1
  272. package/{dist/Skeleton/Skeleton.css → es/Skeleton/index.css} +7 -3
  273. package/es/Slider/Slider.d.ts +1 -1
  274. package/es/Slider/Slider.js +2 -2
  275. package/es/Slider/index.css +111 -0
  276. package/es/Stack/Stack.d.ts +1 -1
  277. package/es/Stack/Stack.js +1 -1
  278. package/es/Steps/Step.css +14 -14
  279. package/es/Steps/Step.js +1 -1
  280. package/es/Steps/Steps.css +18 -14
  281. package/es/Steps/index.css +199 -0
  282. package/es/Swiper/Swiper.d.ts +1 -1
  283. package/es/Swiper/Swiper.js +1 -1
  284. package/es/Swiper/{Swiper.css → index.css} +6 -2
  285. package/es/Switch/Switch.d.ts +1 -1
  286. package/es/Switch/Switch.js +1 -1
  287. package/es/Switch/Switch.types.d.ts +1 -1
  288. package/es/Switch/{Switch.css → index.css} +46 -35
  289. package/es/TabBar/TabBar.css +12 -8
  290. package/es/TabBar/TabBar.js +1 -1
  291. package/es/TabBar/TabBarContext.d.ts +3 -3
  292. package/es/TabBar/TabBarItem.css +6 -0
  293. package/es/TabBar/TabBarItem.js +2 -2
  294. package/es/TabBar/index.css +59 -0
  295. package/es/TabBar/index.types.d.ts +3 -3
  296. package/es/Tabs/Tab.css +9 -9
  297. package/es/Tabs/Tabs.css +24 -4
  298. package/es/Tabs/Tabs.js +1 -1
  299. package/es/Tabs/index.css +135 -0
  300. package/es/Tag/Tag.css +48 -22
  301. package/es/Tag/Tag.js +2 -2
  302. package/es/Tag/Tag.types.d.ts +4 -4
  303. package/es/Tag/TagGroup.css +13 -9
  304. package/es/Tag/index.css +182 -0
  305. package/es/TextArea/TextArea.d.ts +1 -1
  306. package/es/TextArea/TextArea.js +1 -1
  307. package/es/TextArea/index.css +57 -0
  308. package/es/ThemeProvider/ThemeProvider.js +1 -4
  309. package/es/ThemeProvider/ThemeProvider.types.d.ts +5 -10
  310. package/es/ThemeProvider/utils/constants.d.ts +1 -1
  311. package/es/ThemeProvider/utils/constants.js +4 -1
  312. package/es/ThemeProvider/utils/mountTokens.d.ts +4 -4
  313. package/es/Toast/Toast.d.ts +1 -1
  314. package/es/Toast/Toast.js +5 -5
  315. package/es/Toast/index.css +58 -0
  316. package/es/Tooltip/Tooltip.d.ts +1 -1
  317. package/es/Tooltip/Tooltip.js +1 -1
  318. package/es/Tooltip/index.css +95 -0
  319. package/package.json +13 -5
  320. package/dist/Breadcrumb/Breadcrumb.css +0 -34
  321. package/dist/CitySelector/miniapp.css +0 -4
  322. package/dist/ItemSelector/miniapp.css +0 -4
  323. package/dist/NavBar/NavBar.css +0 -61
  324. package/dist/Progress/Progress.css +0 -24
  325. package/dist/Slider/Slider.css +0 -106
  326. package/dist/TextArea/TextArea.css +0 -53
  327. package/dist/Toast/Toast.css +0 -54
  328. package/dist/Tooltip/Tooltip.css +0 -91
  329. package/es/Breadcrumb/Breadcrumb.css +0 -34
  330. package/es/CitySelector/miniapp.css +0 -4
  331. package/es/ItemSelector/miniapp.css +0 -4
  332. package/es/NavBar/NavBar.css +0 -61
  333. package/es/Progress/Progress.css +0 -24
  334. package/es/Slider/Slider.css +0 -106
  335. package/es/TextArea/TextArea.css +0 -53
  336. package/es/Toast/Toast.css +0 -54
  337. package/es/Tooltip/Tooltip.css +0 -91
  338. /package/dist/Collapse/{Collapse.css → index.css} +0 -0
  339. /package/dist/Drawer/{Drawer.css → index.css} +0 -0
  340. /package/dist/ItemSelector/{ItemSelector.css → index.css} +0 -0
  341. /package/dist/Modal/{Modal.css → index.css} +0 -0
  342. /package/dist/ScrollView/{ScrollView.css → index.css} +0 -0
  343. /package/dist/Stack/{Stack.css → index.css} +0 -0
  344. /package/es/Collapse/{Collapse.css → index.css} +0 -0
  345. /package/es/Drawer/{Drawer.css → index.css} +0 -0
  346. /package/es/ItemSelector/{ItemSelector.css → index.css} +0 -0
  347. /package/es/Modal/{Modal.css → index.css} +0 -0
  348. /package/es/ScrollView/{ScrollView.css → index.css} +0 -0
  349. /package/es/Stack/{Stack.css → index.css} +0 -0
@@ -0,0 +1,80 @@
1
+ :root,
2
+ page,
3
+ xhs-page {
4
+ --bui-list-small-item-padding: 5px 12px;
5
+ --bui-list-medium-item-padding: 18px 12px;
6
+ --bui-list-large-item-padding: 20px 12px;
7
+ }
8
+ .bui-list {
9
+ background: var(--bui-color-bg-view);
10
+ font-size: var(--bui-title-size-3);
11
+ font-family: var(--bui-font-family);
12
+ list-style: none;
13
+ }
14
+ .bui-list .bui-divider:last-of-type {
15
+ display: none;
16
+ }
17
+ .bui-list-item,
18
+ .bui-list-item-contained {
19
+ display: flex;
20
+ align-items: center;
21
+ font-family: var(--bui-font-family);
22
+ }
23
+ .bui-list-item-disabled {
24
+ pointer-events: none;
25
+ background-color: var(--bui-color-bg-default);
26
+ color: var(--bui-color-fg-subtle);
27
+ }
28
+ .bui-list-small .bui-list-item {
29
+ padding: var(--bui-list-small-item-padding);
30
+ }
31
+ .bui-list-medium .bui-list-item {
32
+ padding: var(--bui-list-medium-item-padding);
33
+ }
34
+ .bui-list-large .bui-list-item {
35
+ padding: var(--bui-list-large-item-padding);
36
+ }
37
+ .bui-list-item-divider:not(:last-child) {
38
+ border-bottom: 1px solid var(--bui-color-border-default);
39
+ }
40
+ .bui-list-item-content {
41
+ display: flex;
42
+ flex-direction: column;
43
+ justify-content: center;
44
+ flex: 1 1 auto;
45
+ width: 100%;
46
+ font-family: var(--bui-font-family);
47
+ }
48
+ .bui-list-small .bui-list-item-content {
49
+ font-size: var(--bui-text-size-2);
50
+ }
51
+ .bui-list-item-content-primary {
52
+ flex: 1 1 auto;
53
+ }
54
+ .bui-list-item-content-secondary {
55
+ font-size: var(--bui-text-size-2);
56
+ color: var(--bui-color-fg-muted);
57
+ }
58
+ .bui-list-item-extra {
59
+ flex: 0 0 auto;
60
+ display: flex;
61
+ align-items: center;
62
+ color: var(--bui-color-fg-subtle);
63
+ font-family: var(--bui-font-family);
64
+ }
65
+ .bui-list-item-footer {
66
+ flex: 0 0 auto;
67
+ display: flex;
68
+ align-items: center;
69
+ font-family: var(--bui-font-family);
70
+ }
71
+ .bui-list-item-footer .bui-svg-icon {
72
+ color: var(--bui-color-fg-subtle);
73
+ }
74
+ .bui-list-item-header {
75
+ flex: 0 0 auto;
76
+ margin-right: var(--bui-spacing-sm);
77
+ display: flex;
78
+ align-items: center;
79
+ font-family: var(--bui-font-family);
80
+ }
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
2
  import { LoadingProps } from './Loading.types';
3
- import './Loading.less';
3
+ import './index.less';
4
4
  declare const Loading: React.ForwardRefExoticComponent<Omit<LoadingProps<"div", {}>, "ref"> & React.RefAttributes<HTMLDivElement>>;
5
5
  export default Loading;
@@ -29,7 +29,7 @@ var __objRest = (source, exclude) => {
29
29
  import React from "react";
30
30
  import clsx from "clsx";
31
31
  import { LoadingThreeQuartersOutlinedIcon } from "@bifrostui/icons";
32
- import "./Loading.css";
32
+ import "./index.css";
33
33
  const prefixCls = "bui-loading";
34
34
  const Loading = /* @__PURE__ */ React.forwardRef((props, ref) => {
35
35
  const _a = props, {
@@ -1,7 +1,11 @@
1
+ :root,
2
+ page,
3
+ xhs-page {
4
+ --bui-loading-icon-font-size: 30px;
5
+ --bui-loading-text-padding: 10px;
6
+ --bui-loading-animation-duration: 1.6s;
7
+ }
1
8
  .bui-loading {
2
- --icon-font-size: var(--bui-loading-icon-font-size, 30px);
3
- --text-padding: var(--bui-loading-text-padding, 10px);
4
- --animation-duration: var(--bui-loading-animation-duration, 1.6s);
5
9
  width: fit-content;
6
10
  display: flex;
7
11
  justify-content: center;
@@ -10,11 +14,11 @@
10
14
  font-family: var(--bui-font-family);
11
15
  }
12
16
  .bui-loading-icon {
13
- font-size: var(--icon-font-size);
14
- animation: loading var(--animation-duration) linear infinite;
17
+ font-size: var(--bui-loading-icon-font-size);
18
+ animation: loading var(--bui-loading-animation-duration) linear infinite;
15
19
  }
16
20
  .bui-loading-text {
17
- padding: var(--text-padding);
21
+ padding: var(--bui-loading-text-padding);
18
22
  font-size: var(--bui-title-size-3);
19
23
  }
20
24
  .bui-loading-vertical {
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import './Modal.less';
3
2
  import { ModalProps } from './Modal.types';
3
+ import './index.less';
4
4
  declare const Modal: React.ForwardRefExoticComponent<Omit<ModalProps<"div", {}>, "ref"> & React.RefAttributes<HTMLDivElement>>;
5
5
  export default Modal;
package/es/Modal/Modal.js CHANGED
@@ -34,7 +34,7 @@ import clsx from "clsx";
34
34
  import React, { useEffect, useState } from "react";
35
35
  import Backdrop from "../Backdrop";
36
36
  import Portal from "../Portal";
37
- import "./Modal.css";
37
+ import "./index.css";
38
38
  const prefixCls = "bui-modal";
39
39
  const Modal = /* @__PURE__ */ React.forwardRef((props, ref) => {
40
40
  const _a = props, {
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { ViewProps } from '@tarojs/components';
3
- import './Modal.less';
3
+ import './index.less';
4
4
  declare const Modal: React.ForwardRefExoticComponent<Omit<ViewProps & {
5
5
  open?: boolean;
6
6
  container?: Element | (() => Element);
@@ -12,5 +12,5 @@ declare const Modal: React.ForwardRefExoticComponent<Omit<ViewProps & {
12
12
  keepMounted?: boolean;
13
13
  } & import("@bifrostui/types").ICommonProps & Omit<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
14
14
  ref?: React.Ref<HTMLDivElement>;
15
- }, "open" | keyof import("@bifrostui/types").ICommonProps | "container" | "onClose" | "disablePortal" | "hideBackdrop" | "BackdropProps" | "disableScrollLock" | "keepMounted">, "ref"> & React.RefAttributes<HTMLDivElement>>;
15
+ }, "open" | "container" | keyof import("@bifrostui/types").ICommonProps | "disablePortal" | "hideBackdrop" | "BackdropProps" | "onClose" | "disableScrollLock" | "keepMounted">, "ref"> & React.RefAttributes<HTMLDivElement>>;
16
16
  export default Modal;
@@ -35,7 +35,7 @@ import React, { useState } from "react";
35
35
  import { View } from "@tarojs/components";
36
36
  import Backdrop from "../Backdrop";
37
37
  import Portal from "../Portal";
38
- import "./Modal.css";
38
+ import "./index.css";
39
39
  const prefixCls = "bui-modal";
40
40
  const Modal = /* @__PURE__ */ React.forwardRef(
41
41
  (props, ref) => {
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
2
  import { NavBarProps } from './NavBar.types';
3
- import './NavBar.less';
3
+ import './index.less';
4
4
  declare const NavBar: React.ForwardRefExoticComponent<Omit<NavBarProps<"div", {}>, "ref"> & React.RefAttributes<HTMLDivElement>>;
5
5
  export default NavBar;
@@ -30,7 +30,7 @@ import React from "react";
30
30
  import clsx from "clsx";
31
31
  import { useForkRef, useSize } from "@bifrostui/utils";
32
32
  import { ArrowBackwardLargeIcon } from "@bifrostui/icons";
33
- import "./NavBar.css";
33
+ import "./index.css";
34
34
  const prefixCls = "bui-navbar";
35
35
  const NavBar = /* @__PURE__ */ React.forwardRef((props, ref) => {
36
36
  const _a = props, {
@@ -0,0 +1,65 @@
1
+ :root,
2
+ page,
3
+ xhs-page {
4
+ --bui-navbar-width: 100%;
5
+ --bui-navbar-height: 45px;
6
+ --bui-navbar-padding: 0 8px;
7
+ --bui-navbar-title-padding: 0 8px;
8
+ --bui-navbar-icon-font-size: 24px;
9
+ --bui-navbar-background-color: var(--bui-color-white);
10
+ --bui-navbar-border-bottom: none;
11
+ --bui-navbar-z-index: auto;
12
+ --bui-navbar-title-max-width: 60%;
13
+ }
14
+ .bui-navbar {
15
+ position: relative;
16
+ width: var(--bui-navbar-width);
17
+ height: var(--bui-navbar-height);
18
+ box-sizing: border-box;
19
+ padding: var(--bui-navbar-padding);
20
+ display: flex;
21
+ justify-content: center;
22
+ align-items: center;
23
+ background-color: var(--bui-navbar-background-color);
24
+ border-bottom: var(--bui-navbar-border-bottom);
25
+ user-select: none;
26
+ z-index: var(--bui-navbar-z-index);
27
+ font-family: var(--bui-font-family);
28
+ }
29
+ .bui-navbar-fixed {
30
+ position: fixed;
31
+ top: 0;
32
+ left: 0;
33
+ width: 100%;
34
+ }
35
+ .bui-navbar-title {
36
+ max-width: var(--bui-navbar-title-max-width);
37
+ padding: var(--bui-navbar-title-padding);
38
+ font-size: var(--bui-title-size-2);
39
+ width: auto;
40
+ overflow: hidden;
41
+ text-overflow: ellipsis;
42
+ white-space: nowrap;
43
+ }
44
+ .bui-navbar-left,
45
+ .bui-navbar-right {
46
+ flex: 1;
47
+ display: flex;
48
+ align-items: center;
49
+ font-size: var(--bui-title-size-3);
50
+ }
51
+ .bui-navbar-left {
52
+ justify-content: flex-start;
53
+ text-align: left;
54
+ }
55
+ .bui-navbar-right {
56
+ justify-content: flex-end;
57
+ text-align: right;
58
+ align-self: stretch;
59
+ }
60
+ .bui-navbar-icon {
61
+ font-size: var(--bui-navbar-icon-font-size);
62
+ }
63
+ .bui-navbar-placeholder {
64
+ width: 100%;
65
+ }
@@ -1,31 +1,36 @@
1
+ :root,
2
+ page,
3
+ xhs-page {
4
+ --bui-picker-header-height: 50px;
5
+ --bui-picker-header-padding: 0 var(--bui-spacing-lg);
6
+ --bui-picker-cancel-height: 100%;
7
+ --bui-picker-cancel-line-height: 50px;
8
+ --bui-picker-confirm-height: 100%;
9
+ --bui-picker-confirm-line-height: 50px;
10
+ --bui-picker-panel-height: 260px;
11
+ --bui-picker-indicator-top: 108px;
12
+ --bui-picker-option-height: 36px;
13
+ --bui-picker-option-font-size: var(--bui-title-size-4);
14
+ }
1
15
  .bui-picker {
2
- --header-height: var(--bui-picker-header-height, 50px);
3
- --header-padding: var(--bui-picker-header-padding, 0 var(--bui-spacing-lg));
4
- --cancel-height: var(--bui-picker-cancel-height, 100%);
5
- --cancel-line-height: var(--bui-picker-cancel-line-height, 50px);
6
- --confirm-height: var(--bui-picker-confirm-height, 100%);
7
- --confirm-line-height: var(--bui-picker-confirm-line-height, 50px);
8
- --panel-container-height: var(--bui-picker-panel-height, 260px);
9
- --indicator-top: var(--bui-picker-indicator-top, 108px);
10
- --option-height: var(--bui-picker-option-height, 36px);
11
16
  font-family: var(--bui-font-family);
12
17
  }
13
18
  .bui-picker .bui-drawer-content {
14
19
  border-radius: var(--bui-shape-radius-drawer) var(--bui-shape-radius-drawer) 0 0;
15
20
  }
16
21
  .bui-picker-header {
17
- height: var(--header-height);
22
+ height: var(--bui-picker-header-height);
18
23
  display: flex;
19
24
  align-items: center;
20
25
  justify-content: space-between;
21
- padding: var(--header-padding);
26
+ padding: var(--bui-picker-header-padding);
22
27
  }
23
28
  .bui-picker-cancel {
24
29
  cursor: pointer;
25
- height: var(--cancel-height);
30
+ height: var(--bui-picker-cancel-height);
26
31
  font-size: var(--bui-title-size-4);
27
32
  text-align: center;
28
- line-height: var(--cancel-line-height);
33
+ line-height: var(--bui-picker-cancel-line-height);
29
34
  color: var(--bui-color-fg-default);
30
35
  }
31
36
  .bui-picker-title {
@@ -35,15 +40,15 @@
35
40
  }
36
41
  .bui-picker-confirm {
37
42
  cursor: pointer;
38
- height: var(--confirm-height);
43
+ height: var(--bui-picker-confirm-height);
39
44
  font-size: var(--bui-title-size-4);
40
45
  text-align: center;
41
- line-height: var(--confirm-line-height);
46
+ line-height: var(--bui-picker-confirm-line-height);
42
47
  color: var(--bui-color-primary);
43
48
  }
44
49
  .bui-picker-container {
45
50
  width: 100%;
46
- height: var(--panel-container-height);
51
+ height: var(--bui-picker-panel-height);
47
52
  display: flex;
48
53
  overflow: hidden;
49
54
  }
@@ -208,7 +208,7 @@ const Picker = /* @__PURE__ */ React.forwardRef((props, ref) => {
208
208
  columnIndex: index,
209
209
  defaultValue: internalValue == null ? void 0 : internalValue[index],
210
210
  onSelect: handleSelect,
211
- pickerStyle: others == null ? void 0 : others.style
211
+ open
212
212
  }
213
213
  )))
214
214
  )
@@ -93,9 +93,9 @@ export type PickerPanelProps<D extends React.ElementType = 'div', P = {}> = Over
93
93
  */
94
94
  columnIndex?: number;
95
95
  /**
96
- * Piker组件的样式,PickerPanel的主题定制与css变量传入的Tokens有关,需要透传计算
96
+ * 是否展示选择器
97
97
  */
98
- pickerStyle?: React.CSSProperties;
98
+ open?: boolean;
99
99
  /**
100
100
  * 选择选项时的回调
101
101
  */
@@ -8,9 +8,9 @@
8
8
  transform: rotate3d(1, 0, 0, 60deg);
9
9
  transform-style: preserve-3d;
10
10
  position: absolute;
11
- top: var(--indicator-top);
11
+ top: var(--bui-picker-indicator-top);
12
12
  width: 100%;
13
- height: var(--option-height);
13
+ height: var(--bui-picker-option-height);
14
14
  }
15
15
  .bui-picker-panel-mask {
16
16
  position: absolute;
@@ -28,14 +28,14 @@
28
28
  var(--bui-color-bg-alpha-light-9),
29
29
  var(--bui-color-bg-alpha-light-3));
30
30
  background-position: top, bottom;
31
- background-size: 100% var(--indicator-top);
31
+ background-size: 100% var(--bui-picker-indicator-top);
32
32
  background-repeat: no-repeat;
33
33
  transform: translateZ(0);
34
34
  }
35
35
  .bui-picker-panel-indicator {
36
36
  position: absolute;
37
- top: var(--indicator-top);
38
- height: var(--option-height);
37
+ top: var(--bui-picker-indicator-top);
38
+ height: var(--bui-picker-option-height);
39
39
  width: 100%;
40
40
  border-top: 1px solid var(--bui-color-border-default);
41
41
  border-bottom: 1px solid var(--bui-color-border-default);
@@ -45,10 +45,10 @@
45
45
  top: 0;
46
46
  left: 0;
47
47
  text-align: center;
48
- height: var(--option-height);
49
- line-height: var(--option-height);
48
+ height: var(--bui-picker-option-height);
49
+ line-height: var(--bui-picker-option-height);
50
50
  color: var(--bui-color-fg-default);
51
- font-size: var(--option-font-size);
51
+ font-size: var(--bui-picker-option-font-size);
52
52
  backface-visibility: hidden;
53
53
  width: auto;
54
54
  overflow: hidden;
@@ -27,25 +27,35 @@ var __objRest = (source, exclude) => {
27
27
  return target;
28
28
  };
29
29
  import clsx from "clsx";
30
- import React, { useEffect, useState, useRef, useImperativeHandle } from "react";
31
- import { useTouch, useForkRef, useTouchEmulator } from "@bifrostui/utils";
30
+ import React, {
31
+ useEffect,
32
+ useState,
33
+ useRef,
34
+ useImperativeHandle,
35
+ useLayoutEffect
36
+ } from "react";
37
+ import {
38
+ useTouch,
39
+ useForkRef,
40
+ useTouchEmulator,
41
+ getBoundingClientRect
42
+ } from "@bifrostui/utils";
32
43
  import "./PickerPanel.css";
33
44
  const prefixCls = "bui-picker-panel";
34
45
  const PickerPanel = /* @__PURE__ */ React.forwardRef(
35
46
  (props, ref) => {
36
- var _b;
37
47
  const _a = props, {
38
48
  options = [],
39
49
  defaultValue,
40
50
  onSelect,
41
51
  columnIndex,
42
- pickerStyle
52
+ open
43
53
  } = _a, others = __objRest(_a, [
44
54
  "options",
45
55
  "defaultValue",
46
56
  "onSelect",
47
57
  "columnIndex",
48
- "pickerStyle"
58
+ "open"
49
59
  ]);
50
60
  const touch = useTouch();
51
61
  let timer;
@@ -55,9 +65,8 @@ const PickerPanel = /* @__PURE__ */ React.forwardRef(
55
65
  const ROTATION = 20;
56
66
  const TOUCH_END = "end";
57
67
  const DEFAULT_LINE_SPACING = 36;
58
- const LINE_SPACING_STR = (_b = ((pickerStyle == null ? void 0 : pickerStyle["--option-height"]) ? `${pickerStyle == null ? void 0 : pickerStyle["--option-height"]}` : `${DEFAULT_LINE_SPACING}`).match(/\d+/)) == null ? void 0 : _b[0];
59
- const LINE_SPACING = parseInt(LINE_SPACING_STR, 10);
60
- const INDICATOR_OFFSET = LINE_SPACING * 108 / DEFAULT_LINE_SPACING;
68
+ const lineSpacing = useRef(DEFAULT_LINE_SPACING);
69
+ const [indicatorOffset, setIndicatorOffset] = useState(108);
61
70
  const [startY, setStartY] = useState(0);
62
71
  const [currIndex, setCurrIndex] = useState(1);
63
72
  const [startTime, setStartTime] = useState(0);
@@ -66,10 +75,18 @@ const PickerPanel = /* @__PURE__ */ React.forwardRef(
66
75
  const [scrollDistance, setScrollDistance] = useState(0);
67
76
  const transformY = useRef(0);
68
77
  const isVerticalMoving = useRef(false);
69
- const rollerRef = useRef(null);
78
+ const fitstOptionRef = useRef(null);
70
79
  const PickerPanelRef = useRef(null);
71
80
  const pickerPanelRef = useForkRef(PickerPanelRef, ref);
72
81
  useTouchEmulator(PickerPanelRef.current);
82
+ useLayoutEffect(() => {
83
+ if (!open)
84
+ return;
85
+ getBoundingClientRect(fitstOptionRef.current).then((rect) => {
86
+ lineSpacing.current = (rect == null ? void 0 : rect.height) || DEFAULT_LINE_SPACING;
87
+ setIndicatorOffset(lineSpacing.current * 108 / DEFAULT_LINE_SPACING);
88
+ });
89
+ }, [open]);
73
90
  const updateSelect = () => {
74
91
  let index = -1;
75
92
  if (defaultValue) {
@@ -82,7 +99,7 @@ const PickerPanel = /* @__PURE__ */ React.forwardRef(
82
99
  });
83
100
  }
84
101
  setCurrIndex(index === -1 ? 1 : index + 1);
85
- const move = index === -1 ? 0 : index * LINE_SPACING;
102
+ const move = index === -1 ? 0 : index * lineSpacing.current;
86
103
  setMove({ move: -move });
87
104
  };
88
105
  useEffect(() => {
@@ -109,22 +126,24 @@ const PickerPanel = /* @__PURE__ */ React.forwardRef(
109
126
  if (updateMove > 0) {
110
127
  updateMove = 0;
111
128
  }
112
- if (updateMove < -(options.length - 1) * LINE_SPACING) {
113
- updateMove = -(options.length - 1) * LINE_SPACING;
129
+ if (updateMove < -(options.length - 1) * lineSpacing.current) {
130
+ updateMove = -(options.length - 1) * lineSpacing.current;
114
131
  }
115
- const endMove = Math.round(updateMove / LINE_SPACING) * LINE_SPACING;
116
- const deg = `${(Math.abs(Math.round(endMove / LINE_SPACING)) + 1) * ROTATION}deg`;
132
+ const endMove = Math.round(updateMove / lineSpacing.current) * lineSpacing.current;
133
+ const deg = `${(Math.abs(Math.round(endMove / lineSpacing.current)) + 1) * ROTATION}deg`;
117
134
  setTransform(type, deg, time, endMove);
118
- setCurrIndex(Math.abs(Math.round(endMove / LINE_SPACING)) + 1);
135
+ setCurrIndex(Math.abs(Math.round(endMove / lineSpacing.current)) + 1);
119
136
  } else {
120
137
  let deg = 0;
121
- const currentDeg = (-updateMove / LINE_SPACING + 1) * ROTATION;
138
+ const currentDeg = (-updateMove / lineSpacing.current + 1) * ROTATION;
122
139
  const maxDeg = (options.length + 1) * ROTATION;
123
140
  const minDeg = 0;
124
141
  deg = Math.min(Math.max(currentDeg, minDeg), maxDeg);
125
142
  if (minDeg < deg && deg < maxDeg) {
126
143
  setTransform("", `${deg}deg`, void 0, updateMove);
127
- setCurrIndex(Math.abs(Math.round(updateMove / LINE_SPACING)) + 1);
144
+ setCurrIndex(
145
+ Math.abs(Math.round(updateMove / lineSpacing.current)) + 1
146
+ );
128
147
  }
129
148
  }
130
149
  };
@@ -173,17 +192,17 @@ const PickerPanel = /* @__PURE__ */ React.forwardRef(
173
192
  }, 0);
174
193
  };
175
194
  useEffect(() => {
176
- var _a2, _b2, _c;
195
+ var _a2, _b, _c;
177
196
  (_a2 = PickerPanelRef.current) == null ? void 0 : _a2.addEventListener("touchstart", panelTouchStart);
178
- (_b2 = PickerPanelRef.current) == null ? void 0 : _b2.addEventListener("touchmove", panelTouchMove);
197
+ (_b = PickerPanelRef.current) == null ? void 0 : _b.addEventListener("touchmove", panelTouchMove);
179
198
  (_c = PickerPanelRef.current) == null ? void 0 : _c.addEventListener("touchend", panelTouchEnd);
180
199
  return () => {
181
- var _a3, _b3, _c2;
200
+ var _a3, _b2, _c2;
182
201
  (_a3 = PickerPanelRef.current) == null ? void 0 : _a3.removeEventListener(
183
202
  "touchstart",
184
203
  panelTouchStart
185
204
  );
186
- (_b3 = PickerPanelRef.current) == null ? void 0 : _b3.removeEventListener(
205
+ (_b2 = PickerPanelRef.current) == null ? void 0 : _b2.removeEventListener(
187
206
  "touchmove",
188
207
  panelTouchMove
189
208
  );
@@ -194,7 +213,7 @@ const PickerPanel = /* @__PURE__ */ React.forwardRef(
194
213
  isVerticalMoving.current = false;
195
214
  setTouchTime(0);
196
215
  onSelect == null ? void 0 : onSelect(e, {
197
- columnOption: options == null ? void 0 : options[Math.round(-scrollDistance / LINE_SPACING)],
216
+ columnOption: options == null ? void 0 : options[Math.round(-scrollDistance / lineSpacing.current)],
198
217
  columnIndex
199
218
  });
200
219
  };
@@ -214,7 +233,6 @@ const PickerPanel = /* @__PURE__ */ React.forwardRef(
214
233
  "div",
215
234
  {
216
235
  className: `${prefixCls}-roller`,
217
- ref: rollerRef,
218
236
  style: {
219
237
  transition: `transform ${touchTime}ms cubic-bezier(0.17, 0.89, 0.45, 1)`,
220
238
  transform: `rotate3d(1, 0, 0, ${touchDeg})`
@@ -224,12 +242,16 @@ const PickerPanel = /* @__PURE__ */ React.forwardRef(
224
242
  options.map((item, i) => /* @__PURE__ */ React.createElement(
225
243
  "div",
226
244
  {
245
+ ref: (el) => {
246
+ if (i === 0 && !fitstOptionRef.current)
247
+ fitstOptionRef.current = el;
248
+ },
227
249
  className: clsx(`${prefixCls}-option`, {
228
250
  [`${prefixCls}-option-hidden`]: i + 1 <= currIndex - 8 || i + 1 >= currIndex + 8
229
251
  }),
230
252
  key: `${item == null ? void 0 : item.value}-${i}`,
231
253
  style: {
232
- transform: `rotate3d(1, 0, 0, ${-ROTATION * (i + 1)}deg) translate3d(0px, 0px, ${INDICATOR_OFFSET}px)`
254
+ transform: `rotate3d(1, 0, 0, ${-ROTATION * (i + 1)}deg) translate3d(0px, 0px, ${indicatorOffset}px)`
233
255
  }
234
256
  },
235
257
  item == null ? void 0 : item.label
@@ -0,0 +1,116 @@
1
+ :root,
2
+ page,
3
+ xhs-page {
4
+ --bui-picker-header-height: 50px;
5
+ --bui-picker-header-padding: 0 var(--bui-spacing-lg);
6
+ --bui-picker-cancel-height: 100%;
7
+ --bui-picker-cancel-line-height: 50px;
8
+ --bui-picker-confirm-height: 100%;
9
+ --bui-picker-confirm-line-height: 50px;
10
+ --bui-picker-panel-height: 260px;
11
+ --bui-picker-indicator-top: 108px;
12
+ --bui-picker-option-height: 36px;
13
+ --bui-picker-option-font-size: var(--bui-title-size-4);
14
+ }
15
+ .bui-picker {
16
+ font-family: var(--bui-font-family);
17
+ }
18
+ .bui-picker .bui-drawer-content {
19
+ border-radius: var(--bui-shape-radius-drawer) var(--bui-shape-radius-drawer) 0 0;
20
+ }
21
+ .bui-picker-header {
22
+ height: var(--bui-picker-header-height);
23
+ display: flex;
24
+ align-items: center;
25
+ justify-content: space-between;
26
+ padding: var(--bui-picker-header-padding);
27
+ }
28
+ .bui-picker-cancel {
29
+ cursor: pointer;
30
+ height: var(--bui-picker-cancel-height);
31
+ font-size: var(--bui-title-size-4);
32
+ text-align: center;
33
+ line-height: var(--bui-picker-cancel-line-height);
34
+ color: var(--bui-color-fg-default);
35
+ }
36
+ .bui-picker-title {
37
+ font-size: var(--bui-title-size-3);
38
+ color: var(--bui-color-fg-default);
39
+ font-weight: var(--bui-font-weight-medium);
40
+ }
41
+ .bui-picker-confirm {
42
+ cursor: pointer;
43
+ height: var(--bui-picker-confirm-height);
44
+ font-size: var(--bui-title-size-4);
45
+ text-align: center;
46
+ line-height: var(--bui-picker-confirm-line-height);
47
+ color: var(--bui-color-primary);
48
+ }
49
+ .bui-picker-container {
50
+ width: 100%;
51
+ height: var(--bui-picker-panel-height);
52
+ display: flex;
53
+ overflow: hidden;
54
+ }
55
+ .bui-picker-panel {
56
+ flex: 1;
57
+ flex-shrink: 0;
58
+ position: relative;
59
+ font-family: var(--bui-font-family);
60
+ }
61
+ .bui-picker-panel-roller {
62
+ transform: rotate3d(1, 0, 0, 60deg);
63
+ transform-style: preserve-3d;
64
+ position: absolute;
65
+ top: var(--bui-picker-indicator-top);
66
+ width: 100%;
67
+ height: var(--bui-picker-option-height);
68
+ }
69
+ .bui-picker-panel-mask {
70
+ position: absolute;
71
+ top: 0;
72
+ left: 0;
73
+ width: 100%;
74
+ height: 100%;
75
+ background-image:
76
+ linear-gradient(
77
+ 180deg,
78
+ var(--bui-color-bg-alpha-light-9),
79
+ var(--bui-color-bg-alpha-light-3)),
80
+ linear-gradient(
81
+ 0deg,
82
+ var(--bui-color-bg-alpha-light-9),
83
+ var(--bui-color-bg-alpha-light-3));
84
+ background-position: top, bottom;
85
+ background-size: 100% var(--bui-picker-indicator-top);
86
+ background-repeat: no-repeat;
87
+ transform: translateZ(0);
88
+ }
89
+ .bui-picker-panel-indicator {
90
+ position: absolute;
91
+ top: var(--bui-picker-indicator-top);
92
+ height: var(--bui-picker-option-height);
93
+ width: 100%;
94
+ border-top: 1px solid var(--bui-color-border-default);
95
+ border-bottom: 1px solid var(--bui-color-border-default);
96
+ }
97
+ .bui-picker-panel-option {
98
+ position: absolute;
99
+ top: 0;
100
+ left: 0;
101
+ text-align: center;
102
+ height: var(--bui-picker-option-height);
103
+ line-height: var(--bui-picker-option-height);
104
+ color: var(--bui-color-fg-default);
105
+ font-size: var(--bui-picker-option-font-size);
106
+ backface-visibility: hidden;
107
+ width: auto;
108
+ overflow: hidden;
109
+ text-overflow: ellipsis;
110
+ white-space: nowrap;
111
+ width: 100%;
112
+ }
113
+ .bui-picker-panel-option-hidden {
114
+ visibility: hidden;
115
+ opacity: 0;
116
+ }