rsuite 5.53.1 → 5.53.2
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 +10 -0
- package/cjs/CheckTreePicker/CheckTreePicker.js +20 -10
- package/cjs/TreePicker/TreePicker.js +20 -11
- package/cjs/internals/Picker/ListCheckItem.js +0 -1
- package/dist/rsuite.js +3 -3
- package/dist/rsuite.min.js +1 -1
- package/dist/rsuite.min.js.map +1 -1
- package/esm/CheckTreePicker/CheckTreePicker.js +20 -10
- package/esm/TreePicker/TreePicker.js +20 -11
- package/esm/internals/Picker/ListCheckItem.js +0 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,13 @@
|
|
|
1
|
+
## [5.53.2](https://github.com/rsuite/rsuite/compare/v5.53.1...v5.53.2) (2024-02-06)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Bug Fixes
|
|
5
|
+
|
|
6
|
+
* **CheckPicker:** remove debug script ([#3615](https://github.com/rsuite/rsuite/issues/3615)) ([62285da](https://github.com/rsuite/rsuite/commit/62285da3f238dceeb2f75c168cc07bbacf0a52ce))
|
|
7
|
+
* **Tree,CheckTree:** fix `classPrefix` and `className` not working correctly ([#3616](https://github.com/rsuite/rsuite/issues/3616)) ([c82cb91](https://github.com/rsuite/rsuite/commit/c82cb919a12be2bd94e7bf1018e3f3c8aa522c1f))
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
|
|
1
11
|
## [5.53.1](https://github.com/rsuite/rsuite/compare/v5.53.0...v5.53.1) (2024-02-06)
|
|
2
12
|
|
|
3
13
|
|
|
@@ -135,7 +135,7 @@ var CheckTreePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
135
135
|
var _useClassNames = (0, _utils.useClassNames)(classPrefix),
|
|
136
136
|
prefix = _useClassNames.prefix,
|
|
137
137
|
merge = _useClassNames.merge;
|
|
138
|
-
var _useClassNames2 = (0, _utils.useClassNames)('check-tree'),
|
|
138
|
+
var _useClassNames2 = (0, _utils.useClassNames)(inline && classPrefix !== 'picker' ? classPrefix : 'check-tree'),
|
|
139
139
|
checkTreePrefix = _useClassNames2.prefix,
|
|
140
140
|
withCheckTreeClassPrefix = _useClassNames2.withClassPrefix;
|
|
141
141
|
var _useControlled = (0, _utils.useControlled)(controlledValue, defaultValue),
|
|
@@ -607,8 +607,11 @@ var CheckTreePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
607
607
|
}, nodeProps));
|
|
608
608
|
};
|
|
609
609
|
var renderCheckTree = function renderCheckTree() {
|
|
610
|
-
var
|
|
611
|
-
var classes = withCheckTreeClassPrefix(
|
|
610
|
+
var _merge2, _merge3;
|
|
611
|
+
var classes = merge(withCheckTreeClassPrefix({
|
|
612
|
+
'without-children': !(0, _utils2.isSomeNodeHasChildren)(data, childrenKey),
|
|
613
|
+
virtualized: virtualized
|
|
614
|
+
}), (_merge2 = {}, _merge2[className !== null && className !== void 0 ? className : ''] = inline, _merge2));
|
|
612
615
|
var formattedNodes = getFormattedNodes(renderNode);
|
|
613
616
|
if (!formattedNodes.some(function (v) {
|
|
614
617
|
return v !== null;
|
|
@@ -617,18 +620,25 @@ var CheckTreePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
617
620
|
className: prefix('none')
|
|
618
621
|
}, locale.noResultsText);
|
|
619
622
|
}
|
|
620
|
-
var treeNodesClass = merge(checkTreePrefix('root'), (
|
|
621
|
-
|
|
622
|
-
ref:
|
|
623
|
+
var treeNodesClass = merge(checkTreePrefix('root'), (_merge3 = {}, _merge3[checkTreePrefix('all-uncheckable')] = (0, _utils2.isEveryFirstLevelNodeUncheckable)(flattenNodes, uncheckableItemValues, valueKey), _merge3));
|
|
624
|
+
var treeViewProps = {
|
|
625
|
+
ref: treeView
|
|
626
|
+
};
|
|
627
|
+
if (inline) {
|
|
628
|
+
treeViewProps = (0, _extends2.default)({
|
|
629
|
+
ref: root,
|
|
630
|
+
style: (0, _extends2.default)({
|
|
631
|
+
height: height
|
|
632
|
+
}, style)
|
|
633
|
+
}, rest);
|
|
634
|
+
}
|
|
635
|
+
return /*#__PURE__*/_react.default.createElement(_Picker.TreeView, (0, _extends2.default)({}, treeViewProps, {
|
|
623
636
|
multiselectable: true,
|
|
624
637
|
treeRootClassName: treeNodesClass,
|
|
625
638
|
className: classes,
|
|
626
|
-
style: inline ? (0, _extends2.default)({
|
|
627
|
-
height: height
|
|
628
|
-
}, style) : {},
|
|
629
639
|
onScroll: onScroll,
|
|
630
640
|
onKeyDown: inline ? handleTreeKeydown : undefined
|
|
631
|
-
}, virtualized ? /*#__PURE__*/_react.default.createElement(_Windowing.AutoSizer, {
|
|
641
|
+
}), virtualized ? /*#__PURE__*/_react.default.createElement(_Windowing.AutoSizer, {
|
|
632
642
|
defaultHeight: inline ? height : menuMaxHeight,
|
|
633
643
|
style: {
|
|
634
644
|
width: 'auto',
|
|
@@ -162,7 +162,7 @@ var TreePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
162
162
|
var _useClassNames = (0, _utils.useClassNames)(classPrefix),
|
|
163
163
|
prefix = _useClassNames.prefix,
|
|
164
164
|
merge = _useClassNames.merge;
|
|
165
|
-
var _useClassNames2 = (0, _utils.useClassNames)('tree'),
|
|
165
|
+
var _useClassNames2 = (0, _utils.useClassNames)(inline && classPrefix !== 'picker' ? classPrefix : 'tree'),
|
|
166
166
|
treePrefix = _useClassNames2.prefix,
|
|
167
167
|
withTreeClassPrefix = _useClassNames2.withClassPrefix;
|
|
168
168
|
var _useTreeSearch = (0, _treeUtils.useTreeSearch)({
|
|
@@ -589,18 +589,27 @@ var TreePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
589
589
|
}, nodeProps));
|
|
590
590
|
};
|
|
591
591
|
var renderTree = function renderTree() {
|
|
592
|
-
var
|
|
593
|
-
var classes = withTreeClassPrefix(
|
|
592
|
+
var _merge2;
|
|
593
|
+
var classes = merge(withTreeClassPrefix({
|
|
594
|
+
virtualized: virtualized
|
|
595
|
+
}), (_merge2 = {}, _merge2[className !== null && className !== void 0 ? className : ''] = inline, _merge2));
|
|
594
596
|
var formattedNodes = getFormattedNodes(renderNode);
|
|
595
|
-
|
|
597
|
+
var treeViewProps = {
|
|
598
|
+
ref: treeView
|
|
599
|
+
};
|
|
600
|
+
if (inline) {
|
|
601
|
+
treeViewProps = (0, _extends2.default)({
|
|
602
|
+
ref: root,
|
|
603
|
+
style: (0, _extends2.default)({
|
|
604
|
+
height: height
|
|
605
|
+
}, style),
|
|
606
|
+
onKeyDown: handleTreeKeyDown
|
|
607
|
+
}, rest);
|
|
608
|
+
}
|
|
609
|
+
return /*#__PURE__*/_react.default.createElement(_Picker.TreeView, (0, _extends2.default)({}, treeViewProps, {
|
|
596
610
|
treeRootClassName: treePrefix('root'),
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
style: inline ? (0, _extends2.default)({
|
|
600
|
-
height: height
|
|
601
|
-
}, style) : {},
|
|
602
|
-
onKeyDown: inline ? handleTreeKeyDown : undefined
|
|
603
|
-
}, virtualized ? /*#__PURE__*/_react.default.createElement(_Windowing.AutoSizer, {
|
|
611
|
+
className: classes
|
|
612
|
+
}), virtualized ? /*#__PURE__*/_react.default.createElement(_Windowing.AutoSizer, {
|
|
604
613
|
defaultHeight: inline ? height : menuMaxHeight,
|
|
605
614
|
style: {
|
|
606
615
|
width: 'auto',
|
|
@@ -70,7 +70,6 @@ var ListCheckItem = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
70
70
|
onClick: handleSelectItem,
|
|
71
71
|
onCheckboxClick: handleCheck
|
|
72
72
|
};
|
|
73
|
-
console.log(className, 'className');
|
|
74
73
|
return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({
|
|
75
74
|
role: "option",
|
|
76
75
|
"aria-selected": active,
|
package/dist/rsuite.js
CHANGED
|
@@ -6494,7 +6494,7 @@ eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/he
|
|
|
6494
6494
|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
6495
6495
|
|
|
6496
6496
|
"use strict";
|
|
6497
|
-
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\nvar _interopRequireWildcard = __webpack_require__(/*! @babel/runtime/helpers/interopRequireWildcard */ \"./node_modules/@babel/runtime/helpers/interopRequireWildcard.js\");\nexports.__esModule = true;\nexports[\"default\"] = void 0;\nvar _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\"));\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutPropertiesLoose */ \"./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js\"));\nvar _isUndefined2 = _interopRequireDefault(__webpack_require__(/*! lodash/isUndefined */ \"./node_modules/lodash/isUndefined.js\"));\nvar _cloneDeep2 = _interopRequireDefault(__webpack_require__(/*! lodash/cloneDeep */ \"./node_modules/lodash/cloneDeep.js\"));\nvar _omit2 = _interopRequireDefault(__webpack_require__(/*! lodash/omit */ \"./node_modules/lodash/omit.js\"));\nvar _isFunction2 = _interopRequireDefault(__webpack_require__(/*! lodash/isFunction */ \"./node_modules/lodash/isFunction.js\"));\nvar _pick2 = _interopRequireDefault(__webpack_require__(/*! lodash/pick */ \"./node_modules/lodash/pick.js\"));\nvar _isNil2 = _interopRequireDefault(__webpack_require__(/*! lodash/isNil */ \"./node_modules/lodash/isNil.js\"));\nvar _react = _interopRequireWildcard(__webpack_require__(/*! react */ \"react\"));\nvar _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\"));\nvar _classnames = _interopRequireDefault(__webpack_require__(/*! classnames */ \"./node_modules/classnames/index.js\"));\nvar _Windowing = __webpack_require__(/*! ../internals/Windowing */ \"./src/internals/Windowing/index.ts\");\nvar _CheckTreeNode = _interopRequireDefault(__webpack_require__(/*! ./CheckTreeNode */ \"./src/CheckTreePicker/CheckTreeNode.tsx\"));\nvar _TreeContext = _interopRequireDefault(__webpack_require__(/*! ../Tree/TreeContext */ \"./src/Tree/TreeContext.ts\"));\nvar _treeUtils = __webpack_require__(/*! ../utils/treeUtils */ \"./src/utils/treeUtils.ts\");\nvar _utils = __webpack_require__(/*! ../utils */ \"./src/utils/index.ts\");\nvar _Picker = __webpack_require__(/*! ../internals/Picker */ \"./src/internals/Picker/index.ts\");\nvar _SearchBox = _interopRequireDefault(__webpack_require__(/*! ../internals/SearchBox */ \"./src/internals/SearchBox/index.tsx\"));\nvar _utils2 = __webpack_require__(/*! ./utils */ \"./src/CheckTreePicker/utils.ts\");\nvar _propTypes2 = __webpack_require__(/*! ../internals/propTypes */ \"./src/internals/propTypes/index.ts\");\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/CheckTreePicker/CheckTreePicker.tsx\",\n _this = void 0;\nvar emptyArray = [];\nvar itemSize = function itemSize() {\n return 36;\n};\n\n/**\n * The `CheckTreePicker` component is used for selecting multiple options which are organized in a tree structure.\n *\n * @see https://rsuitejs.com/components/check-tree-picker\n */\nvar CheckTreePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n var _props$as = props.as,\n Component = _props$as === void 0 ? 'div' : _props$as,\n _props$data = props.data,\n data = _props$data === void 0 ? emptyArray : _props$data,\n style = props.style,\n _props$appearance = props.appearance,\n appearance = _props$appearance === void 0 ? 'default' : _props$appearance,\n _props$cleanable = props.cleanable,\n cleanable = _props$cleanable === void 0 ? true : _props$cleanable,\n _props$countable = props.countable,\n countable = _props$countable === void 0 ? true : _props$countable,\n searchBy = props.searchBy,\n toggleAs = props.toggleAs,\n searchKeyword = props.searchKeyword,\n showIndentLine = props.showIndentLine,\n overrideLocale = props.locale,\n _props$cascade = props.cascade,\n cascade = _props$cascade === void 0 ? true : _props$cascade,\n disabled = props.disabled,\n _props$valueKey = props.valueKey,\n valueKey = _props$valueKey === void 0 ? 'value' : _props$valueKey,\n _props$labelKey = props.labelKey,\n labelKey = _props$labelKey === void 0 ? 'label' : _props$labelKey,\n _props$placement = props.placement,\n placement = _props$placement === void 0 ? 'bottomStart' : _props$placement,\n _props$childrenKey = props.childrenKey,\n childrenKey = _props$childrenKey === void 0 ? 'children' : _props$childrenKey,\n placeholder = props.placeholder,\n controlledValue = props.value,\n _props$defaultValue = props.defaultValue,\n defaultValue = _props$defaultValue === void 0 ? emptyArray : _props$defaultValue,\n _props$defaultExpandA = props.defaultExpandAll,\n defaultExpandAll = _props$defaultExpandA === void 0 ? false : _props$defaultExpandA,\n _props$disabledItemVa = props.disabledItemValues,\n disabledItemValues = _props$disabledItemVa === void 0 ? emptyArray : _props$disabledItemVa,\n controlledExpandItemValues = props.expandItemValues,\n _props$defaultExpandI = props.defaultExpandItemValues,\n defaultExpandItemValues = _props$defaultExpandI === void 0 ? emptyArray : _props$defaultExpandI,\n _props$height = props.height,\n height = _props$height === void 0 ? 360 : _props$height,\n _props$menuMaxHeight = props.menuMaxHeight,\n menuMaxHeight = _props$menuMaxHeight === void 0 ? 320 : _props$menuMaxHeight,\n menuStyle = props.menuStyle,\n _props$searchable = props.searchable,\n searchable = _props$searchable === void 0 ? true : _props$searchable,\n _props$virtualized = props.virtualized,\n virtualized = _props$virtualized === void 0 ? false : _props$virtualized,\n className = props.className,\n _props$classPrefix = props.classPrefix,\n classPrefix = _props$classPrefix === void 0 ? 'picker' : _props$classPrefix,\n menuClassName = props.menuClassName,\n _props$menuAutoWidth = props.menuAutoWidth,\n menuAutoWidth = _props$menuAutoWidth === void 0 ? true : _props$menuAutoWidth,\n _props$uncheckableIte = props.uncheckableItemValues,\n uncheckableItemValues = _props$uncheckableIte === void 0 ? emptyArray : _props$uncheckableIte,\n id = props.id,\n listProps = props.listProps,\n renderMenu = props.renderMenu,\n getChildren = props.getChildren,\n renderExtraFooter = props.renderExtraFooter,\n onEntered = props.onEntered,\n onChange = props.onChange,\n onClean = props.onClean,\n onClose = props.onClose,\n onExited = props.onExited,\n onSearch = props.onSearch,\n onSelect = props.onSelect,\n onSelectItem = props.onSelectItem,\n onOpen = props.onOpen,\n onScroll = props.onScroll,\n onExpand = props.onExpand,\n renderValue = props.renderValue,\n renderTreeIcon = props.renderTreeIcon,\n renderTreeNode = props.renderTreeNode,\n rest = (0, _objectWithoutPropertiesLoose2.default)(props, [\"as\", \"data\", \"style\", \"appearance\", \"cleanable\", \"countable\", \"searchBy\", \"toggleAs\", \"searchKeyword\", \"showIndentLine\", \"locale\", \"cascade\", \"disabled\", \"valueKey\", \"labelKey\", \"placement\", \"childrenKey\", \"placeholder\", \"value\", \"defaultValue\", \"defaultExpandAll\", \"disabledItemValues\", \"expandItemValues\", \"defaultExpandItemValues\", \"height\", \"menuMaxHeight\", \"menuStyle\", \"searchable\", \"virtualized\", \"className\", \"classPrefix\", \"menuClassName\", \"menuAutoWidth\", \"uncheckableItemValues\", \"id\", \"listProps\", \"renderMenu\", \"getChildren\", \"renderExtraFooter\", \"onEntered\", \"onChange\", \"onClean\", \"onClose\", \"onExited\", \"onSearch\", \"onSelect\", \"onSelectItem\", \"onOpen\", \"onScroll\", \"onExpand\", \"renderValue\", \"renderTreeIcon\", \"renderTreeNode\"]);\n var _useContext = (0, _react.useContext)(_TreeContext.default),\n inline = _useContext.inline;\n var _usePickerRef = (0, _Picker.usePickerRef)(ref, {\n inline: inline\n }),\n trigger = _usePickerRef.trigger,\n root = _usePickerRef.root,\n target = _usePickerRef.target,\n overlay = _usePickerRef.overlay,\n list = _usePickerRef.list,\n searchInput = _usePickerRef.searchInput,\n treeView = _usePickerRef.treeView;\n var _useCustom = (0, _utils.useCustom)('Picker', overrideLocale),\n rtl = _useCustom.rtl,\n locale = _useCustom.locale;\n var _useState = (0, _react.useState)(false),\n active = _useState[0],\n setActive = _useState[1];\n var _useState2 = (0, _react.useState)(null),\n activeNode = _useState2[0],\n setActiveNode = _useState2[1];\n var _useClassNames = (0, _utils.useClassNames)(classPrefix),\n prefix = _useClassNames.prefix,\n merge = _useClassNames.merge;\n var _useClassNames2 = (0, _utils.useClassNames)('check-tree'),\n checkTreePrefix = _useClassNames2.prefix,\n withCheckTreeClassPrefix = _useClassNames2.withClassPrefix;\n var _useControlled = (0, _utils.useControlled)(controlledValue, defaultValue),\n value = _useControlled[0],\n setValue = _useControlled[1],\n isControlled = _useControlled[2];\n var _useGetTreeNodeChildr = (0, _treeUtils.useGetTreeNodeChildren)(data, valueKey, childrenKey),\n treeData = _useGetTreeNodeChildr.data,\n setTreeData = _useGetTreeNodeChildr.setData,\n loadingNodeValues = _useGetTreeNodeChildr.loadingNodeValues,\n loadChildren = _useGetTreeNodeChildr.loadChildren;\n var _useControlled2 = (0, _utils.useControlled)(controlledExpandItemValues, (0, _treeUtils.getDefaultExpandItemValues)(treeData, {\n defaultExpandAll: defaultExpandAll,\n valueKey: valueKey,\n childrenKey: childrenKey,\n defaultExpandItemValues: defaultExpandItemValues\n })),\n expandItemValues = _useControlled2[0],\n setExpandItemValues = _useControlled2[1];\n var _useState3 = (0, _react.useState)(null),\n focusItemValue = _useState3[0],\n setFocusItemValue = _useState3[1];\n var _useFlattenTreeData = (0, _treeUtils.useFlattenTreeData)({\n data: treeData,\n labelKey: labelKey,\n valueKey: valueKey,\n childrenKey: childrenKey,\n uncheckableItemValues: uncheckableItemValues,\n callback: function callback(nodes) {\n // after flattenData, always unSerialize check property value\n unSerializeList({\n nodes: nodes,\n key: 'check',\n value: value,\n cascade: cascade,\n uncheckableItemValues: uncheckableItemValues\n });\n forceUpdate();\n }\n }),\n flattenNodes = _useFlattenTreeData.flattenNodes,\n forceUpdate = _useFlattenTreeData.forceUpdate,\n formatVirtualizedTreeData = _useFlattenTreeData.formatVirtualizedTreeData,\n serializeListOnlyParent = _useFlattenTreeData.serializeListOnlyParent,\n unSerializeList = _useFlattenTreeData.unSerializeList;\n var _useTreeSearch = (0, _treeUtils.useTreeSearch)({\n labelKey: labelKey,\n childrenKey: childrenKey,\n searchKeyword: searchKeyword,\n data: treeData,\n searchBy: searchBy,\n callback: function callback(searchKeyword, _filterData, event) {\n onSearch === null || onSearch === void 0 ? void 0 : onSearch(searchKeyword, event);\n }\n }),\n filteredData = _useTreeSearch.filteredData,\n searchKeywordState = _useTreeSearch.searchKeywordState,\n setSearchKeyword = _useTreeSearch.setSearchKeyword,\n handleSearch = _useTreeSearch.handleSearch,\n setFilteredData = _useTreeSearch.setFilteredData;\n var _useTreeNodeRefs = (0, _treeUtils.useTreeNodeRefs)(),\n treeNodesRefs = _useTreeNodeRefs.treeNodesRefs,\n saveTreeNodeRef = _useTreeNodeRefs.saveTreeNodeRef;\n /**\n * get formatted nodes for render tree\n * @params render - renderNode function. only used when virtualized setting false\n */\n var getFormattedNodes = function getFormattedNodes(render) {\n if (virtualized) {\n return formatVirtualizedTreeData(flattenNodes, filteredData, expandItemValues, {\n cascade: cascade,\n searchKeyword: searchKeywordState\n }).filter(function (item) {\n return item.visible;\n });\n }\n return (0, _utils2.getFormattedTree)(flattenNodes, filteredData, {\n childrenKey: childrenKey,\n cascade: cascade\n }).map(function (node) {\n return render === null || render === void 0 ? void 0 : render(node, 1);\n });\n };\n var getTreeNodeProps = function getTreeNodeProps(node, layer) {\n return {\n as: Component,\n rtl: rtl,\n value: node[valueKey],\n label: node[labelKey],\n layer: layer,\n focus: focusItemValue === node[valueKey],\n expand: node.expand,\n visible: node.visible,\n loading: loadingNodeValues.some(function (item) {\n return item === node[valueKey];\n }),\n disabled: (0, _utils2.getDisabledState)(flattenNodes, node, {\n disabledItemValues: disabledItemValues,\n valueKey: valueKey\n }),\n nodeData: node,\n checkState: node.checkState,\n uncheckable: (0, _utils2.isNodeUncheckable)(node, {\n uncheckableItemValues: uncheckableItemValues,\n valueKey: valueKey\n }),\n allUncheckable: (0, _utils2.isAllSiblingNodeUncheckable)(node, flattenNodes, uncheckableItemValues, valueKey),\n onSelect: handleSelect,\n onExpand: handleExpand,\n renderTreeNode: renderTreeNode,\n renderTreeIcon: renderTreeIcon\n };\n };\n var focusActiveNode = function focusActiveNode() {\n if (list.current) {\n (0, _treeUtils.focusToActiveTreeNode)({\n list: list.current,\n valueKey: valueKey,\n selector: \".\" + checkTreePrefix('node-active'),\n activeNode: activeNode,\n virtualized: virtualized,\n container: treeView.current,\n formattedNodes: getFormattedNodes()\n });\n }\n };\n (0, _react.useEffect)(function () {\n setValue((0, _utils2.getCheckTreePickerDefaultValue)(value, uncheckableItemValues));\n }, []); // eslint-disable-line react-hooks/exhaustive-deps\n\n (0, _react.useEffect)(function () {\n setFilteredData(data, searchKeywordState);\n setTreeData(data);\n }, [data, searchKeywordState, setFilteredData, setTreeData]);\n (0, _react.useEffect)(function () {\n setFilteredData(treeData, searchKeywordState);\n }, [treeData, searchKeywordState, setFilteredData]);\n (0, _react.useEffect)(function () {\n if (Array.isArray(controlledExpandItemValues)) {\n setExpandItemValues(controlledExpandItemValues);\n }\n }, [controlledExpandItemValues, setExpandItemValues]);\n (0, _react.useEffect)(function () {\n setSearchKeyword(searchKeyword !== null && searchKeyword !== void 0 ? searchKeyword : '');\n }, [searchKeyword, setSearchKeyword]);\n (0, _react.useEffect)(function () {\n unSerializeList({\n nodes: flattenNodes,\n key: 'check',\n value: value,\n cascade: cascade,\n uncheckableItemValues: uncheckableItemValues\n });\n forceUpdate();\n }, [cascade, value, uncheckableItemValues, unSerializeList, flattenNodes, forceUpdate]);\n var toggleUpChecked = (0, _utils.useEventCallback)(function (nodes, node, checked) {\n var currentNode = node.refKey ? nodes[node.refKey] : null;\n if (cascade && currentNode) {\n if (!checked) {\n currentNode.check = checked;\n currentNode.checkAll = checked;\n } else {\n if ((0, _utils2.isEveryChildChecked)(nodes, currentNode)) {\n currentNode.check = true;\n currentNode.checkAll = true;\n } else {\n currentNode.check = false;\n currentNode.checkAll = false;\n }\n }\n if (currentNode.parent) {\n toggleUpChecked(nodes, currentNode.parent, checked);\n }\n }\n });\n var toggleDownChecked = (0, _utils.useEventCallback)(function (nodes, node, isChecked) {\n var currentNode = node.refKey ? nodes[node.refKey] : null;\n if (!currentNode) {\n return;\n }\n currentNode.check = isChecked;\n if (!currentNode[childrenKey] || !currentNode[childrenKey].length || !cascade) {\n currentNode.checkAll = false;\n } else {\n currentNode.checkAll = isChecked;\n currentNode[childrenKey].forEach(function (child) {\n toggleDownChecked(nodes, child, isChecked);\n });\n }\n });\n var toggleChecked = (0, _utils.useEventCallback)(function (node, isChecked) {\n var nodes = (0, _cloneDeep2.default)(flattenNodes);\n toggleDownChecked(nodes, node, isChecked);\n node.parent && toggleUpChecked(nodes, node.parent, isChecked);\n var values = serializeListOnlyParent(nodes, 'check');\n // filter uncheckableItemValues\n return values.filter(function (v) {\n return !uncheckableItemValues.includes(v);\n });\n });\n\n // TODO-Doma\n // Replace `getKeyParentMap` with `getParentMap`\n var itemParentMap = (0, _react.useMemo)(function () {\n return (0, _treeUtils.getKeyParentMap)(data, function (node) {\n return node[valueKey];\n }, function (node) {\n return node[childrenKey];\n });\n }, [childrenKey, data, valueKey]);\n var handleSelect = (0, _utils.useEventCallback)(function (node, event) {\n var currentNode = node.refKey ? flattenNodes[node.refKey] : null;\n if (!node || !currentNode) {\n return;\n }\n var selectedValues = toggleChecked(node, !currentNode.check);\n if (!isControlled) {\n unSerializeList({\n nodes: flattenNodes,\n key: 'check',\n value: selectedValues,\n cascade: cascade,\n uncheckableItemValues: uncheckableItemValues\n });\n setValue(selectedValues);\n }\n setActiveNode(node);\n setFocusItemValue(node[valueKey]);\n onChange === null || onChange === void 0 ? void 0 : onChange(selectedValues, event);\n onSelect === null || onSelect === void 0 ? void 0 : onSelect(node, selectedValues, event);\n onSelectItem === null || onSelectItem === void 0 ? void 0 : onSelectItem(node, (0, _treeUtils.getPathTowardsItem)(node, function (item) {\n return itemParentMap.get(item[valueKey]);\n }));\n });\n var handleOpen = (0, _utils.useEventCallback)(function () {\n var _trigger$current, _trigger$current$open;\n (_trigger$current = trigger.current) === null || _trigger$current === void 0 ? void 0 : (_trigger$current$open = _trigger$current.open) === null || _trigger$current$open === void 0 ? void 0 : _trigger$current$open.call(_trigger$current);\n setFocusItemValue(activeNode === null || activeNode === void 0 ? void 0 : activeNode[valueKey]);\n focusActiveNode();\n onOpen === null || onOpen === void 0 ? void 0 : onOpen();\n setActive(true);\n });\n var handleClose = (0, _utils.useEventCallback)(function () {\n var _trigger$current2, _trigger$current2$clo, _target$current;\n (_trigger$current2 = trigger.current) === null || _trigger$current2 === void 0 ? void 0 : (_trigger$current2$clo = _trigger$current2.close) === null || _trigger$current2$clo === void 0 ? void 0 : _trigger$current2$clo.call(_trigger$current2);\n setSearchKeyword('');\n onClose === null || onClose === void 0 ? void 0 : onClose();\n setFocusItemValue(null);\n setActive(false);\n\n /**\n * when using keyboard toggle picker, should refocus on PickerToggle Component after close picker menu\n */\n (_target$current = target.current) === null || _target$current === void 0 ? void 0 : _target$current.focus();\n });\n var handleExpand = (0, _utils.useEventCallback)(function (node) {\n var nextExpandItemValues = (0, _treeUtils.toggleExpand)({\n node: node,\n isExpand: !node.expand,\n expandItemValues: expandItemValues,\n valueKey: valueKey\n });\n setExpandItemValues(nextExpandItemValues);\n onExpand === null || onExpand === void 0 ? void 0 : onExpand(nextExpandItemValues, node, (0, _Picker.createConcatChildrenFunction)(node, node[valueKey], {\n valueKey: valueKey,\n childrenKey: childrenKey\n }));\n if ((0, _isFunction2.default)(getChildren) && !node.expand && Array.isArray(node[childrenKey]) && node[childrenKey].length === 0) {\n loadChildren(node, getChildren);\n }\n });\n var handleClean = (0, _utils.useEventCallback)(function (event) {\n var target = event.target;\n // exclude searchbox\n if (target.matches('input[role=\"searchbox\"]') || disabled || !cleanable) {\n return;\n }\n setActiveNode(null);\n setFocusItemValue(null);\n if (!isControlled) {\n setValue([]);\n unSerializeList({\n nodes: flattenNodes,\n key: 'check',\n value: [],\n cascade: cascade,\n uncheckableItemValues: uncheckableItemValues\n });\n }\n onChange === null || onChange === void 0 ? void 0 : onChange([], event);\n });\n var handleFocusItem = (0, _utils.useEventCallback)(function (key) {\n var focusableItems = (0, _treeUtils.getFocusableItems)(filteredData, {\n disabledItemValues: disabledItemValues,\n valueKey: valueKey,\n childrenKey: childrenKey,\n expandItemValues: expandItemValues\n }, (0, _treeUtils.isSearching)(searchKeywordState));\n var selector = \".\" + checkTreePrefix('node-label');\n var focusProps = {\n focusItemValue: focusItemValue,\n focusableItems: focusableItems,\n treeNodesRefs: treeNodesRefs,\n selector: selector,\n valueKey: valueKey,\n callback: function callback(nextFocusItemValue) {\n setFocusItemValue(nextFocusItemValue);\n }\n };\n if (key === _utils.KEY_VALUES.DOWN) {\n (0, _treeUtils.focusNextItem)(focusProps);\n return;\n }\n if (key === _utils.KEY_VALUES.UP) {\n (0, _treeUtils.focusPreviousItem)(focusProps);\n }\n });\n var handleLeftArrow = (0, _utils.useEventCallback)(function () {\n if ((0, _isNil2.default)(focusItemValue)) return;\n var focusItem = (0, _treeUtils.getActiveItem)(focusItemValue, flattenNodes, valueKey);\n (0, _treeUtils.leftArrowHandler)({\n focusItem: focusItem,\n expand: expandItemValues.includes(focusItem === null || focusItem === void 0 ? void 0 : focusItem[valueKey]),\n onExpand: handleExpand,\n childrenKey: childrenKey,\n onFocusItem: function onFocusItem() {\n var _focusItem$parent, _focusItem$parent2;\n setFocusItemValue(focusItem === null || focusItem === void 0 ? void 0 : (_focusItem$parent = focusItem.parent) === null || _focusItem$parent === void 0 ? void 0 : _focusItem$parent[valueKey]);\n (0, _treeUtils.focusTreeNode)(focusItem === null || focusItem === void 0 ? void 0 : (_focusItem$parent2 = focusItem.parent) === null || _focusItem$parent2 === void 0 ? void 0 : _focusItem$parent2.refKey, treeNodesRefs, \".\" + checkTreePrefix('node-label'));\n }\n });\n });\n var handleRightArrow = (0, _utils.useEventCallback)(function () {\n if ((0, _isNil2.default)(focusItemValue)) return;\n var focusItem = (0, _treeUtils.getActiveItem)(focusItemValue, flattenNodes, valueKey);\n (0, _treeUtils.rightArrowHandler)({\n focusItem: focusItem,\n expand: expandItemValues.includes(focusItem === null || focusItem === void 0 ? void 0 : focusItem[valueKey]),\n childrenKey: childrenKey,\n onExpand: handleExpand,\n onFocusItem: function onFocusItem() {\n handleFocusItem(_utils.KEY_VALUES.DOWN);\n }\n });\n });\n var selectActiveItem = function selectActiveItem(event) {\n if ((0, _isNil2.default)(focusItemValue)) return;\n var activeItem = (0, _treeUtils.getActiveItem)(focusItemValue, flattenNodes, valueKey);\n if (!(0, _utils2.isNodeUncheckable)(activeItem, {\n uncheckableItemValues: uncheckableItemValues,\n valueKey: valueKey\n }) && activeItem !== null) {\n handleSelect(activeItem, event);\n }\n };\n var onPickerKeydown = (0, _Picker.useToggleKeyDownEvent)((0, _extends2.default)({\n toggle: !focusItemValue || !active,\n trigger: trigger,\n target: target,\n overlay: overlay,\n searchInput: searchInput,\n active: active,\n onExit: handleClean,\n onClose: handleClose,\n onMenuKeyDown: function onMenuKeyDown(event) {\n (0, _Picker.onMenuKeyDown)(event, {\n down: function down() {\n return handleFocusItem(_utils.KEY_VALUES.DOWN);\n },\n up: function up() {\n return handleFocusItem(_utils.KEY_VALUES.UP);\n },\n left: rtl ? handleRightArrow : handleLeftArrow,\n right: rtl ? handleLeftArrow : handleRightArrow,\n enter: selectActiveItem,\n del: handleClean\n });\n }\n }, rest));\n var handleTreeKeydown = (0, _utils.useEventCallback)(function (event) {\n if (!treeView.current) {\n return;\n }\n (0, _Picker.onMenuKeyDown)(event, {\n down: function down() {\n return handleFocusItem(_utils.KEY_VALUES.DOWN);\n },\n up: function up() {\n return handleFocusItem(_utils.KEY_VALUES.UP);\n },\n left: rtl ? handleRightArrow : handleLeftArrow,\n right: rtl ? handleLeftArrow : handleRightArrow,\n enter: selectActiveItem\n });\n });\n var renderNode = function renderNode(node, layer) {\n var visible = node.visible,\n refKey = node.refKey; // when searching, all nodes should be expand\n var expand = (0, _treeUtils.getExpandWhenSearching)(searchKeywordState, expandItemValues.includes(node[valueKey]));\n if (!visible) {\n return null;\n }\n var children = node[childrenKey];\n var visibleChildren = (0, _isUndefined2.default)(searchKeywordState) || searchKeywordState.length === 0 ? !!children : (0, _treeUtils.hasVisibleChildren)(node, childrenKey);\n var nodeProps = (0, _extends2.default)({}, getTreeNodeProps((0, _extends2.default)({}, node, {\n /**\n * spread operator don't copy unenumerable properties\n * so we need to copy them manually\n */\n parent: node.parent,\n expand: expand\n }), layer), {\n hasChildren: visibleChildren\n });\n if (nodeProps.hasChildren) {\n var _merge;\n layer += 1;\n var openClass = checkTreePrefix('open');\n var childrenClass = merge(checkTreePrefix('node-children'), (_merge = {}, _merge[openClass] = expand && visibleChildren, _merge));\n var nodes = children || [];\n return /*#__PURE__*/_react.default.createElement(\"div\", {\n className: childrenClass,\n key: node[valueKey],\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 650,\n columnNumber: 9\n }\n }, /*#__PURE__*/_react.default.createElement(_CheckTreeNode.default, (0, _extends2.default)({}, nodeProps, {\n ref: function ref(_ref) {\n return saveTreeNodeRef(_ref, refKey);\n },\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 651,\n columnNumber: 11\n }\n })), /*#__PURE__*/_react.default.createElement(\"div\", {\n className: checkTreePrefix('group'),\n role: \"group\",\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 652,\n columnNumber: 11\n }\n }, nodes.map(function (child) {\n return renderNode(child, layer);\n }), showIndentLine && /*#__PURE__*/_react.default.createElement(\"span\", {\n className: checkTreePrefix('indent-line'),\n style: (0, _treeUtils.getTreeNodeIndent)(rtl, layer - 1, true),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 655,\n columnNumber: 15\n }\n })));\n }\n return /*#__PURE__*/_react.default.createElement(_CheckTreeNode.default, (0, _extends2.default)({\n key: node[valueKey],\n ref: function ref(_ref2) {\n return saveTreeNodeRef(_ref2, refKey);\n }\n }, nodeProps, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 666,\n columnNumber: 7\n }\n }));\n };\n var renderVirtualListNode = function renderVirtualListNode(_ref3) {\n var index = _ref3.index,\n style = _ref3.style,\n data = _ref3.data;\n var node = data[index];\n var layer = node.layer,\n refKey = node.refKey,\n visible = node.visible;\n var expand = (0, _treeUtils.getExpandWhenSearching)(searchKeywordState, expandItemValues.includes(node[valueKey]));\n var nodeProps = (0, _extends2.default)({}, getTreeNodeProps((0, _extends2.default)({}, node, {\n /**\n * spread operator don't copy unenumerable properties\n * so we need to copy them manually\n */\n parent: node.parent,\n expand: expand\n }), layer), {\n hasChildren: node.hasChildren\n });\n return visible && /*#__PURE__*/_react.default.createElement(_CheckTreeNode.default, (0, _extends2.default)({\n style: style,\n ref: function ref(_ref4) {\n return saveTreeNodeRef(_ref4, refKey);\n }\n }, nodeProps, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 699,\n columnNumber: 9\n }\n }));\n };\n var renderCheckTree = function renderCheckTree() {\n var _withCheckTreeClassPr, _merge2;\n var classes = withCheckTreeClassPrefix((_withCheckTreeClassPr = {}, _withCheckTreeClassPr[className !== null && className !== void 0 ? className : ''] = inline, _withCheckTreeClassPr['without-children'] = !(0, _utils2.isSomeNodeHasChildren)(data, childrenKey), _withCheckTreeClassPr.virtualized = virtualized, _withCheckTreeClassPr));\n var formattedNodes = getFormattedNodes(renderNode);\n if (!formattedNodes.some(function (v) {\n return v !== null;\n })) {\n return /*#__PURE__*/_react.default.createElement(\"div\", {\n className: prefix('none'),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 714,\n columnNumber: 14\n }\n }, locale.noResultsText);\n }\n var treeNodesClass = merge(checkTreePrefix('root'), (_merge2 = {}, _merge2[checkTreePrefix('all-uncheckable')] = (0, _utils2.isEveryFirstLevelNodeUncheckable)(flattenNodes, uncheckableItemValues, valueKey), _merge2));\n return /*#__PURE__*/_react.default.createElement(_Picker.TreeView, {\n ref: inline ? root : treeView,\n multiselectable: true,\n treeRootClassName: treeNodesClass,\n className: classes,\n style: inline ? (0, _extends2.default)({\n height: height\n }, style) : {},\n onScroll: onScroll,\n onKeyDown: inline ? handleTreeKeydown : undefined,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 726,\n columnNumber: 7\n }\n }, virtualized ? /*#__PURE__*/_react.default.createElement(_Windowing.AutoSizer, {\n defaultHeight: inline ? height : menuMaxHeight,\n style: {\n width: 'auto',\n height: 'auto'\n },\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 736,\n columnNumber: 11\n }\n }, function (_ref5) {\n var height = _ref5.height;\n return /*#__PURE__*/_react.default.createElement(_Windowing.List, (0, _extends2.default)({\n ref: list,\n height: height,\n itemSize: itemSize,\n itemCount: formattedNodes.length,\n itemData: formattedNodes\n }, listProps, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 741,\n columnNumber: 15\n }\n }), renderVirtualListNode);\n }) : formattedNodes);\n };\n var renderDropdownMenu = function renderDropdownMenu(positionProps, speakerRef) {\n var left = positionProps.left,\n top = positionProps.top,\n className = positionProps.className;\n var classes = (0, _classnames.default)(className, menuClassName, prefix('check-tree-menu'));\n var mergedMenuStyle = (0, _extends2.default)({}, menuStyle, {\n left: left,\n top: top\n });\n return /*#__PURE__*/_react.default.createElement(_Picker.PickerPopup, {\n autoWidth: menuAutoWidth,\n className: classes,\n style: mergedMenuStyle,\n ref: (0, _utils.mergeRefs)(overlay, speakerRef),\n onKeyDown: onPickerKeydown,\n target: trigger,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 766,\n columnNumber: 7\n }\n }, searchable ? /*#__PURE__*/_react.default.createElement(_SearchBox.default, {\n placeholder: locale.searchPlaceholder,\n onChange: handleSearch,\n value: searchKeywordState,\n inputRef: searchInput,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 775,\n columnNumber: 11\n }\n }) : null, renderMenu ? renderMenu(renderCheckTree()) : renderCheckTree(), renderExtraFooter === null || renderExtraFooter === void 0 ? void 0 : renderExtraFooter());\n };\n var selectedItems = (0, _react.useMemo)(function () {\n return (0, _utils2.getSelectedItems)(flattenNodes, value);\n }, [flattenNodes, value]);\n /**\n * 1.Have a value and the value is valid.\n * 2.Regardless of whether the value is valid, as long as renderValue is set, it is judged to have a value.\n */\n var hasValidValue = selectedItems.length > 0 || value.length > 0 && (0, _isFunction2.default)(renderValue);\n var selectedElement = placeholder;\n if (hasValidValue) {\n selectedElement = /*#__PURE__*/_react.default.createElement(_Picker.SelectedElement, {\n selectedItems: selectedItems,\n countable: countable,\n valueKey: valueKey,\n labelKey: labelKey,\n childrenKey: childrenKey,\n prefix: prefix,\n cascade: cascade,\n locale: locale,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 798,\n columnNumber: 7\n }\n });\n if ((0, _isFunction2.default)(renderValue)) {\n selectedElement = renderValue(value, selectedItems, selectedElement);\n if ((0, _isNil2.default)(selectedElement)) {\n hasValidValue = false;\n }\n }\n }\n var _usePickerClassName = (0, _Picker.usePickerClassName)((0, _extends2.default)({}, props, {\n classPrefix: classPrefix,\n appearance: appearance,\n countable: countable,\n cleanable: cleanable,\n disabled: disabled,\n hasValue: hasValidValue,\n name: 'check-tree'\n })),\n classes = _usePickerClassName[0],\n usedClassNamePropKeys = _usePickerClassName[1];\n if (inline) {\n return renderCheckTree();\n }\n return /*#__PURE__*/_react.default.createElement(_Picker.PickerToggleTrigger, {\n id: id,\n popupType: \"tree\",\n multiple: true,\n pickerProps: (0, _pick2.default)(props, _Picker.pickTriggerPropKeys),\n ref: trigger,\n placement: placement,\n onEnter: handleOpen,\n onEntered: onEntered,\n onExited: (0, _utils.createChainedFunction)(handleClose, onExited),\n speaker: renderDropdownMenu,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 833,\n columnNumber: 5\n }\n }, /*#__PURE__*/_react.default.createElement(Component, {\n className: classes,\n style: style,\n ref: root,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 845,\n columnNumber: 7\n }\n }, /*#__PURE__*/_react.default.createElement(_Picker.PickerToggle, (0, _extends2.default)({}, (0, _omit2.default)(rest, [].concat(_Picker.omitTriggerPropKeys, usedClassNamePropKeys)), {\n ref: target,\n appearance: appearance,\n onKeyDown: onPickerKeydown,\n onClean: (0, _utils.createChainedFunction)(handleClean, onClean),\n cleanable: cleanable && !disabled,\n disabled: disabled,\n as: toggleAs,\n hasValue: hasValidValue,\n active: active,\n placement: placement,\n inputValue: value,\n focusItemValue: focusItemValue,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 846,\n columnNumber: 9\n }\n }), selectedElement || locale.placeholder)));\n});\nCheckTreePicker.displayName = 'CheckTreePicker';\nCheckTreePicker.propTypes = (0, _extends2.default)({}, _Picker.listPickerPropTypes, {\n height: _propTypes.default.number,\n appearance: (0, _propTypes2.oneOf)(['default', 'subtle']),\n locale: _propTypes.default.any,\n cascade: _propTypes.default.bool,\n countable: _propTypes.default.bool,\n searchable: _propTypes.default.bool,\n virtualized: _propTypes.default.bool,\n searchKeyword: _propTypes.default.string,\n menuAutoWidth: _propTypes.default.bool,\n defaultExpandAll: _propTypes.default.bool,\n containerPadding: _propTypes.default.number,\n disabledItemValues: _propTypes.default.array,\n expandItemValues: _propTypes.default.array,\n defaultExpandItemValues: _propTypes.default.array,\n uncheckableItemValues: _propTypes.default.array,\n onSearch: _propTypes.default.func,\n onExpand: _propTypes.default.func,\n onSelect: _propTypes.default.func,\n renderMenu: _propTypes.default.func,\n renderTreeNode: _propTypes.default.func,\n renderTreeIcon: _propTypes.default.func,\n searchBy: _propTypes.default.func,\n onScroll: _propTypes.default.func\n});\nvar _default = CheckTreePicker;\nexports[\"default\"] = _default;\n\n//# sourceURL=webpack://rsuite/./src/CheckTreePicker/CheckTreePicker.tsx?");
|
|
6497
|
+
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\nvar _interopRequireWildcard = __webpack_require__(/*! @babel/runtime/helpers/interopRequireWildcard */ \"./node_modules/@babel/runtime/helpers/interopRequireWildcard.js\");\nexports.__esModule = true;\nexports[\"default\"] = void 0;\nvar _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\"));\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutPropertiesLoose */ \"./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js\"));\nvar _isUndefined2 = _interopRequireDefault(__webpack_require__(/*! lodash/isUndefined */ \"./node_modules/lodash/isUndefined.js\"));\nvar _cloneDeep2 = _interopRequireDefault(__webpack_require__(/*! lodash/cloneDeep */ \"./node_modules/lodash/cloneDeep.js\"));\nvar _omit2 = _interopRequireDefault(__webpack_require__(/*! lodash/omit */ \"./node_modules/lodash/omit.js\"));\nvar _isFunction2 = _interopRequireDefault(__webpack_require__(/*! lodash/isFunction */ \"./node_modules/lodash/isFunction.js\"));\nvar _pick2 = _interopRequireDefault(__webpack_require__(/*! lodash/pick */ \"./node_modules/lodash/pick.js\"));\nvar _isNil2 = _interopRequireDefault(__webpack_require__(/*! lodash/isNil */ \"./node_modules/lodash/isNil.js\"));\nvar _react = _interopRequireWildcard(__webpack_require__(/*! react */ \"react\"));\nvar _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\"));\nvar _classnames = _interopRequireDefault(__webpack_require__(/*! classnames */ \"./node_modules/classnames/index.js\"));\nvar _Windowing = __webpack_require__(/*! ../internals/Windowing */ \"./src/internals/Windowing/index.ts\");\nvar _CheckTreeNode = _interopRequireDefault(__webpack_require__(/*! ./CheckTreeNode */ \"./src/CheckTreePicker/CheckTreeNode.tsx\"));\nvar _TreeContext = _interopRequireDefault(__webpack_require__(/*! ../Tree/TreeContext */ \"./src/Tree/TreeContext.ts\"));\nvar _treeUtils = __webpack_require__(/*! ../utils/treeUtils */ \"./src/utils/treeUtils.ts\");\nvar _utils = __webpack_require__(/*! ../utils */ \"./src/utils/index.ts\");\nvar _Picker = __webpack_require__(/*! ../internals/Picker */ \"./src/internals/Picker/index.ts\");\nvar _SearchBox = _interopRequireDefault(__webpack_require__(/*! ../internals/SearchBox */ \"./src/internals/SearchBox/index.tsx\"));\nvar _utils2 = __webpack_require__(/*! ./utils */ \"./src/CheckTreePicker/utils.ts\");\nvar _propTypes2 = __webpack_require__(/*! ../internals/propTypes */ \"./src/internals/propTypes/index.ts\");\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/CheckTreePicker/CheckTreePicker.tsx\",\n _this = void 0;\nvar emptyArray = [];\nvar itemSize = function itemSize() {\n return 36;\n};\n\n/**\n * The `CheckTreePicker` component is used for selecting multiple options which are organized in a tree structure.\n *\n * @see https://rsuitejs.com/components/check-tree-picker\n */\nvar CheckTreePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n var _props$as = props.as,\n Component = _props$as === void 0 ? 'div' : _props$as,\n _props$data = props.data,\n data = _props$data === void 0 ? emptyArray : _props$data,\n style = props.style,\n _props$appearance = props.appearance,\n appearance = _props$appearance === void 0 ? 'default' : _props$appearance,\n _props$cleanable = props.cleanable,\n cleanable = _props$cleanable === void 0 ? true : _props$cleanable,\n _props$countable = props.countable,\n countable = _props$countable === void 0 ? true : _props$countable,\n searchBy = props.searchBy,\n toggleAs = props.toggleAs,\n searchKeyword = props.searchKeyword,\n showIndentLine = props.showIndentLine,\n overrideLocale = props.locale,\n _props$cascade = props.cascade,\n cascade = _props$cascade === void 0 ? true : _props$cascade,\n disabled = props.disabled,\n _props$valueKey = props.valueKey,\n valueKey = _props$valueKey === void 0 ? 'value' : _props$valueKey,\n _props$labelKey = props.labelKey,\n labelKey = _props$labelKey === void 0 ? 'label' : _props$labelKey,\n _props$placement = props.placement,\n placement = _props$placement === void 0 ? 'bottomStart' : _props$placement,\n _props$childrenKey = props.childrenKey,\n childrenKey = _props$childrenKey === void 0 ? 'children' : _props$childrenKey,\n placeholder = props.placeholder,\n controlledValue = props.value,\n _props$defaultValue = props.defaultValue,\n defaultValue = _props$defaultValue === void 0 ? emptyArray : _props$defaultValue,\n _props$defaultExpandA = props.defaultExpandAll,\n defaultExpandAll = _props$defaultExpandA === void 0 ? false : _props$defaultExpandA,\n _props$disabledItemVa = props.disabledItemValues,\n disabledItemValues = _props$disabledItemVa === void 0 ? emptyArray : _props$disabledItemVa,\n controlledExpandItemValues = props.expandItemValues,\n _props$defaultExpandI = props.defaultExpandItemValues,\n defaultExpandItemValues = _props$defaultExpandI === void 0 ? emptyArray : _props$defaultExpandI,\n _props$height = props.height,\n height = _props$height === void 0 ? 360 : _props$height,\n _props$menuMaxHeight = props.menuMaxHeight,\n menuMaxHeight = _props$menuMaxHeight === void 0 ? 320 : _props$menuMaxHeight,\n menuStyle = props.menuStyle,\n _props$searchable = props.searchable,\n searchable = _props$searchable === void 0 ? true : _props$searchable,\n _props$virtualized = props.virtualized,\n virtualized = _props$virtualized === void 0 ? false : _props$virtualized,\n className = props.className,\n _props$classPrefix = props.classPrefix,\n classPrefix = _props$classPrefix === void 0 ? 'picker' : _props$classPrefix,\n menuClassName = props.menuClassName,\n _props$menuAutoWidth = props.menuAutoWidth,\n menuAutoWidth = _props$menuAutoWidth === void 0 ? true : _props$menuAutoWidth,\n _props$uncheckableIte = props.uncheckableItemValues,\n uncheckableItemValues = _props$uncheckableIte === void 0 ? emptyArray : _props$uncheckableIte,\n id = props.id,\n listProps = props.listProps,\n renderMenu = props.renderMenu,\n getChildren = props.getChildren,\n renderExtraFooter = props.renderExtraFooter,\n onEntered = props.onEntered,\n onChange = props.onChange,\n onClean = props.onClean,\n onClose = props.onClose,\n onExited = props.onExited,\n onSearch = props.onSearch,\n onSelect = props.onSelect,\n onSelectItem = props.onSelectItem,\n onOpen = props.onOpen,\n onScroll = props.onScroll,\n onExpand = props.onExpand,\n renderValue = props.renderValue,\n renderTreeIcon = props.renderTreeIcon,\n renderTreeNode = props.renderTreeNode,\n rest = (0, _objectWithoutPropertiesLoose2.default)(props, [\"as\", \"data\", \"style\", \"appearance\", \"cleanable\", \"countable\", \"searchBy\", \"toggleAs\", \"searchKeyword\", \"showIndentLine\", \"locale\", \"cascade\", \"disabled\", \"valueKey\", \"labelKey\", \"placement\", \"childrenKey\", \"placeholder\", \"value\", \"defaultValue\", \"defaultExpandAll\", \"disabledItemValues\", \"expandItemValues\", \"defaultExpandItemValues\", \"height\", \"menuMaxHeight\", \"menuStyle\", \"searchable\", \"virtualized\", \"className\", \"classPrefix\", \"menuClassName\", \"menuAutoWidth\", \"uncheckableItemValues\", \"id\", \"listProps\", \"renderMenu\", \"getChildren\", \"renderExtraFooter\", \"onEntered\", \"onChange\", \"onClean\", \"onClose\", \"onExited\", \"onSearch\", \"onSelect\", \"onSelectItem\", \"onOpen\", \"onScroll\", \"onExpand\", \"renderValue\", \"renderTreeIcon\", \"renderTreeNode\"]);\n var _useContext = (0, _react.useContext)(_TreeContext.default),\n inline = _useContext.inline;\n var _usePickerRef = (0, _Picker.usePickerRef)(ref, {\n inline: inline\n }),\n trigger = _usePickerRef.trigger,\n root = _usePickerRef.root,\n target = _usePickerRef.target,\n overlay = _usePickerRef.overlay,\n list = _usePickerRef.list,\n searchInput = _usePickerRef.searchInput,\n treeView = _usePickerRef.treeView;\n var _useCustom = (0, _utils.useCustom)('Picker', overrideLocale),\n rtl = _useCustom.rtl,\n locale = _useCustom.locale;\n var _useState = (0, _react.useState)(false),\n active = _useState[0],\n setActive = _useState[1];\n var _useState2 = (0, _react.useState)(null),\n activeNode = _useState2[0],\n setActiveNode = _useState2[1];\n var _useClassNames = (0, _utils.useClassNames)(classPrefix),\n prefix = _useClassNames.prefix,\n merge = _useClassNames.merge;\n var _useClassNames2 = (0, _utils.useClassNames)(inline && classPrefix !== 'picker' ? classPrefix : 'check-tree'),\n checkTreePrefix = _useClassNames2.prefix,\n withCheckTreeClassPrefix = _useClassNames2.withClassPrefix;\n var _useControlled = (0, _utils.useControlled)(controlledValue, defaultValue),\n value = _useControlled[0],\n setValue = _useControlled[1],\n isControlled = _useControlled[2];\n var _useGetTreeNodeChildr = (0, _treeUtils.useGetTreeNodeChildren)(data, valueKey, childrenKey),\n treeData = _useGetTreeNodeChildr.data,\n setTreeData = _useGetTreeNodeChildr.setData,\n loadingNodeValues = _useGetTreeNodeChildr.loadingNodeValues,\n loadChildren = _useGetTreeNodeChildr.loadChildren;\n var _useControlled2 = (0, _utils.useControlled)(controlledExpandItemValues, (0, _treeUtils.getDefaultExpandItemValues)(treeData, {\n defaultExpandAll: defaultExpandAll,\n valueKey: valueKey,\n childrenKey: childrenKey,\n defaultExpandItemValues: defaultExpandItemValues\n })),\n expandItemValues = _useControlled2[0],\n setExpandItemValues = _useControlled2[1];\n var _useState3 = (0, _react.useState)(null),\n focusItemValue = _useState3[0],\n setFocusItemValue = _useState3[1];\n var _useFlattenTreeData = (0, _treeUtils.useFlattenTreeData)({\n data: treeData,\n labelKey: labelKey,\n valueKey: valueKey,\n childrenKey: childrenKey,\n uncheckableItemValues: uncheckableItemValues,\n callback: function callback(nodes) {\n // after flattenData, always unSerialize check property value\n unSerializeList({\n nodes: nodes,\n key: 'check',\n value: value,\n cascade: cascade,\n uncheckableItemValues: uncheckableItemValues\n });\n forceUpdate();\n }\n }),\n flattenNodes = _useFlattenTreeData.flattenNodes,\n forceUpdate = _useFlattenTreeData.forceUpdate,\n formatVirtualizedTreeData = _useFlattenTreeData.formatVirtualizedTreeData,\n serializeListOnlyParent = _useFlattenTreeData.serializeListOnlyParent,\n unSerializeList = _useFlattenTreeData.unSerializeList;\n var _useTreeSearch = (0, _treeUtils.useTreeSearch)({\n labelKey: labelKey,\n childrenKey: childrenKey,\n searchKeyword: searchKeyword,\n data: treeData,\n searchBy: searchBy,\n callback: function callback(searchKeyword, _filterData, event) {\n onSearch === null || onSearch === void 0 ? void 0 : onSearch(searchKeyword, event);\n }\n }),\n filteredData = _useTreeSearch.filteredData,\n searchKeywordState = _useTreeSearch.searchKeywordState,\n setSearchKeyword = _useTreeSearch.setSearchKeyword,\n handleSearch = _useTreeSearch.handleSearch,\n setFilteredData = _useTreeSearch.setFilteredData;\n var _useTreeNodeRefs = (0, _treeUtils.useTreeNodeRefs)(),\n treeNodesRefs = _useTreeNodeRefs.treeNodesRefs,\n saveTreeNodeRef = _useTreeNodeRefs.saveTreeNodeRef;\n /**\n * get formatted nodes for render tree\n * @params render - renderNode function. only used when virtualized setting false\n */\n var getFormattedNodes = function getFormattedNodes(render) {\n if (virtualized) {\n return formatVirtualizedTreeData(flattenNodes, filteredData, expandItemValues, {\n cascade: cascade,\n searchKeyword: searchKeywordState\n }).filter(function (item) {\n return item.visible;\n });\n }\n return (0, _utils2.getFormattedTree)(flattenNodes, filteredData, {\n childrenKey: childrenKey,\n cascade: cascade\n }).map(function (node) {\n return render === null || render === void 0 ? void 0 : render(node, 1);\n });\n };\n var getTreeNodeProps = function getTreeNodeProps(node, layer) {\n return {\n as: Component,\n rtl: rtl,\n value: node[valueKey],\n label: node[labelKey],\n layer: layer,\n focus: focusItemValue === node[valueKey],\n expand: node.expand,\n visible: node.visible,\n loading: loadingNodeValues.some(function (item) {\n return item === node[valueKey];\n }),\n disabled: (0, _utils2.getDisabledState)(flattenNodes, node, {\n disabledItemValues: disabledItemValues,\n valueKey: valueKey\n }),\n nodeData: node,\n checkState: node.checkState,\n uncheckable: (0, _utils2.isNodeUncheckable)(node, {\n uncheckableItemValues: uncheckableItemValues,\n valueKey: valueKey\n }),\n allUncheckable: (0, _utils2.isAllSiblingNodeUncheckable)(node, flattenNodes, uncheckableItemValues, valueKey),\n onSelect: handleSelect,\n onExpand: handleExpand,\n renderTreeNode: renderTreeNode,\n renderTreeIcon: renderTreeIcon\n };\n };\n var focusActiveNode = function focusActiveNode() {\n if (list.current) {\n (0, _treeUtils.focusToActiveTreeNode)({\n list: list.current,\n valueKey: valueKey,\n selector: \".\" + checkTreePrefix('node-active'),\n activeNode: activeNode,\n virtualized: virtualized,\n container: treeView.current,\n formattedNodes: getFormattedNodes()\n });\n }\n };\n (0, _react.useEffect)(function () {\n setValue((0, _utils2.getCheckTreePickerDefaultValue)(value, uncheckableItemValues));\n }, []); // eslint-disable-line react-hooks/exhaustive-deps\n\n (0, _react.useEffect)(function () {\n setFilteredData(data, searchKeywordState);\n setTreeData(data);\n }, [data, searchKeywordState, setFilteredData, setTreeData]);\n (0, _react.useEffect)(function () {\n setFilteredData(treeData, searchKeywordState);\n }, [treeData, searchKeywordState, setFilteredData]);\n (0, _react.useEffect)(function () {\n if (Array.isArray(controlledExpandItemValues)) {\n setExpandItemValues(controlledExpandItemValues);\n }\n }, [controlledExpandItemValues, setExpandItemValues]);\n (0, _react.useEffect)(function () {\n setSearchKeyword(searchKeyword !== null && searchKeyword !== void 0 ? searchKeyword : '');\n }, [searchKeyword, setSearchKeyword]);\n (0, _react.useEffect)(function () {\n unSerializeList({\n nodes: flattenNodes,\n key: 'check',\n value: value,\n cascade: cascade,\n uncheckableItemValues: uncheckableItemValues\n });\n forceUpdate();\n }, [cascade, value, uncheckableItemValues, unSerializeList, flattenNodes, forceUpdate]);\n var toggleUpChecked = (0, _utils.useEventCallback)(function (nodes, node, checked) {\n var currentNode = node.refKey ? nodes[node.refKey] : null;\n if (cascade && currentNode) {\n if (!checked) {\n currentNode.check = checked;\n currentNode.checkAll = checked;\n } else {\n if ((0, _utils2.isEveryChildChecked)(nodes, currentNode)) {\n currentNode.check = true;\n currentNode.checkAll = true;\n } else {\n currentNode.check = false;\n currentNode.checkAll = false;\n }\n }\n if (currentNode.parent) {\n toggleUpChecked(nodes, currentNode.parent, checked);\n }\n }\n });\n var toggleDownChecked = (0, _utils.useEventCallback)(function (nodes, node, isChecked) {\n var currentNode = node.refKey ? nodes[node.refKey] : null;\n if (!currentNode) {\n return;\n }\n currentNode.check = isChecked;\n if (!currentNode[childrenKey] || !currentNode[childrenKey].length || !cascade) {\n currentNode.checkAll = false;\n } else {\n currentNode.checkAll = isChecked;\n currentNode[childrenKey].forEach(function (child) {\n toggleDownChecked(nodes, child, isChecked);\n });\n }\n });\n var toggleChecked = (0, _utils.useEventCallback)(function (node, isChecked) {\n var nodes = (0, _cloneDeep2.default)(flattenNodes);\n toggleDownChecked(nodes, node, isChecked);\n node.parent && toggleUpChecked(nodes, node.parent, isChecked);\n var values = serializeListOnlyParent(nodes, 'check');\n // filter uncheckableItemValues\n return values.filter(function (v) {\n return !uncheckableItemValues.includes(v);\n });\n });\n\n // TODO-Doma\n // Replace `getKeyParentMap` with `getParentMap`\n var itemParentMap = (0, _react.useMemo)(function () {\n return (0, _treeUtils.getKeyParentMap)(data, function (node) {\n return node[valueKey];\n }, function (node) {\n return node[childrenKey];\n });\n }, [childrenKey, data, valueKey]);\n var handleSelect = (0, _utils.useEventCallback)(function (node, event) {\n var currentNode = node.refKey ? flattenNodes[node.refKey] : null;\n if (!node || !currentNode) {\n return;\n }\n var selectedValues = toggleChecked(node, !currentNode.check);\n if (!isControlled) {\n unSerializeList({\n nodes: flattenNodes,\n key: 'check',\n value: selectedValues,\n cascade: cascade,\n uncheckableItemValues: uncheckableItemValues\n });\n setValue(selectedValues);\n }\n setActiveNode(node);\n setFocusItemValue(node[valueKey]);\n onChange === null || onChange === void 0 ? void 0 : onChange(selectedValues, event);\n onSelect === null || onSelect === void 0 ? void 0 : onSelect(node, selectedValues, event);\n onSelectItem === null || onSelectItem === void 0 ? void 0 : onSelectItem(node, (0, _treeUtils.getPathTowardsItem)(node, function (item) {\n return itemParentMap.get(item[valueKey]);\n }));\n });\n var handleOpen = (0, _utils.useEventCallback)(function () {\n var _trigger$current, _trigger$current$open;\n (_trigger$current = trigger.current) === null || _trigger$current === void 0 ? void 0 : (_trigger$current$open = _trigger$current.open) === null || _trigger$current$open === void 0 ? void 0 : _trigger$current$open.call(_trigger$current);\n setFocusItemValue(activeNode === null || activeNode === void 0 ? void 0 : activeNode[valueKey]);\n focusActiveNode();\n onOpen === null || onOpen === void 0 ? void 0 : onOpen();\n setActive(true);\n });\n var handleClose = (0, _utils.useEventCallback)(function () {\n var _trigger$current2, _trigger$current2$clo, _target$current;\n (_trigger$current2 = trigger.current) === null || _trigger$current2 === void 0 ? void 0 : (_trigger$current2$clo = _trigger$current2.close) === null || _trigger$current2$clo === void 0 ? void 0 : _trigger$current2$clo.call(_trigger$current2);\n setSearchKeyword('');\n onClose === null || onClose === void 0 ? void 0 : onClose();\n setFocusItemValue(null);\n setActive(false);\n\n /**\n * when using keyboard toggle picker, should refocus on PickerToggle Component after close picker menu\n */\n (_target$current = target.current) === null || _target$current === void 0 ? void 0 : _target$current.focus();\n });\n var handleExpand = (0, _utils.useEventCallback)(function (node) {\n var nextExpandItemValues = (0, _treeUtils.toggleExpand)({\n node: node,\n isExpand: !node.expand,\n expandItemValues: expandItemValues,\n valueKey: valueKey\n });\n setExpandItemValues(nextExpandItemValues);\n onExpand === null || onExpand === void 0 ? void 0 : onExpand(nextExpandItemValues, node, (0, _Picker.createConcatChildrenFunction)(node, node[valueKey], {\n valueKey: valueKey,\n childrenKey: childrenKey\n }));\n if ((0, _isFunction2.default)(getChildren) && !node.expand && Array.isArray(node[childrenKey]) && node[childrenKey].length === 0) {\n loadChildren(node, getChildren);\n }\n });\n var handleClean = (0, _utils.useEventCallback)(function (event) {\n var target = event.target;\n // exclude searchbox\n if (target.matches('input[role=\"searchbox\"]') || disabled || !cleanable) {\n return;\n }\n setActiveNode(null);\n setFocusItemValue(null);\n if (!isControlled) {\n setValue([]);\n unSerializeList({\n nodes: flattenNodes,\n key: 'check',\n value: [],\n cascade: cascade,\n uncheckableItemValues: uncheckableItemValues\n });\n }\n onChange === null || onChange === void 0 ? void 0 : onChange([], event);\n });\n var handleFocusItem = (0, _utils.useEventCallback)(function (key) {\n var focusableItems = (0, _treeUtils.getFocusableItems)(filteredData, {\n disabledItemValues: disabledItemValues,\n valueKey: valueKey,\n childrenKey: childrenKey,\n expandItemValues: expandItemValues\n }, (0, _treeUtils.isSearching)(searchKeywordState));\n var selector = \".\" + checkTreePrefix('node-label');\n var focusProps = {\n focusItemValue: focusItemValue,\n focusableItems: focusableItems,\n treeNodesRefs: treeNodesRefs,\n selector: selector,\n valueKey: valueKey,\n callback: function callback(nextFocusItemValue) {\n setFocusItemValue(nextFocusItemValue);\n }\n };\n if (key === _utils.KEY_VALUES.DOWN) {\n (0, _treeUtils.focusNextItem)(focusProps);\n return;\n }\n if (key === _utils.KEY_VALUES.UP) {\n (0, _treeUtils.focusPreviousItem)(focusProps);\n }\n });\n var handleLeftArrow = (0, _utils.useEventCallback)(function () {\n if ((0, _isNil2.default)(focusItemValue)) return;\n var focusItem = (0, _treeUtils.getActiveItem)(focusItemValue, flattenNodes, valueKey);\n (0, _treeUtils.leftArrowHandler)({\n focusItem: focusItem,\n expand: expandItemValues.includes(focusItem === null || focusItem === void 0 ? void 0 : focusItem[valueKey]),\n onExpand: handleExpand,\n childrenKey: childrenKey,\n onFocusItem: function onFocusItem() {\n var _focusItem$parent, _focusItem$parent2;\n setFocusItemValue(focusItem === null || focusItem === void 0 ? void 0 : (_focusItem$parent = focusItem.parent) === null || _focusItem$parent === void 0 ? void 0 : _focusItem$parent[valueKey]);\n (0, _treeUtils.focusTreeNode)(focusItem === null || focusItem === void 0 ? void 0 : (_focusItem$parent2 = focusItem.parent) === null || _focusItem$parent2 === void 0 ? void 0 : _focusItem$parent2.refKey, treeNodesRefs, \".\" + checkTreePrefix('node-label'));\n }\n });\n });\n var handleRightArrow = (0, _utils.useEventCallback)(function () {\n if ((0, _isNil2.default)(focusItemValue)) return;\n var focusItem = (0, _treeUtils.getActiveItem)(focusItemValue, flattenNodes, valueKey);\n (0, _treeUtils.rightArrowHandler)({\n focusItem: focusItem,\n expand: expandItemValues.includes(focusItem === null || focusItem === void 0 ? void 0 : focusItem[valueKey]),\n childrenKey: childrenKey,\n onExpand: handleExpand,\n onFocusItem: function onFocusItem() {\n handleFocusItem(_utils.KEY_VALUES.DOWN);\n }\n });\n });\n var selectActiveItem = function selectActiveItem(event) {\n if ((0, _isNil2.default)(focusItemValue)) return;\n var activeItem = (0, _treeUtils.getActiveItem)(focusItemValue, flattenNodes, valueKey);\n if (!(0, _utils2.isNodeUncheckable)(activeItem, {\n uncheckableItemValues: uncheckableItemValues,\n valueKey: valueKey\n }) && activeItem !== null) {\n handleSelect(activeItem, event);\n }\n };\n var onPickerKeydown = (0, _Picker.useToggleKeyDownEvent)((0, _extends2.default)({\n toggle: !focusItemValue || !active,\n trigger: trigger,\n target: target,\n overlay: overlay,\n searchInput: searchInput,\n active: active,\n onExit: handleClean,\n onClose: handleClose,\n onMenuKeyDown: function onMenuKeyDown(event) {\n (0, _Picker.onMenuKeyDown)(event, {\n down: function down() {\n return handleFocusItem(_utils.KEY_VALUES.DOWN);\n },\n up: function up() {\n return handleFocusItem(_utils.KEY_VALUES.UP);\n },\n left: rtl ? handleRightArrow : handleLeftArrow,\n right: rtl ? handleLeftArrow : handleRightArrow,\n enter: selectActiveItem,\n del: handleClean\n });\n }\n }, rest));\n var handleTreeKeydown = (0, _utils.useEventCallback)(function (event) {\n if (!treeView.current) {\n return;\n }\n (0, _Picker.onMenuKeyDown)(event, {\n down: function down() {\n return handleFocusItem(_utils.KEY_VALUES.DOWN);\n },\n up: function up() {\n return handleFocusItem(_utils.KEY_VALUES.UP);\n },\n left: rtl ? handleRightArrow : handleLeftArrow,\n right: rtl ? handleLeftArrow : handleRightArrow,\n enter: selectActiveItem\n });\n });\n var renderNode = function renderNode(node, layer) {\n var visible = node.visible,\n refKey = node.refKey; // when searching, all nodes should be expand\n var expand = (0, _treeUtils.getExpandWhenSearching)(searchKeywordState, expandItemValues.includes(node[valueKey]));\n if (!visible) {\n return null;\n }\n var children = node[childrenKey];\n var visibleChildren = (0, _isUndefined2.default)(searchKeywordState) || searchKeywordState.length === 0 ? !!children : (0, _treeUtils.hasVisibleChildren)(node, childrenKey);\n var nodeProps = (0, _extends2.default)({}, getTreeNodeProps((0, _extends2.default)({}, node, {\n /**\n * spread operator don't copy unenumerable properties\n * so we need to copy them manually\n */\n parent: node.parent,\n expand: expand\n }), layer), {\n hasChildren: visibleChildren\n });\n if (nodeProps.hasChildren) {\n var _merge;\n layer += 1;\n var openClass = checkTreePrefix('open');\n var childrenClass = merge(checkTreePrefix('node-children'), (_merge = {}, _merge[openClass] = expand && visibleChildren, _merge));\n var nodes = children || [];\n return /*#__PURE__*/_react.default.createElement(\"div\", {\n className: childrenClass,\n key: node[valueKey],\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 651,\n columnNumber: 9\n }\n }, /*#__PURE__*/_react.default.createElement(_CheckTreeNode.default, (0, _extends2.default)({}, nodeProps, {\n ref: function ref(_ref) {\n return saveTreeNodeRef(_ref, refKey);\n },\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 652,\n columnNumber: 11\n }\n })), /*#__PURE__*/_react.default.createElement(\"div\", {\n className: checkTreePrefix('group'),\n role: \"group\",\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 653,\n columnNumber: 11\n }\n }, nodes.map(function (child) {\n return renderNode(child, layer);\n }), showIndentLine && /*#__PURE__*/_react.default.createElement(\"span\", {\n className: checkTreePrefix('indent-line'),\n style: (0, _treeUtils.getTreeNodeIndent)(rtl, layer - 1, true),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 656,\n columnNumber: 15\n }\n })));\n }\n return /*#__PURE__*/_react.default.createElement(_CheckTreeNode.default, (0, _extends2.default)({\n key: node[valueKey],\n ref: function ref(_ref2) {\n return saveTreeNodeRef(_ref2, refKey);\n }\n }, nodeProps, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 667,\n columnNumber: 7\n }\n }));\n };\n var renderVirtualListNode = function renderVirtualListNode(_ref3) {\n var index = _ref3.index,\n style = _ref3.style,\n data = _ref3.data;\n var node = data[index];\n var layer = node.layer,\n refKey = node.refKey,\n visible = node.visible;\n var expand = (0, _treeUtils.getExpandWhenSearching)(searchKeywordState, expandItemValues.includes(node[valueKey]));\n var nodeProps = (0, _extends2.default)({}, getTreeNodeProps((0, _extends2.default)({}, node, {\n /**\n * spread operator don't copy unenumerable properties\n * so we need to copy them manually\n */\n parent: node.parent,\n expand: expand\n }), layer), {\n hasChildren: node.hasChildren\n });\n return visible && /*#__PURE__*/_react.default.createElement(_CheckTreeNode.default, (0, _extends2.default)({\n style: style,\n ref: function ref(_ref4) {\n return saveTreeNodeRef(_ref4, refKey);\n }\n }, nodeProps, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 700,\n columnNumber: 9\n }\n }));\n };\n var renderCheckTree = function renderCheckTree() {\n var _merge2, _merge3;\n var classes = merge(withCheckTreeClassPrefix({\n 'without-children': !(0, _utils2.isSomeNodeHasChildren)(data, childrenKey),\n virtualized: virtualized\n }), (_merge2 = {}, _merge2[className !== null && className !== void 0 ? className : ''] = inline, _merge2));\n var formattedNodes = getFormattedNodes(renderNode);\n if (!formattedNodes.some(function (v) {\n return v !== null;\n })) {\n return /*#__PURE__*/_react.default.createElement(\"div\", {\n className: prefix('none'),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 717,\n columnNumber: 14\n }\n }, locale.noResultsText);\n }\n var treeNodesClass = merge(checkTreePrefix('root'), (_merge3 = {}, _merge3[checkTreePrefix('all-uncheckable')] = (0, _utils2.isEveryFirstLevelNodeUncheckable)(flattenNodes, uncheckableItemValues, valueKey), _merge3));\n var treeViewProps = {\n ref: treeView\n };\n if (inline) {\n treeViewProps = (0, _extends2.default)({\n ref: root,\n style: (0, _extends2.default)({\n height: height\n }, style)\n }, rest);\n }\n return /*#__PURE__*/_react.default.createElement(_Picker.TreeView, (0, _extends2.default)({}, treeViewProps, {\n multiselectable: true,\n treeRootClassName: treeNodesClass,\n className: classes,\n onScroll: onScroll,\n onKeyDown: inline ? handleTreeKeydown : undefined,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 741,\n columnNumber: 7\n }\n }), virtualized ? /*#__PURE__*/_react.default.createElement(_Windowing.AutoSizer, {\n defaultHeight: inline ? height : menuMaxHeight,\n style: {\n width: 'auto',\n height: 'auto'\n },\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 750,\n columnNumber: 11\n }\n }, function (_ref5) {\n var height = _ref5.height;\n return /*#__PURE__*/_react.default.createElement(_Windowing.List, (0, _extends2.default)({\n ref: list,\n height: height,\n itemSize: itemSize,\n itemCount: formattedNodes.length,\n itemData: formattedNodes\n }, listProps, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 755,\n columnNumber: 15\n }\n }), renderVirtualListNode);\n }) : formattedNodes);\n };\n var renderDropdownMenu = function renderDropdownMenu(positionProps, speakerRef) {\n var left = positionProps.left,\n top = positionProps.top,\n className = positionProps.className;\n var classes = (0, _classnames.default)(className, menuClassName, prefix('check-tree-menu'));\n var mergedMenuStyle = (0, _extends2.default)({}, menuStyle, {\n left: left,\n top: top\n });\n return /*#__PURE__*/_react.default.createElement(_Picker.PickerPopup, {\n autoWidth: menuAutoWidth,\n className: classes,\n style: mergedMenuStyle,\n ref: (0, _utils.mergeRefs)(overlay, speakerRef),\n onKeyDown: onPickerKeydown,\n target: trigger,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 780,\n columnNumber: 7\n }\n }, searchable ? /*#__PURE__*/_react.default.createElement(_SearchBox.default, {\n placeholder: locale.searchPlaceholder,\n onChange: handleSearch,\n value: searchKeywordState,\n inputRef: searchInput,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 789,\n columnNumber: 11\n }\n }) : null, renderMenu ? renderMenu(renderCheckTree()) : renderCheckTree(), renderExtraFooter === null || renderExtraFooter === void 0 ? void 0 : renderExtraFooter());\n };\n var selectedItems = (0, _react.useMemo)(function () {\n return (0, _utils2.getSelectedItems)(flattenNodes, value);\n }, [flattenNodes, value]);\n /**\n * 1.Have a value and the value is valid.\n * 2.Regardless of whether the value is valid, as long as renderValue is set, it is judged to have a value.\n */\n var hasValidValue = selectedItems.length > 0 || value.length > 0 && (0, _isFunction2.default)(renderValue);\n var selectedElement = placeholder;\n if (hasValidValue) {\n selectedElement = /*#__PURE__*/_react.default.createElement(_Picker.SelectedElement, {\n selectedItems: selectedItems,\n countable: countable,\n valueKey: valueKey,\n labelKey: labelKey,\n childrenKey: childrenKey,\n prefix: prefix,\n cascade: cascade,\n locale: locale,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 812,\n columnNumber: 7\n }\n });\n if ((0, _isFunction2.default)(renderValue)) {\n selectedElement = renderValue(value, selectedItems, selectedElement);\n if ((0, _isNil2.default)(selectedElement)) {\n hasValidValue = false;\n }\n }\n }\n var _usePickerClassName = (0, _Picker.usePickerClassName)((0, _extends2.default)({}, props, {\n classPrefix: classPrefix,\n appearance: appearance,\n countable: countable,\n cleanable: cleanable,\n disabled: disabled,\n hasValue: hasValidValue,\n name: 'check-tree'\n })),\n classes = _usePickerClassName[0],\n usedClassNamePropKeys = _usePickerClassName[1];\n if (inline) {\n return renderCheckTree();\n }\n return /*#__PURE__*/_react.default.createElement(_Picker.PickerToggleTrigger, {\n id: id,\n popupType: \"tree\",\n multiple: true,\n pickerProps: (0, _pick2.default)(props, _Picker.pickTriggerPropKeys),\n ref: trigger,\n placement: placement,\n onEnter: handleOpen,\n onEntered: onEntered,\n onExited: (0, _utils.createChainedFunction)(handleClose, onExited),\n speaker: renderDropdownMenu,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 847,\n columnNumber: 5\n }\n }, /*#__PURE__*/_react.default.createElement(Component, {\n className: classes,\n style: style,\n ref: root,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 859,\n columnNumber: 7\n }\n }, /*#__PURE__*/_react.default.createElement(_Picker.PickerToggle, (0, _extends2.default)({}, (0, _omit2.default)(rest, [].concat(_Picker.omitTriggerPropKeys, usedClassNamePropKeys)), {\n ref: target,\n appearance: appearance,\n onKeyDown: onPickerKeydown,\n onClean: (0, _utils.createChainedFunction)(handleClean, onClean),\n cleanable: cleanable && !disabled,\n disabled: disabled,\n as: toggleAs,\n hasValue: hasValidValue,\n active: active,\n placement: placement,\n inputValue: value,\n focusItemValue: focusItemValue,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 860,\n columnNumber: 9\n }\n }), selectedElement || locale.placeholder)));\n});\nCheckTreePicker.displayName = 'CheckTreePicker';\nCheckTreePicker.propTypes = (0, _extends2.default)({}, _Picker.listPickerPropTypes, {\n height: _propTypes.default.number,\n appearance: (0, _propTypes2.oneOf)(['default', 'subtle']),\n locale: _propTypes.default.any,\n cascade: _propTypes.default.bool,\n countable: _propTypes.default.bool,\n searchable: _propTypes.default.bool,\n virtualized: _propTypes.default.bool,\n searchKeyword: _propTypes.default.string,\n menuAutoWidth: _propTypes.default.bool,\n defaultExpandAll: _propTypes.default.bool,\n containerPadding: _propTypes.default.number,\n disabledItemValues: _propTypes.default.array,\n expandItemValues: _propTypes.default.array,\n defaultExpandItemValues: _propTypes.default.array,\n uncheckableItemValues: _propTypes.default.array,\n onSearch: _propTypes.default.func,\n onExpand: _propTypes.default.func,\n onSelect: _propTypes.default.func,\n renderMenu: _propTypes.default.func,\n renderTreeNode: _propTypes.default.func,\n renderTreeIcon: _propTypes.default.func,\n searchBy: _propTypes.default.func,\n onScroll: _propTypes.default.func\n});\nvar _default = CheckTreePicker;\nexports[\"default\"] = _default;\n\n//# sourceURL=webpack://rsuite/./src/CheckTreePicker/CheckTreePicker.tsx?");
|
|
6498
6498
|
|
|
6499
6499
|
/***/ }),
|
|
6500
6500
|
|
|
@@ -9178,7 +9178,7 @@ eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/he
|
|
|
9178
9178
|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
9179
9179
|
|
|
9180
9180
|
"use strict";
|
|
9181
|
-
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\nvar _interopRequireWildcard = __webpack_require__(/*! @babel/runtime/helpers/interopRequireWildcard */ \"./node_modules/@babel/runtime/helpers/interopRequireWildcard.js\");\nexports.__esModule = true;\nexports[\"default\"] = void 0;\nvar _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\"));\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutPropertiesLoose */ \"./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js\"));\nvar _isFunction2 = _interopRequireDefault(__webpack_require__(/*! lodash/isFunction */ \"./node_modules/lodash/isFunction.js\"));\nvar _isNil2 = _interopRequireDefault(__webpack_require__(/*! lodash/isNil */ \"./node_modules/lodash/isNil.js\"));\nvar _isUndefined2 = _interopRequireDefault(__webpack_require__(/*! lodash/isUndefined */ \"./node_modules/lodash/isUndefined.js\"));\nvar _omit2 = _interopRequireDefault(__webpack_require__(/*! lodash/omit */ \"./node_modules/lodash/omit.js\"));\nvar _pick2 = _interopRequireDefault(__webpack_require__(/*! lodash/pick */ \"./node_modules/lodash/pick.js\"));\nvar _react = _interopRequireWildcard(__webpack_require__(/*! react */ \"react\"));\nvar _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\"));\nvar _Windowing = __webpack_require__(/*! ../internals/Windowing */ \"./src/internals/Windowing/index.ts\");\nvar _propTypes2 = __webpack_require__(/*! ../internals/propTypes */ \"./src/internals/propTypes/index.ts\");\nvar _TreeNode = _interopRequireDefault(__webpack_require__(/*! ./TreeNode */ \"./src/TreePicker/TreeNode.tsx\"));\nvar _treeUtils = __webpack_require__(/*! ../utils/treeUtils */ \"./src/utils/treeUtils.ts\");\nvar _utils = __webpack_require__(/*! ../utils */ \"./src/utils/index.ts\");\nvar _Picker = __webpack_require__(/*! ../internals/Picker */ \"./src/internals/Picker/index.ts\");\nvar _SearchBox = _interopRequireDefault(__webpack_require__(/*! ../internals/SearchBox */ \"./src/internals/SearchBox/index.tsx\"));\nvar _TreeContext = _interopRequireDefault(__webpack_require__(/*! ../Tree/TreeContext */ \"./src/Tree/TreeContext.ts\"));\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/TreePicker/TreePicker.tsx\",\n _this = void 0;\nvar emptyArray = [];\nvar itemSize = function itemSize() {\n return 36;\n};\n\n/**\n * The `TreePicker` component is used for selecting single options which are organized in a tree structure.\n *\n * @see https://rsuitejs.com/components/tree-picker/\n */\nvar TreePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n var _props$as = props.as,\n Component = _props$as === void 0 ? 'div' : _props$as,\n _props$data = props.data,\n data = _props$data === void 0 ? emptyArray : _props$data,\n _props$appearance = props.appearance,\n appearance = _props$appearance === void 0 ? 'default' : _props$appearance,\n style = props.style,\n showIndentLine = props.showIndentLine,\n controlledValue = props.value,\n overrideLocale = props.locale,\n _props$height = props.height,\n height = _props$height === void 0 ? 360 : _props$height,\n _props$menuMaxHeight = props.menuMaxHeight,\n menuMaxHeight = _props$menuMaxHeight === void 0 ? 320 : _props$menuMaxHeight,\n menuStyle = props.menuStyle,\n className = props.className,\n disabled = props.disabled,\n _props$placement = props.placement,\n placement = _props$placement === void 0 ? 'bottomStart' : _props$placement,\n _props$cleanable = props.cleanable,\n cleanable = _props$cleanable === void 0 ? true : _props$cleanable,\n _props$searchable = props.searchable,\n searchable = _props$searchable === void 0 ? true : _props$searchable,\n _props$virtualized = props.virtualized,\n virtualized = _props$virtualized === void 0 ? false : _props$virtualized,\n _props$classPrefix = props.classPrefix,\n classPrefix = _props$classPrefix === void 0 ? 'picker' : _props$classPrefix,\n defaultValue = props.defaultValue,\n placeholder = props.placeholder,\n searchKeyword = props.searchKeyword,\n menuClassName = props.menuClassName,\n _props$menuAutoWidth = props.menuAutoWidth,\n menuAutoWidth = _props$menuAutoWidth === void 0 ? true : _props$menuAutoWidth,\n searchBy = props.searchBy,\n toggleAs = props.toggleAs,\n _props$labelKey = props.labelKey,\n labelKey = _props$labelKey === void 0 ? 'label' : _props$labelKey,\n _props$valueKey = props.valueKey,\n valueKey = _props$valueKey === void 0 ? 'value' : _props$valueKey,\n _props$childrenKey = props.childrenKey,\n childrenKey = _props$childrenKey === void 0 ? 'children' : _props$childrenKey,\n draggable = props.draggable,\n _props$defaultExpandA = props.defaultExpandAll,\n defaultExpandAll = _props$defaultExpandA === void 0 ? false : _props$defaultExpandA,\n _props$disabledItemVa = props.disabledItemValues,\n disabledItemValues = _props$disabledItemVa === void 0 ? emptyArray : _props$disabledItemVa,\n controlledExpandItemValues = props.expandItemValues,\n _props$defaultExpandI = props.defaultExpandItemValues,\n defaultExpandItemValues = _props$defaultExpandI === void 0 ? emptyArray : _props$defaultExpandI,\n id = props.id,\n listProps = props.listProps,\n getChildren = props.getChildren,\n renderTreeIcon = props.renderTreeIcon,\n renderTreeNode = props.renderTreeNode,\n onExit = props.onExit,\n onExited = props.onExited,\n onClean = props.onClean,\n onOpen = props.onOpen,\n onSearch = props.onSearch,\n onSelect = props.onSelect,\n onSelectItem = props.onSelectItem,\n onChange = props.onChange,\n onEntered = props.onEntered,\n onClose = props.onClose,\n onDragEnd = props.onDragEnd,\n onDragStart = props.onDragStart,\n onDragEnter = props.onDragEnter,\n onDragLeave = props.onDragLeave,\n onDragOver = props.onDragOver,\n onDrop = props.onDrop,\n onExpand = props.onExpand,\n renderExtraFooter = props.renderExtraFooter,\n renderMenu = props.renderMenu,\n renderValue = props.renderValue,\n rest = (0, _objectWithoutPropertiesLoose2.default)(props, [\"as\", \"data\", \"appearance\", \"style\", \"showIndentLine\", \"value\", \"locale\", \"height\", \"menuMaxHeight\", \"menuStyle\", \"className\", \"disabled\", \"placement\", \"cleanable\", \"searchable\", \"virtualized\", \"classPrefix\", \"defaultValue\", \"placeholder\", \"searchKeyword\", \"menuClassName\", \"menuAutoWidth\", \"searchBy\", \"toggleAs\", \"labelKey\", \"valueKey\", \"childrenKey\", \"draggable\", \"defaultExpandAll\", \"disabledItemValues\", \"expandItemValues\", \"defaultExpandItemValues\", \"id\", \"listProps\", \"getChildren\", \"renderTreeIcon\", \"renderTreeNode\", \"onExit\", \"onExited\", \"onClean\", \"onOpen\", \"onSearch\", \"onSelect\", \"onSelectItem\", \"onChange\", \"onEntered\", \"onClose\", \"onDragEnd\", \"onDragStart\", \"onDragEnter\", \"onDragLeave\", \"onDragOver\", \"onDrop\", \"onExpand\", \"renderExtraFooter\", \"renderMenu\", \"renderValue\"]);\n var _useCustom = (0, _utils.useCustom)('Picker', overrideLocale),\n rtl = _useCustom.rtl,\n locale = _useCustom.locale;\n var _useContext = (0, _react.useContext)(_TreeContext.default),\n inline = _useContext.inline;\n var _usePickerRef = (0, _Picker.usePickerRef)(ref, {\n inline: inline\n }),\n trigger = _usePickerRef.trigger,\n root = _usePickerRef.root,\n target = _usePickerRef.target,\n overlay = _usePickerRef.overlay,\n list = _usePickerRef.list,\n searchInput = _usePickerRef.searchInput,\n treeView = _usePickerRef.treeView;\n var _useControlled = (0, _utils.useControlled)(controlledValue, defaultValue),\n value = _useControlled[0],\n setValue = _useControlled[1],\n isControlled = _useControlled[2];\n var _useGetTreeNodeChildr = (0, _treeUtils.useGetTreeNodeChildren)(data, valueKey, childrenKey),\n treeData = _useGetTreeNodeChildr.data,\n setTreeData = _useGetTreeNodeChildr.setData,\n loadingNodeValues = _useGetTreeNodeChildr.loadingNodeValues,\n loadChildren = _useGetTreeNodeChildr.loadChildren;\n var _useControlled2 = (0, _utils.useControlled)(controlledExpandItemValues, (0, _treeUtils.getDefaultExpandItemValues)(treeData, {\n defaultExpandAll: defaultExpandAll,\n valueKey: valueKey,\n childrenKey: childrenKey,\n defaultExpandItemValues: defaultExpandItemValues\n })),\n expandItemValues = _useControlled2[0],\n setExpandItemValues = _useControlled2[1];\n var _useState = (0, _react.useState)(false),\n active = _useState[0],\n setActive = _useState[1];\n var _useState2 = (0, _react.useState)(null),\n focusItemValue = _useState2[0],\n setFocusItemValue = _useState2[1];\n var _useFlattenTreeData = (0, _treeUtils.useFlattenTreeData)({\n data: treeData,\n labelKey: labelKey,\n valueKey: valueKey,\n childrenKey: childrenKey,\n callback: function callback() {\n // after flattenData, always trigger re-render\n forceUpdate();\n }\n }),\n flattenNodes = _useFlattenTreeData.flattenNodes,\n forceUpdate = _useFlattenTreeData.forceUpdate,\n formatVirtualizedTreeData = _useFlattenTreeData.formatVirtualizedTreeData;\n var _useClassNames = (0, _utils.useClassNames)(classPrefix),\n prefix = _useClassNames.prefix,\n merge = _useClassNames.merge;\n var _useClassNames2 = (0, _utils.useClassNames)('tree'),\n treePrefix = _useClassNames2.prefix,\n withTreeClassPrefix = _useClassNames2.withClassPrefix;\n var _useTreeSearch = (0, _treeUtils.useTreeSearch)({\n labelKey: labelKey,\n childrenKey: childrenKey,\n searchKeyword: searchKeyword,\n data: treeData,\n searchBy: searchBy,\n callback: function callback(searchKeyword, _filterData, event) {\n onSearch === null || onSearch === void 0 ? void 0 : onSearch(searchKeyword, event);\n }\n }),\n filteredData = _useTreeSearch.filteredData,\n searchKeywordState = _useTreeSearch.searchKeywordState,\n setSearchKeyword = _useTreeSearch.setSearchKeyword,\n handleSearch = _useTreeSearch.handleSearch,\n setFilteredData = _useTreeSearch.setFilteredData;\n var _useTreeDrag = (0, _treeUtils.useTreeDrag)(),\n dragNodeKeys = _useTreeDrag.dragNodeKeys,\n dragOverNodeKey = _useTreeDrag.dragOverNodeKey,\n dragNode = _useTreeDrag.dragNode,\n dropNodePosition = _useTreeDrag.dropNodePosition,\n setDragNodeKeys = _useTreeDrag.setDragNodeKeys,\n setDragOverNodeKey = _useTreeDrag.setDragOverNodeKey,\n setDragNode = _useTreeDrag.setDragNode,\n setDropNodePosition = _useTreeDrag.setDropNodePosition;\n var _useTreeNodeRefs = (0, _treeUtils.useTreeNodeRefs)(),\n treeNodesRefs = _useTreeNodeRefs.treeNodesRefs,\n saveTreeNodeRef = _useTreeNodeRefs.saveTreeNodeRef;\n var activeNode = (0, _treeUtils.getTreeActiveNode)(flattenNodes, value, valueKey);\n var getFormattedNodes = function getFormattedNodes(render) {\n if (virtualized) {\n return formatVirtualizedTreeData(flattenNodes, filteredData, expandItemValues, {\n searchKeyword: searchKeywordState\n }).filter(function (n) {\n return n.visible;\n });\n }\n return filteredData.map(function (dataItem, index) {\n return render === null || render === void 0 ? void 0 : render(dataItem, index, 1);\n });\n };\n var focusActiveNode = function focusActiveNode() {\n if (list.current) {\n (0, _treeUtils.focusToActiveTreeNode)({\n list: list.current,\n valueKey: valueKey,\n selector: \".\" + treePrefix('node-active'),\n activeNode: activeNode,\n virtualized: virtualized,\n container: treeView.current,\n formattedNodes: getFormattedNodes()\n });\n }\n };\n (0, _react.useEffect)(function () {\n setFilteredData(data, searchKeywordState);\n setTreeData(data);\n }, [data, searchKeywordState, setFilteredData, setTreeData]);\n (0, _react.useEffect)(function () {\n setFilteredData(treeData, searchKeywordState);\n }, [treeData, searchKeywordState, setFilteredData]);\n (0, _react.useEffect)(function () {\n if (Array.isArray(controlledExpandItemValues)) {\n setExpandItemValues(controlledExpandItemValues);\n }\n }, [controlledExpandItemValues, setExpandItemValues]);\n (0, _react.useEffect)(function () {\n setSearchKeyword(searchKeyword !== null && searchKeyword !== void 0 ? searchKeyword : '');\n }, [searchKeyword, setSearchKeyword]);\n var getDropData = function getDropData(nodeData) {\n var options = {\n valueKey: valueKey,\n childrenKey: childrenKey\n };\n return {\n /** draggingNode */\n dragNode: dragNode,\n /** dropNode */\n dropNode: nodeData,\n /** dragAndDrop Position type */\n dropNodePosition: dropNodePosition,\n createUpdateDataFunction: (0, _treeUtils.createUpdateTreeDataFunction)({\n dragNode: dragNode,\n dropNode: nodeData,\n dropNodePosition: dropNodePosition\n }, options)\n };\n };\n var getTreeNodeProps = function getTreeNodeProps(node, layer, index) {\n var draggingNode = dragNode !== null && dragNode !== void 0 ? dragNode : {};\n return {\n as: Component,\n rtl: rtl,\n value: node[valueKey],\n label: node[labelKey],\n index: index,\n layer: layer,\n loading: loadingNodeValues.some(function (item) {\n return (0, _utils.shallowEqual)(item, node[valueKey]);\n }),\n expand: node.expand,\n active: (0, _utils.shallowEqual)(node[valueKey], value),\n focus: (0, _utils.shallowEqual)(node[valueKey], focusItemValue),\n visible: node.visible,\n draggable: draggable,\n dragging: (0, _utils.shallowEqual)(node[valueKey], draggingNode[valueKey]),\n children: node[childrenKey],\n nodeData: node,\n disabled: disabledItemValues.some(function (disabledItem) {\n return (0, _utils.shallowEqual)(disabledItem, node[valueKey]);\n }),\n dragOver: (0, _utils.shallowEqual)(node[valueKey], dragOverNodeKey) && dropNodePosition === _utils.TREE_NODE_DROP_POSITION.DRAG_OVER,\n dragOverTop: (0, _utils.shallowEqual)(node[valueKey], dragOverNodeKey) && dropNodePosition === _utils.TREE_NODE_DROP_POSITION.DRAG_OVER_TOP,\n dragOverBottom: (0, _utils.shallowEqual)(node[valueKey], dragOverNodeKey) && dropNodePosition === _utils.TREE_NODE_DROP_POSITION.DRAG_OVER_BOTTOM,\n onSelect: handleSelect,\n onDragStart: handleDragStart,\n onDragEnter: handleDragEnter,\n onDragOver: handleDragOver,\n onDragLeave: handleDragLeave,\n onDragEnd: handleDragEnd,\n onDrop: handleDrop,\n onExpand: handleExpand,\n renderTreeNode: renderTreeNode,\n renderTreeIcon: renderTreeIcon\n };\n };\n\n // TODO-Doma\n // Replace `getKeyParentMap` with `getParentMap`\n var itemParentMap = (0, _react.useMemo)(function () {\n return (0, _treeUtils.getKeyParentMap)(data, function (node) {\n return node[valueKey];\n }, function (node) {\n return node[childrenKey];\n });\n }, [childrenKey, data, valueKey]);\n var handleSelect = (0, _utils.useEventCallback)(function (nodeData, event) {\n var _target$current, _trigger$current, _trigger$current$clos;\n if (!nodeData) {\n return;\n }\n var nodeValue = nodeData[valueKey];\n if (!isControlled) {\n setValue(nodeValue);\n }\n setFocusItemValue(nodeData[valueKey]);\n onChange === null || onChange === void 0 ? void 0 : onChange(nodeValue, event);\n onSelect === null || onSelect === void 0 ? void 0 : onSelect(nodeData, nodeValue, event);\n onSelectItem === null || onSelectItem === void 0 ? void 0 : onSelectItem(nodeData, (0, _treeUtils.getPathTowardsItem)(nodeData, function (item) {\n return itemParentMap.get(item[valueKey]);\n }));\n (_target$current = target.current) === null || _target$current === void 0 ? void 0 : _target$current.focus();\n (_trigger$current = trigger.current) === null || _trigger$current === void 0 ? void 0 : (_trigger$current$clos = _trigger$current.close) === null || _trigger$current$clos === void 0 ? void 0 : _trigger$current$clos.call(_trigger$current);\n });\n var handleExpand = (0, _utils.useEventCallback)(function (node) {\n var nextExpandItemValues = (0, _treeUtils.toggleExpand)({\n node: node,\n isExpand: !node.expand,\n expandItemValues: expandItemValues,\n valueKey: valueKey\n });\n setExpandItemValues(nextExpandItemValues);\n onExpand === null || onExpand === void 0 ? void 0 : onExpand(nextExpandItemValues, node, (0, _Picker.createConcatChildrenFunction)(node, node[valueKey], {\n valueKey: valueKey,\n childrenKey: childrenKey\n }));\n if ((0, _isFunction2.default)(getChildren) && !node.expand && Array.isArray(node[childrenKey]) && node[childrenKey].length === 0) {\n loadChildren(node, getChildren);\n }\n });\n var handleDragStart = (0, _utils.useEventCallback)(function (nodeData, event) {\n if (draggable) {\n var _event$dataTransfer;\n var dragMoverNode = (0, _treeUtils.createDragPreview)((0, _treeUtils.stringifyTreeNodeLabel)(nodeData[labelKey]), treePrefix('drag-preview'));\n (_event$dataTransfer = event.dataTransfer) === null || _event$dataTransfer === void 0 ? void 0 : _event$dataTransfer.setDragImage(dragMoverNode, 0, 0);\n setDragNodeKeys((0, _treeUtils.getDragNodeKeys)(nodeData, childrenKey, valueKey));\n setDragNode(flattenNodes[nodeData.refKey]);\n onDragStart === null || onDragStart === void 0 ? void 0 : onDragStart(nodeData, event);\n }\n });\n var handleDragEnter = (0, _utils.useEventCallback)(function (nodeData, event) {\n if (dragNodeKeys.some(function (d) {\n return (0, _utils.shallowEqual)(d, nodeData[valueKey]);\n })) {\n return;\n }\n if (dragNode) {\n setDragOverNodeKey(nodeData[valueKey]);\n setDropNodePosition((0, _treeUtils.calDropNodePosition)(event, treeNodesRefs[nodeData.refKey]));\n }\n onDragEnter === null || onDragEnter === void 0 ? void 0 : onDragEnter(nodeData, event);\n });\n var handleDragOver = (0, _utils.useEventCallback)(function (nodeData, event) {\n if (dragNodeKeys.some(function (d) {\n return (0, _utils.shallowEqual)(d, nodeData[valueKey]);\n })) {\n event.dataTransfer.dropEffect = 'none';\n return;\n }\n if (dragNode && (0, _utils.shallowEqual)(nodeData[valueKey], dragOverNodeKey)) {\n var lastDropNodePosition = (0, _treeUtils.calDropNodePosition)(event, treeNodesRefs[nodeData.refKey]);\n if (lastDropNodePosition === dropNodePosition) return;\n setDropNodePosition(lastDropNodePosition);\n }\n onDragOver === null || onDragOver === void 0 ? void 0 : onDragOver(nodeData, event);\n });\n var handleDragLeave = (0, _utils.useEventCallback)(function (nodeData, event) {\n onDragLeave === null || onDragLeave === void 0 ? void 0 : onDragLeave(nodeData, event);\n });\n var handleDragEnd = (0, _utils.useEventCallback)(function (nodeData, event) {\n (0, _treeUtils.removeDragPreview)();\n setDragNode(null);\n setDragNodeKeys([]);\n setDragOverNodeKey(null);\n onDragEnd === null || onDragEnd === void 0 ? void 0 : onDragEnd(nodeData, event);\n });\n var handleDrop = (0, _utils.useEventCallback)(function (nodeData, event) {\n if (dragNodeKeys.some(function (d) {\n return (0, _utils.shallowEqual)(d, nodeData[valueKey]);\n })) {\n console.error('Cannot drag a node to itself and its children');\n } else {\n var dropData = getDropData(nodeData);\n onDrop === null || onDrop === void 0 ? void 0 : onDrop(dropData, event);\n }\n (0, _treeUtils.removeDragPreview)();\n setDragNode(null);\n setDragNodeKeys([]);\n setDragOverNodeKey(null);\n });\n var handleOpen = (0, _utils.useEventCallback)(function () {\n var _trigger$current2, _trigger$current2$ope;\n (_trigger$current2 = trigger.current) === null || _trigger$current2 === void 0 ? void 0 : (_trigger$current2$ope = _trigger$current2.open) === null || _trigger$current2$ope === void 0 ? void 0 : _trigger$current2$ope.call(_trigger$current2);\n focusActiveNode();\n onOpen === null || onOpen === void 0 ? void 0 : onOpen();\n setActive(true);\n });\n var handleClose = (0, _utils.useEventCallback)(function () {\n var _trigger$current3, _trigger$current3$clo, _target$current2;\n (_trigger$current3 = trigger.current) === null || _trigger$current3 === void 0 ? void 0 : (_trigger$current3$clo = _trigger$current3.close) === null || _trigger$current3$clo === void 0 ? void 0 : _trigger$current3$clo.call(_trigger$current3);\n setSearchKeyword('');\n setActive(false);\n setFocusItemValue(activeNode === null || activeNode === void 0 ? void 0 : activeNode[valueKey]);\n /**\n * when using keyboard toggle picker, should refocus on PickerToggle Component after close picker menu\n */\n (_target$current2 = target.current) === null || _target$current2 === void 0 ? void 0 : _target$current2.focus();\n });\n var handleFocusItem = (0, _utils.useEventCallback)(function (key) {\n var focusableItems = (0, _treeUtils.getFocusableItems)(filteredData, {\n disabledItemValues: disabledItemValues,\n valueKey: valueKey,\n childrenKey: childrenKey,\n expandItemValues: expandItemValues\n }, (0, _treeUtils.isSearching)(searchKeywordState));\n var selector = \".\" + treePrefix('node-label');\n var focusProps = {\n focusItemValue: focusItemValue,\n focusableItems: focusableItems,\n treeNodesRefs: treeNodesRefs,\n selector: selector,\n valueKey: valueKey,\n callback: function callback(nextFocusItemValue) {\n setFocusItemValue(nextFocusItemValue);\n }\n };\n if (key === _utils.KEY_VALUES.DOWN) {\n (0, _treeUtils.focusNextItem)(focusProps);\n return;\n }\n if (key === _utils.KEY_VALUES.UP) {\n (0, _treeUtils.focusPreviousItem)(focusProps);\n }\n });\n var handleLeftArrow = (0, _utils.useEventCallback)(function () {\n if ((0, _isNil2.default)(focusItemValue)) return;\n var focusItem = (0, _treeUtils.getActiveItem)(focusItemValue, flattenNodes, valueKey);\n (0, _treeUtils.leftArrowHandler)({\n focusItem: focusItem,\n expand: expandItemValues.includes(focusItem === null || focusItem === void 0 ? void 0 : focusItem[valueKey]),\n onExpand: handleExpand,\n childrenKey: childrenKey,\n onFocusItem: function onFocusItem() {\n var _focusItem$parent, _focusItem$parent2;\n setFocusItemValue(focusItem === null || focusItem === void 0 ? void 0 : (_focusItem$parent = focusItem.parent) === null || _focusItem$parent === void 0 ? void 0 : _focusItem$parent[valueKey]);\n (0, _treeUtils.focusTreeNode)(focusItem === null || focusItem === void 0 ? void 0 : (_focusItem$parent2 = focusItem.parent) === null || _focusItem$parent2 === void 0 ? void 0 : _focusItem$parent2.refKey, treeNodesRefs, \".\" + treePrefix('node-label'));\n }\n });\n });\n var handleRightArrow = (0, _utils.useEventCallback)(function () {\n if ((0, _isNil2.default)(focusItemValue)) return;\n var focusItem = (0, _treeUtils.getActiveItem)(focusItemValue, flattenNodes, valueKey);\n (0, _treeUtils.rightArrowHandler)({\n focusItem: focusItem,\n expand: expandItemValues.includes(focusItem === null || focusItem === void 0 ? void 0 : focusItem[valueKey]),\n childrenKey: childrenKey,\n onExpand: handleExpand,\n onFocusItem: function onFocusItem() {\n handleFocusItem(_utils.KEY_VALUES.DOWN);\n }\n });\n });\n var selectActiveItem = (0, _utils.useEventCallback)(function (event) {\n if ((0, _isNil2.default)(focusItemValue)) return;\n var activeItem = (0, _treeUtils.getActiveItem)(focusItemValue, flattenNodes, valueKey);\n handleSelect(activeItem, event);\n });\n var handleClean = (0, _utils.useEventCallback)(function (event) {\n var nullValue = null;\n var target = event.target;\n // exclude searchbox\n if (target.matches('input[role=\"searchbox\"]') || disabled || !cleanable) {\n return;\n }\n if (!isControlled) {\n setValue(null);\n }\n onChange === null || onChange === void 0 ? void 0 : onChange(nullValue, event);\n });\n var onPickerKeydown = (0, _Picker.useToggleKeyDownEvent)((0, _extends2.default)({\n toggle: !activeNode || !active,\n trigger: trigger,\n target: target,\n overlay: overlay,\n searchInput: searchInput,\n active: active,\n onExit: handleClean,\n onClose: handleClose,\n onMenuKeyDown: function onMenuKeyDown(event) {\n (0, _Picker.onMenuKeyDown)(event, {\n down: function down() {\n return handleFocusItem(_utils.KEY_VALUES.DOWN);\n },\n up: function up() {\n return handleFocusItem(_utils.KEY_VALUES.UP);\n },\n left: rtl ? handleRightArrow : handleLeftArrow,\n right: rtl ? handleLeftArrow : handleRightArrow,\n enter: selectActiveItem,\n del: handleClean\n });\n }\n }, rest));\n var handleTreeKeyDown = (0, _utils.useEventCallback)(function (event) {\n if (!treeView.current) {\n return;\n }\n (0, _Picker.onMenuKeyDown)(event, {\n down: function down() {\n return handleFocusItem(_utils.KEY_VALUES.DOWN);\n },\n up: function up() {\n return handleFocusItem(_utils.KEY_VALUES.UP);\n },\n left: rtl ? handleRightArrow : handleLeftArrow,\n right: rtl ? handleLeftArrow : handleRightArrow,\n enter: selectActiveItem\n });\n });\n var renderNode = function renderNode(node, index, layer) {\n if (!node.visible) {\n return null;\n }\n var children = node[childrenKey];\n var expand = (0, _treeUtils.getExpandWhenSearching)(searchKeywordState, expandItemValues.includes(node[valueKey]));\n var visibleChildren = (0, _isUndefined2.default)(searchKeywordState) || searchKeywordState.length === 0 ? !!children : (0, _treeUtils.hasVisibleChildren)(node, childrenKey);\n var nodeProps = (0, _extends2.default)({}, getTreeNodeProps((0, _extends2.default)({}, node, {\n expand: expand\n }), layer, index), {\n hasChildren: visibleChildren\n });\n if (nodeProps.hasChildren) {\n var _merge;\n layer += 1;\n var openClass = treePrefix('open');\n var childrenClass = merge(treePrefix('node-children'), (_merge = {}, _merge[openClass] = expand && visibleChildren, _merge));\n var nodes = children || [];\n return /*#__PURE__*/_react.default.createElement(\"div\", {\n className: childrenClass,\n key: node[valueKey],\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 640,\n columnNumber: 9\n }\n }, /*#__PURE__*/_react.default.createElement(_TreeNode.default, (0, _extends2.default)({}, nodeProps, {\n ref: function ref(_ref) {\n return saveTreeNodeRef(_ref, node.refKey);\n },\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 641,\n columnNumber: 11\n }\n })), /*#__PURE__*/_react.default.createElement(\"div\", {\n className: treePrefix('group'),\n role: \"group\",\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 642,\n columnNumber: 11\n }\n }, nodes.map(function (child, i) {\n return renderNode(child, i, layer);\n }), showIndentLine && /*#__PURE__*/_react.default.createElement(\"span\", {\n className: treePrefix('indent-line'),\n style: (0, _treeUtils.getTreeNodeIndent)(rtl, layer - 1, true),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 645,\n columnNumber: 15\n }\n })));\n }\n return /*#__PURE__*/_react.default.createElement(_TreeNode.default, (0, _extends2.default)({\n ref: function ref(_ref2) {\n return saveTreeNodeRef(_ref2, node.refKey);\n },\n key: node[valueKey]\n }, nodeProps, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 655,\n columnNumber: 7\n }\n }));\n };\n var renderVirtualListNode = function renderVirtualListNode(_ref3) {\n var index = _ref3.index,\n style = _ref3.style,\n data = _ref3.data;\n var node = data[index];\n var layer = node.layer,\n visible = node.visible;\n var expand = (0, _treeUtils.getExpandWhenSearching)(searchKeywordState, expandItemValues.includes(node[valueKey]));\n if (!node.visible) {\n return null;\n }\n var nodeProps = (0, _extends2.default)({}, getTreeNodeProps((0, _extends2.default)({}, node, {\n expand: expand\n }), layer), {\n style: style,\n hasChildren: node.hasChildren\n });\n return visible && /*#__PURE__*/_react.default.createElement(_TreeNode.default, (0, _extends2.default)({\n ref: function ref(_ref4) {\n return saveTreeNodeRef(_ref4, node.refKey);\n }\n }, nodeProps, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 681,\n columnNumber: 23\n }\n }));\n };\n var renderTree = function renderTree() {\n var _withTreeClassPrefix;\n var classes = withTreeClassPrefix((_withTreeClassPrefix = {}, _withTreeClassPrefix[className !== null && className !== void 0 ? className : ''] = inline, _withTreeClassPrefix.virtualized = virtualized, _withTreeClassPrefix));\n var formattedNodes = getFormattedNodes(renderNode);\n return /*#__PURE__*/_react.default.createElement(_Picker.TreeView, {\n treeRootClassName: treePrefix('root'),\n ref: inline ? root : treeView,\n className: classes,\n style: inline ? (0, _extends2.default)({\n height: height\n }, style) : {},\n onKeyDown: inline ? handleTreeKeyDown : undefined,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 693,\n columnNumber: 7\n }\n }, virtualized ? /*#__PURE__*/_react.default.createElement(_Windowing.AutoSizer, {\n defaultHeight: inline ? height : menuMaxHeight,\n style: {\n width: 'auto',\n height: 'auto'\n },\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 701,\n columnNumber: 11\n }\n }, function (_ref5) {\n var height = _ref5.height;\n return /*#__PURE__*/_react.default.createElement(_Windowing.List, (0, _extends2.default)({\n ref: list,\n height: height,\n itemSize: itemSize,\n itemCount: formattedNodes.length,\n itemData: formattedNodes\n }, listProps, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 706,\n columnNumber: 15\n }\n }), renderVirtualListNode);\n }) : formattedNodes);\n };\n var renderTreeView = function renderTreeView(positionProps, speakerRef) {\n var left = positionProps.left,\n top = positionProps.top,\n className = positionProps.className;\n var classes = merge(className, menuClassName, prefix('tree-menu'));\n var mergedMenuStyle = (0, _extends2.default)({}, menuStyle, {\n left: left,\n top: top\n });\n return /*#__PURE__*/_react.default.createElement(_Picker.PickerPopup, {\n autoWidth: menuAutoWidth,\n className: classes,\n style: mergedMenuStyle,\n ref: (0, _utils.mergeRefs)(overlay, speakerRef),\n onKeyDown: onPickerKeydown,\n target: trigger,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 731,\n columnNumber: 7\n }\n }, searchable ? /*#__PURE__*/_react.default.createElement(_SearchBox.default, {\n placeholder: locale.searchPlaceholder,\n onChange: handleSearch,\n value: searchKeywordState,\n inputRef: searchInput,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 740,\n columnNumber: 11\n }\n }) : null, renderMenu ? renderMenu(renderTree()) : renderTree(), renderExtraFooter === null || renderExtraFooter === void 0 ? void 0 : renderExtraFooter());\n };\n\n /**\n * 1.Have a value and the value is valid.\n * 2.Regardless of whether the value is valid, as long as renderValue is set, it is judged to have a value.\n */\n var hasValidValue = !(0, _isNil2.default)(activeNode) || !(0, _isNil2.default)(value) && (0, _isFunction2.default)(renderValue);\n var selectedElement = placeholder;\n if (hasValidValue) {\n var node = activeNode !== null && activeNode !== void 0 ? activeNode : {};\n selectedElement = node[labelKey];\n if ((0, _isFunction2.default)(renderValue) && value) {\n selectedElement = renderValue(value, node, selectedElement);\n if ((0, _isNil2.default)(selectedElement)) {\n hasValidValue = false;\n }\n }\n }\n var _usePickerClassName = (0, _Picker.usePickerClassName)((0, _extends2.default)({}, props, {\n classPrefix: classPrefix,\n appearance: appearance,\n hasValue: hasValidValue,\n name: 'tree',\n cleanable: cleanable\n })),\n classes = _usePickerClassName[0],\n usedClassNamePropKeys = _usePickerClassName[1];\n if (inline) {\n return renderTree();\n }\n return /*#__PURE__*/_react.default.createElement(_Picker.PickerToggleTrigger, {\n id: id,\n popupType: \"tree\",\n pickerProps: (0, _pick2.default)(props, _Picker.pickTriggerPropKeys),\n ref: trigger,\n placement: placement,\n onEnter: handleOpen,\n onEntered: onEntered,\n onExit: (0, _utils.createChainedFunction)(onClose, onExit),\n onExited: (0, _utils.createChainedFunction)(handleClose, onExited),\n speaker: renderTreeView,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 785,\n columnNumber: 5\n }\n }, /*#__PURE__*/_react.default.createElement(Component, {\n className: classes,\n style: style,\n ref: root,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 797,\n columnNumber: 7\n }\n }, /*#__PURE__*/_react.default.createElement(_Picker.PickerToggle, (0, _extends2.default)({}, (0, _omit2.default)(rest, [].concat(_Picker.omitTriggerPropKeys, usedClassNamePropKeys, ['cascade'])), {\n ref: target,\n appearance: appearance,\n onKeyDown: onPickerKeydown,\n onClean: (0, _utils.createChainedFunction)(handleClean, onClean),\n cleanable: cleanable && !disabled,\n as: toggleAs,\n disabled: disabled,\n hasValue: hasValidValue,\n active: active,\n placement: placement,\n inputValue: value,\n focusItemValue: focusItemValue,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 798,\n columnNumber: 9\n }\n }), selectedElement || locale.placeholder)));\n});\nTreePicker.displayName = 'TreePicker';\nTreePicker.propTypes = (0, _extends2.default)({}, _Picker.listPickerPropTypes, {\n locale: _propTypes.default.any,\n appearance: (0, _propTypes2.oneOf)(['default', 'subtle']),\n height: _propTypes.default.number,\n draggable: _propTypes.default.bool,\n virtualized: _propTypes.default.bool,\n searchable: _propTypes.default.bool,\n menuAutoWidth: _propTypes.default.bool,\n searchKeyword: _propTypes.default.string,\n defaultExpandAll: _propTypes.default.bool,\n expandItemValues: _propTypes.default.array,\n defaultExpandItemValues: _propTypes.default.array,\n onSearch: _propTypes.default.func,\n onExpand: _propTypes.default.func,\n onSelect: _propTypes.default.func,\n renderMenu: _propTypes.default.func,\n renderTreeNode: _propTypes.default.func,\n renderTreeIcon: _propTypes.default.func,\n renderExtraFooter: _propTypes.default.func,\n renderDragNode: _propTypes.default.func,\n searchBy: _propTypes.default.func\n});\nvar _default = TreePicker;\nexports[\"default\"] = _default;\n\n//# sourceURL=webpack://rsuite/./src/TreePicker/TreePicker.tsx?");
|
|
9181
|
+
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\nvar _interopRequireWildcard = __webpack_require__(/*! @babel/runtime/helpers/interopRequireWildcard */ \"./node_modules/@babel/runtime/helpers/interopRequireWildcard.js\");\nexports.__esModule = true;\nexports[\"default\"] = void 0;\nvar _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\"));\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutPropertiesLoose */ \"./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js\"));\nvar _isFunction2 = _interopRequireDefault(__webpack_require__(/*! lodash/isFunction */ \"./node_modules/lodash/isFunction.js\"));\nvar _isNil2 = _interopRequireDefault(__webpack_require__(/*! lodash/isNil */ \"./node_modules/lodash/isNil.js\"));\nvar _isUndefined2 = _interopRequireDefault(__webpack_require__(/*! lodash/isUndefined */ \"./node_modules/lodash/isUndefined.js\"));\nvar _omit2 = _interopRequireDefault(__webpack_require__(/*! lodash/omit */ \"./node_modules/lodash/omit.js\"));\nvar _pick2 = _interopRequireDefault(__webpack_require__(/*! lodash/pick */ \"./node_modules/lodash/pick.js\"));\nvar _react = _interopRequireWildcard(__webpack_require__(/*! react */ \"react\"));\nvar _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\"));\nvar _Windowing = __webpack_require__(/*! ../internals/Windowing */ \"./src/internals/Windowing/index.ts\");\nvar _propTypes2 = __webpack_require__(/*! ../internals/propTypes */ \"./src/internals/propTypes/index.ts\");\nvar _TreeNode = _interopRequireDefault(__webpack_require__(/*! ./TreeNode */ \"./src/TreePicker/TreeNode.tsx\"));\nvar _treeUtils = __webpack_require__(/*! ../utils/treeUtils */ \"./src/utils/treeUtils.ts\");\nvar _utils = __webpack_require__(/*! ../utils */ \"./src/utils/index.ts\");\nvar _Picker = __webpack_require__(/*! ../internals/Picker */ \"./src/internals/Picker/index.ts\");\nvar _SearchBox = _interopRequireDefault(__webpack_require__(/*! ../internals/SearchBox */ \"./src/internals/SearchBox/index.tsx\"));\nvar _TreeContext = _interopRequireDefault(__webpack_require__(/*! ../Tree/TreeContext */ \"./src/Tree/TreeContext.ts\"));\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/TreePicker/TreePicker.tsx\",\n _this = void 0;\nvar emptyArray = [];\nvar itemSize = function itemSize() {\n return 36;\n};\n\n/**\n * The `TreePicker` component is used for selecting single options which are organized in a tree structure.\n *\n * @see https://rsuitejs.com/components/tree-picker/\n */\nvar TreePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n var _props$as = props.as,\n Component = _props$as === void 0 ? 'div' : _props$as,\n _props$data = props.data,\n data = _props$data === void 0 ? emptyArray : _props$data,\n _props$appearance = props.appearance,\n appearance = _props$appearance === void 0 ? 'default' : _props$appearance,\n style = props.style,\n showIndentLine = props.showIndentLine,\n controlledValue = props.value,\n overrideLocale = props.locale,\n _props$height = props.height,\n height = _props$height === void 0 ? 360 : _props$height,\n _props$menuMaxHeight = props.menuMaxHeight,\n menuMaxHeight = _props$menuMaxHeight === void 0 ? 320 : _props$menuMaxHeight,\n menuStyle = props.menuStyle,\n className = props.className,\n disabled = props.disabled,\n _props$placement = props.placement,\n placement = _props$placement === void 0 ? 'bottomStart' : _props$placement,\n _props$cleanable = props.cleanable,\n cleanable = _props$cleanable === void 0 ? true : _props$cleanable,\n _props$searchable = props.searchable,\n searchable = _props$searchable === void 0 ? true : _props$searchable,\n _props$virtualized = props.virtualized,\n virtualized = _props$virtualized === void 0 ? false : _props$virtualized,\n _props$classPrefix = props.classPrefix,\n classPrefix = _props$classPrefix === void 0 ? 'picker' : _props$classPrefix,\n defaultValue = props.defaultValue,\n placeholder = props.placeholder,\n searchKeyword = props.searchKeyword,\n menuClassName = props.menuClassName,\n _props$menuAutoWidth = props.menuAutoWidth,\n menuAutoWidth = _props$menuAutoWidth === void 0 ? true : _props$menuAutoWidth,\n searchBy = props.searchBy,\n toggleAs = props.toggleAs,\n _props$labelKey = props.labelKey,\n labelKey = _props$labelKey === void 0 ? 'label' : _props$labelKey,\n _props$valueKey = props.valueKey,\n valueKey = _props$valueKey === void 0 ? 'value' : _props$valueKey,\n _props$childrenKey = props.childrenKey,\n childrenKey = _props$childrenKey === void 0 ? 'children' : _props$childrenKey,\n draggable = props.draggable,\n _props$defaultExpandA = props.defaultExpandAll,\n defaultExpandAll = _props$defaultExpandA === void 0 ? false : _props$defaultExpandA,\n _props$disabledItemVa = props.disabledItemValues,\n disabledItemValues = _props$disabledItemVa === void 0 ? emptyArray : _props$disabledItemVa,\n controlledExpandItemValues = props.expandItemValues,\n _props$defaultExpandI = props.defaultExpandItemValues,\n defaultExpandItemValues = _props$defaultExpandI === void 0 ? emptyArray : _props$defaultExpandI,\n id = props.id,\n listProps = props.listProps,\n getChildren = props.getChildren,\n renderTreeIcon = props.renderTreeIcon,\n renderTreeNode = props.renderTreeNode,\n onExit = props.onExit,\n onExited = props.onExited,\n onClean = props.onClean,\n onOpen = props.onOpen,\n onSearch = props.onSearch,\n onSelect = props.onSelect,\n onSelectItem = props.onSelectItem,\n onChange = props.onChange,\n onEntered = props.onEntered,\n onClose = props.onClose,\n onDragEnd = props.onDragEnd,\n onDragStart = props.onDragStart,\n onDragEnter = props.onDragEnter,\n onDragLeave = props.onDragLeave,\n onDragOver = props.onDragOver,\n onDrop = props.onDrop,\n onExpand = props.onExpand,\n renderExtraFooter = props.renderExtraFooter,\n renderMenu = props.renderMenu,\n renderValue = props.renderValue,\n rest = (0, _objectWithoutPropertiesLoose2.default)(props, [\"as\", \"data\", \"appearance\", \"style\", \"showIndentLine\", \"value\", \"locale\", \"height\", \"menuMaxHeight\", \"menuStyle\", \"className\", \"disabled\", \"placement\", \"cleanable\", \"searchable\", \"virtualized\", \"classPrefix\", \"defaultValue\", \"placeholder\", \"searchKeyword\", \"menuClassName\", \"menuAutoWidth\", \"searchBy\", \"toggleAs\", \"labelKey\", \"valueKey\", \"childrenKey\", \"draggable\", \"defaultExpandAll\", \"disabledItemValues\", \"expandItemValues\", \"defaultExpandItemValues\", \"id\", \"listProps\", \"getChildren\", \"renderTreeIcon\", \"renderTreeNode\", \"onExit\", \"onExited\", \"onClean\", \"onOpen\", \"onSearch\", \"onSelect\", \"onSelectItem\", \"onChange\", \"onEntered\", \"onClose\", \"onDragEnd\", \"onDragStart\", \"onDragEnter\", \"onDragLeave\", \"onDragOver\", \"onDrop\", \"onExpand\", \"renderExtraFooter\", \"renderMenu\", \"renderValue\"]);\n var _useCustom = (0, _utils.useCustom)('Picker', overrideLocale),\n rtl = _useCustom.rtl,\n locale = _useCustom.locale;\n var _useContext = (0, _react.useContext)(_TreeContext.default),\n inline = _useContext.inline;\n var _usePickerRef = (0, _Picker.usePickerRef)(ref, {\n inline: inline\n }),\n trigger = _usePickerRef.trigger,\n root = _usePickerRef.root,\n target = _usePickerRef.target,\n overlay = _usePickerRef.overlay,\n list = _usePickerRef.list,\n searchInput = _usePickerRef.searchInput,\n treeView = _usePickerRef.treeView;\n var _useControlled = (0, _utils.useControlled)(controlledValue, defaultValue),\n value = _useControlled[0],\n setValue = _useControlled[1],\n isControlled = _useControlled[2];\n var _useGetTreeNodeChildr = (0, _treeUtils.useGetTreeNodeChildren)(data, valueKey, childrenKey),\n treeData = _useGetTreeNodeChildr.data,\n setTreeData = _useGetTreeNodeChildr.setData,\n loadingNodeValues = _useGetTreeNodeChildr.loadingNodeValues,\n loadChildren = _useGetTreeNodeChildr.loadChildren;\n var _useControlled2 = (0, _utils.useControlled)(controlledExpandItemValues, (0, _treeUtils.getDefaultExpandItemValues)(treeData, {\n defaultExpandAll: defaultExpandAll,\n valueKey: valueKey,\n childrenKey: childrenKey,\n defaultExpandItemValues: defaultExpandItemValues\n })),\n expandItemValues = _useControlled2[0],\n setExpandItemValues = _useControlled2[1];\n var _useState = (0, _react.useState)(false),\n active = _useState[0],\n setActive = _useState[1];\n var _useState2 = (0, _react.useState)(null),\n focusItemValue = _useState2[0],\n setFocusItemValue = _useState2[1];\n var _useFlattenTreeData = (0, _treeUtils.useFlattenTreeData)({\n data: treeData,\n labelKey: labelKey,\n valueKey: valueKey,\n childrenKey: childrenKey,\n callback: function callback() {\n // after flattenData, always trigger re-render\n forceUpdate();\n }\n }),\n flattenNodes = _useFlattenTreeData.flattenNodes,\n forceUpdate = _useFlattenTreeData.forceUpdate,\n formatVirtualizedTreeData = _useFlattenTreeData.formatVirtualizedTreeData;\n var _useClassNames = (0, _utils.useClassNames)(classPrefix),\n prefix = _useClassNames.prefix,\n merge = _useClassNames.merge;\n var _useClassNames2 = (0, _utils.useClassNames)(inline && classPrefix !== 'picker' ? classPrefix : 'tree'),\n treePrefix = _useClassNames2.prefix,\n withTreeClassPrefix = _useClassNames2.withClassPrefix;\n var _useTreeSearch = (0, _treeUtils.useTreeSearch)({\n labelKey: labelKey,\n childrenKey: childrenKey,\n searchKeyword: searchKeyword,\n data: treeData,\n searchBy: searchBy,\n callback: function callback(searchKeyword, _filterData, event) {\n onSearch === null || onSearch === void 0 ? void 0 : onSearch(searchKeyword, event);\n }\n }),\n filteredData = _useTreeSearch.filteredData,\n searchKeywordState = _useTreeSearch.searchKeywordState,\n setSearchKeyword = _useTreeSearch.setSearchKeyword,\n handleSearch = _useTreeSearch.handleSearch,\n setFilteredData = _useTreeSearch.setFilteredData;\n var _useTreeDrag = (0, _treeUtils.useTreeDrag)(),\n dragNodeKeys = _useTreeDrag.dragNodeKeys,\n dragOverNodeKey = _useTreeDrag.dragOverNodeKey,\n dragNode = _useTreeDrag.dragNode,\n dropNodePosition = _useTreeDrag.dropNodePosition,\n setDragNodeKeys = _useTreeDrag.setDragNodeKeys,\n setDragOverNodeKey = _useTreeDrag.setDragOverNodeKey,\n setDragNode = _useTreeDrag.setDragNode,\n setDropNodePosition = _useTreeDrag.setDropNodePosition;\n var _useTreeNodeRefs = (0, _treeUtils.useTreeNodeRefs)(),\n treeNodesRefs = _useTreeNodeRefs.treeNodesRefs,\n saveTreeNodeRef = _useTreeNodeRefs.saveTreeNodeRef;\n var activeNode = (0, _treeUtils.getTreeActiveNode)(flattenNodes, value, valueKey);\n var getFormattedNodes = function getFormattedNodes(render) {\n if (virtualized) {\n return formatVirtualizedTreeData(flattenNodes, filteredData, expandItemValues, {\n searchKeyword: searchKeywordState\n }).filter(function (n) {\n return n.visible;\n });\n }\n return filteredData.map(function (dataItem, index) {\n return render === null || render === void 0 ? void 0 : render(dataItem, index, 1);\n });\n };\n var focusActiveNode = function focusActiveNode() {\n if (list.current) {\n (0, _treeUtils.focusToActiveTreeNode)({\n list: list.current,\n valueKey: valueKey,\n selector: \".\" + treePrefix('node-active'),\n activeNode: activeNode,\n virtualized: virtualized,\n container: treeView.current,\n formattedNodes: getFormattedNodes()\n });\n }\n };\n (0, _react.useEffect)(function () {\n setFilteredData(data, searchKeywordState);\n setTreeData(data);\n }, [data, searchKeywordState, setFilteredData, setTreeData]);\n (0, _react.useEffect)(function () {\n setFilteredData(treeData, searchKeywordState);\n }, [treeData, searchKeywordState, setFilteredData]);\n (0, _react.useEffect)(function () {\n if (Array.isArray(controlledExpandItemValues)) {\n setExpandItemValues(controlledExpandItemValues);\n }\n }, [controlledExpandItemValues, setExpandItemValues]);\n (0, _react.useEffect)(function () {\n setSearchKeyword(searchKeyword !== null && searchKeyword !== void 0 ? searchKeyword : '');\n }, [searchKeyword, setSearchKeyword]);\n var getDropData = function getDropData(nodeData) {\n var options = {\n valueKey: valueKey,\n childrenKey: childrenKey\n };\n return {\n /** draggingNode */\n dragNode: dragNode,\n /** dropNode */\n dropNode: nodeData,\n /** dragAndDrop Position type */\n dropNodePosition: dropNodePosition,\n createUpdateDataFunction: (0, _treeUtils.createUpdateTreeDataFunction)({\n dragNode: dragNode,\n dropNode: nodeData,\n dropNodePosition: dropNodePosition\n }, options)\n };\n };\n var getTreeNodeProps = function getTreeNodeProps(node, layer, index) {\n var draggingNode = dragNode !== null && dragNode !== void 0 ? dragNode : {};\n return {\n as: Component,\n rtl: rtl,\n value: node[valueKey],\n label: node[labelKey],\n index: index,\n layer: layer,\n loading: loadingNodeValues.some(function (item) {\n return (0, _utils.shallowEqual)(item, node[valueKey]);\n }),\n expand: node.expand,\n active: (0, _utils.shallowEqual)(node[valueKey], value),\n focus: (0, _utils.shallowEqual)(node[valueKey], focusItemValue),\n visible: node.visible,\n draggable: draggable,\n dragging: (0, _utils.shallowEqual)(node[valueKey], draggingNode[valueKey]),\n children: node[childrenKey],\n nodeData: node,\n disabled: disabledItemValues.some(function (disabledItem) {\n return (0, _utils.shallowEqual)(disabledItem, node[valueKey]);\n }),\n dragOver: (0, _utils.shallowEqual)(node[valueKey], dragOverNodeKey) && dropNodePosition === _utils.TREE_NODE_DROP_POSITION.DRAG_OVER,\n dragOverTop: (0, _utils.shallowEqual)(node[valueKey], dragOverNodeKey) && dropNodePosition === _utils.TREE_NODE_DROP_POSITION.DRAG_OVER_TOP,\n dragOverBottom: (0, _utils.shallowEqual)(node[valueKey], dragOverNodeKey) && dropNodePosition === _utils.TREE_NODE_DROP_POSITION.DRAG_OVER_BOTTOM,\n onSelect: handleSelect,\n onDragStart: handleDragStart,\n onDragEnter: handleDragEnter,\n onDragOver: handleDragOver,\n onDragLeave: handleDragLeave,\n onDragEnd: handleDragEnd,\n onDrop: handleDrop,\n onExpand: handleExpand,\n renderTreeNode: renderTreeNode,\n renderTreeIcon: renderTreeIcon\n };\n };\n\n // TODO-Doma\n // Replace `getKeyParentMap` with `getParentMap`\n var itemParentMap = (0, _react.useMemo)(function () {\n return (0, _treeUtils.getKeyParentMap)(data, function (node) {\n return node[valueKey];\n }, function (node) {\n return node[childrenKey];\n });\n }, [childrenKey, data, valueKey]);\n var handleSelect = (0, _utils.useEventCallback)(function (nodeData, event) {\n var _target$current, _trigger$current, _trigger$current$clos;\n if (!nodeData) {\n return;\n }\n var nodeValue = nodeData[valueKey];\n if (!isControlled) {\n setValue(nodeValue);\n }\n setFocusItemValue(nodeData[valueKey]);\n onChange === null || onChange === void 0 ? void 0 : onChange(nodeValue, event);\n onSelect === null || onSelect === void 0 ? void 0 : onSelect(nodeData, nodeValue, event);\n onSelectItem === null || onSelectItem === void 0 ? void 0 : onSelectItem(nodeData, (0, _treeUtils.getPathTowardsItem)(nodeData, function (item) {\n return itemParentMap.get(item[valueKey]);\n }));\n (_target$current = target.current) === null || _target$current === void 0 ? void 0 : _target$current.focus();\n (_trigger$current = trigger.current) === null || _trigger$current === void 0 ? void 0 : (_trigger$current$clos = _trigger$current.close) === null || _trigger$current$clos === void 0 ? void 0 : _trigger$current$clos.call(_trigger$current);\n });\n var handleExpand = (0, _utils.useEventCallback)(function (node) {\n var nextExpandItemValues = (0, _treeUtils.toggleExpand)({\n node: node,\n isExpand: !node.expand,\n expandItemValues: expandItemValues,\n valueKey: valueKey\n });\n setExpandItemValues(nextExpandItemValues);\n onExpand === null || onExpand === void 0 ? void 0 : onExpand(nextExpandItemValues, node, (0, _Picker.createConcatChildrenFunction)(node, node[valueKey], {\n valueKey: valueKey,\n childrenKey: childrenKey\n }));\n if ((0, _isFunction2.default)(getChildren) && !node.expand && Array.isArray(node[childrenKey]) && node[childrenKey].length === 0) {\n loadChildren(node, getChildren);\n }\n });\n var handleDragStart = (0, _utils.useEventCallback)(function (nodeData, event) {\n if (draggable) {\n var _event$dataTransfer;\n var dragMoverNode = (0, _treeUtils.createDragPreview)((0, _treeUtils.stringifyTreeNodeLabel)(nodeData[labelKey]), treePrefix('drag-preview'));\n (_event$dataTransfer = event.dataTransfer) === null || _event$dataTransfer === void 0 ? void 0 : _event$dataTransfer.setDragImage(dragMoverNode, 0, 0);\n setDragNodeKeys((0, _treeUtils.getDragNodeKeys)(nodeData, childrenKey, valueKey));\n setDragNode(flattenNodes[nodeData.refKey]);\n onDragStart === null || onDragStart === void 0 ? void 0 : onDragStart(nodeData, event);\n }\n });\n var handleDragEnter = (0, _utils.useEventCallback)(function (nodeData, event) {\n if (dragNodeKeys.some(function (d) {\n return (0, _utils.shallowEqual)(d, nodeData[valueKey]);\n })) {\n return;\n }\n if (dragNode) {\n setDragOverNodeKey(nodeData[valueKey]);\n setDropNodePosition((0, _treeUtils.calDropNodePosition)(event, treeNodesRefs[nodeData.refKey]));\n }\n onDragEnter === null || onDragEnter === void 0 ? void 0 : onDragEnter(nodeData, event);\n });\n var handleDragOver = (0, _utils.useEventCallback)(function (nodeData, event) {\n if (dragNodeKeys.some(function (d) {\n return (0, _utils.shallowEqual)(d, nodeData[valueKey]);\n })) {\n event.dataTransfer.dropEffect = 'none';\n return;\n }\n if (dragNode && (0, _utils.shallowEqual)(nodeData[valueKey], dragOverNodeKey)) {\n var lastDropNodePosition = (0, _treeUtils.calDropNodePosition)(event, treeNodesRefs[nodeData.refKey]);\n if (lastDropNodePosition === dropNodePosition) return;\n setDropNodePosition(lastDropNodePosition);\n }\n onDragOver === null || onDragOver === void 0 ? void 0 : onDragOver(nodeData, event);\n });\n var handleDragLeave = (0, _utils.useEventCallback)(function (nodeData, event) {\n onDragLeave === null || onDragLeave === void 0 ? void 0 : onDragLeave(nodeData, event);\n });\n var handleDragEnd = (0, _utils.useEventCallback)(function (nodeData, event) {\n (0, _treeUtils.removeDragPreview)();\n setDragNode(null);\n setDragNodeKeys([]);\n setDragOverNodeKey(null);\n onDragEnd === null || onDragEnd === void 0 ? void 0 : onDragEnd(nodeData, event);\n });\n var handleDrop = (0, _utils.useEventCallback)(function (nodeData, event) {\n if (dragNodeKeys.some(function (d) {\n return (0, _utils.shallowEqual)(d, nodeData[valueKey]);\n })) {\n console.error('Cannot drag a node to itself and its children');\n } else {\n var dropData = getDropData(nodeData);\n onDrop === null || onDrop === void 0 ? void 0 : onDrop(dropData, event);\n }\n (0, _treeUtils.removeDragPreview)();\n setDragNode(null);\n setDragNodeKeys([]);\n setDragOverNodeKey(null);\n });\n var handleOpen = (0, _utils.useEventCallback)(function () {\n var _trigger$current2, _trigger$current2$ope;\n (_trigger$current2 = trigger.current) === null || _trigger$current2 === void 0 ? void 0 : (_trigger$current2$ope = _trigger$current2.open) === null || _trigger$current2$ope === void 0 ? void 0 : _trigger$current2$ope.call(_trigger$current2);\n focusActiveNode();\n onOpen === null || onOpen === void 0 ? void 0 : onOpen();\n setActive(true);\n });\n var handleClose = (0, _utils.useEventCallback)(function () {\n var _trigger$current3, _trigger$current3$clo, _target$current2;\n (_trigger$current3 = trigger.current) === null || _trigger$current3 === void 0 ? void 0 : (_trigger$current3$clo = _trigger$current3.close) === null || _trigger$current3$clo === void 0 ? void 0 : _trigger$current3$clo.call(_trigger$current3);\n setSearchKeyword('');\n setActive(false);\n setFocusItemValue(activeNode === null || activeNode === void 0 ? void 0 : activeNode[valueKey]);\n /**\n * when using keyboard toggle picker, should refocus on PickerToggle Component after close picker menu\n */\n (_target$current2 = target.current) === null || _target$current2 === void 0 ? void 0 : _target$current2.focus();\n });\n var handleFocusItem = (0, _utils.useEventCallback)(function (key) {\n var focusableItems = (0, _treeUtils.getFocusableItems)(filteredData, {\n disabledItemValues: disabledItemValues,\n valueKey: valueKey,\n childrenKey: childrenKey,\n expandItemValues: expandItemValues\n }, (0, _treeUtils.isSearching)(searchKeywordState));\n var selector = \".\" + treePrefix('node-label');\n var focusProps = {\n focusItemValue: focusItemValue,\n focusableItems: focusableItems,\n treeNodesRefs: treeNodesRefs,\n selector: selector,\n valueKey: valueKey,\n callback: function callback(nextFocusItemValue) {\n setFocusItemValue(nextFocusItemValue);\n }\n };\n if (key === _utils.KEY_VALUES.DOWN) {\n (0, _treeUtils.focusNextItem)(focusProps);\n return;\n }\n if (key === _utils.KEY_VALUES.UP) {\n (0, _treeUtils.focusPreviousItem)(focusProps);\n }\n });\n var handleLeftArrow = (0, _utils.useEventCallback)(function () {\n if ((0, _isNil2.default)(focusItemValue)) return;\n var focusItem = (0, _treeUtils.getActiveItem)(focusItemValue, flattenNodes, valueKey);\n (0, _treeUtils.leftArrowHandler)({\n focusItem: focusItem,\n expand: expandItemValues.includes(focusItem === null || focusItem === void 0 ? void 0 : focusItem[valueKey]),\n onExpand: handleExpand,\n childrenKey: childrenKey,\n onFocusItem: function onFocusItem() {\n var _focusItem$parent, _focusItem$parent2;\n setFocusItemValue(focusItem === null || focusItem === void 0 ? void 0 : (_focusItem$parent = focusItem.parent) === null || _focusItem$parent === void 0 ? void 0 : _focusItem$parent[valueKey]);\n (0, _treeUtils.focusTreeNode)(focusItem === null || focusItem === void 0 ? void 0 : (_focusItem$parent2 = focusItem.parent) === null || _focusItem$parent2 === void 0 ? void 0 : _focusItem$parent2.refKey, treeNodesRefs, \".\" + treePrefix('node-label'));\n }\n });\n });\n var handleRightArrow = (0, _utils.useEventCallback)(function () {\n if ((0, _isNil2.default)(focusItemValue)) return;\n var focusItem = (0, _treeUtils.getActiveItem)(focusItemValue, flattenNodes, valueKey);\n (0, _treeUtils.rightArrowHandler)({\n focusItem: focusItem,\n expand: expandItemValues.includes(focusItem === null || focusItem === void 0 ? void 0 : focusItem[valueKey]),\n childrenKey: childrenKey,\n onExpand: handleExpand,\n onFocusItem: function onFocusItem() {\n handleFocusItem(_utils.KEY_VALUES.DOWN);\n }\n });\n });\n var selectActiveItem = (0, _utils.useEventCallback)(function (event) {\n if ((0, _isNil2.default)(focusItemValue)) return;\n var activeItem = (0, _treeUtils.getActiveItem)(focusItemValue, flattenNodes, valueKey);\n handleSelect(activeItem, event);\n });\n var handleClean = (0, _utils.useEventCallback)(function (event) {\n var nullValue = null;\n var target = event.target;\n // exclude searchbox\n if (target.matches('input[role=\"searchbox\"]') || disabled || !cleanable) {\n return;\n }\n if (!isControlled) {\n setValue(null);\n }\n onChange === null || onChange === void 0 ? void 0 : onChange(nullValue, event);\n });\n var onPickerKeydown = (0, _Picker.useToggleKeyDownEvent)((0, _extends2.default)({\n toggle: !activeNode || !active,\n trigger: trigger,\n target: target,\n overlay: overlay,\n searchInput: searchInput,\n active: active,\n onExit: handleClean,\n onClose: handleClose,\n onMenuKeyDown: function onMenuKeyDown(event) {\n (0, _Picker.onMenuKeyDown)(event, {\n down: function down() {\n return handleFocusItem(_utils.KEY_VALUES.DOWN);\n },\n up: function up() {\n return handleFocusItem(_utils.KEY_VALUES.UP);\n },\n left: rtl ? handleRightArrow : handleLeftArrow,\n right: rtl ? handleLeftArrow : handleRightArrow,\n enter: selectActiveItem,\n del: handleClean\n });\n }\n }, rest));\n var handleTreeKeyDown = (0, _utils.useEventCallback)(function (event) {\n if (!treeView.current) {\n return;\n }\n (0, _Picker.onMenuKeyDown)(event, {\n down: function down() {\n return handleFocusItem(_utils.KEY_VALUES.DOWN);\n },\n up: function up() {\n return handleFocusItem(_utils.KEY_VALUES.UP);\n },\n left: rtl ? handleRightArrow : handleLeftArrow,\n right: rtl ? handleLeftArrow : handleRightArrow,\n enter: selectActiveItem\n });\n });\n var renderNode = function renderNode(node, index, layer) {\n if (!node.visible) {\n return null;\n }\n var children = node[childrenKey];\n var expand = (0, _treeUtils.getExpandWhenSearching)(searchKeywordState, expandItemValues.includes(node[valueKey]));\n var visibleChildren = (0, _isUndefined2.default)(searchKeywordState) || searchKeywordState.length === 0 ? !!children : (0, _treeUtils.hasVisibleChildren)(node, childrenKey);\n var nodeProps = (0, _extends2.default)({}, getTreeNodeProps((0, _extends2.default)({}, node, {\n expand: expand\n }), layer, index), {\n hasChildren: visibleChildren\n });\n if (nodeProps.hasChildren) {\n var _merge;\n layer += 1;\n var openClass = treePrefix('open');\n var childrenClass = merge(treePrefix('node-children'), (_merge = {}, _merge[openClass] = expand && visibleChildren, _merge));\n var nodes = children || [];\n return /*#__PURE__*/_react.default.createElement(\"div\", {\n className: childrenClass,\n key: node[valueKey],\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 642,\n columnNumber: 9\n }\n }, /*#__PURE__*/_react.default.createElement(_TreeNode.default, (0, _extends2.default)({}, nodeProps, {\n ref: function ref(_ref) {\n return saveTreeNodeRef(_ref, node.refKey);\n },\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 643,\n columnNumber: 11\n }\n })), /*#__PURE__*/_react.default.createElement(\"div\", {\n className: treePrefix('group'),\n role: \"group\",\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 644,\n columnNumber: 11\n }\n }, nodes.map(function (child, i) {\n return renderNode(child, i, layer);\n }), showIndentLine && /*#__PURE__*/_react.default.createElement(\"span\", {\n className: treePrefix('indent-line'),\n style: (0, _treeUtils.getTreeNodeIndent)(rtl, layer - 1, true),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 647,\n columnNumber: 15\n }\n })));\n }\n return /*#__PURE__*/_react.default.createElement(_TreeNode.default, (0, _extends2.default)({\n ref: function ref(_ref2) {\n return saveTreeNodeRef(_ref2, node.refKey);\n },\n key: node[valueKey]\n }, nodeProps, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 657,\n columnNumber: 7\n }\n }));\n };\n var renderVirtualListNode = function renderVirtualListNode(_ref3) {\n var index = _ref3.index,\n style = _ref3.style,\n data = _ref3.data;\n var node = data[index];\n var layer = node.layer,\n visible = node.visible;\n var expand = (0, _treeUtils.getExpandWhenSearching)(searchKeywordState, expandItemValues.includes(node[valueKey]));\n if (!node.visible) {\n return null;\n }\n var nodeProps = (0, _extends2.default)({}, getTreeNodeProps((0, _extends2.default)({}, node, {\n expand: expand\n }), layer), {\n style: style,\n hasChildren: node.hasChildren\n });\n return visible && /*#__PURE__*/_react.default.createElement(_TreeNode.default, (0, _extends2.default)({\n ref: function ref(_ref4) {\n return saveTreeNodeRef(_ref4, node.refKey);\n }\n }, nodeProps, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 683,\n columnNumber: 23\n }\n }));\n };\n var renderTree = function renderTree() {\n var _merge2;\n var classes = merge(withTreeClassPrefix({\n virtualized: virtualized\n }), (_merge2 = {}, _merge2[className !== null && className !== void 0 ? className : ''] = inline, _merge2));\n var formattedNodes = getFormattedNodes(renderNode);\n var treeViewProps = {\n ref: treeView\n };\n if (inline) {\n treeViewProps = (0, _extends2.default)({\n ref: root,\n style: (0, _extends2.default)({\n height: height\n }, style),\n onKeyDown: handleTreeKeyDown\n }, rest);\n }\n return /*#__PURE__*/_react.default.createElement(_Picker.TreeView, (0, _extends2.default)({}, treeViewProps, {\n treeRootClassName: treePrefix('root'),\n className: classes,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 704,\n columnNumber: 7\n }\n }), virtualized ? /*#__PURE__*/_react.default.createElement(_Windowing.AutoSizer, {\n defaultHeight: inline ? height : menuMaxHeight,\n style: {\n width: 'auto',\n height: 'auto'\n },\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 706,\n columnNumber: 11\n }\n }, function (_ref5) {\n var height = _ref5.height;\n return /*#__PURE__*/_react.default.createElement(_Windowing.List, (0, _extends2.default)({\n ref: list,\n height: height,\n itemSize: itemSize,\n itemCount: formattedNodes.length,\n itemData: formattedNodes\n }, listProps, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 711,\n columnNumber: 15\n }\n }), renderVirtualListNode);\n }) : formattedNodes);\n };\n var renderTreeView = function renderTreeView(positionProps, speakerRef) {\n var left = positionProps.left,\n top = positionProps.top,\n className = positionProps.className;\n var classes = merge(className, menuClassName, prefix('tree-menu'));\n var mergedMenuStyle = (0, _extends2.default)({}, menuStyle, {\n left: left,\n top: top\n });\n return /*#__PURE__*/_react.default.createElement(_Picker.PickerPopup, {\n autoWidth: menuAutoWidth,\n className: classes,\n style: mergedMenuStyle,\n ref: (0, _utils.mergeRefs)(overlay, speakerRef),\n onKeyDown: onPickerKeydown,\n target: trigger,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 736,\n columnNumber: 7\n }\n }, searchable ? /*#__PURE__*/_react.default.createElement(_SearchBox.default, {\n placeholder: locale.searchPlaceholder,\n onChange: handleSearch,\n value: searchKeywordState,\n inputRef: searchInput,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 745,\n columnNumber: 11\n }\n }) : null, renderMenu ? renderMenu(renderTree()) : renderTree(), renderExtraFooter === null || renderExtraFooter === void 0 ? void 0 : renderExtraFooter());\n };\n\n /**\n * 1.Have a value and the value is valid.\n * 2.Regardless of whether the value is valid, as long as renderValue is set, it is judged to have a value.\n */\n var hasValidValue = !(0, _isNil2.default)(activeNode) || !(0, _isNil2.default)(value) && (0, _isFunction2.default)(renderValue);\n var selectedElement = placeholder;\n if (hasValidValue) {\n var node = activeNode !== null && activeNode !== void 0 ? activeNode : {};\n selectedElement = node[labelKey];\n if ((0, _isFunction2.default)(renderValue) && value) {\n selectedElement = renderValue(value, node, selectedElement);\n if ((0, _isNil2.default)(selectedElement)) {\n hasValidValue = false;\n }\n }\n }\n var _usePickerClassName = (0, _Picker.usePickerClassName)((0, _extends2.default)({}, props, {\n classPrefix: classPrefix,\n appearance: appearance,\n hasValue: hasValidValue,\n name: 'tree',\n cleanable: cleanable\n })),\n classes = _usePickerClassName[0],\n usedClassNamePropKeys = _usePickerClassName[1];\n if (inline) {\n return renderTree();\n }\n return /*#__PURE__*/_react.default.createElement(_Picker.PickerToggleTrigger, {\n id: id,\n popupType: \"tree\",\n pickerProps: (0, _pick2.default)(props, _Picker.pickTriggerPropKeys),\n ref: trigger,\n placement: placement,\n onEnter: handleOpen,\n onEntered: onEntered,\n onExit: (0, _utils.createChainedFunction)(onClose, onExit),\n onExited: (0, _utils.createChainedFunction)(handleClose, onExited),\n speaker: renderTreeView,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 790,\n columnNumber: 5\n }\n }, /*#__PURE__*/_react.default.createElement(Component, {\n className: classes,\n style: style,\n ref: root,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 802,\n columnNumber: 7\n }\n }, /*#__PURE__*/_react.default.createElement(_Picker.PickerToggle, (0, _extends2.default)({}, (0, _omit2.default)(rest, [].concat(_Picker.omitTriggerPropKeys, usedClassNamePropKeys, ['cascade'])), {\n ref: target,\n appearance: appearance,\n onKeyDown: onPickerKeydown,\n onClean: (0, _utils.createChainedFunction)(handleClean, onClean),\n cleanable: cleanable && !disabled,\n as: toggleAs,\n disabled: disabled,\n hasValue: hasValidValue,\n active: active,\n placement: placement,\n inputValue: value,\n focusItemValue: focusItemValue,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 803,\n columnNumber: 9\n }\n }), selectedElement || locale.placeholder)));\n});\nTreePicker.displayName = 'TreePicker';\nTreePicker.propTypes = (0, _extends2.default)({}, _Picker.listPickerPropTypes, {\n locale: _propTypes.default.any,\n appearance: (0, _propTypes2.oneOf)(['default', 'subtle']),\n height: _propTypes.default.number,\n draggable: _propTypes.default.bool,\n virtualized: _propTypes.default.bool,\n searchable: _propTypes.default.bool,\n menuAutoWidth: _propTypes.default.bool,\n searchKeyword: _propTypes.default.string,\n defaultExpandAll: _propTypes.default.bool,\n expandItemValues: _propTypes.default.array,\n defaultExpandItemValues: _propTypes.default.array,\n onSearch: _propTypes.default.func,\n onExpand: _propTypes.default.func,\n onSelect: _propTypes.default.func,\n renderMenu: _propTypes.default.func,\n renderTreeNode: _propTypes.default.func,\n renderTreeIcon: _propTypes.default.func,\n renderExtraFooter: _propTypes.default.func,\n renderDragNode: _propTypes.default.func,\n searchBy: _propTypes.default.func\n});\nvar _default = TreePicker;\nexports[\"default\"] = _default;\n\n//# sourceURL=webpack://rsuite/./src/TreePicker/TreePicker.tsx?");
|
|
9182
9182
|
|
|
9183
9183
|
/***/ }),
|
|
9184
9184
|
|
|
@@ -9519,7 +9519,7 @@ eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/he
|
|
|
9519
9519
|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
9520
9520
|
|
|
9521
9521
|
"use strict";
|
|
9522
|
-
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\nexports.__esModule = true;\nexports[\"default\"] = void 0;\nvar _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\"));\nvar _taggedTemplateLiteralLoose2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/taggedTemplateLiteralLoose */ \"./node_modules/@babel/runtime/helpers/taggedTemplateLiteralLoose.js\"));\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutPropertiesLoose */ \"./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js\"));\nvar _react = _interopRequireDefault(__webpack_require__(/*! react */ \"react\"));\nvar _utils = __webpack_require__(/*! ../../utils */ \"./src/utils/index.ts\");\nvar _Checkbox = _interopRequireDefault(__webpack_require__(/*! ../../Checkbox */ \"./src/Checkbox/index.tsx\"));\nvar _useCombobox2 = _interopRequireDefault(__webpack_require__(/*! ./hooks/useCombobox */ \"./src/internals/Picker/hooks/useCombobox.ts\"));\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/internals/Picker/ListCheckItem.tsx\",\n _this = void 0,\n _templateObject;\nvar ListCheckItem = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n var _props$active = props.active,\n active = _props$active === void 0 ? false : _props$active,\n _props$as = props.as,\n Component = _props$as === void 0 ? 'div' : _props$as,\n _props$checkboxAs = props.checkboxAs,\n CheckboxItem = _props$checkboxAs === void 0 ? _Checkbox.default : _props$checkboxAs,\n _props$classPrefix = props.classPrefix,\n classPrefix = _props$classPrefix === void 0 ? 'check-item' : _props$classPrefix,\n _props$checkable = props.checkable,\n checkable = _props$checkable === void 0 ? true : _props$checkable,\n disabled = props.disabled,\n value = props.value,\n focus = props.focus,\n children = props.children,\n className = props.className,\n indeterminate = props.indeterminate,\n onKeyDown = props.onKeyDown,\n onSelect = props.onSelect,\n onCheck = props.onCheck,\n onSelectItem = props.onSelectItem,\n renderMenuItemCheckbox = props.renderMenuItemCheckbox,\n rest = (0, _objectWithoutPropertiesLoose2.default)(props, [\"active\", \"as\", \"checkboxAs\", \"classPrefix\", \"checkable\", \"disabled\", \"value\", \"focus\", \"children\", \"className\", \"indeterminate\", \"onKeyDown\", \"onSelect\", \"onCheck\", \"onSelectItem\", \"renderMenuItemCheckbox\"]);\n var handleChange = (0, _utils.useEventCallback)(function (value, checked, event) {\n onSelect === null || onSelect === void 0 ? void 0 : onSelect(value, event, checked);\n });\n var handleCheck = (0, _utils.useEventCallback)(function (event) {\n if (!disabled) {\n onCheck === null || onCheck === void 0 ? void 0 : onCheck(value, event, !active);\n }\n });\n var handleSelectItem = (0, _utils.useEventCallback)(function (event) {\n if (!disabled) {\n onSelectItem === null || onSelectItem === void 0 ? void 0 : onSelectItem(value, event, !active);\n }\n });\n var _useCombobox = (0, _useCombobox2.default)(),\n id = _useCombobox.id;\n var _useClassNames = (0, _utils.useClassNames)(classPrefix),\n withClassPrefix = _useClassNames.withClassPrefix,\n merge = _useClassNames.merge,\n rootPrefix = _useClassNames.rootPrefix;\n var checkboxItemClasses = withClassPrefix({\n focus: focus\n });\n var checkboxProps = {\n value: value,\n disabled: disabled,\n indeterminate: indeterminate,\n checkable: checkable,\n children: children,\n checked: active,\n className: checkboxItemClasses,\n onKeyDown: disabled ? undefined : onKeyDown,\n onChange: handleChange,\n onClick: handleSelectItem,\n onCheckboxClick: handleCheck\n };\n
|
|
9522
|
+
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\nexports.__esModule = true;\nexports[\"default\"] = void 0;\nvar _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\"));\nvar _taggedTemplateLiteralLoose2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/taggedTemplateLiteralLoose */ \"./node_modules/@babel/runtime/helpers/taggedTemplateLiteralLoose.js\"));\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutPropertiesLoose */ \"./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js\"));\nvar _react = _interopRequireDefault(__webpack_require__(/*! react */ \"react\"));\nvar _utils = __webpack_require__(/*! ../../utils */ \"./src/utils/index.ts\");\nvar _Checkbox = _interopRequireDefault(__webpack_require__(/*! ../../Checkbox */ \"./src/Checkbox/index.tsx\"));\nvar _useCombobox2 = _interopRequireDefault(__webpack_require__(/*! ./hooks/useCombobox */ \"./src/internals/Picker/hooks/useCombobox.ts\"));\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/internals/Picker/ListCheckItem.tsx\",\n _this = void 0,\n _templateObject;\nvar ListCheckItem = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n var _props$active = props.active,\n active = _props$active === void 0 ? false : _props$active,\n _props$as = props.as,\n Component = _props$as === void 0 ? 'div' : _props$as,\n _props$checkboxAs = props.checkboxAs,\n CheckboxItem = _props$checkboxAs === void 0 ? _Checkbox.default : _props$checkboxAs,\n _props$classPrefix = props.classPrefix,\n classPrefix = _props$classPrefix === void 0 ? 'check-item' : _props$classPrefix,\n _props$checkable = props.checkable,\n checkable = _props$checkable === void 0 ? true : _props$checkable,\n disabled = props.disabled,\n value = props.value,\n focus = props.focus,\n children = props.children,\n className = props.className,\n indeterminate = props.indeterminate,\n onKeyDown = props.onKeyDown,\n onSelect = props.onSelect,\n onCheck = props.onCheck,\n onSelectItem = props.onSelectItem,\n renderMenuItemCheckbox = props.renderMenuItemCheckbox,\n rest = (0, _objectWithoutPropertiesLoose2.default)(props, [\"active\", \"as\", \"checkboxAs\", \"classPrefix\", \"checkable\", \"disabled\", \"value\", \"focus\", \"children\", \"className\", \"indeterminate\", \"onKeyDown\", \"onSelect\", \"onCheck\", \"onSelectItem\", \"renderMenuItemCheckbox\"]);\n var handleChange = (0, _utils.useEventCallback)(function (value, checked, event) {\n onSelect === null || onSelect === void 0 ? void 0 : onSelect(value, event, checked);\n });\n var handleCheck = (0, _utils.useEventCallback)(function (event) {\n if (!disabled) {\n onCheck === null || onCheck === void 0 ? void 0 : onCheck(value, event, !active);\n }\n });\n var handleSelectItem = (0, _utils.useEventCallback)(function (event) {\n if (!disabled) {\n onSelectItem === null || onSelectItem === void 0 ? void 0 : onSelectItem(value, event, !active);\n }\n });\n var _useCombobox = (0, _useCombobox2.default)(),\n id = _useCombobox.id;\n var _useClassNames = (0, _utils.useClassNames)(classPrefix),\n withClassPrefix = _useClassNames.withClassPrefix,\n merge = _useClassNames.merge,\n rootPrefix = _useClassNames.rootPrefix;\n var checkboxItemClasses = withClassPrefix({\n focus: focus\n });\n var checkboxProps = {\n value: value,\n disabled: disabled,\n indeterminate: indeterminate,\n checkable: checkable,\n children: children,\n checked: active,\n className: checkboxItemClasses,\n onKeyDown: disabled ? undefined : onKeyDown,\n onChange: handleChange,\n onClick: handleSelectItem,\n onCheckboxClick: handleCheck\n };\n return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({\n role: \"option\",\n \"aria-selected\": active,\n \"aria-disabled\": disabled,\n id: id ? id + \"-opt-\" + value : undefined,\n \"data-key\": value\n }, rest, {\n ref: ref,\n className: merge(className, rootPrefix(_templateObject || (_templateObject = (0, _taggedTemplateLiteralLoose2.default)([\"picker-list-item\"])))),\n tabIndex: -1,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 85,\n columnNumber: 7\n }\n }), renderMenuItemCheckbox ? renderMenuItemCheckbox(checkboxProps) : /*#__PURE__*/_react.default.createElement(CheckboxItem, (0, _extends2.default)({\n role: \"checkbox\"\n }, checkboxProps, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 99,\n columnNumber: 11\n }\n })));\n});\nListCheckItem.displayName = 'ListCheckItem';\nvar _default = ListCheckItem;\nexports[\"default\"] = _default;\n\n//# sourceURL=webpack://rsuite/./src/internals/Picker/ListCheckItem.tsx?");
|
|
9523
9523
|
|
|
9524
9524
|
/***/ }),
|
|
9525
9525
|
|