@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.
- package/CHANGELOG.md +20 -0
- package/dist/kdesign.css +1 -1
- package/dist/kdesign.css.map +1 -1
- package/dist/kdesign.js +82 -73
- package/dist/kdesign.js.map +1 -1
- package/dist/kdesign.min.css +1 -1
- package/dist/kdesign.min.js +6 -6
- package/dist/kdesign.min.js.map +1 -1
- package/es/config-provider/compDefaultProps.d.ts +1 -0
- package/es/config-provider/compDefaultProps.js +2 -1
- package/es/date-picker/date-panel.js +20 -16
- package/es/date-picker/range-picker.d.ts +10 -10
- package/es/date-picker/range-picker.js +48 -46
- package/es/image-cropper/cropper.d.ts +2 -1
- package/es/image-cropper/cropper.js +3 -2
- package/es/image-cropper/image-cropper.d.ts +1 -0
- package/es/image-cropper/image-cropper.js +3 -1
- package/es/radio/group.js +2 -2
- package/es/radio/radio.js +3 -1
- package/lib/config-provider/compDefaultProps.d.ts +1 -0
- package/lib/config-provider/compDefaultProps.js +2 -1
- package/lib/date-picker/date-panel.js +20 -16
- package/lib/date-picker/range-picker.d.ts +10 -10
- package/lib/date-picker/range-picker.js +46 -44
- package/lib/image-cropper/cropper.d.ts +2 -1
- package/lib/image-cropper/cropper.js +3 -2
- package/lib/image-cropper/image-cropper.d.ts +1 -0
- package/lib/image-cropper/image-cropper.js +3 -1
- package/lib/radio/group.js +2 -2
- package/lib/radio/radio.js +3 -1
- package/package.json +4 -3
|
@@ -22,7 +22,10 @@ function Panel(props) {
|
|
|
22
22
|
locale = context.locale,
|
|
23
23
|
innerPicker = context.innerPicker,
|
|
24
24
|
setInnerPicker = context.setInnerPicker;
|
|
25
|
-
var
|
|
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 (
|
|
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:
|
|
196
|
-
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:
|
|
206
|
-
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:
|
|
216
|
-
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:
|
|
225
|
-
onNext:
|
|
226
|
-
onSuperPrev:
|
|
227
|
-
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:
|
|
238
|
-
onNext:
|
|
239
|
-
onSuperPrev:
|
|
240
|
-
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) =>
|
|
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?:
|
|
18
|
+
separator?: ReactNode;
|
|
19
19
|
allowEmpty?: [boolean, boolean];
|
|
20
|
-
suffixIcon?:
|
|
21
|
-
clearIcon?:
|
|
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?:
|
|
27
|
-
onBlur?:
|
|
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:
|
|
31
|
+
panelRender?: (originPanel: ReactNode) => ReactNode;
|
|
32
32
|
getPopupContainer?: (node: HTMLElement) => HTMLElement;
|
|
33
|
-
popupRef?:
|
|
34
|
-
popupStyle?:
|
|
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
|
|
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 =
|
|
119
|
-
var
|
|
120
|
-
var
|
|
121
|
-
var
|
|
122
|
-
var
|
|
123
|
-
var
|
|
124
|
-
var
|
|
125
|
-
var
|
|
126
|
-
var
|
|
127
|
-
var
|
|
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
|
|
272
|
-
|
|
273
|
-
hoverRangedValue =
|
|
274
|
-
setHoverRangedValue =
|
|
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
|
|
313
|
-
|
|
314
|
-
innerPicker =
|
|
315
|
-
setInnerPicker =
|
|
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
|
-
|
|
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],
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
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 === '
|
|
426
|
-
|
|
427
|
-
|
|
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
|
-
|
|
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__*/
|
|
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:
|
|
47
|
+
autoCropArea: autoCropArea
|
|
47
48
|
};
|
|
48
|
-
}, [aspectRatio, viewMode, zoomOnWheel, dragMode, modal,
|
|
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
|
-
|
|
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
|
-
|
|
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
|
}
|
|
@@ -34,7 +34,10 @@ function Panel(props) {
|
|
|
34
34
|
locale = context.locale,
|
|
35
35
|
innerPicker = context.innerPicker,
|
|
36
36
|
setInnerPicker = context.setInnerPicker;
|
|
37
|
-
var
|
|
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 (
|
|
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:
|
|
208
|
-
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:
|
|
218
|
-
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:
|
|
228
|
-
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:
|
|
237
|
-
onNext:
|
|
238
|
-
onSuperPrev:
|
|
239
|
-
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:
|
|
250
|
-
onNext:
|
|
251
|
-
onSuperPrev:
|
|
252
|
-
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) =>
|
|
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?:
|
|
18
|
+
separator?: ReactNode;
|
|
19
19
|
allowEmpty?: [boolean, boolean];
|
|
20
|
-
suffixIcon?:
|
|
21
|
-
clearIcon?:
|
|
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?:
|
|
27
|
-
onBlur?:
|
|
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:
|
|
31
|
+
panelRender?: (originPanel: ReactNode) => ReactNode;
|
|
32
32
|
getPopupContainer?: (node: HTMLElement) => HTMLElement;
|
|
33
|
-
popupRef?:
|
|
34
|
-
popupStyle?:
|
|
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'>;
|