@kdcloudjs/kdesign 1.6.38 → 1.6.40

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.
@@ -53,8 +53,8 @@ var InternalButton = function InternalButton(props, ref) {
53
53
  * @param {React.MouseEvent<HTMLButtonElement | HTMLAnchorElement, MouseEvent>} e 事件对象
54
54
  */
55
55
  var handleClick = function handleClick(e) {
56
- if (loading) {
57
- // 加载中不触发点击事件
56
+ if (loading || disabled) {
57
+ // 加载中和禁用状态不触发点击事件
58
58
  return;
59
59
  }
60
60
  var waveStatus = buttonRef.current.getAttribute('click-animating-wave');
@@ -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;
@@ -61,7 +61,7 @@ var ClearableInput = function ClearableInput(props) {
61
61
  style: {
62
62
  marginRight: suffix ? 9 : 0
63
63
  }
64
- }, inputCount), /*#__PURE__*/React.createElement("span", null, suffix));
64
+ }, inputCount), suffix);
65
65
  }
66
66
  return null;
67
67
  };
@@ -27,7 +27,6 @@ export interface AbstractSelectProps extends PopperProps {
27
27
  id?: string;
28
28
  children?: React.ReactNode;
29
29
  options?: OptionsType[];
30
- loading?: boolean;
31
30
  clearIcon?: React.ReactNode;
32
31
  searchIcon?: React.ReactNode;
33
32
  suffixIcon?: React.ReactNode;
@@ -56,6 +55,7 @@ export interface ISelectProps<T extends SelectValue> extends AbstractSelectProps
56
55
  autoFocus?: boolean;
57
56
  onChange?: (value?: T, option?: React.ReactElement<any> | React.ReactElement<any>[]) => void;
58
57
  onSelect?: (value?: T extends (infer I)[] ? I : T, option?: React.ReactElement<any>) => void;
58
+ onDeselect?: (value?: T extends (infer I)[] ? I : T, option?: React.ReactElement<any>) => void;
59
59
  onBlur?: (value?: T) => void;
60
60
  onFocus?: () => void;
61
61
  onSearch?: (value?: string) => void;
@@ -101,6 +101,10 @@ var InternalSelect = function InternalSelect(props, ref) {
101
101
  _useState10 = _slicedToArray(_useState9, 2),
102
102
  inputWidth = _useState10[0],
103
103
  setInputWidth = _useState10[1]; // 输入框宽度
104
+ var _useState11 = useState(autoFocus),
105
+ _useState12 = _slicedToArray(_useState11, 2),
106
+ focusd = _useState12[0],
107
+ setFocusd = _useState12[1];
104
108
  var selectPrefixCls = getPrefixCls(prefixCls, 'select', customPrefixcls);
105
109
  // 选择器样式
106
110
  var selectCls = classNames(selectPrefixCls, className, _defineProperty({}, "".concat(selectPrefixCls, "-visible"), optionShow));
@@ -184,10 +188,12 @@ var InternalSelect = function InternalSelect(props, ref) {
184
188
  }, [optionShow]);
185
189
  var handleFocus = useCallback(function (e) {
186
190
  e.stopPropagation();
191
+ setFocusd(true);
187
192
  onFocus && onFocus(e);
188
193
  }, [onFocus]);
189
194
  var handleBlur = useCallback(function (e) {
190
195
  e.stopPropagation();
196
+ setFocusd(false);
191
197
  onBlur && onBlur(e);
192
198
  }, [onBlur]);
193
199
  // 点击组件
@@ -239,7 +245,7 @@ var InternalSelect = function InternalSelect(props, ref) {
239
245
  }, [searchValue, realChildren, filterOption, optionFilterProp]);
240
246
  var getOptionLabel = useCallback(function (obj) {
241
247
  var _a;
242
- var text = 'options' in selectProps ? 'label' : optionLabelProp;
248
+ var text = Object.prototype.hasOwnProperty.call(selectProps, 'options') && !Object.prototype.hasOwnProperty.call(props, 'optionLabelProp') ? 'label' : optionLabelProp;
243
249
  if (obj.props) {
244
250
  if (text) {
245
251
  return obj === null || obj === void 0 ? void 0 : obj.props[text];
@@ -383,6 +389,7 @@ var InternalSelect = function InternalSelect(props, ref) {
383
389
  // 输入框变化搜索内容
384
390
  var handleSearchChange = useCallback(function (event) {
385
391
  var val = event.currentTarget.value;
392
+ setOptionShow(true);
386
393
  setSearchValue(val);
387
394
  onSearch === null || onSearch === void 0 ? void 0 : onSearch(val);
388
395
  }, [onSearch]);
@@ -435,9 +442,9 @@ var InternalSelect = function InternalSelect(props, ref) {
435
442
  return e.preventDefault();
436
443
  },
437
444
  className: clearIconCls
438
- }, /*#__PURE__*/React.createElement(Icon, {
445
+ }, clearIcon || /*#__PURE__*/React.createElement(Icon, {
439
446
  type: "close-solid"
440
- }) || clearIcon), showArrow && /*#__PURE__*/React.createElement("span", {
447
+ })), showArrow && /*#__PURE__*/React.createElement("span", {
441
448
  className: arrowIconCls
442
449
  }, suffixIcon || /*#__PURE__*/React.createElement(Icon, {
443
450
  type: "arrow-down"
@@ -483,6 +490,12 @@ var InternalSelect = function InternalSelect(props, ref) {
483
490
  var isShowSearch = useMemo(function () {
484
491
  return isBoolean(showSearch) ? showSearch : isMultiple;
485
492
  }, [isMultiple, showSearch]);
493
+ useEffect(function () {
494
+ var _a;
495
+ if (isShowSearch && autoFocus && !disabled) {
496
+ (_a = searchRef.current) === null || _a === void 0 ? void 0 : _a.focus();
497
+ }
498
+ }, [isShowSearch, autoFocus, disabled]);
486
499
  // 渲染下拉列表框
487
500
  var renderContent = function renderContent() {
488
501
  var dropdownRender = selectProps.dropdownRender,
@@ -605,7 +618,7 @@ var InternalSelect = function InternalSelect(props, ref) {
605
618
  var _context3, _classNames10, _context4, _classNames11;
606
619
  var maxTagCount = selectProps.maxTagCount,
607
620
  maxTagPlaceholder = selectProps.maxTagPlaceholder;
608
- var multipleCls = classNames(commCls, (_classNames10 = {}, _defineProperty(_classNames10, "".concat(selectPrefixCls, "-multiple-disabled"), disabled), _defineProperty(_classNames10, _concatInstanceProperty(_context3 = "".concat(selectPrefixCls, "-")).call(_context3, mode), mode), _defineProperty(_classNames10, "".concat(selectPrefixCls, "-focused"), autoFocus || optionShow), _defineProperty(_classNames10, "".concat(selectPrefixCls, "-placeholder"), placeholder && !mulOptions.length), _classNames10));
621
+ var multipleCls = classNames(commCls, (_classNames10 = {}, _defineProperty(_classNames10, "".concat(selectPrefixCls, "-multiple-disabled"), disabled), _defineProperty(_classNames10, _concatInstanceProperty(_context3 = "".concat(selectPrefixCls, "-")).call(_context3, mode), mode), _defineProperty(_classNames10, "".concat(selectPrefixCls, "-focused"), focusd || optionShow), _defineProperty(_classNames10, "".concat(selectPrefixCls, "-placeholder"), placeholder && !mulOptions.length), _classNames10));
609
622
  var itemCls = classNames((_classNames11 = {}, _defineProperty(_classNames11, "".concat(selectPrefixCls, "-selection-item"), true), _defineProperty(_classNames11, _concatInstanceProperty(_context4 = "".concat(selectPrefixCls, "-selection-item-")).call(_context4, size), size), _classNames11));
610
623
  var TagStyle = {
611
624
  margin: '2px 8px 2px 0',
@@ -666,7 +679,7 @@ var InternalSelect = function InternalSelect(props, ref) {
666
679
  className: "".concat(selectPrefixCls, "-suffix")
667
680
  }, renderSuffix()));
668
681
  };
669
- var singleCls = classNames(commCls, (_classNames12 = {}, _defineProperty(_classNames12, "".concat(selectPrefixCls, "-single"), true), _defineProperty(_classNames12, "".concat(selectPrefixCls, "-single-disabled"), disabled), _defineProperty(_classNames12, "".concat(selectPrefixCls, "-single-focused"), autoFocus && !disabled || optionShow), _classNames12));
682
+ var singleCls = classNames(commCls, (_classNames12 = {}, _defineProperty(_classNames12, "".concat(selectPrefixCls, "-single"), true), _defineProperty(_classNames12, "".concat(selectPrefixCls, "-single-disabled"), disabled), _defineProperty(_classNames12, "".concat(selectPrefixCls, "-single-focused"), focusd && !disabled || optionShow), _classNames12));
670
683
  var renderSelect = function renderSelect() {
671
684
  return /*#__PURE__*/React.createElement("div", {
672
685
  className: selectCls,
@@ -40,6 +40,7 @@ export var flattenAll = function flattenAll(treeData) {
40
40
  var parent = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : null;
41
41
  treeData && treeData.forEach(function (item, index) {
42
42
  var _context, _context2;
43
+ var _a;
43
44
  var children = item.children,
44
45
  title = item.title,
45
46
  key = item.key,
@@ -53,7 +54,7 @@ export var flattenAll = function flattenAll(treeData) {
53
54
  hasChildNode: hasChildNode,
54
55
  children: children,
55
56
  level: level,
56
- parentKey: (parent === null || parent === void 0 ? void 0 : parent.key) || null,
57
+ parentKey: ((_a = parent === null || parent === void 0 ? void 0 : parent.key) !== null && _a !== void 0 ? _a : '') !== '' ? parent === null || parent === void 0 ? void 0 : parent.key : null,
57
58
  pathParentKeys: parent ? _concatInstanceProperty(_context2 = []).call(_context2, _toConsumableArray((parent === null || parent === void 0 ? void 0 : parent.pathParentKeys) || []), [parent === null || parent === void 0 ? void 0 : parent.key]) : []
58
59
  }, others);
59
60
  keysData[key] = flattenNode;
@@ -129,11 +130,8 @@ export var getAllFilterKeys = function getAllFilterKeys(data, filterTreeNode, ke
129
130
  filterKeys.forEach(function (item) {
130
131
  var node = _extends({}, item);
131
132
  while (node) {
132
- var _context3;
133
133
  allFilterKeys.add(node.key);
134
- !_includesInstanceProperty(_context3 = _mapInstanceProperty(filterKeys).call(filterKeys, function (i) {
135
- return i.key;
136
- })).call(_context3, node.key) && filterExpandKeys.add(node.key);
134
+ filterExpandKeys.add(node.key);
137
135
  node = (keysData === null || keysData === void 0 ? void 0 : keysData[node === null || node === void 0 ? void 0 : node.parentKey]) || null;
138
136
  }
139
137
  });
@@ -276,10 +274,10 @@ export var getSpreadAttrData = function getSpreadAttrData(treeData, expandedKeys
276
274
  };
277
275
  };
278
276
  export var addKeys = function addKeys() {
279
- var _context4;
277
+ var _context3;
280
278
  var prevKeys = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
281
279
  var newKeys = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
282
- return _Array$from(new _Set(_concatInstanceProperty(_context4 = []).call(_context4, _toConsumableArray(prevKeys), _toConsumableArray(newKeys))));
280
+ return _Array$from(new _Set(_concatInstanceProperty(_context3 = []).call(_context3, _toConsumableArray(prevKeys), _toConsumableArray(newKeys))));
283
281
  };
284
282
  export var getAllParentKeys = function getAllParentKeys(data) {
285
283
  var pos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
@@ -325,13 +323,13 @@ export var getPos = function getPos(data, key) {
325
323
  return node === null || node === void 0 ? void 0 : node.pos;
326
324
  };
327
325
  export var getInitCheckedKeys = function getInitCheckedKeys(data, keys) {
328
- var _context5;
326
+ var _context4;
329
327
  var checkedKeys = [];
330
328
  keys.forEach(function (item) {
331
329
  var pos = getPos(data, item);
332
330
  checkedKeys.push.apply(checkedKeys, _toConsumableArray(getAllChildKeys(data, pos)));
333
331
  });
334
- return _Array$from(new _Set(_concatInstanceProperty(_context5 = []).call(_context5, checkedKeys, _toConsumableArray(keys))));
332
+ return _Array$from(new _Set(_concatInstanceProperty(_context4 = []).call(_context4, checkedKeys, _toConsumableArray(keys))));
335
333
  };
336
334
  export var getInitCheckededState = function getInitCheckededState(data) {
337
335
  var checkedKeys = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
@@ -425,7 +423,7 @@ var updateParent = function updateParent(key, keysNodeProps, allKeys, halfChecke
425
423
  });
426
424
  };
427
425
  export var getInitCheckededKeys = function getInitCheckededKeys() {
428
- var _context6;
426
+ var _context5;
429
427
  var checkedKeys = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
430
428
  var keysNodeProps = arguments.length > 1 ? arguments[1] : undefined;
431
429
  var checkedKeysSet = new _Set(checkedKeys || []);
@@ -445,7 +443,7 @@ export var getInitCheckededKeys = function getInitCheckededKeys() {
445
443
  }
446
444
  });
447
445
  return {
448
- checkedKeys: _toConsumableArray(new _Set(_concatInstanceProperty(_context6 = []).call(_context6, _toConsumableArray(checkedKeysSet), _toConsumableArray(childCheckedKeysSet)))),
446
+ checkedKeys: _toConsumableArray(new _Set(_concatInstanceProperty(_context5 = []).call(_context5, _toConsumableArray(checkedKeysSet), _toConsumableArray(childCheckedKeysSet)))),
449
447
  halfCheckedKeys: _toConsumableArray(halfCheckedKeysSet)
450
448
  };
451
449
  };
@@ -608,8 +606,8 @@ export var getInitExpandedKeys = function getInitExpandedKeys(data, expandedKeys
608
606
  }
609
607
  }
610
608
  if (isSearching) {
611
- var _context7;
612
- keys = _concatInstanceProperty(_context7 = []).call(_context7, _toConsumableArray(searchExpandedKeys), _toConsumableArray(getAllFilterKeys(data, filterTreeNode, keysData).filterExpandKeys));
609
+ var _context6;
610
+ keys = _concatInstanceProperty(_context6 = []).call(_context6, _toConsumableArray(searchExpandedKeys), _toConsumableArray(getAllFilterKeys(data, filterTreeNode, keysData).filterExpandKeys));
613
611
  }
614
612
  return _Array$from(new _Set(_toConsumableArray(keys)));
615
613
  };
@@ -1,4 +1,4 @@
1
- import * as React from 'react';
1
+ import React from 'react';
2
2
  import { UploadProps } from './interface';
3
3
  declare const Upload: React.ForwardRefExoticComponent<UploadProps<any> & React.RefAttributes<unknown>>;
4
4
  export default Upload;
@@ -37,7 +37,7 @@ var __awaiter = this && this.__awaiter || function (thisArg, _arguments, P, gene
37
37
  step((generator = generator.apply(thisArg, _arguments || [])).next());
38
38
  });
39
39
  };
40
- import * as React from 'react';
40
+ import React, { Children } from 'react';
41
41
  import classNames from 'classnames';
42
42
  import ConfigContext from '../config-provider/ConfigContext';
43
43
  import { getCompProps } from '../_utils';
@@ -97,6 +97,7 @@ var InternalUpload = function InternalUpload(props, ref) {
97
97
  _React$useState2 = _slicedToArray(_React$useState, 2),
98
98
  fileList = _React$useState2[0],
99
99
  setFileList = _React$useState2[1];
100
+ var hasChildren = children && Children.toArray(children).length > 0;
100
101
  React.useEffect(function () {
101
102
  props.fileList && setFileList(props.fileList);
102
103
  }, [props.fileList]);
@@ -365,7 +366,7 @@ var InternalUpload = function InternalUpload(props, ref) {
365
366
  disabled: disabled
366
367
  }, className),
367
368
  style: style
368
- }, listType === 'text' && /*#__PURE__*/React.createElement("label", _extends({
369
+ }, listType === 'text' && hasChildren && /*#__PURE__*/React.createElement("label", _extends({
369
370
  className: classNames((_classNames = {}, _defineProperty(_classNames, _concatInstanceProperty(_context5 = "".concat(prefixCls, "-")).call(_context5, type), true), _defineProperty(_classNames, "hover", hover), _classNames))
370
371
  }, dragEvents), /*#__PURE__*/React.createElement("span", {
371
372
  className: "".concat(prefixCls, "-handle")
@@ -378,7 +379,7 @@ var InternalUpload = function InternalUpload(props, ref) {
378
379
  ref: mergedRef
379
380
  })))), (listType === 'picture' || !(listType === 'text' && (!showUploadList || !fileList.length))) && /*#__PURE__*/React.createElement("ul", {
380
381
  className: _concatInstanceProperty(_context6 = "".concat(prefixCls, "-")).call(_context6, listType, "-list")
381
- }, listType === 'picture' && children && /*#__PURE__*/React.createElement("li", {
382
+ }, listType === 'picture' && hasChildren && /*#__PURE__*/React.createElement("li", {
382
383
  className: classNames(_concatInstanceProperty(_context7 = "".concat(prefixCls, "-")).call(_context7, listType, "-list-item"))
383
384
  }, /*#__PURE__*/React.createElement("label", {
384
385
  className: "".concat(prefixCls, "-select")
@@ -70,8 +70,8 @@ var InternalButton = function InternalButton(props, ref) {
70
70
  * @param {React.MouseEvent<HTMLButtonElement | HTMLAnchorElement, MouseEvent>} e 事件对象
71
71
  */
72
72
  var handleClick = function handleClick(e) {
73
- if (loading) {
74
- // 加载中不触发点击事件
73
+ if (loading || disabled) {
74
+ // 加载中和禁用状态不触发点击事件
75
75
  return;
76
76
  }
77
77
  var waveStatus = buttonRef.current.getAttribute('click-animating-wave');
@@ -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
  }