rsuite 5.42.0 → 5.44.0
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 +23 -0
- package/Picker/styles/index.less +0 -4
- package/Placeholder/styles/index.less +1 -1
- package/cjs/AutoComplete/AutoComplete.js +9 -1
- package/cjs/Cascader/Cascader.d.ts +2 -2
- package/cjs/CheckPicker/CheckPicker.d.ts +1 -1
- package/cjs/CheckTreePicker/CheckTreePicker.d.ts +1 -1
- package/cjs/CheckTreePicker/CheckTreePicker.js +2 -2
- package/cjs/DatePicker/DatePicker.d.ts +3 -1
- package/cjs/DatePicker/DatePicker.js +18 -5
- package/cjs/DatePicker/PredefinedRanges.d.ts +2 -2
- package/cjs/DatePicker/PredefinedRanges.js +8 -8
- package/cjs/DatePicker/Toolbar.js +4 -4
- package/cjs/DateRangePicker/DateRangePicker.d.ts +3 -1
- package/cjs/DateRangePicker/DateRangePicker.js +18 -5
- package/cjs/DateRangePicker/types.d.ts +2 -2
- package/cjs/InputPicker/InputPicker.d.ts +1 -1
- package/cjs/InputPicker/InputPicker.js +1 -1
- package/cjs/MultiCascader/MultiCascader.d.ts +2 -2
- package/cjs/Picker/PickerToggle.d.ts +2 -0
- package/cjs/Picker/PickerToggle.js +10 -4
- package/cjs/Picker/utils.js +3 -2
- package/cjs/SelectPicker/SelectPicker.d.ts +1 -3
- package/cjs/TreePicker/TreePicker.d.ts +1 -1
- package/cjs/toaster/useToaster.js +22 -19
- package/dist/rsuite-no-reset-rtl.css +795 -714
- package/dist/rsuite-no-reset-rtl.min.css +1 -1
- package/dist/rsuite-no-reset-rtl.min.css.map +1 -1
- package/dist/rsuite-no-reset.css +795 -714
- package/dist/rsuite-no-reset.min.css +1 -1
- package/dist/rsuite-no-reset.min.css.map +1 -1
- package/dist/rsuite-rtl.css +795 -714
- package/dist/rsuite-rtl.min.css +1 -1
- package/dist/rsuite-rtl.min.css.map +1 -1
- package/dist/rsuite.css +795 -714
- package/dist/rsuite.js +28 -17
- package/dist/rsuite.js.map +1 -1
- package/dist/rsuite.min.css +1 -1
- package/dist/rsuite.min.css.map +1 -1
- package/dist/rsuite.min.js +1 -1
- package/dist/rsuite.min.js.map +1 -1
- package/esm/AutoComplete/AutoComplete.js +9 -1
- package/esm/Cascader/Cascader.d.ts +2 -2
- package/esm/CheckPicker/CheckPicker.d.ts +1 -1
- package/esm/CheckTreePicker/CheckTreePicker.d.ts +1 -1
- package/esm/CheckTreePicker/CheckTreePicker.js +2 -2
- package/esm/DatePicker/DatePicker.d.ts +3 -1
- package/esm/DatePicker/DatePicker.js +18 -5
- package/esm/DatePicker/PredefinedRanges.d.ts +2 -2
- package/esm/DatePicker/PredefinedRanges.js +8 -8
- package/esm/DatePicker/Toolbar.js +4 -4
- package/esm/DateRangePicker/DateRangePicker.d.ts +3 -1
- package/esm/DateRangePicker/DateRangePicker.js +18 -5
- package/esm/DateRangePicker/types.d.ts +2 -2
- package/esm/InputPicker/InputPicker.d.ts +1 -1
- package/esm/InputPicker/InputPicker.js +1 -1
- package/esm/MultiCascader/MultiCascader.d.ts +2 -2
- package/esm/Picker/PickerToggle.d.ts +2 -0
- package/esm/Picker/PickerToggle.js +10 -4
- package/esm/Picker/utils.js +3 -2
- package/esm/SelectPicker/SelectPicker.d.ts +1 -3
- package/esm/TreePicker/TreePicker.d.ts +1 -1
- package/esm/toaster/useToaster.js +22 -19
- package/package.json +2 -2
- package/styles/color-modes/dark.less +256 -206
- package/styles/color-modes/high-contrast.less +252 -207
- package/styles/color-modes/light.less +262 -206
- package/styles/variables.less +4 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,26 @@
|
|
|
1
|
+
# [5.44.0](https://github.com/rsuite/rsuite/compare/5.43.0...5.44.0) (2023-11-10)
|
|
2
|
+
|
|
3
|
+
### Bug Fixes
|
|
4
|
+
|
|
5
|
+
- **DatePicker,DateRangePicker:** fix inability to clear values via Backspace key ([#3446](https://github.com/rsuite/rsuite/issues/3446)) ([ca7dcdd](https://github.com/rsuite/rsuite/commit/ca7dcddb1406b8d6a20ff4ad11755fbac83be07e))
|
|
6
|
+
- **toaster:** fix useToaster not keep same reference when re-renders ([#3440](https://github.com/rsuite/rsuite/issues/3440)) ([a603033](https://github.com/rsuite/rsuite/commit/a603033eeb0a1de2299938c506fb42ee13375f2c))
|
|
7
|
+
|
|
8
|
+
### Features
|
|
9
|
+
|
|
10
|
+
- add loading prop for all pickers ([#3444](https://github.com/rsuite/rsuite/issues/3444)) ([3c5b2af](https://github.com/rsuite/rsuite/commit/3c5b2af3658bb44c8eb22f1c59f8a9c989c7e62e))
|
|
11
|
+
- **DatePicker,DateRangePicker:** add support for onShortcutClick ([#3439](https://github.com/rsuite/rsuite/issues/3439)) ([ae00f90](https://github.com/rsuite/rsuite/commit/ae00f9045fd7dba95739f1f3fc8a21d671b6875b))
|
|
12
|
+
|
|
13
|
+
# [5.43.0](https://github.com/rsuite/rsuite/compare/5.42.0...5.43.0) (2023-11-03)
|
|
14
|
+
|
|
15
|
+
### Bug Fixes
|
|
16
|
+
|
|
17
|
+
- **AutoComplete:** fix AutoComplete plaintext mode not working ([#3436](https://github.com/rsuite/rsuite/issues/3436)) ([72b79e7](https://github.com/rsuite/rsuite/commit/72b79e7b6dfb90ec23bb81b1145db125f8b827cd))
|
|
18
|
+
- **Drawer:** change Drawer title font-size to 18px ([#3430](https://github.com/rsuite/rsuite/issues/3430)) ([3eff439](https://github.com/rsuite/rsuite/commit/3eff439a0fa28e5349e306b6b2ded8eb9e847f95))
|
|
19
|
+
|
|
20
|
+
### Features
|
|
21
|
+
|
|
22
|
+
- **CSS:** use CSS custom properties instead of less variables ([#3428](https://github.com/rsuite/rsuite/issues/3428)) ([f6474e4](https://github.com/rsuite/rsuite/commit/f6474e490036cd8faf228332e2b7bd6b85902671))
|
|
23
|
+
|
|
1
24
|
# [5.42.0](https://github.com/rsuite/rsuite/compare/v5.41.0...v5.42.0) (2023-10-29)
|
|
2
25
|
|
|
3
26
|
### Bug Fixes
|
package/Picker/styles/index.less
CHANGED
|
@@ -16,6 +16,7 @@ var _utils = require("../utils");
|
|
|
16
16
|
var _utils2 = require("../Animation/utils");
|
|
17
17
|
var _Picker = require("../Picker");
|
|
18
18
|
var _utils3 = require("./utils");
|
|
19
|
+
var _Plaintext = _interopRequireDefault(require("../Plaintext"));
|
|
19
20
|
/**
|
|
20
21
|
* TODO: Remove unnecessary .rs-auto-complete element
|
|
21
22
|
* TODO: role=combobox and aria-autocomplete on input element
|
|
@@ -43,6 +44,7 @@ var AutoComplete = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
43
44
|
menuClassName = props.menuClassName,
|
|
44
45
|
id = props.id,
|
|
45
46
|
readOnly = props.readOnly,
|
|
47
|
+
plaintext = props.plaintext,
|
|
46
48
|
renderMenu = props.renderMenu,
|
|
47
49
|
renderMenuItem = props.renderMenuItem,
|
|
48
50
|
onSelect = props.onSelect,
|
|
@@ -54,7 +56,7 @@ var AutoComplete = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
54
56
|
onFocus = props.onFocus,
|
|
55
57
|
onBlur = props.onBlur,
|
|
56
58
|
onMenuFocus = props.onMenuFocus,
|
|
57
|
-
rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "disabled", "className", "placement", "selectOnEnter", "classPrefix", "defaultValue", "menuAutoWidth", "data", "value", "open", "style", "size", "menuClassName", "id", "readOnly", "renderMenu", "renderMenuItem", "onSelect", "filterBy", "onKeyDown", "onChange", "onClose", "onOpen", "onFocus", "onBlur", "onMenuFocus"]);
|
|
59
|
+
rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "disabled", "className", "placement", "selectOnEnter", "classPrefix", "defaultValue", "menuAutoWidth", "data", "value", "open", "style", "size", "menuClassName", "id", "readOnly", "plaintext", "renderMenu", "renderMenuItem", "onSelect", "filterBy", "onKeyDown", "onChange", "onClose", "onOpen", "onFocus", "onBlur", "onMenuFocus"]);
|
|
58
60
|
var datalist = (0, _utils3.transformData)(data);
|
|
59
61
|
var _useControlled = (0, _utils.useControlled)(valueProp, defaultValue),
|
|
60
62
|
value = _useControlled[0],
|
|
@@ -185,6 +187,12 @@ var AutoComplete = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
185
187
|
autoWidth: menuAutoWidth
|
|
186
188
|
}, renderMenu ? renderMenu(menu) : menu);
|
|
187
189
|
};
|
|
190
|
+
if (plaintext) {
|
|
191
|
+
return /*#__PURE__*/_react.default.createElement(_Plaintext.default, {
|
|
192
|
+
ref: ref,
|
|
193
|
+
localeKey: "unfilled"
|
|
194
|
+
}, typeof value === 'undefined' ? defaultValue : value);
|
|
195
|
+
}
|
|
188
196
|
return /*#__PURE__*/_react.default.createElement(_Picker.PickerToggleTrigger, {
|
|
189
197
|
ref: triggerRef,
|
|
190
198
|
placement: placement,
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { PickerLocale } from '../locales';
|
|
3
|
-
import { PickerHandle } from '../Picker';
|
|
3
|
+
import { PickerHandle, PickerToggleProps } from '../Picker';
|
|
4
4
|
import { ItemDataType, FormControlPickerProps } from '../@types/common';
|
|
5
5
|
export declare type ValueType = number | string;
|
|
6
|
-
export interface CascaderProps<T = ValueType> extends FormControlPickerProps<T | null, PickerLocale, ItemDataType<T
|
|
6
|
+
export interface CascaderProps<T = ValueType> extends FormControlPickerProps<T | null, PickerLocale, ItemDataType<T>>, Pick<PickerToggleProps, 'loading'> {
|
|
7
7
|
/** Sets the width of the menu */
|
|
8
8
|
menuWidth?: number;
|
|
9
9
|
/** Sets the height of the menu */
|
|
@@ -4,7 +4,7 @@ import { PickerHandle, PickerToggleProps } from '../Picker';
|
|
|
4
4
|
import { ItemDataType, FormControlPickerProps } from '../@types/common';
|
|
5
5
|
import type { MultipleSelectProps } from '../SelectPicker';
|
|
6
6
|
export declare type ValueType = (number | string)[];
|
|
7
|
-
export interface CheckPickerProps<T> extends FormControlPickerProps<T[], PickerLocale, ItemDataType<T>>, MultipleSelectProps<T>, Pick<PickerToggleProps, 'label' | 'caretAs'> {
|
|
7
|
+
export interface CheckPickerProps<T> extends FormControlPickerProps<T[], PickerLocale, ItemDataType<T>>, MultipleSelectProps<T>, Pick<PickerToggleProps, 'label' | 'caretAs' | 'loading'> {
|
|
8
8
|
/** Top the selected option in the options */
|
|
9
9
|
sticky?: boolean;
|
|
10
10
|
/** A picker that can be counted */
|
|
@@ -4,7 +4,7 @@ import { PickerComponent, PickerToggleProps } from '../Picker';
|
|
|
4
4
|
import { TreeBaseProps } from '../Tree/Tree';
|
|
5
5
|
import { FormControlPickerProps, ItemDataType } from '../@types/common';
|
|
6
6
|
export declare type ValueType = (string | number)[];
|
|
7
|
-
export interface CheckTreePickerProps<T = ValueType> extends TreeBaseProps<T, ItemDataType>, FormControlPickerProps<T, PickerLocale, ItemDataType>, Pick<PickerToggleProps, 'caretAs'> {
|
|
7
|
+
export interface CheckTreePickerProps<T = ValueType> extends TreeBaseProps<T, ItemDataType>, FormControlPickerProps<T, PickerLocale, ItemDataType>, Pick<PickerToggleProps, 'caretAs' | 'loading'> {
|
|
8
8
|
/** Tree node cascade */
|
|
9
9
|
cascade?: boolean;
|
|
10
10
|
/** A picker that can be counted */
|
|
@@ -487,7 +487,7 @@ var CheckTreePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
487
487
|
handleSelect(activeItem, event);
|
|
488
488
|
}
|
|
489
489
|
}, [flattenNodes, focusItemValue, handleSelect, uncheckableItemValues, valueKey]);
|
|
490
|
-
var onPickerKeydown = (0, _Picker.useToggleKeyDownEvent)({
|
|
490
|
+
var onPickerKeydown = (0, _Picker.useToggleKeyDownEvent)((0, _extends2.default)({
|
|
491
491
|
toggle: !focusItemValue || !active,
|
|
492
492
|
triggerRef: triggerRef,
|
|
493
493
|
targetRef: targetRef,
|
|
@@ -510,7 +510,7 @@ var CheckTreePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
510
510
|
del: handleClean
|
|
511
511
|
});
|
|
512
512
|
}
|
|
513
|
-
});
|
|
513
|
+
}, rest));
|
|
514
514
|
var handleTreeKeydown = (0, _react.useCallback)(function (event) {
|
|
515
515
|
if (!treeViewRef.current) {
|
|
516
516
|
return;
|
|
@@ -4,7 +4,7 @@ import { DatePickerLocale } from '../locales';
|
|
|
4
4
|
import { PickerToggleProps } from '../Picker';
|
|
5
5
|
import { FormControlBaseProps, PickerBaseProps, RsRefForwardingComponent } from '../@types/common';
|
|
6
6
|
export type { RangeType } from './Toolbar';
|
|
7
|
-
export interface DatePickerProps extends PickerBaseProps<DatePickerLocale>, FormControlBaseProps<Date | null>, Pick<PickerToggleProps, 'caretAs' | 'readOnly' | 'plaintext'> {
|
|
7
|
+
export interface DatePickerProps extends PickerBaseProps<DatePickerLocale>, FormControlBaseProps<Date | null>, Pick<PickerToggleProps, 'caretAs' | 'readOnly' | 'plaintext' | 'loading'> {
|
|
8
8
|
/** Predefined date Ranges */
|
|
9
9
|
ranges?: RangeType<Date>[];
|
|
10
10
|
/** Calendar panel default presentation date and time */
|
|
@@ -94,6 +94,8 @@ export interface DatePickerProps extends PickerBaseProps<DatePickerLocale>, Form
|
|
|
94
94
|
onNextMonth?: (date: Date) => void;
|
|
95
95
|
/** Called after clicking the OK button */
|
|
96
96
|
onOk?: (date: Date, event: React.SyntheticEvent) => void;
|
|
97
|
+
/** Called after clicking the shortcut button */
|
|
98
|
+
onShortcutClick?: (range: RangeType<Date>, event: React.MouseEvent) => void;
|
|
97
99
|
/** Called when clean */
|
|
98
100
|
onClean?: (event: React.MouseEvent) => void;
|
|
99
101
|
/** Custom render value */
|
|
@@ -12,6 +12,7 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
|
12
12
|
var _mapValues = _interopRequireDefault(require("lodash/mapValues"));
|
|
13
13
|
var _pick = _interopRequireDefault(require("lodash/pick"));
|
|
14
14
|
var _omit = _interopRequireDefault(require("lodash/omit"));
|
|
15
|
+
var _debounce = _interopRequireDefault(require("lodash/debounce"));
|
|
15
16
|
var _Calendar = _interopRequireDefault(require("@rsuite/icons/legacy/Calendar"));
|
|
16
17
|
var _ClockO = _interopRequireDefault(require("@rsuite/icons/legacy/ClockO"));
|
|
17
18
|
var _CalendarContainer = _interopRequireDefault(require("../Calendar/CalendarContainer"));
|
|
@@ -81,7 +82,8 @@ var DatePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
81
82
|
onSelect = props.onSelect,
|
|
82
83
|
onToggleMonthDropdown = props.onToggleMonthDropdown,
|
|
83
84
|
onToggleTimeDropdown = props.onToggleTimeDropdown,
|
|
84
|
-
|
|
85
|
+
onShortcutClick = props.onShortcutClick,
|
|
86
|
+
rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "className", "classPrefix", "calendarDefaultDate", "cleanable", "editable", "defaultValue", "disabled", "format", "isoWeek", "limitEndYear", "limitStartYear", "locale", "menuClassName", "appearance", "placement", "oneTap", "placeholder", "ranges", "value", "showMeridian", "showWeekNumbers", "style", "toggleAs", "caretAs", "disabledDate", "disabledHours", "disabledMinutes", "disabledSeconds", "shouldDisableDate", "shouldDisableHour", "shouldDisableMinute", "shouldDisableSecond", "renderValue", "onChange", "onChangeCalendarDate", "onClean", "onClose", "onEntered", "onExited", "onNextMonth", "onOk", "onOpen", "onPrevMonth", "onSelect", "onToggleMonthDropdown", "onToggleTimeDropdown", "onShortcutClick"]);
|
|
85
87
|
var _useCustom = (0, _utils.useCustom)('DatePicker', overrideLocale),
|
|
86
88
|
locale = _useCustom.locale,
|
|
87
89
|
formatDate = _useCustom.formatDate,
|
|
@@ -180,10 +182,12 @@ var DatePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
180
182
|
/**
|
|
181
183
|
* The callback triggered after the date in the shortcut area is clicked.
|
|
182
184
|
*/
|
|
183
|
-
var handleShortcutPageDate = (0, _react.useCallback)(function (
|
|
185
|
+
var handleShortcutPageDate = (0, _react.useCallback)(function (range, closeOverlay, event) {
|
|
186
|
+
var value = range.value;
|
|
184
187
|
updateValue(event, value, closeOverlay);
|
|
185
188
|
handleDateChange(value, event);
|
|
186
|
-
|
|
189
|
+
onShortcutClick === null || onShortcutClick === void 0 ? void 0 : onShortcutClick(range, event);
|
|
190
|
+
}, [handleDateChange, onShortcutClick, updateValue]);
|
|
187
191
|
|
|
188
192
|
/**
|
|
189
193
|
* The callback triggered after clicking the OK button.
|
|
@@ -296,6 +300,14 @@ var DatePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
296
300
|
}
|
|
297
301
|
setInputState('Initial');
|
|
298
302
|
}, [inputState, calendarDate, updateValue]);
|
|
303
|
+
var handleInputBackspace = (0, _react.useCallback)(function (event) {
|
|
304
|
+
var value = event.target.value;
|
|
305
|
+
|
|
306
|
+
// When the input box is empty, the date is cleared.
|
|
307
|
+
if (value === '') {
|
|
308
|
+
handleClean(event);
|
|
309
|
+
}
|
|
310
|
+
}, [handleClean]);
|
|
299
311
|
var handleEntered = (0, _react.useCallback)(function () {
|
|
300
312
|
onOpen === null || onOpen === void 0 ? void 0 : onOpen();
|
|
301
313
|
setActive(true);
|
|
@@ -386,14 +398,14 @@ var DatePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
386
398
|
calendarDate: calendarDate,
|
|
387
399
|
locale: locale,
|
|
388
400
|
disabledShortcut: disabledToolbarHandle,
|
|
389
|
-
|
|
401
|
+
onShortcutClick: handleShortcutPageDate
|
|
390
402
|
}), /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, calendar, /*#__PURE__*/_react.default.createElement(_Toolbar.default, {
|
|
391
403
|
locale: locale,
|
|
392
404
|
ranges: bottomRanges,
|
|
393
405
|
calendarDate: calendarDate,
|
|
394
406
|
disabledOkBtn: isOKButtonDisabled,
|
|
395
407
|
disabledShortcut: disabledToolbarHandle,
|
|
396
|
-
|
|
408
|
+
onShortcutClick: handleShortcutPageDate,
|
|
397
409
|
onOk: handleOK,
|
|
398
410
|
hideOkBtn: oneTap
|
|
399
411
|
}))));
|
|
@@ -451,6 +463,7 @@ var DatePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
451
463
|
onInputChange: handleInputChange,
|
|
452
464
|
onInputBlur: handleInputPressEnd,
|
|
453
465
|
onInputPressEnter: handleInputPressEnd,
|
|
466
|
+
onInputBackspace: (0, _debounce.default)(handleInputBackspace, 10),
|
|
454
467
|
onKeyDown: onPickerKeyDown,
|
|
455
468
|
onClean: (0, _utils.createChainedFunction)(handleClean, onClean),
|
|
456
469
|
cleanable: cleanable && !disabled,
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { StackProps } from '../Stack';
|
|
3
|
-
import { RangeType } from './types';
|
|
3
|
+
import { InnerRange, RangeType } from './types';
|
|
4
4
|
import { CalendarLocale } from '../locales';
|
|
5
5
|
export interface PredefinedRangesProps<T = any, Shortcut = T> extends StackProps {
|
|
6
6
|
ranges?: RangeType<Shortcut>[];
|
|
7
7
|
calendarDate: T;
|
|
8
8
|
locale: CalendarLocale;
|
|
9
9
|
disabledShortcut?: (value: T) => boolean;
|
|
10
|
-
|
|
10
|
+
onShortcutClick?: (range: InnerRange<Shortcut>, closeOverlay: boolean, event: React.MouseEvent) => void;
|
|
11
11
|
}
|
|
12
12
|
declare const PredefinedRanges: React.ForwardRefExoticComponent<PredefinedRangesProps<any, any> & React.RefAttributes<HTMLDivElement>>;
|
|
13
13
|
export default PredefinedRanges;
|
|
@@ -15,11 +15,11 @@ var _utils2 = require("./utils");
|
|
|
15
15
|
var PredefinedRanges = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
16
16
|
var className = props.className,
|
|
17
17
|
disabledShortcut = props.disabledShortcut,
|
|
18
|
-
|
|
18
|
+
onShortcutClick = props.onShortcutClick,
|
|
19
19
|
calendarDate = props.calendarDate,
|
|
20
20
|
rangesProp = props.ranges,
|
|
21
21
|
locale = props.locale,
|
|
22
|
-
rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["className", "disabledShortcut", "
|
|
22
|
+
rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["className", "disabledShortcut", "onShortcutClick", "calendarDate", "ranges", "locale"]);
|
|
23
23
|
var _useState = (0, _react.useState)((0, _utils2.getRanges)(props)),
|
|
24
24
|
ranges = _useState[0],
|
|
25
25
|
setRanges = _useState[1];
|
|
@@ -42,17 +42,17 @@ var PredefinedRanges = /*#__PURE__*/_react.default.forwardRef(function (props, r
|
|
|
42
42
|
ref: ref,
|
|
43
43
|
alignItems: "flex-start",
|
|
44
44
|
spacing: 4
|
|
45
|
-
}, rest), ranges.map(function (
|
|
46
|
-
var value =
|
|
47
|
-
closeOverlay =
|
|
48
|
-
label =
|
|
49
|
-
rest = (0, _objectWithoutPropertiesLoose2.default)(
|
|
45
|
+
}, rest), ranges.map(function (range, index) {
|
|
46
|
+
var value = range.value,
|
|
47
|
+
closeOverlay = range.closeOverlay,
|
|
48
|
+
label = range.label,
|
|
49
|
+
rest = (0, _objectWithoutPropertiesLoose2.default)(range, ["value", "closeOverlay", "label"]);
|
|
50
50
|
var disabled = disabledShortcut === null || disabledShortcut === void 0 ? void 0 : disabledShortcut(value);
|
|
51
51
|
var handleClickShortcut = function handleClickShortcut(event) {
|
|
52
52
|
if (disabled) {
|
|
53
53
|
return;
|
|
54
54
|
}
|
|
55
|
-
|
|
55
|
+
onShortcutClick === null || onShortcutClick === void 0 ? void 0 : onShortcutClick(range, closeOverlay !== false ? true : false, event);
|
|
56
56
|
};
|
|
57
57
|
return /*#__PURE__*/_react.default.createElement(_Button.default, (0, _extends2.default)({
|
|
58
58
|
appearance: "link",
|
|
@@ -41,11 +41,11 @@ var Toolbar = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
41
41
|
disabledShortcut = props.disabledShortcut,
|
|
42
42
|
hideOkBtn = props.hideOkBtn,
|
|
43
43
|
onOk = props.onOk,
|
|
44
|
-
|
|
44
|
+
onShortcutClick = props.onShortcutClick,
|
|
45
45
|
calendarDate = props.calendarDate,
|
|
46
46
|
ranges = props.ranges,
|
|
47
47
|
locale = props.locale,
|
|
48
|
-
rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["className", "classPrefix", "disabledOkBtn", "disabledShortcut", "hideOkBtn", "onOk", "
|
|
48
|
+
rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["className", "classPrefix", "disabledOkBtn", "disabledShortcut", "hideOkBtn", "onOk", "onShortcutClick", "calendarDate", "ranges", "locale"]);
|
|
49
49
|
var _useClassNames = (0, _utils.useClassNames)(classPrefix),
|
|
50
50
|
merge = _useClassNames.merge,
|
|
51
51
|
prefix = _useClassNames.prefix,
|
|
@@ -66,7 +66,7 @@ var Toolbar = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
66
66
|
calendarDate: calendarDate,
|
|
67
67
|
locale: locale,
|
|
68
68
|
disabledShortcut: disabledShortcut,
|
|
69
|
-
|
|
69
|
+
onShortcutClick: onShortcutClick
|
|
70
70
|
}), /*#__PURE__*/_react.default.createElement("div", {
|
|
71
71
|
className: prefix('right')
|
|
72
72
|
}, /*#__PURE__*/_react.default.createElement(SubmitButton, {
|
|
@@ -82,7 +82,7 @@ Toolbar.propTypes = {
|
|
|
82
82
|
className: _propTypes.default.string,
|
|
83
83
|
classPrefix: _propTypes.default.string,
|
|
84
84
|
calendarDate: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.arrayOf(_propTypes.default.instanceOf(Date))]).isRequired,
|
|
85
|
-
|
|
85
|
+
onShortcutClick: _propTypes.default.func,
|
|
86
86
|
onOk: _propTypes.default.func,
|
|
87
87
|
disabledShortcut: _propTypes.default.func,
|
|
88
88
|
disabledOkBtn: _propTypes.default.func,
|
|
@@ -2,7 +2,7 @@ import React from 'react';
|
|
|
2
2
|
import { FormControlBaseProps, PickerBaseProps } from '../@types/common';
|
|
3
3
|
import { PickerComponent, PickerToggleProps } from '../Picker';
|
|
4
4
|
import { DisabledDateFunction, RangeType, DateRange } from './types';
|
|
5
|
-
export interface DateRangePickerProps extends PickerBaseProps, FormControlBaseProps<DateRange | null>, Pick<PickerToggleProps, 'caretAs' | 'readOnly' | 'plaintext'> {
|
|
5
|
+
export interface DateRangePickerProps extends PickerBaseProps, FormControlBaseProps<DateRange | null>, Pick<PickerToggleProps, 'caretAs' | 'readOnly' | 'plaintext' | 'loading'> {
|
|
6
6
|
/** Predefined date ranges */
|
|
7
7
|
ranges?: RangeType[];
|
|
8
8
|
/** Format date */
|
|
@@ -43,6 +43,8 @@ export interface DateRangePickerProps extends PickerBaseProps, FormControlBasePr
|
|
|
43
43
|
onSelect?: (date: Date, event?: React.SyntheticEvent) => void;
|
|
44
44
|
/** Called after clicking the OK button */
|
|
45
45
|
onOk?: (date: DateRange, event: React.SyntheticEvent) => void;
|
|
46
|
+
/** Called after clicking the shortcut button */
|
|
47
|
+
onShortcutClick?: (range: RangeType, event: React.MouseEvent) => void;
|
|
46
48
|
/** Called when clean */
|
|
47
49
|
onClean?: (event: React.MouseEvent) => void;
|
|
48
50
|
/** Custom render value */
|
|
@@ -12,6 +12,7 @@ var _isNil = _interopRequireDefault(require("lodash/isNil"));
|
|
|
12
12
|
var _omit = _interopRequireDefault(require("lodash/omit"));
|
|
13
13
|
var _partial = _interopRequireDefault(require("lodash/partial"));
|
|
14
14
|
var _pick = _interopRequireDefault(require("lodash/pick"));
|
|
15
|
+
var _debounce = _interopRequireDefault(require("lodash/debounce"));
|
|
15
16
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
16
17
|
var _react = _interopRequireWildcard(require("react"));
|
|
17
18
|
var _CustomProvider = require("../CustomProvider");
|
|
@@ -81,8 +82,9 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
81
82
|
onOk = props.onOk,
|
|
82
83
|
onOpen = props.onOpen,
|
|
83
84
|
onSelect = props.onSelect,
|
|
85
|
+
onShortcutClick = props.onShortcutClick,
|
|
84
86
|
renderTitle = props.renderTitle,
|
|
85
|
-
rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "classPrefix", "className", "appearance", "editable", "cleanable", "character", "defaultCalendarValue", "defaultValue", "disabled", "disabledDate", "shouldDisableDate", "format", "hoverRange", "isoWeek", "limitEndYear", "limitStartYear", "locale", "menuClassName", "menuStyle", "oneTap", "placeholder", "placement", "ranges", "renderValue", "showOneCalendar", "showWeekNumbers", "showMeridian", "style", "toggleAs", "caretAs", "value", "onChange", "onClean", "onClose", "onEnter", "onEntered", "onExited", "onOk", "onOpen", "onSelect", "renderTitle"]);
|
|
87
|
+
rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "classPrefix", "className", "appearance", "editable", "cleanable", "character", "defaultCalendarValue", "defaultValue", "disabled", "disabledDate", "shouldDisableDate", "format", "hoverRange", "isoWeek", "limitEndYear", "limitStartYear", "locale", "menuClassName", "menuStyle", "oneTap", "placeholder", "placement", "ranges", "renderValue", "showOneCalendar", "showWeekNumbers", "showMeridian", "style", "toggleAs", "caretAs", "value", "onChange", "onClean", "onClose", "onEnter", "onEntered", "onExited", "onOk", "onOpen", "onSelect", "onShortcutClick", "renderTitle"]);
|
|
86
88
|
var _useClassNames = (0, _utils.useClassNames)(classPrefix),
|
|
87
89
|
merge = _useClassNames.merge,
|
|
88
90
|
prefix = _useClassNames.prefix;
|
|
@@ -408,10 +410,11 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
408
410
|
/**
|
|
409
411
|
* Toolbar operation callback function
|
|
410
412
|
*/
|
|
411
|
-
var handleShortcutPageDate = (0, _react.useCallback)(function (
|
|
413
|
+
var handleShortcutPageDate = (0, _react.useCallback)(function (range, closeOverlay, event) {
|
|
412
414
|
if (closeOverlay === void 0) {
|
|
413
415
|
closeOverlay = false;
|
|
414
416
|
}
|
|
417
|
+
var value = range.value;
|
|
415
418
|
updateCalendarDateRange({
|
|
416
419
|
dateRange: value
|
|
417
420
|
});
|
|
@@ -420,10 +423,11 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
420
423
|
} else {
|
|
421
424
|
setSelectedDates(value !== null && value !== void 0 ? value : []);
|
|
422
425
|
}
|
|
426
|
+
onShortcutClick === null || onShortcutClick === void 0 ? void 0 : onShortcutClick(range, event);
|
|
423
427
|
|
|
424
428
|
// End unfinished selections.
|
|
425
429
|
setSelectedIdle(true);
|
|
426
|
-
}, [handleValueUpdate, updateCalendarDateRange]);
|
|
430
|
+
}, [handleValueUpdate, onShortcutClick, updateCalendarDateRange]);
|
|
427
431
|
var handleOK = (0, _react.useCallback)(function (event) {
|
|
428
432
|
handleValueUpdate(event, selectedDates);
|
|
429
433
|
onOk === null || onOk === void 0 ? void 0 : onOk(selectedDates, event);
|
|
@@ -481,6 +485,14 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
481
485
|
}
|
|
482
486
|
setInputState('Initial');
|
|
483
487
|
}, [handleValueUpdate, selectedDates, inputState]);
|
|
488
|
+
var handleInputBackspace = (0, _react.useCallback)(function (event) {
|
|
489
|
+
var value = event.target.value;
|
|
490
|
+
|
|
491
|
+
// When the input box is empty, the date is cleared.
|
|
492
|
+
if (value === '') {
|
|
493
|
+
handleClean(event);
|
|
494
|
+
}
|
|
495
|
+
}, [handleClean]);
|
|
484
496
|
var handleEnter = (0, _react.useCallback)(function () {
|
|
485
497
|
var nextCalendarDate;
|
|
486
498
|
if (value && value.length) {
|
|
@@ -611,7 +623,7 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
611
623
|
calendarDate: calendarDate,
|
|
612
624
|
locale: locale,
|
|
613
625
|
disabledShortcut: disabledShortcutButton,
|
|
614
|
-
|
|
626
|
+
onShortcutClick: handleShortcutPageDate
|
|
615
627
|
}), /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
|
|
616
628
|
className: prefix('daterange-content')
|
|
617
629
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
@@ -633,7 +645,7 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
633
645
|
disabledShortcut: disabledShortcutButton,
|
|
634
646
|
hideOkBtn: oneTap,
|
|
635
647
|
onOk: handleOK,
|
|
636
|
-
|
|
648
|
+
onShortcutClick: handleShortcutPageDate,
|
|
637
649
|
ranges: bottomRanges
|
|
638
650
|
})))));
|
|
639
651
|
};
|
|
@@ -670,6 +682,7 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
670
682
|
onInputChange: handleInputChange,
|
|
671
683
|
onInputBlur: handleInputPressEnd,
|
|
672
684
|
onInputPressEnter: handleInputPressEnd,
|
|
685
|
+
onInputBackspace: (0, _debounce.default)(handleInputBackspace, 10),
|
|
673
686
|
onKeyDown: onPickerKeyDown,
|
|
674
687
|
onClean: (0, _utils.createChainedFunction)(handleClean, onClean),
|
|
675
688
|
cleanable: cleanable && !disabled,
|
|
@@ -2,9 +2,9 @@ import React from 'react';
|
|
|
2
2
|
import { DATERANGE_DISABLED_TARGET } from '../utils/constants';
|
|
3
3
|
export declare type ValueType = [Date?, Date?];
|
|
4
4
|
export declare type DateRange = [Date, Date];
|
|
5
|
-
export interface RangeType {
|
|
5
|
+
export interface RangeType<T = DateRange> {
|
|
6
6
|
label: React.ReactNode;
|
|
7
|
-
value:
|
|
7
|
+
value: T | ((value?: T) => T);
|
|
8
8
|
closeOverlay?: boolean;
|
|
9
9
|
placement?: 'bottom' | 'left';
|
|
10
10
|
}
|
|
@@ -26,7 +26,7 @@ interface InputItemDataType extends ItemDataType {
|
|
|
26
26
|
create?: boolean;
|
|
27
27
|
}
|
|
28
28
|
export declare type ValueType = any;
|
|
29
|
-
export interface InputPickerProps<T = ValueType> extends FormControlPickerProps<T, InputPickerLocale, InputItemDataType>, SelectProps<T>, Pick<PickerToggleProps, 'caretAs'> {
|
|
29
|
+
export interface InputPickerProps<T = ValueType> extends FormControlPickerProps<T, InputPickerLocale, InputItemDataType>, SelectProps<T>, Pick<PickerToggleProps, 'caretAs' | 'loading'> {
|
|
30
30
|
tabIndex?: number;
|
|
31
31
|
/** Settings can create new options */
|
|
32
32
|
creatable?: boolean;
|
|
@@ -611,7 +611,7 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
611
611
|
usedClassNamePropKeys = _usePickerClassName[1];
|
|
612
612
|
var classes = merge(pickerClasses, (_merge = {}, _merge[prefix(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteralLoose2.default)(["tag"])))] = multi, _merge[prefix(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteralLoose2.default)(["focused"])))] = open, _merge[prefix(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteralLoose2.default)(["disabled-options"])))] = disabledOptions, _merge));
|
|
613
613
|
var searching = !!searchKeyword && open;
|
|
614
|
-
var displaySearchInput = searchable && !disabled;
|
|
614
|
+
var displaySearchInput = searchable && !disabled && !rest.loading;
|
|
615
615
|
var inputProps = multi ? {
|
|
616
616
|
inputStyle: {
|
|
617
617
|
maxWidth: maxWidth - 63
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { PickerLocale } from '../locales';
|
|
3
|
-
import { PickerComponent } from '../Picker';
|
|
3
|
+
import { PickerComponent, PickerToggleProps } from '../Picker';
|
|
4
4
|
import { FormControlPickerProps, ItemDataType } from '../@types/common';
|
|
5
5
|
export declare type ValueType = (number | string)[];
|
|
6
|
-
export interface MultiCascaderProps<T = ValueType> extends FormControlPickerProps<T, PickerLocale, ItemDataType> {
|
|
6
|
+
export interface MultiCascaderProps<T = ValueType> extends FormControlPickerProps<T, PickerLocale, ItemDataType>, Pick<PickerToggleProps, 'loading'> {
|
|
7
7
|
cascade?: boolean;
|
|
8
8
|
/** A picker that can be counted */
|
|
9
9
|
countable?: boolean;
|
|
@@ -15,6 +15,7 @@ export interface PickerToggleProps extends ToggleButtonProps {
|
|
|
15
15
|
readOnly?: boolean;
|
|
16
16
|
plaintext?: boolean;
|
|
17
17
|
tabIndex?: number;
|
|
18
|
+
/** Whether to display an loading indicator on toggle button */
|
|
18
19
|
loading?: boolean;
|
|
19
20
|
editable?: boolean;
|
|
20
21
|
name?: string;
|
|
@@ -22,6 +23,7 @@ export interface PickerToggleProps extends ToggleButtonProps {
|
|
|
22
23
|
inputMask?: (string | RegExp)[];
|
|
23
24
|
onInputChange?: (value: string, event: React.ChangeEvent) => void;
|
|
24
25
|
onInputPressEnter?: (event: React.KeyboardEvent<HTMLInputElement>) => void;
|
|
26
|
+
onInputBackspace?: (event: React.KeyboardEvent<HTMLInputElement>) => void;
|
|
25
27
|
onInputBlur?: (event: React.FocusEvent<HTMLElement>) => void;
|
|
26
28
|
onInputFocus?: (event: React.FocusEvent<HTMLElement>) => void;
|
|
27
29
|
placement?: TypeAttributes.Placement;
|
|
@@ -50,6 +50,7 @@ var PickerToggle = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
50
50
|
inputMask = _props$inputMask === void 0 ? defaultInputMask : _props$inputMask,
|
|
51
51
|
onInputChange = props.onInputChange,
|
|
52
52
|
onInputPressEnter = props.onInputPressEnter,
|
|
53
|
+
onInputBackspace = props.onInputBackspace,
|
|
53
54
|
onInputBlur = props.onInputBlur,
|
|
54
55
|
onInputFocus = props.onInputFocus,
|
|
55
56
|
onClean = props.onClean,
|
|
@@ -62,7 +63,7 @@ var PickerToggle = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
62
63
|
caretAs = _props$caretAs === void 0 ? caretComponent : _props$caretAs,
|
|
63
64
|
label = props.label,
|
|
64
65
|
name = props.name,
|
|
65
|
-
rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["active", "as", "classPrefix", "children", "caret", "className", "disabled", "readOnly", "plaintext", "hasValue", "editable", "loading", "cleanable", "tabIndex", "id", "value", "inputPlaceholder", "inputValue", "inputMask", "onInputChange", "onInputPressEnter", "onInputBlur", "onInputFocus", "onClean", "onFocus", "onBlur", "placement", "caretComponent", "caretAs", "label", "name"]);
|
|
66
|
+
rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["active", "as", "classPrefix", "children", "caret", "className", "disabled", "readOnly", "plaintext", "hasValue", "editable", "loading", "cleanable", "tabIndex", "id", "value", "inputPlaceholder", "inputValue", "inputMask", "onInputChange", "onInputPressEnter", "onInputBackspace", "onInputBlur", "onInputFocus", "onClean", "onFocus", "onBlur", "placement", "caretComponent", "caretAs", "label", "name"]);
|
|
66
67
|
var inputRef = (0, _react.useRef)(null);
|
|
67
68
|
var comboboxRef = (0, _react.useRef)(null);
|
|
68
69
|
var _useState = (0, _react.useState)(false),
|
|
@@ -136,10 +137,15 @@ var PickerToggle = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
136
137
|
onInputChange === null || onInputChange === void 0 ? void 0 : onInputChange(value, event);
|
|
137
138
|
}, [onInputChange]);
|
|
138
139
|
var handleInputKeyDown = (0, _react.useCallback)(function (event) {
|
|
139
|
-
if (editable
|
|
140
|
-
|
|
140
|
+
if (editable) {
|
|
141
|
+
if (event.key === _utils.KEY_VALUES.ENTER) {
|
|
142
|
+
onInputPressEnter === null || onInputPressEnter === void 0 ? void 0 : onInputPressEnter(event);
|
|
143
|
+
}
|
|
144
|
+
if (event.key === _utils.KEY_VALUES.BACKSPACE) {
|
|
145
|
+
onInputBackspace === null || onInputBackspace === void 0 ? void 0 : onInputBackspace(event);
|
|
146
|
+
}
|
|
141
147
|
}
|
|
142
|
-
}, [onInputPressEnter,
|
|
148
|
+
}, [editable, onInputPressEnter, onInputBackspace]);
|
|
143
149
|
var renderInput = (0, _react.useCallback)(function (ref, props) {
|
|
144
150
|
return /*#__PURE__*/_react.default.createElement("input", (0, _extends2.default)({
|
|
145
151
|
ref: (0, _utils.mergeRefs)(inputRef, ref),
|
package/cjs/Picker/utils.js
CHANGED
|
@@ -367,6 +367,7 @@ var useToggleKeyDownEvent = function useToggleKeyDownEvent(props) {
|
|
|
367
367
|
active = props.active,
|
|
368
368
|
readOnly = props.readOnly,
|
|
369
369
|
disabled = props.disabled,
|
|
370
|
+
loading = props.loading,
|
|
370
371
|
onExit = props.onExit,
|
|
371
372
|
onOpen = props.onOpen,
|
|
372
373
|
onClose = props.onClose,
|
|
@@ -393,7 +394,7 @@ var useToggleKeyDownEvent = function useToggleKeyDownEvent(props) {
|
|
|
393
394
|
}, [active, handleOpen, handleClose]);
|
|
394
395
|
var onToggle = (0, _react.useCallback)(function (event) {
|
|
395
396
|
// Keyboard events should not be processed when readOnly and disabled are set.
|
|
396
|
-
if (readOnly || disabled) {
|
|
397
|
+
if (readOnly || disabled || loading) {
|
|
397
398
|
return;
|
|
398
399
|
}
|
|
399
400
|
if (event.target === (targetRef === null || targetRef === void 0 ? void 0 : targetRef.current)) {
|
|
@@ -439,7 +440,7 @@ var useToggleKeyDownEvent = function useToggleKeyDownEvent(props) {
|
|
|
439
440
|
|
|
440
441
|
// Native event callback
|
|
441
442
|
onKeyDown === null || onKeyDown === void 0 ? void 0 : onKeyDown(event);
|
|
442
|
-
}, [readOnly, disabled, targetRef, overlayRef, onKeyDown, toggle, handleToggleDropdown, onExit, onMenuKeyDown, searchInputRef, onMenuPressEnter, onMenuPressBackspace, handleClose]);
|
|
443
|
+
}, [readOnly, disabled, loading, targetRef, overlayRef, onKeyDown, toggle, handleToggleDropdown, onExit, onMenuKeyDown, searchInputRef, onMenuPressEnter, onMenuPressBackspace, handleClose]);
|
|
443
444
|
return onToggle;
|
|
444
445
|
};
|
|
445
446
|
exports.useToggleKeyDownEvent = useToggleKeyDownEvent;
|
|
@@ -6,8 +6,6 @@ import { FormControlPickerProps, ItemDataType } from '../@types/common';
|
|
|
6
6
|
export interface SelectProps<T> {
|
|
7
7
|
/** Set group condition key in data */
|
|
8
8
|
groupBy?: string;
|
|
9
|
-
/** Whether to display an loading indicator on toggle button */
|
|
10
|
-
loading?: boolean;
|
|
11
9
|
/** Whether dispaly search input box */
|
|
12
10
|
searchable?: boolean;
|
|
13
11
|
/** Whether using virtualized list */
|
|
@@ -41,7 +39,7 @@ export interface MultipleSelectProps<T> extends Omit<SelectProps<T>, 'renderValu
|
|
|
41
39
|
/** Custom render selected items */
|
|
42
40
|
renderValue?: (value: T[], item: ItemDataType<T>[], selectedElement: React.ReactNode) => React.ReactNode;
|
|
43
41
|
}
|
|
44
|
-
export interface SelectPickerProps<T> extends Omit<FormControlPickerProps<T, PickerLocale, ItemDataType<T>>, 'value' | 'defaultValue' | 'onChange'>, SelectProps<T>, Pick<PickerToggleProps, 'caretAs' | 'label'> {
|
|
42
|
+
export interface SelectPickerProps<T> extends Omit<FormControlPickerProps<T, PickerLocale, ItemDataType<T>>, 'value' | 'defaultValue' | 'onChange'>, SelectProps<T>, Pick<PickerToggleProps, 'caretAs' | 'label' | 'loading'> {
|
|
45
43
|
/** Initial value */
|
|
46
44
|
defaultValue?: T;
|
|
47
45
|
/** Current value of the component. Creates a controlled component */
|
|
@@ -3,7 +3,7 @@ import { PickerLocale } from '../locales';
|
|
|
3
3
|
import { PickerComponent, PickerToggleProps } from '../Picker';
|
|
4
4
|
import { TreeDragProps, TreeBaseProps } from '../Tree/Tree';
|
|
5
5
|
import { FormControlPickerProps, ItemDataType } from '../@types/common';
|
|
6
|
-
export interface TreePickerProps<T = number | string> extends TreeBaseProps<T, ItemDataType>, TreeDragProps, FormControlPickerProps<T, PickerLocale, ItemDataType>, Pick<PickerToggleProps, 'caretAs'> {
|
|
6
|
+
export interface TreePickerProps<T = number | string> extends TreeBaseProps<T, ItemDataType>, TreeDragProps, FormControlPickerProps<T, PickerLocale, ItemDataType>, Pick<PickerToggleProps, 'caretAs' | 'loading'> {
|
|
7
7
|
/** The height of Dropdown */
|
|
8
8
|
height?: number;
|
|
9
9
|
/** Tree node cascade */
|