@kdcloudjs/kdesign 1.6.38 → 1.6.39

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.
@@ -22,7 +22,10 @@ function Panel(props) {
22
22
  locale = context.locale,
23
23
  innerPicker = context.innerPicker,
24
24
  setInnerPicker = context.setInnerPicker;
25
- var isInInnerPicker = innerPicker !== undefined;
25
+ var isInnerPicker = innerPicker !== undefined;
26
+ var isPositionLeft = panelPosition === 'left';
27
+ var isPositionRight = panelPosition === 'right';
28
+ var isPositionUnset = typeof panelPosition === 'undefined';
26
29
  var _props$picker = props.picker,
27
30
  picker = _props$picker === void 0 ? 'date' : _props$picker,
28
31
  format = props.format,
@@ -51,7 +54,7 @@ function Panel(props) {
51
54
  return /*#__PURE__*/React.createElement(Quarter, _extends({}, props));
52
55
  };
53
56
  var renderDatePanel = function renderDatePanel() {
54
- if (isInInnerPicker) {
57
+ if (isInnerPicker) {
55
58
  if (innerPicker === 'year') {
56
59
  return renderYearPanel();
57
60
  } else {
@@ -192,8 +195,8 @@ function Panel(props) {
192
195
  panel = renderYearPanel();
193
196
  headerObj = renderYearHeader();
194
197
  headerProps = {
195
- onSuperPrev: panelPosition === 'right' ? undefined : onSuperPrev,
196
- onSuperNext: panelPosition === 'left' ? undefined : onSuperNext
198
+ onSuperPrev: isPositionRight ? undefined : onSuperPrev,
199
+ onSuperNext: isPositionLeft ? undefined : onSuperNext
197
200
  };
198
201
  break;
199
202
  }
@@ -202,8 +205,8 @@ function Panel(props) {
202
205
  panel = renderMonthPanel();
203
206
  headerObj = renderMonthHeader();
204
207
  headerProps = {
205
- onSuperPrev: panelPosition === 'right' ? undefined : onSuperPrev,
206
- onSuperNext: panelPosition === 'left' ? undefined : onSuperNext
208
+ onSuperPrev: isPositionRight ? undefined : onSuperPrev,
209
+ onSuperNext: isPositionLeft ? undefined : onSuperNext
207
210
  };
208
211
  break;
209
212
  }
@@ -212,19 +215,20 @@ function Panel(props) {
212
215
  panel = renderQuarterPanel();
213
216
  headerObj = renderMonthHeader();
214
217
  headerProps = {
215
- onSuperPrev: panelPosition === 'right' ? undefined : onSuperPrev,
216
- onSuperNext: panelPosition === 'left' ? undefined : onSuperNext
218
+ onSuperPrev: isPositionRight ? undefined : onSuperPrev,
219
+ onSuperNext: isPositionLeft ? undefined : onSuperNext
217
220
  };
218
221
  break;
219
222
  }
223
+ // 时间面板,4个箭头的显隐,在时间范围时需要判断是否在快捷选择面板下
220
224
  case 'date':
221
225
  {
222
226
  headerObj = renderDateHeader();
223
227
  headerProps = {
224
- onPrev: panelPosition === 'right' || isInInnerPicker ? undefined : onPrev,
225
- onNext: panelPosition === 'left' || isInInnerPicker ? undefined : onNext,
226
- onSuperPrev: panelPosition === 'right' || innerPicker === 'month' ? undefined : onSuperPrev,
227
- onSuperNext: panelPosition === 'left' || innerPicker === 'month' ? undefined : onSuperNext
228
+ onPrev: isPositionLeft && !isInnerPicker || innerPicker === 'month' || isPositionUnset ? onPrev : undefined,
229
+ onNext: isPositionRight && !isInnerPicker || innerPicker === 'month' || isPositionUnset ? onNext : undefined,
230
+ onSuperPrev: isPositionLeft && !isInnerPicker || innerPicker === 'year' || isPositionUnset ? onSuperPrev : undefined,
231
+ onSuperNext: isPositionRight && !isInnerPicker || innerPicker === 'year' || isPositionUnset ? onSuperNext : undefined
228
232
  };
229
233
  panel = renderDatePanel();
230
234
  break;
@@ -234,10 +238,10 @@ function Panel(props) {
234
238
  panel = renderDatePanel();
235
239
  headerObj = renderDateHeader();
236
240
  headerProps = {
237
- onPrev: panelPosition === 'right' ? undefined : onPrev,
238
- onNext: panelPosition === 'left' ? undefined : onNext,
239
- onSuperPrev: panelPosition === 'right' ? undefined : onSuperPrev,
240
- onSuperNext: panelPosition === 'left' ? undefined : onSuperNext
241
+ onPrev: isPositionRight ? undefined : onPrev,
242
+ onNext: isPositionLeft ? undefined : onNext,
243
+ onSuperPrev: isPositionRight ? undefined : onSuperPrev,
244
+ onSuperNext: isPositionLeft ? undefined : onSuperNext
241
245
  };
242
246
  break;
243
247
  }
@@ -1,11 +1,11 @@
1
- import React from 'react';
1
+ import React, { ReactNode, Ref, FocusEventHandler, CSSProperties } from 'react';
2
2
  import { DateType, RangeValue, EventValue, DisabledTimes, PanelMode, SharedTimeProps } from './interface';
3
3
  import { PickerBaseProps, PickerDateProps, PickerTimeProps } from './date-picker';
4
4
  export declare type RangeType = 'start' | 'end';
5
5
  export interface RangeInfo {
6
6
  range: RangeType;
7
7
  }
8
- export declare type RangeDateRender = (currentDate: DateType, today: DateType, info: RangeInfo) => React.ReactNode;
8
+ export declare type RangeDateRender = (currentDate: DateType, today: DateType, info: RangeInfo) => ReactNode;
9
9
  export interface RangePickerSharedProps {
10
10
  id?: string;
11
11
  value?: RangeValue;
@@ -15,23 +15,23 @@ export interface RangePickerSharedProps {
15
15
  disabled?: boolean | [boolean, boolean];
16
16
  disabledTimePanel?: (date: EventValue, type: RangeType) => DisabledTimes;
17
17
  ranges?: Record<string, DateType[] | (() => DateType[])>;
18
- separator?: React.ReactNode;
18
+ separator?: ReactNode;
19
19
  allowEmpty?: [boolean, boolean];
20
- suffixIcon?: React.ReactNode;
21
- clearIcon?: React.ReactNode;
20
+ suffixIcon?: ReactNode;
21
+ clearIcon?: ReactNode;
22
22
  mode?: [PanelMode, PanelMode];
23
23
  onChange?: (values: RangeValue, formatString: [string | null, string | null]) => void;
24
24
  onCalendarChange?: (values: RangeValue, formatString: [string | null, string | null], info: RangeInfo) => void;
25
25
  onPanelChange?: (values: RangeValue, modes: [PanelMode, PanelMode]) => void;
26
- onFocus?: React.FocusEventHandler<HTMLInputElement>;
27
- onBlur?: React.FocusEventHandler<HTMLInputElement>;
26
+ onFocus?: FocusEventHandler<HTMLInputElement>;
27
+ onBlur?: FocusEventHandler<HTMLInputElement>;
28
28
  onOk?: (dates: RangeValue) => void;
29
29
  activePickerIndex?: 0 | 1;
30
30
  dateRender?: RangeDateRender;
31
- panelRender?: (originPanel: React.ReactNode) => React.ReactNode;
31
+ panelRender?: (originPanel: ReactNode) => ReactNode;
32
32
  getPopupContainer?: (node: HTMLElement) => HTMLElement;
33
- popupRef?: React.Ref<any>;
34
- popupStyle?: React.CSSProperties;
33
+ popupRef?: Ref<any>;
34
+ popupStyle?: CSSProperties;
35
35
  dropdownClassName?: string;
36
36
  }
37
37
  declare type OmitPickerProps<Props> = Omit<Props, 'value' | 'defaultValue' | 'defaultPickerValue' | 'placeholder' | 'disabled' | 'disabledTimePanel' | 'showToday' | 'showTime' | 'mode' | 'onChange' | 'onSelect' | 'onPanelChange' | 'pickerValue' | 'onPickerValueChange' | 'onOk' | 'dateRender'>;
@@ -4,10 +4,10 @@ import _extends from "@babel/runtime-corejs3/helpers/extends";
4
4
  import _findInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/find";
5
5
  import _Object$keys from "@babel/runtime-corejs3/core-js-stable/object/keys";
6
6
  import _mapInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/map";
7
- import React, { useContext, useEffect, useState } from 'react';
7
+ import React, { useContext, useEffect, useState, useRef, useMemo, forwardRef } from 'react';
8
8
  import isSameWeek from 'date-fns/isSameWeek';
9
9
  import ConfigContext from '../config-provider/ConfigContext';
10
- import { useMergedState, useOnClickOutside } from '../_utils/hooks';
10
+ import { useMergedState } from '../_utils/hooks';
11
11
  import { getCompProps } from '../_utils';
12
12
  import Context from './context';
13
13
  import Panel from './date-panel';
@@ -115,16 +115,18 @@ var InternalRangePicker = function InternalRangePicker(props, ref) {
115
115
  componentName: 'DatePicker'
116
116
  }), locale || {});
117
117
  // ref
118
- var panelDivRef = React.useRef(null);
119
- var inputDivRef = ref || /*#__PURE__*/React.createRef();
120
- var startInputDivRef = React.useRef(null);
121
- var endInputDivRef = React.useRef(null);
122
- var separatorRef = React.useRef(null);
123
- var startInputRef = React.useRef(null);
124
- var endInputRef = React.useRef(null);
125
- var popperRef = popupRef || /*#__PURE__*/React.createRef();
126
- var openRecordsRef = React.useRef({});
127
- var mergedDisabled = React.useMemo(function () {
118
+ var panelDivRef = useRef(null);
119
+ var defaultRef = useRef(null);
120
+ var inputDivRef = ref || defaultRef;
121
+ var startInputDivRef = useRef(null);
122
+ var endInputDivRef = useRef(null);
123
+ var separatorRef = useRef(null);
124
+ var startInputRef = useRef(null);
125
+ var endInputRef = useRef(null);
126
+ var defaultPopupRef = useRef(null);
127
+ var popperRef = popupRef || defaultPopupRef;
128
+ var openRecordsRef = useRef({});
129
+ var mergedDisabled = useMemo(function () {
128
130
  if (Array.isArray(disabled)) {
129
131
  return disabled;
130
132
  }
@@ -268,10 +270,10 @@ var InternalRangePicker = function InternalRangePicker(props, ref) {
268
270
  endText = _useTextValueMapping4[0],
269
271
  triggerEndTextChange = _useTextValueMapping4[1],
270
272
  resetEndText = _useTextValueMapping4[2];
271
- var _React$useState = React.useState([null, null]),
272
- _React$useState2 = _slicedToArray(_React$useState, 2),
273
- hoverRangedValue = _React$useState2[0],
274
- setHoverRangedValue = _React$useState2[1];
273
+ var _useState = useState([null, null]),
274
+ _useState2 = _slicedToArray(_useState, 2),
275
+ hoverRangedValue = _useState2[0],
276
+ setHoverRangedValue = _useState2[1];
275
277
  var _useHoverValue = useHoverValue(startText, {
276
278
  format: _format
277
279
  }),
@@ -309,20 +311,13 @@ var InternalRangePicker = function InternalRangePicker(props, ref) {
309
311
  _useMergedState10 = _slicedToArray(_useMergedState9, 2),
310
312
  mergedModes = _useMergedState10[0],
311
313
  setInnerModes = _useMergedState10[1];
312
- var _useState = useState(undefined),
313
- _useState2 = _slicedToArray(_useState, 2),
314
- innerPicker = _useState2[0],
315
- setInnerPicker = _useState2[1];
314
+ var _useState3 = useState(undefined),
315
+ _useState4 = _slicedToArray(_useState3, 2),
316
+ innerPicker = _useState4[0],
317
+ setInnerPicker = _useState4[1];
316
318
  useEffect(function () {
317
319
  setInnerModes([picker, picker]);
318
320
  }, [picker]);
319
- // const triggerModesChange = (modes: [PanelMode, PanelMode], values: RangeValue) => {
320
- // setInnerModes(modes)
321
- // if (onPanelChange) {
322
- // onPanelChange(values, modes)
323
- // }
324
- // }
325
- // ========================= Disable Date ==========================
326
321
  var _useRangeDisabled = useRangeDisabled({
327
322
  picker: picker,
328
323
  selectedValue: selectedValue,
@@ -332,11 +327,7 @@ var InternalRangePicker = function InternalRangePicker(props, ref) {
332
327
  _useRangeDisabled2 = _slicedToArray(_useRangeDisabled, 2),
333
328
  disabledStartDate = _useRangeDisabled2[0],
334
329
  disabledEndDate = _useRangeDisabled2[1];
335
- // const onResetText = () => {
336
- // resetEndText()
337
- // resetStartText()
338
- // }
339
- var triggerRef = React.useRef();
330
+ var triggerRef = useRef();
340
331
  var triggerOpen = function triggerOpen(newOpen, index) {
341
332
  if (newOpen) {
342
333
  clearTimeout(triggerRef.current);
@@ -415,22 +406,28 @@ var InternalRangePicker = function InternalRangePicker(props, ref) {
415
406
  triggerOpen(false, sourceIndex);
416
407
  }
417
408
  };
418
- useOnClickOutside([popperRef, inputDivRef], function () {
419
- setViewDate(null, 0);
420
- setViewDate(null, 1);
421
- setHoverRangedValue([null, null]);
422
- });
409
+ // useOnClickOutside([popperRef, inputDivRef], () => {
410
+ // setViewDate(null, 0)
411
+ // setViewDate(null, 1)
412
+ // setHoverRangedValue([null, null])
413
+ // })
423
414
  var onSelect = function onSelect(date, type) {
424
415
  var values = updateValues(selectedValue, date, mergedActivePickerIndex);
425
- if (type === 'submit' || type !== 'key' && !needConfirmButton) {
426
- triggerChange(values, mergedActivePickerIndex);
427
- if (mergedActivePickerIndex === 0) {
428
- onStartLeave();
429
- } else {
430
- onEndLeave();
416
+ if (type === 'inner') {
417
+ if (values && values[mergedActivePickerIndex]) {
418
+ setViewDate(values[mergedActivePickerIndex], mergedActivePickerIndex);
431
419
  }
432
420
  } else {
433
- setSelectedValue(values);
421
+ if (type === 'submit' || type !== 'key' && !needConfirmButton) {
422
+ triggerChange(values, mergedActivePickerIndex);
423
+ if (mergedActivePickerIndex === 0) {
424
+ onStartLeave();
425
+ } else {
426
+ onEndLeave();
427
+ }
428
+ } else {
429
+ setSelectedValue(values);
430
+ }
434
431
  }
435
432
  };
436
433
  var onDateMouseEnter = function onDateMouseEnter(date) {
@@ -460,6 +457,11 @@ var InternalRangePicker = function InternalRangePicker(props, ref) {
460
457
  if (!endValueTexts.length || endValueTexts[0] === '') {
461
458
  triggerEndTextChange('');
462
459
  }
460
+ setViewDate(null, 0);
461
+ setViewDate(null, 1);
462
+ setHoverRangedValue([null, null]);
463
+ } else {
464
+ setInnerPicker(undefined);
463
465
  }
464
466
  // eslint-disable-next-line react-hooks/exhaustive-deps
465
467
  }, [mergedOpen, startValueTexts, endValueTexts]);
@@ -539,7 +541,7 @@ var InternalRangePicker = function InternalRangePicker(props, ref) {
539
541
  }, renderPanel());
540
542
  panels = /*#__PURE__*/React.createElement("div", {
541
543
  className: classNames("".concat(datePickerPrefixCls, "-container-date"))
542
- }, leftPanel, rightPanel);
544
+ }, leftPanel, innerPicker === undefined ? rightPanel : null);
543
545
  } else {
544
546
  panels = /*#__PURE__*/React.createElement(Context.Provider, {
545
547
  value: {
@@ -694,6 +696,6 @@ var InternalRangePicker = function InternalRangePicker(props, ref) {
694
696
  getPopupContainer: getPopupContainer
695
697
  });
696
698
  };
697
- var RangePicker = /*#__PURE__*/React.forwardRef(InternalRangePicker);
699
+ var RangePicker = /*#__PURE__*/forwardRef(InternalRangePicker);
698
700
  RangePicker.displayName = 'RangePicker';
699
701
  export default RangePicker;
@@ -34,7 +34,10 @@ function Panel(props) {
34
34
  locale = context.locale,
35
35
  innerPicker = context.innerPicker,
36
36
  setInnerPicker = context.setInnerPicker;
37
- var isInInnerPicker = innerPicker !== undefined;
37
+ var isInnerPicker = innerPicker !== undefined;
38
+ var isPositionLeft = panelPosition === 'left';
39
+ var isPositionRight = panelPosition === 'right';
40
+ var isPositionUnset = typeof panelPosition === 'undefined';
38
41
  var _props$picker = props.picker,
39
42
  picker = _props$picker === void 0 ? 'date' : _props$picker,
40
43
  format = props.format,
@@ -63,7 +66,7 @@ function Panel(props) {
63
66
  return /*#__PURE__*/_react.default.createElement(_quarter.default, (0, _extends2.default)({}, props));
64
67
  };
65
68
  var renderDatePanel = function renderDatePanel() {
66
- if (isInInnerPicker) {
69
+ if (isInnerPicker) {
67
70
  if (innerPicker === 'year') {
68
71
  return renderYearPanel();
69
72
  } else {
@@ -204,8 +207,8 @@ function Panel(props) {
204
207
  panel = renderYearPanel();
205
208
  headerObj = renderYearHeader();
206
209
  headerProps = {
207
- onSuperPrev: panelPosition === 'right' ? undefined : onSuperPrev,
208
- onSuperNext: panelPosition === 'left' ? undefined : onSuperNext
210
+ onSuperPrev: isPositionRight ? undefined : onSuperPrev,
211
+ onSuperNext: isPositionLeft ? undefined : onSuperNext
209
212
  };
210
213
  break;
211
214
  }
@@ -214,8 +217,8 @@ function Panel(props) {
214
217
  panel = renderMonthPanel();
215
218
  headerObj = renderMonthHeader();
216
219
  headerProps = {
217
- onSuperPrev: panelPosition === 'right' ? undefined : onSuperPrev,
218
- onSuperNext: panelPosition === 'left' ? undefined : onSuperNext
220
+ onSuperPrev: isPositionRight ? undefined : onSuperPrev,
221
+ onSuperNext: isPositionLeft ? undefined : onSuperNext
219
222
  };
220
223
  break;
221
224
  }
@@ -224,19 +227,20 @@ function Panel(props) {
224
227
  panel = renderQuarterPanel();
225
228
  headerObj = renderMonthHeader();
226
229
  headerProps = {
227
- onSuperPrev: panelPosition === 'right' ? undefined : onSuperPrev,
228
- onSuperNext: panelPosition === 'left' ? undefined : onSuperNext
230
+ onSuperPrev: isPositionRight ? undefined : onSuperPrev,
231
+ onSuperNext: isPositionLeft ? undefined : onSuperNext
229
232
  };
230
233
  break;
231
234
  }
235
+ // 时间面板,4个箭头的显隐,在时间范围时需要判断是否在快捷选择面板下
232
236
  case 'date':
233
237
  {
234
238
  headerObj = renderDateHeader();
235
239
  headerProps = {
236
- onPrev: panelPosition === 'right' || isInInnerPicker ? undefined : onPrev,
237
- onNext: panelPosition === 'left' || isInInnerPicker ? undefined : onNext,
238
- onSuperPrev: panelPosition === 'right' || innerPicker === 'month' ? undefined : onSuperPrev,
239
- onSuperNext: panelPosition === 'left' || innerPicker === 'month' ? undefined : onSuperNext
240
+ onPrev: isPositionLeft && !isInnerPicker || innerPicker === 'month' || isPositionUnset ? onPrev : undefined,
241
+ onNext: isPositionRight && !isInnerPicker || innerPicker === 'month' || isPositionUnset ? onNext : undefined,
242
+ onSuperPrev: isPositionLeft && !isInnerPicker || innerPicker === 'year' || isPositionUnset ? onSuperPrev : undefined,
243
+ onSuperNext: isPositionRight && !isInnerPicker || innerPicker === 'year' || isPositionUnset ? onSuperNext : undefined
240
244
  };
241
245
  panel = renderDatePanel();
242
246
  break;
@@ -246,10 +250,10 @@ function Panel(props) {
246
250
  panel = renderDatePanel();
247
251
  headerObj = renderDateHeader();
248
252
  headerProps = {
249
- onPrev: panelPosition === 'right' ? undefined : onPrev,
250
- onNext: panelPosition === 'left' ? undefined : onNext,
251
- onSuperPrev: panelPosition === 'right' ? undefined : onSuperPrev,
252
- onSuperNext: panelPosition === 'left' ? undefined : onSuperNext
253
+ onPrev: isPositionRight ? undefined : onPrev,
254
+ onNext: isPositionLeft ? undefined : onNext,
255
+ onSuperPrev: isPositionRight ? undefined : onSuperPrev,
256
+ onSuperNext: isPositionLeft ? undefined : onSuperNext
253
257
  };
254
258
  break;
255
259
  }
@@ -1,11 +1,11 @@
1
- import React from 'react';
1
+ import React, { ReactNode, Ref, FocusEventHandler, CSSProperties } from 'react';
2
2
  import { DateType, RangeValue, EventValue, DisabledTimes, PanelMode, SharedTimeProps } from './interface';
3
3
  import { PickerBaseProps, PickerDateProps, PickerTimeProps } from './date-picker';
4
4
  export declare type RangeType = 'start' | 'end';
5
5
  export interface RangeInfo {
6
6
  range: RangeType;
7
7
  }
8
- export declare type RangeDateRender = (currentDate: DateType, today: DateType, info: RangeInfo) => React.ReactNode;
8
+ export declare type RangeDateRender = (currentDate: DateType, today: DateType, info: RangeInfo) => ReactNode;
9
9
  export interface RangePickerSharedProps {
10
10
  id?: string;
11
11
  value?: RangeValue;
@@ -15,23 +15,23 @@ export interface RangePickerSharedProps {
15
15
  disabled?: boolean | [boolean, boolean];
16
16
  disabledTimePanel?: (date: EventValue, type: RangeType) => DisabledTimes;
17
17
  ranges?: Record<string, DateType[] | (() => DateType[])>;
18
- separator?: React.ReactNode;
18
+ separator?: ReactNode;
19
19
  allowEmpty?: [boolean, boolean];
20
- suffixIcon?: React.ReactNode;
21
- clearIcon?: React.ReactNode;
20
+ suffixIcon?: ReactNode;
21
+ clearIcon?: ReactNode;
22
22
  mode?: [PanelMode, PanelMode];
23
23
  onChange?: (values: RangeValue, formatString: [string | null, string | null]) => void;
24
24
  onCalendarChange?: (values: RangeValue, formatString: [string | null, string | null], info: RangeInfo) => void;
25
25
  onPanelChange?: (values: RangeValue, modes: [PanelMode, PanelMode]) => void;
26
- onFocus?: React.FocusEventHandler<HTMLInputElement>;
27
- onBlur?: React.FocusEventHandler<HTMLInputElement>;
26
+ onFocus?: FocusEventHandler<HTMLInputElement>;
27
+ onBlur?: FocusEventHandler<HTMLInputElement>;
28
28
  onOk?: (dates: RangeValue) => void;
29
29
  activePickerIndex?: 0 | 1;
30
30
  dateRender?: RangeDateRender;
31
- panelRender?: (originPanel: React.ReactNode) => React.ReactNode;
31
+ panelRender?: (originPanel: ReactNode) => ReactNode;
32
32
  getPopupContainer?: (node: HTMLElement) => HTMLElement;
33
- popupRef?: React.Ref<any>;
34
- popupStyle?: React.CSSProperties;
33
+ popupRef?: Ref<any>;
34
+ popupStyle?: CSSProperties;
35
35
  dropdownClassName?: string;
36
36
  }
37
37
  declare type OmitPickerProps<Props> = Omit<Props, 'value' | 'defaultValue' | 'defaultPickerValue' | 'placeholder' | 'disabled' | 'disabledTimePanel' | 'showToday' | 'showTime' | 'mode' | 'onChange' | 'onSelect' | 'onPanelChange' | 'pickerValue' | 'onPickerValueChange' | 'onOk' | 'dateRender'>;
@@ -127,16 +127,18 @@ var InternalRangePicker = function InternalRangePicker(props, ref) {
127
127
  componentName: 'DatePicker'
128
128
  }), locale || {});
129
129
  // ref
130
- var panelDivRef = _react.default.useRef(null);
131
- var inputDivRef = ref || /*#__PURE__*/_react.default.createRef();
132
- var startInputDivRef = _react.default.useRef(null);
133
- var endInputDivRef = _react.default.useRef(null);
134
- var separatorRef = _react.default.useRef(null);
135
- var startInputRef = _react.default.useRef(null);
136
- var endInputRef = _react.default.useRef(null);
137
- var popperRef = popupRef || /*#__PURE__*/_react.default.createRef();
138
- var openRecordsRef = _react.default.useRef({});
139
- var mergedDisabled = _react.default.useMemo(function () {
130
+ var panelDivRef = (0, _react.useRef)(null);
131
+ var defaultRef = (0, _react.useRef)(null);
132
+ var inputDivRef = ref || defaultRef;
133
+ var startInputDivRef = (0, _react.useRef)(null);
134
+ var endInputDivRef = (0, _react.useRef)(null);
135
+ var separatorRef = (0, _react.useRef)(null);
136
+ var startInputRef = (0, _react.useRef)(null);
137
+ var endInputRef = (0, _react.useRef)(null);
138
+ var defaultPopupRef = (0, _react.useRef)(null);
139
+ var popperRef = popupRef || defaultPopupRef;
140
+ var openRecordsRef = (0, _react.useRef)({});
141
+ var mergedDisabled = (0, _react.useMemo)(function () {
140
142
  if (Array.isArray(disabled)) {
141
143
  return disabled;
142
144
  }
@@ -280,10 +282,10 @@ var InternalRangePicker = function InternalRangePicker(props, ref) {
280
282
  endText = _useTextValueMapping4[0],
281
283
  triggerEndTextChange = _useTextValueMapping4[1],
282
284
  resetEndText = _useTextValueMapping4[2];
283
- var _React$useState = _react.default.useState([null, null]),
284
- _React$useState2 = (0, _slicedToArray2.default)(_React$useState, 2),
285
- hoverRangedValue = _React$useState2[0],
286
- setHoverRangedValue = _React$useState2[1];
285
+ var _useState = (0, _react.useState)([null, null]),
286
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
287
+ hoverRangedValue = _useState2[0],
288
+ setHoverRangedValue = _useState2[1];
287
289
  var _useHoverValue = (0, _useHoverValue5.default)(startText, {
288
290
  format: _format
289
291
  }),
@@ -321,20 +323,13 @@ var InternalRangePicker = function InternalRangePicker(props, ref) {
321
323
  _useMergedState10 = (0, _slicedToArray2.default)(_useMergedState9, 2),
322
324
  mergedModes = _useMergedState10[0],
323
325
  setInnerModes = _useMergedState10[1];
324
- var _useState = (0, _react.useState)(undefined),
325
- _useState2 = (0, _slicedToArray2.default)(_useState, 2),
326
- innerPicker = _useState2[0],
327
- setInnerPicker = _useState2[1];
326
+ var _useState3 = (0, _react.useState)(undefined),
327
+ _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
328
+ innerPicker = _useState4[0],
329
+ setInnerPicker = _useState4[1];
328
330
  (0, _react.useEffect)(function () {
329
331
  setInnerModes([picker, picker]);
330
332
  }, [picker]);
331
- // const triggerModesChange = (modes: [PanelMode, PanelMode], values: RangeValue) => {
332
- // setInnerModes(modes)
333
- // if (onPanelChange) {
334
- // onPanelChange(values, modes)
335
- // }
336
- // }
337
- // ========================= Disable Date ==========================
338
333
  var _useRangeDisabled = (0, _useRangeDisabled3.default)({
339
334
  picker: picker,
340
335
  selectedValue: selectedValue,
@@ -344,11 +339,7 @@ var InternalRangePicker = function InternalRangePicker(props, ref) {
344
339
  _useRangeDisabled2 = (0, _slicedToArray2.default)(_useRangeDisabled, 2),
345
340
  disabledStartDate = _useRangeDisabled2[0],
346
341
  disabledEndDate = _useRangeDisabled2[1];
347
- // const onResetText = () => {
348
- // resetEndText()
349
- // resetStartText()
350
- // }
351
- var triggerRef = _react.default.useRef();
342
+ var triggerRef = (0, _react.useRef)();
352
343
  var triggerOpen = function triggerOpen(newOpen, index) {
353
344
  if (newOpen) {
354
345
  clearTimeout(triggerRef.current);
@@ -427,22 +418,28 @@ var InternalRangePicker = function InternalRangePicker(props, ref) {
427
418
  triggerOpen(false, sourceIndex);
428
419
  }
429
420
  };
430
- (0, _hooks.useOnClickOutside)([popperRef, inputDivRef], function () {
431
- setViewDate(null, 0);
432
- setViewDate(null, 1);
433
- setHoverRangedValue([null, null]);
434
- });
421
+ // useOnClickOutside([popperRef, inputDivRef], () => {
422
+ // setViewDate(null, 0)
423
+ // setViewDate(null, 1)
424
+ // setHoverRangedValue([null, null])
425
+ // })
435
426
  var onSelect = function onSelect(date, type) {
436
427
  var values = (0, _utils2.updateValues)(selectedValue, date, mergedActivePickerIndex);
437
- if (type === 'submit' || type !== 'key' && !needConfirmButton) {
438
- triggerChange(values, mergedActivePickerIndex);
439
- if (mergedActivePickerIndex === 0) {
440
- onStartLeave();
441
- } else {
442
- onEndLeave();
428
+ if (type === 'inner') {
429
+ if (values && values[mergedActivePickerIndex]) {
430
+ setViewDate(values[mergedActivePickerIndex], mergedActivePickerIndex);
443
431
  }
444
432
  } else {
445
- setSelectedValue(values);
433
+ if (type === 'submit' || type !== 'key' && !needConfirmButton) {
434
+ triggerChange(values, mergedActivePickerIndex);
435
+ if (mergedActivePickerIndex === 0) {
436
+ onStartLeave();
437
+ } else {
438
+ onEndLeave();
439
+ }
440
+ } else {
441
+ setSelectedValue(values);
442
+ }
446
443
  }
447
444
  };
448
445
  var onDateMouseEnter = function onDateMouseEnter(date) {
@@ -472,6 +469,11 @@ var InternalRangePicker = function InternalRangePicker(props, ref) {
472
469
  if (!endValueTexts.length || endValueTexts[0] === '') {
473
470
  triggerEndTextChange('');
474
471
  }
472
+ setViewDate(null, 0);
473
+ setViewDate(null, 1);
474
+ setHoverRangedValue([null, null]);
475
+ } else {
476
+ setInnerPicker(undefined);
475
477
  }
476
478
  // eslint-disable-next-line react-hooks/exhaustive-deps
477
479
  }, [mergedOpen, startValueTexts, endValueTexts]);
@@ -551,7 +553,7 @@ var InternalRangePicker = function InternalRangePicker(props, ref) {
551
553
  }, renderPanel());
552
554
  panels = /*#__PURE__*/_react.default.createElement("div", {
553
555
  className: (0, _classnames.default)("".concat(datePickerPrefixCls, "-container-date"))
554
- }, leftPanel, rightPanel);
556
+ }, leftPanel, innerPicker === undefined ? rightPanel : null);
555
557
  } else {
556
558
  panels = /*#__PURE__*/_react.default.createElement(_context.default.Provider, {
557
559
  value: {
@@ -706,7 +708,7 @@ var InternalRangePicker = function InternalRangePicker(props, ref) {
706
708
  getPopupContainer: getPopupContainer
707
709
  });
708
710
  };
709
- var RangePicker = /*#__PURE__*/_react.default.forwardRef(InternalRangePicker);
711
+ var RangePicker = /*#__PURE__*/(0, _react.forwardRef)(InternalRangePicker);
710
712
  RangePicker.displayName = 'RangePicker';
711
713
  var _default = RangePicker;
712
714
  exports.default = _default;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kdcloudjs/kdesign",
3
- "version": "1.6.38",
3
+ "version": "1.6.39",
4
4
  "description": "KDesign 金蝶前端react 组件库",
5
5
  "title": "kdesign",
6
6
  "keywords": [
@@ -77,7 +77,7 @@
77
77
  "@babel/runtime": "^7.10.4",
78
78
  "@babel/runtime-corejs3": "^7.11.2",
79
79
  "@babel/standalone": "^7.14.3",
80
- "@kdcloudjs/table": "canary",
80
+ "@kdcloudjs/table": "1.1.5-canary.3",
81
81
  "@popperjs/core": "^2.5.4",
82
82
  "async-validator": "^3.5.1",
83
83
  "axios": "^0.21.1",