rsuite 5.49.0 → 5.51.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 +24 -0
- package/Cascader/styles/index.less +4 -4
- package/CheckTreePicker/styles/index.less +3 -3
- package/DatePicker/styles/index.less +1 -1
- package/DateRangePicker/styles/index.less +15 -5
- package/Dropdown/styles/index.less +5 -4
- package/Dropdown/styles/mixin.less +0 -11
- package/Form/styles/mixin.less +1 -2
- package/InputGroup/styles/index.less +0 -14
- package/InputPicker/styles/index.less +1 -1
- package/Picker/styles/index.less +33 -26
- package/Picker/styles/mixin.less +20 -16
- package/README.md +4 -4
- package/TagInput/styles/index.less +2 -2
- package/TagPicker/styles/index.less +5 -1
- package/TreePicker/styles/index.less +2 -2
- package/cjs/@types/common.d.ts +8 -0
- package/cjs/AutoComplete/AutoComplete.js +39 -37
- package/cjs/AutoComplete/Combobox.d.ts +8 -0
- package/cjs/AutoComplete/Combobox.js +31 -0
- package/cjs/Calendar/Calendar.d.ts +5 -1
- package/cjs/Calendar/CalendarContainer.d.ts +5 -1
- package/cjs/Calendar/CalendarContainer.js +35 -37
- package/cjs/Cascader/Cascader.js +58 -59
- package/cjs/Cascader/DropdownMenu.d.ts +3 -20
- package/cjs/Cascader/DropdownMenu.js +48 -48
- package/cjs/Cascader/TreeView.d.ts +24 -0
- package/cjs/Cascader/TreeView.js +174 -0
- package/cjs/CheckPicker/CheckPicker.d.ts +2 -2
- package/cjs/CheckPicker/CheckPicker.js +42 -44
- package/cjs/CheckTreePicker/CheckTreeNode.d.ts +2 -2
- package/cjs/CheckTreePicker/CheckTreeNode.js +31 -59
- package/cjs/CheckTreePicker/CheckTreePicker.js +81 -84
- package/cjs/DatePicker/DatePicker.d.ts +5 -1
- package/cjs/DatePicker/DatePicker.js +7 -10
- package/cjs/DatePicker/Toolbar.js +2 -1
- package/cjs/DateRangeInput/DateRangeInput.js +2 -2
- package/cjs/DateRangePicker/Calendar.js +24 -23
- package/cjs/DateRangePicker/DateRangePicker.d.ts +18 -4
- package/cjs/DateRangePicker/DateRangePicker.js +239 -202
- 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/Form/Form.d.ts +14 -0
- package/cjs/Form/Form.js +39 -30
- package/cjs/Form/FormContext.d.ts +1 -0
- package/cjs/FormControl/FormControl.d.ts +11 -1
- package/cjs/FormControl/FormControl.js +40 -17
- package/cjs/FormGroup/FormGroup.js +2 -1
- package/cjs/InputPicker/InputPicker.js +108 -92
- package/cjs/InputPicker/InputSearch.js +3 -15
- package/cjs/InputPicker/TagList.d.ts +3 -0
- package/cjs/InputPicker/TagList.js +29 -0
- package/cjs/InputPicker/TextBox.d.ts +18 -0
- package/cjs/InputPicker/TextBox.js +48 -0
- package/cjs/MultiCascader/MultiCascader.js +53 -52
- package/cjs/MultiCascader/{DropdownMenu.d.ts → TreeView.d.ts} +3 -3
- package/cjs/MultiCascader/{DropdownMenu.js → TreeView.js} +77 -74
- package/{esm/Picker/DropdownMenuCheckItem.d.ts → cjs/Picker/ListCheckItem.d.ts} +3 -3
- package/cjs/Picker/{DropdownMenuCheckItem.js → ListCheckItem.js} +14 -30
- package/cjs/Picker/{DropdownMenuItem.d.ts → ListItem.d.ts} +4 -4
- package/cjs/Picker/{DropdownMenuItem.js → ListItem.js} +15 -24
- package/cjs/Picker/ListItemGroup.d.ts +6 -0
- package/cjs/Picker/{DropdownMenuGroup.js → ListItemGroup.js} +3 -9
- package/cjs/Picker/Listbox.d.ts +35 -0
- package/cjs/Picker/{DropdownMenu.js → Listbox.js} +49 -64
- package/cjs/{DatePicker → Picker}/PickerIndicator.d.ts +1 -1
- package/cjs/{DatePicker → Picker}/PickerIndicator.js +2 -1
- package/cjs/{DatePicker → Picker}/PickerLabel.d.ts +1 -1
- package/cjs/Picker/{PickerOverlay.d.ts → PickerPopup.d.ts} +3 -3
- package/cjs/Picker/{PickerOverlay.js → PickerPopup.js} +9 -7
- package/cjs/Picker/PickerToggle.d.ts +17 -22
- package/cjs/Picker/PickerToggle.js +63 -181
- package/cjs/Picker/PickerToggleTrigger.d.ts +15 -0
- package/cjs/Picker/PickerToggleTrigger.js +21 -5
- package/cjs/Picker/SearchBar.js +7 -9
- package/cjs/Picker/TreeView.d.ts +7 -0
- package/cjs/Picker/TreeView.js +31 -0
- package/cjs/Picker/hooks/index.d.ts +6 -0
- package/cjs/Picker/hooks/index.js +18 -0
- package/cjs/Picker/hooks/useCombobox.d.ts +7 -0
- package/cjs/Picker/hooks/useCombobox.js +22 -0
- package/cjs/Picker/hooks/useFocusItemValue.d.ts +30 -0
- package/cjs/Picker/hooks/useFocusItemValue.js +246 -0
- package/cjs/Picker/hooks/usePickerClassName.d.ts +21 -0
- package/cjs/Picker/hooks/usePickerClassName.js +39 -0
- package/cjs/Picker/{usePickerRef.d.ts → hooks/usePickerRef.d.ts} +5 -3
- package/cjs/Picker/{usePickerRef.js → hooks/usePickerRef.js} +13 -7
- package/cjs/Picker/hooks/useSearch.d.ts +18 -0
- package/cjs/Picker/hooks/useSearch.js +57 -0
- package/cjs/Picker/hooks/useToggleKeyDownEvent.d.ts +25 -0
- package/cjs/Picker/hooks/useToggleKeyDownEvent.js +101 -0
- package/cjs/Picker/index.d.ts +9 -5
- package/cjs/Picker/index.js +32 -16
- package/cjs/Picker/propTypes.d.ts +0 -6
- package/cjs/Picker/propTypes.js +0 -5
- package/cjs/Picker/utils.d.ts +2 -100
- package/cjs/Picker/utils.js +1 -473
- package/cjs/SelectPicker/SelectPicker.d.ts +2 -2
- package/cjs/SelectPicker/SelectPicker.js +47 -50
- package/cjs/TagInput/index.js +4 -0
- package/cjs/TreePicker/TreeNode.d.ts +2 -2
- package/cjs/TreePicker/TreeNode.js +22 -56
- package/cjs/TreePicker/TreePicker.js +91 -95
- 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 +1 -0
- package/cjs/utils/index.js +4 -1
- package/dist/rsuite-no-reset-rtl.css +201 -186
- 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 +201 -186
- package/dist/rsuite-no-reset.min.css +1 -1
- package/dist/rsuite-no-reset.min.css.map +1 -1
- package/dist/rsuite-rtl.css +201 -186
- package/dist/rsuite-rtl.min.css +1 -1
- package/dist/rsuite-rtl.min.css.map +1 -1
- package/dist/rsuite.css +201 -186
- package/dist/rsuite.js +235 -104
- 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/@types/common.d.ts +8 -0
- package/esm/AutoComplete/AutoComplete.js +42 -40
- package/esm/AutoComplete/Combobox.d.ts +8 -0
- package/esm/AutoComplete/Combobox.js +25 -0
- package/esm/Calendar/Calendar.d.ts +5 -1
- package/esm/Calendar/CalendarContainer.d.ts +5 -1
- package/esm/Calendar/CalendarContainer.js +37 -39
- package/esm/Cascader/Cascader.js +61 -62
- package/esm/Cascader/DropdownMenu.d.ts +3 -20
- package/esm/Cascader/DropdownMenu.js +50 -49
- package/esm/Cascader/TreeView.d.ts +24 -0
- package/esm/Cascader/TreeView.js +167 -0
- package/esm/CheckPicker/CheckPicker.d.ts +2 -2
- package/esm/CheckPicker/CheckPicker.js +45 -47
- package/esm/CheckTreePicker/CheckTreeNode.d.ts +2 -2
- package/esm/CheckTreePicker/CheckTreeNode.js +33 -61
- package/esm/CheckTreePicker/CheckTreePicker.js +84 -87
- package/esm/DatePicker/DatePicker.d.ts +5 -1
- package/esm/DatePicker/DatePicker.js +5 -8
- package/esm/DatePicker/Toolbar.js +2 -1
- package/esm/DateRangeInput/DateRangeInput.js +2 -2
- package/esm/DateRangePicker/Calendar.js +25 -23
- package/esm/DateRangePicker/DateRangePicker.d.ts +18 -4
- package/esm/DateRangePicker/DateRangePicker.js +241 -204
- 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/Form/Form.d.ts +14 -0
- package/esm/Form/Form.js +41 -32
- package/esm/Form/FormContext.d.ts +1 -0
- package/esm/FormControl/FormControl.d.ts +11 -1
- package/esm/FormControl/FormControl.js +41 -18
- package/esm/FormGroup/FormGroup.js +3 -2
- package/esm/InputPicker/InputPicker.js +110 -94
- package/esm/InputPicker/InputSearch.js +4 -15
- package/esm/InputPicker/TagList.d.ts +3 -0
- package/esm/InputPicker/TagList.js +23 -0
- package/esm/InputPicker/TextBox.d.ts +18 -0
- package/esm/InputPicker/TextBox.js +42 -0
- package/esm/MultiCascader/MultiCascader.js +56 -55
- package/esm/MultiCascader/{DropdownMenu.d.ts → TreeView.d.ts} +3 -3
- package/esm/MultiCascader/{DropdownMenu.js → TreeView.js} +79 -75
- package/{cjs/Picker/DropdownMenuCheckItem.d.ts → esm/Picker/ListCheckItem.d.ts} +3 -3
- package/esm/Picker/{DropdownMenuCheckItem.js → ListCheckItem.js} +15 -30
- package/esm/Picker/{DropdownMenuItem.d.ts → ListItem.d.ts} +4 -4
- package/esm/Picker/{DropdownMenuItem.js → ListItem.js} +16 -24
- package/esm/Picker/ListItemGroup.d.ts +6 -0
- package/esm/Picker/{DropdownMenuGroup.js → ListItemGroup.js} +3 -9
- package/esm/Picker/Listbox.d.ts +35 -0
- package/esm/Picker/{DropdownMenu.js → Listbox.js} +50 -64
- package/esm/{DatePicker → Picker}/PickerIndicator.d.ts +1 -1
- package/esm/{DatePicker → Picker}/PickerIndicator.js +2 -1
- package/esm/{DatePicker → Picker}/PickerLabel.d.ts +1 -1
- package/esm/Picker/{PickerOverlay.d.ts → PickerPopup.d.ts} +3 -3
- package/esm/Picker/{PickerOverlay.js → PickerPopup.js} +10 -8
- package/esm/Picker/PickerToggle.d.ts +17 -22
- package/esm/Picker/PickerToggle.js +65 -183
- package/esm/Picker/PickerToggleTrigger.d.ts +15 -0
- package/esm/Picker/PickerToggleTrigger.js +20 -5
- package/esm/Picker/SearchBar.js +8 -9
- package/esm/Picker/TreeView.d.ts +7 -0
- package/esm/Picker/TreeView.js +25 -0
- package/esm/Picker/hooks/index.d.ts +6 -0
- package/esm/Picker/hooks/index.js +7 -0
- package/esm/Picker/hooks/useCombobox.d.ts +7 -0
- package/esm/Picker/hooks/useCombobox.js +17 -0
- package/esm/Picker/hooks/useFocusItemValue.d.ts +30 -0
- package/esm/Picker/hooks/useFocusItemValue.js +240 -0
- package/esm/Picker/hooks/usePickerClassName.d.ts +21 -0
- package/esm/Picker/hooks/usePickerClassName.js +33 -0
- package/esm/Picker/{usePickerRef.d.ts → hooks/usePickerRef.d.ts} +5 -3
- package/esm/Picker/{usePickerRef.js → hooks/usePickerRef.js} +13 -8
- package/esm/Picker/hooks/useSearch.d.ts +18 -0
- package/esm/Picker/hooks/useSearch.js +51 -0
- package/esm/Picker/hooks/useToggleKeyDownEvent.d.ts +25 -0
- package/esm/Picker/hooks/useToggleKeyDownEvent.js +96 -0
- package/esm/Picker/index.d.ts +9 -5
- package/esm/Picker/index.js +9 -5
- package/esm/Picker/propTypes.d.ts +0 -6
- package/esm/Picker/propTypes.js +0 -5
- package/esm/Picker/utils.d.ts +2 -100
- package/esm/Picker/utils.js +2 -467
- package/esm/SelectPicker/SelectPicker.d.ts +2 -2
- package/esm/SelectPicker/SelectPicker.js +50 -53
- package/esm/TagInput/index.js +4 -0
- package/esm/TreePicker/TreeNode.d.ts +2 -2
- package/esm/TreePicker/TreeNode.js +24 -58
- package/esm/TreePicker/TreePicker.js +94 -98
- 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 +1 -0
- package/esm/utils/index.js +1 -0
- package/package.json +1 -1
- package/styles/mixins/combobox.less +10 -0
- package/styles/variables.less +1 -3
- package/cjs/Picker/DropdownMenu.d.ts +0 -59
- package/cjs/Picker/DropdownMenuGroup.d.ts +0 -6
- package/esm/Picker/DropdownMenu.d.ts +0 -59
- package/esm/Picker/DropdownMenuGroup.d.ts +0 -6
- /package/cjs/{DatePicker → Picker}/PickerLabel.js +0 -0
- /package/esm/{DatePicker → Picker}/PickerLabel.js +0 -0
|
@@ -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 {
|
|
15
|
+
import { Listbox, ListItem, PickerToggle, PickerToggleTrigger, PickerPopup, 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`
|
|
@@ -207,7 +203,7 @@ var SelectPicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
207
203
|
hasValue = false;
|
|
208
204
|
}
|
|
209
205
|
}
|
|
210
|
-
var
|
|
206
|
+
var renderPopup = function renderPopup(positionProps, speakerRef) {
|
|
211
207
|
var left = positionProps.left,
|
|
212
208
|
top = positionProps.top,
|
|
213
209
|
className = positionProps.className;
|
|
@@ -224,10 +220,9 @@ var SelectPicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
224
220
|
} else if (typeof sort === 'function') {
|
|
225
221
|
items = items.sort(sort(false));
|
|
226
222
|
}
|
|
227
|
-
var menu = items.length ? /*#__PURE__*/React.createElement(
|
|
228
|
-
id: id ? id + "-listbox" : undefined,
|
|
223
|
+
var menu = items.length ? /*#__PURE__*/React.createElement(Listbox, {
|
|
229
224
|
listProps: listProps,
|
|
230
|
-
listRef:
|
|
225
|
+
listRef: list,
|
|
231
226
|
disabledItemValues: disabledItemValues,
|
|
232
227
|
valueKey: valueKey,
|
|
233
228
|
labelKey: labelKey,
|
|
@@ -235,8 +230,8 @@ var SelectPicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
235
230
|
renderMenuItem: renderMenuItem,
|
|
236
231
|
maxHeight: menuMaxHeight,
|
|
237
232
|
classPrefix: 'picker-select-menu',
|
|
238
|
-
|
|
239
|
-
|
|
233
|
+
listItemClassPrefix: 'picker-select-menu-item',
|
|
234
|
+
listItemAs: ListItem,
|
|
240
235
|
activeItemValues: [value],
|
|
241
236
|
focusItemValue: focusItemValue,
|
|
242
237
|
data: items
|
|
@@ -251,18 +246,18 @@ var SelectPicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
251
246
|
}) : /*#__PURE__*/React.createElement("div", {
|
|
252
247
|
className: prefix(_templateObject || (_templateObject = _taggedTemplateLiteralLoose(["none"])))
|
|
253
248
|
}, locale === null || locale === void 0 ? void 0 : locale.noResultsText);
|
|
254
|
-
return /*#__PURE__*/React.createElement(
|
|
255
|
-
ref: mergeRefs(
|
|
249
|
+
return /*#__PURE__*/React.createElement(PickerPopup, {
|
|
250
|
+
ref: mergeRefs(overlay, speakerRef),
|
|
256
251
|
autoWidth: menuAutoWidth,
|
|
257
252
|
className: classes,
|
|
258
253
|
style: styles,
|
|
259
254
|
onKeyDown: onPickerKeyDown,
|
|
260
|
-
target:
|
|
255
|
+
target: trigger
|
|
261
256
|
}, searchable && /*#__PURE__*/React.createElement(SearchBar, {
|
|
262
257
|
placeholder: locale === null || locale === void 0 ? void 0 : locale.searchPlaceholder,
|
|
263
258
|
onChange: handleSearch,
|
|
264
259
|
value: searchKeyword,
|
|
265
|
-
inputRef:
|
|
260
|
+
inputRef: searchInput
|
|
266
261
|
}), renderMenu ? renderMenu(menu) : menu, renderExtraFooter === null || renderExtraFooter === void 0 ? void 0 : renderExtraFooter());
|
|
267
262
|
};
|
|
268
263
|
var _usePickerClassName = usePickerClassName(_extends({}, props, {
|
|
@@ -275,18 +270,19 @@ var SelectPicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
275
270
|
classes = _usePickerClassName[0],
|
|
276
271
|
usedClassNamePropKeys = _usePickerClassName[1];
|
|
277
272
|
return /*#__PURE__*/React.createElement(PickerToggleTrigger, {
|
|
273
|
+
id: id,
|
|
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
|
-
speaker:
|
|
279
|
+
speaker: renderPopup
|
|
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
|
-
|
|
289
|
-
ref: targetRef,
|
|
285
|
+
ref: target,
|
|
290
286
|
appearance: appearance,
|
|
291
287
|
onClean: createChainedFunction(handleClean, onClean),
|
|
292
288
|
onKeyDown: onPickerKeyDown,
|
|
@@ -295,6 +291,7 @@ var SelectPicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
295
291
|
cleanable: cleanable && !disabled,
|
|
296
292
|
hasValue: hasValue,
|
|
297
293
|
inputValue: value !== null && value !== void 0 ? value : '',
|
|
294
|
+
focusItemValue: focusItemValue,
|
|
298
295
|
active: active,
|
|
299
296
|
placement: placement
|
|
300
297
|
}), selectedElement || (locale === null || locale === void 0 ? void 0 : locale.placeholder))));
|
package/esm/TagInput/index.js
CHANGED
|
@@ -38,6 +38,10 @@ var TagInput = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
38
38
|
return /*#__PURE__*/React.createElement(InputPickerContext.Provider, {
|
|
39
39
|
value: contextValue
|
|
40
40
|
}, /*#__PURE__*/React.createElement(InputPicker, _extends({}, rest, {
|
|
41
|
+
"aria-haspopup": false,
|
|
42
|
+
"aria-expanded": undefined,
|
|
43
|
+
"aria-controls": undefined,
|
|
44
|
+
"aria-keyshortcuts": trigger,
|
|
41
45
|
value: value,
|
|
42
46
|
defaultValue: defaultValue,
|
|
43
47
|
data: data,
|
|
@@ -23,8 +23,8 @@ export interface TreeNodeProps extends WithAsProps {
|
|
|
23
23
|
style?: React.CSSProperties;
|
|
24
24
|
onExpand?: (nodeData: any) => void;
|
|
25
25
|
onSelect?: (nodeData: any, event: React.SyntheticEvent) => void;
|
|
26
|
-
|
|
27
|
-
|
|
26
|
+
renderTreeIcon?: (nodeData: any) => React.ReactNode;
|
|
27
|
+
renderTreeNode?: (nodeData: any) => React.ReactNode;
|
|
28
28
|
onDragStart?: (data: any, event: React.DragEvent<any>) => void;
|
|
29
29
|
onDragEnter?: (data: any, event: React.DragEvent<any>) => void;
|
|
30
30
|
onDragOver?: (data: any, event: React.DragEvent<any>) => void;
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
3
3
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
4
|
-
import React, { forwardRef
|
|
5
|
-
import PropTypes from 'prop-types';
|
|
4
|
+
import React, { forwardRef } from 'react';
|
|
6
5
|
import hasClass from 'dom-lib/hasClass';
|
|
7
6
|
import ArrowDown from '@rsuite/icons/legacy/ArrowDown';
|
|
8
7
|
import Spinner from '@rsuite/icons/legacy/Spinner';
|
|
9
|
-
import { useClassNames } from '../utils';
|
|
8
|
+
import { useClassNames, useEventCallback } from '../utils';
|
|
10
9
|
import { getTreeNodeIndent, stringifyTreeNodeLabel } from '../utils/treeUtils';
|
|
11
10
|
var TreeNode = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
12
11
|
var _ref$as = _ref.as,
|
|
@@ -40,20 +39,20 @@ var TreeNode = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
|
40
39
|
onDragEnd = _ref.onDragEnd,
|
|
41
40
|
onDrop = _ref.onDrop,
|
|
42
41
|
onExpand = _ref.onExpand,
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
rest = _objectWithoutPropertiesLoose(_ref, ["as", "rtl", "label", "layer", "style", "active", "loading", "nodeData", "className", "classPrefix", "disabled", "visible", "draggable", "expand", "focus", "hasChildren", "dragging", "dragOver", "dragOverTop", "dragOverBottom", "onSelect", "onDragStart", "onDragOver", "onDragEnter", "onDragLeave", "onDragEnd", "onDrop", "onExpand", "
|
|
42
|
+
renderTreeIcon = _ref.renderTreeIcon,
|
|
43
|
+
renderTreeNode = _ref.renderTreeNode,
|
|
44
|
+
rest = _objectWithoutPropertiesLoose(_ref, ["as", "rtl", "label", "layer", "style", "active", "loading", "nodeData", "className", "classPrefix", "disabled", "visible", "draggable", "expand", "focus", "hasChildren", "dragging", "dragOver", "dragOverTop", "dragOverBottom", "onSelect", "onDragStart", "onDragOver", "onDragEnter", "onDragLeave", "onDragEnd", "onDrop", "onExpand", "renderTreeIcon", "renderTreeNode"]);
|
|
46
45
|
var _useClassNames = useClassNames(classPrefix),
|
|
47
46
|
prefix = _useClassNames.prefix,
|
|
48
47
|
merge = _useClassNames.merge,
|
|
49
48
|
withClassPrefix = _useClassNames.withClassPrefix;
|
|
50
|
-
var handleExpand =
|
|
49
|
+
var handleExpand = useEventCallback(function (event) {
|
|
51
50
|
var _event$nativeEvent, _event$nativeEvent$st;
|
|
52
51
|
// stop propagation when using custom loading icon
|
|
53
52
|
event === null || event === void 0 ? void 0 : (_event$nativeEvent = event.nativeEvent) === null || _event$nativeEvent === void 0 ? void 0 : (_event$nativeEvent$st = _event$nativeEvent.stopImmediatePropagation) === null || _event$nativeEvent$st === void 0 ? void 0 : _event$nativeEvent$st.call(_event$nativeEvent);
|
|
54
53
|
onExpand === null || onExpand === void 0 ? void 0 : onExpand(nodeData);
|
|
55
|
-
}
|
|
56
|
-
var handleSelect =
|
|
54
|
+
});
|
|
55
|
+
var handleSelect = useEventCallback(function (event) {
|
|
57
56
|
if (disabled) {
|
|
58
57
|
return;
|
|
59
58
|
}
|
|
@@ -63,33 +62,33 @@ var TreeNode = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
|
63
62
|
}
|
|
64
63
|
}
|
|
65
64
|
onSelect === null || onSelect === void 0 ? void 0 : onSelect(nodeData, event);
|
|
66
|
-
}
|
|
67
|
-
var handleDragStart =
|
|
65
|
+
});
|
|
66
|
+
var handleDragStart = useEventCallback(function (event) {
|
|
68
67
|
onDragStart === null || onDragStart === void 0 ? void 0 : onDragStart(nodeData, event);
|
|
69
|
-
}
|
|
70
|
-
var handleDragEnter =
|
|
68
|
+
});
|
|
69
|
+
var handleDragEnter = useEventCallback(function (event) {
|
|
71
70
|
event.preventDefault();
|
|
72
71
|
event.stopPropagation();
|
|
73
72
|
onDragEnter === null || onDragEnter === void 0 ? void 0 : onDragEnter(nodeData, event);
|
|
74
|
-
}
|
|
75
|
-
var handleDragOver =
|
|
73
|
+
});
|
|
74
|
+
var handleDragOver = useEventCallback(function (event) {
|
|
76
75
|
event.preventDefault();
|
|
77
76
|
event.stopPropagation();
|
|
78
77
|
onDragOver === null || onDragOver === void 0 ? void 0 : onDragOver(nodeData, event);
|
|
79
|
-
}
|
|
80
|
-
var handleDragLeave =
|
|
78
|
+
});
|
|
79
|
+
var handleDragLeave = useEventCallback(function (event) {
|
|
81
80
|
event.stopPropagation();
|
|
82
81
|
onDragLeave === null || onDragLeave === void 0 ? void 0 : onDragLeave(nodeData, event);
|
|
83
|
-
}
|
|
84
|
-
var handleDragEnd =
|
|
82
|
+
});
|
|
83
|
+
var handleDragEnd = useEventCallback(function (event) {
|
|
85
84
|
event.stopPropagation();
|
|
86
85
|
onDragEnd === null || onDragEnd === void 0 ? void 0 : onDragEnd(nodeData, event);
|
|
87
|
-
}
|
|
88
|
-
var handleDrop =
|
|
86
|
+
});
|
|
87
|
+
var handleDrop = useEventCallback(function (event) {
|
|
89
88
|
event.preventDefault();
|
|
90
89
|
event.stopPropagation();
|
|
91
90
|
onDrop === null || onDrop === void 0 ? void 0 : onDrop(nodeData, event);
|
|
92
|
-
}
|
|
91
|
+
});
|
|
93
92
|
var renderIcon = function renderIcon() {
|
|
94
93
|
var classes = prefix('expand-icon', 'icon', {
|
|
95
94
|
expanded: expand
|
|
@@ -104,8 +103,8 @@ var TreeNode = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
|
104
103
|
spin: true
|
|
105
104
|
}));
|
|
106
105
|
}
|
|
107
|
-
if (nodeData !== undefined && typeof
|
|
108
|
-
var customIcon =
|
|
106
|
+
if (nodeData !== undefined && typeof renderTreeIcon === 'function') {
|
|
107
|
+
var customIcon = renderTreeIcon(nodeData);
|
|
109
108
|
expandIcon = customIcon !== null ? /*#__PURE__*/React.createElement("div", {
|
|
110
109
|
className: prefix('custom-icon')
|
|
111
110
|
}, customIcon) : expandIcon;
|
|
@@ -135,7 +134,7 @@ var TreeNode = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
|
135
134
|
onClick: handleSelect
|
|
136
135
|
}, /*#__PURE__*/React.createElement("span", {
|
|
137
136
|
className: contentClasses
|
|
138
|
-
},
|
|
137
|
+
}, renderTreeNode ? renderTreeNode(nodeData) : label));
|
|
139
138
|
};
|
|
140
139
|
var classes = merge(className, withClassPrefix({
|
|
141
140
|
disabled: disabled,
|
|
@@ -165,37 +164,4 @@ var TreeNode = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
|
165
164
|
}), renderIcon(), renderLabel()) : null;
|
|
166
165
|
});
|
|
167
166
|
TreeNode.displayName = 'TreePickerNode';
|
|
168
|
-
TreeNode.propTypes = {
|
|
169
|
-
as: PropTypes.elementType,
|
|
170
|
-
rtl: PropTypes.bool,
|
|
171
|
-
focus: PropTypes.bool,
|
|
172
|
-
layer: PropTypes.number,
|
|
173
|
-
value: PropTypes.any,
|
|
174
|
-
label: PropTypes.any,
|
|
175
|
-
expand: PropTypes.bool,
|
|
176
|
-
active: PropTypes.bool,
|
|
177
|
-
loading: PropTypes.bool,
|
|
178
|
-
visible: PropTypes.bool,
|
|
179
|
-
nodeData: PropTypes.any,
|
|
180
|
-
disabled: PropTypes.bool,
|
|
181
|
-
draggable: PropTypes.bool,
|
|
182
|
-
dragging: PropTypes.bool,
|
|
183
|
-
dragOver: PropTypes.bool,
|
|
184
|
-
dragOverTop: PropTypes.bool,
|
|
185
|
-
dragOverBottom: PropTypes.bool,
|
|
186
|
-
hasChildren: PropTypes.bool,
|
|
187
|
-
className: PropTypes.string,
|
|
188
|
-
classPrefix: PropTypes.string,
|
|
189
|
-
style: PropTypes.object,
|
|
190
|
-
onExpand: PropTypes.func,
|
|
191
|
-
onSelect: PropTypes.func,
|
|
192
|
-
onRenderTreeIcon: PropTypes.func,
|
|
193
|
-
onRenderTreeNode: PropTypes.func,
|
|
194
|
-
onDragStart: PropTypes.func,
|
|
195
|
-
onDragEnter: PropTypes.func,
|
|
196
|
-
onDragOver: PropTypes.func,
|
|
197
|
-
onDragLeave: PropTypes.func,
|
|
198
|
-
onDragEnd: PropTypes.func,
|
|
199
|
-
onDrop: PropTypes.func
|
|
200
|
-
};
|
|
201
167
|
export default TreeNode;
|