@ucloud-fe/react-components 1.4.1 → 1.4.4

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.
@@ -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,7 +259,7 @@ var usePicker = function usePicker(props, displayToFormatAndTimeMode, mode) {
259
259
  setInputValue('');
260
260
  setCalValue(null);
261
261
  }.bind(this), []);
262
- var handleConfirm = (0, _react.useCallback)(function (v) {
262
+ var handleConfirm = (0, _react.useCallback)(function (v, dontChangeVisible) {
263
263
  (0, _newArrowCheck2.default)(this, _this2);
264
264
  var currentValue = v !== undefined ? v : calValue;
265
265
 
@@ -270,21 +270,17 @@ var usePicker = function usePicker(props, displayToFormatAndTimeMode, mode) {
270
270
  }
271
271
 
272
272
  onChange && onChange(currentValue ? (0, _moment.default)(+currentValue) : null);
273
- setVisible(false);
273
+
274
+ if (!dontChangeVisible) {
275
+ setVisible(false);
276
+ }
274
277
  }.bind(this), [calValue, nullable, onChange, rules, value]);
275
278
  var handleInputClear = (0, _react.useCallback)(function () {
276
- var _this3 = this;
277
-
278
279
  (0, _newArrowCheck2.default)(this, _this2);
279
- setTimeout(function () {
280
- (0, _newArrowCheck2.default)(this, _this3);
281
- handleInputChange({
282
- target: {
283
- value: ''
284
- }
285
- });
286
- }.bind(this), 0);
287
- }.bind(this), [handleInputChange]);
280
+ clear(); // 不走 onChange,区分两种操作
281
+
282
+ onClear === null || onClear === void 0 ? void 0 : onClear();
283
+ }.bind(this), [clear, onClear]);
288
284
  var handleCalendarChange = (0, _react.useCallback)(function (v) {
289
285
  (0, _newArrowCheck2.default)(this, _this2);
290
286
  v = (0, _utils.getValidDate)(v, rules);
@@ -298,12 +294,12 @@ var usePicker = function usePicker(props, displayToFormatAndTimeMode, mode) {
298
294
  }
299
295
  }.bind(this), [clickConfirm, format, onChange, rules]);
300
296
  var handleInputFocus = (0, _react.useCallback)(function () {
301
- var _this4 = this;
297
+ var _this3 = this;
302
298
 
303
299
  (0, _newArrowCheck2.default)(this, _this2);
304
300
  setCalValue(value == null ? null : value);
305
301
  setCalCurrentValue(function (currentValue) {
306
- (0, _newArrowCheck2.default)(this, _this4);
302
+ (0, _newArrowCheck2.default)(this, _this3);
307
303
  return getValidCurrentDate(value, d, currentValue);
308
304
  }.bind(this));
309
305
  setUseInputValue(true);
@@ -349,7 +345,10 @@ var usePicker = function usePicker(props, displayToFormatAndTimeMode, mode) {
349
345
  size: size,
350
346
  status: status,
351
347
  placeholder: placeholder === undefined ? locale.placeholder : placeholder,
352
- clearable: nullable,
348
+ clearable: nullable ? {
349
+ autoFocus: false,
350
+ callOnChange: false
351
+ } : false,
353
352
  onClear: handleInputClear
354
353
  };
355
354
 
@@ -7,10 +7,11 @@ export declare type RangePickerRef = {
7
7
  focus: () => void;
8
8
  clear: () => void;
9
9
  } | undefined;
10
- declare const useRangePicker: ({ prefix, type, suffix, actionRef, ...pickProps }: DatePickerProps & {
10
+ declare const useRangePicker: ({ prefix, type, suffix, actionRef, onClear, ...pickProps }: DatePickerProps & {
11
11
  prefix?: boolean | undefined;
12
12
  type?: "date" | "month" | undefined;
13
13
  suffix?: ReactNode;
14
14
  actionRef: MutableRefObject<RangeActionRef | undefined>;
15
+ onClear?: (() => void) | undefined;
15
16
  }) => any[];
16
17
  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],
@@ -11,7 +11,10 @@ export interface DefinedInputProps {
11
11
  /** 后缀 */
12
12
  suffix?: ReactNode;
13
13
  /** 是否可清空 */
14
- clearable?: boolean;
14
+ clearable?: boolean | {
15
+ autoFocus?: boolean;
16
+ callOnChange?: boolean;
17
+ };
15
18
  /** 尺寸 */
16
19
  size?: Size;
17
20
  /** 状态 */
@@ -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
- input.value = '';
128
- onChange(e);
129
- input.value = cacheV;
130
- input.focus();
131
- }.bind(this), [disabled, onChange, onClear]);
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