@bifrostui/react 1.4.7-beta.0 → 1.4.7

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 (199) hide show
  1. package/dist/Calendar/Calendar.js +1 -5
  2. package/dist/Calendar/Calendar.types.d.ts +0 -5
  3. package/dist/Collapse/Collapse.css +1 -0
  4. package/dist/Collapse/Collapse.d.ts +1 -1
  5. package/dist/Collapse/Collapse.js +8 -11
  6. package/dist/CollapsePanel/CollapsePanel.css +2 -4
  7. package/dist/Dialog/FunctionalDialog.js +1 -1
  8. package/dist/Modal/Modal.miniapp.d.ts +1 -1
  9. package/dist/Picker/Picker.css +0 -5
  10. package/dist/Picker/Picker.js +5 -27
  11. package/dist/Picker/Picker.types.d.ts +2 -15
  12. package/dist/Picker/PickerPanel.css +0 -4
  13. package/dist/Picker/PickerPanel.js +6 -7
  14. package/dist/Popover/Popover.js +27 -70
  15. package/dist/Portal/Portal.miniapp.js +4 -7
  16. package/dist/ScrollView/ScrollView.js +11 -24
  17. package/dist/ScrollView/ScrollView.types.d.ts +1 -0
  18. package/dist/Select/Select.css +4 -1
  19. package/dist/Select/Select.js +40 -63
  20. package/dist/Slider/Slider.js +5 -13
  21. package/dist/Tabs/Tab.js +4 -13
  22. package/dist/Tabs/Tabs.js +15 -30
  23. package/dist/Tabs/utils/bound.d.ts +1 -0
  24. package/dist/{DesktopPicker/utils/calcAfterMounted.js → Tabs/utils/bound.js} +14 -7
  25. package/dist/Toast/FunctionalToast.js +1 -1
  26. package/dist/Toast/Toast.css +1 -0
  27. package/dist/Tooltip/Tooltip.js +27 -70
  28. package/dist/index.d.ts +0 -6
  29. package/dist/index.js +1 -13
  30. package/dist/locales/base.d.ts +0 -11
  31. package/dist/locales/en-US.js +0 -24
  32. package/dist/locales/zh-CN.js +0 -24
  33. package/dist/locales/zh-TW.js +0 -24
  34. package/es/Calendar/Calendar.js +1 -5
  35. package/es/Calendar/Calendar.types.d.ts +0 -5
  36. package/es/Collapse/Collapse.css +1 -0
  37. package/es/Collapse/Collapse.d.ts +1 -1
  38. package/es/Collapse/Collapse.js +8 -11
  39. package/es/CollapsePanel/CollapsePanel.css +2 -4
  40. package/es/Dialog/FunctionalDialog.js +2 -2
  41. package/es/Picker/Picker.css +0 -5
  42. package/es/Picker/Picker.js +5 -27
  43. package/es/Picker/Picker.types.d.ts +2 -15
  44. package/es/Picker/PickerPanel.css +0 -4
  45. package/es/Picker/PickerPanel.js +6 -7
  46. package/es/Popover/Popover.js +29 -73
  47. package/es/Portal/Portal.miniapp.js +5 -8
  48. package/es/ScrollView/ScrollView.js +11 -24
  49. package/es/ScrollView/ScrollView.types.d.ts +1 -0
  50. package/es/Select/Select.css +4 -1
  51. package/es/Select/Select.js +41 -63
  52. package/es/Slider/Slider.js +6 -16
  53. package/es/Tabs/Tab.js +4 -13
  54. package/es/Tabs/Tabs.js +15 -30
  55. package/es/Tabs/utils/bound.d.ts +1 -0
  56. package/es/Tabs/utils/bound.js +13 -0
  57. package/es/Toast/FunctionalToast.js +2 -2
  58. package/es/Toast/Toast.css +1 -0
  59. package/es/Tooltip/Tooltip.js +29 -73
  60. package/es/index.d.ts +0 -6
  61. package/es/index.js +0 -6
  62. package/es/locales/base.d.ts +0 -11
  63. package/es/locales/en-US.js +0 -24
  64. package/es/locales/zh-CN.js +0 -24
  65. package/es/locales/zh-TW.js +0 -24
  66. package/package.json +5 -5
  67. package/dist/Collapse/Collapse.miniapp.d.ts +0 -5
  68. package/dist/Collapse/Collapse.miniapp.js +0 -177
  69. package/dist/DatePicker/DatePicker.d.ts +0 -4
  70. package/dist/DatePicker/DatePicker.js +0 -335
  71. package/dist/DatePicker/DatePicker.types.d.ts +0 -43
  72. package/dist/DatePicker/DatePicker.types.js +0 -35
  73. package/dist/DatePicker/index.d.ts +0 -2
  74. package/dist/DatePicker/index.js +0 -41
  75. package/dist/DesktopDatePicker/DesktopDatePicker.d.ts +0 -5
  76. package/dist/DesktopDatePicker/DesktopDatePicker.js +0 -280
  77. package/dist/DesktopDatePicker/DesktopDatePicker.types.d.ts +0 -163
  78. package/dist/DesktopDatePicker/DesktopDatePicker.types.js +0 -15
  79. package/dist/DesktopDatePicker/deskTopPickerContainer.css +0 -100
  80. package/dist/DesktopDatePicker/index.css +0 -61
  81. package/dist/DesktopDatePicker/index.d.ts +0 -2
  82. package/dist/DesktopDatePicker/index.js +0 -41
  83. package/dist/DesktopDatePicker/useGetDatePickerContent.d.ts +0 -6
  84. package/dist/DesktopDatePicker/useGetDatePickerContent.js +0 -343
  85. package/dist/DesktopDateTimePicker/DesktopDateTimePicker.d.ts +0 -5
  86. package/dist/DesktopDateTimePicker/DesktopDateTimePicker.js +0 -322
  87. package/dist/DesktopDateTimePicker/DesktopDateTimePicker.types.d.ts +0 -163
  88. package/dist/DesktopDateTimePicker/DesktopDateTimePicker.types.js +0 -15
  89. package/dist/DesktopDateTimePicker/index.css +0 -66
  90. package/dist/DesktopDateTimePicker/index.d.ts +0 -2
  91. package/dist/DesktopDateTimePicker/index.js +0 -41
  92. package/dist/DesktopPicker/DesktopPicker.d.ts +0 -5
  93. package/dist/DesktopPicker/DesktopPicker.js +0 -238
  94. package/dist/DesktopPicker/DesktopPicker.types.d.ts +0 -57
  95. package/dist/DesktopPicker/DesktopPicker.types.js +0 -15
  96. package/dist/DesktopPicker/index.css +0 -37
  97. package/dist/DesktopPicker/index.d.ts +0 -2
  98. package/dist/DesktopPicker/index.js +0 -41
  99. package/dist/DesktopPicker/utils/calcAfterMounted.d.ts +0 -2
  100. package/dist/DesktopPicker/utils/calcAfterMounted.miniapp.d.ts +0 -2
  101. package/dist/DesktopPicker/utils/calcAfterMounted.miniapp.js +0 -38
  102. package/dist/DesktopTimePicker/DesktopTimePicker.d.ts +0 -5
  103. package/dist/DesktopTimePicker/DesktopTimePicker.js +0 -288
  104. package/dist/DesktopTimePicker/DesktopTimePicker.types.d.ts +0 -182
  105. package/dist/DesktopTimePicker/DesktopTimePicker.types.js +0 -15
  106. package/dist/DesktopTimePicker/DesktopTimePickerList.d.ts +0 -4
  107. package/dist/DesktopTimePicker/DesktopTimePickerList.js +0 -111
  108. package/dist/DesktopTimePicker/index.css +0 -170
  109. package/dist/DesktopTimePicker/index.d.ts +0 -2
  110. package/dist/DesktopTimePicker/index.js +0 -41
  111. package/dist/DesktopTimePicker/useGetTimePickerContent.d.ts +0 -6
  112. package/dist/DesktopTimePicker/useGetTimePickerContent.js +0 -246
  113. package/dist/DesktopTimePicker/utils/scrollUtil.d.ts +0 -2
  114. package/dist/DesktopTimePicker/utils/scrollUtil.js +0 -27
  115. package/dist/DesktopTimePicker/utils/scrollUtil.miniapp.d.ts +0 -2
  116. package/dist/DesktopTimePicker/utils/scrollUtil.miniapp.js +0 -51
  117. package/dist/DesktopTimePicker/utils/utils.d.ts +0 -28
  118. package/dist/DesktopTimePicker/utils/utils.js +0 -408
  119. package/dist/SwipeAction/SwipeAction.css +0 -79
  120. package/dist/SwipeAction/SwipeAction.d.ts +0 -5
  121. package/dist/SwipeAction/SwipeAction.js +0 -349
  122. package/dist/SwipeAction/SwipeAction.types.d.ts +0 -83
  123. package/dist/SwipeAction/SwipeAction.types.js +0 -39
  124. package/dist/SwipeAction/SwipeActionContext.d.ts +0 -4
  125. package/dist/SwipeAction/SwipeActionContext.js +0 -30
  126. package/dist/SwipeAction/SwipeActionItem.css +0 -31
  127. package/dist/SwipeAction/SwipeActionItem.d.ts +0 -5
  128. package/dist/SwipeAction/SwipeActionItem.js +0 -105
  129. package/dist/SwipeAction/index.d.ts +0 -4
  130. package/dist/SwipeAction/index.js +0 -45
  131. package/dist/Tabs/utils/scroll.d.ts +0 -2
  132. package/dist/Tabs/utils/scroll.js +0 -55
  133. package/es/Collapse/Collapse.miniapp.d.ts +0 -5
  134. package/es/Collapse/Collapse.miniapp.js +0 -157
  135. package/es/DatePicker/DatePicker.d.ts +0 -4
  136. package/es/DatePicker/DatePicker.js +0 -310
  137. package/es/DatePicker/DatePicker.types.d.ts +0 -43
  138. package/es/DatePicker/DatePicker.types.js +0 -1
  139. package/es/DatePicker/index.d.ts +0 -2
  140. package/es/DatePicker/index.js +0 -6
  141. package/es/DesktopDatePicker/DesktopDatePicker.d.ts +0 -5
  142. package/es/DesktopDatePicker/DesktopDatePicker.js +0 -253
  143. package/es/DesktopDatePicker/DesktopDatePicker.types.d.ts +0 -163
  144. package/es/DesktopDatePicker/DesktopDatePicker.types.js +0 -1
  145. package/es/DesktopDatePicker/deskTopPickerContainer.css +0 -100
  146. package/es/DesktopDatePicker/index.css +0 -61
  147. package/es/DesktopDatePicker/index.d.ts +0 -2
  148. package/es/DesktopDatePicker/index.js +0 -6
  149. package/es/DesktopDatePicker/useGetDatePickerContent.d.ts +0 -6
  150. package/es/DesktopDatePicker/useGetDatePickerContent.js +0 -316
  151. package/es/DesktopDateTimePicker/DesktopDateTimePicker.d.ts +0 -5
  152. package/es/DesktopDateTimePicker/DesktopDateTimePicker.js +0 -295
  153. package/es/DesktopDateTimePicker/DesktopDateTimePicker.types.d.ts +0 -163
  154. package/es/DesktopDateTimePicker/DesktopDateTimePicker.types.js +0 -1
  155. package/es/DesktopDateTimePicker/index.css +0 -66
  156. package/es/DesktopDateTimePicker/index.d.ts +0 -2
  157. package/es/DesktopDateTimePicker/index.js +0 -9
  158. package/es/DesktopPicker/DesktopPicker.d.ts +0 -5
  159. package/es/DesktopPicker/DesktopPicker.js +0 -221
  160. package/es/DesktopPicker/DesktopPicker.types.d.ts +0 -57
  161. package/es/DesktopPicker/DesktopPicker.types.js +0 -1
  162. package/es/DesktopPicker/index.css +0 -37
  163. package/es/DesktopPicker/index.d.ts +0 -2
  164. package/es/DesktopPicker/index.js +0 -6
  165. package/es/DesktopPicker/utils/calcAfterMounted.d.ts +0 -2
  166. package/es/DesktopPicker/utils/calcAfterMounted.js +0 -6
  167. package/es/DesktopPicker/utils/calcAfterMounted.miniapp.d.ts +0 -2
  168. package/es/DesktopPicker/utils/calcAfterMounted.miniapp.js +0 -9
  169. package/es/DesktopTimePicker/DesktopTimePicker.d.ts +0 -5
  170. package/es/DesktopTimePicker/DesktopTimePicker.js +0 -261
  171. package/es/DesktopTimePicker/DesktopTimePicker.types.d.ts +0 -182
  172. package/es/DesktopTimePicker/DesktopTimePicker.types.js +0 -1
  173. package/es/DesktopTimePicker/DesktopTimePickerList.d.ts +0 -4
  174. package/es/DesktopTimePicker/DesktopTimePickerList.js +0 -84
  175. package/es/DesktopTimePicker/index.css +0 -170
  176. package/es/DesktopTimePicker/index.d.ts +0 -2
  177. package/es/DesktopTimePicker/index.js +0 -6
  178. package/es/DesktopTimePicker/useGetTimePickerContent.d.ts +0 -6
  179. package/es/DesktopTimePicker/useGetTimePickerContent.js +0 -223
  180. package/es/DesktopTimePicker/utils/scrollUtil.d.ts +0 -2
  181. package/es/DesktopTimePicker/utils/scrollUtil.js +0 -8
  182. package/es/DesktopTimePicker/utils/scrollUtil.miniapp.d.ts +0 -2
  183. package/es/DesktopTimePicker/utils/scrollUtil.miniapp.js +0 -22
  184. package/es/DesktopTimePicker/utils/utils.d.ts +0 -28
  185. package/es/DesktopTimePicker/utils/utils.js +0 -365
  186. package/es/SwipeAction/SwipeAction.css +0 -79
  187. package/es/SwipeAction/SwipeAction.d.ts +0 -5
  188. package/es/SwipeAction/SwipeAction.js +0 -337
  189. package/es/SwipeAction/SwipeAction.types.d.ts +0 -83
  190. package/es/SwipeAction/SwipeAction.types.js +0 -1
  191. package/es/SwipeAction/SwipeActionContext.d.ts +0 -4
  192. package/es/SwipeAction/SwipeActionContext.js +0 -11
  193. package/es/SwipeAction/SwipeActionItem.css +0 -31
  194. package/es/SwipeAction/SwipeActionItem.d.ts +0 -5
  195. package/es/SwipeAction/SwipeActionItem.js +0 -78
  196. package/es/SwipeAction/index.d.ts +0 -4
  197. package/es/SwipeAction/index.js +0 -9
  198. package/es/Tabs/utils/scroll.d.ts +0 -2
  199. package/es/Tabs/utils/scroll.js +0 -36
@@ -1,343 +0,0 @@
1
- var __create = Object.create;
2
- var __defProp = Object.defineProperty;
3
- var __defProps = Object.defineProperties;
4
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
6
- var __getOwnPropNames = Object.getOwnPropertyNames;
7
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
8
- var __getProtoOf = Object.getPrototypeOf;
9
- var __hasOwnProp = Object.prototype.hasOwnProperty;
10
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
11
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
12
- var __spreadValues = (a, b) => {
13
- for (var prop in b || (b = {}))
14
- if (__hasOwnProp.call(b, prop))
15
- __defNormalProp(a, prop, b[prop]);
16
- if (__getOwnPropSymbols)
17
- for (var prop of __getOwnPropSymbols(b)) {
18
- if (__propIsEnum.call(b, prop))
19
- __defNormalProp(a, prop, b[prop]);
20
- }
21
- return a;
22
- };
23
- var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
24
- var __objRest = (source, exclude) => {
25
- var target = {};
26
- for (var prop in source)
27
- if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
28
- target[prop] = source[prop];
29
- if (source != null && __getOwnPropSymbols)
30
- for (var prop of __getOwnPropSymbols(source)) {
31
- if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
32
- target[prop] = source[prop];
33
- }
34
- return target;
35
- };
36
- var __export = (target, all) => {
37
- for (var name in all)
38
- __defProp(target, name, { get: all[name], enumerable: true });
39
- };
40
- var __copyProps = (to, from, except, desc) => {
41
- if (from && typeof from === "object" || typeof from === "function") {
42
- for (let key of __getOwnPropNames(from))
43
- if (!__hasOwnProp.call(to, key) && key !== except)
44
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
45
- }
46
- return to;
47
- };
48
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
49
- // If the importer is in node compatibility mode or this is not an ESM
50
- // file that has been converted to a CommonJS file using a Babel-
51
- // compatible transform (i.e. "__esModule" has not been set), then set
52
- // "default" to the CommonJS "module.exports" for node compatibility.
53
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
54
- mod
55
- ));
56
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
57
- var useGetDatePickerContent_exports = {};
58
- __export(useGetDatePickerContent_exports, {
59
- default: () => useGetDatePickerContent_default
60
- });
61
- module.exports = __toCommonJS(useGetDatePickerContent_exports);
62
- var import_icons = require("@bifrostui/icons");
63
- var import_clsx = __toESM(require("clsx"));
64
- var import_dayjs = __toESM(require("dayjs"));
65
- var import_react = __toESM(require("react"));
66
- var import_Calendar = __toESM(require("../Calendar"));
67
- var import_deskTopPickerContainer = require("./deskTopPickerContainer.css");
68
- var import_locales = require("../locales");
69
- const prefixCls = "bui-d-date-picker-lay";
70
- const useGetDatePickerContent = (props) => {
71
- const yPatterns = ["YYYY", "YY"];
72
- const mPatterns = ["MM", "M", "MMM", "MMMM"];
73
- const dPatterns = ["D", "DD"];
74
- const { month: monthMap } = (0, import_locales.useLocaleText)("desktopDatePicker");
75
- const _a = props, {
76
- format,
77
- minDate,
78
- maxDate,
79
- picker,
80
- setIsOpen,
81
- disabledDate,
82
- calendarValue,
83
- setSelectType,
84
- selectType,
85
- headerBarLeftIcon,
86
- headerBarRightIcon,
87
- closeOnSelect,
88
- monthRender,
89
- yearRender,
90
- onMonthChange,
91
- onYearChange,
92
- triggerChange,
93
- CalendarProps
94
- } = _a, others = __objRest(_a, [
95
- "format",
96
- "minDate",
97
- "maxDate",
98
- "picker",
99
- "setIsOpen",
100
- "disabledDate",
101
- "calendarValue",
102
- "setSelectType",
103
- "selectType",
104
- "headerBarLeftIcon",
105
- "headerBarRightIcon",
106
- "closeOnSelect",
107
- "monthRender",
108
- "yearRender",
109
- "onMonthChange",
110
- "onYearChange",
111
- "triggerChange",
112
- "CalendarProps"
113
- ]);
114
- const isMinMonth = (0, import_dayjs.default)(minDate).isSame(calendarValue, "month");
115
- const isMaxMonth = (0, import_dayjs.default)(maxDate).isSame(calendarValue, "month");
116
- const yearList = (0, import_react.useMemo)(() => {
117
- const maxYear = (0, import_dayjs.default)(maxDate).year();
118
- const minYear = (0, import_dayjs.default)(minDate).year();
119
- const years = [];
120
- for (let i = minYear; i <= maxYear; i += 1) {
121
- years.push(i);
122
- }
123
- const chunkedYears = [];
124
- for (let i = 0; i < years.length; i += 3) {
125
- chunkedYears.push(years.slice(i, i + 3));
126
- }
127
- return chunkedYears;
128
- }, [maxDate, minDate]);
129
- const mouthList = [
130
- [1, 2, 3],
131
- [4, 5, 6],
132
- [7, 8, 9],
133
- [10, 11, 12]
134
- ];
135
- const validateAndAdjustDate = (value) => {
136
- const dateValue = (0, import_dayjs.default)(value);
137
- const minValue = (0, import_dayjs.default)(minDate);
138
- const maxValue = (0, import_dayjs.default)(maxDate);
139
- if (dateValue.isBefore(minValue)) {
140
- return minValue;
141
- }
142
- if (dateValue.isAfter(maxValue)) {
143
- return maxValue;
144
- }
145
- return dateValue;
146
- };
147
- const onClickPrev = (e) => {
148
- e.stopPropagation();
149
- if (!isMinMonth) {
150
- const month = (0, import_dayjs.default)(calendarValue).subtract(1, "month").toDate();
151
- triggerChange(e, validateAndAdjustDate(month).toDate());
152
- }
153
- };
154
- const onClickNext = (e) => {
155
- e.stopPropagation();
156
- if (!isMaxMonth) {
157
- const month = (0, import_dayjs.default)(calendarValue).add(1, "month").toDate();
158
- triggerChange(e, validateAndAdjustDate(month).toDate());
159
- }
160
- };
161
- const calendarChange = (e, data) => {
162
- e.stopPropagation();
163
- if (data.value) {
164
- const ymd = (0, import_dayjs.default)(data.value);
165
- const hms = (0, import_dayjs.default)(calendarValue || /* @__PURE__ */ new Date());
166
- const newValue = ymd.hour(hms.hour()).minute(hms.minute()).second(hms.second());
167
- triggerChange(e, validateAndAdjustDate(newValue).toDate());
168
- }
169
- if (closeOnSelect) {
170
- setIsOpen(false);
171
- }
172
- };
173
- const handleTdClick = (e, data) => {
174
- e.stopPropagation();
175
- if (selectType === "year") {
176
- triggerChange(
177
- e,
178
- validateAndAdjustDate(
179
- (0, import_dayjs.default)(calendarValue || /* @__PURE__ */ new Date()).year(data)
180
- ).toDate()
181
- );
182
- onYearChange == null ? void 0 : onYearChange(
183
- e,
184
- validateAndAdjustDate(
185
- (0, import_dayjs.default)(calendarValue || /* @__PURE__ */ new Date()).year(data)
186
- ).toDate()
187
- );
188
- if (picker === "year" && closeOnSelect) {
189
- setIsOpen(false);
190
- return;
191
- }
192
- setSelectType("month");
193
- }
194
- if (selectType === "month") {
195
- triggerChange(
196
- e,
197
- validateAndAdjustDate(
198
- (0, import_dayjs.default)(calendarValue || /* @__PURE__ */ new Date()).month(data - 1)
199
- ).toDate()
200
- );
201
- onMonthChange == null ? void 0 : onMonthChange(
202
- e,
203
- validateAndAdjustDate(
204
- (0, import_dayjs.default)(calendarValue || /* @__PURE__ */ new Date()).month(data - 1)
205
- ).toDate()
206
- );
207
- if (picker === "day") {
208
- setSelectType("day");
209
- return;
210
- }
211
- if (closeOnSelect) {
212
- setIsOpen(false);
213
- }
214
- }
215
- };
216
- const renderTd = (its, currentData) => {
217
- if (yearRender && selectType === "year") {
218
- return /* @__PURE__ */ import_react.default.createElement("div", { className: (0, import_clsx.default)(`${prefixCls}-col-content`) }, yearRender({ year: its, currentData }));
219
- }
220
- if (monthRender && selectType === "month") {
221
- return /* @__PURE__ */ import_react.default.createElement("div", { className: (0, import_clsx.default)(`${prefixCls}-col-content`) }, monthRender({ month: its, currentData }));
222
- }
223
- return /* @__PURE__ */ import_react.default.createElement("div", { className: (0, import_clsx.default)(`${prefixCls}-col-content`) }, /* @__PURE__ */ import_react.default.createElement("span", { className: (0, import_clsx.default)(`${prefixCls}-col-text`) }, selectType === "month" ? monthMap[its] : its));
224
- };
225
- const renderTable = () => {
226
- const dataList = selectType === "year" ? yearList : mouthList;
227
- return dataList.map((item, index) => {
228
- return /* @__PURE__ */ import_react.default.createElement("div", { key: index + 1, className: (0, import_clsx.default)(`${prefixCls}-row`) }, item.map((its, idx) => {
229
- let disabledClick = false;
230
- if (selectType === "year") {
231
- const currentData = (0, import_dayjs.default)(calendarValue).set("year", its);
232
- if (its < (0, import_dayjs.default)(minDate).year() || its > (0, import_dayjs.default)(maxDate).year() || (disabledDate == null ? void 0 : disabledDate(currentData.toDate()))) {
233
- disabledClick = true;
234
- }
235
- }
236
- if (selectType === "month") {
237
- const currentData = (0, import_dayjs.default)(calendarValue).set("month", its - 1);
238
- disabledClick = currentData.isBefore(minDate, "month") || currentData.isAfter(maxDate, "month");
239
- if (disabledDate) {
240
- disabledClick = disabledDate == null ? void 0 : disabledDate(currentData.toDate());
241
- }
242
- }
243
- return /* @__PURE__ */ import_react.default.createElement(
244
- "div",
245
- {
246
- key: idx + 1,
247
- className: (0, import_clsx.default)(`${prefixCls}-col`, {
248
- [`${prefixCls}-col-active`]: (selectType === "year" ? (0, import_dayjs.default)(calendarValue).year() : (0, import_dayjs.default)(calendarValue).month() + 1) === its && !disabledClick,
249
- [`${prefixCls}-col-disabled`]: disabledClick
250
- }),
251
- onClick: (e) => {
252
- if (!disabledClick) {
253
- handleTdClick(e, its);
254
- }
255
- }
256
- },
257
- renderTd(its, calendarValue)
258
- );
259
- }));
260
- });
261
- };
262
- const handleClickTitle = (e, data) => {
263
- e.stopPropagation();
264
- if (yPatterns.indexOf(data) > -1) {
265
- setSelectType("year");
266
- }
267
- if (mPatterns.indexOf(data) > -1) {
268
- setSelectType("month");
269
- }
270
- if (dPatterns.indexOf(data) > -1) {
271
- setSelectType("day");
272
- }
273
- };
274
- const renderTitle = (formate, value) => {
275
- const allType = [...yPatterns, ...mPatterns, ...dPatterns];
276
- 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;
277
- const matchArr = formate.match(formattingTokens);
278
- const domArr = [];
279
- let str = "";
280
- for (let i = 0; i <= matchArr.length; i += 1) {
281
- if (allType.indexOf(matchArr[i]) > -1) {
282
- if (str !== "") {
283
- domArr.push(str);
284
- str = "";
285
- }
286
- domArr.push(
287
- /* @__PURE__ */ import_react.default.createElement(
288
- "div",
289
- {
290
- className: (0, import_clsx.default)(`${prefixCls}-title-text`),
291
- key: i,
292
- onClick: (e) => handleClickTitle(e, matchArr[i])
293
- },
294
- (0, import_dayjs.default)(value).format(matchArr[i])
295
- )
296
- );
297
- } else {
298
- str = `${matchArr[i]}${str}`;
299
- }
300
- }
301
- return domArr;
302
- };
303
- const desktopDatePicker = () => {
304
- return /* @__PURE__ */ import_react.default.createElement(
305
- "div",
306
- __spreadProps(__spreadValues({
307
- className: (0, import_clsx.default)(`${prefixCls}-main`)
308
- }, others), {
309
- onClick: (e) => {
310
- e.stopPropagation();
311
- }
312
- }),
313
- /* @__PURE__ */ import_react.default.createElement("div", { className: `${prefixCls}-handler` }, selectType !== "year" && /* @__PURE__ */ import_react.default.createElement("div", { onClick: onClickPrev, className: `${prefixCls}-handler-btn` }, headerBarLeftIcon ? headerBarLeftIcon({ isMinMonth }) : /* @__PURE__ */ import_react.default.createElement(
314
- import_icons.CaretLeftIcon,
315
- {
316
- className: `${prefixCls}-handler-icon`,
317
- htmlColor: isMinMonth && "var(--bui-color-white)"
318
- }
319
- )), /* @__PURE__ */ import_react.default.createElement("div", { className: `${prefixCls}-title` }, calendarValue ? renderTitle(format, calendarValue) : format), selectType !== "year" && /* @__PURE__ */ import_react.default.createElement("div", { onClick: onClickNext, className: `${prefixCls}-handler-btn` }, headerBarRightIcon ? headerBarRightIcon({ isMaxMonth }) : /* @__PURE__ */ import_react.default.createElement(
320
- import_icons.CaretRightIcon,
321
- {
322
- className: `${prefixCls}-handler-icon`,
323
- htmlColor: isMaxMonth && "var(--bui-color-white)"
324
- }
325
- ))),
326
- selectType === "day" ? /* @__PURE__ */ import_react.default.createElement(
327
- import_Calendar.default,
328
- __spreadValues({
329
- headerVisible: true,
330
- minDate,
331
- maxDate,
332
- disabledDate,
333
- value: calendarValue,
334
- onChange: calendarChange
335
- }, CalendarProps)
336
- ) : /* @__PURE__ */ import_react.default.createElement("div", { className: (0, import_clsx.default)(`${prefixCls}-list`) }, /* @__PURE__ */ import_react.default.createElement("div", { className: (0, import_clsx.default)(`${prefixCls}-box`) }, renderTable()))
337
- );
338
- };
339
- return {
340
- desktopDatePicker
341
- };
342
- };
343
- var useGetDatePickerContent_default = useGetDatePickerContent;
@@ -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,322 +0,0 @@
1
- var __create = Object.create;
2
- var __defProp = Object.defineProperty;
3
- var __defProps = Object.defineProperties;
4
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
6
- var __getOwnPropNames = Object.getOwnPropertyNames;
7
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
8
- var __getProtoOf = Object.getPrototypeOf;
9
- var __hasOwnProp = Object.prototype.hasOwnProperty;
10
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
11
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
12
- var __spreadValues = (a, b) => {
13
- for (var prop in b || (b = {}))
14
- if (__hasOwnProp.call(b, prop))
15
- __defNormalProp(a, prop, b[prop]);
16
- if (__getOwnPropSymbols)
17
- for (var prop of __getOwnPropSymbols(b)) {
18
- if (__propIsEnum.call(b, prop))
19
- __defNormalProp(a, prop, b[prop]);
20
- }
21
- return a;
22
- };
23
- var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
24
- var __objRest = (source, exclude) => {
25
- var target = {};
26
- for (var prop in source)
27
- if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
28
- target[prop] = source[prop];
29
- if (source != null && __getOwnPropSymbols)
30
- for (var prop of __getOwnPropSymbols(source)) {
31
- if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
32
- target[prop] = source[prop];
33
- }
34
- return target;
35
- };
36
- var __export = (target, all) => {
37
- for (var name in all)
38
- __defProp(target, name, { get: all[name], enumerable: true });
39
- };
40
- var __copyProps = (to, from, except, desc) => {
41
- if (from && typeof from === "object" || typeof from === "function") {
42
- for (let key of __getOwnPropNames(from))
43
- if (!__hasOwnProp.call(to, key) && key !== except)
44
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
45
- }
46
- return to;
47
- };
48
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
49
- // If the importer is in node compatibility mode or this is not an ESM
50
- // file that has been converted to a CommonJS file using a Babel-
51
- // compatible transform (i.e. "__esModule" has not been set), then set
52
- // "default" to the CommonJS "module.exports" for node compatibility.
53
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
54
- mod
55
- ));
56
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
57
- var DesktopDateTimePicker_exports = {};
58
- __export(DesktopDateTimePicker_exports, {
59
- default: () => DesktopDateTimePicker_default
60
- });
61
- module.exports = __toCommonJS(DesktopDateTimePicker_exports);
62
- var import_icons = require("@bifrostui/icons");
63
- var import_dayjs = __toESM(require("dayjs"));
64
- var import_clsx = __toESM(require("clsx"));
65
- var import_react = __toESM(require("react"));
66
- var import_utils = require("@bifrostui/utils");
67
- var import_DesktopPicker = __toESM(require("../DesktopPicker"));
68
- var import_useGetDatePickerContent = __toESM(require("../DesktopDatePicker/useGetDatePickerContent"));
69
- var import_useGetTimePickerContent = __toESM(require("../DesktopTimePicker/useGetTimePickerContent"));
70
- var import_index = require("./index.css");
71
- const prefixCls = "bui-datetime-picker";
72
- const DesktopDateTimePicker = /* @__PURE__ */ import_react.default.forwardRef((props, ref) => {
73
- const _a = props, {
74
- className,
75
- inputRef,
76
- inputProps,
77
- value,
78
- defaultValue,
79
- disabled = false,
80
- disableOpenPicker = false,
81
- placeholder,
82
- format = "YYYY/MM/DD HH:mm:ss",
83
- open,
84
- disabledDate,
85
- views = ["year", "month", "day", "hour", "minute", "second"],
86
- minDate = (0, import_dayjs.default)((0, import_dayjs.default)().format("YYYYMMDD")).subtract(10, "year").toDate(),
87
- maxDate = (0, import_dayjs.default)((0, import_dayjs.default)().format("YYYYMMDD")).add(10, "year").toDate(),
88
- icon,
89
- headerBarLeftIcon,
90
- headerBarRightIcon,
91
- closeOnSelect = true,
92
- onChange,
93
- onClose,
94
- onOpen,
95
- monthRender,
96
- yearRender,
97
- onMonthChange,
98
- onYearChange,
99
- DesktopPickerProps,
100
- CalendarProps
101
- } = _a, others = __objRest(_a, [
102
- "className",
103
- "inputRef",
104
- "inputProps",
105
- "value",
106
- "defaultValue",
107
- "disabled",
108
- "disableOpenPicker",
109
- "placeholder",
110
- "format",
111
- "open",
112
- "disabledDate",
113
- "views",
114
- "minDate",
115
- "maxDate",
116
- "icon",
117
- "headerBarLeftIcon",
118
- "headerBarRightIcon",
119
- "closeOnSelect",
120
- "onChange",
121
- "onClose",
122
- "onOpen",
123
- "monthRender",
124
- "yearRender",
125
- "onMonthChange",
126
- "onYearChange",
127
- "DesktopPickerProps",
128
- "CalendarProps"
129
- ]);
130
- const [isOpen, setIsOpen] = (0, import_react.useState)(open);
131
- const [isInvalid, setIsInvalid] = (0, import_react.useState)(false);
132
- const getPicker = (0, import_react.useMemo)(() => {
133
- if (views.includes("day")) {
134
- return "day";
135
- }
136
- if (views.includes("month")) {
137
- return "month";
138
- }
139
- if (views.includes("year")) {
140
- return "year";
141
- }
142
- return "day";
143
- }, [views]);
144
- const [selectType, setSelectType] = (0, import_react.useState)(
145
- getPicker
146
- );
147
- const [inputStr, setInputStr] = (0, import_react.useState)("");
148
- const [useUserStr, setUseUserStr] = (0, import_react.useState)(false);
149
- const [calendarValue, triggerChange] = (0, import_utils.useValue)({
150
- value,
151
- defaultValue,
152
- onChange
153
- });
154
- const handleDatePickerIconClick = (e) => {
155
- if (disabled || disableOpenPicker || open !== void 0)
156
- return;
157
- setIsOpen(!isOpen);
158
- };
159
- const handleDatePickerInputClick = (e) => {
160
- e.stopPropagation();
161
- if (inputProps == null ? void 0 : inputProps.readOnly) {
162
- if (disabled || disableOpenPicker || open !== void 0)
163
- return;
164
- setIsOpen(!isOpen);
165
- return;
166
- }
167
- setIsOpen(false);
168
- };
169
- const { desktopDatePicker } = (0, import_useGetDatePickerContent.default)({
170
- format,
171
- minDate,
172
- maxDate,
173
- setIsOpen,
174
- triggerChange,
175
- disabledDate,
176
- calendarValue,
177
- setSelectType,
178
- picker: getPicker,
179
- selectType,
180
- headerBarLeftIcon,
181
- headerBarRightIcon,
182
- CalendarProps,
183
- onClose,
184
- monthRender,
185
- yearRender,
186
- onMonthChange,
187
- onYearChange,
188
- closeOnSelect: false,
189
- style: {
190
- borderRadius: "3px 0px 0px 3px"
191
- }
192
- });
193
- const { desktopTimePanel } = (0, import_useGetTimePickerContent.default)({
194
- views: views.filter(
195
- (item) => item !== "day" && item !== "month" && item !== "year"
196
- ),
197
- minTime: (0, import_dayjs.default)(minDate),
198
- maxTime: (0, import_dayjs.default)(maxDate),
199
- setIsOpen,
200
- triggerChange,
201
- closeOnSelect,
202
- timeValue: (0, import_dayjs.default)(calendarValue),
203
- setIsInvalid
204
- });
205
- const onInputChange = (e) => {
206
- e.stopPropagation();
207
- const newValue = e.target.value;
208
- if (newValue.length === 0) {
209
- setInputStr("");
210
- setUseUserStr(true);
211
- triggerChange(e, null);
212
- return;
213
- }
214
- if ((0, import_dayjs.default)(newValue, format, true).isValid()) {
215
- setInputStr("");
216
- setUseUserStr(false);
217
- if (disabledDate == null ? void 0 : disabledDate((0, import_dayjs.default)(newValue).toDate())) {
218
- return;
219
- }
220
- if ((0, import_dayjs.default)(newValue).isAfter(maxDate)) {
221
- triggerChange(e, maxDate);
222
- return;
223
- }
224
- if ((0, import_dayjs.default)(newValue).isBefore(minDate)) {
225
- triggerChange(e, minDate);
226
- return;
227
- }
228
- triggerChange(e, (0, import_dayjs.default)(e.target.value).toDate());
229
- } else {
230
- setUseUserStr(true);
231
- setInputStr(e.target.value);
232
- }
233
- };
234
- const onmount = () => {
235
- onOpen == null ? void 0 : onOpen();
236
- };
237
- const unMounted = () => {
238
- onClose == null ? void 0 : onClose();
239
- setSelectType(getPicker);
240
- };
241
- const showPlaceholder = (0, import_react.useMemo)(() => {
242
- if (placeholder) {
243
- return placeholder;
244
- }
245
- return format;
246
- }, [placeholder, format]);
247
- const renderValue = (0, import_react.useMemo)(() => {
248
- if (useUserStr) {
249
- return inputStr;
250
- }
251
- if (calendarValue) {
252
- return (0, import_dayjs.default)(calendarValue).format(format);
253
- }
254
- return "";
255
- }, [calendarValue, inputStr, useUserStr, format]);
256
- (0, import_react.useEffect)(() => {
257
- setUseUserStr(false);
258
- }, [calendarValue]);
259
- return /* @__PURE__ */ import_react.default.createElement(
260
- "div",
261
- __spreadProps(__spreadValues({}, others), {
262
- className: (0, import_clsx.default)(prefixCls, className, {
263
- [`${prefixCls}-disabled`]: disabled,
264
- [`${prefixCls}-active`]: isOpen,
265
- [`${prefixCls}-invalid`]: isInvalid
266
- }),
267
- ref
268
- }),
269
- /* @__PURE__ */ import_react.default.createElement(
270
- import_DesktopPicker.default,
271
- __spreadProps(__spreadValues({
272
- open: open != null ? open : isOpen,
273
- miniBackdropInvisible: open !== void 0,
274
- onClose: (e, data) => {
275
- setIsOpen(data == null ? void 0 : data.value);
276
- },
277
- onMount: onmount,
278
- onUnmounted: unMounted,
279
- content: /* @__PURE__ */ import_react.default.createElement(
280
- "div",
281
- {
282
- className: `${prefixCls}-box`,
283
- onClick: (e) => {
284
- e.stopPropagation();
285
- }
286
- },
287
- desktopDatePicker(),
288
- desktopTimePanel()
289
- )
290
- }, DesktopPickerProps), {
291
- inheritWidth: false
292
- }),
293
- /* @__PURE__ */ import_react.default.createElement("div", { className: `${prefixCls}-container` }, /* @__PURE__ */ import_react.default.createElement(
294
- "input",
295
- __spreadProps(__spreadValues({}, inputProps), {
296
- "aria-invalid": true,
297
- autoComplete: "off",
298
- placeholder: showPlaceholder,
299
- type: "text",
300
- inputMode: "text",
301
- ref: inputRef,
302
- className: (0, import_clsx.default)(`${prefixCls}-input`, {
303
- [inputProps == null ? void 0 : inputProps.className]: inputProps == null ? void 0 : inputProps.className
304
- }),
305
- onBlur: () => setUseUserStr(false),
306
- onClick: handleDatePickerInputClick,
307
- onChange: onInputChange,
308
- value: renderValue
309
- })
310
- ), /* @__PURE__ */ import_react.default.createElement(
311
- "div",
312
- {
313
- onClick: handleDatePickerIconClick,
314
- className: `${prefixCls}-icon`
315
- },
316
- icon || /* @__PURE__ */ import_react.default.createElement(import_icons.DateOutlinedIcon, { htmlColor: "var(--bui-color-neutral-3)" })
317
- ))
318
- )
319
- );
320
- });
321
- DesktopDateTimePicker.displayName = "BUIDesktopDateTimePicker";
322
- var DesktopDateTimePicker_default = DesktopDateTimePicker;