@ucloud-fe/react-components 1.4.2 → 1.4.5
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 +18 -0
- package/dist/main.min.js +2 -2
- package/lib/components/DatePicker/Range.js +56 -12
- package/lib/components/DatePicker/style/index.d.ts +6 -6
- package/lib/components/DatePicker/style/index.js +18 -33
- package/lib/components/DatePicker/usePicker.d.ts +1 -1
- package/lib/components/DatePicker/usePicker.js +21 -16
- package/lib/components/DatePicker/useRangePicker.d.ts +3 -1
- package/lib/components/DatePicker/useRangePicker.js +6 -4
- package/lib/components/Input/Input.d.ts +4 -1
- package/lib/components/Input/Input.js +11 -5
- package/lib/components/Input/style/index.js +7 -3
- package/package.json +1 -1
|
@@ -7,5 +7,5 @@ declare type TProps<D> = {
|
|
|
7
7
|
interface DisplayToFormatAndTimeMode<D> {
|
|
8
8
|
(display?: D): [string[]] | [string[], string[]];
|
|
9
9
|
}
|
|
10
|
-
declare const usePicker: <D>(props: TProps<D>, displayToFormatAndTimeMode: DisplayToFormatAndTimeMode<D>, mode: 'date' | 'month') => any[];
|
|
10
|
+
declare const usePicker: <D>(props: TProps<D>, displayToFormatAndTimeMode: DisplayToFormatAndTimeMode<D>, mode: 'date' | 'month', onClear?: (() => void) | undefined) => any[];
|
|
11
11
|
export default usePicker;
|
|
@@ -106,7 +106,7 @@ var align = {
|
|
|
106
106
|
targetOffset: [0, 0]
|
|
107
107
|
};
|
|
108
108
|
|
|
109
|
-
var usePicker = function usePicker(props, displayToFormatAndTimeMode, mode) {
|
|
109
|
+
var usePicker = function usePicker(props, displayToFormatAndTimeMode, mode, onClear) {
|
|
110
110
|
var _this2 = this;
|
|
111
111
|
|
|
112
112
|
(0, _newArrowCheck2.default)(this, _this);
|
|
@@ -259,6 +259,10 @@ var usePicker = function usePicker(props, displayToFormatAndTimeMode, mode) {
|
|
|
259
259
|
setInputValue('');
|
|
260
260
|
setCalValue(null);
|
|
261
261
|
}.bind(this), []);
|
|
262
|
+
var hide = (0, _react.useCallback)(function () {
|
|
263
|
+
(0, _newArrowCheck2.default)(this, _this2);
|
|
264
|
+
setVisible(false);
|
|
265
|
+
}.bind(this), []);
|
|
262
266
|
var handleConfirm = (0, _react.useCallback)(function (v) {
|
|
263
267
|
(0, _newArrowCheck2.default)(this, _this2);
|
|
264
268
|
var currentValue = v !== undefined ? v : calValue;
|
|
@@ -273,18 +277,15 @@ var usePicker = function usePicker(props, displayToFormatAndTimeMode, mode) {
|
|
|
273
277
|
setVisible(false);
|
|
274
278
|
}.bind(this), [calValue, nullable, onChange, rules, value]);
|
|
275
279
|
var handleInputClear = (0, _react.useCallback)(function () {
|
|
276
|
-
var _this3 = this;
|
|
277
|
-
|
|
278
280
|
(0, _newArrowCheck2.default)(this, _this2);
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
}.bind(this), [handleInputChange]);
|
|
281
|
+
clear(); // 不走 onChange,区分两种操作
|
|
282
|
+
|
|
283
|
+
if (onClear) {
|
|
284
|
+
onClear();
|
|
285
|
+
} else {
|
|
286
|
+
handleConfirm(null);
|
|
287
|
+
}
|
|
288
|
+
}.bind(this), [clear, handleConfirm, onClear]);
|
|
288
289
|
var handleCalendarChange = (0, _react.useCallback)(function (v) {
|
|
289
290
|
(0, _newArrowCheck2.default)(this, _this2);
|
|
290
291
|
v = (0, _utils.getValidDate)(v, rules);
|
|
@@ -298,12 +299,12 @@ var usePicker = function usePicker(props, displayToFormatAndTimeMode, mode) {
|
|
|
298
299
|
}
|
|
299
300
|
}.bind(this), [clickConfirm, format, onChange, rules]);
|
|
300
301
|
var handleInputFocus = (0, _react.useCallback)(function () {
|
|
301
|
-
var
|
|
302
|
+
var _this3 = this;
|
|
302
303
|
|
|
303
304
|
(0, _newArrowCheck2.default)(this, _this2);
|
|
304
305
|
setCalValue(value == null ? null : value);
|
|
305
306
|
setCalCurrentValue(function (currentValue) {
|
|
306
|
-
(0, _newArrowCheck2.default)(this,
|
|
307
|
+
(0, _newArrowCheck2.default)(this, _this3);
|
|
307
308
|
return getValidCurrentDate(value, d, currentValue);
|
|
308
309
|
}.bind(this));
|
|
309
310
|
setUseInputValue(true);
|
|
@@ -349,7 +350,10 @@ var usePicker = function usePicker(props, displayToFormatAndTimeMode, mode) {
|
|
|
349
350
|
size: size,
|
|
350
351
|
status: status,
|
|
351
352
|
placeholder: placeholder === undefined ? locale.placeholder : placeholder,
|
|
352
|
-
clearable: nullable
|
|
353
|
+
clearable: nullable ? {
|
|
354
|
+
autoFocus: false,
|
|
355
|
+
callOnChange: false
|
|
356
|
+
} : false,
|
|
353
357
|
onClear: handleInputClear
|
|
354
358
|
};
|
|
355
359
|
|
|
@@ -401,7 +405,8 @@ var usePicker = function usePicker(props, displayToFormatAndTimeMode, mode) {
|
|
|
401
405
|
error: typeof error === 'string' ? error : null,
|
|
402
406
|
active: visible
|
|
403
407
|
}, {
|
|
404
|
-
clear: clear
|
|
408
|
+
clear: clear,
|
|
409
|
+
hide: hide
|
|
405
410
|
}];
|
|
406
411
|
}.bind(void 0);
|
|
407
412
|
|
|
@@ -2,15 +2,17 @@ import { ReactNode, MutableRefObject } from 'react';
|
|
|
2
2
|
import { DatePickerProps } from './DatePicker';
|
|
3
3
|
export declare type RangeActionRef = {
|
|
4
4
|
clear: () => void;
|
|
5
|
+
hide: () => void;
|
|
5
6
|
};
|
|
6
7
|
export declare type RangePickerRef = {
|
|
7
8
|
focus: () => void;
|
|
8
9
|
clear: () => void;
|
|
9
10
|
} | undefined;
|
|
10
|
-
declare const useRangePicker: ({ prefix, type, suffix, actionRef, ...pickProps }: DatePickerProps & {
|
|
11
|
+
declare const useRangePicker: ({ prefix, type, suffix, actionRef, onClear, ...pickProps }: DatePickerProps & {
|
|
11
12
|
prefix?: boolean | undefined;
|
|
12
13
|
type?: "date" | "month" | undefined;
|
|
13
14
|
suffix?: ReactNode;
|
|
14
15
|
actionRef: MutableRefObject<RangeActionRef | undefined>;
|
|
16
|
+
onClear?: (() => void) | undefined;
|
|
15
17
|
}) => any[];
|
|
16
18
|
export default useRangePicker;
|
|
@@ -29,7 +29,7 @@ var _Month = require("./Month");
|
|
|
29
29
|
|
|
30
30
|
var _usePicker3 = _interopRequireDefault(require("./usePicker"));
|
|
31
31
|
|
|
32
|
-
var _excluded = ["prefix", "type", "suffix", "actionRef"];
|
|
32
|
+
var _excluded = ["prefix", "type", "suffix", "actionRef", "onClear"];
|
|
33
33
|
|
|
34
34
|
var _this = void 0;
|
|
35
35
|
|
|
@@ -57,10 +57,11 @@ var useRangePicker = function useRangePicker(_ref) {
|
|
|
57
57
|
type = _ref$type === void 0 ? 'date' : _ref$type,
|
|
58
58
|
suffix = _ref.suffix,
|
|
59
59
|
actionRef = _ref.actionRef,
|
|
60
|
+
onClear = _ref.onClear,
|
|
60
61
|
pickProps = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
61
62
|
var isMonth = type === 'month';
|
|
62
63
|
|
|
63
|
-
var _usePicker = (0, _usePicker3.default)(_objectSpread({}, pickProps), isMonth ? _Month.displayToFormatAndTimeMode : _DatePicker.displayToFormatAndTimeMode, type),
|
|
64
|
+
var _usePicker = (0, _usePicker3.default)(_objectSpread({}, pickProps), isMonth ? _Month.displayToFormatAndTimeMode : _DatePicker.displayToFormatAndTimeMode, type, onClear),
|
|
64
65
|
_usePicker2 = (0, _slicedToArray2.default)(_usePicker, 9),
|
|
65
66
|
inputProps = _usePicker2[0],
|
|
66
67
|
popoverProps = _usePicker2[2],
|
|
@@ -75,9 +76,10 @@ var useRangePicker = function useRangePicker(_ref) {
|
|
|
75
76
|
(0, _react.useImperativeHandle)(actionRef, function () {
|
|
76
77
|
(0, _newArrowCheck2.default)(this, _this2);
|
|
77
78
|
return {
|
|
78
|
-
clear: actions.clear
|
|
79
|
+
clear: actions.clear,
|
|
80
|
+
hide: actions.hide
|
|
79
81
|
};
|
|
80
|
-
}.bind(this), [actions.clear]);
|
|
82
|
+
}.bind(this), [actions.clear, actions.hide]);
|
|
81
83
|
return [// inputProps
|
|
82
84
|
_objectSpread(_objectSpread({}, inputProps), {}, {
|
|
83
85
|
customStyle: inputCustomStyle,
|
|
@@ -124,11 +124,17 @@ var Input = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
|
|
|
124
124
|
e.target = input;
|
|
125
125
|
e.currentTarget = input;
|
|
126
126
|
var cacheV = input.value;
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
127
|
+
|
|
128
|
+
if ((clearable === null || clearable === void 0 ? void 0 : clearable.callOnChange) !== false) {
|
|
129
|
+
input.value = '';
|
|
130
|
+
onChange(e);
|
|
131
|
+
input.value = cacheV;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
if ((clearable === null || clearable === void 0 ? void 0 : clearable.autoFocus) !== false) {
|
|
135
|
+
input.focus();
|
|
136
|
+
}
|
|
137
|
+
}.bind(this), [clearable, disabled, onChange, onClear]);
|
|
132
138
|
var handleWrapMouseDown = (0, _react.useCallback)(function (e) {
|
|
133
139
|
var _inputRef$current;
|
|
134
140
|
|