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
|
@@ -4,11 +4,10 @@
|
|
|
4
4
|
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
|
|
5
5
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
6
6
|
exports.__esModule = true;
|
|
7
|
-
exports.default =
|
|
7
|
+
exports.default = void 0;
|
|
8
8
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
9
|
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
|
|
10
10
|
var _react = _interopRequireWildcard(require("react"));
|
|
11
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
12
11
|
var _Spinner = _interopRequireDefault(require("@rsuite/icons/legacy/Spinner"));
|
|
13
12
|
var _isUndefined = _interopRequireDefault(require("lodash/isUndefined"));
|
|
14
13
|
var _isNil = _interopRequireDefault(require("lodash/isNil"));
|
|
@@ -19,7 +18,7 @@ var _AngleRight = _interopRequireDefault(require("@rsuite/icons/legacy/AngleRigh
|
|
|
19
18
|
var _getPosition = _interopRequireDefault(require("dom-lib/getPosition"));
|
|
20
19
|
var _scrollTop = _interopRequireDefault(require("dom-lib/scrollTop"));
|
|
21
20
|
var emptyArray = [];
|
|
22
|
-
var
|
|
21
|
+
var TreeView = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
23
22
|
var _props$as = props.as,
|
|
24
23
|
Component = _props$as === void 0 ? 'div' : _props$as,
|
|
25
24
|
activeItemValue = props.activeItemValue,
|
|
@@ -42,17 +41,22 @@ var DropdownMenu = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
42
41
|
loadingItemsSet = props.loadingItemsSet,
|
|
43
42
|
_props$labelKey = props.labelKey,
|
|
44
43
|
labelKey = _props$labelKey === void 0 ? 'label' : _props$labelKey,
|
|
44
|
+
style = props.style,
|
|
45
45
|
renderMenu = props.renderMenu,
|
|
46
46
|
renderMenuItem = props.renderMenuItem,
|
|
47
47
|
onSelect = props.onSelect,
|
|
48
|
-
rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "activeItemValue", "classPrefix", "className", "childrenKey", "disabledItemValues", "menuWidth", "menuHeight", "valueKey", "cascadeData", "cascadePaths", "loadingItemsSet", "labelKey", "renderMenu", "renderMenuItem", "onSelect"]);
|
|
48
|
+
rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "activeItemValue", "classPrefix", "className", "childrenKey", "disabledItemValues", "menuWidth", "menuHeight", "valueKey", "cascadeData", "cascadePaths", "loadingItemsSet", "labelKey", "style", "renderMenu", "renderMenuItem", "onSelect"]);
|
|
49
49
|
var _useClassNames = (0, _utils.useClassNames)(classPrefix),
|
|
50
50
|
merge = _useClassNames.merge,
|
|
51
51
|
prefix = _useClassNames.prefix;
|
|
52
52
|
var classes = merge(className, prefix('items'));
|
|
53
53
|
var rootRef = (0, _react.useRef)();
|
|
54
|
-
var _useCustom = (0, _utils.useCustom)(
|
|
54
|
+
var _useCustom = (0, _utils.useCustom)(),
|
|
55
55
|
rtl = _useCustom.rtl;
|
|
56
|
+
var _useCombobox = (0, _Picker.useCombobox)(),
|
|
57
|
+
id = _useCombobox.id,
|
|
58
|
+
labelId = _useCombobox.labelId,
|
|
59
|
+
popupType = _useCombobox.popupType;
|
|
56
60
|
(0, _react.useEffect)(function () {
|
|
57
61
|
var _rootRef$current;
|
|
58
62
|
var columns = ((_rootRef$current = rootRef.current) === null || _rootRef$current === void 0 ? void 0 : _rootRef$current.querySelectorAll('[data-type="column"]')) || [];
|
|
@@ -71,7 +75,7 @@ var DropdownMenu = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
71
75
|
}
|
|
72
76
|
});
|
|
73
77
|
}, [prefix]);
|
|
74
|
-
var getCascadePaths =
|
|
78
|
+
var getCascadePaths = function getCascadePaths(layer, node) {
|
|
75
79
|
var paths = [];
|
|
76
80
|
for (var i = 0; i < cascadeData.length && i < layer; i += 1) {
|
|
77
81
|
if (i < layer - 1 && cascadePaths) {
|
|
@@ -80,14 +84,19 @@ var DropdownMenu = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
80
84
|
}
|
|
81
85
|
paths.push(node);
|
|
82
86
|
return paths;
|
|
83
|
-
}
|
|
84
|
-
var handleSelect = function
|
|
87
|
+
};
|
|
88
|
+
var handleSelect = (0, _utils.useEventCallback)(function (layer, node, event) {
|
|
85
89
|
var isLeafNode = (0, _isNil.default)(node[childrenKey]);
|
|
86
90
|
var cascadePaths = getCascadePaths(layer + 1, node);
|
|
87
91
|
onSelect === null || onSelect === void 0 ? void 0 : onSelect(node, cascadePaths, isLeafNode, event);
|
|
88
|
-
};
|
|
89
|
-
var renderCascadeNode = function renderCascadeNode(
|
|
92
|
+
});
|
|
93
|
+
var renderCascadeNode = function renderCascadeNode(nodeProps) {
|
|
90
94
|
var _loadingItemsSet$has;
|
|
95
|
+
var node = nodeProps.node,
|
|
96
|
+
index = nodeProps.index,
|
|
97
|
+
layer = nodeProps.layer,
|
|
98
|
+
focus = nodeProps.focus,
|
|
99
|
+
size = nodeProps.size;
|
|
91
100
|
var children = node[childrenKey];
|
|
92
101
|
var value = node[valueKey];
|
|
93
102
|
var label = node[labelKey];
|
|
@@ -99,16 +108,19 @@ var DropdownMenu = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
99
108
|
// Use `value` in keys when If `value` is string or number
|
|
100
109
|
var onlyKey = typeof value === 'number' || typeof value === 'string' ? value : index;
|
|
101
110
|
var Icon = loading ? _Spinner.default : rtl ? _AngleLeft.default : _AngleRight.default;
|
|
102
|
-
return /*#__PURE__*/_react.default.createElement(_Picker.
|
|
103
|
-
classPrefix: "picker-cascader-menu-item",
|
|
111
|
+
return /*#__PURE__*/_react.default.createElement(_Picker.ListItem, {
|
|
104
112
|
as: 'li',
|
|
105
113
|
role: "treeitem",
|
|
114
|
+
"aria-level": layer + 1,
|
|
115
|
+
"aria-setsize": size,
|
|
116
|
+
"aria-posinset": index + 1,
|
|
117
|
+
"aria-label": typeof label === 'string' ? label : undefined,
|
|
118
|
+
classPrefix: "picker-cascader-menu-item",
|
|
106
119
|
key: layer + "-" + onlyKey,
|
|
107
120
|
disabled: disabled,
|
|
108
121
|
active: !(0, _isUndefined.default)(activeItemValue) && (0, _utils.shallowEqual)(activeItemValue, value),
|
|
109
122
|
focus: focus,
|
|
110
123
|
value: value,
|
|
111
|
-
"aria-owns": node.children ? 'treeitem-' + value + '-children' : undefined,
|
|
112
124
|
className: children ? prefix('has-children') : undefined,
|
|
113
125
|
onSelect: function onSelect(_value, event) {
|
|
114
126
|
return handleSelect(layer, node, event);
|
|
@@ -118,56 +130,44 @@ var DropdownMenu = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
118
130
|
spin: loading
|
|
119
131
|
}) : null);
|
|
120
132
|
};
|
|
121
|
-
var styles = {
|
|
122
|
-
width: cascadeData.length * menuWidth
|
|
123
|
-
};
|
|
124
133
|
var cascadeNodes = cascadeData.map(function (children, layer) {
|
|
125
134
|
var onlyKey = layer + "_" + children.length;
|
|
126
135
|
var parentNode = cascadePaths[layer - 1];
|
|
127
|
-
var menu = /*#__PURE__*/_react.default.createElement(
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
136
|
+
var menu = /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, children.map(function (item, index) {
|
|
137
|
+
var focus = cascadePaths[layer] && (0, _utils.shallowEqual)(cascadePaths[layer][valueKey], item[valueKey]);
|
|
138
|
+
return renderCascadeNode({
|
|
139
|
+
node: item,
|
|
140
|
+
index: index,
|
|
141
|
+
layer: layer,
|
|
142
|
+
focus: focus,
|
|
143
|
+
size: children.length
|
|
144
|
+
});
|
|
132
145
|
}));
|
|
133
|
-
return /*#__PURE__*/_react.default.createElement("
|
|
134
|
-
|
|
135
|
-
className: prefix('column'),
|
|
146
|
+
return /*#__PURE__*/_react.default.createElement("ul", {
|
|
147
|
+
role: "group",
|
|
136
148
|
"data-layer": layer,
|
|
137
149
|
"data-type": 'column',
|
|
150
|
+
key: onlyKey,
|
|
151
|
+
className: prefix('column'),
|
|
138
152
|
style: {
|
|
139
153
|
height: menuHeight,
|
|
140
154
|
width: menuWidth
|
|
141
155
|
}
|
|
142
156
|
}, renderMenu ? renderMenu(children, menu, parentNode, layer) : menu);
|
|
143
157
|
});
|
|
158
|
+
var styles = (0, _extends2.default)({}, style, {
|
|
159
|
+
width: cascadeData.length * menuWidth
|
|
160
|
+
});
|
|
144
161
|
return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({
|
|
145
|
-
role: "tree"
|
|
162
|
+
role: "tree",
|
|
163
|
+
id: id + "-" + popupType,
|
|
164
|
+
"aria-labelledby": labelId
|
|
146
165
|
}, rest, {
|
|
147
166
|
ref: (0, _utils.mergeRefs)(rootRef, ref),
|
|
148
|
-
className: classes
|
|
149
|
-
}), /*#__PURE__*/_react.default.createElement("div", {
|
|
167
|
+
className: classes,
|
|
150
168
|
style: styles
|
|
151
|
-
}, cascadeNodes)
|
|
169
|
+
}), cascadeNodes);
|
|
152
170
|
});
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
disabledItemValues: _propTypes.default.array,
|
|
156
|
-
activeItemValue: _propTypes.default.any,
|
|
157
|
-
childrenKey: _propTypes.default.string,
|
|
158
|
-
valueKey: _propTypes.default.string,
|
|
159
|
-
labelKey: _propTypes.default.string,
|
|
160
|
-
menuWidth: _propTypes.default.number,
|
|
161
|
-
menuHeight: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
|
|
162
|
-
className: _propTypes.default.string,
|
|
163
|
-
renderMenuItem: _propTypes.default.func,
|
|
164
|
-
renderMenu: _propTypes.default.func,
|
|
165
|
-
onSelect: _propTypes.default.func,
|
|
166
|
-
cascadeData: _propTypes.default.array,
|
|
167
|
-
cascadePaths: _propTypes.default.array
|
|
168
|
-
};
|
|
169
|
-
exports.dropdownMenuPropTypes = dropdownMenuPropTypes;
|
|
170
|
-
DropdownMenu.displayName = 'DropdownMenu';
|
|
171
|
-
DropdownMenu.propTypes = dropdownMenuPropTypes;
|
|
172
|
-
var _default = DropdownMenu;
|
|
171
|
+
TreeView.displayName = 'TreeView';
|
|
172
|
+
var _default = TreeView;
|
|
173
173
|
exports.default = _default;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { ItemDataType, WithAsProps, RsRefForwardingComponent } from '../@types/common';
|
|
3
|
+
import { ValueType } from './Cascader';
|
|
4
|
+
declare type SetLike<T = unknown> = {
|
|
5
|
+
has(value: T): boolean;
|
|
6
|
+
};
|
|
7
|
+
export interface TreeViewProps extends Omit<WithAsProps, 'classPrefix'> {
|
|
8
|
+
classPrefix: string;
|
|
9
|
+
disabledItemValues: ValueType[];
|
|
10
|
+
activeItemValue?: ValueType | null;
|
|
11
|
+
childrenKey: string;
|
|
12
|
+
cascadeData: (readonly ItemDataType[])[];
|
|
13
|
+
loadingItemsSet?: SetLike<ItemDataType>;
|
|
14
|
+
cascadePaths: ItemDataType[];
|
|
15
|
+
valueKey: string;
|
|
16
|
+
labelKey: string;
|
|
17
|
+
menuWidth?: number;
|
|
18
|
+
menuHeight?: number | string;
|
|
19
|
+
renderMenuItem?: (itemLabel: React.ReactNode, item: ItemDataType) => React.ReactNode;
|
|
20
|
+
renderMenu?: (items: readonly ItemDataType[], menu: React.ReactNode, parentNode?: ItemDataType, layer?: number) => React.ReactNode;
|
|
21
|
+
onSelect?: (node: ItemDataType, cascadePaths: ItemDataType[], isLeafNode: boolean, event: React.MouseEvent) => void;
|
|
22
|
+
}
|
|
23
|
+
declare const TreeView: RsRefForwardingComponent<'div', TreeViewProps>;
|
|
24
|
+
export default TreeView;
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
"use strict";
|
|
3
|
+
|
|
4
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
|
|
5
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
6
|
+
exports.__esModule = true;
|
|
7
|
+
exports.default = void 0;
|
|
8
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
|
+
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
|
|
10
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
11
|
+
var _Spinner = _interopRequireDefault(require("@rsuite/icons/legacy/Spinner"));
|
|
12
|
+
var _isUndefined = _interopRequireDefault(require("lodash/isUndefined"));
|
|
13
|
+
var _isNil = _interopRequireDefault(require("lodash/isNil"));
|
|
14
|
+
var _utils = require("../utils");
|
|
15
|
+
var _Picker = require("../Picker");
|
|
16
|
+
var _AngleLeft = _interopRequireDefault(require("@rsuite/icons/legacy/AngleLeft"));
|
|
17
|
+
var _AngleRight = _interopRequireDefault(require("@rsuite/icons/legacy/AngleRight"));
|
|
18
|
+
var _getPosition = _interopRequireDefault(require("dom-lib/getPosition"));
|
|
19
|
+
var _scrollTop = _interopRequireDefault(require("dom-lib/scrollTop"));
|
|
20
|
+
var emptyArray = [];
|
|
21
|
+
var TreeView = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
22
|
+
var _props$as = props.as,
|
|
23
|
+
Component = _props$as === void 0 ? 'div' : _props$as,
|
|
24
|
+
activeItemValue = props.activeItemValue,
|
|
25
|
+
classPrefix = props.classPrefix,
|
|
26
|
+
className = props.className,
|
|
27
|
+
_props$childrenKey = props.childrenKey,
|
|
28
|
+
childrenKey = _props$childrenKey === void 0 ? 'children' : _props$childrenKey,
|
|
29
|
+
_props$disabledItemVa = props.disabledItemValues,
|
|
30
|
+
disabledItemValues = _props$disabledItemVa === void 0 ? emptyArray : _props$disabledItemVa,
|
|
31
|
+
_props$menuWidth = props.menuWidth,
|
|
32
|
+
menuWidth = _props$menuWidth === void 0 ? 120 : _props$menuWidth,
|
|
33
|
+
_props$menuHeight = props.menuHeight,
|
|
34
|
+
menuHeight = _props$menuHeight === void 0 ? 200 : _props$menuHeight,
|
|
35
|
+
_props$valueKey = props.valueKey,
|
|
36
|
+
valueKey = _props$valueKey === void 0 ? 'value' : _props$valueKey,
|
|
37
|
+
_props$cascadeData = props.cascadeData,
|
|
38
|
+
cascadeData = _props$cascadeData === void 0 ? emptyArray : _props$cascadeData,
|
|
39
|
+
_props$cascadePaths = props.cascadePaths,
|
|
40
|
+
cascadePaths = _props$cascadePaths === void 0 ? emptyArray : _props$cascadePaths,
|
|
41
|
+
loadingItemsSet = props.loadingItemsSet,
|
|
42
|
+
_props$labelKey = props.labelKey,
|
|
43
|
+
labelKey = _props$labelKey === void 0 ? 'label' : _props$labelKey,
|
|
44
|
+
style = props.style,
|
|
45
|
+
renderMenu = props.renderMenu,
|
|
46
|
+
renderMenuItem = props.renderMenuItem,
|
|
47
|
+
onSelect = props.onSelect,
|
|
48
|
+
rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "activeItemValue", "classPrefix", "className", "childrenKey", "disabledItemValues", "menuWidth", "menuHeight", "valueKey", "cascadeData", "cascadePaths", "loadingItemsSet", "labelKey", "style", "renderMenu", "renderMenuItem", "onSelect"]);
|
|
49
|
+
var _useClassNames = (0, _utils.useClassNames)(classPrefix),
|
|
50
|
+
merge = _useClassNames.merge,
|
|
51
|
+
prefix = _useClassNames.prefix;
|
|
52
|
+
var classes = merge(className, prefix('items'));
|
|
53
|
+
var rootRef = (0, _react.useRef)();
|
|
54
|
+
var _useCustom = (0, _utils.useCustom)(),
|
|
55
|
+
rtl = _useCustom.rtl;
|
|
56
|
+
var _useCombobox = (0, _Picker.useCombobox)(),
|
|
57
|
+
id = _useCombobox.id,
|
|
58
|
+
labelId = _useCombobox.labelId,
|
|
59
|
+
popupType = _useCombobox.popupType;
|
|
60
|
+
(0, _react.useEffect)(function () {
|
|
61
|
+
var _rootRef$current;
|
|
62
|
+
var columns = ((_rootRef$current = rootRef.current) === null || _rootRef$current === void 0 ? void 0 : _rootRef$current.querySelectorAll('[data-type="column"]')) || [];
|
|
63
|
+
columns.forEach(function (column) {
|
|
64
|
+
if (!column) {
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
var activeItem = column.querySelector("." + prefix('item-focus'));
|
|
68
|
+
if (!activeItem) {
|
|
69
|
+
activeItem = column.querySelector("." + prefix('item-active'));
|
|
70
|
+
}
|
|
71
|
+
if (activeItem) {
|
|
72
|
+
var position = (0, _getPosition.default)(activeItem, column);
|
|
73
|
+
// Let the active option scroll into view.
|
|
74
|
+
(0, _scrollTop.default)(column, position === null || position === void 0 ? void 0 : position.top);
|
|
75
|
+
}
|
|
76
|
+
});
|
|
77
|
+
}, [prefix]);
|
|
78
|
+
var getCascadePaths = function getCascadePaths(layer, node) {
|
|
79
|
+
var paths = [];
|
|
80
|
+
for (var i = 0; i < cascadeData.length && i < layer; i += 1) {
|
|
81
|
+
if (i < layer - 1 && cascadePaths) {
|
|
82
|
+
paths.push(cascadePaths[i]);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
paths.push(node);
|
|
86
|
+
return paths;
|
|
87
|
+
};
|
|
88
|
+
var handleSelect = (0, _utils.useEventCallback)(function (layer, node, event) {
|
|
89
|
+
var isLeafNode = (0, _isNil.default)(node[childrenKey]);
|
|
90
|
+
var cascadePaths = getCascadePaths(layer + 1, node);
|
|
91
|
+
onSelect === null || onSelect === void 0 ? void 0 : onSelect(node, cascadePaths, isLeafNode, event);
|
|
92
|
+
});
|
|
93
|
+
var renderCascadeNode = function renderCascadeNode(nodeProps) {
|
|
94
|
+
var _loadingItemsSet$has;
|
|
95
|
+
var node = nodeProps.node,
|
|
96
|
+
index = nodeProps.index,
|
|
97
|
+
layer = nodeProps.layer,
|
|
98
|
+
focus = nodeProps.focus,
|
|
99
|
+
size = nodeProps.size;
|
|
100
|
+
var children = node[childrenKey];
|
|
101
|
+
var value = node[valueKey];
|
|
102
|
+
var label = node[labelKey];
|
|
103
|
+
var disabled = disabledItemValues.some(function (disabledValue) {
|
|
104
|
+
return (0, _utils.shallowEqual)(disabledValue, value);
|
|
105
|
+
});
|
|
106
|
+
var loading = (_loadingItemsSet$has = loadingItemsSet === null || loadingItemsSet === void 0 ? void 0 : loadingItemsSet.has(node)) !== null && _loadingItemsSet$has !== void 0 ? _loadingItemsSet$has : false;
|
|
107
|
+
|
|
108
|
+
// Use `value` in keys when If `value` is string or number
|
|
109
|
+
var onlyKey = typeof value === 'number' || typeof value === 'string' ? value : index;
|
|
110
|
+
var Icon = loading ? _Spinner.default : rtl ? _AngleLeft.default : _AngleRight.default;
|
|
111
|
+
return /*#__PURE__*/_react.default.createElement(_Picker.ListItem, {
|
|
112
|
+
as: 'li',
|
|
113
|
+
role: "treeitem",
|
|
114
|
+
"aria-level": layer + 1,
|
|
115
|
+
"aria-setsize": size,
|
|
116
|
+
"aria-posinset": index + 1,
|
|
117
|
+
"aria-label": typeof label === 'string' ? label : undefined,
|
|
118
|
+
classPrefix: "picker-cascader-menu-item",
|
|
119
|
+
key: layer + "-" + onlyKey,
|
|
120
|
+
disabled: disabled,
|
|
121
|
+
active: !(0, _isUndefined.default)(activeItemValue) && (0, _utils.shallowEqual)(activeItemValue, value),
|
|
122
|
+
focus: focus,
|
|
123
|
+
value: value,
|
|
124
|
+
className: children ? prefix('has-children') : undefined,
|
|
125
|
+
onSelect: function onSelect(_value, event) {
|
|
126
|
+
return handleSelect(layer, node, event);
|
|
127
|
+
}
|
|
128
|
+
}, renderMenuItem ? renderMenuItem(label, node) : label, children ? /*#__PURE__*/_react.default.createElement(Icon, {
|
|
129
|
+
className: prefix('caret'),
|
|
130
|
+
spin: loading,
|
|
131
|
+
"data-testid": "spinner"
|
|
132
|
+
}) : null);
|
|
133
|
+
};
|
|
134
|
+
var cascadeNodes = cascadeData.map(function (children, layer) {
|
|
135
|
+
var onlyKey = layer + "_" + children.length;
|
|
136
|
+
var parentNode = cascadePaths[layer - 1];
|
|
137
|
+
var menu = /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, children.map(function (item, index) {
|
|
138
|
+
var focus = cascadePaths[layer] && (0, _utils.shallowEqual)(cascadePaths[layer][valueKey], item[valueKey]);
|
|
139
|
+
return renderCascadeNode({
|
|
140
|
+
node: item,
|
|
141
|
+
index: index,
|
|
142
|
+
layer: layer,
|
|
143
|
+
focus: focus,
|
|
144
|
+
size: children.length
|
|
145
|
+
});
|
|
146
|
+
}));
|
|
147
|
+
return /*#__PURE__*/_react.default.createElement("ul", {
|
|
148
|
+
role: "group",
|
|
149
|
+
"data-layer": layer,
|
|
150
|
+
"data-type": 'column',
|
|
151
|
+
key: onlyKey,
|
|
152
|
+
className: prefix('column'),
|
|
153
|
+
style: {
|
|
154
|
+
height: menuHeight,
|
|
155
|
+
width: menuWidth
|
|
156
|
+
}
|
|
157
|
+
}, renderMenu ? renderMenu(children, menu, parentNode, layer) : menu);
|
|
158
|
+
});
|
|
159
|
+
var styles = (0, _extends2.default)({}, style, {
|
|
160
|
+
width: cascadeData.length * menuWidth
|
|
161
|
+
});
|
|
162
|
+
return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({
|
|
163
|
+
role: "tree",
|
|
164
|
+
id: id + "-" + popupType,
|
|
165
|
+
"aria-labelledby": labelId
|
|
166
|
+
}, rest, {
|
|
167
|
+
ref: (0, _utils.mergeRefs)(rootRef, ref),
|
|
168
|
+
className: classes,
|
|
169
|
+
style: styles
|
|
170
|
+
}), cascadeNodes);
|
|
171
|
+
});
|
|
172
|
+
TreeView.displayName = 'TreeView';
|
|
173
|
+
var _default = TreeView;
|
|
174
|
+
exports.default = _default;
|
|
@@ -252,7 +252,7 @@ var CheckPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
252
252
|
hasValue = false;
|
|
253
253
|
}
|
|
254
254
|
}
|
|
255
|
-
var
|
|
255
|
+
var renderPopup = function renderPopup(positionProps, speakerRef) {
|
|
256
256
|
var left = positionProps.left,
|
|
257
257
|
top = positionProps.top,
|
|
258
258
|
className = positionProps.className;
|
|
@@ -280,8 +280,7 @@ var CheckPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
280
280
|
} else if (typeof sort === 'function') {
|
|
281
281
|
items = items.sort(sort(false));
|
|
282
282
|
}
|
|
283
|
-
var menu = items.length || filteredStickyItems.length ? /*#__PURE__*/_react.default.createElement(_Picker.
|
|
284
|
-
id: id ? id + "-listbox" : undefined,
|
|
283
|
+
var menu = items.length || filteredStickyItems.length ? /*#__PURE__*/_react.default.createElement(_Picker.Listbox, {
|
|
285
284
|
listProps: listProps,
|
|
286
285
|
listRef: list,
|
|
287
286
|
disabledItemValues: disabledItemValues,
|
|
@@ -291,7 +290,7 @@ var CheckPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
291
290
|
renderMenuItem: renderMenuItem,
|
|
292
291
|
maxHeight: menuMaxHeight,
|
|
293
292
|
classPrefix: 'picker-check-menu',
|
|
294
|
-
|
|
293
|
+
listItemAs: _Picker.ListCheckItem,
|
|
295
294
|
activeItemValues: value,
|
|
296
295
|
focusItemValue: focusItemValue,
|
|
297
296
|
data: [].concat(filteredStickyItems, items)
|
|
@@ -305,7 +304,7 @@ var CheckPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
305
304
|
}) : /*#__PURE__*/_react.default.createElement("div", {
|
|
306
305
|
className: prefix(_templateObject || (_templateObject = (0, _taggedTemplateLiteralLoose2.default)(["none"])))
|
|
307
306
|
}, locale === null || locale === void 0 ? void 0 : locale.noResultsText);
|
|
308
|
-
return /*#__PURE__*/_react.default.createElement(_Picker.
|
|
307
|
+
return /*#__PURE__*/_react.default.createElement(_Picker.PickerPopup, {
|
|
309
308
|
ref: (0, _utils.mergeRefs)(overlay, speakerRef),
|
|
310
309
|
autoWidth: menuAutoWidth,
|
|
311
310
|
className: classes,
|
|
@@ -330,19 +329,20 @@ var CheckPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
330
329
|
classes = _usePickerClassName[0],
|
|
331
330
|
usedClassNamePropKeys = _usePickerClassName[1];
|
|
332
331
|
return /*#__PURE__*/_react.default.createElement(_Picker.PickerToggleTrigger, {
|
|
332
|
+
id: id,
|
|
333
|
+
multiple: true,
|
|
333
334
|
pickerProps: (0, _pick.default)(props, _Picker.pickTriggerPropKeys),
|
|
334
335
|
ref: trigger,
|
|
335
336
|
placement: placement,
|
|
336
337
|
onEnter: (0, _utils.createChainedFunction)(initStickyItems, onEnter),
|
|
337
338
|
onEntered: (0, _utils.createChainedFunction)(handleEntered, onEntered),
|
|
338
339
|
onExited: (0, _utils.createChainedFunction)(handleExited, onExited),
|
|
339
|
-
speaker:
|
|
340
|
+
speaker: renderPopup
|
|
340
341
|
}, /*#__PURE__*/_react.default.createElement(Component, {
|
|
341
342
|
className: classes,
|
|
342
343
|
style: style,
|
|
343
344
|
ref: root
|
|
344
345
|
}, /*#__PURE__*/_react.default.createElement(_Picker.PickerToggle, (0, _extends2.default)({}, (0, _omit.default)(rest, [].concat(_Picker.omitTriggerPropKeys, usedClassNamePropKeys)), {
|
|
345
|
-
id: id,
|
|
346
346
|
ref: target,
|
|
347
347
|
appearance: appearance,
|
|
348
348
|
disabled: disabled,
|
|
@@ -353,7 +353,8 @@ var CheckPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
353
353
|
hasValue: hasValue,
|
|
354
354
|
active: active,
|
|
355
355
|
placement: placement,
|
|
356
|
-
inputValue: value
|
|
356
|
+
inputValue: value,
|
|
357
|
+
focusItemValue: focusItemValue
|
|
357
358
|
}), selectedElement || (locale === null || locale === void 0 ? void 0 : locale.placeholder))));
|
|
358
359
|
});
|
|
359
360
|
CheckPicker.displayName = 'CheckPicker';
|
|
@@ -21,8 +21,8 @@ export interface CheckTreeNodeProps extends WithAsProps {
|
|
|
21
21
|
allUncheckable?: boolean;
|
|
22
22
|
onExpand?: (nodeData: any) => void;
|
|
23
23
|
onSelect?: (nodeData: any, event: React.SyntheticEvent) => void;
|
|
24
|
-
|
|
25
|
-
|
|
24
|
+
renderTreeIcon?: (nodeData: any, expandIcon?: React.ReactNode) => React.ReactNode;
|
|
25
|
+
renderTreeNode?: (nodeData: any) => React.ReactNode;
|
|
26
26
|
}
|
|
27
27
|
declare const CheckTreeNode: RsRefForwardingComponent<'div', CheckTreeNodeProps>;
|
|
28
28
|
export default CheckTreeNode;
|
|
@@ -8,10 +8,9 @@ exports.default = void 0;
|
|
|
8
8
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
9
|
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
|
|
10
10
|
var _react = _interopRequireWildcard(require("react"));
|
|
11
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
12
11
|
var _ArrowDown = _interopRequireDefault(require("@rsuite/icons/legacy/ArrowDown"));
|
|
13
12
|
var _Spinner = _interopRequireDefault(require("@rsuite/icons/legacy/Spinner"));
|
|
14
|
-
var
|
|
13
|
+
var _ListCheckItem = _interopRequireDefault(require("../Picker/ListCheckItem"));
|
|
15
14
|
var _treeUtils = require("../utils/treeUtils");
|
|
16
15
|
var _utils = require("../utils");
|
|
17
16
|
var CheckTreeNode = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
|
|
@@ -35,11 +34,12 @@ var CheckTreeNode = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
|
|
|
35
34
|
label = _ref.label,
|
|
36
35
|
uncheckable = _ref.uncheckable,
|
|
37
36
|
checkState = _ref.checkState,
|
|
37
|
+
value = _ref.value,
|
|
38
38
|
onExpand = _ref.onExpand,
|
|
39
39
|
onSelect = _ref.onSelect,
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
rest = (0, _objectWithoutPropertiesLoose2.default)(_ref, ["as", "style", "className", "classPrefix", "visible", "layer", "disabled", "allUncheckable", "rtl", "loading", "expand", "hasChildren", "nodeData", "focus", "label", "uncheckable", "checkState", "onExpand", "onSelect", "
|
|
40
|
+
renderTreeIcon = _ref.renderTreeIcon,
|
|
41
|
+
renderTreeNode = _ref.renderTreeNode,
|
|
42
|
+
rest = (0, _objectWithoutPropertiesLoose2.default)(_ref, ["as", "style", "className", "classPrefix", "visible", "layer", "disabled", "allUncheckable", "rtl", "loading", "expand", "hasChildren", "nodeData", "focus", "label", "uncheckable", "checkState", "value", "onExpand", "onSelect", "renderTreeIcon", "renderTreeNode"]);
|
|
43
43
|
var _useClassNames = (0, _utils.useClassNames)(classPrefix),
|
|
44
44
|
prefix = _useClassNames.prefix,
|
|
45
45
|
merge = _useClassNames.merge,
|
|
@@ -52,13 +52,13 @@ var CheckTreeNode = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
|
|
|
52
52
|
return nodes.join('');
|
|
53
53
|
}
|
|
54
54
|
};
|
|
55
|
-
var handleExpand = (0,
|
|
55
|
+
var handleExpand = (0, _utils.useEventCallback)(function (event) {
|
|
56
56
|
var _event$nativeEvent, _event$nativeEvent$st;
|
|
57
57
|
// stop propagation when using custom loading icon
|
|
58
58
|
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);
|
|
59
59
|
onExpand === null || onExpand === void 0 ? void 0 : onExpand(nodeData);
|
|
60
|
-
}
|
|
61
|
-
var handleSelect = (0,
|
|
60
|
+
});
|
|
61
|
+
var handleSelect = (0, _utils.useEventCallback)(function (_value, event) {
|
|
62
62
|
if (disabled || uncheckable) {
|
|
63
63
|
return;
|
|
64
64
|
}
|
|
@@ -73,7 +73,7 @@ var CheckTreeNode = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
|
|
|
73
73
|
check: isChecked
|
|
74
74
|
});
|
|
75
75
|
onSelect === null || onSelect === void 0 ? void 0 : onSelect(nextNodeData, event);
|
|
76
|
-
}
|
|
76
|
+
});
|
|
77
77
|
var renderIcon = function renderIcon() {
|
|
78
78
|
var expandIconClasses = prefix('expand-icon', 'icon', {
|
|
79
79
|
expanded: expand
|
|
@@ -88,8 +88,8 @@ var CheckTreeNode = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
|
|
|
88
88
|
spin: true
|
|
89
89
|
}));
|
|
90
90
|
}
|
|
91
|
-
if (typeof
|
|
92
|
-
var customIcon =
|
|
91
|
+
if (typeof renderTreeIcon === 'function') {
|
|
92
|
+
var customIcon = renderTreeIcon(nodeData);
|
|
93
93
|
expandIcon = customIcon !== null ? /*#__PURE__*/_react.default.createElement("div", {
|
|
94
94
|
className: prefix('custom-icon')
|
|
95
95
|
}, customIcon) : expandIcon;
|
|
@@ -102,23 +102,6 @@ var CheckTreeNode = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
|
|
|
102
102
|
onClick: handleExpand
|
|
103
103
|
}, expandIcon) : null;
|
|
104
104
|
};
|
|
105
|
-
var renderLabel = function renderLabel() {
|
|
106
|
-
return /*#__PURE__*/_react.default.createElement(_DropdownMenuCheckItem.default, {
|
|
107
|
-
as: "div",
|
|
108
|
-
active: checkState === _utils.CHECK_STATE.CHECK,
|
|
109
|
-
indeterminate: checkState === _utils.CHECK_STATE.INDETERMINATE,
|
|
110
|
-
focus: focus,
|
|
111
|
-
checkable: !uncheckable,
|
|
112
|
-
disabled: disabled,
|
|
113
|
-
"data-layer": layer,
|
|
114
|
-
value: nodeData.refKey,
|
|
115
|
-
className: prefix('label'),
|
|
116
|
-
title: getTitle(),
|
|
117
|
-
onSelect: handleSelect
|
|
118
|
-
}, /*#__PURE__*/_react.default.createElement("span", {
|
|
119
|
-
className: prefix('text-wrapper')
|
|
120
|
-
}, typeof onRenderTreeNode === 'function' ? onRenderTreeNode(nodeData) : label));
|
|
121
|
-
};
|
|
122
105
|
var classes = merge(className, withClassPrefix({
|
|
123
106
|
disabled: disabled,
|
|
124
107
|
'all-uncheckable': !!allUncheckable,
|
|
@@ -126,43 +109,32 @@ var CheckTreeNode = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
|
|
|
126
109
|
focus: focus
|
|
127
110
|
}));
|
|
128
111
|
var styles = (0, _extends2.default)({}, style, (0, _treeUtils.getTreeNodeIndent)(rtl, layer - 1));
|
|
129
|
-
return visible ? /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({
|
|
112
|
+
return visible ? /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({}, rest, {
|
|
113
|
+
style: styles,
|
|
114
|
+
className: classes,
|
|
115
|
+
ref: ref
|
|
116
|
+
}), renderIcon(), /*#__PURE__*/_react.default.createElement(_ListCheckItem.default, {
|
|
117
|
+
as: "div",
|
|
130
118
|
role: "treeitem",
|
|
131
119
|
"aria-label": label,
|
|
132
120
|
"aria-expanded": expand,
|
|
133
121
|
"aria-selected": checkState === _utils.CHECK_STATE.CHECK,
|
|
134
122
|
"aria-disabled": disabled,
|
|
135
|
-
"aria-level": layer
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
123
|
+
"aria-level": layer,
|
|
124
|
+
active: checkState === _utils.CHECK_STATE.CHECK,
|
|
125
|
+
indeterminate: checkState === _utils.CHECK_STATE.INDETERMINATE,
|
|
126
|
+
focus: focus,
|
|
127
|
+
checkable: !uncheckable,
|
|
128
|
+
disabled: disabled,
|
|
129
|
+
"data-layer": layer,
|
|
130
|
+
value: nodeData.refKey || value,
|
|
131
|
+
className: prefix('label'),
|
|
132
|
+
title: getTitle(),
|
|
133
|
+
onSelect: handleSelect
|
|
134
|
+
}, /*#__PURE__*/_react.default.createElement("span", {
|
|
135
|
+
className: prefix('text-wrapper')
|
|
136
|
+
}, typeof renderTreeNode === 'function' ? renderTreeNode(nodeData) : label))) : null;
|
|
141
137
|
});
|
|
142
138
|
CheckTreeNode.displayName = 'CheckTreeNode';
|
|
143
|
-
CheckTreeNode.propTypes = {
|
|
144
|
-
as: _propTypes.default.elementType,
|
|
145
|
-
rtl: _propTypes.default.bool,
|
|
146
|
-
classPrefix: _propTypes.default.string,
|
|
147
|
-
visible: _propTypes.default.bool,
|
|
148
|
-
style: _propTypes.default.object,
|
|
149
|
-
label: _propTypes.default.any,
|
|
150
|
-
layer: _propTypes.default.number,
|
|
151
|
-
loading: _propTypes.default.bool,
|
|
152
|
-
value: _propTypes.default.any,
|
|
153
|
-
focus: _propTypes.default.bool,
|
|
154
|
-
expand: _propTypes.default.bool,
|
|
155
|
-
nodeData: _propTypes.default.object,
|
|
156
|
-
disabled: _propTypes.default.bool,
|
|
157
|
-
className: _propTypes.default.string,
|
|
158
|
-
checkState: _propTypes.default.oneOf([_utils.CHECK_STATE.UNCHECK, _utils.CHECK_STATE.CHECK, _utils.CHECK_STATE.INDETERMINATE]),
|
|
159
|
-
hasChildren: _propTypes.default.bool,
|
|
160
|
-
uncheckable: _propTypes.default.bool,
|
|
161
|
-
allUncheckable: _propTypes.default.bool,
|
|
162
|
-
onExpand: _propTypes.default.func,
|
|
163
|
-
onSelect: _propTypes.default.func,
|
|
164
|
-
onRenderTreeIcon: _propTypes.default.func,
|
|
165
|
-
onRenderTreeNode: _propTypes.default.func
|
|
166
|
-
};
|
|
167
139
|
var _default = CheckTreeNode;
|
|
168
140
|
exports.default = _default;
|