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

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 (313) hide show
  1. package/dist/ActionSheet/ActionSheet.css +2 -2
  2. package/dist/ActionSheet/ActionSheetItem.js +3 -8
  3. package/dist/Avatar/Avatar.js +3 -8
  4. package/dist/Avatar/AvatarGroup.js +2 -6
  5. package/dist/Badge/Badge.js +3 -8
  6. package/dist/Button/Button.css +77 -78
  7. package/dist/Button/Button.d.ts +1 -1
  8. package/dist/Button/Button.js +4 -10
  9. package/dist/Button/Button.types.d.ts +8 -7
  10. package/dist/Calendar/Calendar.js +7 -19
  11. package/dist/Calendar/Calendar.types.d.ts +0 -5
  12. package/dist/Card/Card.css +1 -1
  13. package/dist/Card/CardContent.css +1 -2
  14. package/dist/Card/CardFooter.css +2 -4
  15. package/dist/Card/CardHeader.css +4 -5
  16. package/dist/Checkbox/Checkbox.js +2 -6
  17. package/dist/Checkbox/CheckboxGroup.js +4 -7
  18. package/dist/Collapse/Collapse.css +1 -0
  19. package/dist/Collapse/Collapse.d.ts +1 -1
  20. package/dist/Collapse/Collapse.js +8 -11
  21. package/dist/CollapsePanel/CollapsePanel.css +2 -4
  22. package/dist/CollapsePanel/CollapsePanelItem.js +45 -46
  23. package/dist/Countdown/Countdown.js +5 -12
  24. package/dist/Dialog/FunctionalDialog.js +1 -1
  25. package/dist/Divider/Divider.js +8 -5
  26. package/dist/Drawer/Drawer.js +4 -10
  27. package/dist/Fade/Fade.js +52 -56
  28. package/dist/IconButton/IconButton.js +5 -12
  29. package/dist/Image/Image.js +112 -119
  30. package/dist/Input/Input.js +4 -10
  31. package/dist/List/List.js +3 -8
  32. package/dist/List/ListItem.js +42 -44
  33. package/dist/List/ListItemContent.js +1 -4
  34. package/dist/List/ListItemExtra.js +9 -4
  35. package/dist/List/ListItemFooter.js +9 -4
  36. package/dist/List/ListItemHeader.js +9 -4
  37. package/dist/Loading/Loading.js +13 -4
  38. package/dist/Modal/Modal.js +0 -6
  39. package/dist/Modal/Modal.miniapp.js +4 -10
  40. package/dist/NavBar/NavBar.js +0 -1
  41. package/dist/Picker/Picker.css +0 -5
  42. package/dist/Picker/Picker.js +5 -27
  43. package/dist/Picker/Picker.types.d.ts +2 -15
  44. package/dist/Picker/PickerPanel.css +0 -4
  45. package/dist/Picker/PickerPanel.js +6 -7
  46. package/dist/Popover/Popover.css +5 -5
  47. package/dist/Popover/Popover.js +27 -70
  48. package/dist/Portal/Portal.miniapp.js +4 -7
  49. package/dist/Radio/Radio.css +0 -1
  50. package/dist/Radio/Radio.js +2 -6
  51. package/dist/Radio/RadioGroup.js +0 -3
  52. package/dist/Rating/Rating.js +8 -18
  53. package/dist/ScrollView/ScrollView.js +11 -24
  54. package/dist/ScrollView/ScrollView.types.d.ts +1 -0
  55. package/dist/Select/Select.css +4 -1
  56. package/dist/Select/Select.js +41 -68
  57. package/dist/Skeleton/Skeleton.js +5 -9
  58. package/dist/Slide/Slide.js +69 -74
  59. package/dist/Slider/Slider.js +11 -27
  60. package/dist/Steps/Step.js +81 -82
  61. package/dist/Steps/Steps.d.ts +1 -1
  62. package/dist/Steps/Steps.js +57 -60
  63. package/dist/Switch/Switch.js +75 -78
  64. package/dist/TabBar/TabBar.js +3 -8
  65. package/dist/Tabs/Tab.css +10 -16
  66. package/dist/Tabs/Tab.js +2 -3
  67. package/dist/Tabs/Tabs.css +13 -22
  68. package/dist/Tabs/Tabs.js +39 -70
  69. package/dist/Tabs/Tabs.types.d.ts +0 -10
  70. package/dist/Tabs/utils/bound.d.ts +1 -0
  71. package/dist/{DesktopPicker/utils/calcAfterMounted.js → Tabs/utils/bound.js} +14 -7
  72. package/dist/Tag/Tag.css +1 -1
  73. package/dist/Tag/Tag.js +2 -6
  74. package/dist/TextArea/TextArea.js +5 -12
  75. package/dist/Toast/FunctionalToast.js +1 -1
  76. package/dist/Toast/Toast.css +1 -0
  77. package/dist/Tooltip/Tooltip.css +5 -5
  78. package/dist/Tooltip/Tooltip.js +27 -70
  79. package/dist/Transition/TransitionCore.js +3 -8
  80. package/dist/index.d.ts +0 -6
  81. package/dist/index.js +1 -13
  82. package/dist/locales/base.d.ts +0 -11
  83. package/dist/locales/en-US.js +0 -24
  84. package/dist/locales/zh-CN.js +0 -24
  85. package/dist/locales/zh-TW.js +0 -24
  86. package/es/ActionSheet/ActionSheet.css +2 -2
  87. package/es/ActionSheet/ActionSheetItem.js +3 -8
  88. package/es/Avatar/Avatar.js +3 -8
  89. package/es/Avatar/AvatarGroup.js +2 -6
  90. package/es/Badge/Badge.js +3 -8
  91. package/es/Button/Button.css +77 -78
  92. package/es/Button/Button.d.ts +1 -1
  93. package/es/Button/Button.js +3 -9
  94. package/es/Button/Button.types.d.ts +8 -7
  95. package/es/Calendar/Calendar.js +7 -19
  96. package/es/Calendar/Calendar.types.d.ts +0 -5
  97. package/es/Card/Card.css +1 -1
  98. package/es/Card/CardContent.css +1 -2
  99. package/es/Card/CardFooter.css +2 -4
  100. package/es/Card/CardHeader.css +4 -5
  101. package/es/Checkbox/Checkbox.js +2 -6
  102. package/es/Checkbox/CheckboxGroup.js +4 -7
  103. package/es/Collapse/Collapse.css +1 -0
  104. package/es/Collapse/Collapse.d.ts +1 -1
  105. package/es/Collapse/Collapse.js +8 -11
  106. package/es/CollapsePanel/CollapsePanel.css +2 -4
  107. package/es/CollapsePanel/CollapsePanelItem.js +45 -46
  108. package/es/Countdown/Countdown.js +5 -12
  109. package/es/Dialog/FunctionalDialog.js +2 -2
  110. package/es/Divider/Divider.js +8 -5
  111. package/es/Drawer/Drawer.js +4 -10
  112. package/es/Fade/Fade.js +52 -56
  113. package/es/IconButton/IconButton.js +5 -12
  114. package/es/Image/Image.js +112 -119
  115. package/es/Input/Input.js +4 -10
  116. package/es/List/List.js +3 -8
  117. package/es/List/ListItem.js +42 -44
  118. package/es/List/ListItemContent.js +1 -4
  119. package/es/List/ListItemExtra.js +9 -4
  120. package/es/List/ListItemFooter.js +9 -4
  121. package/es/List/ListItemHeader.js +9 -4
  122. package/es/Loading/Loading.js +13 -4
  123. package/es/Modal/Modal.js +0 -6
  124. package/es/Modal/Modal.miniapp.d.ts +1 -1
  125. package/es/Modal/Modal.miniapp.js +4 -10
  126. package/es/NavBar/NavBar.js +0 -1
  127. package/es/Picker/Picker.css +0 -5
  128. package/es/Picker/Picker.js +5 -27
  129. package/es/Picker/Picker.types.d.ts +2 -15
  130. package/es/Picker/PickerPanel.css +0 -4
  131. package/es/Picker/PickerPanel.js +6 -7
  132. package/es/Popover/Popover.css +5 -5
  133. package/es/Popover/Popover.js +29 -73
  134. package/es/Portal/Portal.miniapp.js +5 -8
  135. package/es/Radio/Radio.css +0 -1
  136. package/es/Radio/Radio.js +2 -6
  137. package/es/Radio/RadioGroup.js +0 -3
  138. package/es/Rating/Rating.js +8 -18
  139. package/es/ScrollView/ScrollView.js +11 -24
  140. package/es/ScrollView/ScrollView.types.d.ts +1 -0
  141. package/es/Select/Select.css +4 -1
  142. package/es/Select/Select.js +42 -68
  143. package/es/Skeleton/Skeleton.js +5 -9
  144. package/es/Slide/Slide.js +69 -74
  145. package/es/Slider/Slider.js +12 -30
  146. package/es/Steps/Step.js +81 -82
  147. package/es/Steps/Steps.d.ts +1 -1
  148. package/es/Steps/Steps.js +57 -60
  149. package/es/Switch/Switch.js +75 -78
  150. package/es/TabBar/TabBar.js +3 -8
  151. package/es/Tabs/Tab.css +10 -16
  152. package/es/Tabs/Tab.js +2 -3
  153. package/es/Tabs/Tabs.css +13 -22
  154. package/es/Tabs/Tabs.js +41 -83
  155. package/es/Tabs/Tabs.types.d.ts +0 -10
  156. package/es/Tabs/utils/bound.d.ts +1 -0
  157. package/es/Tabs/utils/bound.js +13 -0
  158. package/es/Tag/Tag.css +1 -1
  159. package/es/Tag/Tag.js +2 -6
  160. package/es/TextArea/TextArea.js +5 -12
  161. package/es/Toast/FunctionalToast.js +2 -2
  162. package/es/Toast/Toast.css +1 -0
  163. package/es/Tooltip/Tooltip.css +5 -5
  164. package/es/Tooltip/Tooltip.js +29 -73
  165. package/es/Transition/TransitionCore.js +3 -8
  166. package/es/index.d.ts +0 -6
  167. package/es/index.js +0 -6
  168. package/es/locales/base.d.ts +0 -11
  169. package/es/locales/en-US.js +0 -24
  170. package/es/locales/zh-CN.js +0 -24
  171. package/es/locales/zh-TW.js +0 -24
  172. package/package.json +6 -6
  173. package/dist/Collapse/Collapse.miniapp.d.ts +0 -5
  174. package/dist/Collapse/Collapse.miniapp.js +0 -177
  175. package/dist/DatePicker/DatePicker.d.ts +0 -4
  176. package/dist/DatePicker/DatePicker.js +0 -335
  177. package/dist/DatePicker/DatePicker.types.d.ts +0 -36
  178. package/dist/DatePicker/DatePicker.types.js +0 -15
  179. package/dist/DatePicker/constants.d.ts +0 -9
  180. package/dist/DatePicker/constants.js +0 -37
  181. package/dist/DatePicker/index.d.ts +0 -3
  182. package/dist/DatePicker/index.js +0 -44
  183. package/dist/DesktopDatePicker/DesktopDatePicker.d.ts +0 -5
  184. package/dist/DesktopDatePicker/DesktopDatePicker.js +0 -280
  185. package/dist/DesktopDatePicker/DesktopDatePicker.types.d.ts +0 -163
  186. package/dist/DesktopDatePicker/DesktopDatePicker.types.js +0 -15
  187. package/dist/DesktopDatePicker/deskTopPickerContainer.css +0 -100
  188. package/dist/DesktopDatePicker/index.css +0 -61
  189. package/dist/DesktopDatePicker/index.d.ts +0 -2
  190. package/dist/DesktopDatePicker/index.js +0 -41
  191. package/dist/DesktopDatePicker/useGetDatePickerContent.d.ts +0 -6
  192. package/dist/DesktopDatePicker/useGetDatePickerContent.js +0 -343
  193. package/dist/DesktopDateTimePicker/DesktopDateTimePicker.d.ts +0 -5
  194. package/dist/DesktopDateTimePicker/DesktopDateTimePicker.js +0 -322
  195. package/dist/DesktopDateTimePicker/DesktopDateTimePicker.types.d.ts +0 -163
  196. package/dist/DesktopDateTimePicker/DesktopDateTimePicker.types.js +0 -15
  197. package/dist/DesktopDateTimePicker/index.css +0 -66
  198. package/dist/DesktopDateTimePicker/index.d.ts +0 -2
  199. package/dist/DesktopDateTimePicker/index.js +0 -41
  200. package/dist/DesktopPicker/DesktopPicker.d.ts +0 -5
  201. package/dist/DesktopPicker/DesktopPicker.js +0 -238
  202. package/dist/DesktopPicker/DesktopPicker.types.d.ts +0 -57
  203. package/dist/DesktopPicker/DesktopPicker.types.js +0 -15
  204. package/dist/DesktopPicker/index.css +0 -37
  205. package/dist/DesktopPicker/index.d.ts +0 -2
  206. package/dist/DesktopPicker/index.js +0 -41
  207. package/dist/DesktopPicker/utils/calcAfterMounted.d.ts +0 -2
  208. package/dist/DesktopPicker/utils/calcAfterMounted.miniapp.d.ts +0 -2
  209. package/dist/DesktopPicker/utils/calcAfterMounted.miniapp.js +0 -38
  210. package/dist/DesktopTimePicker/DesktopTimePicker.d.ts +0 -5
  211. package/dist/DesktopTimePicker/DesktopTimePicker.js +0 -288
  212. package/dist/DesktopTimePicker/DesktopTimePicker.types.d.ts +0 -182
  213. package/dist/DesktopTimePicker/DesktopTimePicker.types.js +0 -15
  214. package/dist/DesktopTimePicker/DesktopTimePickerList.d.ts +0 -4
  215. package/dist/DesktopTimePicker/DesktopTimePickerList.js +0 -111
  216. package/dist/DesktopTimePicker/index.css +0 -170
  217. package/dist/DesktopTimePicker/index.d.ts +0 -2
  218. package/dist/DesktopTimePicker/index.js +0 -41
  219. package/dist/DesktopTimePicker/useGetTimePickerContent.d.ts +0 -6
  220. package/dist/DesktopTimePicker/useGetTimePickerContent.js +0 -249
  221. package/dist/DesktopTimePicker/utils/scrollUtil.d.ts +0 -2
  222. package/dist/DesktopTimePicker/utils/scrollUtil.js +0 -27
  223. package/dist/DesktopTimePicker/utils/scrollUtil.miniapp.d.ts +0 -2
  224. package/dist/DesktopTimePicker/utils/scrollUtil.miniapp.js +0 -51
  225. package/dist/DesktopTimePicker/utils/utils.d.ts +0 -28
  226. package/dist/DesktopTimePicker/utils/utils.js +0 -408
  227. package/dist/SwipeAction/SwipeAction.css +0 -79
  228. package/dist/SwipeAction/SwipeAction.d.ts +0 -5
  229. package/dist/SwipeAction/SwipeAction.js +0 -349
  230. package/dist/SwipeAction/SwipeAction.types.d.ts +0 -75
  231. package/dist/SwipeAction/SwipeAction.types.js +0 -15
  232. package/dist/SwipeAction/SwipeActionContext.d.ts +0 -4
  233. package/dist/SwipeAction/SwipeActionContext.js +0 -30
  234. package/dist/SwipeAction/SwipeActionItem.css +0 -31
  235. package/dist/SwipeAction/SwipeActionItem.d.ts +0 -5
  236. package/dist/SwipeAction/SwipeActionItem.js +0 -105
  237. package/dist/SwipeAction/constants.d.ts +0 -9
  238. package/dist/SwipeAction/constants.js +0 -39
  239. package/dist/SwipeAction/index.d.ts +0 -5
  240. package/dist/SwipeAction/index.js +0 -50
  241. package/dist/Tabs/utils/scroll.d.ts +0 -2
  242. package/dist/Tabs/utils/scroll.js +0 -55
  243. package/es/Collapse/Collapse.miniapp.d.ts +0 -5
  244. package/es/Collapse/Collapse.miniapp.js +0 -157
  245. package/es/DatePicker/DatePicker.d.ts +0 -4
  246. package/es/DatePicker/DatePicker.js +0 -308
  247. package/es/DatePicker/DatePicker.types.d.ts +0 -36
  248. package/es/DatePicker/DatePicker.types.js +0 -1
  249. package/es/DatePicker/constants.d.ts +0 -9
  250. package/es/DatePicker/constants.js +0 -14
  251. package/es/DatePicker/index.d.ts +0 -3
  252. package/es/DatePicker/index.js +0 -8
  253. package/es/DesktopDatePicker/DesktopDatePicker.d.ts +0 -5
  254. package/es/DesktopDatePicker/DesktopDatePicker.js +0 -253
  255. package/es/DesktopDatePicker/DesktopDatePicker.types.d.ts +0 -163
  256. package/es/DesktopDatePicker/DesktopDatePicker.types.js +0 -1
  257. package/es/DesktopDatePicker/deskTopPickerContainer.css +0 -100
  258. package/es/DesktopDatePicker/index.css +0 -61
  259. package/es/DesktopDatePicker/index.d.ts +0 -2
  260. package/es/DesktopDatePicker/index.js +0 -6
  261. package/es/DesktopDatePicker/useGetDatePickerContent.d.ts +0 -6
  262. package/es/DesktopDatePicker/useGetDatePickerContent.js +0 -316
  263. package/es/DesktopDateTimePicker/DesktopDateTimePicker.d.ts +0 -5
  264. package/es/DesktopDateTimePicker/DesktopDateTimePicker.js +0 -295
  265. package/es/DesktopDateTimePicker/DesktopDateTimePicker.types.d.ts +0 -163
  266. package/es/DesktopDateTimePicker/DesktopDateTimePicker.types.js +0 -1
  267. package/es/DesktopDateTimePicker/index.css +0 -66
  268. package/es/DesktopDateTimePicker/index.d.ts +0 -2
  269. package/es/DesktopDateTimePicker/index.js +0 -9
  270. package/es/DesktopPicker/DesktopPicker.d.ts +0 -5
  271. package/es/DesktopPicker/DesktopPicker.js +0 -221
  272. package/es/DesktopPicker/DesktopPicker.types.d.ts +0 -57
  273. package/es/DesktopPicker/DesktopPicker.types.js +0 -1
  274. package/es/DesktopPicker/index.css +0 -37
  275. package/es/DesktopPicker/index.d.ts +0 -2
  276. package/es/DesktopPicker/index.js +0 -6
  277. package/es/DesktopPicker/utils/calcAfterMounted.d.ts +0 -2
  278. package/es/DesktopPicker/utils/calcAfterMounted.js +0 -6
  279. package/es/DesktopPicker/utils/calcAfterMounted.miniapp.d.ts +0 -2
  280. package/es/DesktopPicker/utils/calcAfterMounted.miniapp.js +0 -9
  281. package/es/DesktopTimePicker/DesktopTimePicker.d.ts +0 -5
  282. package/es/DesktopTimePicker/DesktopTimePicker.js +0 -261
  283. package/es/DesktopTimePicker/DesktopTimePicker.types.d.ts +0 -182
  284. package/es/DesktopTimePicker/DesktopTimePicker.types.js +0 -1
  285. package/es/DesktopTimePicker/DesktopTimePickerList.d.ts +0 -4
  286. package/es/DesktopTimePicker/DesktopTimePickerList.js +0 -84
  287. package/es/DesktopTimePicker/index.css +0 -170
  288. package/es/DesktopTimePicker/index.d.ts +0 -2
  289. package/es/DesktopTimePicker/index.js +0 -6
  290. package/es/DesktopTimePicker/useGetTimePickerContent.d.ts +0 -6
  291. package/es/DesktopTimePicker/useGetTimePickerContent.js +0 -226
  292. package/es/DesktopTimePicker/utils/scrollUtil.d.ts +0 -2
  293. package/es/DesktopTimePicker/utils/scrollUtil.js +0 -8
  294. package/es/DesktopTimePicker/utils/scrollUtil.miniapp.d.ts +0 -2
  295. package/es/DesktopTimePicker/utils/scrollUtil.miniapp.js +0 -22
  296. package/es/DesktopTimePicker/utils/utils.d.ts +0 -28
  297. package/es/DesktopTimePicker/utils/utils.js +0 -365
  298. package/es/SwipeAction/SwipeAction.css +0 -79
  299. package/es/SwipeAction/SwipeAction.d.ts +0 -5
  300. package/es/SwipeAction/SwipeAction.js +0 -334
  301. package/es/SwipeAction/SwipeAction.types.d.ts +0 -75
  302. package/es/SwipeAction/SwipeAction.types.js +0 -1
  303. package/es/SwipeAction/SwipeActionContext.d.ts +0 -4
  304. package/es/SwipeAction/SwipeActionContext.js +0 -11
  305. package/es/SwipeAction/SwipeActionItem.css +0 -31
  306. package/es/SwipeAction/SwipeActionItem.d.ts +0 -5
  307. package/es/SwipeAction/SwipeActionItem.js +0 -78
  308. package/es/SwipeAction/constants.d.ts +0 -9
  309. package/es/SwipeAction/constants.js +0 -15
  310. package/es/SwipeAction/index.d.ts +0 -5
  311. package/es/SwipeAction/index.js +0 -12
  312. package/es/Tabs/utils/scroll.d.ts +0 -2
  313. package/es/Tabs/utils/scroll.js +0 -36
@@ -1,261 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __defProps = Object.defineProperties;
3
- var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
- var __spreadValues = (a, b) => {
9
- for (var prop in b || (b = {}))
10
- if (__hasOwnProp.call(b, prop))
11
- __defNormalProp(a, prop, b[prop]);
12
- if (__getOwnPropSymbols)
13
- for (var prop of __getOwnPropSymbols(b)) {
14
- if (__propIsEnum.call(b, prop))
15
- __defNormalProp(a, prop, b[prop]);
16
- }
17
- return a;
18
- };
19
- var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
- var __objRest = (source, exclude) => {
21
- var target = {};
22
- for (var prop in source)
23
- if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
24
- target[prop] = source[prop];
25
- if (source != null && __getOwnPropSymbols)
26
- for (var prop of __getOwnPropSymbols(source)) {
27
- if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
28
- target[prop] = source[prop];
29
- }
30
- return target;
31
- };
32
- import { AccessTimeCircleOutlinedIcon } from "@bifrostui/icons";
33
- import dayjs from "dayjs";
34
- import customParseFormat from "dayjs/plugin/customParseFormat";
35
- import clsx from "clsx";
36
- import React, { useMemo, useState, useEffect } from "react";
37
- import { useValue } from "@bifrostui/utils";
38
- import { isDisabledTime, dateToDayjs } from "./utils/utils";
39
- import DesktopPicker from "../DesktopPicker";
40
- import useGetTimePickerContent from "./useGetTimePickerContent";
41
- import "./index.css";
42
- dayjs.extend(customParseFormat);
43
- const prefixCls = "bui-d-time-picker";
44
- const allowedViews = ["hour", "minute", "second"];
45
- const DesktopTimePicker = /* @__PURE__ */ React.forwardRef(
46
- (props, ref) => {
47
- const _a = props, {
48
- views = allowedViews,
49
- timeSteps = { hour: 1, minute: 1, second: 1 },
50
- ampm = false,
51
- className,
52
- inputRef,
53
- inputProps,
54
- value,
55
- defaultValue,
56
- disabled = false,
57
- disableOpenPicker = false,
58
- placeholder,
59
- open,
60
- format = ampm ? "hh:mm:ss A" : "HH:mm:ss",
61
- disabledTimeView = () => ({
62
- hour: () => [],
63
- minute: () => [],
64
- second: () => []
65
- }),
66
- minTime,
67
- maxTime,
68
- icon,
69
- closeOnSelect = true,
70
- onChange,
71
- onClose,
72
- onOpen,
73
- DesktopPickerProps,
74
- timeRender
75
- } = _a, others = __objRest(_a, [
76
- "views",
77
- "timeSteps",
78
- "ampm",
79
- "className",
80
- "inputRef",
81
- "inputProps",
82
- "value",
83
- "defaultValue",
84
- "disabled",
85
- "disableOpenPicker",
86
- "placeholder",
87
- "open",
88
- "format",
89
- "disabledTimeView",
90
- "minTime",
91
- "maxTime",
92
- "icon",
93
- "closeOnSelect",
94
- "onChange",
95
- "onClose",
96
- "onOpen",
97
- "DesktopPickerProps",
98
- "timeRender"
99
- ]);
100
- const [isOpen, setIsOpen] = useState(false);
101
- const [inputStr, setInputStr] = useState("");
102
- const [useUserStr, setUseUserStr] = useState(false);
103
- const [isInvalid, setIsInvalid] = useState(false);
104
- const [timeValue, triggerChange] = useValue({
105
- value,
106
- defaultValue,
107
- onChange
108
- });
109
- const handleDatePickerIconClick = (e) => {
110
- e.stopPropagation();
111
- if (disabled || disableOpenPicker || open !== void 0)
112
- return;
113
- setIsOpen(!isOpen);
114
- };
115
- const handleTimePickerInputClick = (e) => {
116
- e.stopPropagation();
117
- if (inputProps == null ? void 0 : inputProps.readOnly) {
118
- if (disabled || disableOpenPicker || open !== void 0)
119
- return;
120
- setIsOpen(!isOpen);
121
- return;
122
- }
123
- setIsOpen(false);
124
- };
125
- const { desktopTimePanel } = useGetTimePickerContent({
126
- views: Array.from(
127
- new Set(views.filter((view) => allowedViews.includes(view)))
128
- ),
129
- timeSteps,
130
- ampm,
131
- minTime: dateToDayjs(minTime),
132
- maxTime: dateToDayjs(maxTime),
133
- setIsOpen,
134
- triggerChange,
135
- disabledTimeView,
136
- timeValue: dateToDayjs(timeValue),
137
- onClose,
138
- onOpen,
139
- closeOnSelect,
140
- timeRender,
141
- setIsInvalid
142
- });
143
- const onInputChange = (e) => {
144
- e.stopPropagation();
145
- const newValue = e.target.value;
146
- if (newValue.length === 0) {
147
- setInputStr("");
148
- setUseUserStr(true);
149
- triggerChange(e, null);
150
- return;
151
- }
152
- if (!dayjs(newValue, format, true).isValid()) {
153
- setInputStr(newValue);
154
- setUseUserStr(true);
155
- } else {
156
- setInputStr("");
157
- setUseUserStr(false);
158
- let validTime;
159
- if (dateToDayjs(timeValue)) {
160
- validTime = dateToDayjs(timeValue);
161
- } else if (minTime) {
162
- validTime = dateToDayjs(minTime);
163
- } else if (maxTime) {
164
- validTime = dateToDayjs(maxTime);
165
- } else {
166
- validTime = dayjs();
167
- }
168
- const year = validTime.year();
169
- const month = validTime.month() + 1;
170
- const date = validTime.date();
171
- const newTimeValue = dayjs(`${year}-${month}-${date} ${newValue}`);
172
- if (isDisabledTime(
173
- newTimeValue,
174
- dateToDayjs(minTime),
175
- dateToDayjs(maxTime),
176
- disabledTimeView
177
- )) {
178
- return;
179
- }
180
- triggerChange(e, newTimeValue.toDate());
181
- }
182
- };
183
- const onMount = () => {
184
- onOpen == null ? void 0 : onOpen();
185
- };
186
- const unMounted = () => {
187
- onClose == null ? void 0 : onClose();
188
- };
189
- const showPlaceholder = useMemo(
190
- () => placeholder || format,
191
- [placeholder, format]
192
- );
193
- const inputValue = useMemo(() => {
194
- if (useUserStr) {
195
- return inputStr;
196
- }
197
- if (timeValue) {
198
- return dayjs(timeValue).format(format);
199
- }
200
- return "";
201
- }, [timeValue, inputStr, useUserStr, format]);
202
- useEffect(() => {
203
- setUseUserStr(false);
204
- }, [timeValue]);
205
- return /* @__PURE__ */ React.createElement(
206
- "div",
207
- __spreadProps(__spreadValues({}, others), {
208
- className: clsx(prefixCls, className, {
209
- [`${prefixCls}-disabled`]: disabled,
210
- [`${prefixCls}-active`]: isOpen,
211
- [`${prefixCls}-invalid`]: isInvalid
212
- }),
213
- ref
214
- }),
215
- /* @__PURE__ */ React.createElement(
216
- DesktopPicker,
217
- __spreadValues({
218
- open: open != null ? open : isOpen,
219
- miniBackdropInvisible: open !== void 0,
220
- onClose: (e, data) => {
221
- setIsOpen(data == null ? void 0 : data.value);
222
- },
223
- onMount,
224
- onUnmounted: unMounted,
225
- content: desktopTimePanel(),
226
- inheritWidth: false
227
- }, DesktopPickerProps),
228
- /* @__PURE__ */ React.createElement("div", { className: `${prefixCls}-container` }, /* @__PURE__ */ React.createElement(
229
- "input",
230
- __spreadProps(__spreadValues({}, inputProps), {
231
- "aria-invalid": true,
232
- autoComplete: "off",
233
- placeholder: showPlaceholder,
234
- type: "text",
235
- inputMode: "text",
236
- ref: inputRef,
237
- className: clsx(`${prefixCls}-content`, {
238
- [inputProps == null ? void 0 : inputProps.className]: inputProps == null ? void 0 : inputProps.className
239
- }),
240
- onBlur: () => setUseUserStr(false),
241
- onClick: handleTimePickerInputClick,
242
- onChange: onInputChange,
243
- value: inputValue
244
- })
245
- ), /* @__PURE__ */ React.createElement(
246
- "div",
247
- {
248
- onClick: handleDatePickerIconClick,
249
- className: `${prefixCls}-icon`
250
- },
251
- icon || /* @__PURE__ */ React.createElement(AccessTimeCircleOutlinedIcon, { htmlColor: "#9c9ca5" })
252
- ))
253
- )
254
- );
255
- }
256
- );
257
- DesktopTimePicker.displayName = "BUITimePicker";
258
- var DesktopTimePicker_default = DesktopTimePicker;
259
- export {
260
- DesktopTimePicker_default as default
261
- };
@@ -1,182 +0,0 @@
1
- import React, { Ref } from 'react';
2
- import { OverrideProps } from '@bifrostui/types';
3
- import { Dayjs } from 'dayjs';
4
- import { DesktopPickerProps } from '../DesktopPicker';
5
- export type Views = Array<'hour' | 'minute' | 'second'>;
6
- export type ViewType = 'hour' | 'minute' | 'second';
7
- export type ViewTypeWithMeridiem = ViewType | 'meridiem';
8
- export type TimeSteps = {
9
- hour?: number;
10
- minute?: number;
11
- second?: number;
12
- };
13
- export type TimePickerProps<D extends React.ElementType = 'div', P = {}> = OverrideProps<{
14
- props: P & {
15
- /**
16
- * 默认选中的值,当组件非受控时使用
17
- */
18
- defaultValue?: Date;
19
- /**
20
- * 选中的值,当组件受控时使用
21
- */
22
- value?: Date;
23
- /**
24
- * 输入框占位内容
25
- */
26
- placeholder?: string;
27
- /**
28
- * 面板视图选择
29
- */
30
- views?: Views;
31
- /**
32
- * 时间间隔
33
- */
34
- timeSteps?: TimeSteps;
35
- /**
36
- * 是否使用十二小时制模式
37
- */
38
- ampm?: boolean;
39
- /**
40
- * 时间格式化
41
- */
42
- format?: string;
43
- /**
44
- * 可选择的最小时间
45
- */
46
- minTime?: Date;
47
- /**
48
- * 可选择的最大时间
49
- */
50
- maxTime?: Date;
51
- /**
52
- * 禁止选择的时间
53
- */
54
- disabledTimeView?: DisabledTimeView;
55
- /**
56
- * 禁用弹层选择功能
57
- */
58
- disableOpenPicker?: boolean;
59
- /**
60
- * 是否禁用时间选择器
61
- */
62
- disabled?: boolean;
63
- /**
64
- * 选择时间后是否立刻关闭
65
- */
66
- closeOnSelect?: boolean;
67
- /**
68
- * 弹层是否打开
69
- */
70
- open?: boolean;
71
- /**
72
- * 输入框icon
73
- */
74
- icon?: React.ReactNode;
75
- /**
76
- * 时间发生变化的回调
77
- */
78
- onChange?: (e: React.SyntheticEvent, data: {
79
- value: Date | null;
80
- }) => void;
81
- /**
82
- * 弹层关闭的回调
83
- */
84
- onClose?: () => void;
85
- /**
86
- * 弹层打开的回调
87
- */
88
- onOpen?: () => void;
89
- /**
90
- * inputRef
91
- */
92
- inputRef?: Ref<HTMLInputElement>;
93
- /**
94
- * inputProp
95
- */
96
- inputProps?: React.InputHTMLAttributes<HTMLInputElement>;
97
- /**
98
- * DesktopPickerProps
99
- */
100
- DesktopPickerProps?: Omit<DesktopPickerProps, 'open'>;
101
- /**
102
- * 自定义时间单元格渲染内容
103
- */
104
- timeRender?: (item: ITimeInstance) => React.ReactNode;
105
- };
106
- defaultComponent: D;
107
- }, D>;
108
- export type DisabledTimeView = () => {
109
- hour?: () => number[];
110
- minute?: (selectedHour: number) => number[];
111
- second?: (selectedHour: number, selectedMinute: number) => number[];
112
- };
113
- export interface TimePickerContentProps {
114
- setIsOpen: Function;
115
- triggerChange: Function;
116
- disabledTimeView?: DisabledTimeView;
117
- timeValue: Dayjs;
118
- /**
119
- * 关闭浮层
120
- */
121
- onClose?: (e: React.MouseEvent<any>, data: {
122
- value: boolean;
123
- }) => void;
124
- /**
125
- * 打开浮层
126
- */
127
- onOpen?: (e: React.MouseEvent<any>, data: {
128
- value: boolean;
129
- }) => void;
130
- /**
131
- * 选择时间后是否立刻关闭
132
- */
133
- closeOnSelect?: boolean;
134
- /**
135
- * 打开浮层的视图
136
- */
137
- views?: Views;
138
- /**
139
- * 时间间隔
140
- */
141
- timeSteps?: TimeSteps;
142
- /**
143
- * 是否使用十二小时制模式
144
- */
145
- ampm?: boolean;
146
- /**
147
- * 可选择的最小时间
148
- */
149
- minTime?: Dayjs;
150
- /**
151
- * 可选择的最大时间
152
- */
153
- maxTime?: Dayjs;
154
- /**
155
- * 自定义时间单元格渲染内容
156
- */
157
- timeRender?: (item: ITimeInstance) => React.ReactNode;
158
- /**
159
- * 校验timeValue是否有效
160
- */
161
- setIsInvalid: (a: boolean) => void;
162
- }
163
- /** 时间面板单元格对象 */
164
- export interface ITimeInstance {
165
- value: number | string;
166
- label: string;
167
- disabled: boolean;
168
- }
169
- /** 时分秒面板单元格对象 */
170
- export interface ITimeItemNumberInstance {
171
- value: number;
172
- label: string;
173
- }
174
- export interface DesktopTimePickerListProps {
175
- timeValue: Dayjs;
176
- type: ViewTypeWithMeridiem;
177
- dataList: ITimeInstance[];
178
- selectedValue: string | number;
179
- prefixCls: string;
180
- handleClick: Function;
181
- timeRender: (item: ITimeInstance) => React.ReactNode;
182
- }
@@ -1 +0,0 @@
1
- export {};
@@ -1,4 +0,0 @@
1
- import React from 'react';
2
- import { DesktopTimePickerListProps } from './DesktopTimePicker.types';
3
- declare const DesktopTimePickerList: React.ForwardRefExoticComponent<DesktopTimePickerListProps & React.RefAttributes<HTMLDivElement>>;
4
- export default DesktopTimePickerList;
@@ -1,84 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __defProps = Object.defineProperties;
3
- var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
- var __spreadValues = (a, b) => {
9
- for (var prop in b || (b = {}))
10
- if (__hasOwnProp.call(b, prop))
11
- __defNormalProp(a, prop, b[prop]);
12
- if (__getOwnPropSymbols)
13
- for (var prop of __getOwnPropSymbols(b)) {
14
- if (__propIsEnum.call(b, prop))
15
- __defNormalProp(a, prop, b[prop]);
16
- }
17
- return a;
18
- };
19
- var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
- import React, { useEffect, useRef, useState } from "react";
21
- import { isMini } from "@bifrostui/utils";
22
- import clsx from "clsx";
23
- import { ScrollView } from "../ScrollView";
24
- import handleScroll from "./utils/scrollUtil";
25
- const DesktopTimePickerList = /* @__PURE__ */ React.forwardRef((props, ref) => {
26
- const {
27
- timeValue,
28
- type,
29
- dataList,
30
- selectedValue,
31
- prefixCls,
32
- handleClick,
33
- timeRender
34
- } = props;
35
- const ulRef = useRef(null);
36
- const [scrollTop, setScrollTop] = useState(0);
37
- useEffect(() => {
38
- if (!ulRef.current)
39
- return;
40
- const elementName = `.${prefixCls}-${type}-active`;
41
- if (!isMini) {
42
- handleScroll(elementName, setScrollTop);
43
- } else {
44
- const index = dataList.findIndex((item) => item.value === selectedValue);
45
- if (index === -1)
46
- return;
47
- handleScroll(elementName, setScrollTop, index);
48
- }
49
- }, [timeValue]);
50
- return /* @__PURE__ */ React.createElement(
51
- ScrollView,
52
- {
53
- scrollY: true,
54
- scrollWithAnimation: true,
55
- className: clsx(`${prefixCls}-${type}-ul`),
56
- key: type,
57
- scrollTop,
58
- scrollAnimationDuration: 300,
59
- ref: ulRef
60
- },
61
- dataList.map((item, index) => {
62
- const { value, label, disabled } = item;
63
- return /* @__PURE__ */ React.createElement(
64
- "div",
65
- {
66
- key: index,
67
- className: clsx(`${prefixCls}-${type}-li`, {
68
- [`${prefixCls}-${type}-active`]: value === selectedValue,
69
- [`${prefixCls}-${type}-disabled`]: disabled
70
- }),
71
- onClick: (e) => {
72
- handleClick(e, disabled, item);
73
- }
74
- },
75
- (timeRender == null ? void 0 : timeRender(__spreadProps(__spreadValues({}, item), { disabled }))) || label
76
- );
77
- })
78
- );
79
- });
80
- DesktopTimePickerList.displayName = "BuiDesktopTimePickerList";
81
- var DesktopTimePickerList_default = DesktopTimePickerList;
82
- export {
83
- DesktopTimePickerList_default as default
84
- };
@@ -1,170 +0,0 @@
1
- :root,
2
- page,
3
- xhs-page {
4
- --bui-d-time-picker-height: var(--bui-input-height, 32px);
5
- --bui-d-time-picker-min-width: var(--bui-input-min-width, 100px);
6
- --bui-d-time-picker-font-size: var(--bui-title-size-3, 16px);
7
- --bui-d-time-picker-icon-size: var(--bui-title-size-3, 16px);
8
- --bui-d-time-picker-container-padding: var(--bui-spacing-md, 9px);
9
- --bui-d-time-picker-bg: var(--bui-color-bg-view);
10
- --bui-d-time-picker-font-family: var(--bui-font-family);
11
- --bui-d-time-picker-border: 1px solid var(--bui-color-border-default);
12
- --bui-d-time-picker-border-invalid: 1px solid var(--bui-color-danger);
13
- --bui-d-time-picker-shadow: 0 0 0 2px var(--bui-color-bg-default);
14
- --bui-d-time-picker-disabled-color: var(--bui-color-fg-subtle);
15
- --bui-d-time-picker-container-main-radius: 3px;
16
- --bui-d-time-picker-container-li-padding: 8px;
17
- --bui-d-time-picker-container-li-height: 24px;
18
- --bui-d-time-picker-container-li-line-height: 24px;
19
- --bui-d-time-picker-container-li-width: 24px;
20
- --bui-d-time-picker-container-li-radius: var(--bui-shape-radius-default, 6px);
21
- --bui-d-time-picker-container-li-font-size: var(--bui-title-size-4);
22
- --bui-d-time-picker-container-li-color: var(--bui-color-fg-default);
23
- --bui-d-time-picker-container-li-color-active: var(--bui-color-fg-default);
24
- --bui-d-time-picker-container-li-bg-active: #ffc7da;
25
- }
26
- .bui-d-time-picker {
27
- position: relative;
28
- cursor: pointer;
29
- vertical-align: middle;
30
- height: var(--bui-d-time-picker-height);
31
- min-width: var(--bui-d-time-picker-min-width);
32
- font-size: var(--bui-d-time-picker-font-size);
33
- border-radius: 5px;
34
- background-color: var(--bui-d-time-picker-bg);
35
- font-family: var(--bui-d-time-picker-font-family);
36
- border: var(--bui-d-time-picker-border);
37
- }
38
- .bui-d-time-picker:active,
39
- .bui-d-time-picker-active {
40
- box-shadow: var(--bui-d-time-picker-shadow);
41
- }
42
- .bui-d-time-picker-invalid {
43
- border: var(--bui-d-time-picker-border-invalid);
44
- }
45
- .bui-d-time-picker-icon {
46
- display: flex;
47
- align-items: center;
48
- font-size: var(--bui-d-time-picker-icon-size);
49
- }
50
- .bui-d-time-picker-container {
51
- display: flex;
52
- align-items: center;
53
- padding: 0 var(--bui-d-time-picker-container-padding);
54
- height: 100%;
55
- }
56
- .bui-d-time-picker-placeholder {
57
- color: var(--bui-color-fg-disabled);
58
- }
59
- .bui-d-time-picker-content {
60
- display: flex;
61
- justify-content: space-between;
62
- align-items: center;
63
- flex: 1;
64
- height: 100%;
65
- background-color: transparent;
66
- outline: none;
67
- border: 0;
68
- }
69
- .bui-d-time-picker-container-top {
70
- bottom: 100%;
71
- margin-bottom: 6px;
72
- }
73
- .bui-d-time-picker-container-bottom {
74
- top: 100%;
75
- margin-top: 6px;
76
- }
77
- .bui-d-time-picker-main {
78
- border-radius: var(--bui-d-time-picker-container-main-radius);
79
- padding: 3px 0;
80
- height: 308px;
81
- overflow: hidden;
82
- }
83
- .bui-d-time-picker-table {
84
- height: 100%;
85
- overflow: hidden;
86
- display: flex;
87
- }
88
- .bui-d-time-picker-hour-ul,
89
- .bui-d-time-picker-minute-ul,
90
- .bui-d-time-picker-second-ul,
91
- .bui-d-time-picker-meridiem-ul {
92
- padding: 0;
93
- border-radius: 0;
94
- text-align: center;
95
- border: none;
96
- border-right: 1px solid var(--bui-color-border-default);
97
- overflow-y: auto;
98
- list-style: none;
99
- scrollbar-width: thin;
100
- scrollbar-color: #888 transparent;
101
- }
102
- .bui-d-time-picker-hour-li,
103
- .bui-d-time-picker-minute-li,
104
- .bui-d-time-picker-second-li,
105
- .bui-d-time-picker-meridiem-li {
106
- box-sizing: content-box;
107
- width: var(--bui-d-time-picker-container-li-width);
108
- height: var(--bui-d-time-picker-container-li-height);
109
- line-height: var(--bui-d-time-picker-container-li-line-height);
110
- padding: var(--bui-d-time-picker-container-li-padding);
111
- margin: 0 4px;
112
- border-radius: var(--bui-d-time-picker-container-li-radius);
113
- font-size: var(--bui-d-time-picker-container-li-font-size);
114
- font-family: var(--bui-d-time-picker-lay-font-family);
115
- color: var(--bui-d-time-picker-container-li-color);
116
- font-weight: var(--bui-font-weight-medium);
117
- cursor: pointer;
118
- }
119
- .bui-d-time-picker-hour:last-child,
120
- .bui-d-time-picker-minute:last-child,
121
- .bui-d-time-picker-second:last-child,
122
- .bui-d-time-picker-meridiem:last-child {
123
- border-right: none;
124
- }
125
- .bui-d-time-picker-hour-li:hover,
126
- .bui-d-time-picker-minute-li:hover,
127
- .bui-d-time-picker-second-li:hover,
128
- .bui-d-time-picker-meridiem-li:hover {
129
- background-color: var(--bui-color-bg-default);
130
- }
131
- .bui-d-time-picker-hour-active,
132
- .bui-d-time-picker-minute-active,
133
- .bui-d-time-picker-second-active,
134
- .bui-d-time-picker-meridiem-active {
135
- color: var(--bui-d-time-picker-container-li-color-active);
136
- background-color: var(--bui-d-time-picker-container-li-bg-active);
137
- }
138
- .bui-d-time-picker-hour-disabled,
139
- .bui-d-time-picker-minute-disabled,
140
- .bui-d-time-picker-second-disabled,
141
- .bui-d-time-picker-meridiem-disabled {
142
- opacity: 0.38;
143
- }
144
- .bui-d-time-picker-hour .bui-d-time-picker-hour-disabled:hover,
145
- .bui-d-time-picker-hour .bui-d-time-picker-minute-disabled:hover,
146
- .bui-d-time-picker-hour .bui-d-time-picker-second-disabled:hover,
147
- .bui-d-time-picker-hour .bui-d-time-picker-meridiem-disabled:hover,
148
- .bui-d-time-picker-minute .bui-d-time-picker-hour-disabled:hover,
149
- .bui-d-time-picker-minute .bui-d-time-picker-minute-disabled:hover,
150
- .bui-d-time-picker-minute .bui-d-time-picker-second-disabled:hover,
151
- .bui-d-time-picker-minute .bui-d-time-picker-meridiem-disabled:hover,
152
- .bui-d-time-picker-second .bui-d-time-picker-hour-disabled:hover,
153
- .bui-d-time-picker-second .bui-d-time-picker-minute-disabled:hover,
154
- .bui-d-time-picker-second .bui-d-time-picker-second-disabled:hover,
155
- .bui-d-time-picker-second .bui-d-time-picker-meridiem-disabled:hover,
156
- .bui-d-time-picker-meridiem .bui-d-time-picker-hour-disabled:hover,
157
- .bui-d-time-picker-meridiem .bui-d-time-picker-minute-disabled:hover,
158
- .bui-d-time-picker-meridiem .bui-d-time-picker-second-disabled:hover,
159
- .bui-d-time-picker-meridiem .bui-d-time-picker-meridiem-disabled:hover {
160
- opacity: 0.38;
161
- cursor: default;
162
- }
163
- .bui-d-time-picker.bui-d-time-picker-disabled {
164
- pointer-events: none;
165
- box-shadow: none;
166
- background-color: rgba(188, 188, 188, 0.2);
167
- }
168
- .bui-d-time-picker.bui-d-time-picker-disabled input {
169
- color: var(--bui-d-time-picker-disabled-color);
170
- }
@@ -1,2 +0,0 @@
1
- export { default as DesktopTimePicker, default } from './DesktopTimePicker';
2
- export * from './DesktopTimePicker.types';