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
|
@@ -13,7 +13,7 @@ var _pick = _interopRequireDefault(require("lodash/pick"));
|
|
|
13
13
|
var _omit = _interopRequireDefault(require("lodash/omit"));
|
|
14
14
|
var _isFunction = _interopRequireDefault(require("lodash/isFunction"));
|
|
15
15
|
var _isNil = _interopRequireDefault(require("lodash/isNil"));
|
|
16
|
-
var
|
|
16
|
+
var _TreeView = _interopRequireDefault(require("./TreeView"));
|
|
17
17
|
var _Checkbox = _interopRequireDefault(require("../Checkbox"));
|
|
18
18
|
var _utils = require("./utils");
|
|
19
19
|
var _treeUtils = require("../utils/treeUtils");
|
|
@@ -120,15 +120,12 @@ var MultiCascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
120
120
|
var _useState2 = (0, _react.useState)(),
|
|
121
121
|
selectedPaths = _useState2[0],
|
|
122
122
|
setSelectedPaths = _useState2[1];
|
|
123
|
-
var
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
overlayRef: overlayRef,
|
|
130
|
-
targetRef: targetRef
|
|
131
|
-
});
|
|
123
|
+
var _usePickerRef = (0, _Picker.usePickerRef)(ref),
|
|
124
|
+
trigger = _usePickerRef.trigger,
|
|
125
|
+
root = _usePickerRef.root,
|
|
126
|
+
target = _usePickerRef.target,
|
|
127
|
+
overlay = _usePickerRef.overlay,
|
|
128
|
+
searchInput = _usePickerRef.searchInput;
|
|
132
129
|
var _useCustom = (0, _utils3.useCustom)('Picker', overrideLocale),
|
|
133
130
|
locale = _useCustom.locale,
|
|
134
131
|
rtl = _useCustom.rtl;
|
|
@@ -145,7 +142,7 @@ var MultiCascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
145
142
|
valueKey: valueKey,
|
|
146
143
|
defaultLayer: selectedPaths !== null && selectedPaths !== void 0 && selectedPaths.length ? selectedPaths.length - 1 : 0,
|
|
147
144
|
target: function target() {
|
|
148
|
-
return
|
|
145
|
+
return overlay.current;
|
|
149
146
|
},
|
|
150
147
|
callback: (0, _react.useCallback)(function (value) {
|
|
151
148
|
var _getColumnsAndPaths = (0, _utils2.getColumnsAndPaths)(data, flattenData.find(function (item) {
|
|
@@ -179,16 +176,16 @@ var MultiCascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
179
176
|
var _useState3 = (0, _react.useState)(''),
|
|
180
177
|
searchKeyword = _useState3[0],
|
|
181
178
|
setSearchKeyword = _useState3[1];
|
|
182
|
-
var handleEntered = (0,
|
|
179
|
+
var handleEntered = (0, _utils3.useEventCallback)(function () {
|
|
183
180
|
onOpen === null || onOpen === void 0 ? void 0 : onOpen();
|
|
184
181
|
setActive(true);
|
|
185
|
-
}
|
|
186
|
-
var handleExited = (0,
|
|
182
|
+
});
|
|
183
|
+
var handleExited = (0, _utils3.useEventCallback)(function () {
|
|
187
184
|
setActive(false);
|
|
188
185
|
setSearchKeyword('');
|
|
189
|
-
}
|
|
190
|
-
var handleSelect = (0,
|
|
191
|
-
var _node$childrenKey, _node$childrenKey2,
|
|
186
|
+
});
|
|
187
|
+
var handleSelect = (0, _utils3.useEventCallback)(function (node, cascadePaths, event) {
|
|
188
|
+
var _node$childrenKey, _node$childrenKey2, _trigger$current, _trigger$current$upda;
|
|
192
189
|
setSelectedPaths(cascadePaths);
|
|
193
190
|
onSelect === null || onSelect === void 0 ? void 0 : onSelect(node, cascadePaths, event);
|
|
194
191
|
var columnIndex = cascadePaths.length;
|
|
@@ -201,7 +198,7 @@ var MultiCascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
201
198
|
children.then(function (data) {
|
|
202
199
|
node.loading = false;
|
|
203
200
|
node[childrenKey] = data;
|
|
204
|
-
if (
|
|
201
|
+
if (target.current || inline) {
|
|
205
202
|
addFlattenData(data, node);
|
|
206
203
|
addColumn(data, columnIndex);
|
|
207
204
|
}
|
|
@@ -218,9 +215,9 @@ var MultiCascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
218
215
|
// Removes subsequent columns of the current column when the clicked node is a leaf node.
|
|
219
216
|
removeColumnByIndex(columnIndex);
|
|
220
217
|
}
|
|
221
|
-
(
|
|
222
|
-
}
|
|
223
|
-
var handleCheck = (0,
|
|
218
|
+
(_trigger$current = trigger.current) === null || _trigger$current === void 0 ? void 0 : (_trigger$current$upda = _trigger$current.updatePosition) === null || _trigger$current$upda === void 0 ? void 0 : _trigger$current$upda.call(_trigger$current);
|
|
219
|
+
});
|
|
220
|
+
var handleCheck = (0, _utils3.useEventCallback)(function (node, event, checked) {
|
|
224
221
|
var nodeValue = node[valueKey];
|
|
225
222
|
var nextValue = [];
|
|
226
223
|
if (cascade) {
|
|
@@ -238,38 +235,38 @@ var MultiCascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
238
235
|
setValue(nextValue);
|
|
239
236
|
onChange === null || onChange === void 0 ? void 0 : onChange(nextValue, event);
|
|
240
237
|
onCheck === null || onCheck === void 0 ? void 0 : onCheck(nextValue, node, checked, event);
|
|
241
|
-
}
|
|
242
|
-
var handleClean = (0,
|
|
243
|
-
if (disabled || !
|
|
238
|
+
});
|
|
239
|
+
var handleClean = (0, _utils3.useEventCallback)(function (event) {
|
|
240
|
+
if (disabled || !target.current) {
|
|
244
241
|
return;
|
|
245
242
|
}
|
|
246
243
|
setSelectedPaths([]);
|
|
247
244
|
setValue([]);
|
|
248
245
|
setColumnData([data]);
|
|
249
246
|
onChange === null || onChange === void 0 ? void 0 : onChange([], event);
|
|
250
|
-
}
|
|
251
|
-
var handleMenuPressEnter = (0,
|
|
252
|
-
var
|
|
247
|
+
});
|
|
248
|
+
var handleMenuPressEnter = (0, _utils3.useEventCallback)(function (event) {
|
|
249
|
+
var _overlay$current;
|
|
253
250
|
var focusItem = (0, _treeUtils.findNodeOfTree)(data, function (item) {
|
|
254
251
|
return item[valueKey] === focusItemValue;
|
|
255
252
|
});
|
|
256
|
-
var checkbox = (
|
|
253
|
+
var checkbox = (_overlay$current = overlay.current) === null || _overlay$current === void 0 ? void 0 : _overlay$current.querySelector("[data-key=\"" + focusItemValue + "\"] [type=\"checkbox\"]");
|
|
257
254
|
if (checkbox) {
|
|
258
255
|
handleCheck(focusItem, event, (checkbox === null || checkbox === void 0 ? void 0 : checkbox.getAttribute('aria-checked')) !== 'true');
|
|
259
256
|
}
|
|
260
|
-
}
|
|
257
|
+
});
|
|
261
258
|
var onPickerKeyDown = (0, _Picker.useToggleKeyDownEvent)((0, _extends3.default)({
|
|
262
259
|
toggle: !focusItemValue || !active,
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
260
|
+
trigger: trigger,
|
|
261
|
+
target: target,
|
|
262
|
+
overlay: overlay,
|
|
263
|
+
searchInput: searchInput,
|
|
267
264
|
active: active,
|
|
268
265
|
onExit: handleClean,
|
|
269
266
|
onMenuKeyDown: onFocusItem,
|
|
270
267
|
onMenuPressEnter: handleMenuPressEnter
|
|
271
268
|
}, rest));
|
|
272
|
-
var handleSearch = (0,
|
|
269
|
+
var handleSearch = (0, _utils3.useEventCallback)(function (value, event) {
|
|
273
270
|
setSearchKeyword(value);
|
|
274
271
|
onSearch === null || onSearch === void 0 ? void 0 : onSearch(value, event);
|
|
275
272
|
if (value) {
|
|
@@ -278,8 +275,8 @@ var MultiCascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
278
275
|
setLayer(selectedPaths.length - 1);
|
|
279
276
|
}
|
|
280
277
|
setKeys([]);
|
|
281
|
-
}
|
|
282
|
-
var getSearchResult =
|
|
278
|
+
});
|
|
279
|
+
var getSearchResult = function getSearchResult() {
|
|
283
280
|
var items = [];
|
|
284
281
|
var result = flattenData.filter(function (item) {
|
|
285
282
|
if (uncheckableItemValues.some(function (value) {
|
|
@@ -301,7 +298,7 @@ var MultiCascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
301
298
|
}
|
|
302
299
|
}
|
|
303
300
|
return items;
|
|
304
|
-
}
|
|
301
|
+
};
|
|
305
302
|
var renderSearchRow = function renderSearchRow(item, key) {
|
|
306
303
|
var _extends2;
|
|
307
304
|
var nodes = (0, _treeUtils.getNodeParents)(item);
|
|
@@ -337,9 +334,10 @@ var MultiCascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
337
334
|
'cascader-row-focus': item[valueKey] === focusItemValue
|
|
338
335
|
});
|
|
339
336
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
337
|
+
role: "treeitem",
|
|
338
|
+
"aria-disabled": disabled,
|
|
340
339
|
key: key,
|
|
341
340
|
className: itemClasses,
|
|
342
|
-
"aria-disabled": disabled,
|
|
343
341
|
"data-key": item[valueKey]
|
|
344
342
|
}, /*#__PURE__*/_react.default.createElement(_Checkbox.default, {
|
|
345
343
|
disabled: disabled,
|
|
@@ -368,12 +366,13 @@ var MultiCascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
368
366
|
var items = getSearchResult();
|
|
369
367
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
370
368
|
className: prefix('cascader-search-panel'),
|
|
371
|
-
"data-layer": 0
|
|
369
|
+
"data-layer": 0,
|
|
370
|
+
role: "tree"
|
|
372
371
|
}, items.length ? items.map(renderSearchRow) : /*#__PURE__*/_react.default.createElement("div", {
|
|
373
372
|
className: prefix('none')
|
|
374
373
|
}, locale.noResultsText));
|
|
375
374
|
};
|
|
376
|
-
var
|
|
375
|
+
var renderTreeView = function renderTreeView(positionProps, speakerRef) {
|
|
377
376
|
var _ref = positionProps || {},
|
|
378
377
|
left = _ref.left,
|
|
379
378
|
top = _ref.top,
|
|
@@ -385,19 +384,18 @@ var MultiCascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
385
384
|
var classes = merge(className, menuClassName, prefix('cascader-menu', 'multi-cascader-menu', {
|
|
386
385
|
inline: inline
|
|
387
386
|
}));
|
|
388
|
-
return /*#__PURE__*/_react.default.createElement(_Picker.
|
|
389
|
-
ref: (0, _utils3.mergeRefs)(
|
|
387
|
+
return /*#__PURE__*/_react.default.createElement(_Picker.PickerPopup, {
|
|
388
|
+
ref: (0, _utils3.mergeRefs)(overlay, speakerRef),
|
|
390
389
|
className: classes,
|
|
391
390
|
style: styles,
|
|
392
|
-
target:
|
|
391
|
+
target: trigger,
|
|
393
392
|
onKeyDown: onPickerKeyDown
|
|
394
393
|
}, searchable && /*#__PURE__*/_react.default.createElement(_Picker.SearchBar, {
|
|
395
394
|
placeholder: locale === null || locale === void 0 ? void 0 : locale.searchPlaceholder,
|
|
396
395
|
onChange: handleSearch,
|
|
397
396
|
value: searchKeyword,
|
|
398
|
-
inputRef:
|
|
399
|
-
}), renderSearchResultPanel(), searchKeyword === '' && /*#__PURE__*/_react.default.createElement(
|
|
400
|
-
id: id ? id + "-listbox" : undefined,
|
|
397
|
+
inputRef: searchInput
|
|
398
|
+
}), renderSearchResultPanel(), searchKeyword === '' && /*#__PURE__*/_react.default.createElement(_TreeView.default, {
|
|
401
399
|
cascade: cascade,
|
|
402
400
|
menuWidth: menuWidth,
|
|
403
401
|
menuHeight: menuHeight,
|
|
@@ -447,25 +445,28 @@ var MultiCascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
447
445
|
classes = _usePickerClassName[0],
|
|
448
446
|
usedClassNamePropKeys = _usePickerClassName[1];
|
|
449
447
|
if (inline) {
|
|
450
|
-
return
|
|
448
|
+
return renderTreeView();
|
|
451
449
|
}
|
|
452
450
|
return /*#__PURE__*/_react.default.createElement(_Picker.PickerToggleTrigger, {
|
|
451
|
+
id: id,
|
|
452
|
+
popupType: "tree",
|
|
453
|
+
multiple: true,
|
|
453
454
|
pickerProps: (0, _pick.default)(props, _Picker.pickTriggerPropKeys),
|
|
454
|
-
ref:
|
|
455
|
+
ref: trigger,
|
|
455
456
|
placement: placement,
|
|
456
457
|
onEnter: (0, _utils3.createChainedFunction)(handleEntered, onEnter),
|
|
457
458
|
onExited: (0, _utils3.createChainedFunction)(handleExited, onExited),
|
|
458
459
|
onExit: (0, _utils3.createChainedFunction)(onClose, onExit),
|
|
459
|
-
speaker:
|
|
460
|
+
speaker: renderTreeView
|
|
460
461
|
}, /*#__PURE__*/_react.default.createElement(Component, {
|
|
461
462
|
className: classes,
|
|
462
|
-
style: style
|
|
463
|
+
style: style,
|
|
464
|
+
ref: root
|
|
463
465
|
}, /*#__PURE__*/_react.default.createElement(_Picker.PickerToggle, (0, _extends3.default)({}, (0, _omit.default)(rest, [].concat(_Picker.omitTriggerPropKeys, usedClassNamePropKeys)), {
|
|
464
|
-
id: id,
|
|
465
466
|
as: toggleAs,
|
|
466
467
|
appearance: appearance,
|
|
467
468
|
disabled: disabled,
|
|
468
|
-
ref:
|
|
469
|
+
ref: target,
|
|
469
470
|
onClean: (0, _utils3.createChainedFunction)(handleClean, onClean),
|
|
470
471
|
onKeyDown: onPickerKeyDown,
|
|
471
472
|
cleanable: cleanable && !disabled,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { ItemDataType, WithAsProps, RsRefForwardingComponent } from '../@types/common';
|
|
3
3
|
import { ValueType } from './MultiCascader';
|
|
4
|
-
export interface
|
|
4
|
+
export interface TreeViewProps extends WithAsProps {
|
|
5
5
|
disabledItemValues: ValueType;
|
|
6
6
|
value: ValueType;
|
|
7
7
|
childrenKey: string;
|
|
@@ -21,5 +21,5 @@ export interface DropdownMenuProps extends WithAsProps {
|
|
|
21
21
|
/**
|
|
22
22
|
* TODO: reuse Menu from Cascader for consistent behavior
|
|
23
23
|
*/
|
|
24
|
-
declare const
|
|
25
|
-
export default
|
|
24
|
+
declare const TreeView: RsRefForwardingComponent<'div', TreeViewProps>;
|
|
25
|
+
export default TreeView;
|
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
"use strict";
|
|
3
3
|
|
|
4
|
-
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
|
|
5
4
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
6
5
|
exports.__esModule = true;
|
|
7
6
|
exports.default = void 0;
|
|
8
7
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
8
|
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
|
|
10
|
-
var _react =
|
|
11
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
9
|
+
var _react = _interopRequireDefault(require("react"));
|
|
12
10
|
var _Spinner = _interopRequireDefault(require("@rsuite/icons/legacy/Spinner"));
|
|
13
11
|
var _AngleLeft = _interopRequireDefault(require("@rsuite/icons/legacy/AngleLeft"));
|
|
14
12
|
var _AngleRight = _interopRequireDefault(require("@rsuite/icons/legacy/AngleRight"));
|
|
@@ -20,7 +18,7 @@ var emptyArray = [];
|
|
|
20
18
|
/**
|
|
21
19
|
* TODO: reuse Menu from Cascader for consistent behavior
|
|
22
20
|
*/
|
|
23
|
-
var
|
|
21
|
+
var TreeView = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
24
22
|
var _props$as = props.as,
|
|
25
23
|
Component = _props$as === void 0 ? 'div' : _props$as,
|
|
26
24
|
_props$classPrefix = props.classPrefix,
|
|
@@ -46,18 +44,24 @@ var DropdownMenu = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
46
44
|
valueKey = _props$valueKey === void 0 ? 'value' : _props$valueKey,
|
|
47
45
|
_props$labelKey = props.labelKey,
|
|
48
46
|
labelKey = _props$labelKey === void 0 ? 'label' : _props$labelKey,
|
|
47
|
+
style = props.style,
|
|
49
48
|
renderMenuItem = props.renderMenuItem,
|
|
50
49
|
renderMenu = props.renderMenu,
|
|
51
50
|
_onCheck = props.onCheck,
|
|
52
51
|
onSelect = props.onSelect,
|
|
53
|
-
rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "classPrefix", "className", "cascade", "cascadeData", "cascadePaths", "childrenKey", "disabledItemValues", "menuWidth", "menuHeight", "uncheckableItemValues", "value", "valueKey", "labelKey", "renderMenuItem", "renderMenu", "onCheck", "onSelect"]);
|
|
52
|
+
rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "classPrefix", "className", "cascade", "cascadeData", "cascadePaths", "childrenKey", "disabledItemValues", "menuWidth", "menuHeight", "uncheckableItemValues", "value", "valueKey", "labelKey", "style", "renderMenuItem", "renderMenu", "onCheck", "onSelect"]);
|
|
54
53
|
var _useClassNames = (0, _utils.useClassNames)(classPrefix),
|
|
55
54
|
merge = _useClassNames.merge,
|
|
56
55
|
prefix = _useClassNames.prefix;
|
|
57
56
|
var classes = merge(className, prefix('items'));
|
|
58
|
-
var _useCustom = (0, _utils.useCustom)(
|
|
57
|
+
var _useCustom = (0, _utils.useCustom)(),
|
|
59
58
|
rtl = _useCustom.rtl;
|
|
60
|
-
var
|
|
59
|
+
var _useCombobox = (0, _Picker.useCombobox)(),
|
|
60
|
+
id = _useCombobox.id,
|
|
61
|
+
labelId = _useCombobox.labelId,
|
|
62
|
+
popupType = _useCombobox.popupType,
|
|
63
|
+
multiple = _useCombobox.multiple;
|
|
64
|
+
var getCascadePaths = function getCascadePaths(layer, node) {
|
|
61
65
|
var paths = [];
|
|
62
66
|
for (var i = 0; i < cascadeData.length && i < layer; i += 1) {
|
|
63
67
|
if (i < layer - 1 && cascadePaths) {
|
|
@@ -66,15 +70,21 @@ var DropdownMenu = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
66
70
|
}
|
|
67
71
|
paths.push(node);
|
|
68
72
|
return paths;
|
|
69
|
-
}
|
|
70
|
-
var handleSelect = (0,
|
|
73
|
+
};
|
|
74
|
+
var handleSelect = (0, _utils.useEventCallback)(function (layer, node, event) {
|
|
71
75
|
var cascadePaths = getCascadePaths(layer + 1, node);
|
|
72
76
|
onSelect === null || onSelect === void 0 ? void 0 : onSelect(node, cascadePaths, event);
|
|
73
|
-
}
|
|
74
|
-
var renderCascadeNode = function renderCascadeNode(
|
|
77
|
+
});
|
|
78
|
+
var renderCascadeNode = function renderCascadeNode(nodeProps) {
|
|
79
|
+
var node = nodeProps.node,
|
|
80
|
+
index = nodeProps.index,
|
|
81
|
+
layer = nodeProps.layer,
|
|
82
|
+
focus = nodeProps.focus,
|
|
83
|
+
uncheckable = nodeProps.uncheckable,
|
|
84
|
+
size = nodeProps.size;
|
|
75
85
|
var children = node[childrenKey];
|
|
76
86
|
var nodeValue = node[valueKey];
|
|
77
|
-
var
|
|
87
|
+
var label = node[labelKey];
|
|
78
88
|
var disabled = disabledItemValues.some(function (disabledValue) {
|
|
79
89
|
return (0, _utils.shallowEqual)(disabledValue, nodeValue);
|
|
80
90
|
});
|
|
@@ -90,8 +100,13 @@ var DropdownMenu = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
90
100
|
valueKey: valueKey
|
|
91
101
|
});
|
|
92
102
|
}
|
|
93
|
-
return /*#__PURE__*/_react.default.createElement(_Picker.
|
|
103
|
+
return /*#__PURE__*/_react.default.createElement(_Picker.ListCheckItem, {
|
|
94
104
|
as: "li",
|
|
105
|
+
role: "treeitem",
|
|
106
|
+
"aria-level": layer + 1,
|
|
107
|
+
"aria-setsize": size,
|
|
108
|
+
"aria-posinset": index + 1,
|
|
109
|
+
"aria-label": typeof label === 'string' ? label : undefined,
|
|
95
110
|
key: layer + "-" + onlyKey,
|
|
96
111
|
disabled: disabled,
|
|
97
112
|
active: active,
|
|
@@ -111,73 +126,61 @@ var DropdownMenu = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
111
126
|
return _onCheck === null || _onCheck === void 0 ? void 0 : _onCheck(node, event, checked);
|
|
112
127
|
},
|
|
113
128
|
checkable: !uncheckable
|
|
114
|
-
}, renderMenuItem ? renderMenuItem(
|
|
129
|
+
}, renderMenuItem ? renderMenuItem(label, node) : label, children ? /*#__PURE__*/_react.default.createElement(Icon, {
|
|
115
130
|
className: prefix('caret'),
|
|
116
131
|
spin: node.loading
|
|
117
132
|
}) : null);
|
|
118
133
|
};
|
|
119
|
-
var
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
var onlyKey = layer + "_" + children.length;
|
|
130
|
-
var menu = /*#__PURE__*/_react.default.createElement("ul", {
|
|
131
|
-
role: "listbox"
|
|
132
|
-
}, children.map(function (item, index) {
|
|
133
|
-
var uncheckable = uncheckableItemValues.some(function (uncheckableValue) {
|
|
134
|
-
return (0, _utils.shallowEqual)(uncheckableValue, item[valueKey]);
|
|
135
|
-
});
|
|
136
|
-
if (uncheckable) {
|
|
137
|
-
uncheckableCount++;
|
|
138
|
-
}
|
|
139
|
-
return renderCascadeNode(item, index, layer, cascadePaths[layer] && (0, _utils.shallowEqual)(cascadePaths[layer][valueKey], item[valueKey]), uncheckable);
|
|
140
|
-
}));
|
|
141
|
-
var parentNode = cascadePaths[layer - 1];
|
|
142
|
-
var columnClasses = prefix('column', {
|
|
143
|
-
'column-uncheckable': uncheckableCount === children.length
|
|
134
|
+
var columnStyles = {
|
|
135
|
+
height: menuHeight,
|
|
136
|
+
width: menuWidth
|
|
137
|
+
};
|
|
138
|
+
var cascadeNodes = cascadeData.map(function (children, layer) {
|
|
139
|
+
var uncheckableCount = 0;
|
|
140
|
+
var onlyKey = layer + "_" + children.length;
|
|
141
|
+
var menu = /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, children.map(function (item, index) {
|
|
142
|
+
var uncheckable = uncheckableItemValues.some(function (uncheckableValue) {
|
|
143
|
+
return (0, _utils.shallowEqual)(uncheckableValue, item[valueKey]);
|
|
144
144
|
});
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
145
|
+
if (uncheckable) {
|
|
146
|
+
uncheckableCount++;
|
|
147
|
+
}
|
|
148
|
+
var focus = cascadePaths[layer] && (0, _utils.shallowEqual)(cascadePaths[layer][valueKey], item[valueKey]);
|
|
149
|
+
return renderCascadeNode({
|
|
150
|
+
node: item,
|
|
151
|
+
index: index,
|
|
152
|
+
layer: layer,
|
|
153
|
+
focus: focus,
|
|
154
|
+
uncheckable: uncheckable,
|
|
155
|
+
size: children.length
|
|
156
|
+
});
|
|
157
|
+
}));
|
|
158
|
+
var parentNode = cascadePaths[layer - 1];
|
|
159
|
+
var columnClasses = prefix('column', {
|
|
160
|
+
'column-uncheckable': uncheckableCount === children.length
|
|
151
161
|
});
|
|
152
|
-
return /*#__PURE__*/_react.default.createElement("
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
162
|
+
return /*#__PURE__*/_react.default.createElement("ul", {
|
|
163
|
+
role: "group",
|
|
164
|
+
key: onlyKey,
|
|
165
|
+
className: columnClasses,
|
|
166
|
+
"data-layer": layer,
|
|
167
|
+
style: columnStyles
|
|
168
|
+
}, renderMenu ? renderMenu(children, menu, parentNode, layer) : menu);
|
|
169
|
+
});
|
|
170
|
+
var styles = (0, _extends2.default)({}, style, {
|
|
171
|
+
width: cascadeData.length * menuWidth
|
|
172
|
+
});
|
|
173
|
+
return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({
|
|
174
|
+
role: "tree",
|
|
175
|
+
id: id + "-" + popupType,
|
|
176
|
+
"aria-labelledby": labelId,
|
|
177
|
+
"aria-multiselectable": multiple
|
|
178
|
+
}, rest, {
|
|
157
179
|
ref: ref,
|
|
158
|
-
className: classes
|
|
159
|
-
|
|
180
|
+
className: classes,
|
|
181
|
+
style: styles
|
|
182
|
+
}), cascadeNodes);
|
|
160
183
|
});
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
classPrefix: _propTypes.default.string,
|
|
164
|
-
data: _propTypes.default.array,
|
|
165
|
-
disabledItemValues: _propTypes.default.array,
|
|
166
|
-
value: _propTypes.default.array,
|
|
167
|
-
childrenKey: _propTypes.default.string,
|
|
168
|
-
valueKey: _propTypes.default.string,
|
|
169
|
-
labelKey: _propTypes.default.string,
|
|
170
|
-
menuWidth: _propTypes.default.number,
|
|
171
|
-
menuHeight: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
|
|
172
|
-
className: _propTypes.default.string,
|
|
173
|
-
cascade: _propTypes.default.bool,
|
|
174
|
-
cascadeData: _propTypes.default.array,
|
|
175
|
-
cascadePaths: _propTypes.default.array,
|
|
176
|
-
uncheckableItemValues: _propTypes.default.array,
|
|
177
|
-
renderMenuItem: _propTypes.default.func,
|
|
178
|
-
renderMenu: _propTypes.default.func,
|
|
179
|
-
onSelect: _propTypes.default.func,
|
|
180
|
-
onCheck: _propTypes.default.func
|
|
181
|
-
};
|
|
182
|
-
var _default = DropdownMenu;
|
|
184
|
+
TreeView.displayName = 'TreeView';
|
|
185
|
+
var _default = TreeView;
|
|
183
186
|
exports.default = _default;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { CheckboxProps } from '../Checkbox';
|
|
3
3
|
import { WithAsProps, RsRefForwardingComponent } from '../@types/common';
|
|
4
|
-
export interface
|
|
4
|
+
export interface ListCheckItemProps extends WithAsProps {
|
|
5
5
|
active?: boolean;
|
|
6
6
|
checkboxAs?: React.ElementType | string;
|
|
7
7
|
classPrefix?: string;
|
|
@@ -19,5 +19,5 @@ export interface DropdownMenuCheckItemProps extends WithAsProps {
|
|
|
19
19
|
onKeyDown?: (event: React.KeyboardEvent) => void;
|
|
20
20
|
renderMenuItemCheckbox?: (checkboxProps: CheckboxProps) => React.ReactNode;
|
|
21
21
|
}
|
|
22
|
-
declare const
|
|
23
|
-
export default
|
|
22
|
+
declare const ListCheckItem: RsRefForwardingComponent<'div', ListCheckItemProps>;
|
|
23
|
+
export default ListCheckItem;
|
|
@@ -1,17 +1,16 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
"use strict";
|
|
3
3
|
|
|
4
|
-
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
|
|
5
4
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
6
5
|
exports.__esModule = true;
|
|
7
6
|
exports.default = void 0;
|
|
8
7
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
8
|
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
|
|
10
|
-
var _react =
|
|
11
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
9
|
+
var _react = _interopRequireDefault(require("react"));
|
|
12
10
|
var _utils = require("../utils");
|
|
13
11
|
var _Checkbox = _interopRequireDefault(require("../Checkbox"));
|
|
14
|
-
var
|
|
12
|
+
var _useCombobox2 = _interopRequireDefault(require("./hooks/useCombobox"));
|
|
13
|
+
var ListCheckItem = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
15
14
|
var _props$active = props.active,
|
|
16
15
|
active = _props$active === void 0 ? false : _props$active,
|
|
17
16
|
_props$as = props.as,
|
|
@@ -34,19 +33,21 @@ var DropdownMenuCheckItem = /*#__PURE__*/_react.default.forwardRef(function (pro
|
|
|
34
33
|
onSelectItem = props.onSelectItem,
|
|
35
34
|
renderMenuItemCheckbox = props.renderMenuItemCheckbox,
|
|
36
35
|
rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["active", "as", "checkboxAs", "classPrefix", "checkable", "disabled", "value", "focus", "children", "className", "indeterminate", "onKeyDown", "onSelect", "onCheck", "onSelectItem", "renderMenuItemCheckbox"]);
|
|
37
|
-
var handleChange = (0,
|
|
36
|
+
var handleChange = (0, _utils.useEventCallback)(function (value, checked, event) {
|
|
38
37
|
onSelect === null || onSelect === void 0 ? void 0 : onSelect(value, event, checked);
|
|
39
|
-
}
|
|
40
|
-
var handleCheck = (0,
|
|
38
|
+
});
|
|
39
|
+
var handleCheck = (0, _utils.useEventCallback)(function (event) {
|
|
41
40
|
if (!disabled) {
|
|
42
41
|
onCheck === null || onCheck === void 0 ? void 0 : onCheck(value, event, !active);
|
|
43
42
|
}
|
|
44
|
-
}
|
|
45
|
-
var handleSelectItem = (0,
|
|
43
|
+
});
|
|
44
|
+
var handleSelectItem = (0, _utils.useEventCallback)(function (event) {
|
|
46
45
|
if (!disabled) {
|
|
47
46
|
onSelectItem === null || onSelectItem === void 0 ? void 0 : onSelectItem(value, event, !active);
|
|
48
47
|
}
|
|
49
|
-
}
|
|
48
|
+
});
|
|
49
|
+
var _useCombobox = (0, _useCombobox2.default)(),
|
|
50
|
+
id = _useCombobox.id;
|
|
50
51
|
var _useClassNames = (0, _utils.useClassNames)(classPrefix),
|
|
51
52
|
withClassPrefix = _useClassNames.withClassPrefix;
|
|
52
53
|
var checkboxItemClasses = withClassPrefix({
|
|
@@ -69,6 +70,7 @@ var DropdownMenuCheckItem = /*#__PURE__*/_react.default.forwardRef(function (pro
|
|
|
69
70
|
role: "option",
|
|
70
71
|
"aria-selected": active,
|
|
71
72
|
"aria-disabled": disabled,
|
|
73
|
+
id: id ? id + "-opt-" + value : undefined,
|
|
72
74
|
"data-key": value
|
|
73
75
|
}, rest, {
|
|
74
76
|
ref: ref,
|
|
@@ -78,24 +80,6 @@ var DropdownMenuCheckItem = /*#__PURE__*/_react.default.forwardRef(function (pro
|
|
|
78
80
|
role: "checkbox"
|
|
79
81
|
}, checkboxProps)));
|
|
80
82
|
});
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
classPrefix: _propTypes.default.string,
|
|
84
|
-
active: _propTypes.default.bool,
|
|
85
|
-
disabled: _propTypes.default.bool,
|
|
86
|
-
checkable: _propTypes.default.bool,
|
|
87
|
-
indeterminate: _propTypes.default.bool,
|
|
88
|
-
value: _propTypes.default.any,
|
|
89
|
-
onSelect: _propTypes.default.func,
|
|
90
|
-
onCheck: _propTypes.default.func,
|
|
91
|
-
onSelectItem: _propTypes.default.func,
|
|
92
|
-
onKeyDown: _propTypes.default.func,
|
|
93
|
-
focus: _propTypes.default.bool,
|
|
94
|
-
title: _propTypes.default.string,
|
|
95
|
-
className: _propTypes.default.string,
|
|
96
|
-
children: _propTypes.default.node,
|
|
97
|
-
as: _propTypes.default.elementType,
|
|
98
|
-
checkboxAs: _propTypes.default.elementType
|
|
99
|
-
};
|
|
100
|
-
var _default = DropdownMenuCheckItem;
|
|
83
|
+
ListCheckItem.displayName = 'ListCheckItem';
|
|
84
|
+
var _default = ListCheckItem;
|
|
101
85
|
exports.default = _default;
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { WithAsProps, RsRefForwardingComponent } from '../@types/common';
|
|
3
|
-
export interface
|
|
3
|
+
export interface ListItemProps extends WithAsProps, Omit<React.HTMLAttributes<HTMLElement>, 'onSelect'> {
|
|
4
4
|
active?: boolean;
|
|
5
5
|
disabled?: boolean;
|
|
6
|
-
value?:
|
|
6
|
+
value?: string | number;
|
|
7
7
|
focus?: boolean;
|
|
8
8
|
title?: string;
|
|
9
9
|
onSelect?: (value: any, event: React.MouseEvent) => void;
|
|
10
10
|
onKeyDown?: (event: React.KeyboardEvent) => void;
|
|
11
11
|
renderItem?: (value: any) => React.ReactNode;
|
|
12
12
|
}
|
|
13
|
-
declare const
|
|
14
|
-
export default
|
|
13
|
+
declare const ListItem: RsRefForwardingComponent<'div', ListItemProps>;
|
|
14
|
+
export default ListItem;
|