rsuite 5.48.1 → 5.50.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 +27 -0
- package/Cascader/styles/index.less +5 -4
- package/DatePicker/styles/index.less +18 -11
- package/DateRangeInput/package.json +7 -0
- package/DateRangePicker/styles/index.less +20 -0
- package/Dropdown/styles/index.less +5 -4
- package/Dropdown/styles/mixin.less +0 -11
- package/InputGroup/styles/index.less +1 -0
- package/Picker/styles/index.less +51 -24
- package/Picker/styles/mixin.less +17 -13
- package/README.md +34 -24
- package/Sidenav/styles/index.less +2 -0
- package/TagInput/styles/index.less +1 -1
- package/cjs/AutoComplete/AutoComplete.js +25 -26
- package/cjs/Calendar/Calendar.d.ts +5 -1
- package/cjs/Calendar/CalendarContainer.d.ts +7 -1
- package/cjs/Calendar/CalendarContainer.js +11 -4
- package/cjs/Calendar/CalendarHeader.js +2 -0
- package/cjs/Calendar/MonthDropdown.js +7 -2
- package/cjs/Calendar/MonthDropdownItem.js +2 -2
- package/cjs/Calendar/Table.js +6 -1
- package/cjs/Calendar/TimeDropdown.js +17 -10
- package/cjs/Calendar/types.d.ts +1 -0
- package/cjs/Cascader/Cascader.js +46 -48
- package/cjs/CheckPicker/CheckPicker.d.ts +2 -2
- package/cjs/CheckPicker/CheckPicker.js +33 -36
- package/cjs/CheckTreePicker/CheckTreePicker.js +61 -64
- package/cjs/CustomProvider/CustomProvider.d.ts +13 -0
- package/cjs/CustomProvider/CustomProvider.js +2 -2
- package/cjs/DateInput/DateField.d.ts +9 -31
- package/cjs/DateInput/DateField.js +61 -12
- package/cjs/DateInput/DateInput.d.ts +7 -2
- package/cjs/DateInput/DateInput.js +74 -92
- package/cjs/DateInput/index.d.ts +4 -0
- package/cjs/DateInput/index.js +19 -1
- package/cjs/DateInput/useDateInputState.d.ts +7 -31
- package/cjs/DateInput/useDateInputState.js +39 -15
- package/cjs/DateInput/useIsFocused.d.ts +7 -0
- package/cjs/DateInput/useIsFocused.js +28 -0
- package/cjs/DateInput/useKeyboardInputEvent.d.ts +10 -0
- package/cjs/DateInput/useKeyboardInputEvent.js +44 -0
- package/cjs/DateInput/utils.d.ts +23 -1
- package/cjs/DateInput/utils.js +155 -51
- package/cjs/DatePicker/DatePicker.d.ts +25 -8
- package/cjs/DatePicker/DatePicker.js +208 -241
- package/cjs/DatePicker/Toolbar.js +5 -22
- package/cjs/DatePicker/utils.d.ts +5 -1
- package/cjs/DatePicker/utils.js +17 -1
- package/cjs/DateRangeInput/DateRangeInput.d.ts +29 -0
- package/cjs/DateRangeInput/DateRangeInput.js +244 -0
- package/cjs/DateRangeInput/index.d.ts +3 -0
- package/cjs/DateRangeInput/index.js +9 -0
- package/cjs/DateRangeInput/utils.d.ts +61 -0
- package/cjs/DateRangeInput/utils.js +146 -0
- package/cjs/DateRangePicker/Calendar.js +24 -23
- package/cjs/DateRangePicker/DateRangePicker.d.ts +18 -4
- package/cjs/DateRangePicker/DateRangePicker.js +251 -203
- package/cjs/DateRangePicker/types.d.ts +11 -3
- package/cjs/DateRangePicker/utils.d.ts +2 -1
- package/cjs/DateRangePicker/utils.js +7 -5
- package/cjs/FormControl/FormControl.d.ts +11 -1
- package/cjs/FormControl/FormControl.js +6 -5
- package/cjs/Input/Input.d.ts +11 -0
- package/cjs/Input/Input.js +11 -8
- package/cjs/InputPicker/InputPicker.js +62 -63
- package/cjs/MultiCascader/MultiCascader.js +40 -42
- package/cjs/Overlay/OverlayTrigger.d.ts +3 -0
- package/cjs/Overlay/OverlayTrigger.js +5 -0
- package/cjs/Picker/PickerIndicator.d.ts +10 -0
- package/cjs/Picker/PickerIndicator.js +49 -0
- package/cjs/Picker/PickerLabel.d.ts +9 -0
- package/cjs/Picker/PickerLabel.js +23 -0
- package/cjs/Picker/PickerToggle.d.ts +17 -22
- package/cjs/Picker/PickerToggle.js +52 -177
- package/cjs/Picker/index.d.ts +3 -0
- package/cjs/Picker/index.js +10 -1
- package/cjs/Picker/usePickerRef.d.ts +19 -0
- package/cjs/Picker/usePickerRef.js +88 -0
- package/cjs/Picker/utils.d.ts +5 -9
- package/cjs/Picker/utils.js +22 -89
- package/cjs/SelectPicker/SelectPicker.d.ts +2 -2
- package/cjs/SelectPicker/SelectPicker.js +39 -42
- package/cjs/TreePicker/TreePicker.js +72 -75
- package/cjs/index.d.ts +2 -0
- package/cjs/index.js +3 -1
- package/cjs/locales/index.d.ts +2 -2
- package/cjs/utils/constants.d.ts +2 -1
- package/cjs/utils/constants.js +1 -0
- package/cjs/utils/dateUtils.d.ts +0 -1
- package/cjs/utils/dateUtils.js +0 -6
- package/cjs/utils/getStringLength.d.ts +2 -0
- package/cjs/utils/getStringLength.js +18 -0
- package/cjs/utils/index.d.ts +3 -0
- package/cjs/utils/index.js +11 -2
- package/cjs/utils/useCustom.js +1 -1
- package/cjs/utils/useIsomorphicLayoutEffect.d.ts +3 -0
- package/cjs/utils/useIsomorphicLayoutEffect.js +9 -0
- package/dist/rsuite-no-reset-rtl.css +140 -207
- 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 +140 -207
- package/dist/rsuite-no-reset.min.css +1 -1
- package/dist/rsuite-no-reset.min.css.map +1 -1
- package/dist/rsuite-rtl.css +140 -75
- package/dist/rsuite-rtl.min.css +1 -1
- package/dist/rsuite-rtl.min.css.map +1 -1
- package/dist/rsuite.css +140 -75
- package/dist/rsuite.js +4833 -258
- 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 +28 -29
- package/esm/Calendar/Calendar.d.ts +5 -1
- package/esm/Calendar/CalendarContainer.d.ts +7 -1
- package/esm/Calendar/CalendarContainer.js +12 -5
- package/esm/Calendar/CalendarHeader.js +2 -0
- package/esm/Calendar/MonthDropdown.js +7 -2
- package/esm/Calendar/MonthDropdownItem.js +2 -2
- package/esm/Calendar/Table.js +6 -1
- package/esm/Calendar/TimeDropdown.js +17 -10
- package/esm/Calendar/types.d.ts +1 -0
- package/esm/Cascader/Cascader.js +49 -51
- package/esm/CheckPicker/CheckPicker.d.ts +2 -2
- package/esm/CheckPicker/CheckPicker.js +36 -39
- package/esm/CheckTreePicker/CheckTreePicker.js +64 -67
- package/esm/CustomProvider/CustomProvider.d.ts +13 -0
- package/esm/CustomProvider/CustomProvider.js +3 -3
- package/esm/DateInput/DateField.d.ts +9 -31
- package/esm/DateInput/DateField.js +61 -12
- package/esm/DateInput/DateInput.d.ts +7 -2
- package/esm/DateInput/DateInput.js +77 -95
- package/esm/DateInput/index.d.ts +4 -0
- package/esm/DateInput/index.js +4 -0
- package/esm/DateInput/useDateInputState.d.ts +7 -31
- package/esm/DateInput/useDateInputState.js +41 -18
- package/esm/DateInput/useIsFocused.d.ts +7 -0
- package/esm/DateInput/useIsFocused.js +22 -0
- package/esm/DateInput/useKeyboardInputEvent.d.ts +10 -0
- package/esm/DateInput/useKeyboardInputEvent.js +38 -0
- package/esm/DateInput/utils.d.ts +23 -1
- package/esm/DateInput/utils.js +150 -51
- package/esm/DatePicker/DatePicker.d.ts +25 -8
- package/esm/DatePicker/DatePicker.js +211 -244
- package/esm/DatePicker/Toolbar.js +5 -22
- package/esm/DatePicker/utils.d.ts +5 -1
- package/esm/DatePicker/utils.js +16 -1
- package/esm/DateRangeInput/DateRangeInput.d.ts +29 -0
- package/esm/DateRangeInput/DateRangeInput.js +237 -0
- package/esm/DateRangeInput/index.d.ts +3 -0
- package/esm/DateRangeInput/index.js +3 -0
- package/esm/DateRangeInput/utils.d.ts +61 -0
- package/esm/DateRangeInput/utils.js +137 -0
- package/esm/DateRangePicker/Calendar.js +25 -23
- package/esm/DateRangePicker/DateRangePicker.d.ts +18 -4
- package/esm/DateRangePicker/DateRangePicker.js +253 -205
- package/esm/DateRangePicker/types.d.ts +11 -3
- package/esm/DateRangePicker/utils.d.ts +2 -1
- package/esm/DateRangePicker/utils.js +7 -5
- package/esm/FormControl/FormControl.d.ts +11 -1
- package/esm/FormControl/FormControl.js +4 -3
- package/esm/Input/Input.d.ts +11 -0
- package/esm/Input/Input.js +12 -9
- package/esm/InputPicker/InputPicker.js +64 -65
- package/esm/MultiCascader/MultiCascader.js +43 -45
- package/esm/Overlay/OverlayTrigger.d.ts +3 -0
- package/esm/Overlay/OverlayTrigger.js +5 -0
- package/esm/Picker/PickerIndicator.d.ts +10 -0
- package/esm/Picker/PickerIndicator.js +43 -0
- package/esm/Picker/PickerLabel.d.ts +9 -0
- package/esm/Picker/PickerLabel.js +17 -0
- package/esm/Picker/PickerToggle.d.ts +17 -22
- package/esm/Picker/PickerToggle.js +54 -179
- package/esm/Picker/index.d.ts +3 -0
- package/esm/Picker/index.js +3 -0
- package/esm/Picker/usePickerRef.d.ts +19 -0
- package/esm/Picker/usePickerRef.js +82 -0
- package/esm/Picker/utils.d.ts +5 -9
- package/esm/Picker/utils.js +24 -90
- package/esm/SelectPicker/SelectPicker.d.ts +2 -2
- package/esm/SelectPicker/SelectPicker.js +42 -45
- package/esm/TreePicker/TreePicker.js +75 -78
- package/esm/index.d.ts +2 -0
- package/esm/index.js +1 -0
- package/esm/locales/index.d.ts +2 -2
- package/esm/utils/constants.d.ts +2 -1
- package/esm/utils/constants.js +1 -0
- package/esm/utils/dateUtils.d.ts +0 -1
- package/esm/utils/dateUtils.js +0 -5
- package/esm/utils/getStringLength.d.ts +2 -0
- package/esm/utils/getStringLength.js +13 -0
- package/esm/utils/index.d.ts +3 -0
- package/esm/utils/index.js +4 -1
- package/esm/utils/useCustom.js +2 -2
- package/esm/utils/useIsomorphicLayoutEffect.d.ts +3 -0
- package/esm/utils/useIsomorphicLayoutEffect.js +4 -0
- package/package.json +1 -1
- package/styles/color-modes/dark.less +1 -0
- package/styles/color-modes/high-contrast.less +1 -0
- package/styles/color-modes/light.less +1 -0
- package/styles/mixins/combobox.less +10 -0
- package/styles/normalize.less +230 -231
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import React from 'react';
|
|
2
2
|
import { PickerLocale } from '../locales';
|
|
3
3
|
import { PickerHandle, PickerToggleProps } from '../Picker';
|
|
4
4
|
import { ListProps } from '../Windowing';
|
|
@@ -49,7 +49,7 @@ export interface SelectPickerProps<T> extends Omit<FormControlPickerProps<T, Pic
|
|
|
49
49
|
}
|
|
50
50
|
export interface SelectPickerComponent {
|
|
51
51
|
<T>(props: SelectPickerProps<T> & {
|
|
52
|
-
ref?: Ref<PickerHandle>;
|
|
52
|
+
ref?: React.Ref<PickerHandle>;
|
|
53
53
|
}): JSX.Element | null;
|
|
54
54
|
displayName?: string;
|
|
55
55
|
propTypes?: React.WeakValidationMap<SelectPickerProps<any>>;
|
|
@@ -3,16 +3,16 @@ import _taggedTemplateLiteralLoose from "@babel/runtime/helpers/esm/taggedTempla
|
|
|
3
3
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
4
4
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
5
5
|
var _templateObject;
|
|
6
|
-
import React, {
|
|
6
|
+
import React, { useState } from 'react';
|
|
7
7
|
import PropTypes from 'prop-types';
|
|
8
8
|
import pick from 'lodash/pick';
|
|
9
9
|
import isUndefined from 'lodash/isUndefined';
|
|
10
10
|
import isNil from 'lodash/isNil';
|
|
11
11
|
import isFunction from 'lodash/isFunction';
|
|
12
12
|
import omit from 'lodash/omit';
|
|
13
|
-
import { createChainedFunction, useCustom, useClassNames, useControlled, mergeRefs, shallowEqual } from '../utils';
|
|
13
|
+
import { createChainedFunction, useCustom, useClassNames, useControlled, useEventCallback, mergeRefs, shallowEqual } from '../utils';
|
|
14
14
|
import { getDataGroupBy } from '../utils/getDataGroupBy';
|
|
15
|
-
import { DropdownMenu, DropdownMenuItem, PickerToggle, PickerToggleTrigger, PickerOverlay, SearchBar, useFocusItemValue, usePickerClassName, useSearch,
|
|
15
|
+
import { DropdownMenu, DropdownMenuItem, PickerToggle, PickerToggleTrigger, PickerOverlay, SearchBar, useFocusItemValue, usePickerClassName, useSearch, useToggleKeyDownEvent, usePickerRef, pickTriggerPropKeys, omitTriggerPropKeys, listPickerPropTypes } from '../Picker';
|
|
16
16
|
var emptyArray = [];
|
|
17
17
|
/**
|
|
18
18
|
* The `SelectPicker` component is used to select an item from a list of data.
|
|
@@ -73,11 +73,13 @@ var SelectPicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
73
73
|
renderMenuItem = props.renderMenuItem,
|
|
74
74
|
renderExtraFooter = props.renderExtraFooter,
|
|
75
75
|
rest = _objectWithoutPropertiesLoose(props, ["as", "appearance", "data", "valueKey", "labelKey", "value", "classPrefix", "placeholder", "defaultValue", "disabled", "cleanable", "placement", "menuClassName", "menuAutoWidth", "menuMaxHeight", "menuStyle", "groupBy", "locale", "toggleAs", "style", "searchable", "disabledItemValues", "virtualized", "listProps", "id", "onGroupTitleClick", "searchBy", "onEntered", "onExited", "onClean", "onChange", "onSelect", "onSearch", "onClose", "onOpen", "sort", "renderValue", "renderMenu", "renderMenuGroup", "renderMenuItem", "renderExtraFooter"]);
|
|
76
|
-
var
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
76
|
+
var _usePickerRef = usePickerRef(ref),
|
|
77
|
+
trigger = _usePickerRef.trigger,
|
|
78
|
+
root = _usePickerRef.root,
|
|
79
|
+
target = _usePickerRef.target,
|
|
80
|
+
overlay = _usePickerRef.overlay,
|
|
81
|
+
list = _usePickerRef.list,
|
|
82
|
+
searchInput = _usePickerRef.searchInput;
|
|
81
83
|
var _useCustom = useCustom('Picker', overrideLocale),
|
|
82
84
|
locale = _useCustom.locale;
|
|
83
85
|
var _ref = useControlled(valueProp, defaultValue),
|
|
@@ -87,7 +89,7 @@ var SelectPicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
87
89
|
data: data,
|
|
88
90
|
valueKey: valueKey,
|
|
89
91
|
target: function target() {
|
|
90
|
-
return
|
|
92
|
+
return overlay.current;
|
|
91
93
|
}
|
|
92
94
|
}),
|
|
93
95
|
focusItemValue = _useFocusItemValue.focusItemValue,
|
|
@@ -110,19 +112,19 @@ var SelectPicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
110
112
|
var _useState = useState(false),
|
|
111
113
|
active = _useState[0],
|
|
112
114
|
setActive = _useState[1];
|
|
113
|
-
var handleClose =
|
|
114
|
-
var
|
|
115
|
-
(
|
|
116
|
-
}
|
|
117
|
-
var handleSelect =
|
|
118
|
-
var
|
|
115
|
+
var handleClose = useEventCallback(function () {
|
|
116
|
+
var _trigger$current, _trigger$current$clos;
|
|
117
|
+
(_trigger$current = trigger.current) === null || _trigger$current === void 0 ? void 0 : (_trigger$current$clos = _trigger$current.close) === null || _trigger$current$clos === void 0 ? void 0 : _trigger$current$clos.call(_trigger$current);
|
|
118
|
+
});
|
|
119
|
+
var handleSelect = useEventCallback(function (value, item, event) {
|
|
120
|
+
var _target$current;
|
|
119
121
|
onSelect === null || onSelect === void 0 ? void 0 : onSelect(value, item, event);
|
|
120
|
-
(
|
|
121
|
-
}
|
|
122
|
-
var handleChangeValue =
|
|
122
|
+
(_target$current = target.current) === null || _target$current === void 0 ? void 0 : _target$current.focus();
|
|
123
|
+
});
|
|
124
|
+
var handleChangeValue = useEventCallback(function (value, event) {
|
|
123
125
|
onChange === null || onChange === void 0 ? void 0 : onChange(value, event);
|
|
124
|
-
}
|
|
125
|
-
var handleMenuPressEnter =
|
|
126
|
+
});
|
|
127
|
+
var handleMenuPressEnter = useEventCallback(function (event) {
|
|
126
128
|
if (!focusItemValue) {
|
|
127
129
|
return;
|
|
128
130
|
}
|
|
@@ -135,28 +137,28 @@ var SelectPicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
135
137
|
handleSelect(focusItemValue, focusItem, event);
|
|
136
138
|
handleChangeValue(focusItemValue, event);
|
|
137
139
|
handleClose();
|
|
138
|
-
}
|
|
139
|
-
var handleItemSelect =
|
|
140
|
+
});
|
|
141
|
+
var handleItemSelect = useEventCallback(function (value, item, event) {
|
|
140
142
|
setValue(value);
|
|
141
143
|
setFocusItemValue(value);
|
|
142
144
|
handleSelect(value, item, event);
|
|
143
145
|
handleChangeValue(value, event);
|
|
144
146
|
handleClose();
|
|
145
|
-
}
|
|
146
|
-
var handleClean =
|
|
147
|
+
});
|
|
148
|
+
var handleClean = useEventCallback(function (event) {
|
|
147
149
|
if (disabled || !cleanable) {
|
|
148
150
|
return;
|
|
149
151
|
}
|
|
150
152
|
setValue(null);
|
|
151
153
|
setFocusItemValue(value);
|
|
152
154
|
handleChangeValue(null, event);
|
|
153
|
-
}
|
|
155
|
+
});
|
|
154
156
|
var onPickerKeyDown = useToggleKeyDownEvent(_extends({
|
|
155
157
|
toggle: !focusItemValue || !active,
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
158
|
+
trigger: trigger,
|
|
159
|
+
target: target,
|
|
160
|
+
overlay: overlay,
|
|
161
|
+
searchInput: searchInput,
|
|
160
162
|
active: active,
|
|
161
163
|
onExit: handleClean,
|
|
162
164
|
onMenuKeyDown: onFocusItem,
|
|
@@ -165,22 +167,16 @@ var SelectPicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
165
167
|
setFocusItemValue(null);
|
|
166
168
|
}
|
|
167
169
|
}, rest));
|
|
168
|
-
var handleExited =
|
|
170
|
+
var handleExited = useEventCallback(function () {
|
|
169
171
|
resetSearch();
|
|
170
172
|
setActive(false);
|
|
171
173
|
onSearch === null || onSearch === void 0 ? void 0 : onSearch('');
|
|
172
174
|
onClose === null || onClose === void 0 ? void 0 : onClose();
|
|
173
|
-
}
|
|
174
|
-
var handleEntered =
|
|
175
|
+
});
|
|
176
|
+
var handleEntered = useEventCallback(function () {
|
|
175
177
|
setActive(true);
|
|
176
178
|
setFocusItemValue(value);
|
|
177
179
|
onOpen === null || onOpen === void 0 ? void 0 : onOpen();
|
|
178
|
-
}, [onOpen, setFocusItemValue, value]);
|
|
179
|
-
usePublicMethods(ref, {
|
|
180
|
-
triggerRef: triggerRef,
|
|
181
|
-
overlayRef: overlayRef,
|
|
182
|
-
targetRef: targetRef,
|
|
183
|
-
listRef: listRef
|
|
184
180
|
});
|
|
185
181
|
|
|
186
182
|
// Find active `MenuItem` by `value`
|
|
@@ -227,7 +223,7 @@ var SelectPicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
227
223
|
var menu = items.length ? /*#__PURE__*/React.createElement(DropdownMenu, {
|
|
228
224
|
id: id ? id + "-listbox" : undefined,
|
|
229
225
|
listProps: listProps,
|
|
230
|
-
listRef:
|
|
226
|
+
listRef: list,
|
|
231
227
|
disabledItemValues: disabledItemValues,
|
|
232
228
|
valueKey: valueKey,
|
|
233
229
|
labelKey: labelKey,
|
|
@@ -252,17 +248,17 @@ var SelectPicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
252
248
|
className: prefix(_templateObject || (_templateObject = _taggedTemplateLiteralLoose(["none"])))
|
|
253
249
|
}, locale === null || locale === void 0 ? void 0 : locale.noResultsText);
|
|
254
250
|
return /*#__PURE__*/React.createElement(PickerOverlay, {
|
|
255
|
-
ref: mergeRefs(
|
|
251
|
+
ref: mergeRefs(overlay, speakerRef),
|
|
256
252
|
autoWidth: menuAutoWidth,
|
|
257
253
|
className: classes,
|
|
258
254
|
style: styles,
|
|
259
255
|
onKeyDown: onPickerKeyDown,
|
|
260
|
-
target:
|
|
256
|
+
target: trigger
|
|
261
257
|
}, searchable && /*#__PURE__*/React.createElement(SearchBar, {
|
|
262
258
|
placeholder: locale === null || locale === void 0 ? void 0 : locale.searchPlaceholder,
|
|
263
259
|
onChange: handleSearch,
|
|
264
260
|
value: searchKeyword,
|
|
265
|
-
inputRef:
|
|
261
|
+
inputRef: searchInput
|
|
266
262
|
}), renderMenu ? renderMenu(menu) : menu, renderExtraFooter === null || renderExtraFooter === void 0 ? void 0 : renderExtraFooter());
|
|
267
263
|
};
|
|
268
264
|
var _usePickerClassName = usePickerClassName(_extends({}, props, {
|
|
@@ -276,17 +272,18 @@ var SelectPicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
276
272
|
usedClassNamePropKeys = _usePickerClassName[1];
|
|
277
273
|
return /*#__PURE__*/React.createElement(PickerToggleTrigger, {
|
|
278
274
|
pickerProps: pick(props, pickTriggerPropKeys),
|
|
279
|
-
ref:
|
|
275
|
+
ref: trigger,
|
|
280
276
|
placement: placement,
|
|
281
277
|
onEntered: createChainedFunction(handleEntered, onEntered),
|
|
282
278
|
onExited: createChainedFunction(handleExited, onExited),
|
|
283
279
|
speaker: renderDropdownMenu
|
|
284
280
|
}, /*#__PURE__*/React.createElement(Component, {
|
|
285
281
|
className: classes,
|
|
286
|
-
style: style
|
|
282
|
+
style: style,
|
|
283
|
+
ref: root
|
|
287
284
|
}, /*#__PURE__*/React.createElement(PickerToggle, _extends({}, omit(rest, [].concat(omitTriggerPropKeys, usedClassNamePropKeys)), {
|
|
288
285
|
id: id,
|
|
289
|
-
ref:
|
|
286
|
+
ref: target,
|
|
290
287
|
appearance: appearance,
|
|
291
288
|
onClean: createChainedFunction(handleClean, onClean),
|
|
292
289
|
onKeyDown: onPickerKeyDown,
|
|
@@ -6,14 +6,14 @@ import _isNil from "lodash/isNil";
|
|
|
6
6
|
import _isUndefined from "lodash/isUndefined";
|
|
7
7
|
import _omit from "lodash/omit";
|
|
8
8
|
import _pick from "lodash/pick";
|
|
9
|
-
import React, { useState,
|
|
9
|
+
import React, { useState, useEffect, useContext, useMemo } from 'react';
|
|
10
10
|
import PropTypes from 'prop-types';
|
|
11
11
|
import { List, AutoSizer } from '../Windowing';
|
|
12
12
|
import TreeNode from './TreeNode';
|
|
13
13
|
import { createDragPreview, getKeyParentMap, getPathTowardsItem, getTreeNodeIndent, removeDragPreview, stringifyTreeNodeLabel } from '../utils/treeUtils';
|
|
14
|
-
import { createChainedFunction, useClassNames, useCustom, useControlled, TREE_NODE_DROP_POSITION, KEY_VALUES, mergeRefs, shallowEqual } from '../utils';
|
|
14
|
+
import { createChainedFunction, useClassNames, useCustom, useControlled, useEventCallback, TREE_NODE_DROP_POSITION, KEY_VALUES, mergeRefs, shallowEqual } from '../utils';
|
|
15
15
|
import { getExpandWhenSearching, hasVisibleChildren, getDragNodeKeys, calDropNodePosition, createUpdateTreeDataFunction, useTreeDrag, useFlattenTreeData, getTreeActiveNode, getDefaultExpandItemValues, useTreeNodeRefs, useTreeSearch, focusPreviousItem, getFocusableItems, focusNextItem, getActiveItem, toggleExpand, useGetTreeNodeChildren, focusToActiveTreeNode, leftArrowHandler, focusTreeNode, rightArrowHandler, isSearching } from '../utils/treeUtils';
|
|
16
|
-
import { PickerToggle, PickerOverlay, SearchBar, PickerToggleTrigger, createConcatChildrenFunction, usePickerClassName, onMenuKeyDown as _onMenuKeyDown,
|
|
16
|
+
import { PickerToggle, PickerOverlay, SearchBar, PickerToggleTrigger, createConcatChildrenFunction, usePickerClassName, usePickerRef, onMenuKeyDown as _onMenuKeyDown, listPickerPropTypes, pickTriggerPropKeys, omitTriggerPropKeys, useToggleKeyDownEvent } from '../Picker';
|
|
17
17
|
import TreeContext from '../Tree/TreeContext';
|
|
18
18
|
var emptyArray = [];
|
|
19
19
|
var itemSize = function itemSize() {
|
|
@@ -101,17 +101,21 @@ var TreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
101
101
|
renderMenu = props.renderMenu,
|
|
102
102
|
renderValue = props.renderValue,
|
|
103
103
|
rest = _objectWithoutPropertiesLoose(props, ["as", "data", "appearance", "style", "showIndentLine", "value", "locale", "height", "menuMaxHeight", "menuStyle", "className", "disabled", "placement", "cleanable", "searchable", "virtualized", "classPrefix", "defaultValue", "placeholder", "searchKeyword", "menuClassName", "menuAutoWidth", "searchBy", "toggleAs", "labelKey", "valueKey", "childrenKey", "draggable", "defaultExpandAll", "disabledItemValues", "expandItemValues", "defaultExpandItemValues", "id", "listProps", "getChildren", "renderTreeIcon", "renderTreeNode", "onExit", "onExited", "onClean", "onOpen", "onSearch", "onSelect", "onSelectItem", "onChange", "onEntered", "onClose", "onDragEnd", "onDragStart", "onDragEnter", "onDragLeave", "onDragOver", "onDrop", "onExpand", "renderExtraFooter", "renderMenu", "renderValue"]);
|
|
104
|
-
var triggerRef = useRef(null);
|
|
105
|
-
var targetRef = useRef(null);
|
|
106
|
-
var listRef = useRef(null);
|
|
107
|
-
var overlayRef = useRef(null);
|
|
108
|
-
var searchInputRef = useRef(null);
|
|
109
|
-
var treeViewRef = useRef(null);
|
|
110
104
|
var _useCustom = useCustom('Picker', overrideLocale),
|
|
111
105
|
rtl = _useCustom.rtl,
|
|
112
106
|
locale = _useCustom.locale;
|
|
113
107
|
var _useContext = useContext(TreeContext),
|
|
114
108
|
inline = _useContext.inline;
|
|
109
|
+
var _usePickerRef = usePickerRef(ref, {
|
|
110
|
+
inline: inline
|
|
111
|
+
}),
|
|
112
|
+
trigger = _usePickerRef.trigger,
|
|
113
|
+
root = _usePickerRef.root,
|
|
114
|
+
target = _usePickerRef.target,
|
|
115
|
+
overlay = _usePickerRef.overlay,
|
|
116
|
+
list = _usePickerRef.list,
|
|
117
|
+
searchInput = _usePickerRef.searchInput,
|
|
118
|
+
treeView = _usePickerRef.treeView;
|
|
115
119
|
var _useControlled = useControlled(controlledValue, defaultValue),
|
|
116
120
|
value = _useControlled[0],
|
|
117
121
|
setValue = _useControlled[1],
|
|
@@ -182,7 +186,7 @@ var TreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
182
186
|
treeNodesRefs = _useTreeNodeRefs.treeNodesRefs,
|
|
183
187
|
saveTreeNodeRef = _useTreeNodeRefs.saveTreeNodeRef;
|
|
184
188
|
var activeNode = getTreeActiveNode(flattenNodes, value, valueKey);
|
|
185
|
-
var getFormattedNodes =
|
|
189
|
+
var getFormattedNodes = function getFormattedNodes(render) {
|
|
186
190
|
if (virtualized) {
|
|
187
191
|
return formatVirtualizedTreeData(flattenNodes, filteredData, expandItemValues, {
|
|
188
192
|
searchKeyword: searchKeywordState
|
|
@@ -193,20 +197,20 @@ var TreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
193
197
|
return filteredData.map(function (dataItem, index) {
|
|
194
198
|
return render === null || render === void 0 ? void 0 : render(dataItem, index, 1);
|
|
195
199
|
});
|
|
196
|
-
}
|
|
197
|
-
var focusActiveNode =
|
|
198
|
-
if (
|
|
200
|
+
};
|
|
201
|
+
var focusActiveNode = function focusActiveNode() {
|
|
202
|
+
if (list.current) {
|
|
199
203
|
focusToActiveTreeNode({
|
|
200
|
-
list:
|
|
204
|
+
list: list.current,
|
|
201
205
|
valueKey: valueKey,
|
|
202
206
|
selector: "." + treePrefix('node-active'),
|
|
203
207
|
activeNode: activeNode,
|
|
204
208
|
virtualized: virtualized,
|
|
205
|
-
container:
|
|
209
|
+
container: treeView.current,
|
|
206
210
|
formattedNodes: getFormattedNodes()
|
|
207
211
|
});
|
|
208
212
|
}
|
|
209
|
-
}
|
|
213
|
+
};
|
|
210
214
|
useEffect(function () {
|
|
211
215
|
setFilteredData(data, searchKeywordState);
|
|
212
216
|
setTreeData(data);
|
|
@@ -222,7 +226,7 @@ var TreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
222
226
|
useEffect(function () {
|
|
223
227
|
setSearchKeyword(searchKeyword !== null && searchKeyword !== void 0 ? searchKeyword : '');
|
|
224
228
|
}, [searchKeyword, setSearchKeyword]);
|
|
225
|
-
var getDropData =
|
|
229
|
+
var getDropData = function getDropData(nodeData) {
|
|
226
230
|
var options = {
|
|
227
231
|
valueKey: valueKey,
|
|
228
232
|
childrenKey: childrenKey
|
|
@@ -240,7 +244,7 @@ var TreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
240
244
|
dropNodePosition: dropNodePosition
|
|
241
245
|
}, options)
|
|
242
246
|
};
|
|
243
|
-
}
|
|
247
|
+
};
|
|
244
248
|
var getTreeNodeProps = function getTreeNodeProps(node, layer, index) {
|
|
245
249
|
var draggingNode = dragNode !== null && dragNode !== void 0 ? dragNode : {};
|
|
246
250
|
return {
|
|
@@ -289,8 +293,8 @@ var TreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
289
293
|
return node[childrenKey];
|
|
290
294
|
});
|
|
291
295
|
}, [childrenKey, data, valueKey]);
|
|
292
|
-
var handleSelect =
|
|
293
|
-
var
|
|
296
|
+
var handleSelect = useEventCallback(function (nodeData, event) {
|
|
297
|
+
var _target$current, _trigger$current, _trigger$current$clos;
|
|
294
298
|
if (!nodeData) {
|
|
295
299
|
return;
|
|
296
300
|
}
|
|
@@ -304,10 +308,10 @@ var TreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
304
308
|
onSelectItem === null || onSelectItem === void 0 ? void 0 : onSelectItem(nodeData, getPathTowardsItem(nodeData, function (item) {
|
|
305
309
|
return itemParentMap.get(item[valueKey]);
|
|
306
310
|
}));
|
|
307
|
-
(
|
|
308
|
-
(
|
|
309
|
-
}
|
|
310
|
-
var handleExpand =
|
|
311
|
+
(_target$current = target.current) === null || _target$current === void 0 ? void 0 : _target$current.focus();
|
|
312
|
+
(_trigger$current = trigger.current) === null || _trigger$current === void 0 ? void 0 : (_trigger$current$clos = _trigger$current.close) === null || _trigger$current$clos === void 0 ? void 0 : _trigger$current$clos.call(_trigger$current);
|
|
313
|
+
});
|
|
314
|
+
var handleExpand = useEventCallback(function (node) {
|
|
311
315
|
var nextExpandItemValues = toggleExpand({
|
|
312
316
|
node: node,
|
|
313
317
|
isExpand: !node.expand,
|
|
@@ -322,8 +326,8 @@ var TreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
322
326
|
if (_isFunction(getChildren) && !node.expand && Array.isArray(node[childrenKey]) && node[childrenKey].length === 0) {
|
|
323
327
|
loadChildren(node, getChildren);
|
|
324
328
|
}
|
|
325
|
-
}
|
|
326
|
-
var handleDragStart =
|
|
329
|
+
});
|
|
330
|
+
var handleDragStart = useEventCallback(function (nodeData, event) {
|
|
327
331
|
if (draggable) {
|
|
328
332
|
var _event$dataTransfer;
|
|
329
333
|
var dragMoverNode = createDragPreview(stringifyTreeNodeLabel(nodeData[labelKey]), treePrefix('drag-preview'));
|
|
@@ -332,8 +336,8 @@ var TreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
332
336
|
setDragNode(flattenNodes[nodeData.refKey]);
|
|
333
337
|
onDragStart === null || onDragStart === void 0 ? void 0 : onDragStart(nodeData, event);
|
|
334
338
|
}
|
|
335
|
-
}
|
|
336
|
-
var handleDragEnter =
|
|
339
|
+
});
|
|
340
|
+
var handleDragEnter = useEventCallback(function (nodeData, event) {
|
|
337
341
|
if (dragNodeKeys.some(function (d) {
|
|
338
342
|
return shallowEqual(d, nodeData[valueKey]);
|
|
339
343
|
})) {
|
|
@@ -344,8 +348,8 @@ var TreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
344
348
|
setDropNodePosition(calDropNodePosition(event, treeNodesRefs[nodeData.refKey]));
|
|
345
349
|
}
|
|
346
350
|
onDragEnter === null || onDragEnter === void 0 ? void 0 : onDragEnter(nodeData, event);
|
|
347
|
-
}
|
|
348
|
-
var handleDragOver =
|
|
351
|
+
});
|
|
352
|
+
var handleDragOver = useEventCallback(function (nodeData, event) {
|
|
349
353
|
if (dragNodeKeys.some(function (d) {
|
|
350
354
|
return shallowEqual(d, nodeData[valueKey]);
|
|
351
355
|
})) {
|
|
@@ -358,18 +362,18 @@ var TreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
358
362
|
setDropNodePosition(lastDropNodePosition);
|
|
359
363
|
}
|
|
360
364
|
onDragOver === null || onDragOver === void 0 ? void 0 : onDragOver(nodeData, event);
|
|
361
|
-
}
|
|
362
|
-
var handleDragLeave =
|
|
365
|
+
});
|
|
366
|
+
var handleDragLeave = useEventCallback(function (nodeData, event) {
|
|
363
367
|
onDragLeave === null || onDragLeave === void 0 ? void 0 : onDragLeave(nodeData, event);
|
|
364
|
-
}
|
|
365
|
-
var handleDragEnd =
|
|
368
|
+
});
|
|
369
|
+
var handleDragEnd = useEventCallback(function (nodeData, event) {
|
|
366
370
|
removeDragPreview();
|
|
367
371
|
setDragNode(null);
|
|
368
372
|
setDragNodeKeys([]);
|
|
369
373
|
setDragOverNodeKey(null);
|
|
370
374
|
onDragEnd === null || onDragEnd === void 0 ? void 0 : onDragEnd(nodeData, event);
|
|
371
|
-
}
|
|
372
|
-
var handleDrop =
|
|
375
|
+
});
|
|
376
|
+
var handleDrop = useEventCallback(function (nodeData, event) {
|
|
373
377
|
if (dragNodeKeys.some(function (d) {
|
|
374
378
|
return shallowEqual(d, nodeData[valueKey]);
|
|
375
379
|
})) {
|
|
@@ -382,34 +386,26 @@ var TreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
382
386
|
setDragNode(null);
|
|
383
387
|
setDragNodeKeys([]);
|
|
384
388
|
setDragOverNodeKey(null);
|
|
385
|
-
}
|
|
386
|
-
var handleOpen =
|
|
387
|
-
var
|
|
388
|
-
(
|
|
389
|
+
});
|
|
390
|
+
var handleOpen = useEventCallback(function () {
|
|
391
|
+
var _trigger$current2, _trigger$current2$ope;
|
|
392
|
+
(_trigger$current2 = trigger.current) === null || _trigger$current2 === void 0 ? void 0 : (_trigger$current2$ope = _trigger$current2.open) === null || _trigger$current2$ope === void 0 ? void 0 : _trigger$current2$ope.call(_trigger$current2);
|
|
389
393
|
focusActiveNode();
|
|
390
394
|
onOpen === null || onOpen === void 0 ? void 0 : onOpen();
|
|
391
395
|
setActive(true);
|
|
392
|
-
}
|
|
393
|
-
var handleClose =
|
|
394
|
-
var
|
|
395
|
-
(
|
|
396
|
+
});
|
|
397
|
+
var handleClose = useEventCallback(function () {
|
|
398
|
+
var _trigger$current3, _trigger$current3$clo, _target$current2;
|
|
399
|
+
(_trigger$current3 = trigger.current) === null || _trigger$current3 === void 0 ? void 0 : (_trigger$current3$clo = _trigger$current3.close) === null || _trigger$current3$clo === void 0 ? void 0 : _trigger$current3$clo.call(_trigger$current3);
|
|
396
400
|
setSearchKeyword('');
|
|
397
401
|
setActive(false);
|
|
398
402
|
setFocusItemValue(activeNode === null || activeNode === void 0 ? void 0 : activeNode[valueKey]);
|
|
399
403
|
/**
|
|
400
404
|
* when using keyboard toggle picker, should refocus on PickerToggle Component after close picker menu
|
|
401
405
|
*/
|
|
402
|
-
(
|
|
403
|
-
}, [activeNode, setSearchKeyword, valueKey]);
|
|
404
|
-
usePublicMethods(ref, {
|
|
405
|
-
rootRef: inline ? treeViewRef : undefined,
|
|
406
|
-
triggerRef: triggerRef,
|
|
407
|
-
overlayRef: overlayRef,
|
|
408
|
-
targetRef: targetRef,
|
|
409
|
-
listRef: listRef,
|
|
410
|
-
inline: inline
|
|
406
|
+
(_target$current2 = target.current) === null || _target$current2 === void 0 ? void 0 : _target$current2.focus();
|
|
411
407
|
});
|
|
412
|
-
var handleFocusItem =
|
|
408
|
+
var handleFocusItem = useEventCallback(function (key) {
|
|
413
409
|
var focusableItems = getFocusableItems(filteredData, {
|
|
414
410
|
disabledItemValues: disabledItemValues,
|
|
415
411
|
valueKey: valueKey,
|
|
@@ -434,8 +430,8 @@ var TreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
434
430
|
if (key === KEY_VALUES.UP) {
|
|
435
431
|
focusPreviousItem(focusProps);
|
|
436
432
|
}
|
|
437
|
-
}
|
|
438
|
-
var handleLeftArrow =
|
|
433
|
+
});
|
|
434
|
+
var handleLeftArrow = useEventCallback(function () {
|
|
439
435
|
if (_isNil(focusItemValue)) return;
|
|
440
436
|
var focusItem = getActiveItem(focusItemValue, flattenNodes, valueKey);
|
|
441
437
|
leftArrowHandler({
|
|
@@ -449,8 +445,8 @@ var TreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
449
445
|
focusTreeNode(focusItem === null || focusItem === void 0 ? void 0 : (_focusItem$parent2 = focusItem.parent) === null || _focusItem$parent2 === void 0 ? void 0 : _focusItem$parent2.refKey, treeNodesRefs, "." + treePrefix('node-label'));
|
|
450
446
|
}
|
|
451
447
|
});
|
|
452
|
-
}
|
|
453
|
-
var handleRightArrow =
|
|
448
|
+
});
|
|
449
|
+
var handleRightArrow = useEventCallback(function () {
|
|
454
450
|
if (_isNil(focusItemValue)) return;
|
|
455
451
|
var focusItem = getActiveItem(focusItemValue, flattenNodes, valueKey);
|
|
456
452
|
rightArrowHandler({
|
|
@@ -462,13 +458,13 @@ var TreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
462
458
|
handleFocusItem(KEY_VALUES.DOWN);
|
|
463
459
|
}
|
|
464
460
|
});
|
|
465
|
-
}
|
|
466
|
-
var selectActiveItem =
|
|
461
|
+
});
|
|
462
|
+
var selectActiveItem = useEventCallback(function (event) {
|
|
467
463
|
if (_isNil(focusItemValue)) return;
|
|
468
464
|
var activeItem = getActiveItem(focusItemValue, flattenNodes, valueKey);
|
|
469
465
|
handleSelect(activeItem, event);
|
|
470
|
-
}
|
|
471
|
-
var handleClean =
|
|
466
|
+
});
|
|
467
|
+
var handleClean = useEventCallback(function (event) {
|
|
472
468
|
var nullValue = null;
|
|
473
469
|
var target = event.target;
|
|
474
470
|
// exclude searchBar
|
|
@@ -479,13 +475,13 @@ var TreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
479
475
|
setValue(null);
|
|
480
476
|
}
|
|
481
477
|
onChange === null || onChange === void 0 ? void 0 : onChange(nullValue, event);
|
|
482
|
-
}
|
|
478
|
+
});
|
|
483
479
|
var onPickerKeydown = useToggleKeyDownEvent(_extends({
|
|
484
480
|
toggle: !activeNode || !active,
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
481
|
+
trigger: trigger,
|
|
482
|
+
target: target,
|
|
483
|
+
overlay: overlay,
|
|
484
|
+
searchInput: searchInput,
|
|
489
485
|
active: active,
|
|
490
486
|
onExit: handleClean,
|
|
491
487
|
onClose: handleClose,
|
|
@@ -504,8 +500,8 @@ var TreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
504
500
|
});
|
|
505
501
|
}
|
|
506
502
|
}, rest));
|
|
507
|
-
var handleTreeKeyDown =
|
|
508
|
-
if (!
|
|
503
|
+
var handleTreeKeyDown = useEventCallback(function (event) {
|
|
504
|
+
if (!treeView.current) {
|
|
509
505
|
return;
|
|
510
506
|
}
|
|
511
507
|
_onMenuKeyDown(event, {
|
|
@@ -519,7 +515,7 @@ var TreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
519
515
|
right: rtl ? handleLeftArrow : handleRightArrow,
|
|
520
516
|
enter: selectActiveItem
|
|
521
517
|
});
|
|
522
|
-
}
|
|
518
|
+
});
|
|
523
519
|
var renderNode = function renderNode(node, index, layer) {
|
|
524
520
|
if (!node.visible) {
|
|
525
521
|
return null;
|
|
@@ -594,7 +590,7 @@ var TreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
594
590
|
return /*#__PURE__*/React.createElement("div", {
|
|
595
591
|
role: "tree",
|
|
596
592
|
id: id ? id + "-listbox" : undefined,
|
|
597
|
-
ref:
|
|
593
|
+
ref: inline ? root : treeView,
|
|
598
594
|
className: classes,
|
|
599
595
|
style: styles,
|
|
600
596
|
onKeyDown: inline ? handleTreeKeyDown : undefined
|
|
@@ -609,7 +605,7 @@ var TreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
609
605
|
}, function (_ref5) {
|
|
610
606
|
var height = _ref5.height;
|
|
611
607
|
return /*#__PURE__*/React.createElement(List, _extends({
|
|
612
|
-
ref:
|
|
608
|
+
ref: list,
|
|
613
609
|
height: height,
|
|
614
610
|
itemSize: itemSize,
|
|
615
611
|
itemCount: formattedNodes.length,
|
|
@@ -630,14 +626,14 @@ var TreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
630
626
|
autoWidth: menuAutoWidth,
|
|
631
627
|
className: classes,
|
|
632
628
|
style: mergedMenuStyle,
|
|
633
|
-
ref: mergeRefs(
|
|
629
|
+
ref: mergeRefs(overlay, speakerRef),
|
|
634
630
|
onKeyDown: onPickerKeydown,
|
|
635
|
-
target:
|
|
631
|
+
target: trigger
|
|
636
632
|
}, searchable ? /*#__PURE__*/React.createElement(SearchBar, {
|
|
637
633
|
placeholder: locale.searchPlaceholder,
|
|
638
634
|
onChange: handleSearch,
|
|
639
635
|
value: searchKeywordState,
|
|
640
|
-
inputRef:
|
|
636
|
+
inputRef: searchInput
|
|
641
637
|
}) : null, renderMenu ? renderMenu(renderTree()) : renderTree(), renderExtraFooter === null || renderExtraFooter === void 0 ? void 0 : renderExtraFooter());
|
|
642
638
|
};
|
|
643
639
|
|
|
@@ -671,7 +667,7 @@ var TreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
671
667
|
}
|
|
672
668
|
return /*#__PURE__*/React.createElement(PickerToggleTrigger, {
|
|
673
669
|
pickerProps: _pick(props, pickTriggerPropKeys),
|
|
674
|
-
ref:
|
|
670
|
+
ref: trigger,
|
|
675
671
|
placement: placement,
|
|
676
672
|
onEnter: handleOpen,
|
|
677
673
|
onEntered: onEntered,
|
|
@@ -680,10 +676,11 @@ var TreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
680
676
|
speaker: renderDropdownMenu
|
|
681
677
|
}, /*#__PURE__*/React.createElement(Component, {
|
|
682
678
|
className: classes,
|
|
683
|
-
style: style
|
|
679
|
+
style: style,
|
|
680
|
+
ref: root
|
|
684
681
|
}, /*#__PURE__*/React.createElement(PickerToggle, _extends({}, _omit(rest, [].concat(omitTriggerPropKeys, usedClassNamePropKeys, ['cascade'])), {
|
|
685
682
|
id: id,
|
|
686
|
-
ref:
|
|
683
|
+
ref: target,
|
|
687
684
|
appearance: appearance,
|
|
688
685
|
onKeyDown: onPickerKeydown,
|
|
689
686
|
onClean: createChainedFunction(handleClean, onClean),
|
package/esm/index.d.ts
CHANGED
|
@@ -94,6 +94,8 @@ export { default as DateInput } from './DateInput';
|
|
|
94
94
|
export type { DateInputProps } from './DateInput';
|
|
95
95
|
export { default as DatePicker } from './DatePicker';
|
|
96
96
|
export type { DatePickerProps } from './DatePicker';
|
|
97
|
+
export { default as DateRangeInput } from './DateRangeInput';
|
|
98
|
+
export type { DateRangeInputProps } from './DateRangeInput';
|
|
97
99
|
export { default as DateRangePicker } from './DateRangePicker';
|
|
98
100
|
export type { DateRangePickerProps } from './DateRangePicker';
|
|
99
101
|
export { default as AutoComplete } from './AutoComplete';
|
package/esm/index.js
CHANGED
|
@@ -50,6 +50,7 @@ export { default as Cascader } from './Cascader';
|
|
|
50
50
|
export { default as MultiCascader } from './MultiCascader';
|
|
51
51
|
export { default as DateInput } from './DateInput';
|
|
52
52
|
export { default as DatePicker } from './DatePicker';
|
|
53
|
+
export { default as DateRangeInput } from './DateRangeInput';
|
|
53
54
|
export { default as DateRangePicker } from './DateRangePicker';
|
|
54
55
|
export { default as AutoComplete } from './AutoComplete';
|
|
55
56
|
export { default as Uploader } from './Uploader';
|
package/esm/locales/index.d.ts
CHANGED
|
@@ -31,8 +31,8 @@ export declare type CalendarLocale = PickKeys<typeof defaultLocale.Calendar>;
|
|
|
31
31
|
export declare type PlaintextLocale = PickKeys<typeof defaultLocale.Plaintext>;
|
|
32
32
|
export declare type PaginationLocale = PickKeys<typeof defaultLocale.Pagination>;
|
|
33
33
|
export declare type TableLocale = CommonLocale;
|
|
34
|
-
export declare type DatePickerLocale = PickKeys<typeof defaultLocale.DatePicker
|
|
35
|
-
export declare type DateRangePickerLocale = PickKeys<typeof defaultLocale.DateRangePicker
|
|
34
|
+
export declare type DatePickerLocale = PickKeys<typeof defaultLocale.DatePicker> & CommonLocale;
|
|
35
|
+
export declare type DateRangePickerLocale = PickKeys<typeof defaultLocale.DateRangePicker> & CommonLocale;
|
|
36
36
|
export declare type PickerLocale = typeof defaultLocale.Picker & CommonLocale;
|
|
37
37
|
export declare type InputPickerLocale = PickerLocale & typeof defaultLocale.InputPicker;
|
|
38
38
|
export declare type UploaderLocale = PickKeys<typeof defaultLocale.Uploader> & CommonLocale;
|
package/esm/utils/constants.d.ts
CHANGED
package/esm/utils/constants.js
CHANGED
|
@@ -60,4 +60,5 @@ export var DATERANGE_DISABLED_TARGET;
|
|
|
60
60
|
DATERANGE_DISABLED_TARGET["CALENDAR"] = "CALENDAR";
|
|
61
61
|
DATERANGE_DISABLED_TARGET["TOOLBAR_BUTTON_OK"] = "TOOLBAR_BUTTON_OK";
|
|
62
62
|
DATERANGE_DISABLED_TARGET["TOOLBAR_SHORTCUT"] = "TOOLBAR_SHORTCUT";
|
|
63
|
+
DATERANGE_DISABLED_TARGET["INPUT"] = "INPUT";
|
|
63
64
|
})(DATERANGE_DISABLED_TARGET || (DATERANGE_DISABLED_TARGET = {}));
|
package/esm/utils/dateUtils.d.ts
CHANGED
|
@@ -63,7 +63,6 @@ export declare const shouldOnlyRenderTime: (format: string) => boolean;
|
|
|
63
63
|
* @return date[]
|
|
64
64
|
*/
|
|
65
65
|
export declare function getMonthView(monthDate: Date, isoWeek: boolean): Date[];
|
|
66
|
-
export declare function getDateMask(formatStr: string): (string | RegExp)[];
|
|
67
66
|
/**
|
|
68
67
|
* Copy the time of one date to another
|
|
69
68
|
*/
|
package/esm/utils/dateUtils.js
CHANGED
|
@@ -130,11 +130,6 @@ export function getMonthView(monthDate, isoWeek) {
|
|
|
130
130
|
}
|
|
131
131
|
return weeks;
|
|
132
132
|
}
|
|
133
|
-
export function getDateMask(formatStr) {
|
|
134
|
-
return Array.from(formatStr).map(function (i) {
|
|
135
|
-
return i.match(/[A-Za-z]/) ? /[\d|A-Za-z]/ : i;
|
|
136
|
-
});
|
|
137
|
-
}
|
|
138
133
|
|
|
139
134
|
/**
|
|
140
135
|
* Copy the time of one date to another
|