@kdcloudjs/kdesign 1.6.37 → 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.
@@ -371,6 +371,7 @@ declare const compDefaultProps: {
371
371
  viewMode: number;
372
372
  aspectRatio: number;
373
373
  okText: string;
374
+ autoCropArea: number;
374
375
  };
375
376
  Anchor: {
376
377
  type: string;
@@ -384,7 +384,8 @@ var compDefaultProps = {
384
384
  dragMode: 'crop',
385
385
  viewMode: 0,
386
386
  aspectRatio: NaN,
387
- okText: '确认裁剪'
387
+ okText: '确认裁剪',
388
+ autoCropArea: 0.5
388
389
  },
389
390
  Anchor: {
390
391
  type: 'bookmarks',
@@ -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;
@@ -19,7 +19,8 @@ export interface CropperProps {
19
19
  modal?: boolean;
20
20
  zoomOnWheel?: boolean;
21
21
  cropBoxMovable?: boolean;
22
+ autoCropArea?: number;
22
23
  onCropSuccess?: () => void;
23
24
  }
24
- declare const Cropper: React.ForwardRefExoticComponent<Pick<CropperProps, "className" | "modal" | "imgSrc" | "dragMode" | "viewMode" | "aspectRatio" | "zoomOnWheel" | "cropBoxMovable" | "onCropSuccess"> & React.RefAttributes<CropperInstance | null>>;
25
+ declare const Cropper: React.ForwardRefExoticComponent<Pick<CropperProps, "className" | "modal" | "imgSrc" | "dragMode" | "viewMode" | "aspectRatio" | "zoomOnWheel" | "cropBoxMovable" | "autoCropArea" | "onCropSuccess"> & React.RefAttributes<CropperInstance | null>>;
25
26
  export default Cropper;
@@ -27,6 +27,7 @@ var Cropper = /*#__PURE__*/forwardRef(function (props, forwardedRef) {
27
27
  dragMode = props.dragMode,
28
28
  viewMode = props.viewMode,
29
29
  aspectRatio = props.aspectRatio,
30
+ autoCropArea = props.autoCropArea,
30
31
  _props$modal = props.modal,
31
32
  modal = _props$modal === void 0 ? true : _props$modal,
32
33
  _props$zoomOnWheel = props.zoomOnWheel,
@@ -43,9 +44,9 @@ var Cropper = /*#__PURE__*/forwardRef(function (props, forwardedRef) {
43
44
  dragMode: dragMode,
44
45
  cropBoxMovable: cropBoxMovable,
45
46
  modal: modal,
46
- autoCropArea: 0.5
47
+ autoCropArea: autoCropArea
47
48
  };
48
- }, [aspectRatio, viewMode, zoomOnWheel, dragMode, modal, cropBoxMovable]);
49
+ }, [aspectRatio, viewMode, zoomOnWheel, dragMode, cropBoxMovable, modal, autoCropArea]);
49
50
  useEffect(function () {
50
51
  if (!imgRef.current) return;
51
52
  if (!imgSrc) return;
@@ -24,6 +24,7 @@ export interface ImageCropperProps {
24
24
  customComponents?: customComponentsProps;
25
25
  showDeaultToolbar?: boolean;
26
26
  cropBoxMovable?: boolean;
27
+ autoCropArea?: number;
27
28
  onClose?: () => void;
28
29
  onCropSuccess?: (file: File) => void;
29
30
  onCropFailed?: () => void;
@@ -78,7 +78,8 @@ var InternalImageCropper = function InternalImageCropper(props, forwardedRef) {
78
78
  cropBoxMovable = _a.cropBoxMovable,
79
79
  customComponents = _a.customComponents,
80
80
  showDeaultToolbar = _a.showDeaultToolbar,
81
- restProps = __rest(_a, ["prefixCls", "containerWidth", "containerHeight", "title", "visible", "onClose", "onCropSuccess", "onCropFailed", "dragMode", "viewMode", "aspectRatio", "modal", "okText", "okBtn", "image", "zoomOnWheel", "imageMaxSize", "cropBoxMovable", "customComponents", "showDeaultToolbar"]);
81
+ autoCropArea = _a.autoCropArea,
82
+ restProps = __rest(_a, ["prefixCls", "containerWidth", "containerHeight", "title", "visible", "onClose", "onCropSuccess", "onCropFailed", "dragMode", "viewMode", "aspectRatio", "modal", "okText", "okBtn", "image", "zoomOnWheel", "imageMaxSize", "cropBoxMovable", "customComponents", "showDeaultToolbar", "autoCropArea"]);
82
83
  var prefixCls = getPrefixCls(pkgPrefixCls, 'image-cropper', customPrefixcls);
83
84
  var handleOkClick = function handleOkClick() {
84
85
  return __awaiter(void 0, void 0, void 0, /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
@@ -125,6 +126,7 @@ var InternalImageCropper = function InternalImageCropper(props, forwardedRef) {
125
126
  zoomOnWheel: zoomOnWheel,
126
127
  cropBoxMovable: cropBoxMovable,
127
128
  imgSrc: cropperSrc,
129
+ autoCropArea: autoCropArea,
128
130
  ref: cropperRef
129
131
  });
130
132
  var OperationBarNode = /*#__PURE__*/React.createElement(OperationBar, {
package/es/radio/group.js CHANGED
@@ -12,14 +12,14 @@ var RadioGroup = /*#__PURE__*/React.forwardRef(function (props, ref) {
12
12
  getPrefixCls = _React$useContext.getPrefixCls,
13
13
  prefixCls = _React$useContext.prefixCls,
14
14
  userDefaultProps = _React$useContext.compDefaultProps;
15
- var initValue = props.value === undefined ? props.defaultValue : props.value;
15
+ var initValue = typeof props.value === 'undefined' ? props.defaultValue : props.value;
16
16
  var _React$useState = React.useState(initValue),
17
17
  _React$useState2 = _slicedToArray(_React$useState, 2),
18
18
  value = _React$useState2[0],
19
19
  setValue = _React$useState2[1];
20
20
  // 从props更新value值
21
21
  React.useEffect(function () {
22
- if (props.value !== undefined) {
22
+ if (typeof props.value !== 'undefined') {
23
23
  setValue(props.value);
24
24
  }
25
25
  }, [props.value]);
package/es/radio/radio.js CHANGED
@@ -57,7 +57,9 @@ var InternalRadio = function InternalRadio(props, ref) {
57
57
  }, [checked, defaultChecked, context === null || context === void 0 ? void 0 : context.value]);
58
58
  var onChange = function onChange(e) {
59
59
  if (disabled) return;
60
- setIsChecked(e.target.checked);
60
+ if (typeof (context === null || context === void 0 ? void 0 : context.value) === 'undefined') {
61
+ setIsChecked(e.target.checked);
62
+ }
61
63
  if (props.onChange) {
62
64
  props.onChange(e);
63
65
  }
@@ -371,6 +371,7 @@ declare const compDefaultProps: {
371
371
  viewMode: number;
372
372
  aspectRatio: number;
373
373
  okText: string;
374
+ autoCropArea: number;
374
375
  };
375
376
  Anchor: {
376
377
  type: string;
@@ -395,7 +395,8 @@ var compDefaultProps = {
395
395
  dragMode: 'crop',
396
396
  viewMode: 0,
397
397
  aspectRatio: NaN,
398
- okText: '确认裁剪'
398
+ okText: '确认裁剪',
399
+ autoCropArea: 0.5
399
400
  },
400
401
  Anchor: {
401
402
  type: 'bookmarks',
@@ -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'>;