@chaoswise/ui 3.0.21 → 3.0.23

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 (32) hide show
  1. package/lib/Alert/index.js +48 -2
  2. package/lib/Alert/index.style.js +36 -0
  3. package/lib/Button/index.style.js +1 -3
  4. package/lib/CWMessage/MessageContent/TabList/index.js +14 -14
  5. package/lib/CWMessage/MessageContent/index.js +2 -2
  6. package/lib/CWMessage/index.js +6 -7
  7. package/lib/CWMessage/utils/generate/dayjs.js +12 -0
  8. package/lib/CWMessage/utils/generate/moment.js +2 -0
  9. package/lib/CWRangePicker/DropdownMenu/index.js +0 -1
  10. package/lib/CWRangePicker/utils/generate/dayjs.js +24 -12
  11. package/lib/ConfigProvider/customTheme.js +3 -2
  12. package/lib/Header/index.style.js +0 -1
  13. package/lib/IconSelect/components/SearchIcon/index.js +0 -1
  14. package/lib/LayoutWrapper/style/index.js +7 -2
  15. package/lib/QuickTransfer/index.js +16 -6
  16. package/lib/RangePicker/components/ExtraQuickSelect.js +1 -4
  17. package/lib/RangePicker/index.js +55 -43
  18. package/lib/RangePicker/utils/generate/dayjs.js +29 -15
  19. package/lib/RangePicker/utils/generate/moment.js +13 -11
  20. package/lib/ScrollLoad/index.js +0 -1
  21. package/lib/SiderMenu/index.js +7 -16
  22. package/lib/SiderMenu/index.style.js +19 -3
  23. package/lib/SingleSpa/import-html/process-tpl.js +5 -5
  24. package/lib/TimeRangeSlider/TimeRangeSliderCmp/hooks/useMouse.js +1 -1
  25. package/lib/TimeRangeSlider/TimeRangeSliderCmp/utils/generate/dayjs.js +20 -9
  26. package/lib/TimeRangeSlider/utils/generate/dayjs.js +42 -35
  27. package/lib/TimeRangeSlider/utils/generate/moment.js +25 -0
  28. package/lib/TimeZoneSelect/index.js +127 -0
  29. package/lib/utils/generate/dayjs.js +5 -0
  30. package/lib/utils/generate/moment.js +2 -1
  31. package/lib/utils/index.js +35 -0
  32. package/package.json +4 -1
@@ -17,7 +17,7 @@ import React, { useState, useEffect, useMemo, forwardRef, useRef, useCallback, u
17
17
  var RangePicker = _DatePicker.RangePicker;
18
18
  import ExtraQuickSelect from "./components/ExtraQuickSelect";
19
19
  import ExtraTimeFooter from "./components/ExtraTimeFooter";
20
- import dayjs, { formatMomentToString, formatMomentToSplit, byTimeMomentToDateMoment, disabledAllTimeFunc } from "./utils/generate/dayjs";
20
+ import dayjs, { formatStringToDate, formatDateToString, formatDateToSplit, byTimeToDate, disabledAllTimeFunc } from "./utils/generate/dayjs";
21
21
  import classnames from "classnames";
22
22
  import useConfigContext from "../useConfigContext";
23
23
  import useStyle from "./index.style";
@@ -49,6 +49,18 @@ var _RangePicker = /*#__PURE__*/forwardRef(function (props, ref) {
49
49
  quickSelect = _props$quickSelect === void 0 ? false : _props$quickSelect,
50
50
  dataSource = props.dataSource,
51
51
  rest = _objectWithoutProperties(props, _excluded);
52
+ var _defaultTimeOption$st = defaultTimeOption.startTimeOption,
53
+ startTimeOption = _defaultTimeOption$st === void 0 ? dayjs().set("hour", 0).set("minute", 0).set("second", 0) : _defaultTimeOption$st,
54
+ _defaultTimeOption$en = defaultTimeOption.endTimeOption,
55
+ endTimeOption = _defaultTimeOption$en === void 0 ? dayjs().set("hour", 0).set("minute", 0).set("second", 0) : _defaultTimeOption$en;
56
+ var timeFormat = useRef("HH:mm:ss"); //timepicker默认的时间格式
57
+ var preConfirm = useRef(null); //记录上一次点击确定的值,包括初始传进来的值
58
+ var formatRef = useRef(showTime ? "YYYY-MM-DD HH:mm:ss" : "YYYY-MM-DD");
59
+ var rangePickerRef = useRef(null); // 绑定在RangePicker组件上的Ref
60
+ var recordBeforeDateRef = useRef(null); // 取消悬停快捷选择需要恢复的日期
61
+ var recordQuickActiveKey = useRef(null); // 当前快捷选择活跃项
62
+ var isBtnRef = useRef(false); // 是否相当于点击了确定按钮
63
+ var wrapperRef = useRef(null);
52
64
  var _useState = useState(defaultValue),
53
65
  _useState2 = _slicedToArray(_useState, 2),
54
66
  dateValue = _useState2[0],
@@ -57,22 +69,14 @@ var _RangePicker = /*#__PURE__*/forwardRef(function (props, ref) {
57
69
  _useState4 = _slicedToArray(_useState3, 2),
58
70
  visible = _useState4[0],
59
71
  setVisible = _useState4[1]; //控制日期面板的显示隐藏
60
- var _useState5 = useState(null),
72
+ var _useState5 = useState(startTimeOption),
61
73
  _useState6 = _slicedToArray(_useState5, 2),
62
74
  startTimeParams = _useState6[0],
63
75
  setStartTimeParams = _useState6[1]; //开始时间的参数
64
- var _useState7 = useState(null),
76
+ var _useState7 = useState(endTimeOption),
65
77
  _useState8 = _slicedToArray(_useState7, 2),
66
78
  endTimeParams = _useState8[0],
67
79
  setEndTimeParams = _useState8[1]; //结束时间的参数
68
- var timeFormat = useRef("HH:mm:ss"); //timepicker默认的时间格式
69
- var preConfirm = useRef(null); //记录上一次点击确定的值,包括初始传进来的值
70
- var formatRef = useRef(showTime ? "YYYY-MM-DD HH:mm:ss" : "YYYY-MM-DD");
71
- var rangePickerRef = useRef(null); // 绑定在RangePicker组件上的Ref
72
- var recordBeforeDateRef = useRef(null); // 取消悬停快捷选择需要恢复的日期
73
- var recordQuickActiveKey = useRef(null); // 当前快捷选择活跃项
74
- var isBtnRef = useRef(false); // 是否相当于点击了确定按钮
75
- var wrapperRef = useRef(null);
76
80
  var _useConfigContext = useConfigContext(),
77
81
  getPrefixCls = _useConfigContext.getPrefixCls;
78
82
  var prefixCls = getPrefixCls();
@@ -81,10 +85,6 @@ var _RangePicker = /*#__PURE__*/forwardRef(function (props, ref) {
81
85
  wrapCSSVar = _useStyle2[0],
82
86
  hashId = _useStyle2[1],
83
87
  cssVarCls = _useStyle2[2];
84
- var _defaultTimeOption$st = defaultTimeOption.startTimeOption,
85
- startTimeOption = _defaultTimeOption$st === void 0 ? dayjs("00:00:00", timeFormat.current) : _defaultTimeOption$st,
86
- _defaultTimeOption$en = defaultTimeOption.endTimeOption,
87
- endTimeOption = _defaultTimeOption$en === void 0 ? dayjs("00:00:00", timeFormat.current) : _defaultTimeOption$en;
88
88
  //监听外部控制面板的显示隐藏状态
89
89
  useEffect(function () {
90
90
  if ("open" in props) {
@@ -104,12 +104,12 @@ var _RangePicker = /*#__PURE__*/forwardRef(function (props, ref) {
104
104
  setDateValue(value);
105
105
  recordBeforeDateRef.current = value;
106
106
  preConfirm.current = value;
107
- setAllDateTimeValue(value);
107
+ setAllDateTimeValue(Array.isArray(value) && !value.length ? null : value);
108
108
  } else if ("defaultValue" in props) {
109
109
  setDateValue(defaultValue);
110
110
  recordBeforeDateRef.current = defaultValue;
111
111
  preConfirm.current = defaultValue;
112
- setAllDateTimeValue(defaultValue);
112
+ setAllDateTimeValue(Array.isArray(defaultValue) && !defaultValue.length ? null : defaultValue);
113
113
  }
114
114
  }, [defaultValue, value]);
115
115
  var format = useMemo(function () {
@@ -128,7 +128,7 @@ var _RangePicker = /*#__PURE__*/forwardRef(function (props, ref) {
128
128
  }, [visible]);
129
129
  //点击取消触发的事件
130
130
  var handleCancel = function handleCancel() {
131
- if (preConfirm.current && preConfirm.current instanceof Array) {
131
+ if (Array.isArray(preConfirm.current) && preConfirm.current.length) {
132
132
  setStartTimeParams(preConfirm.current[0]);
133
133
  setEndTimeParams(preConfirm.current[1]);
134
134
  setDateValue(preConfirm.current);
@@ -161,8 +161,9 @@ var _RangePicker = /*#__PURE__*/forwardRef(function (props, ref) {
161
161
  var setAllDateTimeValue = function setAllDateTimeValue(value) {
162
162
  if (!showTime) return;
163
163
  if (value && value.length === 2) {
164
- setStartTimeParams(value[0]);
165
- setEndTimeParams(value[1]);
164
+ // 此次转化为修复日期组件的回显问题:0时区
165
+ setStartTimeParams(value[0].set("hour", value[0].get("hour")).set("minute", value[0].get("minute")).set("second", value[0].get("second")));
166
+ setEndTimeParams(value[1].set("hour", value[1].get("hour")).set("minute", value[1].get("minute")).set("second", value[1].get("second")));
166
167
  } else {
167
168
  setStartTimeParams(startTimeOption);
168
169
  setEndTimeParams(endTimeOption);
@@ -171,11 +172,13 @@ var _RangePicker = /*#__PURE__*/forwardRef(function (props, ref) {
171
172
  // TimePicker开始时间改变触发的事件
172
173
  var changeStartTime = function changeStartTime(newStartTime) {
173
174
  if (!newStartTime) return;
175
+ // 此次转化为修复日期组件的回显问题:0时区
176
+ newStartTime = newStartTime.set("hour", newStartTime.get("hour")).set("minute", newStartTime.get("minute")).set("second", newStartTime.get("second"));
174
177
  setStartTimeParams(newStartTime);
175
178
  isBtnRef.current = false;
176
179
  if (Array.isArray(dateValue)) {
177
180
  if (dateValue[0]) {
178
- var leftDateTime = byTimeMomentToDateMoment(newStartTime, dateValue[0]);
181
+ var leftDateTime = byTimeToDate(newStartTime, dateValue[0]);
179
182
  var rightDateTime = dateValue[1];
180
183
  if (dayjs(leftDateTime).isAfter(dateValue[1])) {
181
184
  rightDateTime = leftDateTime;
@@ -189,11 +192,13 @@ var _RangePicker = /*#__PURE__*/forwardRef(function (props, ref) {
189
192
  // TimePicker结束时间改变触发的事件
190
193
  var changeEndTime = function changeEndTime(newEndTime) {
191
194
  if (!newEndTime) return;
195
+ // 此次转化为修复日期组件的回显问题:0时区
196
+ newEndTime = newEndTime.set("hour", newEndTime.get("hour")).set("minute", newEndTime.get("minute")).set("second", newEndTime.get("second"));
192
197
  setEndTimeParams(newEndTime);
193
198
  isBtnRef.current = false;
194
199
  if (Array.isArray(dateValue)) {
195
200
  if (dateValue[1]) {
196
- var rightDateTime = byTimeMomentToDateMoment(newEndTime, dateValue[1]);
201
+ var rightDateTime = byTimeToDate(newEndTime, dateValue[1]);
197
202
  setDateValue([dateValue[0], rightDateTime]);
198
203
  recordBeforeDateRef.current = [dateValue[0], rightDateTime];
199
204
  }
@@ -227,8 +232,8 @@ var _RangePicker = /*#__PURE__*/forwardRef(function (props, ref) {
227
232
  }
228
233
  if (startDateTime && endDateTime) {
229
234
  var _dateVal = [dayjs(startDateTime), dayjs(endDateTime)];
230
- var startDateTimeString = formatMomentToString(startDateTime, formatRef.current);
231
- var endDateTimeString = formatMomentToString(endDateTime, formatRef.current);
235
+ var startDateTimeString = formatDateToString(startDateTime, formatRef.current);
236
+ var endDateTimeString = formatDateToString(endDateTime, formatRef.current);
232
237
  setStartTimeParams(dayjs(startDateTime));
233
238
  setEndTimeParams(dayjs(endDateTime));
234
239
  _onCalendarChange(_dateVal, [startDateTimeString, endDateTimeString], {
@@ -261,7 +266,6 @@ var _RangePicker = /*#__PURE__*/forwardRef(function (props, ref) {
261
266
  };
262
267
  //面板值改变触发的回调 主要用于处理时间
263
268
  var handleCalendarChange = function handleCalendarChange(calendarDate, dateStrings, info) {
264
- // rangePickerRef.current?.focus({index: info.range === "start" ? 1 : 0})
265
269
  if (!calendarDate) {
266
270
  _onCalendarChange(calendarDate, dateStrings, info);
267
271
  setAllDateTimeValue(calendarDate);
@@ -277,12 +281,12 @@ var _RangePicker = /*#__PURE__*/forwardRef(function (props, ref) {
277
281
  isBtnRef.current = false;
278
282
  var calendarDateTruth = calendarDate.filter(Boolean);
279
283
  if (calendarDateTruth.length == 1) {
280
- var CalendarDateStr = formatMomentToSplit(calendarDateTruth[0], formatRef.current)[0];
284
+ var CalendarDateStr = formatDateToSplit(calendarDateTruth[0], formatRef.current)[0];
281
285
  var dateTimeValue = calendarDateTruth[0];
282
286
  if (info.range == "start") {
283
287
  if (startTimeParams) {
284
- var TimeStr = formatMomentToString(startTimeParams, timeFormat.current);
285
- var StartDateTime = dayjs(CalendarDateStr + " " + TimeStr, formatRef.current);
288
+ var TimeStr = formatDateToString(startTimeParams, timeFormat.current);
289
+ var StartDateTime = formatStringToDate(CalendarDateStr + " " + TimeStr, formatRef.current);
286
290
  dateTimeValue = StartDateTime;
287
291
  _onCalendarChange([StartDateTime, null], [TimeStr, ""], info);
288
292
  }
@@ -290,8 +294,8 @@ var _RangePicker = /*#__PURE__*/forwardRef(function (props, ref) {
290
294
  recordBeforeDateRef.current = [dateTimeValue, null];
291
295
  } else if (info.range == "end") {
292
296
  if (endTimeParams) {
293
- var _TimeStr = formatMomentToString(endTimeParams, timeFormat.current);
294
- var EndDateTime = dayjs(CalendarDateStr + " " + _TimeStr, formatRef.current);
297
+ var _TimeStr = formatDateToString(endTimeParams, timeFormat.current);
298
+ var EndDateTime = formatStringToDate(CalendarDateStr + " " + _TimeStr, formatRef.current);
295
299
  dateTimeValue = EndDateTime;
296
300
  _onCalendarChange([null, EndDateTime], [_TimeStr, ""], info);
297
301
  }
@@ -299,27 +303,24 @@ var _RangePicker = /*#__PURE__*/forwardRef(function (props, ref) {
299
303
  recordBeforeDateRef.current = [null, dateTimeValue];
300
304
  }
301
305
  } else if (calendarDateTruth.length == 2) {
302
- var leftCalendarDateStr = formatMomentToSplit(calendarDateTruth[0], formatRef.current)[0];
303
- var rightCalendarDateStr = formatMomentToSplit(calendarDateTruth[1], formatRef.current)[0];
306
+ var leftCalendarDateStr = formatDateToSplit(calendarDateTruth[0], formatRef.current)[0];
307
+ var rightCalendarDateStr = formatDateToSplit(calendarDateTruth[1], formatRef.current)[0];
304
308
  var startDateTime = calendarDateTruth[0];
305
309
  var endDateTime = calendarDateTruth[1];
306
310
  var leftTimeStr = dateStrings[0];
307
311
  var endTimeStr = dateStrings[1];
308
312
  if (startTimeParams) {
309
- leftTimeStr = formatMomentToString(startTimeParams, timeFormat.current);
310
- startDateTime = dayjs(leftCalendarDateStr + " " + leftTimeStr, formatRef.current);
313
+ leftTimeStr = formatDateToString(startTimeParams, timeFormat.current);
314
+ startDateTime = formatStringToDate(leftCalendarDateStr + " " + leftTimeStr, formatRef.current);
311
315
  }
312
316
  if (endTimeParams) {
313
- endTimeStr = formatMomentToString(endTimeParams, timeFormat.current);
314
- endDateTime = dayjs(rightCalendarDateStr + " " + endTimeStr, formatRef.current);
317
+ endTimeStr = formatDateToString(endTimeParams, timeFormat.current);
318
+ endDateTime = formatStringToDate(rightCalendarDateStr + " " + endTimeStr, formatRef.current);
315
319
  }
316
320
  // 若开始时间晚于结束时间,结束时间同步为开始时间
317
321
  if (dayjs(startDateTime).isAfter(endDateTime)) {
318
322
  endTimeStr = leftTimeStr;
319
323
  endDateTime = startDateTime;
320
- if (startTimeParams) {
321
- setEndTimeParams(startTimeParams);
322
- }
323
324
  }
324
325
  setAllDateTimeValue([startDateTime, endDateTime]);
325
326
  setDateValue([startDateTime, endDateTime]);
@@ -335,7 +336,7 @@ var _RangePicker = /*#__PURE__*/forwardRef(function (props, ref) {
335
336
  setVisible(false);
336
337
  }
337
338
  var dateTimeValueString = dateValue.map(function (item) {
338
- return formatMomentToString(item, formatRef.current);
339
+ return formatDateToString(item, formatRef.current);
339
340
  });
340
341
  _onChange(dateValue, dateTimeValueString);
341
342
  recordQuickActiveKey.current = null;
@@ -414,6 +415,19 @@ var _RangePicker = /*#__PURE__*/forwardRef(function (props, ref) {
414
415
  _useMemo2 = _slicedToArray(_useMemo, 2),
415
416
  hasQuickSelect = _useMemo2[0],
416
417
  _ranges = _useMemo2[1];
418
+ var _dateValue = useMemo(function () {
419
+ // 此次转化为修复日期组件的回显问题:0时区
420
+ var _dateValue = dateValue;
421
+ if (Array.isArray(_dateValue)) {
422
+ if (_dateValue[0]) {
423
+ _dateValue[0] = dayjs(_dateValue[0]);
424
+ }
425
+ if (_dateValue[1]) {
426
+ _dateValue[1] = dayjs(_dateValue[1]);
427
+ }
428
+ }
429
+ return _dateValue;
430
+ }, [dateValue]);
417
431
  return wrapCSSVar(/*#__PURE__*/React.createElement("div", {
418
432
  className: classnames(hashId, cssVarCls, "cw-new-range-picker-wrapper"),
419
433
  ref: wrapperRef
@@ -428,8 +442,6 @@ var _RangePicker = /*#__PURE__*/forwardRef(function (props, ref) {
428
442
  ranges: _ranges,
429
443
  quickClick: quickClick,
430
444
  setDateValue: setDateValue,
431
- setStartTimeParams: setStartTimeParams,
432
- setEndTimeParams: setEndTimeParams,
433
445
  recordBeforeDateRef: recordBeforeDateRef,
434
446
  setAllDateTimeValue: setAllDateTimeValue,
435
447
  recordQuickActiveKey: recordQuickActiveKey
@@ -445,7 +457,7 @@ var _RangePicker = /*#__PURE__*/forwardRef(function (props, ref) {
445
457
  format: format,
446
458
  onChange: handleDateChange,
447
459
  onCalendarChange: handleCalendarChange,
448
- value: dateValue,
460
+ value: _dateValue,
449
461
  className: classnames(className),
450
462
  ref: rangePickerRef,
451
463
  inputReadOnly: true,
@@ -1,3 +1,4 @@
1
+ var _originalDayjs$tz;
1
2
  function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
2
3
  function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
3
4
  function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
@@ -5,7 +6,18 @@ function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Sym
5
6
  function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
6
7
  function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
7
8
  function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
8
- import dayjs from "dayjs";
9
+ import originalDayjs from "dayjs";
10
+ import utc from "dayjs/plugin/utc";
11
+ import timezone from "dayjs/plugin/timezone";
12
+ // 扩展 dayjs 支持时区
13
+ originalDayjs.extend(utc);
14
+ originalDayjs.extend(timezone);
15
+ var timeZone = ((_originalDayjs$tz = originalDayjs.tz()) === null || _originalDayjs$tz === void 0 || (_originalDayjs$tz = _originalDayjs$tz.$x) === null || _originalDayjs$tz === void 0 ? void 0 : _originalDayjs$tz.$timezone) || originalDayjs.tz.guess();
16
+ // 封装 dayjs 函数,使其每次调用时自动应用当前的全局时区
17
+ var dayjs = function dayjs() {
18
+ var instance = originalDayjs.apply(void 0, arguments);
19
+ return instance.tz();
20
+ };
9
21
  var timeFormat = "HH:mm:ss";
10
22
  var dateFormat = "YYYY-MM-DD HH:mm:ss";
11
23
  // 符合禁用规则的时间集合
@@ -17,28 +29,30 @@ export function range(start, end) {
17
29
  return result;
18
30
  }
19
31
 
20
- //格式化时间为字符串
21
- export function formatMomentToString(dateTime, format) {
22
- return dayjs(dateTime).format(format);
32
+ // 格式化时间为字符串
33
+ export function formatDateToString(dateTime, format) {
34
+ return originalDayjs.isDayjs(dateTime) ? dateTime.format(format) : dayjs(dateTime).format(format);
23
35
  }
24
36
 
25
- //格式化时间为字符串,并将其切割date time的一个数组
26
- export function formatMomentToSplit(dateTime, format) {
37
+ // 格式化时间为字符串,并将其切割date time的一个数组
38
+ export function formatDateToSplit(dateTime, format) {
27
39
  var sp = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : " ";
28
- return formatMomentToString(dateTime, format).split(sp);
29
- }
30
- export function dateStringToSplit(dateTimeString) {
31
- var sp = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : " ";
32
- return dateTimeString.split(sp);
40
+ return formatDateToString(dateTime, format).split(sp);
33
41
  }
42
+
34
43
  /**
35
44
  * 时间选择器变换后包装到最终显示时间上
36
45
  */
37
- export function byTimeMomentToDateMoment(currentTime, currentDate) {
38
- var DateStr = formatMomentToSplit(currentDate, dateFormat)[0];
39
- var TimeStr = formatMomentToString(currentTime, timeFormat);
46
+ export function byTimeToDate(currentTime, currentDate) {
47
+ var DateStr = formatDateToSplit(currentDate, dateFormat)[0];
48
+ var TimeStr = formatDateToString(currentTime, timeFormat);
40
49
  var leftDateTimeStr = DateStr + " " + TimeStr;
41
- return dayjs(leftDateTimeStr, dateFormat);
50
+ return formatStringToDate(leftDateTimeStr, dateFormat);
51
+ }
52
+
53
+ // 将时间字符串按照format格式化为dayjs时间。上海时区2024-1-1 12:00:00——》纽约时区2024-1-1 12:00:00
54
+ export function formatStringToDate(dateString, format) {
55
+ return originalDayjs(dateString, format).tz(timeZone, true);
42
56
  }
43
57
 
44
58
  //是否是对象
@@ -18,27 +18,29 @@ export function range(start, end) {
18
18
  }
19
19
 
20
20
  //格式化时间为字符串
21
- export function formatMomentToString(dateTime, format) {
21
+ export function formatDateToString(dateTime, format) {
22
22
  return moment(dateTime).format(format);
23
23
  }
24
24
 
25
25
  //格式化时间为字符串,并将其切割date time的一个数组
26
- export function formatMomentToSplit(dateTime, format) {
26
+ export function formatDateToSplit(dateTime, format) {
27
27
  var sp = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : " ";
28
- return formatMomentToString(dateTime, format).split(sp);
29
- }
30
- export function dateStringToSplit(dateTimeString) {
31
- var sp = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : " ";
32
- return dateTimeString.split(sp);
28
+ return formatDateToString(dateTime, format).split(sp);
33
29
  }
30
+
34
31
  /**
35
32
  * 时间选择器变换后包装到最终显示时间上
36
33
  */
37
- export function byTimeMomentToDateMoment(currentTime, currentDate) {
38
- var DateStr = formatMomentToSplit(currentDate, dateFormat)[0];
39
- var TimeStr = formatMomentToString(currentTime, timeFormat);
34
+ export function byTimeToDate(currentTime, currentDate) {
35
+ var DateStr = formatDateToSplit(currentDate, dateFormat)[0];
36
+ var TimeStr = formatDateToString(currentTime, timeFormat);
40
37
  var leftDateTimeStr = DateStr + " " + TimeStr;
41
- return moment(leftDateTimeStr, dateFormat);
38
+ return formatStringToDate(leftDateTimeStr, dateFormat);
39
+ }
40
+
41
+ // 将时间字符串按照format格式化为moment时间。上海时区2024-1-1 12:00:00——》纽约时区2024-1-1 12:00:00
42
+ export function formatStringToDate(dateString, format) {
43
+ return moment(dateString, format);
42
44
  }
43
45
 
44
46
  //是否是对象
@@ -46,7 +46,6 @@ function CWScrollLoad(_ref) {
46
46
  return;
47
47
  }
48
48
  fetchData(page, function (newData) {
49
- console.log(newData, "data");
50
49
  setData(data.concat(newData));
51
50
  return data.concat(newData);
52
51
  });
@@ -16,6 +16,7 @@ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
16
16
  function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
17
17
  function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }
18
18
  import React, { useMemo, useCallback } from "react";
19
+ import { DownOutlined } from "@ant-design/icons";
19
20
  import PropTypes from "prop-types";
20
21
  import classnames from "classnames";
21
22
  import useConfigContext from "../useConfigContext";
@@ -180,22 +181,12 @@ function CWMenu(_ref) {
180
181
  },
181
182
  mode: "inline",
182
183
  defaultSelectedKeys: defaultSelectedKey ? [defaultSelectedKey] : [defaultKey],
183
- inlineIndent: 12
184
- // expandIcon={item => {
185
- // return (
186
- // <span
187
- // className={
188
- // classnames({
189
- // 'cw-expand-arrow': true,
190
- // 'cw-expand-arrow-open': item.isOpen
191
- // })
192
- // }
193
- // >
194
- // <DownOutlined />
195
- // </span>
196
- // )
197
- // }}
198
- ,
184
+ inlineIndent: 12,
185
+ expandIcon: function expandIcon(item) {
186
+ return /*#__PURE__*/React.createElement("span", {
187
+ className: classnames(_defineProperty(_defineProperty({}, "".concat(prefixCls, "-expand-arrow"), true), "".concat(prefixCls, "-expand-arrow-open"), item.isOpen))
188
+ }, /*#__PURE__*/React.createElement(DownOutlined, null));
189
+ },
199
190
  defaultOpenKeys: defaultOpenKeys,
200
191
  items: items
201
192
  }, rest))));
@@ -5,15 +5,31 @@ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e
5
5
  import { genStyleHooks } from "../Antd5/theme/internal";
6
6
  var genCustomSiderMenuStyle = function genCustomSiderMenuStyle(token) {
7
7
  var prefixCls = token.antCls,
8
- componentCls = token.componentCls;
8
+ iconCls = token.iconCls;
9
9
  var SiderMenuPrefix = "".concat(prefixCls, "-sider-menu");
10
- return _defineProperty({}, "".concat(SiderMenuPrefix, "-goup-label"), {
10
+ return _defineProperty(_defineProperty({}, "".concat(SiderMenuPrefix, "-goup-label"), {
11
11
  borderBottom: "1px solid rgb(246, 247, 248)",
12
12
  width: "calc(100% + 14px)",
13
13
  marginLeft: "-7px",
14
14
  paddingBottom: "8px",
15
15
  color: token.colorText
16
- });
16
+ }), "".concat(SiderMenuPrefix, "-expand-arrow"), _defineProperty(_defineProperty({
17
+ position: "absolute",
18
+ top: "0",
19
+ right: "8px",
20
+ height: "100%",
21
+ width: "12px",
22
+ fontSize: "12px",
23
+ lineHeight: "40px"
24
+ }, iconCls, {
25
+ minWidth: "12px !important",
26
+ fontSize: "12px !important",
27
+ transition: "transform 0.3s !important"
28
+ }), "&&-open", _defineProperty({
29
+ color: token.colorPrimary
30
+ }, iconCls, {
31
+ transform: "rotate(180deg)"
32
+ })));
17
33
  };
18
34
  // ============================== Export ==============================
19
35
  export default genStyleHooks("SiderMenu", function (token) {
@@ -6,14 +6,14 @@ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" !=
6
6
  function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
7
7
  import { getInlineCode, isModuleScriptSupported } from './utils';
8
8
  var ALL_SCRIPT_REGEX = /(<script[\s\S]*?>)[\s\S]*?<\/script>/gi;
9
- var SCRIPT_TAG_REGEX = /<(script)\s+((?!type=('|")text\/ng\x2Dtemplate\3)[\s\S])*?>[\s\S]*?<\/\1>/i;
9
+ var SCRIPT_TAG_REGEX = /<(script)\s+((?!type=('|")text\/ng-template\3)[^])*?>[^]*?<\/\1>/i;
10
10
  var SCRIPT_SRC_REGEX = /.*\ssrc=('|")?([^>'"\s]+)/;
11
11
  var SCRIPT_TYPE_REGEX = /.*\stype=('|")?([^>'"\s]+)/;
12
12
  var SCRIPT_ENTRY_REGEX = /.*\sentry\s*.*/;
13
13
  var SCRIPT_ASYNC_REGEX = /.*\sasync\s*.*/;
14
14
  var SCRIPT_NO_MODULE_REGEX = /.*\snomodule\s*.*/;
15
15
  var SCRIPT_MODULE_REGEX = /.*\stype=('|")?module('|")?\s*.*/;
16
- var LINK_TAG_REGEX = /<(link)\s+[\s\S]*?>/ig;
16
+ var LINK_TAG_REGEX = /<(link)\s+[^]*?>/ig;
17
17
  var LINK_PRELOAD_OR_PREFETCH_REGEX = /\srel=('|")?(preload|prefetch)\1/;
18
18
  var LINK_HREF_REGEX = /.*\shref=('|")?([^>'"\s]+)/;
19
19
  var LINK_AS_FONT = /.*\sas=('|")?font\1.*/;
@@ -21,9 +21,9 @@ var STYLE_TAG_REGEX = /<style[^>]*>[\s\S]*?<\/style>/gi;
21
21
  var STYLE_TYPE_REGEX = /\s+rel=('|")?stylesheet\1.*/;
22
22
  var STYLE_HREF_REGEX = /.*\shref=('|")?([^>'"\s]+)/;
23
23
  var HTML_COMMENT_REGEX = /<!--([\s\S]*?)-->/g;
24
- var LINK_IGNORE_REGEX = /<link(\s+|\s+[\s\S]+\s+)ignore(\s*|\s+[\s\S]*|=[\s\S]*)>/i;
25
- var STYLE_IGNORE_REGEX = /<style(\s+|\s+[\s\S]+\s+)ignore(\s*|\s+[\s\S]*|=[\s\S]*)>/i;
26
- var SCRIPT_IGNORE_REGEX = /<script(\s+|\s+[\s\S]+\s+)ignore(\s*|\s+[\s\S]*|=[\s\S]*)>/i;
24
+ var LINK_IGNORE_REGEX = /<link(\s+|\s+[^]+\s+)ignore(\s*|\s+[^]*|=[^]*)>/i;
25
+ var STYLE_IGNORE_REGEX = /<style(\s+|\s+[^]+\s+)ignore(\s*|\s+[^]*|=[^]*)>/i;
26
+ var SCRIPT_IGNORE_REGEX = /<script(\s+|\s+[^]+\s+)ignore(\s*|\s+[^]*|=[^]*)>/i;
27
27
  function hasProtocol(url) {
28
28
  return url.startsWith('//') || url.startsWith('http://') || url.startsWith('https://');
29
29
  }
@@ -87,7 +87,7 @@ var useMouse = function useMouse(_ref) {
87
87
  canDrag: true
88
88
  });
89
89
  var isHoverBottomWrapper = useHover(TimeRangeSliderBottomWrapperRef);
90
- var millisecondsOfTheDay = dayjs.duration(1, "days").valueOf(); // 一天的毫秒数 86400000
90
+ var millisecondsOfTheDay = 86400000; // 一天的毫秒数 86400000
91
91
  var minWidth = min / millisecondsOfTheDay * timeSliderWidth;
92
92
  var maxWidth = max / millisecondsOfTheDay * timeSliderWidth;
93
93
  useEffect(function () {
@@ -4,12 +4,23 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
4
4
  function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
5
5
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
6
6
  function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
7
- import dayjs from "dayjs";
7
+ import originalDayjs from "dayjs";
8
8
  import duration from "dayjs/plugin/duration";
9
9
  import isSameOrAfter_dayjs from "dayjs/plugin/isSameOrAfter";
10
- dayjs.extend(isSameOrAfter_dayjs);
11
- dayjs.extend(duration);
10
+ import utc from "dayjs/plugin/utc";
11
+ import timezone from "dayjs/plugin/timezone";
12
12
  import { round } from "lodash-es";
13
+ originalDayjs.extend(isSameOrAfter_dayjs);
14
+ originalDayjs.extend(duration);
15
+ // 扩展 dayjs 支持时区
16
+ originalDayjs.extend(utc);
17
+ originalDayjs.extend(timezone);
18
+ // 封装 dayjs 函数,使其每次调用时自动应用当前的全局时区
19
+ var dayjs = function dayjs() {
20
+ var instance = originalDayjs.apply(void 0, arguments);
21
+ return instance.tz();
22
+ };
23
+
13
24
  // 获取所有日期 最近30天: 年月日
14
25
  // 第一天和最后一天合并成一天(上部分)
15
26
  export var getAllDates = function getAllDates(date, days) {
@@ -60,7 +71,7 @@ export var getConvertedDateData = function getConvertedDateData(dates, singleWid
60
71
  };
61
72
  // 获取传入日期的相关数据(上部分)
62
73
  var getDateInfo = function getDateInfo(date, index, left, singleWidth, lastWidth, days) {
63
- var millisecondsOfTheDay = dayjs.duration(1, "days").valueOf(); // 一天的毫秒数 86400000
74
+ var millisecondsOfTheDay = originalDayjs.duration(1, "days").valueOf(); // 一天的毫秒数 86400000
64
75
  var millisecondsOfTheDate = dayjs(date).valueOf(); // 传入日期的毫秒数
65
76
  var millisecondsOfTheDateStart = dayjs(date).startOf("day").valueOf(); // 传入日期的开始时间的毫秒数
66
77
  var millisecondsOfTheDateEnd = dayjs(date).endOf("day").valueOf(); // 传入日期的结束时间的毫秒数
@@ -84,7 +95,7 @@ var getDateInfo = function getDateInfo(date, index, left, singleWidth, lastWidth
84
95
  };
85
96
  // 根据left位置获取日期(上部分)
86
97
  export var getDateInfoByPositionInfo = function getDateInfoByPositionInfo(left, allWidth, currentMoment, days) {
87
- var millisecondsOfRecentlyMonth = dayjs.duration(days, "days").valueOf(); // 默认为30天的毫秒数 2592000000
98
+ var millisecondsOfRecentlyMonth = originalDayjs.duration(days, "days").valueOf(); // 默认为30天的毫秒数 2592000000
88
99
  var millisecondsOfRecentlyMonthStart = currentMoment.clone().subtract(days, "days").valueOf(); // 默认为最近30天的开始时间的毫秒数
89
100
  var diffTime = round(left / allWidth * millisecondsOfRecentlyMonth);
90
101
  var millisecondsOfTheDate = Number(diffTime);
@@ -97,7 +108,7 @@ export var getDateInfoByPositionInfo = function getDateInfoByPositionInfo(left,
97
108
  };
98
109
  // 根据日期获取left位置(上部分)
99
110
  export var getPositionInfoByDateInfo = function getPositionInfoByDateInfo(date, allWidth, currentMoment, days) {
100
- var millisecondsOfRecentlyMonth = dayjs.duration(days, "days").valueOf(); // 默认30天的毫秒数 2592000000
111
+ var millisecondsOfRecentlyMonth = originalDayjs.duration(days, "days").valueOf(); // 默认30天的毫秒数 2592000000
101
112
  var millisecondsOfTheDate = dayjs(date).valueOf(); // 传入日期的毫秒数
102
113
  var millisecondsOfRecentlyMonthStart = currentMoment.clone().subtract(days, "days").valueOf(); // 默认最近30天的开始时间的毫秒数
103
114
  var diffTime = millisecondsOfTheDate - millisecondsOfRecentlyMonthStart;
@@ -153,7 +164,7 @@ export var getPositionInfoByTimeDateInfo = function getPositionInfoByTimeDateInf
153
164
  width: width
154
165
  };
155
166
  }
156
- var millisecondsOfRecentlyMonth = dayjs.duration(days, "days").valueOf(); // 默认30天的毫秒数 2592000000
167
+ var millisecondsOfRecentlyMonth = originalDayjs.duration(days, "days").valueOf(); // 默认30天的毫秒数 2592000000
157
168
  var millisecondsOfTheDateStart = getValueOfDateByDate(date[0]); // 传入日期的毫秒数开始值
158
169
  var millisecondsOfTheDateEnd = getValueOfDateByDate(date[1]); // 传入日期的毫秒数结束值
159
170
  var millisecondsOfTheDateRecordTimeDataStart = getValueOfDateByDate(recordTimeDateWrapper[0]); // 容器轴开始时间点的毫秒数
@@ -173,7 +184,7 @@ export var getPositionInfoByTimeDateInfo = function getPositionInfoByTimeDateInf
173
184
  };
174
185
  // 传入left和width获取日期(下部分)
175
186
  export var getTimeDateInfoByPositionInfo = function getTimeDateInfoByPositionInfo(left, width, allWidth, currentMoment, recordTimeDateWrapper, days) {
176
- var millisecondsOfRecentlyMonth = dayjs.duration(days, "days").valueOf(); // 默认为30天的毫秒数 2592000000
187
+ var millisecondsOfRecentlyMonth = originalDayjs.duration(days, "days").valueOf(); // 默认为30天的毫秒数 2592000000
177
188
  var millisecondsOfRecentlyMonthStart = currentMoment.clone().subtract(days, "days").valueOf(); // 默认为最近30天的开始时间的毫秒数
178
189
  var millisecondsOfTheDateRecordTimeDataStart = getValueOfDateByDate(recordTimeDateWrapper[0]); // 容器轴开始时间点的毫秒数
179
190
  var diffTimeRecordTimeStart = millisecondsOfTheDateRecordTimeDataStart - millisecondsOfRecentlyMonthStart; // 容器轴开始时间点于默认最近30天开始时间的毫秒差
@@ -237,7 +248,7 @@ export var computeTimeSpan = function computeTimeSpan(value) {
237
248
  if (timeDiff >= 60) {
238
249
  timeDiff = Number(timeDiff + 1);
239
250
  }
240
- var duration = dayjs.duration(timeDiff, "s");
251
+ var duration = originalDayjs.duration(timeDiff, "s");
241
252
  var _duration$$d = duration.$d,
242
253
  years = _duration$$d.years,
243
254
  months = _duration$$d.months,