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
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
3
|
+
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
4
|
+
import React, { useEffect, useRef } from 'react';
|
|
5
|
+
import SpinnerIcon from '@rsuite/icons/legacy/Spinner';
|
|
6
|
+
import isUndefined from 'lodash/isUndefined';
|
|
7
|
+
import isNil from 'lodash/isNil';
|
|
8
|
+
import { shallowEqual, useClassNames, mergeRefs, useCustom, useEventCallback } from '../utils';
|
|
9
|
+
import { ListItem, useCombobox } from '../Picker';
|
|
10
|
+
import AngleLeftIcon from '@rsuite/icons/legacy/AngleLeft';
|
|
11
|
+
import AngleRightIcon from '@rsuite/icons/legacy/AngleRight';
|
|
12
|
+
import getPosition from 'dom-lib/getPosition';
|
|
13
|
+
import scrollTop from 'dom-lib/scrollTop';
|
|
14
|
+
var emptyArray = [];
|
|
15
|
+
var TreeView = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
16
|
+
var _props$as = props.as,
|
|
17
|
+
Component = _props$as === void 0 ? 'div' : _props$as,
|
|
18
|
+
activeItemValue = props.activeItemValue,
|
|
19
|
+
classPrefix = props.classPrefix,
|
|
20
|
+
className = props.className,
|
|
21
|
+
_props$childrenKey = props.childrenKey,
|
|
22
|
+
childrenKey = _props$childrenKey === void 0 ? 'children' : _props$childrenKey,
|
|
23
|
+
_props$disabledItemVa = props.disabledItemValues,
|
|
24
|
+
disabledItemValues = _props$disabledItemVa === void 0 ? emptyArray : _props$disabledItemVa,
|
|
25
|
+
_props$menuWidth = props.menuWidth,
|
|
26
|
+
menuWidth = _props$menuWidth === void 0 ? 120 : _props$menuWidth,
|
|
27
|
+
_props$menuHeight = props.menuHeight,
|
|
28
|
+
menuHeight = _props$menuHeight === void 0 ? 200 : _props$menuHeight,
|
|
29
|
+
_props$valueKey = props.valueKey,
|
|
30
|
+
valueKey = _props$valueKey === void 0 ? 'value' : _props$valueKey,
|
|
31
|
+
_props$cascadeData = props.cascadeData,
|
|
32
|
+
cascadeData = _props$cascadeData === void 0 ? emptyArray : _props$cascadeData,
|
|
33
|
+
_props$cascadePaths = props.cascadePaths,
|
|
34
|
+
cascadePaths = _props$cascadePaths === void 0 ? emptyArray : _props$cascadePaths,
|
|
35
|
+
loadingItemsSet = props.loadingItemsSet,
|
|
36
|
+
_props$labelKey = props.labelKey,
|
|
37
|
+
labelKey = _props$labelKey === void 0 ? 'label' : _props$labelKey,
|
|
38
|
+
style = props.style,
|
|
39
|
+
renderMenu = props.renderMenu,
|
|
40
|
+
renderMenuItem = props.renderMenuItem,
|
|
41
|
+
onSelect = props.onSelect,
|
|
42
|
+
rest = _objectWithoutPropertiesLoose(props, ["as", "activeItemValue", "classPrefix", "className", "childrenKey", "disabledItemValues", "menuWidth", "menuHeight", "valueKey", "cascadeData", "cascadePaths", "loadingItemsSet", "labelKey", "style", "renderMenu", "renderMenuItem", "onSelect"]);
|
|
43
|
+
var _useClassNames = useClassNames(classPrefix),
|
|
44
|
+
merge = _useClassNames.merge,
|
|
45
|
+
prefix = _useClassNames.prefix;
|
|
46
|
+
var classes = merge(className, prefix('items'));
|
|
47
|
+
var rootRef = useRef();
|
|
48
|
+
var _useCustom = useCustom(),
|
|
49
|
+
rtl = _useCustom.rtl;
|
|
50
|
+
var _useCombobox = useCombobox(),
|
|
51
|
+
id = _useCombobox.id,
|
|
52
|
+
labelId = _useCombobox.labelId,
|
|
53
|
+
popupType = _useCombobox.popupType;
|
|
54
|
+
useEffect(function () {
|
|
55
|
+
var _rootRef$current;
|
|
56
|
+
var columns = ((_rootRef$current = rootRef.current) === null || _rootRef$current === void 0 ? void 0 : _rootRef$current.querySelectorAll('[data-type="column"]')) || [];
|
|
57
|
+
columns.forEach(function (column) {
|
|
58
|
+
if (!column) {
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
var activeItem = column.querySelector("." + prefix('item-focus'));
|
|
62
|
+
if (!activeItem) {
|
|
63
|
+
activeItem = column.querySelector("." + prefix('item-active'));
|
|
64
|
+
}
|
|
65
|
+
if (activeItem) {
|
|
66
|
+
var position = getPosition(activeItem, column);
|
|
67
|
+
// Let the active option scroll into view.
|
|
68
|
+
scrollTop(column, position === null || position === void 0 ? void 0 : position.top);
|
|
69
|
+
}
|
|
70
|
+
});
|
|
71
|
+
}, [prefix]);
|
|
72
|
+
var getCascadePaths = function getCascadePaths(layer, node) {
|
|
73
|
+
var paths = [];
|
|
74
|
+
for (var i = 0; i < cascadeData.length && i < layer; i += 1) {
|
|
75
|
+
if (i < layer - 1 && cascadePaths) {
|
|
76
|
+
paths.push(cascadePaths[i]);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
paths.push(node);
|
|
80
|
+
return paths;
|
|
81
|
+
};
|
|
82
|
+
var handleSelect = useEventCallback(function (layer, node, event) {
|
|
83
|
+
var isLeafNode = isNil(node[childrenKey]);
|
|
84
|
+
var cascadePaths = getCascadePaths(layer + 1, node);
|
|
85
|
+
onSelect === null || onSelect === void 0 ? void 0 : onSelect(node, cascadePaths, isLeafNode, event);
|
|
86
|
+
});
|
|
87
|
+
var renderCascadeNode = function renderCascadeNode(nodeProps) {
|
|
88
|
+
var _loadingItemsSet$has;
|
|
89
|
+
var node = nodeProps.node,
|
|
90
|
+
index = nodeProps.index,
|
|
91
|
+
layer = nodeProps.layer,
|
|
92
|
+
focus = nodeProps.focus,
|
|
93
|
+
size = nodeProps.size;
|
|
94
|
+
var children = node[childrenKey];
|
|
95
|
+
var value = node[valueKey];
|
|
96
|
+
var label = node[labelKey];
|
|
97
|
+
var disabled = disabledItemValues.some(function (disabledValue) {
|
|
98
|
+
return shallowEqual(disabledValue, value);
|
|
99
|
+
});
|
|
100
|
+
var loading = (_loadingItemsSet$has = loadingItemsSet === null || loadingItemsSet === void 0 ? void 0 : loadingItemsSet.has(node)) !== null && _loadingItemsSet$has !== void 0 ? _loadingItemsSet$has : false;
|
|
101
|
+
|
|
102
|
+
// Use `value` in keys when If `value` is string or number
|
|
103
|
+
var onlyKey = typeof value === 'number' || typeof value === 'string' ? value : index;
|
|
104
|
+
var Icon = loading ? SpinnerIcon : rtl ? AngleLeftIcon : AngleRightIcon;
|
|
105
|
+
return /*#__PURE__*/React.createElement(ListItem, {
|
|
106
|
+
as: 'li',
|
|
107
|
+
role: "treeitem",
|
|
108
|
+
"aria-level": layer + 1,
|
|
109
|
+
"aria-setsize": size,
|
|
110
|
+
"aria-posinset": index + 1,
|
|
111
|
+
"aria-label": typeof label === 'string' ? label : undefined,
|
|
112
|
+
classPrefix: "picker-cascader-menu-item",
|
|
113
|
+
key: layer + "-" + onlyKey,
|
|
114
|
+
disabled: disabled,
|
|
115
|
+
active: !isUndefined(activeItemValue) && shallowEqual(activeItemValue, value),
|
|
116
|
+
focus: focus,
|
|
117
|
+
value: value,
|
|
118
|
+
className: children ? prefix('has-children') : undefined,
|
|
119
|
+
onSelect: function onSelect(_value, event) {
|
|
120
|
+
return handleSelect(layer, node, event);
|
|
121
|
+
}
|
|
122
|
+
}, renderMenuItem ? renderMenuItem(label, node) : label, children ? /*#__PURE__*/React.createElement(Icon, {
|
|
123
|
+
className: prefix('caret'),
|
|
124
|
+
spin: loading,
|
|
125
|
+
"data-testid": "spinner"
|
|
126
|
+
}) : null);
|
|
127
|
+
};
|
|
128
|
+
var cascadeNodes = cascadeData.map(function (children, layer) {
|
|
129
|
+
var onlyKey = layer + "_" + children.length;
|
|
130
|
+
var parentNode = cascadePaths[layer - 1];
|
|
131
|
+
var menu = /*#__PURE__*/React.createElement(React.Fragment, null, children.map(function (item, index) {
|
|
132
|
+
var focus = cascadePaths[layer] && shallowEqual(cascadePaths[layer][valueKey], item[valueKey]);
|
|
133
|
+
return renderCascadeNode({
|
|
134
|
+
node: item,
|
|
135
|
+
index: index,
|
|
136
|
+
layer: layer,
|
|
137
|
+
focus: focus,
|
|
138
|
+
size: children.length
|
|
139
|
+
});
|
|
140
|
+
}));
|
|
141
|
+
return /*#__PURE__*/React.createElement("ul", {
|
|
142
|
+
role: "group",
|
|
143
|
+
"data-layer": layer,
|
|
144
|
+
"data-type": 'column',
|
|
145
|
+
key: onlyKey,
|
|
146
|
+
className: prefix('column'),
|
|
147
|
+
style: {
|
|
148
|
+
height: menuHeight,
|
|
149
|
+
width: menuWidth
|
|
150
|
+
}
|
|
151
|
+
}, renderMenu ? renderMenu(children, menu, parentNode, layer) : menu);
|
|
152
|
+
});
|
|
153
|
+
var styles = _extends({}, style, {
|
|
154
|
+
width: cascadeData.length * menuWidth
|
|
155
|
+
});
|
|
156
|
+
return /*#__PURE__*/React.createElement(Component, _extends({
|
|
157
|
+
role: "tree",
|
|
158
|
+
id: id + "-" + popupType,
|
|
159
|
+
"aria-labelledby": labelId
|
|
160
|
+
}, rest, {
|
|
161
|
+
ref: mergeRefs(rootRef, ref),
|
|
162
|
+
className: classes,
|
|
163
|
+
style: styles
|
|
164
|
+
}), cascadeNodes);
|
|
165
|
+
});
|
|
166
|
+
TreeView.displayName = 'TreeView';
|
|
167
|
+
export default TreeView;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import React from 'react';
|
|
2
2
|
import { PickerLocale } from '../locales';
|
|
3
3
|
import { PickerHandle, PickerToggleProps } from '../Picker';
|
|
4
4
|
import { ItemDataType, FormControlPickerProps } from '../@types/common';
|
|
@@ -12,7 +12,7 @@ export interface CheckPickerProps<T> extends FormControlPickerProps<T[], PickerL
|
|
|
12
12
|
}
|
|
13
13
|
export interface CheckPickerComponent {
|
|
14
14
|
<T>(props: CheckPickerProps<T> & {
|
|
15
|
-
ref?: Ref<PickerHandle>;
|
|
15
|
+
ref?: React.Ref<PickerHandle>;
|
|
16
16
|
}): JSX.Element | null;
|
|
17
17
|
displayName?: string;
|
|
18
18
|
propTypes?: React.WeakValidationMap<CheckPickerProps<any>>;
|
|
@@ -3,7 +3,7 @@ import _taggedTemplateLiteralLoose from "@babel/runtime/helpers/esm/taggedTempla
|
|
|
3
3
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
4
4
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
5
5
|
var _templateObject;
|
|
6
|
-
import React, {
|
|
6
|
+
import React, { useState } from 'react';
|
|
7
7
|
import PropTypes from 'prop-types';
|
|
8
8
|
import clone from 'lodash/clone';
|
|
9
9
|
import isUndefined from 'lodash/isUndefined';
|
|
@@ -13,9 +13,9 @@ import omit from 'lodash/omit';
|
|
|
13
13
|
import pick from 'lodash/pick';
|
|
14
14
|
import isNil from 'lodash/isNil';
|
|
15
15
|
import { filterNodesOfTree } from '../utils/treeUtils';
|
|
16
|
-
import { createChainedFunction, useClassNames, shallowEqual, useCustom, useControlled, mergeRefs } from '../utils';
|
|
16
|
+
import { createChainedFunction, useClassNames, shallowEqual, useCustom, useControlled, useEventCallback, mergeRefs } from '../utils';
|
|
17
17
|
import { getDataGroupBy } from '../utils/getDataGroupBy';
|
|
18
|
-
import {
|
|
18
|
+
import { Listbox, ListCheckItem, PickerToggle, PickerPopup, SearchBar, SelectedElement, PickerToggleTrigger, useFocusItemValue, usePickerClassName, useSearch, useToggleKeyDownEvent, usePickerRef, pickTriggerPropKeys, omitTriggerPropKeys, listPickerPropTypes } from '../Picker';
|
|
19
19
|
var emptyArray = [];
|
|
20
20
|
/**
|
|
21
21
|
* A component for selecting checkable items in a dropdown list.
|
|
@@ -80,11 +80,13 @@ var CheckPicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
80
80
|
onClose = props.onClose,
|
|
81
81
|
onOpen = props.onOpen,
|
|
82
82
|
rest = _objectWithoutPropertiesLoose(props, ["as", "appearance", "classPrefix", "countable", "data", "disabledItemValues", "valueKey", "labelKey", "searchable", "virtualized", "cleanable", "placement", "menuAutoWidth", "menuMaxHeight", "menuClassName", "menuStyle", "locale", "placeholder", "disabled", "toggleAs", "style", "sticky", "value", "defaultValue", "groupBy", "listProps", "id", "sort", "searchBy", "renderMenuItem", "renderMenuGroup", "renderValue", "renderExtraFooter", "renderMenu", "onGroupTitleClick", "onSearch", "onEnter", "onEntered", "onExited", "onClean", "onChange", "onSelect", "onClose", "onOpen"]);
|
|
83
|
-
var
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
83
|
+
var _usePickerRef = usePickerRef(ref),
|
|
84
|
+
trigger = _usePickerRef.trigger,
|
|
85
|
+
root = _usePickerRef.root,
|
|
86
|
+
target = _usePickerRef.target,
|
|
87
|
+
overlay = _usePickerRef.overlay,
|
|
88
|
+
list = _usePickerRef.list,
|
|
89
|
+
searchInput = _usePickerRef.searchInput;
|
|
88
90
|
var _useCustom = useCustom('Picker', overrideLocale),
|
|
89
91
|
locale = _useCustom.locale;
|
|
90
92
|
var _useControlled = useControlled(valueProp, defaultValue || []),
|
|
@@ -94,18 +96,18 @@ var CheckPicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
94
96
|
data: data,
|
|
95
97
|
valueKey: valueKey,
|
|
96
98
|
target: function target() {
|
|
97
|
-
return
|
|
99
|
+
return overlay.current;
|
|
98
100
|
}
|
|
99
101
|
}),
|
|
100
102
|
focusItemValue = _useFocusItemValue.focusItemValue,
|
|
101
103
|
setFocusItemValue = _useFocusItemValue.setFocusItemValue,
|
|
102
104
|
onFocusItem = _useFocusItemValue.onKeyDown;
|
|
103
|
-
var handleSearchCallback =
|
|
105
|
+
var handleSearchCallback = useEventCallback(function (searchKeyword, filteredData, event) {
|
|
104
106
|
var _filteredData$;
|
|
105
107
|
// The first option after filtering is the focus.
|
|
106
108
|
setFocusItemValue(filteredData === null || filteredData === void 0 ? void 0 : (_filteredData$ = filteredData[0]) === null || _filteredData$ === void 0 ? void 0 : _filteredData$[valueKey]);
|
|
107
109
|
onSearch === null || onSearch === void 0 ? void 0 : onSearch(searchKeyword, event);
|
|
108
|
-
}
|
|
110
|
+
});
|
|
109
111
|
|
|
110
112
|
// Use search keywords to filter options.
|
|
111
113
|
var _useSearch = useSearch(data, {
|
|
@@ -139,17 +141,17 @@ var CheckPicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
139
141
|
}
|
|
140
142
|
setStickyItems(nextStickyItems);
|
|
141
143
|
};
|
|
142
|
-
var handleChangeValue =
|
|
144
|
+
var handleChangeValue = useEventCallback(function (value, event) {
|
|
143
145
|
onChange === null || onChange === void 0 ? void 0 : onChange(value, event);
|
|
144
|
-
}
|
|
145
|
-
var handleClean =
|
|
146
|
+
});
|
|
147
|
+
var handleClean = useEventCallback(function (event) {
|
|
146
148
|
if (disabled || !cleanable) {
|
|
147
149
|
return;
|
|
148
150
|
}
|
|
149
151
|
setValue([]);
|
|
150
152
|
onClean === null || onClean === void 0 ? void 0 : onClean(event);
|
|
151
153
|
handleChangeValue([], event);
|
|
152
|
-
}
|
|
154
|
+
});
|
|
153
155
|
var handleMenuPressEnter = function handleMenuPressEnter(event) {
|
|
154
156
|
var nextValue = clone(value);
|
|
155
157
|
if (!focusItemValue) {
|
|
@@ -173,10 +175,10 @@ var CheckPicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
173
175
|
};
|
|
174
176
|
var onPickerKeyDown = useToggleKeyDownEvent(_extends({
|
|
175
177
|
toggle: !focusItemValue || !active,
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
178
|
+
trigger: trigger,
|
|
179
|
+
target: target,
|
|
180
|
+
overlay: overlay,
|
|
181
|
+
searchInput: searchInput,
|
|
180
182
|
active: active,
|
|
181
183
|
onExit: handleClean,
|
|
182
184
|
onMenuKeyDown: onFocusItem,
|
|
@@ -186,10 +188,10 @@ var CheckPicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
186
188
|
setFocusItemValue(null);
|
|
187
189
|
}
|
|
188
190
|
}, rest));
|
|
189
|
-
var handleSelect =
|
|
191
|
+
var handleSelect = useEventCallback(function (nextItemValue, item, event) {
|
|
190
192
|
onSelect === null || onSelect === void 0 ? void 0 : onSelect(nextItemValue, item, event);
|
|
191
|
-
}
|
|
192
|
-
var handleItemSelect =
|
|
193
|
+
});
|
|
194
|
+
var handleItemSelect = useEventCallback(function (nextItemValue, item, event, checked) {
|
|
193
195
|
var nextValue = clone(value);
|
|
194
196
|
if (checked) {
|
|
195
197
|
nextValue.push(nextItemValue);
|
|
@@ -202,22 +204,16 @@ var CheckPicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
202
204
|
setFocusItemValue(nextItemValue);
|
|
203
205
|
handleSelect(nextValue, item, event);
|
|
204
206
|
handleChangeValue(nextValue, event);
|
|
205
|
-
}
|
|
206
|
-
var handleEntered =
|
|
207
|
+
});
|
|
208
|
+
var handleEntered = useEventCallback(function () {
|
|
207
209
|
setActive(true);
|
|
208
210
|
onOpen === null || onOpen === void 0 ? void 0 : onOpen();
|
|
209
|
-
}
|
|
210
|
-
var handleExited =
|
|
211
|
+
});
|
|
212
|
+
var handleExited = useEventCallback(function () {
|
|
211
213
|
resetSearch();
|
|
212
214
|
setFocusItemValue(null);
|
|
213
215
|
setActive(false);
|
|
214
216
|
onClose === null || onClose === void 0 ? void 0 : onClose();
|
|
215
|
-
}, [onClose, setFocusItemValue, resetSearch]);
|
|
216
|
-
usePublicMethods(ref, {
|
|
217
|
-
triggerRef: triggerRef,
|
|
218
|
-
overlayRef: overlayRef,
|
|
219
|
-
targetRef: targetRef,
|
|
220
|
-
listRef: listRef
|
|
221
217
|
});
|
|
222
218
|
var selectedItems = data.filter(function (item) {
|
|
223
219
|
return value === null || value === void 0 ? void 0 : value.some(function (val) {
|
|
@@ -250,7 +246,7 @@ var CheckPicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
250
246
|
hasValue = false;
|
|
251
247
|
}
|
|
252
248
|
}
|
|
253
|
-
var
|
|
249
|
+
var renderPopup = function renderPopup(positionProps, speakerRef) {
|
|
254
250
|
var left = positionProps.left,
|
|
255
251
|
top = positionProps.top,
|
|
256
252
|
className = positionProps.className;
|
|
@@ -278,10 +274,9 @@ var CheckPicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
278
274
|
} else if (typeof sort === 'function') {
|
|
279
275
|
items = items.sort(sort(false));
|
|
280
276
|
}
|
|
281
|
-
var menu = items.length || filteredStickyItems.length ? /*#__PURE__*/React.createElement(
|
|
282
|
-
id: id ? id + "-listbox" : undefined,
|
|
277
|
+
var menu = items.length || filteredStickyItems.length ? /*#__PURE__*/React.createElement(Listbox, {
|
|
283
278
|
listProps: listProps,
|
|
284
|
-
listRef:
|
|
279
|
+
listRef: list,
|
|
285
280
|
disabledItemValues: disabledItemValues,
|
|
286
281
|
valueKey: valueKey,
|
|
287
282
|
labelKey: labelKey,
|
|
@@ -289,7 +284,7 @@ var CheckPicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
289
284
|
renderMenuItem: renderMenuItem,
|
|
290
285
|
maxHeight: menuMaxHeight,
|
|
291
286
|
classPrefix: 'picker-check-menu',
|
|
292
|
-
|
|
287
|
+
listItemAs: ListCheckItem,
|
|
293
288
|
activeItemValues: value,
|
|
294
289
|
focusItemValue: focusItemValue,
|
|
295
290
|
data: [].concat(filteredStickyItems, items)
|
|
@@ -303,18 +298,18 @@ var CheckPicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
303
298
|
}) : /*#__PURE__*/React.createElement("div", {
|
|
304
299
|
className: prefix(_templateObject || (_templateObject = _taggedTemplateLiteralLoose(["none"])))
|
|
305
300
|
}, locale === null || locale === void 0 ? void 0 : locale.noResultsText);
|
|
306
|
-
return /*#__PURE__*/React.createElement(
|
|
307
|
-
ref: mergeRefs(
|
|
301
|
+
return /*#__PURE__*/React.createElement(PickerPopup, {
|
|
302
|
+
ref: mergeRefs(overlay, speakerRef),
|
|
308
303
|
autoWidth: menuAutoWidth,
|
|
309
304
|
className: classes,
|
|
310
305
|
style: styles,
|
|
311
306
|
onKeyDown: onPickerKeyDown,
|
|
312
|
-
target:
|
|
307
|
+
target: trigger
|
|
313
308
|
}, searchable && /*#__PURE__*/React.createElement(SearchBar, {
|
|
314
309
|
placeholder: locale === null || locale === void 0 ? void 0 : locale.searchPlaceholder,
|
|
315
310
|
onChange: handleSearch,
|
|
316
311
|
value: searchKeyword,
|
|
317
|
-
inputRef:
|
|
312
|
+
inputRef: searchInput
|
|
318
313
|
}), renderMenu ? renderMenu(menu) : menu, renderExtraFooter === null || renderExtraFooter === void 0 ? void 0 : renderExtraFooter());
|
|
319
314
|
};
|
|
320
315
|
var _usePickerClassName = usePickerClassName(_extends({}, props, {
|
|
@@ -328,19 +323,21 @@ var CheckPicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
328
323
|
classes = _usePickerClassName[0],
|
|
329
324
|
usedClassNamePropKeys = _usePickerClassName[1];
|
|
330
325
|
return /*#__PURE__*/React.createElement(PickerToggleTrigger, {
|
|
326
|
+
id: id,
|
|
327
|
+
multiple: true,
|
|
331
328
|
pickerProps: pick(props, pickTriggerPropKeys),
|
|
332
|
-
ref:
|
|
329
|
+
ref: trigger,
|
|
333
330
|
placement: placement,
|
|
334
331
|
onEnter: createChainedFunction(initStickyItems, onEnter),
|
|
335
332
|
onEntered: createChainedFunction(handleEntered, onEntered),
|
|
336
333
|
onExited: createChainedFunction(handleExited, onExited),
|
|
337
|
-
speaker:
|
|
334
|
+
speaker: renderPopup
|
|
338
335
|
}, /*#__PURE__*/React.createElement(Component, {
|
|
339
336
|
className: classes,
|
|
340
|
-
style: style
|
|
337
|
+
style: style,
|
|
338
|
+
ref: root
|
|
341
339
|
}, /*#__PURE__*/React.createElement(PickerToggle, _extends({}, omit(rest, [].concat(omitTriggerPropKeys, usedClassNamePropKeys)), {
|
|
342
|
-
|
|
343
|
-
ref: targetRef,
|
|
340
|
+
ref: target,
|
|
344
341
|
appearance: appearance,
|
|
345
342
|
disabled: disabled,
|
|
346
343
|
onClean: handleClean,
|
|
@@ -350,7 +347,8 @@ var CheckPicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
350
347
|
hasValue: hasValue,
|
|
351
348
|
active: active,
|
|
352
349
|
placement: placement,
|
|
353
|
-
inputValue: value
|
|
350
|
+
inputValue: value,
|
|
351
|
+
focusItemValue: focusItemValue
|
|
354
352
|
}), selectedElement || (locale === null || locale === void 0 ? void 0 : locale.placeholder))));
|
|
355
353
|
});
|
|
356
354
|
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;
|
|
@@ -1,13 +1,12 @@
|
|
|
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 ArrowDown from '@rsuite/icons/legacy/ArrowDown';
|
|
7
6
|
import Spinner from '@rsuite/icons/legacy/Spinner';
|
|
8
|
-
import
|
|
7
|
+
import ListCheckItem from '../Picker/ListCheckItem';
|
|
9
8
|
import { getTreeNodeIndent } from '../utils/treeUtils';
|
|
10
|
-
import { useClassNames, CHECK_STATE, reactToString } from '../utils';
|
|
9
|
+
import { useClassNames, useEventCallback, CHECK_STATE, reactToString } from '../utils';
|
|
11
10
|
var CheckTreeNode = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
12
11
|
var _ref$as = _ref.as,
|
|
13
12
|
Component = _ref$as === void 0 ? 'div' : _ref$as,
|
|
@@ -29,11 +28,12 @@ var CheckTreeNode = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
|
29
28
|
label = _ref.label,
|
|
30
29
|
uncheckable = _ref.uncheckable,
|
|
31
30
|
checkState = _ref.checkState,
|
|
31
|
+
value = _ref.value,
|
|
32
32
|
onExpand = _ref.onExpand,
|
|
33
33
|
onSelect = _ref.onSelect,
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
rest = _objectWithoutPropertiesLoose(_ref, ["as", "style", "className", "classPrefix", "visible", "layer", "disabled", "allUncheckable", "rtl", "loading", "expand", "hasChildren", "nodeData", "focus", "label", "uncheckable", "checkState", "onExpand", "onSelect", "
|
|
34
|
+
renderTreeIcon = _ref.renderTreeIcon,
|
|
35
|
+
renderTreeNode = _ref.renderTreeNode,
|
|
36
|
+
rest = _objectWithoutPropertiesLoose(_ref, ["as", "style", "className", "classPrefix", "visible", "layer", "disabled", "allUncheckable", "rtl", "loading", "expand", "hasChildren", "nodeData", "focus", "label", "uncheckable", "checkState", "value", "onExpand", "onSelect", "renderTreeIcon", "renderTreeNode"]);
|
|
37
37
|
var _useClassNames = useClassNames(classPrefix),
|
|
38
38
|
prefix = _useClassNames.prefix,
|
|
39
39
|
merge = _useClassNames.merge,
|
|
@@ -46,13 +46,13 @@ var CheckTreeNode = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
|
46
46
|
return nodes.join('');
|
|
47
47
|
}
|
|
48
48
|
};
|
|
49
|
-
var handleExpand =
|
|
49
|
+
var handleExpand = useEventCallback(function (event) {
|
|
50
50
|
var _event$nativeEvent, _event$nativeEvent$st;
|
|
51
51
|
// stop propagation when using custom loading icon
|
|
52
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);
|
|
53
53
|
onExpand === null || onExpand === void 0 ? void 0 : onExpand(nodeData);
|
|
54
|
-
}
|
|
55
|
-
var handleSelect =
|
|
54
|
+
});
|
|
55
|
+
var handleSelect = useEventCallback(function (_value, event) {
|
|
56
56
|
if (disabled || uncheckable) {
|
|
57
57
|
return;
|
|
58
58
|
}
|
|
@@ -67,7 +67,7 @@ var CheckTreeNode = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
|
67
67
|
check: isChecked
|
|
68
68
|
});
|
|
69
69
|
onSelect === null || onSelect === void 0 ? void 0 : onSelect(nextNodeData, event);
|
|
70
|
-
}
|
|
70
|
+
});
|
|
71
71
|
var renderIcon = function renderIcon() {
|
|
72
72
|
var expandIconClasses = prefix('expand-icon', 'icon', {
|
|
73
73
|
expanded: expand
|
|
@@ -82,8 +82,8 @@ var CheckTreeNode = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
|
82
82
|
spin: true
|
|
83
83
|
}));
|
|
84
84
|
}
|
|
85
|
-
if (typeof
|
|
86
|
-
var customIcon =
|
|
85
|
+
if (typeof renderTreeIcon === 'function') {
|
|
86
|
+
var customIcon = renderTreeIcon(nodeData);
|
|
87
87
|
expandIcon = customIcon !== null ? /*#__PURE__*/React.createElement("div", {
|
|
88
88
|
className: prefix('custom-icon')
|
|
89
89
|
}, customIcon) : expandIcon;
|
|
@@ -96,23 +96,6 @@ var CheckTreeNode = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
|
96
96
|
onClick: handleExpand
|
|
97
97
|
}, expandIcon) : null;
|
|
98
98
|
};
|
|
99
|
-
var renderLabel = function renderLabel() {
|
|
100
|
-
return /*#__PURE__*/React.createElement(DropdownMenuCheckItem, {
|
|
101
|
-
as: "div",
|
|
102
|
-
active: checkState === CHECK_STATE.CHECK,
|
|
103
|
-
indeterminate: checkState === CHECK_STATE.INDETERMINATE,
|
|
104
|
-
focus: focus,
|
|
105
|
-
checkable: !uncheckable,
|
|
106
|
-
disabled: disabled,
|
|
107
|
-
"data-layer": layer,
|
|
108
|
-
value: nodeData.refKey,
|
|
109
|
-
className: prefix('label'),
|
|
110
|
-
title: getTitle(),
|
|
111
|
-
onSelect: handleSelect
|
|
112
|
-
}, /*#__PURE__*/React.createElement("span", {
|
|
113
|
-
className: prefix('text-wrapper')
|
|
114
|
-
}, typeof onRenderTreeNode === 'function' ? onRenderTreeNode(nodeData) : label));
|
|
115
|
-
};
|
|
116
99
|
var classes = merge(className, withClassPrefix({
|
|
117
100
|
disabled: disabled,
|
|
118
101
|
'all-uncheckable': !!allUncheckable,
|
|
@@ -120,42 +103,31 @@ var CheckTreeNode = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
|
120
103
|
focus: focus
|
|
121
104
|
}));
|
|
122
105
|
var styles = _extends({}, style, getTreeNodeIndent(rtl, layer - 1));
|
|
123
|
-
return visible ? /*#__PURE__*/React.createElement(Component, _extends({
|
|
106
|
+
return visible ? /*#__PURE__*/React.createElement(Component, _extends({}, rest, {
|
|
107
|
+
style: styles,
|
|
108
|
+
className: classes,
|
|
109
|
+
ref: ref
|
|
110
|
+
}), renderIcon(), /*#__PURE__*/React.createElement(ListCheckItem, {
|
|
111
|
+
as: "div",
|
|
124
112
|
role: "treeitem",
|
|
125
113
|
"aria-label": label,
|
|
126
114
|
"aria-expanded": expand,
|
|
127
115
|
"aria-selected": checkState === CHECK_STATE.CHECK,
|
|
128
116
|
"aria-disabled": disabled,
|
|
129
|
-
"aria-level": layer
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
117
|
+
"aria-level": layer,
|
|
118
|
+
active: checkState === CHECK_STATE.CHECK,
|
|
119
|
+
indeterminate: checkState === CHECK_STATE.INDETERMINATE,
|
|
120
|
+
focus: focus,
|
|
121
|
+
checkable: !uncheckable,
|
|
122
|
+
disabled: disabled,
|
|
123
|
+
"data-layer": layer,
|
|
124
|
+
value: nodeData.refKey || value,
|
|
125
|
+
className: prefix('label'),
|
|
126
|
+
title: getTitle(),
|
|
127
|
+
onSelect: handleSelect
|
|
128
|
+
}, /*#__PURE__*/React.createElement("span", {
|
|
129
|
+
className: prefix('text-wrapper')
|
|
130
|
+
}, typeof renderTreeNode === 'function' ? renderTreeNode(nodeData) : label))) : null;
|
|
135
131
|
});
|
|
136
132
|
CheckTreeNode.displayName = 'CheckTreeNode';
|
|
137
|
-
CheckTreeNode.propTypes = {
|
|
138
|
-
as: PropTypes.elementType,
|
|
139
|
-
rtl: PropTypes.bool,
|
|
140
|
-
classPrefix: PropTypes.string,
|
|
141
|
-
visible: PropTypes.bool,
|
|
142
|
-
style: PropTypes.object,
|
|
143
|
-
label: PropTypes.any,
|
|
144
|
-
layer: PropTypes.number,
|
|
145
|
-
loading: PropTypes.bool,
|
|
146
|
-
value: PropTypes.any,
|
|
147
|
-
focus: PropTypes.bool,
|
|
148
|
-
expand: PropTypes.bool,
|
|
149
|
-
nodeData: PropTypes.object,
|
|
150
|
-
disabled: PropTypes.bool,
|
|
151
|
-
className: PropTypes.string,
|
|
152
|
-
checkState: PropTypes.oneOf([CHECK_STATE.UNCHECK, CHECK_STATE.CHECK, CHECK_STATE.INDETERMINATE]),
|
|
153
|
-
hasChildren: PropTypes.bool,
|
|
154
|
-
uncheckable: PropTypes.bool,
|
|
155
|
-
allUncheckable: PropTypes.bool,
|
|
156
|
-
onExpand: PropTypes.func,
|
|
157
|
-
onSelect: PropTypes.func,
|
|
158
|
-
onRenderTreeIcon: PropTypes.func,
|
|
159
|
-
onRenderTreeNode: PropTypes.func
|
|
160
|
-
};
|
|
161
133
|
export default CheckTreeNode;
|