rsuite 5.50.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 +11 -0
- package/CheckTreePicker/styles/index.less +3 -3
- package/DatePicker/styles/index.less +1 -1
- 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 +2 -2
- package/Picker/styles/mixin.less +3 -3
- package/TagInput/styles/index.less +1 -1
- 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 +14 -11
- package/cjs/AutoComplete/Combobox.d.ts +8 -0
- package/cjs/AutoComplete/Combobox.js +31 -0
- package/cjs/Calendar/CalendarContainer.js +35 -37
- package/cjs/Cascader/Cascader.js +12 -11
- 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.js +9 -8
- package/cjs/CheckTreePicker/CheckTreeNode.d.ts +2 -2
- package/cjs/CheckTreePicker/CheckTreeNode.js +31 -59
- package/cjs/CheckTreePicker/CheckTreePicker.js +20 -20
- package/cjs/DatePicker/DatePicker.js +5 -6
- package/cjs/DateRangePicker/DateRangePicker.js +3 -4
- 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.js +40 -18
- package/cjs/FormGroup/FormGroup.js +2 -1
- package/cjs/InputPicker/InputPicker.js +46 -29
- 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 +13 -10
- 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/{esm/Picker/DropdownMenuItem.d.ts → cjs/Picker/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/Picker/{PickerOverlay.d.ts → PickerPopup.d.ts} +3 -3
- package/cjs/Picker/{PickerOverlay.js → PickerPopup.js} +9 -7
- package/cjs/Picker/PickerToggle.d.ts +1 -1
- package/cjs/Picker/PickerToggle.js +16 -9
- 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} +2 -2
- package/cjs/Picker/{usePickerRef.js → hooks/usePickerRef.js} +1 -1
- 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 +7 -6
- package/cjs/Picker/index.js +26 -19
- package/cjs/Picker/propTypes.d.ts +0 -6
- package/cjs/Picker/propTypes.js +0 -5
- package/cjs/Picker/utils.d.ts +2 -96
- package/cjs/Picker/utils.js +1 -406
- package/cjs/SelectPicker/SelectPicker.js +8 -8
- 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 +19 -20
- package/dist/rsuite-no-reset-rtl.css +109 -117
- 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 +109 -117
- package/dist/rsuite-no-reset.min.css +1 -1
- package/dist/rsuite-no-reset.min.css.map +1 -1
- package/dist/rsuite-rtl.css +109 -117
- package/dist/rsuite-rtl.min.css +1 -1
- package/dist/rsuite-rtl.min.css.map +1 -1
- package/dist/rsuite.css +109 -117
- package/dist/rsuite.js +184 -74
- 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 +15 -12
- package/esm/AutoComplete/Combobox.d.ts +8 -0
- package/esm/AutoComplete/Combobox.js +25 -0
- package/esm/Calendar/CalendarContainer.js +37 -39
- package/esm/Cascader/Cascader.js +13 -12
- 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.js +10 -9
- package/esm/CheckTreePicker/CheckTreeNode.d.ts +2 -2
- package/esm/CheckTreePicker/CheckTreeNode.js +33 -61
- package/esm/CheckTreePicker/CheckTreePicker.js +21 -21
- package/esm/DatePicker/DatePicker.js +5 -6
- package/esm/DateRangePicker/DateRangePicker.js +3 -4
- 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.js +39 -17
- package/esm/FormGroup/FormGroup.js +3 -2
- package/esm/InputPicker/InputPicker.js +47 -30
- 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 +14 -11
- 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/{cjs/Picker/DropdownMenuItem.d.ts → esm/Picker/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/Picker/{PickerOverlay.d.ts → PickerPopup.d.ts} +3 -3
- package/esm/Picker/{PickerOverlay.js → PickerPopup.js} +10 -8
- package/esm/Picker/PickerToggle.d.ts +1 -1
- package/esm/Picker/PickerToggle.js +16 -9
- 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} +2 -2
- package/esm/Picker/{usePickerRef.js → hooks/usePickerRef.js} +1 -1
- 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 +7 -6
- package/esm/Picker/index.js +7 -6
- package/esm/Picker/propTypes.d.ts +0 -6
- package/esm/Picker/propTypes.js +0 -5
- package/esm/Picker/utils.d.ts +2 -96
- package/esm/Picker/utils.js +2 -401
- package/esm/SelectPicker/SelectPicker.js +9 -9
- 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 +20 -21
- package/package.json +1 -1
- 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
|
@@ -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;
|
|
@@ -13,7 +13,7 @@ import TreeNode from './TreeNode';
|
|
|
13
13
|
import { createDragPreview, getKeyParentMap, getPathTowardsItem, getTreeNodeIndent, removeDragPreview, stringifyTreeNodeLabel } from '../utils/treeUtils';
|
|
14
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,
|
|
16
|
+
import { PickerToggle, PickerPopup, TreeView, 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() {
|
|
@@ -279,8 +279,8 @@ var TreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
279
279
|
onDragEnd: handleDragEnd,
|
|
280
280
|
onDrop: handleDrop,
|
|
281
281
|
onExpand: handleExpand,
|
|
282
|
-
|
|
283
|
-
|
|
282
|
+
renderTreeNode: renderTreeNode,
|
|
283
|
+
renderTreeIcon: renderTreeIcon
|
|
284
284
|
};
|
|
285
285
|
};
|
|
286
286
|
|
|
@@ -467,8 +467,8 @@ var TreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
467
467
|
var handleClean = useEventCallback(function (event) {
|
|
468
468
|
var nullValue = null;
|
|
469
469
|
var target = event.target;
|
|
470
|
-
// exclude
|
|
471
|
-
if (target.matches('
|
|
470
|
+
// exclude searchbox
|
|
471
|
+
if (target.matches('input[role="searchbox"]') || disabled || !cleanable) {
|
|
472
472
|
return;
|
|
473
473
|
}
|
|
474
474
|
if (!isControlled) {
|
|
@@ -542,7 +542,8 @@ var TreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
542
542
|
return saveTreeNodeRef(_ref, node.refKey);
|
|
543
543
|
}
|
|
544
544
|
})), /*#__PURE__*/React.createElement("div", {
|
|
545
|
-
className: treePrefix('
|
|
545
|
+
className: treePrefix('group'),
|
|
546
|
+
role: "group"
|
|
546
547
|
}, nodes.map(function (child, i) {
|
|
547
548
|
return renderNode(child, i, layer);
|
|
548
549
|
}), showIndentLine && /*#__PURE__*/React.createElement("span", {
|
|
@@ -584,18 +585,14 @@ var TreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
584
585
|
var _withTreeClassPrefix;
|
|
585
586
|
var classes = withTreeClassPrefix((_withTreeClassPrefix = {}, _withTreeClassPrefix[className !== null && className !== void 0 ? className : ''] = inline, _withTreeClassPrefix.virtualized = virtualized, _withTreeClassPrefix));
|
|
586
587
|
var formattedNodes = getFormattedNodes(renderNode);
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
}, style) : {};
|
|
590
|
-
return /*#__PURE__*/React.createElement("div", {
|
|
591
|
-
role: "tree",
|
|
592
|
-
id: id ? id + "-listbox" : undefined,
|
|
588
|
+
return /*#__PURE__*/React.createElement(TreeView, {
|
|
589
|
+
treeRootClassName: treePrefix('root'),
|
|
593
590
|
ref: inline ? root : treeView,
|
|
594
591
|
className: classes,
|
|
595
|
-
style:
|
|
592
|
+
style: inline ? _extends({
|
|
593
|
+
height: height
|
|
594
|
+
}, style) : {},
|
|
596
595
|
onKeyDown: inline ? handleTreeKeyDown : undefined
|
|
597
|
-
}, /*#__PURE__*/React.createElement("div", {
|
|
598
|
-
className: treePrefix('nodes')
|
|
599
596
|
}, virtualized ? /*#__PURE__*/React.createElement(AutoSizer, {
|
|
600
597
|
defaultHeight: inline ? height : menuMaxHeight,
|
|
601
598
|
style: {
|
|
@@ -611,9 +608,9 @@ var TreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
611
608
|
itemCount: formattedNodes.length,
|
|
612
609
|
itemData: formattedNodes
|
|
613
610
|
}, listProps), renderVirtualListNode);
|
|
614
|
-
}) : formattedNodes)
|
|
611
|
+
}) : formattedNodes);
|
|
615
612
|
};
|
|
616
|
-
var
|
|
613
|
+
var renderTreeView = function renderTreeView(positionProps, speakerRef) {
|
|
617
614
|
var left = positionProps.left,
|
|
618
615
|
top = positionProps.top,
|
|
619
616
|
className = positionProps.className;
|
|
@@ -622,7 +619,7 @@ var TreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
622
619
|
left: left,
|
|
623
620
|
top: top
|
|
624
621
|
});
|
|
625
|
-
return /*#__PURE__*/React.createElement(
|
|
622
|
+
return /*#__PURE__*/React.createElement(PickerPopup, {
|
|
626
623
|
autoWidth: menuAutoWidth,
|
|
627
624
|
className: classes,
|
|
628
625
|
style: mergedMenuStyle,
|
|
@@ -666,6 +663,8 @@ var TreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
666
663
|
return renderTree();
|
|
667
664
|
}
|
|
668
665
|
return /*#__PURE__*/React.createElement(PickerToggleTrigger, {
|
|
666
|
+
id: id,
|
|
667
|
+
popupType: "tree",
|
|
669
668
|
pickerProps: _pick(props, pickTriggerPropKeys),
|
|
670
669
|
ref: trigger,
|
|
671
670
|
placement: placement,
|
|
@@ -673,13 +672,12 @@ var TreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
673
672
|
onEntered: onEntered,
|
|
674
673
|
onExit: createChainedFunction(onClose, onExit),
|
|
675
674
|
onExited: createChainedFunction(handleClose, onExited),
|
|
676
|
-
speaker:
|
|
675
|
+
speaker: renderTreeView
|
|
677
676
|
}, /*#__PURE__*/React.createElement(Component, {
|
|
678
677
|
className: classes,
|
|
679
678
|
style: style,
|
|
680
679
|
ref: root
|
|
681
680
|
}, /*#__PURE__*/React.createElement(PickerToggle, _extends({}, _omit(rest, [].concat(omitTriggerPropKeys, usedClassNamePropKeys, ['cascade'])), {
|
|
682
|
-
id: id,
|
|
683
681
|
ref: target,
|
|
684
682
|
appearance: appearance,
|
|
685
683
|
onKeyDown: onPickerKeydown,
|
|
@@ -690,7 +688,8 @@ var TreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
690
688
|
hasValue: hasValidValue,
|
|
691
689
|
active: active,
|
|
692
690
|
placement: placement,
|
|
693
|
-
inputValue: value
|
|
691
|
+
inputValue: value,
|
|
692
|
+
focusItemValue: focusItemValue
|
|
694
693
|
}), selectedElement || locale.placeholder)));
|
|
695
694
|
});
|
|
696
695
|
TreePicker.displayName = 'TreePicker';
|
package/package.json
CHANGED
package/styles/variables.less
CHANGED
|
@@ -849,12 +849,10 @@
|
|
|
849
849
|
@zindex-date-range-picker-calendar-dropdown: 1;
|
|
850
850
|
@zindex-date-range-picker-table-cell-content: 1;
|
|
851
851
|
@zindex-badge-content: 1;
|
|
852
|
-
@zindex-input: 2;
|
|
853
|
-
@zindex-input-group-icon: 4;
|
|
854
852
|
@zindex-dropdown: 5;
|
|
855
853
|
@zindex-picker-toggle: 5; // The same with zindex-dropdown
|
|
856
854
|
@zindex-picker-input: (@zindex-picker-toggle + 1); // Greater than picker toggle
|
|
857
|
-
@zindex-picker-
|
|
855
|
+
@zindex-picker-popup: (@zindex-picker-toggle + 2); // Greater than picker toggle and input
|
|
858
856
|
@zindex-dropdown-a: 10;
|
|
859
857
|
@zindex-list-helper: 99;
|
|
860
858
|
@zindex-navbar: 1000;
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import PropTypes from 'prop-types';
|
|
3
|
-
import { ListProps, ListHandle } from '../Windowing';
|
|
4
|
-
import { StandardProps, ItemDataType } from '../@types/common';
|
|
5
|
-
export interface DropdownMenuProps<Multiple = false> extends StandardProps, Omit<React.HTMLAttributes<HTMLDivElement>, 'onSelect'> {
|
|
6
|
-
classPrefix: string;
|
|
7
|
-
data?: ItemDataType[];
|
|
8
|
-
group?: boolean;
|
|
9
|
-
groupBy?: string;
|
|
10
|
-
disabledItemValues?: any[];
|
|
11
|
-
activeItemValues?: any[];
|
|
12
|
-
focusItemValue?: any;
|
|
13
|
-
maxHeight?: number;
|
|
14
|
-
valueKey?: string;
|
|
15
|
-
labelKey?: string;
|
|
16
|
-
className?: string;
|
|
17
|
-
style?: React.CSSProperties;
|
|
18
|
-
dropdownMenuItemAs: React.ElementType | string;
|
|
19
|
-
dropdownMenuItemClassPrefix?: string;
|
|
20
|
-
dropdownMenuItemProps?: any;
|
|
21
|
-
rowHeight?: number;
|
|
22
|
-
rowGroupHeight?: number;
|
|
23
|
-
virtualized?: boolean;
|
|
24
|
-
listProps?: Partial<ListProps>;
|
|
25
|
-
listRef?: React.Ref<ListHandle>;
|
|
26
|
-
/** Custom selected option */
|
|
27
|
-
renderMenuItem?: (itemLabel: React.ReactNode, item: any) => React.ReactNode;
|
|
28
|
-
renderMenuGroup?: (title: React.ReactNode, item: any) => React.ReactNode;
|
|
29
|
-
onSelect?: Multiple extends true ? (value: any, item: any, event: React.MouseEvent, checked: boolean) => void : Multiple extends false ? (value: any, item: any, event: React.MouseEvent) => void : any;
|
|
30
|
-
onGroupTitleClick?: (event: React.MouseEvent) => void;
|
|
31
|
-
}
|
|
32
|
-
export declare type DropdownMenuComponent = React.ForwardRefExoticComponent<DropdownMenuProps> & {
|
|
33
|
-
<Multiple = false>(props: DropdownMenuProps<Multiple>): React.ReactElement | null;
|
|
34
|
-
};
|
|
35
|
-
declare const DropdownMenu: DropdownMenuComponent;
|
|
36
|
-
export declare const dropdownMenuPropTypes: {
|
|
37
|
-
classPrefix: PropTypes.Validator<string>;
|
|
38
|
-
className: PropTypes.Requireable<string>;
|
|
39
|
-
dropdownMenuItemAs: PropTypes.Validator<PropTypes.ReactComponentLike>;
|
|
40
|
-
dropdownMenuItemClassPrefix: PropTypes.Requireable<string>;
|
|
41
|
-
data: PropTypes.Requireable<any[]>;
|
|
42
|
-
group: PropTypes.Requireable<boolean>;
|
|
43
|
-
disabledItemValues: PropTypes.Requireable<any[]>;
|
|
44
|
-
activeItemValues: PropTypes.Requireable<any[]>;
|
|
45
|
-
focusItemValue: PropTypes.Requireable<any>;
|
|
46
|
-
maxHeight: PropTypes.Requireable<number>;
|
|
47
|
-
valueKey: PropTypes.Requireable<string>;
|
|
48
|
-
labelKey: PropTypes.Requireable<string>;
|
|
49
|
-
style: PropTypes.Requireable<object>;
|
|
50
|
-
renderMenuItem: PropTypes.Requireable<(...args: any[]) => any>;
|
|
51
|
-
renderMenuGroup: PropTypes.Requireable<(...args: any[]) => any>;
|
|
52
|
-
onSelect: PropTypes.Requireable<(...args: any[]) => any>;
|
|
53
|
-
onGroupTitleClick: PropTypes.Requireable<(...args: any[]) => any>;
|
|
54
|
-
virtualized: PropTypes.Requireable<boolean>;
|
|
55
|
-
listProps: PropTypes.Requireable<any>;
|
|
56
|
-
rowHeight: PropTypes.Requireable<number>;
|
|
57
|
-
rowGroupHeight: PropTypes.Requireable<number>;
|
|
58
|
-
};
|
|
59
|
-
export default DropdownMenu;
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { WithAsProps } from '../@types/common';
|
|
3
|
-
export interface DropdownMenuGroupProps extends WithAsProps, React.HTMLAttributes<HTMLDivElement> {
|
|
4
|
-
}
|
|
5
|
-
declare const DropdownMenuGroup: React.ForwardRefExoticComponent<DropdownMenuGroupProps & React.RefAttributes<HTMLDivElement>>;
|
|
6
|
-
export default DropdownMenuGroup;
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import PropTypes from 'prop-types';
|
|
3
|
-
import { ListProps, ListHandle } from '../Windowing';
|
|
4
|
-
import { StandardProps, ItemDataType } from '../@types/common';
|
|
5
|
-
export interface DropdownMenuProps<Multiple = false> extends StandardProps, Omit<React.HTMLAttributes<HTMLDivElement>, 'onSelect'> {
|
|
6
|
-
classPrefix: string;
|
|
7
|
-
data?: ItemDataType[];
|
|
8
|
-
group?: boolean;
|
|
9
|
-
groupBy?: string;
|
|
10
|
-
disabledItemValues?: any[];
|
|
11
|
-
activeItemValues?: any[];
|
|
12
|
-
focusItemValue?: any;
|
|
13
|
-
maxHeight?: number;
|
|
14
|
-
valueKey?: string;
|
|
15
|
-
labelKey?: string;
|
|
16
|
-
className?: string;
|
|
17
|
-
style?: React.CSSProperties;
|
|
18
|
-
dropdownMenuItemAs: React.ElementType | string;
|
|
19
|
-
dropdownMenuItemClassPrefix?: string;
|
|
20
|
-
dropdownMenuItemProps?: any;
|
|
21
|
-
rowHeight?: number;
|
|
22
|
-
rowGroupHeight?: number;
|
|
23
|
-
virtualized?: boolean;
|
|
24
|
-
listProps?: Partial<ListProps>;
|
|
25
|
-
listRef?: React.Ref<ListHandle>;
|
|
26
|
-
/** Custom selected option */
|
|
27
|
-
renderMenuItem?: (itemLabel: React.ReactNode, item: any) => React.ReactNode;
|
|
28
|
-
renderMenuGroup?: (title: React.ReactNode, item: any) => React.ReactNode;
|
|
29
|
-
onSelect?: Multiple extends true ? (value: any, item: any, event: React.MouseEvent, checked: boolean) => void : Multiple extends false ? (value: any, item: any, event: React.MouseEvent) => void : any;
|
|
30
|
-
onGroupTitleClick?: (event: React.MouseEvent) => void;
|
|
31
|
-
}
|
|
32
|
-
export declare type DropdownMenuComponent = React.ForwardRefExoticComponent<DropdownMenuProps> & {
|
|
33
|
-
<Multiple = false>(props: DropdownMenuProps<Multiple>): React.ReactElement | null;
|
|
34
|
-
};
|
|
35
|
-
declare const DropdownMenu: DropdownMenuComponent;
|
|
36
|
-
export declare const dropdownMenuPropTypes: {
|
|
37
|
-
classPrefix: PropTypes.Validator<string>;
|
|
38
|
-
className: PropTypes.Requireable<string>;
|
|
39
|
-
dropdownMenuItemAs: PropTypes.Validator<PropTypes.ReactComponentLike>;
|
|
40
|
-
dropdownMenuItemClassPrefix: PropTypes.Requireable<string>;
|
|
41
|
-
data: PropTypes.Requireable<any[]>;
|
|
42
|
-
group: PropTypes.Requireable<boolean>;
|
|
43
|
-
disabledItemValues: PropTypes.Requireable<any[]>;
|
|
44
|
-
activeItemValues: PropTypes.Requireable<any[]>;
|
|
45
|
-
focusItemValue: PropTypes.Requireable<any>;
|
|
46
|
-
maxHeight: PropTypes.Requireable<number>;
|
|
47
|
-
valueKey: PropTypes.Requireable<string>;
|
|
48
|
-
labelKey: PropTypes.Requireable<string>;
|
|
49
|
-
style: PropTypes.Requireable<object>;
|
|
50
|
-
renderMenuItem: PropTypes.Requireable<(...args: any[]) => any>;
|
|
51
|
-
renderMenuGroup: PropTypes.Requireable<(...args: any[]) => any>;
|
|
52
|
-
onSelect: PropTypes.Requireable<(...args: any[]) => any>;
|
|
53
|
-
onGroupTitleClick: PropTypes.Requireable<(...args: any[]) => any>;
|
|
54
|
-
virtualized: PropTypes.Requireable<boolean>;
|
|
55
|
-
listProps: PropTypes.Requireable<any>;
|
|
56
|
-
rowHeight: PropTypes.Requireable<number>;
|
|
57
|
-
rowGroupHeight: PropTypes.Requireable<number>;
|
|
58
|
-
};
|
|
59
|
-
export default DropdownMenu;
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { WithAsProps } from '../@types/common';
|
|
3
|
-
export interface DropdownMenuGroupProps extends WithAsProps, React.HTMLAttributes<HTMLDivElement> {
|
|
4
|
-
}
|
|
5
|
-
declare const DropdownMenuGroup: React.ForwardRefExoticComponent<DropdownMenuGroupProps & React.RefAttributes<HTMLDivElement>>;
|
|
6
|
-
export default DropdownMenuGroup;
|