hc-busin-components 1.0.3 → 1.0.4

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.
@@ -15,7 +15,7 @@ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol"
15
15
  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); }
16
16
  import { SearchOutlined } from '@ant-design/icons';
17
17
  import { ConfigProvider, Divider, Dropdown, Input, Popover } from 'antd';
18
- import React, { useCallback, useContext, useEffect, useMemo, useState } from 'react';
18
+ import React, { useCallback, useContext, useEffect, useMemo, useRef, useState } from 'react';
19
19
  import ComponentUninstalled from "../ComponentUninstalled";
20
20
  import Icon from "../Icon";
21
21
  import TextEllipsis from "../TextEllipsis";
@@ -91,6 +91,10 @@ var CascaderCluster = function CascaderCluster(props) {
91
91
  _useState12 = _slicedToArray(_useState11, 2),
92
92
  currentCluster = _useState12[0],
93
93
  setCurrentCluster = _useState12[1];
94
+ var onClusterChangeRef = useRef(onClusterChange);
95
+ useEffect(function () {
96
+ onClusterChangeRef.current = onClusterChange;
97
+ }, [onClusterChange]);
94
98
  var resolvedDataInterface = useMemo(function () {
95
99
  if (dataInterfaceProp) return dataInterfaceProp;
96
100
  if (services) return buildCascaderClusterDataInterface(space, isBackend, storage, services);
@@ -103,6 +107,9 @@ var CascaderCluster = function CascaderCluster(props) {
103
107
  writeFilterCache(storage, isBackend, pathname, params);
104
108
  onFilterCacheChange === null || onFilterCacheChange === void 0 || onFilterCacheChange(params);
105
109
  }, [storage, isBackend, pathname, onFilterCacheChange]);
110
+ var emitClusterChange = useCallback(function (clusterName) {
111
+ onClusterChangeRef.current(clusterName);
112
+ }, []);
106
113
  var getInitCluster = useCallback(function (list, dcData) {
107
114
  var cachedClusterName = getCache().clusterName;
108
115
  var all = list || [];
@@ -120,43 +127,45 @@ var CascaderCluster = function CascaderCluster(props) {
120
127
  var clusterName = cluster.clusterName || '';
121
128
  setCurrentCluster(clusterName);
122
129
  if (clusterName) {
123
- onClusterChange(clusterName);
130
+ emitClusterChange(clusterName);
124
131
  }
125
132
  saveCache(_objectSpread(_objectSpread({}, dcData), {}, {
126
133
  clusterName: clusterName
127
134
  }));
128
- }, [getCache, onClusterChange, saveCache]);
129
- var fetchClusterList = useCallback( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
130
- var _resolvedDataInterfac;
131
- var params,
132
- list,
133
- _args = arguments;
134
- return _regeneratorRuntime().wrap(function _callee$(_context) {
135
- while (1) switch (_context.prev = _context.next) {
136
- case 0:
137
- params = _args.length > 0 && _args[0] !== undefined ? _args[0] : currentDatacenter;
138
- if (resolvedDataInterface !== null && resolvedDataInterface !== void 0 && (_resolvedDataInterfac = resolvedDataInterface.resource) !== null && _resolvedDataInterfac !== void 0 && _resolvedDataInterfac.service) {
139
- _context.next = 3;
140
- break;
141
- }
142
- return _context.abrupt("return");
143
- case 3:
144
- _context.next = 5;
145
- return resolvedDataInterface.resource.service(_objectSpread(_objectSpread({}, resolvedDataInterface.resource.params || {}), {}, {
146
- dataCenterId: params === null || params === void 0 ? void 0 : params.dataCenterId,
147
- logicalUnitId: params === null || params === void 0 ? void 0 : params.logicalUnitId
148
- }));
149
- case 5:
150
- list = _context.sent;
151
- setAllClusters(list);
152
- setClusterList(list);
153
- getInitCluster(list, params);
154
- case 9:
155
- case "end":
156
- return _context.stop();
157
- }
158
- }, _callee);
159
- })), [resolvedDataInterface, currentDatacenter, getInitCluster]);
135
+ }, [emitClusterChange, getCache, saveCache]);
136
+ var fetchClusterList = useCallback( /*#__PURE__*/function () {
137
+ var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(params) {
138
+ var _resolvedDataInterfac;
139
+ var list;
140
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
141
+ while (1) switch (_context.prev = _context.next) {
142
+ case 0:
143
+ if (resolvedDataInterface !== null && resolvedDataInterface !== void 0 && (_resolvedDataInterfac = resolvedDataInterface.resource) !== null && _resolvedDataInterfac !== void 0 && _resolvedDataInterfac.service) {
144
+ _context.next = 2;
145
+ break;
146
+ }
147
+ return _context.abrupt("return");
148
+ case 2:
149
+ _context.next = 4;
150
+ return resolvedDataInterface.resource.service(_objectSpread(_objectSpread({}, resolvedDataInterface.resource.params || {}), {}, {
151
+ dataCenterId: params === null || params === void 0 ? void 0 : params.dataCenterId,
152
+ logicalUnitId: params === null || params === void 0 ? void 0 : params.logicalUnitId
153
+ }));
154
+ case 4:
155
+ list = _context.sent;
156
+ setAllClusters(list);
157
+ setClusterList(list);
158
+ getInitCluster(list, params);
159
+ case 8:
160
+ case "end":
161
+ return _context.stop();
162
+ }
163
+ }, _callee);
164
+ }));
165
+ return function (_x) {
166
+ return _ref.apply(this, arguments);
167
+ };
168
+ }(), [resolvedDataInterface, getInitCluster]);
160
169
  var getLdcWriteBack = useCallback(function (list) {
161
170
  var cache = getCache();
162
171
  if (cache.id === '-1') {
@@ -257,7 +266,7 @@ var CascaderCluster = function CascaderCluster(props) {
257
266
  if (space === 'cluster') {
258
267
  var cluster = String(storage.getSession('clusterName') || '');
259
268
  setCurrentCluster(cluster);
260
- onClusterChange(cluster);
269
+ emitClusterChange(cluster);
261
270
  setDatacenterList([]);
262
271
  setClusterList([]);
263
272
  setAllClusters([]);
@@ -269,7 +278,7 @@ var CascaderCluster = function CascaderCluster(props) {
269
278
  return;
270
279
  }
271
280
  fetchDatacenterList();
272
- }, [space, datacenters, clusters, compoKey, fetchDatacenterList, getInitDatacenter, onClusterChange, storage]);
281
+ }, [space, datacenters, clusters, compoKey, fetchDatacenterList, getInitDatacenter, emitClusterChange, storage]);
273
282
  useEffect(function () {
274
283
  if (!pathname.includes('resourceQuotaCenter')) return;
275
284
  var timer = setTimeout(function () {
@@ -331,7 +340,7 @@ var CascaderCluster = function CascaderCluster(props) {
331
340
  };
332
341
  var handleChangeCluster = function handleChangeCluster(cluster) {
333
342
  setCurrentCluster(cluster.clusterName);
334
- onClusterChange(cluster.clusterName);
343
+ emitClusterChange(cluster.clusterName);
335
344
  saveCache(_objectSpread(_objectSpread({}, currentDatacenter), {}, {
336
345
  clusterName: cluster.clusterName
337
346
  }));
@@ -13,6 +13,16 @@ export interface TimeRangeInfo {
13
13
  timeUnitId?: number;
14
14
  id?: number;
15
15
  }
16
+ export interface DateRangePickerValue {
17
+ from: string;
18
+ to: string;
19
+ inputValue?: string;
20
+ diff?: number;
21
+ sliderValue?: number | null;
22
+ interval?: number;
23
+ timeUnitId?: number;
24
+ id?: number;
25
+ }
16
26
  export interface QuickTimeOption {
17
27
  id: number;
18
28
  value: number;
@@ -21,9 +31,14 @@ export interface QuickTimeOption {
21
31
  interval?: number;
22
32
  timeUnitId?: number;
23
33
  }
34
+ export interface DateRangePickerLocale {
35
+ recent: React.ReactNode;
36
+ custom: React.ReactNode;
37
+ confirm: React.ReactNode;
38
+ }
24
39
  export interface DateRangePickerProps {
25
40
  onChange?: (timeInfo: TimeRangeInfo) => void;
26
- value?: TimeRangeInfo;
41
+ value?: DateRangePickerValue;
27
42
  format?: string;
28
43
  placement?: 'bottomLeft' | 'bottomRight' | 'topLeft' | 'topRight';
29
44
  quickTimeOptions?: QuickTimeOption[];
@@ -33,6 +48,7 @@ export interface DateRangePickerProps {
33
48
  width?: number | string;
34
49
  disabled?: boolean;
35
50
  flat?: boolean;
51
+ locale?: Partial<DateRangePickerLocale>;
36
52
  }
37
53
  declare const DateRangePicker: React.FC<DateRangePickerProps>;
38
54
  export default DateRangePicker;
@@ -1,9 +1,3 @@
1
- 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); }
2
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
4
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
5
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
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
1
  function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
8
2
  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."); }
9
3
  function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
@@ -14,8 +8,14 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
14
8
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
15
9
  function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
16
10
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
11
+ 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); }
12
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
13
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
14
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
15
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
16
+ 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); }
17
17
  import { CalendarOutlined, CloseOutlined } from '@ant-design/icons';
18
- import { Button, ConfigProvider, DatePicker, Input, Popover, Radio, Slider, Switch } from 'antd';
18
+ import { Button, ConfigProvider, DatePicker, Input, Popover, Segmented, Slider, Switch } from 'antd';
19
19
  import dayjs from 'dayjs';
20
20
  import customParseFormat from 'dayjs/plugin/customParseFormat';
21
21
  import moment from 'moment';
@@ -24,56 +24,55 @@ import enUS from 'rc-calendar/lib/locale/en_US';
24
24
  import zhCN from 'rc-calendar/lib/locale/zh_CN';
25
25
  import zhHK from 'rc-calendar/lib/locale/zh_TW';
26
26
  import TimePickerPanel from 'rc-time-picker/lib/Panel';
27
- import React, { useCallback, useContext, useEffect, useMemo, useState } from 'react';
27
+ import React, { useCallback, useContext, useEffect, useMemo, useRef, useState } from 'react';
28
28
  import 'rc-calendar/assets/index.css';
29
29
  import 'rc-time-picker/assets/index.css';
30
30
  import "./index.less";
31
31
  dayjs.extend(customParseFormat);
32
32
  var RangePicker = DatePicker.RangePicker;
33
33
  var DEFAULT_DATE_TIME_FORMAT = 'YYYY-MM-DD HH:mm:ss';
34
- var DEFAULT_QUICK_TIME_OPTIONS = [{
34
+ var DEFAULT_QUICK_TIME_OPTION_PRESETS = [{
35
35
  id: 1,
36
36
  value: 1,
37
- label: '5分钟',
38
37
  diff: 5 * 60 * 1000,
39
38
  interval: 1,
40
39
  timeUnitId: 1
41
40
  }, {
42
41
  id: 2,
43
42
  value: 2,
44
- label: '1小时',
45
43
  diff: 60 * 60 * 1000,
46
44
  interval: 2,
47
45
  timeUnitId: 2
48
46
  }, {
49
47
  id: 3,
50
48
  value: 3,
51
- label: '6小时',
52
49
  diff: 6 * 60 * 60 * 1000,
53
50
  interval: 4,
54
51
  timeUnitId: 2
55
52
  }, {
56
53
  id: 4,
57
54
  value: 4,
58
- label: '12小时',
59
55
  diff: 12 * 60 * 60 * 1000,
60
56
  interval: 5,
61
57
  timeUnitId: 4
62
58
  }, {
63
59
  id: 5,
64
60
  value: 5,
65
- label: '1天',
66
61
  diff: 24 * 60 * 60 * 1000,
67
62
  interval: 6,
68
63
  timeUnitId: 5
69
64
  }, {
70
65
  id: 6,
71
66
  value: 6,
72
- label: '7天',
73
67
  diff: 7 * 24 * 60 * 60 * 1000,
74
68
  interval: 5,
75
69
  timeUnitId: 5
76
70
  }];
71
+ var DEFAULT_QUICK_TIME_OPTION_LABELS = {
72
+ 'zh-CN': ['5分钟', '1小时', '6小时', '12小时', '1天', '7天'],
73
+ 'zh-HK': ['5分鐘', '1小時', '6小時', '12小時', '1天', '7天'],
74
+ 'en-US': ['5m', '1h', '6h', '12h', '1d', '7d']
75
+ };
77
76
  var LOCALE_TEXT = {
78
77
  'zh-CN': {
79
78
  recent: '最近',
@@ -98,21 +97,83 @@ var CALENDAR_LOCALE_MAP = {
98
97
  };
99
98
  var PRIMARY = 'var(--ant-color-primary, #1677ff)';
100
99
  var TEXT_SECONDARY = 'rgba(0, 0, 0, 0.65)';
100
+ var getDefaultQuickTimeOptions = function getDefaultQuickTimeOptions(locale) {
101
+ return DEFAULT_QUICK_TIME_OPTION_PRESETS.map(function (item, index) {
102
+ return _objectSpread(_objectSpread({}, item), {}, {
103
+ label: DEFAULT_QUICK_TIME_OPTION_LABELS[locale][index]
104
+ });
105
+ });
106
+ };
107
+ var getSafeDayjs = function getSafeDayjs(value, format) {
108
+ var strictValue = dayjs(value, format, true);
109
+ return strictValue.isValid() ? strictValue : dayjs(value);
110
+ };
111
+ var getPickerStateSnapshot = function getPickerStateSnapshot(value, format, quickTimeOptions) {
112
+ var _quickTimeOptions$;
113
+ var defaultOption = (_quickTimeOptions$ = quickTimeOptions[0]) !== null && _quickTimeOptions$ !== void 0 ? _quickTimeOptions$ : getDefaultQuickTimeOptions('zh-CN')[0];
114
+ var defaultTo = dayjs();
115
+ var defaultFrom = dayjs().subtract(defaultOption.diff, 'millisecond');
116
+ if (!value) {
117
+ return {
118
+ isRecent: true,
119
+ sliderValue: defaultOption.value,
120
+ selectTimeRange: [defaultFrom, defaultTo],
121
+ customTimeRange: [moment(defaultFrom.valueOf()), moment(defaultTo.valueOf())],
122
+ displayValue: defaultOption.label,
123
+ flatRadioValue: defaultOption.id
124
+ };
125
+ }
126
+ var safeFrom = getSafeDayjs(value.from, format);
127
+ var safeTo = getSafeDayjs(value.to, format);
128
+ if (value.sliderValue !== null && value.sliderValue !== undefined) {
129
+ var _matchedOption$value, _ref, _matchedOption$label;
130
+ var matchedOption = quickTimeOptions.find(function (option) {
131
+ return option.id === value.id || option.value === value.sliderValue;
132
+ });
133
+ return {
134
+ isRecent: true,
135
+ sliderValue: (_matchedOption$value = matchedOption === null || matchedOption === void 0 ? void 0 : matchedOption.value) !== null && _matchedOption$value !== void 0 ? _matchedOption$value : value.sliderValue,
136
+ selectTimeRange: [safeFrom, safeTo],
137
+ customTimeRange: [moment(safeFrom.valueOf()), moment(safeTo.valueOf())],
138
+ displayValue: (_ref = (_matchedOption$label = matchedOption === null || matchedOption === void 0 ? void 0 : matchedOption.label) !== null && _matchedOption$label !== void 0 ? _matchedOption$label : value.inputValue) !== null && _ref !== void 0 ? _ref : "".concat(value.from, " - ").concat(value.to),
139
+ flatRadioValue: matchedOption === null || matchedOption === void 0 ? void 0 : matchedOption.id
140
+ };
141
+ }
142
+ return {
143
+ isRecent: false,
144
+ sliderValue: defaultOption.value,
145
+ selectTimeRange: [safeFrom, safeTo],
146
+ customTimeRange: [moment(safeFrom.valueOf()), moment(safeTo.valueOf())],
147
+ displayValue: value.inputValue || "".concat(value.from, " - ").concat(value.to),
148
+ flatRadioValue: undefined
149
+ };
150
+ };
151
+ var normalizeDisabledDateFrom = function normalizeDisabledDateFrom(source) {
152
+ if (!source) {
153
+ return [];
154
+ }
155
+ var rawFrom = _typeof(source) === 'object' && !Array.isArray(source) && 'from' in source ? source.from : source;
156
+ var fromList = Array.isArray(rawFrom) ? rawFrom : [rawFrom];
157
+ return fromList.filter(function (item) {
158
+ return Boolean(item);
159
+ }).map(function (item) {
160
+ return dayjs(item.valueOf());
161
+ });
162
+ };
101
163
  var DateRangePicker = function DateRangePicker(props) {
102
- var _quickTimeOptions$2;
103
164
  var onChange = props.onChange,
104
165
  value = props.value,
105
166
  _props$format = props.format,
106
167
  format = _props$format === void 0 ? DEFAULT_DATE_TIME_FORMAT : _props$format,
107
168
  _props$placement = props.placement,
108
169
  placement = _props$placement === void 0 ? 'bottomLeft' : _props$placement,
109
- _props$quickTimeOptio = props.quickTimeOptions,
110
- quickTimeOptions = _props$quickTimeOptio === void 0 ? DEFAULT_QUICK_TIME_OPTIONS : _props$quickTimeOptio,
170
+ quickTimeOptionsProp = props.quickTimeOptions,
111
171
  disabledDate = props.disabledDate,
112
172
  width = props.width,
113
173
  disabled = props.disabled,
114
174
  _props$flat = props.flat,
115
- flat = _props$flat === void 0 ? false : _props$flat;
175
+ flat = _props$flat === void 0 ? false : _props$flat,
176
+ localeProp = props.locale;
116
177
  var _useContext = useContext(ConfigProvider.ConfigContext),
117
178
  antdLocale = _useContext.locale;
118
179
  var currentLocale = useMemo(function () {
@@ -128,40 +189,53 @@ var DateRangePicker = function DateRangePicker(props) {
128
189
  }
129
190
  return 'zh-CN';
130
191
  }, [antdLocale]);
131
- var i18n = useMemo(function () {
132
- return LOCALE_TEXT[currentLocale];
192
+ var defaultQuickTimeOptions = useMemo(function () {
193
+ return getDefaultQuickTimeOptions(currentLocale);
133
194
  }, [currentLocale]);
134
- var _useState = useState(false),
135
- _useState2 = _slicedToArray(_useState, 2),
136
- visible = _useState2[0],
137
- setVisible = _useState2[1];
138
- var _useState3 = useState(true),
139
- _useState4 = _slicedToArray(_useState3, 2),
140
- isRecent = _useState4[0],
141
- setIsRecent = _useState4[1];
142
- var _useState5 = useState(function () {
143
- var _quickTimeOptions$0$v, _quickTimeOptions$;
144
- return (_quickTimeOptions$0$v = (_quickTimeOptions$ = quickTimeOptions[0]) === null || _quickTimeOptions$ === void 0 ? void 0 : _quickTimeOptions$.value) !== null && _quickTimeOptions$0$v !== void 0 ? _quickTimeOptions$0$v : DEFAULT_QUICK_TIME_OPTIONS[0].value;
195
+ var quickTimeOptions = useMemo(function () {
196
+ return quickTimeOptionsProp !== null && quickTimeOptionsProp !== void 0 && quickTimeOptionsProp.length ? quickTimeOptionsProp : defaultQuickTimeOptions;
197
+ }, [quickTimeOptionsProp, defaultQuickTimeOptions]);
198
+ var mergedLocale = useMemo(function () {
199
+ return _objectSpread(_objectSpread({}, LOCALE_TEXT[currentLocale]), localeProp);
200
+ }, [currentLocale, localeProp]);
201
+ var _useState = useState(function () {
202
+ return getPickerStateSnapshot(value, format, quickTimeOptions);
145
203
  }),
204
+ _useState2 = _slicedToArray(_useState, 1),
205
+ initialState = _useState2[0];
206
+ var _useState3 = useState(false),
207
+ _useState4 = _slicedToArray(_useState3, 2),
208
+ visible = _useState4[0],
209
+ setVisible = _useState4[1];
210
+ var _useState5 = useState(initialState.isRecent),
146
211
  _useState6 = _slicedToArray(_useState5, 2),
147
- sliderValue = _useState6[0],
148
- setSliderValue = _useState6[1];
149
- var _useState7 = useState([dayjs().subtract(1, 'day'), dayjs()]),
212
+ isRecent = _useState6[0],
213
+ setIsRecent = _useState6[1];
214
+ var _useState7 = useState(initialState.sliderValue),
150
215
  _useState8 = _slicedToArray(_useState7, 2),
151
- selectTimeRange = _useState8[0],
152
- setSelectTimeRange = _useState8[1];
153
- var _useState9 = useState([moment().subtract(1, 'days'), moment()]),
216
+ sliderValue = _useState8[0],
217
+ setSliderValue = _useState8[1];
218
+ var _useState9 = useState(initialState.selectTimeRange),
154
219
  _useState10 = _slicedToArray(_useState9, 2),
155
- customTimeRange = _useState10[0],
156
- setCustomTimeRange = _useState10[1];
157
- var _useState11 = useState(''),
220
+ selectTimeRange = _useState10[0],
221
+ setSelectTimeRange = _useState10[1];
222
+ var _useState11 = useState(initialState.customTimeRange),
158
223
  _useState12 = _slicedToArray(_useState11, 2),
159
- displayValue = _useState12[0],
160
- setDisplayValue = _useState12[1];
161
- var _useState13 = useState((_quickTimeOptions$2 = quickTimeOptions[0]) === null || _quickTimeOptions$2 === void 0 ? void 0 : _quickTimeOptions$2.id),
224
+ customTimeRange = _useState12[0],
225
+ setCustomTimeRange = _useState12[1];
226
+ var _useState13 = useState(initialState.displayValue),
162
227
  _useState14 = _slicedToArray(_useState13, 2),
163
- flatRadioValue = _useState14[0],
164
- setFlatRadioValue = _useState14[1];
228
+ displayValue = _useState14[0],
229
+ setDisplayValue = _useState14[1];
230
+ var _useState15 = useState(initialState.flatRadioValue),
231
+ _useState16 = _slicedToArray(_useState15, 2),
232
+ flatRadioValue = _useState16[0],
233
+ setFlatRadioValue = _useState16[1];
234
+ var flatSegmentedRef = useRef(null);
235
+ var _useState17 = useState({}),
236
+ _useState18 = _slicedToArray(_useState17, 2),
237
+ flatSegmentedThumbStyle = _useState18[0],
238
+ setFlatSegmentedThumbStyle = _useState18[1];
165
239
  var marks = useMemo(function () {
166
240
  var marksObj = {};
167
241
  quickTimeOptions.forEach(function (option) {
@@ -178,10 +252,70 @@ var DateRangePicker = function DateRangePicker(props) {
178
252
  max: Math.max.apply(Math, _toConsumableArray(values))
179
253
  };
180
254
  }, [quickTimeOptions]);
255
+ var flatSegmentedOptions = useMemo(function () {
256
+ return quickTimeOptions.map(function (item) {
257
+ return {
258
+ label: item.label,
259
+ value: item.id
260
+ };
261
+ });
262
+ }, [quickTimeOptions]);
263
+ var flatSegmentedTheme = useMemo(function () {
264
+ return {
265
+ cssVar: {
266
+ key: 'hc-date-range-picker-flat-segmented'
267
+ },
268
+ token: {
269
+ borderRadius: 4,
270
+ borderRadiusSM: 4,
271
+ boxShadowTertiary: '0 1px 10px rgba(0, 0, 0, 0.08)',
272
+ colorBgElevated: '#FFFFFF'
273
+ },
274
+ components: {
275
+ Segmented: {
276
+ trackBg: 'rgba(40, 105, 246, 0.1)',
277
+ trackPadding: 3,
278
+ itemColor: 'rgba(0, 0, 0, 0.85)',
279
+ itemHoverColor: 'rgba(0, 0, 0, 0.85)',
280
+ itemSelectedColor: '#2869F6'
281
+ }
282
+ }
283
+ };
284
+ }, []);
285
+ var quickTimeOptionsSignature = useMemo(function () {
286
+ return quickTimeOptions.map(function (item) {
287
+ var _item$interval, _item$timeUnitId;
288
+ return "".concat(item.id, ":").concat(item.value, ":").concat(item.label, ":").concat(item.diff, ":").concat((_item$interval = item.interval) !== null && _item$interval !== void 0 ? _item$interval : '', ":").concat((_item$timeUnitId = item.timeUnitId) !== null && _item$timeUnitId !== void 0 ? _item$timeUnitId : '');
289
+ }).join('|');
290
+ }, [quickTimeOptions]);
181
291
  var setRangeByDate = useCallback(function (from, to) {
182
292
  setSelectTimeRange([from, to]);
183
293
  setCustomTimeRange([moment(from.valueOf()), moment(to.valueOf())]);
184
294
  }, []);
295
+ var updateFlatSegmentedThumb = useCallback(function () {
296
+ var _items$find;
297
+ if (!flatSegmentedRef.current || flatRadioValue === undefined) {
298
+ setFlatSegmentedThumbStyle(_defineProperty({}, '--hc-date-range-picker-flat-segmented-thumb-opacity', 0));
299
+ return;
300
+ }
301
+ var rootElement = flatSegmentedRef.current;
302
+ var items = Array.from(rootElement.querySelectorAll('.ant-segmented-item'));
303
+ var targetItem = (_items$find = items.find(function (item) {
304
+ var input = item.querySelector('.ant-segmented-item-input');
305
+ return input === null || input === void 0 ? void 0 : input.checked;
306
+ })) !== null && _items$find !== void 0 ? _items$find : items.find(function (item) {
307
+ var input = item.querySelector('.ant-segmented-item-input');
308
+ return Number(input === null || input === void 0 ? void 0 : input.value) === flatRadioValue;
309
+ });
310
+ var targetLabel = targetItem === null || targetItem === void 0 ? void 0 : targetItem.querySelector('.ant-segmented-item-label');
311
+ if (!targetItem || !targetLabel) {
312
+ setFlatSegmentedThumbStyle(_defineProperty({}, '--hc-date-range-picker-flat-segmented-thumb-opacity', 0));
313
+ return;
314
+ }
315
+ var rootRect = rootElement.getBoundingClientRect();
316
+ var labelRect = targetLabel.getBoundingClientRect();
317
+ setFlatSegmentedThumbStyle(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, '--hc-date-range-picker-flat-segmented-thumb-left', "".concat(labelRect.left - rootRect.left, "px")), '--hc-date-range-picker-flat-segmented-thumb-top', "".concat(labelRect.top - rootRect.top, "px")), '--hc-date-range-picker-flat-segmented-thumb-width', "".concat(labelRect.width, "px")), '--hc-date-range-picker-flat-segmented-thumb-height', "".concat(labelRect.height, "px")), '--hc-date-range-picker-flat-segmented-thumb-opacity', 1));
318
+ }, [flatRadioValue]);
185
319
  var calculateInterval = useCallback(function (fromTime, toTime) {
186
320
  var diff = dayjs(toTime).valueOf() - dayjs(fromTime).valueOf();
187
321
  var hours = diff / (60 * 60 * 1000);
@@ -215,46 +349,34 @@ var DateRangePicker = function DateRangePicker(props) {
215
349
  };
216
350
  }, []);
217
351
  useEffect(function () {
218
- if (value) {
219
- var sValue = value.sliderValue,
220
- from = value.from,
221
- to = value.to;
222
- var fromD = dayjs(from, format, true);
223
- var toD = dayjs(to, format, true);
224
- var safeFrom = fromD.isValid() ? fromD : dayjs(from);
225
- var safeTo = toD.isValid() ? toD : dayjs(to);
226
- setRangeByDate(safeFrom, safeTo);
227
- if (sValue !== null && sValue !== undefined) {
228
- setIsRecent(true);
229
- setSliderValue(sValue);
230
- var option = quickTimeOptions.find(function (opt) {
231
- return opt.id === value.id || opt.value === sValue;
232
- });
233
- if (option) {
234
- setDisplayValue(option.label);
235
- if (flat) {
236
- setFlatRadioValue(option.id);
237
- }
238
- }
239
- } else {
240
- setIsRecent(false);
241
- setDisplayValue("".concat(from, " - ").concat(to));
242
- if (flat) {
243
- setFlatRadioValue(undefined);
244
- }
245
- }
246
- } else if (quickTimeOptions.length > 0) {
247
- var defaultOption = quickTimeOptions[0];
248
- var _to = dayjs();
249
- var _from = dayjs().subtract(defaultOption.diff, 'millisecond');
250
- setSliderValue(defaultOption.value);
251
- setDisplayValue(defaultOption.label);
252
- setRangeByDate(_from, _to);
253
- if (flat) {
254
- setFlatRadioValue(defaultOption.id);
255
- }
352
+ var nextState = getPickerStateSnapshot(value, format, quickTimeOptions);
353
+ setIsRecent(nextState.isRecent);
354
+ setSliderValue(nextState.sliderValue);
355
+ setSelectTimeRange(nextState.selectTimeRange);
356
+ setCustomTimeRange(nextState.customTimeRange);
357
+ setDisplayValue(nextState.displayValue);
358
+ setFlatRadioValue(flat ? nextState.flatRadioValue : undefined);
359
+ }, [value, quickTimeOptionsSignature, flat, format, quickTimeOptions]);
360
+ useEffect(function () {
361
+ if (!flat) {
362
+ return;
363
+ }
364
+ var frameId = window.requestAnimationFrame(function () {
365
+ updateFlatSegmentedThumb();
366
+ });
367
+ var resizeObserver = typeof ResizeObserver === 'undefined' || !flatSegmentedRef.current ? null : new ResizeObserver(function () {
368
+ updateFlatSegmentedThumb();
369
+ });
370
+ if (flatSegmentedRef.current) {
371
+ resizeObserver === null || resizeObserver === void 0 || resizeObserver.observe(flatSegmentedRef.current);
256
372
  }
257
- }, [value, quickTimeOptions, flat, format, setRangeByDate]);
373
+ window.addEventListener('resize', updateFlatSegmentedThumb);
374
+ return function () {
375
+ window.cancelAnimationFrame(frameId);
376
+ resizeObserver === null || resizeObserver === void 0 || resizeObserver.disconnect();
377
+ window.removeEventListener('resize', updateFlatSegmentedThumb);
378
+ };
379
+ }, [flat, flatSegmentedOptions, updateFlatSegmentedThumb]);
258
380
  var handleRecentSave = useCallback(function () {
259
381
  var option = quickTimeOptions.find(function (opt) {
260
382
  return opt.value === sliderValue;
@@ -305,13 +427,10 @@ var DateRangePicker = function DateRangePicker(props) {
305
427
  onChange === null || onChange === void 0 || onChange(timeInfo);
306
428
  }, [customTimeRange, format, calculateInterval, onChange]);
307
429
  var wrappedDisabledDateForCalendar = useCallback(function (current, options) {
308
- var _options$from$map, _options$from;
309
430
  if (!disabledDate) {
310
431
  return false;
311
432
  }
312
- var fromArr = (_options$from$map = options === null || options === void 0 || (_options$from = options.from) === null || _options$from === void 0 ? void 0 : _options$from.map(function (item) {
313
- return dayjs(item.valueOf());
314
- })) !== null && _options$from$map !== void 0 ? _options$from$map : [];
433
+ var fromArr = normalizeDisabledDateFrom(options);
315
434
  var currentDayjs = current ? dayjs(current.valueOf()) : null;
316
435
  return disabledDate(currentDayjs, {
317
436
  from: fromArr
@@ -326,8 +445,8 @@ var DateRangePicker = function DateRangePicker(props) {
326
445
  from: fromArr
327
446
  });
328
447
  }, [disabledDate]);
329
- var handleFlatRadioChange = useCallback(function (e) {
330
- var selectedId = e.target.value;
448
+ var handleFlatSegmentedChange = useCallback(function (selectedValue) {
449
+ var selectedId = Number(selectedValue);
331
450
  setFlatRadioValue(selectedId);
332
451
  var option = quickTimeOptions.find(function (opt) {
333
452
  return opt.id === selectedId;
@@ -383,7 +502,7 @@ var DateRangePicker = function DateRangePicker(props) {
383
502
  style: {
384
503
  color: isRecent ? PRIMARY : TEXT_SECONDARY
385
504
  }
386
- }, i18n.recent), /*#__PURE__*/React.createElement(Switch, {
505
+ }, mergedLocale.recent), /*#__PURE__*/React.createElement(Switch, {
387
506
  checked: !isRecent,
388
507
  onChange: function onChange(checked) {
389
508
  return setIsRecent(!checked);
@@ -396,7 +515,7 @@ var DateRangePicker = function DateRangePicker(props) {
396
515
  style: {
397
516
  color: isRecent ? TEXT_SECONDARY : PRIMARY
398
517
  }
399
- }, i18n.custom)), /*#__PURE__*/React.createElement(CloseOutlined, {
518
+ }, mergedLocale.custom)), /*#__PURE__*/React.createElement(CloseOutlined, {
400
519
  className: "hc-date-range-picker-close",
401
520
  onClick: function onClick() {
402
521
  return setVisible(false);
@@ -421,7 +540,7 @@ var DateRangePicker = function DateRangePicker(props) {
421
540
  type: "primary",
422
541
  size: "small",
423
542
  onClick: handleRecentSave
424
- }, i18n.confirm))) : /*#__PURE__*/React.createElement("div", {
543
+ }, mergedLocale.confirm))) : /*#__PURE__*/React.createElement("div", {
425
544
  className: "hc-date-range-picker-custom"
426
545
  }, /*#__PURE__*/React.createElement(RangeCalendar, {
427
546
  showToday: false,
@@ -439,16 +558,15 @@ var DateRangePicker = function DateRangePicker(props) {
439
558
  className: "hc-date-range-picker-wrapper ".concat(flat ? 'hc-date-range-picker-flat' : '')
440
559
  }, flat ? /*#__PURE__*/React.createElement("div", {
441
560
  className: "hc-date-range-picker-flat-content"
442
- }, /*#__PURE__*/React.createElement(Radio.Group, {
443
- className: "hc-date-range-picker-flat-radio-group",
444
- buttonStyle: "solid",
561
+ }, /*#__PURE__*/React.createElement(ConfigProvider, {
562
+ theme: flatSegmentedTheme
563
+ }, /*#__PURE__*/React.createElement(Segmented, {
564
+ ref: flatSegmentedRef,
565
+ className: "hc-date-range-picker-flat-segmented",
445
566
  value: flatRadioValue,
446
- onChange: handleFlatRadioChange
447
- }, quickTimeOptions.map(function (item) {
448
- return /*#__PURE__*/React.createElement(Radio.Button, {
449
- key: item.id,
450
- value: item.id
451
- }, item.label);
567
+ onChange: handleFlatSegmentedChange,
568
+ options: flatSegmentedOptions,
569
+ style: flatSegmentedThumbStyle
452
570
  })), /*#__PURE__*/React.createElement(RangePicker, {
453
571
  allowClear: false,
454
572
  disabledDate: disabledDate ? wrappedDisabledDateForAntd : undefined,
@@ -1,4 +1,4 @@
1
- @hc-primary: var(--ant-color-primary, #1677ff);
1
+ @hc-primary: var(--ant-color-primary, #2869f6);
2
2
 
3
3
  .hc-date-range-picker-wrapper {
4
4
  position: relative;
@@ -23,33 +23,66 @@
23
23
  align-items: center;
24
24
  }
25
25
 
26
- .hc-date-range-picker-flat-radio-group {
26
+ .hc-date-range-picker-flat-segmented {
27
+ position: relative;
27
28
  display: inline-flex;
28
29
  flex-wrap: nowrap;
29
- gap: 3px;
30
30
  margin: 0;
31
- padding: 3px;
32
- background: rgba(40, 105, 246, 10%);
31
+ border: none;
33
32
  border-radius: 4px;
33
+ box-shadow: none;
34
+
35
+ &::before {
36
+ position: absolute;
37
+ top: var(--hc-date-range-picker-flat-segmented-thumb-top, 3px);
38
+ left: var(--hc-date-range-picker-flat-segmented-thumb-left, 3px);
39
+ z-index: 0;
40
+ width: var(--hc-date-range-picker-flat-segmented-thumb-width, 0);
41
+ height: var(--hc-date-range-picker-flat-segmented-thumb-height, 26px);
42
+ background: var(--ant-color-bg-elevated, #fff);
43
+ border-radius: var(--ant-border-radius-sm, 4px);
44
+ box-shadow: var(--ant-box-shadow-tertiary, 0 1px 10px #00000014);
45
+ opacity: var(--hc-date-range-picker-flat-segmented-thumb-opacity, 0);
46
+ transition:
47
+ left 0.2s ease,
48
+ top 0.2s ease,
49
+ width 0.2s ease,
50
+ height 0.2s ease,
51
+ opacity 0.2s ease;
52
+ pointer-events: none;
53
+ content: '';
54
+ }
55
+
56
+ .ant-segmented-group {
57
+ position: relative;
58
+ z-index: 1;
59
+ gap: 3px;
60
+ }
34
61
 
35
- .ant-radio-button-wrapper {
62
+ .ant-segmented-item {
36
63
  height: 26px;
64
+ padding: 0;
65
+ background: transparent;
66
+ box-shadow: none;
67
+ border-radius: 4px;
68
+ }
69
+
70
+ .ant-segmented-item-label {
71
+ min-height: 26px;
37
72
  padding: 0 12px;
38
73
  line-height: 26px;
39
- background: none;
40
- border: none;
41
74
  border-radius: 4px;
75
+ }
42
76
 
43
- &:not(:first-child)::before {
44
- width: 0;
45
- }
77
+ .ant-segmented-thumb {
78
+ pointer-events: none;
79
+ opacity: 0;
80
+ }
46
81
 
47
- &.ant-radio-button-wrapper-checked {
48
- color: @hc-primary;
49
- font-weight: 500;
50
- background: #fff;
51
- box-shadow: 0 1px 10px #00000014;
52
- }
82
+ .ant-segmented-item-selected,
83
+ .ant-segmented-item-selected:hover {
84
+ background: transparent;
85
+ box-shadow: none;
53
86
  }
54
87
  }
55
88
  }
@@ -0,0 +1,14 @@
1
+ import type { DrawerProps } from 'antd';
2
+ import React from 'react';
3
+ import './index.less';
4
+ export interface HCDrawerProps extends DrawerProps {
5
+ showFooter?: boolean;
6
+ onOk?: () => void | Promise<void>;
7
+ okText?: React.ReactNode;
8
+ cancelText?: React.ReactNode;
9
+ resizable?: boolean;
10
+ minWidth?: number;
11
+ maxWidth?: number;
12
+ }
13
+ declare const HCDrawer: React.FC<HCDrawerProps>;
14
+ export default HCDrawer;
@@ -0,0 +1,307 @@
1
+ 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); }
2
+ var _excluded = ["footer", "showFooter", "onOk", "onClose", "okText", "cancelText", "resizable", "minWidth", "maxWidth", "width", "size", "placement", "rootClassName", "open", "styles", "classNames"];
3
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
4
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
5
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
6
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
7
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
8
+ 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); }
9
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
10
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
11
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
12
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
13
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
14
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
15
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
16
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
17
+ import classNames from 'classnames';
18
+ import { Button, Drawer, Space } from 'antd';
19
+ import React, { useEffect, useMemo, useRef, useState } from 'react';
20
+ import "./index.less";
21
+ var DEFAULT_WIDTH = 378;
22
+ var DEFAULT_LARGE_WIDTH = 736;
23
+ var RESIZE_EDGE_WIDTH = 8;
24
+ var drawerId = 0;
25
+ function getDefaultWidth(size) {
26
+ return size === 'large' ? DEFAULT_LARGE_WIDTH : DEFAULT_WIDTH;
27
+ }
28
+ function getDefaultMaxWidth(minWidth) {
29
+ if (typeof window === 'undefined') {
30
+ return minWidth;
31
+ }
32
+ return Math.max(minWidth, window.innerWidth - 48);
33
+ }
34
+ function clampWidth(width, minWidth, maxWidth) {
35
+ return Math.min(Math.max(width, minWidth), Math.max(minWidth, maxWidth));
36
+ }
37
+ var HCDrawer = function HCDrawer(props) {
38
+ var footer = props.footer,
39
+ _props$showFooter = props.showFooter,
40
+ showFooter = _props$showFooter === void 0 ? true : _props$showFooter,
41
+ onOk = props.onOk,
42
+ onClose = props.onClose,
43
+ _props$okText = props.okText,
44
+ okText = _props$okText === void 0 ? '确认' : _props$okText,
45
+ _props$cancelText = props.cancelText,
46
+ cancelText = _props$cancelText === void 0 ? '取消' : _props$cancelText,
47
+ _props$resizable = props.resizable,
48
+ resizable = _props$resizable === void 0 ? false : _props$resizable,
49
+ _props$minWidth = props.minWidth,
50
+ minWidth = _props$minWidth === void 0 ? DEFAULT_WIDTH : _props$minWidth,
51
+ maxWidth = props.maxWidth,
52
+ width = props.width,
53
+ _props$size = props.size,
54
+ size = _props$size === void 0 ? 'default' : _props$size,
55
+ _props$placement = props.placement,
56
+ placement = _props$placement === void 0 ? 'right' : _props$placement,
57
+ rootClassName = props.rootClassName,
58
+ open = props.open,
59
+ styles = props.styles,
60
+ drawerClassNames = props.classNames,
61
+ restProps = _objectWithoutProperties(props, _excluded);
62
+ var supportsResize = resizable && (placement === 'left' || placement === 'right');
63
+ var resolvedMinWidth = Math.max(0, minWidth);
64
+ var resolvedMaxWidth = maxWidth === undefined ? getDefaultMaxWidth(resolvedMinWidth) : Math.max(resolvedMinWidth, maxWidth);
65
+ var hasCustomFooter = Object.prototype.hasOwnProperty.call(props, 'footer');
66
+ var instanceClassNameRef = useRef('');
67
+ var dragStateRef = useRef(null);
68
+ var innerWidthRef = useRef(null);
69
+ var _useState = useState(null),
70
+ _useState2 = _slicedToArray(_useState, 2),
71
+ innerWidth = _useState2[0],
72
+ setInnerWidth = _useState2[1];
73
+ var _useState3 = useState(false),
74
+ _useState4 = _slicedToArray(_useState3, 2),
75
+ okLoading = _useState4[0],
76
+ setOkLoading = _useState4[1];
77
+ var _useState5 = useState(false),
78
+ _useState6 = _slicedToArray(_useState5, 2),
79
+ edgeHovered = _useState6[0],
80
+ setEdgeHovered = _useState6[1];
81
+ var _useState7 = useState(false),
82
+ _useState8 = _slicedToArray(_useState7, 2),
83
+ isResizing = _useState8[0],
84
+ setIsResizing = _useState8[1];
85
+ var _useState9 = useState(false),
86
+ _useState10 = _slicedToArray(_useState9, 2),
87
+ footerDividerVisible = _useState10[0],
88
+ setFooterDividerVisible = _useState10[1];
89
+ if (!instanceClassNameRef.current) {
90
+ drawerId += 1;
91
+ instanceClassNameRef.current = "hc-drawer-instance-".concat(drawerId);
92
+ }
93
+ var syncInnerWidth = function syncInnerWidth() {
94
+ if (!supportsResize) {
95
+ setInnerWidth(null);
96
+ return;
97
+ }
98
+ if (typeof width === 'number') {
99
+ setInnerWidth(clampWidth(width, resolvedMinWidth, resolvedMaxWidth));
100
+ return;
101
+ }
102
+ if (width === undefined) {
103
+ setInnerWidth(clampWidth(getDefaultWidth(size), resolvedMinWidth, resolvedMaxWidth));
104
+ return;
105
+ }
106
+ setInnerWidth(null);
107
+ };
108
+ useEffect(function () {
109
+ innerWidthRef.current = innerWidth;
110
+ }, [innerWidth]);
111
+ useEffect(function () {
112
+ syncInnerWidth();
113
+ }, [width, size, supportsResize, resolvedMinWidth, resolvedMaxWidth]);
114
+ useEffect(function () {
115
+ if (!supportsResize || !open || typeof width !== 'string' || typeof document === 'undefined') {
116
+ return;
117
+ }
118
+ var frameId = window.requestAnimationFrame(function () {
119
+ var rootElement = document.querySelector(".".concat(instanceClassNameRef.current));
120
+ var contentElement = rootElement === null || rootElement === void 0 ? void 0 : rootElement.querySelector('.ant-drawer-content');
121
+ if (!contentElement) {
122
+ return;
123
+ }
124
+ var nextWidth = clampWidth(Math.round(contentElement.getBoundingClientRect().width), resolvedMinWidth, resolvedMaxWidth);
125
+ setInnerWidth(nextWidth);
126
+ });
127
+ return function () {
128
+ window.cancelAnimationFrame(frameId);
129
+ };
130
+ }, [width, open, resolvedMinWidth, resolvedMaxWidth, supportsResize]);
131
+ useEffect(function () {
132
+ if (!open || hasCustomFooter || !showFooter || typeof document === 'undefined') {
133
+ setFooterDividerVisible(false);
134
+ return;
135
+ }
136
+ var rootElement = document.querySelector(".".concat(instanceClassNameRef.current));
137
+ var bodyElement = rootElement === null || rootElement === void 0 ? void 0 : rootElement.querySelector('.ant-drawer-body');
138
+ if (!bodyElement) {
139
+ return;
140
+ }
141
+ var updateFooterDivider = function updateFooterDivider() {
142
+ setFooterDividerVisible(bodyElement.scrollHeight > bodyElement.clientHeight);
143
+ };
144
+ updateFooterDivider();
145
+ var resizeObserver = typeof ResizeObserver === 'undefined' ? null : new ResizeObserver(function () {
146
+ updateFooterDivider();
147
+ });
148
+ resizeObserver === null || resizeObserver === void 0 || resizeObserver.observe(bodyElement);
149
+ if (bodyElement.firstElementChild instanceof HTMLElement) {
150
+ resizeObserver === null || resizeObserver === void 0 || resizeObserver.observe(bodyElement.firstElementChild);
151
+ }
152
+ bodyElement.addEventListener('scroll', updateFooterDivider);
153
+ window.addEventListener('resize', updateFooterDivider);
154
+ return function () {
155
+ resizeObserver === null || resizeObserver === void 0 || resizeObserver.disconnect();
156
+ bodyElement.removeEventListener('scroll', updateFooterDivider);
157
+ window.removeEventListener('resize', updateFooterDivider);
158
+ };
159
+ }, [hasCustomFooter, open, showFooter, innerWidth]);
160
+ useEffect(function () {
161
+ if (!supportsResize || !open || typeof document === 'undefined') {
162
+ setEdgeHovered(false);
163
+ return;
164
+ }
165
+ var rootElement = document.querySelector(".".concat(instanceClassNameRef.current));
166
+ var contentElement = rootElement === null || rootElement === void 0 ? void 0 : rootElement.querySelector('.ant-drawer-content');
167
+ if (!contentElement) {
168
+ return;
169
+ }
170
+ var isInResizeEdge = function isInResizeEdge(clientX) {
171
+ var rect = contentElement.getBoundingClientRect();
172
+ if (placement === 'right') {
173
+ return clientX >= rect.left && clientX <= rect.left + RESIZE_EDGE_WIDTH;
174
+ }
175
+ return clientX <= rect.right && clientX >= rect.right - RESIZE_EDGE_WIDTH;
176
+ };
177
+ var handleMouseMove = function handleMouseMove(event) {
178
+ if (dragStateRef.current) {
179
+ return;
180
+ }
181
+ setEdgeHovered(isInResizeEdge(event.clientX));
182
+ };
183
+ var handleMouseLeave = function handleMouseLeave() {
184
+ if (!dragStateRef.current) {
185
+ setEdgeHovered(false);
186
+ }
187
+ };
188
+ var cleanupDraggingStyle = function cleanupDraggingStyle() {
189
+ document.body.style.userSelect = '';
190
+ document.body.style.cursor = '';
191
+ };
192
+ var handleMouseUp = function handleMouseUp() {
193
+ dragStateRef.current = null;
194
+ setIsResizing(false);
195
+ setEdgeHovered(false);
196
+ cleanupDraggingStyle();
197
+ window.removeEventListener('mousemove', handleWindowMouseMove);
198
+ window.removeEventListener('mouseup', handleMouseUp);
199
+ };
200
+ var handleWindowMouseMove = function handleWindowMouseMove(event) {
201
+ var dragState = dragStateRef.current;
202
+ if (!dragState) {
203
+ return;
204
+ }
205
+ var delta = event.clientX - dragState.startX;
206
+ var nextWidth = placement === 'right' ? dragState.startWidth - delta : dragState.startWidth + delta;
207
+ setInnerWidth(clampWidth(nextWidth, resolvedMinWidth, resolvedMaxWidth));
208
+ };
209
+ var handleMouseDown = function handleMouseDown(event) {
210
+ var _ref, _innerWidthRef$curren;
211
+ if (event.button !== 0 || !isInResizeEdge(event.clientX)) {
212
+ return;
213
+ }
214
+ var currentWidth = (_ref = (_innerWidthRef$curren = innerWidthRef.current) !== null && _innerWidthRef$curren !== void 0 ? _innerWidthRef$curren : Math.round(contentElement.getBoundingClientRect().width)) !== null && _ref !== void 0 ? _ref : getDefaultWidth(size);
215
+ dragStateRef.current = {
216
+ startX: event.clientX,
217
+ startWidth: currentWidth
218
+ };
219
+ document.body.style.userSelect = 'none';
220
+ document.body.style.cursor = 'col-resize';
221
+ setIsResizing(true);
222
+ setEdgeHovered(true);
223
+ window.addEventListener('mousemove', handleWindowMouseMove);
224
+ window.addEventListener('mouseup', handleMouseUp);
225
+ event.preventDefault();
226
+ };
227
+ contentElement.addEventListener('mousemove', handleMouseMove);
228
+ contentElement.addEventListener('mouseleave', handleMouseLeave);
229
+ contentElement.addEventListener('mousedown', handleMouseDown);
230
+ return function () {
231
+ contentElement.removeEventListener('mousemove', handleMouseMove);
232
+ contentElement.removeEventListener('mouseleave', handleMouseLeave);
233
+ contentElement.removeEventListener('mousedown', handleMouseDown);
234
+ cleanupDraggingStyle();
235
+ window.removeEventListener('mousemove', handleWindowMouseMove);
236
+ window.removeEventListener('mouseup', handleMouseUp);
237
+ dragStateRef.current = null;
238
+ setIsResizing(false);
239
+ };
240
+ }, [open, resolvedMinWidth, placement, resolvedMaxWidth, size, supportsResize]);
241
+ var mergedFooter = useMemo(function () {
242
+ if (hasCustomFooter) {
243
+ return footer;
244
+ }
245
+ if (!showFooter) {
246
+ return null;
247
+ }
248
+ return /*#__PURE__*/React.createElement("div", {
249
+ className: classNames('hc-drawer-footer', {
250
+ 'hc-drawer-footer-divider': footerDividerVisible
251
+ })
252
+ }, /*#__PURE__*/React.createElement(Space, null, /*#__PURE__*/React.createElement(Button, {
253
+ onClick: function onClick(event) {
254
+ return onClose === null || onClose === void 0 ? void 0 : onClose(event);
255
+ }
256
+ }, cancelText), /*#__PURE__*/React.createElement(Button, {
257
+ type: "primary",
258
+ loading: okLoading,
259
+ onClick: function onClick() {
260
+ if (!onOk) {
261
+ return;
262
+ }
263
+ var result = onOk();
264
+ if (result && typeof result.then === 'function') {
265
+ setOkLoading(true);
266
+ void result.catch(function () {
267
+ return undefined;
268
+ }).finally(function () {
269
+ setOkLoading(false);
270
+ });
271
+ }
272
+ }
273
+ }, okText)));
274
+ }, [cancelText, footer, footerDividerVisible, hasCustomFooter, okLoading, okText, onClose, onOk, showFooter]);
275
+ var mergedRootClassName = classNames('hc-drawer', instanceClassNameRef.current, {
276
+ 'hc-drawer-resizable': supportsResize,
277
+ 'hc-drawer-resize-hover': supportsResize && edgeHovered,
278
+ 'hc-drawer-resizing': supportsResize && isResizing,
279
+ 'hc-drawer-resizable-left': supportsResize && placement === 'left',
280
+ 'hc-drawer-resizable-right': supportsResize && placement === 'right',
281
+ 'hc-drawer-footer-divider-visible': footerDividerVisible && !hasCustomFooter && showFooter
282
+ }, rootClassName);
283
+ var mergedWidth = supportsResize ? innerWidth !== null && innerWidth !== void 0 ? innerWidth : width : width;
284
+ var mergedStyles = useMemo(function () {
285
+ if (!supportsResize) {
286
+ return styles;
287
+ }
288
+ return _objectSpread(_objectSpread({}, styles), {}, {
289
+ wrapper: _objectSpread(_objectSpread({}, styles === null || styles === void 0 ? void 0 : styles.wrapper), {}, {
290
+ minWidth: resolvedMinWidth,
291
+ maxWidth: resolvedMaxWidth
292
+ })
293
+ });
294
+ }, [resolvedMaxWidth, resolvedMinWidth, styles, supportsResize]);
295
+ return /*#__PURE__*/React.createElement(Drawer, _extends({}, restProps, {
296
+ open: open,
297
+ onClose: onClose,
298
+ placement: placement,
299
+ size: size,
300
+ width: mergedWidth,
301
+ footer: mergedFooter,
302
+ rootClassName: mergedRootClassName,
303
+ classNames: drawerClassNames,
304
+ styles: mergedStyles
305
+ }));
306
+ };
307
+ export default HCDrawer;
@@ -0,0 +1,30 @@
1
+ :root {
2
+ .hc-drawer-footer {
3
+ display: flex;
4
+ justify-content: flex-end;
5
+ width: 100%;
6
+ border-top: 0;
7
+ }
8
+
9
+ .hc-drawer .ant-drawer-footer {
10
+ border-top: 0;
11
+ }
12
+
13
+ .hc-drawer-footer-divider-visible .ant-drawer-footer {
14
+ border-top: 1px solid #f0f0f0;
15
+ }
16
+
17
+ .hc-drawer-resizable-right .ant-drawer-content,
18
+ .hc-drawer-resizable-left .ant-drawer-content {
19
+ position: relative;
20
+ }
21
+
22
+ .hc-drawer-resize-hover.hc-drawer-resizable-right .ant-drawer-content,
23
+ .hc-drawer-resize-hover.hc-drawer-resizable-left .ant-drawer-content {
24
+ cursor: col-resize;
25
+ }
26
+
27
+ .hc-drawer-resizing .ant-drawer-content-wrapper {
28
+ transition: none;
29
+ }
30
+ }
@@ -0,0 +1,9 @@
1
+ import { Modal } from 'antd';
2
+ import type { ModalProps } from 'antd';
3
+ import React from 'react';
4
+ import './index.less';
5
+ export interface HCModalProps extends ModalProps {
6
+ }
7
+ type HCModalType = React.FC<HCModalProps> & Pick<typeof Modal, 'useModal' | 'destroyAll' | 'config' | 'info' | 'success' | 'error' | 'warning' | 'warn' | 'confirm' | '_InternalPanelDoNotUseOrYouWillBeFired'>;
8
+ declare const HCModal: HCModalType;
9
+ export default HCModal;
@@ -0,0 +1,50 @@
1
+ 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); }
2
+ var _excluded = ["rootClassName"];
3
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
4
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
5
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
6
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
7
+ 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); }
8
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
9
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
10
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
11
+ import classNames from 'classnames';
12
+ import { Modal } from 'antd';
13
+ import React from 'react';
14
+ import "./index.less";
15
+ var HCModalBase = function HCModalBase(_ref) {
16
+ var rootClassName = _ref.rootClassName,
17
+ restProps = _objectWithoutProperties(_ref, _excluded);
18
+ return /*#__PURE__*/React.createElement(Modal, _extends({}, restProps, {
19
+ rootClassName: classNames('hc-modal', rootClassName)
20
+ }));
21
+ };
22
+ var withStaticClassName = function withStaticClassName(config) {
23
+ return _objectSpread(_objectSpread({}, config), {}, {
24
+ className: classNames('hc-modal', config.className)
25
+ });
26
+ };
27
+ var HCModal = HCModalBase;
28
+ HCModal.useModal = Modal.useModal;
29
+ HCModal.destroyAll = Modal.destroyAll;
30
+ HCModal.config = Modal.config;
31
+ HCModal.info = function (config) {
32
+ return Modal.info(withStaticClassName(config));
33
+ };
34
+ HCModal.success = function (config) {
35
+ return Modal.success(withStaticClassName(config));
36
+ };
37
+ HCModal.error = function (config) {
38
+ return Modal.error(withStaticClassName(config));
39
+ };
40
+ HCModal.warning = function (config) {
41
+ return Modal.warning(withStaticClassName(config));
42
+ };
43
+ HCModal.warn = function (config) {
44
+ return Modal.warn(withStaticClassName(config));
45
+ };
46
+ HCModal.confirm = function (config) {
47
+ return Modal.confirm(withStaticClassName(config));
48
+ };
49
+ HCModal._InternalPanelDoNotUseOrYouWillBeFired = Modal._InternalPanelDoNotUseOrYouWillBeFired;
50
+ export default HCModal;
@@ -0,0 +1,29 @@
1
+ :root {
2
+ .hc-modal {
3
+ .ant-modal-content {
4
+ padding: 0;
5
+ overflow: hidden;
6
+ border-radius: 4px;
7
+ }
8
+
9
+ .ant-modal-header {
10
+ margin-bottom: 0;
11
+ padding: 16px 24px;
12
+ background: #fff;
13
+ border-bottom: 1px solid #f0f0f0;
14
+ border-radius: 4px 4px 0 0;
15
+ }
16
+
17
+ .ant-modal-body {
18
+ padding: 24px;
19
+ }
20
+
21
+ .ant-modal-footer {
22
+ margin-top: 0;
23
+ padding: 10px 16px;
24
+ background: #fff;
25
+ border-top: 1px solid #f0f0f0;
26
+ border-radius: 0 0 4px 4px;
27
+ }
28
+ }
29
+ }
package/dist/index.d.ts CHANGED
@@ -10,7 +10,7 @@ export type { ResourceProgressProps } from './ResourceProgress';
10
10
  export { default as ShowMore } from './showMore';
11
11
  export { default as BasicFilesRead } from './BasicFilesRead';
12
12
  export { default as DateRangePicker } from './DateRangePicker';
13
- export type { DateRangePickerProps, QuickTimeOption, TimeRangeInfo, } from './DateRangePicker';
13
+ export type { DateRangePickerLocale, DateRangePickerProps, DateRangePickerValue, QuickTimeOption, TimeRangeInfo, } from './DateRangePicker';
14
14
  export { Actions, LinkButton } from './Actions';
15
15
  export type { ActionElementProps, ActionsProps, LinkButtonProps, } from './Actions';
16
16
  export { default as TextCopy } from './TextCopy';
@@ -30,6 +30,10 @@ export { default as Yaml } from './Yaml';
30
30
  export type { YamlProps, YamlTexts, YamlValidateResult } from './Yaml';
31
31
  export { default as PageHeader } from './PageHeader';
32
32
  export type { PageHeaderProps } from './PageHeader';
33
+ export { default as HCModal } from './HCModal';
34
+ export type { HCModalProps } from './HCModal';
35
+ export { default as HCDrawer } from './HCDrawer';
36
+ export type { HCDrawerProps } from './HCDrawer';
33
37
  export { default as MetadataForm } from './MetadataForm';
34
38
  export type { MetadataFormProps, MetadataFormRef } from './MetadataForm';
35
39
  export { default as MetadataTags } from './MetadataTags';
package/dist/index.js CHANGED
@@ -19,6 +19,8 @@ export { logCenterLocaleZhCN, LOG_CENTER_API, createLogCenterServices } from "./
19
19
  export { default as Terminal } from "./Terminal";
20
20
  export { default as Yaml } from "./Yaml";
21
21
  export { default as PageHeader } from "./PageHeader";
22
+ export { default as HCModal } from "./HCModal";
23
+ export { default as HCDrawer } from "./HCDrawer";
22
24
  export { default as MetadataForm } from "./MetadataForm";
23
25
  export { default as MetadataTags } from "./MetadataTags";
24
26
  export { default as MetadataCount } from "./MetadataCount";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hc-busin-components",
3
- "version": "1.0.3",
3
+ "version": "1.0.4",
4
4
  "description": "",
5
5
  "module": "dist/index.js",
6
6
  "types": "dist/index.d.ts",