@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,316 +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 { CaretLeftIcon, CaretRightIcon } from "@bifrostui/icons";
33
- import clsx from "clsx";
34
- import dayjs from "dayjs";
35
- import React, { useMemo } from "react";
36
- import Calendar from "../Calendar";
37
- import "./deskTopPickerContainer.css";
38
- import { useLocaleText } from "../locales";
39
- const prefixCls = "bui-d-date-picker-lay";
40
- const useGetDatePickerContent = (props) => {
41
- const yPatterns = ["YYYY", "YY"];
42
- const mPatterns = ["MM", "M", "MMM", "MMMM"];
43
- const dPatterns = ["D", "DD"];
44
- const { month: monthMap } = useLocaleText("desktopDatePicker");
45
- const _a = props, {
46
- format,
47
- minDate,
48
- maxDate,
49
- picker,
50
- setIsOpen,
51
- disabledDate,
52
- calendarValue,
53
- setSelectType,
54
- selectType,
55
- headerBarLeftIcon,
56
- headerBarRightIcon,
57
- closeOnSelect,
58
- monthRender,
59
- yearRender,
60
- onMonthChange,
61
- onYearChange,
62
- triggerChange,
63
- CalendarProps
64
- } = _a, others = __objRest(_a, [
65
- "format",
66
- "minDate",
67
- "maxDate",
68
- "picker",
69
- "setIsOpen",
70
- "disabledDate",
71
- "calendarValue",
72
- "setSelectType",
73
- "selectType",
74
- "headerBarLeftIcon",
75
- "headerBarRightIcon",
76
- "closeOnSelect",
77
- "monthRender",
78
- "yearRender",
79
- "onMonthChange",
80
- "onYearChange",
81
- "triggerChange",
82
- "CalendarProps"
83
- ]);
84
- const isMinMonth = dayjs(minDate).isSame(calendarValue, "month");
85
- const isMaxMonth = dayjs(maxDate).isSame(calendarValue, "month");
86
- const yearList = useMemo(() => {
87
- const maxYear = dayjs(maxDate).year();
88
- const minYear = dayjs(minDate).year();
89
- const years = [];
90
- for (let i = minYear; i <= maxYear; i += 1) {
91
- years.push(i);
92
- }
93
- const chunkedYears = [];
94
- for (let i = 0; i < years.length; i += 3) {
95
- chunkedYears.push(years.slice(i, i + 3));
96
- }
97
- return chunkedYears;
98
- }, [maxDate, minDate]);
99
- const mouthList = [
100
- [1, 2, 3],
101
- [4, 5, 6],
102
- [7, 8, 9],
103
- [10, 11, 12]
104
- ];
105
- const validateAndAdjustDate = (value) => {
106
- const dateValue = dayjs(value);
107
- const minValue = dayjs(minDate);
108
- const maxValue = dayjs(maxDate);
109
- if (dateValue.isBefore(minValue)) {
110
- return minValue;
111
- }
112
- if (dateValue.isAfter(maxValue)) {
113
- return maxValue;
114
- }
115
- return dateValue;
116
- };
117
- const onClickPrev = (e) => {
118
- e.stopPropagation();
119
- if (!isMinMonth) {
120
- const month = dayjs(calendarValue).subtract(1, "month").toDate();
121
- triggerChange(e, validateAndAdjustDate(month).toDate());
122
- }
123
- };
124
- const onClickNext = (e) => {
125
- e.stopPropagation();
126
- if (!isMaxMonth) {
127
- const month = dayjs(calendarValue).add(1, "month").toDate();
128
- triggerChange(e, validateAndAdjustDate(month).toDate());
129
- }
130
- };
131
- const calendarChange = (e, data) => {
132
- e.stopPropagation();
133
- if (data.value) {
134
- const ymd = dayjs(data.value);
135
- const hms = dayjs(calendarValue || /* @__PURE__ */ new Date());
136
- const newValue = ymd.hour(hms.hour()).minute(hms.minute()).second(hms.second());
137
- triggerChange(e, validateAndAdjustDate(newValue).toDate());
138
- }
139
- if (closeOnSelect) {
140
- setIsOpen(false);
141
- }
142
- };
143
- const handleTdClick = (e, data) => {
144
- e.stopPropagation();
145
- if (selectType === "year") {
146
- triggerChange(
147
- e,
148
- validateAndAdjustDate(
149
- dayjs(calendarValue || /* @__PURE__ */ new Date()).year(data)
150
- ).toDate()
151
- );
152
- onYearChange == null ? void 0 : onYearChange(
153
- e,
154
- validateAndAdjustDate(
155
- dayjs(calendarValue || /* @__PURE__ */ new Date()).year(data)
156
- ).toDate()
157
- );
158
- if (picker === "year" && closeOnSelect) {
159
- setIsOpen(false);
160
- return;
161
- }
162
- setSelectType("month");
163
- }
164
- if (selectType === "month") {
165
- triggerChange(
166
- e,
167
- validateAndAdjustDate(
168
- dayjs(calendarValue || /* @__PURE__ */ new Date()).month(data - 1)
169
- ).toDate()
170
- );
171
- onMonthChange == null ? void 0 : onMonthChange(
172
- e,
173
- validateAndAdjustDate(
174
- dayjs(calendarValue || /* @__PURE__ */ new Date()).month(data - 1)
175
- ).toDate()
176
- );
177
- if (picker === "day") {
178
- setSelectType("day");
179
- return;
180
- }
181
- if (closeOnSelect) {
182
- setIsOpen(false);
183
- }
184
- }
185
- };
186
- const renderTd = (its, currentData) => {
187
- if (yearRender && selectType === "year") {
188
- return /* @__PURE__ */ React.createElement("div", { className: clsx(`${prefixCls}-col-content`) }, yearRender({ year: its, currentData }));
189
- }
190
- if (monthRender && selectType === "month") {
191
- return /* @__PURE__ */ React.createElement("div", { className: clsx(`${prefixCls}-col-content`) }, monthRender({ month: its, currentData }));
192
- }
193
- return /* @__PURE__ */ React.createElement("div", { className: clsx(`${prefixCls}-col-content`) }, /* @__PURE__ */ React.createElement("span", { className: clsx(`${prefixCls}-col-text`) }, selectType === "month" ? monthMap[its] : its));
194
- };
195
- const renderTable = () => {
196
- const dataList = selectType === "year" ? yearList : mouthList;
197
- return dataList.map((item, index) => {
198
- return /* @__PURE__ */ React.createElement("div", { key: index + 1, className: clsx(`${prefixCls}-row`) }, item.map((its, idx) => {
199
- let disabledClick = false;
200
- if (selectType === "year") {
201
- const currentData = dayjs(calendarValue).set("year", its);
202
- if (its < dayjs(minDate).year() || its > dayjs(maxDate).year() || (disabledDate == null ? void 0 : disabledDate(currentData.toDate()))) {
203
- disabledClick = true;
204
- }
205
- }
206
- if (selectType === "month") {
207
- const currentData = dayjs(calendarValue).set("month", its - 1);
208
- disabledClick = currentData.isBefore(minDate, "month") || currentData.isAfter(maxDate, "month");
209
- if (disabledDate) {
210
- disabledClick = disabledDate == null ? void 0 : disabledDate(currentData.toDate());
211
- }
212
- }
213
- return /* @__PURE__ */ React.createElement(
214
- "div",
215
- {
216
- key: idx + 1,
217
- className: clsx(`${prefixCls}-col`, {
218
- [`${prefixCls}-col-active`]: (selectType === "year" ? dayjs(calendarValue).year() : dayjs(calendarValue).month() + 1) === its && !disabledClick,
219
- [`${prefixCls}-col-disabled`]: disabledClick
220
- }),
221
- onClick: (e) => {
222
- if (!disabledClick) {
223
- handleTdClick(e, its);
224
- }
225
- }
226
- },
227
- renderTd(its, calendarValue)
228
- );
229
- }));
230
- });
231
- };
232
- const handleClickTitle = (e, data) => {
233
- e.stopPropagation();
234
- if (yPatterns.indexOf(data) > -1) {
235
- setSelectType("year");
236
- }
237
- if (mPatterns.indexOf(data) > -1) {
238
- setSelectType("month");
239
- }
240
- if (dPatterns.indexOf(data) > -1) {
241
- setSelectType("day");
242
- }
243
- };
244
- const renderTitle = (formate, value) => {
245
- const allType = [...yPatterns, ...mPatterns, ...dPatterns];
246
- const formattingTokens = /(\[[^[]*\])|([-_?:/.,()\s{0-9}]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g;
247
- const matchArr = formate.match(formattingTokens);
248
- const domArr = [];
249
- let str = "";
250
- for (let i = 0; i <= matchArr.length; i += 1) {
251
- if (allType.indexOf(matchArr[i]) > -1) {
252
- if (str !== "") {
253
- domArr.push(str);
254
- str = "";
255
- }
256
- domArr.push(
257
- /* @__PURE__ */ React.createElement(
258
- "div",
259
- {
260
- className: clsx(`${prefixCls}-title-text`),
261
- key: i,
262
- onClick: (e) => handleClickTitle(e, matchArr[i])
263
- },
264
- dayjs(value).format(matchArr[i])
265
- )
266
- );
267
- } else {
268
- str = `${matchArr[i]}${str}`;
269
- }
270
- }
271
- return domArr;
272
- };
273
- const desktopDatePicker = () => {
274
- return /* @__PURE__ */ React.createElement(
275
- "div",
276
- __spreadProps(__spreadValues({
277
- className: clsx(`${prefixCls}-main`)
278
- }, others), {
279
- onClick: (e) => {
280
- e.stopPropagation();
281
- }
282
- }),
283
- /* @__PURE__ */ React.createElement("div", { className: `${prefixCls}-handler` }, selectType !== "year" && /* @__PURE__ */ React.createElement("div", { onClick: onClickPrev, className: `${prefixCls}-handler-btn` }, headerBarLeftIcon ? headerBarLeftIcon({ isMinMonth }) : /* @__PURE__ */ React.createElement(
284
- CaretLeftIcon,
285
- {
286
- className: `${prefixCls}-handler-icon`,
287
- htmlColor: isMinMonth && "var(--bui-color-white)"
288
- }
289
- )), /* @__PURE__ */ React.createElement("div", { className: `${prefixCls}-title` }, calendarValue ? renderTitle(format, calendarValue) : format), selectType !== "year" && /* @__PURE__ */ React.createElement("div", { onClick: onClickNext, className: `${prefixCls}-handler-btn` }, headerBarRightIcon ? headerBarRightIcon({ isMaxMonth }) : /* @__PURE__ */ React.createElement(
290
- CaretRightIcon,
291
- {
292
- className: `${prefixCls}-handler-icon`,
293
- htmlColor: isMaxMonth && "var(--bui-color-white)"
294
- }
295
- ))),
296
- selectType === "day" ? /* @__PURE__ */ React.createElement(
297
- Calendar,
298
- __spreadValues({
299
- headerVisible: true,
300
- minDate,
301
- maxDate,
302
- disabledDate,
303
- value: calendarValue,
304
- onChange: calendarChange
305
- }, CalendarProps)
306
- ) : /* @__PURE__ */ React.createElement("div", { className: clsx(`${prefixCls}-list`) }, /* @__PURE__ */ React.createElement("div", { className: clsx(`${prefixCls}-box`) }, renderTable()))
307
- );
308
- };
309
- return {
310
- desktopDatePicker
311
- };
312
- };
313
- var useGetDatePickerContent_default = useGetDatePickerContent;
314
- export {
315
- useGetDatePickerContent_default as default
316
- };
@@ -1,5 +0,0 @@
1
- import React from 'react';
2
- import { DateTimePickerProps } from './DesktopDateTimePicker.types';
3
- import './index.less';
4
- declare const DesktopDateTimePicker: React.ForwardRefExoticComponent<Omit<DateTimePickerProps<"div", {}>, "ref"> & React.RefAttributes<HTMLDivElement>>;
5
- export default DesktopDateTimePicker;
@@ -1,295 +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 { DateOutlinedIcon } from "@bifrostui/icons";
33
- import dayjs from "dayjs";
34
- import clsx from "clsx";
35
- import React, { useMemo, useState, useEffect } from "react";
36
- import { useValue } from "@bifrostui/utils";
37
- import DesktopPicker from "../DesktopPicker";
38
- import useGetDatePickerContent from "../DesktopDatePicker/useGetDatePickerContent";
39
- import useGetTimePickerContent from "../DesktopTimePicker/useGetTimePickerContent";
40
- import "./index.css";
41
- const prefixCls = "bui-datetime-picker";
42
- const DesktopDateTimePicker = /* @__PURE__ */ React.forwardRef((props, ref) => {
43
- const _a = props, {
44
- className,
45
- inputRef,
46
- inputProps,
47
- value,
48
- defaultValue,
49
- disabled = false,
50
- disableOpenPicker = false,
51
- placeholder,
52
- format = "YYYY/MM/DD HH:mm:ss",
53
- open,
54
- disabledDate,
55
- views = ["year", "month", "day", "hour", "minute", "second"],
56
- minDate = dayjs(dayjs().format("YYYYMMDD")).subtract(10, "year").toDate(),
57
- maxDate = dayjs(dayjs().format("YYYYMMDD")).add(10, "year").toDate(),
58
- icon,
59
- headerBarLeftIcon,
60
- headerBarRightIcon,
61
- closeOnSelect = true,
62
- onChange,
63
- onClose,
64
- onOpen,
65
- monthRender,
66
- yearRender,
67
- onMonthChange,
68
- onYearChange,
69
- DesktopPickerProps,
70
- CalendarProps
71
- } = _a, others = __objRest(_a, [
72
- "className",
73
- "inputRef",
74
- "inputProps",
75
- "value",
76
- "defaultValue",
77
- "disabled",
78
- "disableOpenPicker",
79
- "placeholder",
80
- "format",
81
- "open",
82
- "disabledDate",
83
- "views",
84
- "minDate",
85
- "maxDate",
86
- "icon",
87
- "headerBarLeftIcon",
88
- "headerBarRightIcon",
89
- "closeOnSelect",
90
- "onChange",
91
- "onClose",
92
- "onOpen",
93
- "monthRender",
94
- "yearRender",
95
- "onMonthChange",
96
- "onYearChange",
97
- "DesktopPickerProps",
98
- "CalendarProps"
99
- ]);
100
- const [isOpen, setIsOpen] = useState(open);
101
- const [isInvalid, setIsInvalid] = useState(false);
102
- const getPicker = useMemo(() => {
103
- if (views.includes("day")) {
104
- return "day";
105
- }
106
- if (views.includes("month")) {
107
- return "month";
108
- }
109
- if (views.includes("year")) {
110
- return "year";
111
- }
112
- return "day";
113
- }, [views]);
114
- const [selectType, setSelectType] = useState(
115
- getPicker
116
- );
117
- const [inputStr, setInputStr] = useState("");
118
- const [useUserStr, setUseUserStr] = useState(false);
119
- const [calendarValue, triggerChange] = useValue({
120
- value,
121
- defaultValue,
122
- onChange
123
- });
124
- const handleDatePickerIconClick = (e) => {
125
- if (disabled || disableOpenPicker || open !== void 0)
126
- return;
127
- setIsOpen(!isOpen);
128
- };
129
- const handleDatePickerInputClick = (e) => {
130
- e.stopPropagation();
131
- if (inputProps == null ? void 0 : inputProps.readOnly) {
132
- if (disabled || disableOpenPicker || open !== void 0)
133
- return;
134
- setIsOpen(!isOpen);
135
- return;
136
- }
137
- setIsOpen(false);
138
- };
139
- const { desktopDatePicker } = useGetDatePickerContent({
140
- format,
141
- minDate,
142
- maxDate,
143
- setIsOpen,
144
- triggerChange,
145
- disabledDate,
146
- calendarValue,
147
- setSelectType,
148
- picker: getPicker,
149
- selectType,
150
- headerBarLeftIcon,
151
- headerBarRightIcon,
152
- CalendarProps,
153
- onClose,
154
- monthRender,
155
- yearRender,
156
- onMonthChange,
157
- onYearChange,
158
- closeOnSelect: false,
159
- style: {
160
- borderRadius: "3px 0px 0px 3px"
161
- }
162
- });
163
- const { desktopTimePanel } = useGetTimePickerContent({
164
- views: views.filter(
165
- (item) => item !== "day" && item !== "month" && item !== "year"
166
- ),
167
- minTime: dayjs(minDate),
168
- maxTime: dayjs(maxDate),
169
- setIsOpen,
170
- triggerChange,
171
- closeOnSelect,
172
- timeValue: dayjs(calendarValue),
173
- setIsInvalid
174
- });
175
- const onInputChange = (e) => {
176
- e.stopPropagation();
177
- const newValue = e.target.value;
178
- if (newValue.length === 0) {
179
- setInputStr("");
180
- setUseUserStr(true);
181
- triggerChange(e, null);
182
- return;
183
- }
184
- if (dayjs(newValue, format, true).isValid()) {
185
- setInputStr("");
186
- setUseUserStr(false);
187
- if (disabledDate == null ? void 0 : disabledDate(dayjs(newValue).toDate())) {
188
- return;
189
- }
190
- if (dayjs(newValue).isAfter(maxDate)) {
191
- triggerChange(e, maxDate);
192
- return;
193
- }
194
- if (dayjs(newValue).isBefore(minDate)) {
195
- triggerChange(e, minDate);
196
- return;
197
- }
198
- triggerChange(e, dayjs(e.target.value).toDate());
199
- } else {
200
- setUseUserStr(true);
201
- setInputStr(e.target.value);
202
- }
203
- };
204
- const onmount = () => {
205
- onOpen == null ? void 0 : onOpen();
206
- };
207
- const unMounted = () => {
208
- onClose == null ? void 0 : onClose();
209
- setSelectType(getPicker);
210
- };
211
- const showPlaceholder = useMemo(() => {
212
- if (placeholder) {
213
- return placeholder;
214
- }
215
- return format;
216
- }, [placeholder, format]);
217
- const renderValue = useMemo(() => {
218
- if (useUserStr) {
219
- return inputStr;
220
- }
221
- if (calendarValue) {
222
- return dayjs(calendarValue).format(format);
223
- }
224
- return "";
225
- }, [calendarValue, inputStr, useUserStr, format]);
226
- useEffect(() => {
227
- setUseUserStr(false);
228
- }, [calendarValue]);
229
- return /* @__PURE__ */ React.createElement(
230
- "div",
231
- __spreadProps(__spreadValues({}, others), {
232
- className: clsx(prefixCls, className, {
233
- [`${prefixCls}-disabled`]: disabled,
234
- [`${prefixCls}-active`]: isOpen,
235
- [`${prefixCls}-invalid`]: isInvalid
236
- }),
237
- ref
238
- }),
239
- /* @__PURE__ */ React.createElement(
240
- DesktopPicker,
241
- __spreadProps(__spreadValues({
242
- open: open != null ? open : isOpen,
243
- miniBackdropInvisible: open !== void 0,
244
- onClose: (e, data) => {
245
- setIsOpen(data == null ? void 0 : data.value);
246
- },
247
- onMount: onmount,
248
- onUnmounted: unMounted,
249
- content: /* @__PURE__ */ React.createElement(
250
- "div",
251
- {
252
- className: `${prefixCls}-box`,
253
- onClick: (e) => {
254
- e.stopPropagation();
255
- }
256
- },
257
- desktopDatePicker(),
258
- desktopTimePanel()
259
- )
260
- }, DesktopPickerProps), {
261
- inheritWidth: false
262
- }),
263
- /* @__PURE__ */ React.createElement("div", { className: `${prefixCls}-container` }, /* @__PURE__ */ React.createElement(
264
- "input",
265
- __spreadProps(__spreadValues({}, inputProps), {
266
- "aria-invalid": true,
267
- autoComplete: "off",
268
- placeholder: showPlaceholder,
269
- type: "text",
270
- inputMode: "text",
271
- ref: inputRef,
272
- className: clsx(`${prefixCls}-input`, {
273
- [inputProps == null ? void 0 : inputProps.className]: inputProps == null ? void 0 : inputProps.className
274
- }),
275
- onBlur: () => setUseUserStr(false),
276
- onClick: handleDatePickerInputClick,
277
- onChange: onInputChange,
278
- value: renderValue
279
- })
280
- ), /* @__PURE__ */ React.createElement(
281
- "div",
282
- {
283
- onClick: handleDatePickerIconClick,
284
- className: `${prefixCls}-icon`
285
- },
286
- icon || /* @__PURE__ */ React.createElement(DateOutlinedIcon, { htmlColor: "var(--bui-color-neutral-3)" })
287
- ))
288
- )
289
- );
290
- });
291
- DesktopDateTimePicker.displayName = "BUIDesktopDateTimePicker";
292
- var DesktopDateTimePicker_default = DesktopDateTimePicker;
293
- export {
294
- DesktopDateTimePicker_default as default
295
- };