{"version":3,"file":"js/chunk.bac956dd75e44ad2.js","mappings":"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","sources":["webpack:///./node_modules/rc-tree/es/Indent.js","webpack:///./node_modules/rc-tree/es/TreeNode.js","webpack:///./node_modules/rc-tree/es/contextTypes.js","webpack:///./node_modules/@babel/runtime/helpers/esm/objectDestructuringEmpty.js","webpack:///./node_modules/rc-tree/es/MotionTreeNode.js","webpack:///./node_modules/rc-tree/es/utils/diffUtil.js","webpack:///./node_modules/rc-tree/es/NodeList.js","webpack:///./node_modules/rc-tree/es/Tree.js","webpack:///./node_modules/rc-tree/es/DropIndicator.js","webpack:///./node_modules/rc-tree/es/index.js","webpack:///./node_modules/rc-tree/es/util.js","webpack:///./node_modules/rc-tree/es/utils/conductUtil.js","webpack:///./node_modules/rc-tree/es/utils/treeUtil.js"],"sourcesContent":["import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport * as React from 'react';\nimport classNames from 'classnames';\nvar Indent = function Indent(_ref) {\n var prefixCls = _ref.prefixCls,\n level = _ref.level,\n isStart = _ref.isStart,\n isEnd = _ref.isEnd;\n var baseClassName = \"\".concat(prefixCls, \"-indent-unit\");\n var list = [];\n for (var i = 0; i < level; i += 1) {\n var _classNames;\n list.push( /*#__PURE__*/React.createElement(\"span\", {\n key: i,\n className: classNames(baseClassName, (_classNames = {}, _defineProperty(_classNames, \"\".concat(baseClassName, \"-start\"), isStart[i]), _defineProperty(_classNames, \"\".concat(baseClassName, \"-end\"), isEnd[i]), _classNames))\n }));\n }\n return /*#__PURE__*/React.createElement(\"span\", {\n \"aria-hidden\": \"true\",\n className: \"\".concat(prefixCls, \"-indent\")\n }, list);\n};\nexport default /*#__PURE__*/React.memo(Indent);","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nvar _excluded = [\"eventKey\", \"className\", \"style\", \"dragOver\", \"dragOverGapTop\", \"dragOverGapBottom\", \"isLeaf\", \"isStart\", \"isEnd\", \"expanded\", \"selected\", \"checked\", \"halfChecked\", \"loading\", \"domRef\", \"active\", \"data\", \"onMouseMove\", \"selectable\"];\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport pickAttrs from \"rc-util/es/pickAttrs\";\n// @ts-ignore\nimport { TreeContext } from './contextTypes';\nimport Indent from './Indent';\nimport { convertNodePropsToEventData } from './utils/treeUtil';\nvar ICON_OPEN = 'open';\nvar ICON_CLOSE = 'close';\nvar defaultTitle = '---';\nvar InternalTreeNode = /*#__PURE__*/function (_React$Component) {\n _inherits(InternalTreeNode, _React$Component);\n var _super = _createSuper(InternalTreeNode);\n function InternalTreeNode() {\n var _this;\n _classCallCheck(this, InternalTreeNode);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _this.state = {\n dragNodeHighlight: false\n };\n _this.selectHandle = void 0;\n _this.onSelectorClick = function (e) {\n // Click trigger before select/check operation\n var onNodeClick = _this.props.context.onNodeClick;\n onNodeClick(e, convertNodePropsToEventData(_this.props));\n if (_this.isSelectable()) {\n _this.onSelect(e);\n } else {\n _this.onCheck(e);\n }\n };\n _this.onSelectorDoubleClick = function (e) {\n var onNodeDoubleClick = _this.props.context.onNodeDoubleClick;\n onNodeDoubleClick(e, convertNodePropsToEventData(_this.props));\n };\n _this.onSelect = function (e) {\n if (_this.isDisabled()) return;\n var onNodeSelect = _this.props.context.onNodeSelect;\n e.preventDefault();\n onNodeSelect(e, convertNodePropsToEventData(_this.props));\n };\n _this.onCheck = function (e) {\n if (_this.isDisabled()) return;\n var _this$props = _this.props,\n disableCheckbox = _this$props.disableCheckbox,\n checked = _this$props.checked;\n var onNodeCheck = _this.props.context.onNodeCheck;\n if (!_this.isCheckable() || disableCheckbox) return;\n e.preventDefault();\n var targetChecked = !checked;\n onNodeCheck(e, convertNodePropsToEventData(_this.props), targetChecked);\n };\n _this.onMouseEnter = function (e) {\n var onNodeMouseEnter = _this.props.context.onNodeMouseEnter;\n onNodeMouseEnter(e, convertNodePropsToEventData(_this.props));\n };\n _this.onMouseLeave = function (e) {\n var onNodeMouseLeave = _this.props.context.onNodeMouseLeave;\n onNodeMouseLeave(e, convertNodePropsToEventData(_this.props));\n };\n _this.onContextMenu = function (e) {\n var onNodeContextMenu = _this.props.context.onNodeContextMenu;\n onNodeContextMenu(e, convertNodePropsToEventData(_this.props));\n };\n _this.onDragStart = function (e) {\n var onNodeDragStart = _this.props.context.onNodeDragStart;\n e.stopPropagation();\n _this.setState({\n dragNodeHighlight: true\n });\n onNodeDragStart(e, _assertThisInitialized(_this));\n try {\n // ie throw error\n // firefox-need-it\n e.dataTransfer.setData('text/plain', '');\n } catch (error) {\n // empty\n }\n };\n _this.onDragEnter = function (e) {\n var onNodeDragEnter = _this.props.context.onNodeDragEnter;\n e.preventDefault();\n e.stopPropagation();\n onNodeDragEnter(e, _assertThisInitialized(_this));\n };\n _this.onDragOver = function (e) {\n var onNodeDragOver = _this.props.context.onNodeDragOver;\n e.preventDefault();\n e.stopPropagation();\n onNodeDragOver(e, _assertThisInitialized(_this));\n };\n _this.onDragLeave = function (e) {\n var onNodeDragLeave = _this.props.context.onNodeDragLeave;\n e.stopPropagation();\n onNodeDragLeave(e, _assertThisInitialized(_this));\n };\n _this.onDragEnd = function (e) {\n var onNodeDragEnd = _this.props.context.onNodeDragEnd;\n e.stopPropagation();\n _this.setState({\n dragNodeHighlight: false\n });\n onNodeDragEnd(e, _assertThisInitialized(_this));\n };\n _this.onDrop = function (e) {\n var onNodeDrop = _this.props.context.onNodeDrop;\n e.preventDefault();\n e.stopPropagation();\n _this.setState({\n dragNodeHighlight: false\n });\n onNodeDrop(e, _assertThisInitialized(_this));\n };\n _this.onExpand = function (e) {\n var _this$props2 = _this.props,\n loading = _this$props2.loading,\n onNodeExpand = _this$props2.context.onNodeExpand;\n if (loading) return;\n onNodeExpand(e, convertNodePropsToEventData(_this.props));\n };\n _this.setSelectHandle = function (node) {\n _this.selectHandle = node;\n };\n _this.getNodeState = function () {\n var expanded = _this.props.expanded;\n if (_this.isLeaf()) {\n return null;\n }\n return expanded ? ICON_OPEN : ICON_CLOSE;\n };\n _this.hasChildren = function () {\n var eventKey = _this.props.eventKey;\n var keyEntities = _this.props.context.keyEntities;\n var _ref = keyEntities[eventKey] || {},\n children = _ref.children;\n return !!(children || []).length;\n };\n _this.isLeaf = function () {\n var _this$props3 = _this.props,\n isLeaf = _this$props3.isLeaf,\n loaded = _this$props3.loaded;\n var loadData = _this.props.context.loadData;\n var hasChildren = _this.hasChildren();\n if (isLeaf === false) {\n return false;\n }\n return isLeaf || !loadData && !hasChildren || loadData && loaded && !hasChildren;\n };\n _this.isDisabled = function () {\n var disabled = _this.props.disabled;\n var treeDisabled = _this.props.context.disabled;\n return !!(treeDisabled || disabled);\n };\n _this.isCheckable = function () {\n var checkable = _this.props.checkable;\n var treeCheckable = _this.props.context.checkable;\n // Return false if tree or treeNode is not checkable\n if (!treeCheckable || checkable === false) return false;\n return treeCheckable;\n };\n _this.syncLoadData = function (props) {\n var expanded = props.expanded,\n loading = props.loading,\n loaded = props.loaded;\n var _this$props$context = _this.props.context,\n loadData = _this$props$context.loadData,\n onNodeLoad = _this$props$context.onNodeLoad;\n if (loading) {\n return;\n }\n // read from state to avoid loadData at same time\n if (loadData && expanded && !_this.isLeaf()) {\n // We needn't reload data when has children in sync logic\n // It's only needed in node expanded\n if (!_this.hasChildren() && !loaded) {\n onNodeLoad(convertNodePropsToEventData(_this.props));\n }\n }\n };\n _this.isDraggable = function () {\n var _this$props4 = _this.props,\n data = _this$props4.data,\n draggable = _this$props4.context.draggable;\n return !!(draggable && (!draggable.nodeDraggable || draggable.nodeDraggable(data)));\n };\n _this.renderDragHandler = function () {\n var _this$props$context2 = _this.props.context,\n draggable = _this$props$context2.draggable,\n prefixCls = _this$props$context2.prefixCls;\n return (draggable === null || draggable === void 0 ? void 0 : draggable.icon) ? /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-draggable-icon\")\n }, draggable.icon) : null;\n };\n _this.renderSwitcherIconDom = function (isLeaf) {\n var switcherIconFromProps = _this.props.switcherIcon;\n var switcherIconFromCtx = _this.props.context.switcherIcon;\n var switcherIcon = switcherIconFromProps || switcherIconFromCtx;\n // if switcherIconDom is null, no render switcher span\n if (typeof switcherIcon === 'function') {\n return switcherIcon(_objectSpread(_objectSpread({}, _this.props), {}, {\n isLeaf: isLeaf\n }));\n }\n return switcherIcon;\n };\n _this.renderSwitcher = function () {\n var expanded = _this.props.expanded;\n var prefixCls = _this.props.context.prefixCls;\n if (_this.isLeaf()) {\n // if switcherIconDom is null, no render switcher span\n var _switcherIconDom = _this.renderSwitcherIconDom(true);\n return _switcherIconDom !== false ? /*#__PURE__*/React.createElement(\"span\", {\n className: classNames(\"\".concat(prefixCls, \"-switcher\"), \"\".concat(prefixCls, \"-switcher-noop\"))\n }, _switcherIconDom) : null;\n }\n var switcherCls = classNames(\"\".concat(prefixCls, \"-switcher\"), \"\".concat(prefixCls, \"-switcher_\").concat(expanded ? ICON_OPEN : ICON_CLOSE));\n var switcherIconDom = _this.renderSwitcherIconDom(false);\n return switcherIconDom !== false ? /*#__PURE__*/React.createElement(\"span\", {\n onClick: _this.onExpand,\n className: switcherCls\n }, switcherIconDom) : null;\n };\n _this.renderCheckbox = function () {\n var _this$props5 = _this.props,\n checked = _this$props5.checked,\n halfChecked = _this$props5.halfChecked,\n disableCheckbox = _this$props5.disableCheckbox;\n var prefixCls = _this.props.context.prefixCls;\n var disabled = _this.isDisabled();\n var checkable = _this.isCheckable();\n if (!checkable) return null;\n // [Legacy] Custom element should be separate with `checkable` in future\n var $custom = typeof checkable !== 'boolean' ? checkable : null;\n return /*#__PURE__*/React.createElement(\"span\", {\n className: classNames(\"\".concat(prefixCls, \"-checkbox\"), checked && \"\".concat(prefixCls, \"-checkbox-checked\"), !checked && halfChecked && \"\".concat(prefixCls, \"-checkbox-indeterminate\"), (disabled || disableCheckbox) && \"\".concat(prefixCls, \"-checkbox-disabled\")),\n onClick: _this.onCheck\n }, $custom);\n };\n _this.renderIcon = function () {\n var loading = _this.props.loading;\n var prefixCls = _this.props.context.prefixCls;\n return /*#__PURE__*/React.createElement(\"span\", {\n className: classNames(\"\".concat(prefixCls, \"-iconEle\"), \"\".concat(prefixCls, \"-icon__\").concat(_this.getNodeState() || 'docu'), loading && \"\".concat(prefixCls, \"-icon_loading\"))\n });\n };\n _this.renderSelector = function () {\n var dragNodeHighlight = _this.state.dragNodeHighlight;\n var _this$props6 = _this.props,\n title = _this$props6.title,\n selected = _this$props6.selected,\n icon = _this$props6.icon,\n loading = _this$props6.loading,\n data = _this$props6.data;\n var _this$props$context3 = _this.props.context,\n prefixCls = _this$props$context3.prefixCls,\n showIcon = _this$props$context3.showIcon,\n treeIcon = _this$props$context3.icon,\n loadData = _this$props$context3.loadData,\n titleRender = _this$props$context3.titleRender;\n var disabled = _this.isDisabled();\n var wrapClass = \"\".concat(prefixCls, \"-node-content-wrapper\");\n // Icon - Still show loading icon when loading without showIcon\n var $icon;\n if (showIcon) {\n var currentIcon = icon || treeIcon;\n $icon = currentIcon ? /*#__PURE__*/React.createElement(\"span\", {\n className: classNames(\"\".concat(prefixCls, \"-iconEle\"), \"\".concat(prefixCls, \"-icon__customize\"))\n }, typeof currentIcon === 'function' ? currentIcon(_this.props) : currentIcon) : _this.renderIcon();\n } else if (loadData && loading) {\n $icon = _this.renderIcon();\n }\n // Title\n var titleNode;\n if (typeof title === 'function') {\n titleNode = title(data);\n } else if (titleRender) {\n titleNode = titleRender(data);\n } else {\n titleNode = title;\n }\n var $title = /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-title\")\n }, titleNode);\n return /*#__PURE__*/React.createElement(\"span\", {\n ref: _this.setSelectHandle,\n title: typeof title === 'string' ? title : '',\n className: classNames(\"\".concat(wrapClass), \"\".concat(wrapClass, \"-\").concat(_this.getNodeState() || 'normal'), !disabled && (selected || dragNodeHighlight) && \"\".concat(prefixCls, \"-node-selected\")),\n onMouseEnter: _this.onMouseEnter,\n onMouseLeave: _this.onMouseLeave,\n onContextMenu: _this.onContextMenu,\n onClick: _this.onSelectorClick,\n onDoubleClick: _this.onSelectorDoubleClick\n }, $icon, $title, _this.renderDropIndicator());\n };\n _this.renderDropIndicator = function () {\n var _this$props7 = _this.props,\n disabled = _this$props7.disabled,\n eventKey = _this$props7.eventKey;\n var _this$props$context4 = _this.props.context,\n draggable = _this$props$context4.draggable,\n dropLevelOffset = _this$props$context4.dropLevelOffset,\n dropPosition = _this$props$context4.dropPosition,\n prefixCls = _this$props$context4.prefixCls,\n indent = _this$props$context4.indent,\n dropIndicatorRender = _this$props$context4.dropIndicatorRender,\n dragOverNodeKey = _this$props$context4.dragOverNodeKey,\n direction = _this$props$context4.direction;\n var rootDraggable = !!draggable;\n // allowDrop is calculated in Tree.tsx, there is no need for calc it here\n var showIndicator = !disabled && rootDraggable && dragOverNodeKey === eventKey;\n return showIndicator ? dropIndicatorRender({\n dropPosition: dropPosition,\n dropLevelOffset: dropLevelOffset,\n indent: indent,\n prefixCls: prefixCls,\n direction: direction\n }) : null;\n };\n return _this;\n }\n _createClass(InternalTreeNode, [{\n key: \"componentDidMount\",\n value:\n // Isomorphic needn't load data in server side\n function componentDidMount() {\n this.syncLoadData(this.props);\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate() {\n this.syncLoadData(this.props);\n }\n }, {\n key: \"isSelectable\",\n value: function isSelectable() {\n var selectable = this.props.selectable;\n var treeSelectable = this.props.context.selectable;\n // Ignore when selectable is undefined or null\n if (typeof selectable === 'boolean') {\n return selectable;\n }\n return treeSelectable;\n }\n }, {\n key: \"render\",\n value:\n // =========================== Render ===========================\n function render() {\n var _classNames;\n var _this$props8 = this.props,\n eventKey = _this$props8.eventKey,\n className = _this$props8.className,\n style = _this$props8.style,\n dragOver = _this$props8.dragOver,\n dragOverGapTop = _this$props8.dragOverGapTop,\n dragOverGapBottom = _this$props8.dragOverGapBottom,\n isLeaf = _this$props8.isLeaf,\n isStart = _this$props8.isStart,\n isEnd = _this$props8.isEnd,\n expanded = _this$props8.expanded,\n selected = _this$props8.selected,\n checked = _this$props8.checked,\n halfChecked = _this$props8.halfChecked,\n loading = _this$props8.loading,\n domRef = _this$props8.domRef,\n active = _this$props8.active,\n data = _this$props8.data,\n onMouseMove = _this$props8.onMouseMove,\n selectable = _this$props8.selectable,\n otherProps = _objectWithoutProperties(_this$props8, _excluded);\n var _this$props$context5 = this.props.context,\n prefixCls = _this$props$context5.prefixCls,\n filterTreeNode = _this$props$context5.filterTreeNode,\n keyEntities = _this$props$context5.keyEntities,\n dropContainerKey = _this$props$context5.dropContainerKey,\n dropTargetKey = _this$props$context5.dropTargetKey,\n draggingNodeKey = _this$props$context5.draggingNodeKey;\n var disabled = this.isDisabled();\n var dataOrAriaAttributeProps = pickAttrs(otherProps, {\n aria: true,\n data: true\n });\n var _ref2 = keyEntities[eventKey] || {},\n level = _ref2.level;\n var isEndNode = isEnd[isEnd.length - 1];\n var mergedDraggable = this.isDraggable();\n var draggableWithoutDisabled = !disabled && mergedDraggable;\n var dragging = draggingNodeKey === eventKey;\n var ariaSelected = selectable !== undefined ? {\n 'aria-selected': !!selectable\n } : undefined;\n return /*#__PURE__*/React.createElement(\"div\", _extends({\n ref: domRef,\n className: classNames(className, \"\".concat(prefixCls, \"-treenode\"), (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-treenode-disabled\"), disabled), _defineProperty(_classNames, \"\".concat(prefixCls, \"-treenode-switcher-\").concat(expanded ? 'open' : 'close'), !isLeaf), _defineProperty(_classNames, \"\".concat(prefixCls, \"-treenode-checkbox-checked\"), checked), _defineProperty(_classNames, \"\".concat(prefixCls, \"-treenode-checkbox-indeterminate\"), halfChecked), _defineProperty(_classNames, \"\".concat(prefixCls, \"-treenode-selected\"), selected), _defineProperty(_classNames, \"\".concat(prefixCls, \"-treenode-loading\"), loading), _defineProperty(_classNames, \"\".concat(prefixCls, \"-treenode-active\"), active), _defineProperty(_classNames, \"\".concat(prefixCls, \"-treenode-leaf-last\"), isEndNode), _defineProperty(_classNames, \"\".concat(prefixCls, \"-treenode-draggable\"), mergedDraggable), _defineProperty(_classNames, \"dragging\", dragging), _defineProperty(_classNames, 'drop-target', dropTargetKey === eventKey), _defineProperty(_classNames, 'drop-container', dropContainerKey === eventKey), _defineProperty(_classNames, 'drag-over', !disabled && dragOver), _defineProperty(_classNames, 'drag-over-gap-top', !disabled && dragOverGapTop), _defineProperty(_classNames, 'drag-over-gap-bottom', !disabled && dragOverGapBottom), _defineProperty(_classNames, 'filter-node', filterTreeNode && filterTreeNode(convertNodePropsToEventData(this.props))), _classNames)),\n style: style\n // Draggable config\n ,\n draggable: draggableWithoutDisabled,\n \"aria-grabbed\": dragging,\n onDragStart: draggableWithoutDisabled ? this.onDragStart : undefined\n // Drop config\n ,\n onDragEnter: mergedDraggable ? this.onDragEnter : undefined,\n onDragOver: mergedDraggable ? this.onDragOver : undefined,\n onDragLeave: mergedDraggable ? this.onDragLeave : undefined,\n onDrop: mergedDraggable ? this.onDrop : undefined,\n onDragEnd: mergedDraggable ? this.onDragEnd : undefined,\n onMouseMove: onMouseMove\n }, ariaSelected, dataOrAriaAttributeProps), /*#__PURE__*/React.createElement(Indent, {\n prefixCls: prefixCls,\n level: level,\n isStart: isStart,\n isEnd: isEnd\n }), this.renderDragHandler(), this.renderSwitcher(), this.renderCheckbox(), this.renderSelector());\n }\n }]);\n return InternalTreeNode;\n}(React.Component);\nvar ContextTreeNode = function ContextTreeNode(props) {\n return /*#__PURE__*/React.createElement(TreeContext.Consumer, null, function (context) {\n return /*#__PURE__*/React.createElement(InternalTreeNode, _extends({}, props, {\n context: context\n }));\n });\n};\nContextTreeNode.displayName = 'TreeNode';\nContextTreeNode.defaultProps = {\n title: defaultTitle\n};\nContextTreeNode.isTreeNode = 1;\nexport { InternalTreeNode };\nexport default ContextTreeNode;","/**\n * Webpack has bug for import loop, which is not the same behavior as ES module.\n * When util.js imports the TreeNode for tree generate will cause treeContextTypes be empty.\n */\nimport * as React from 'react';\nexport var TreeContext = /*#__PURE__*/React.createContext(null);","export default function _objectDestructuringEmpty(obj) {\n if (obj == null) throw new TypeError(\"Cannot destructure \" + obj);\n}","import _objectDestructuringEmpty from \"@babel/runtime/helpers/esm/objectDestructuringEmpty\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"className\", \"style\", \"motion\", \"motionNodes\", \"motionType\", \"onMotionStart\", \"onMotionEnd\", \"active\", \"treeNodeRequiredProps\"];\nimport * as React from 'react';\nimport { useEffect } from 'react';\nimport classNames from 'classnames';\nimport CSSMotion from 'rc-motion';\nimport TreeNode from './TreeNode';\nimport { getTreeNodeProps } from './utils/treeUtil';\nimport { TreeContext } from './contextTypes';\nvar MotionTreeNode = function MotionTreeNode(_ref, ref) {\n var className = _ref.className,\n style = _ref.style,\n motion = _ref.motion,\n motionNodes = _ref.motionNodes,\n motionType = _ref.motionType,\n onOriginMotionStart = _ref.onMotionStart,\n onOriginMotionEnd = _ref.onMotionEnd,\n active = _ref.active,\n treeNodeRequiredProps = _ref.treeNodeRequiredProps,\n props = _objectWithoutProperties(_ref, _excluded);\n var _React$useState = React.useState(true),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n visible = _React$useState2[0],\n setVisible = _React$useState2[1];\n var _React$useContext = React.useContext(TreeContext),\n prefixCls = _React$useContext.prefixCls;\n var motionedRef = React.useRef(false);\n var onMotionEnd = function onMotionEnd() {\n if (!motionedRef.current) {\n onOriginMotionEnd();\n }\n motionedRef.current = true;\n };\n useEffect(function () {\n if (motionNodes && motionType === 'hide' && visible) {\n setVisible(false);\n }\n }, [motionNodes]);\n useEffect(function () {\n // Trigger motion only when patched\n if (motionNodes) {\n onOriginMotionStart();\n }\n return function () {\n if (motionNodes) {\n onMotionEnd();\n }\n };\n }, []);\n if (motionNodes) {\n return /*#__PURE__*/React.createElement(CSSMotion, _extends({\n ref: ref,\n visible: visible\n }, motion, {\n motionAppear: motionType === 'show',\n onAppearEnd: onMotionEnd,\n onLeaveEnd: onMotionEnd\n }), function (_ref2, motionRef) {\n var motionClassName = _ref2.className,\n motionStyle = _ref2.style;\n return /*#__PURE__*/React.createElement(\"div\", {\n ref: motionRef,\n className: classNames(\"\".concat(prefixCls, \"-treenode-motion\"), motionClassName),\n style: motionStyle\n }, motionNodes.map(function (treeNode) {\n var restProps = _extends({}, (_objectDestructuringEmpty(treeNode.data), treeNode.data)),\n title = treeNode.title,\n key = treeNode.key,\n isStart = treeNode.isStart,\n isEnd = treeNode.isEnd;\n delete restProps.children;\n var treeNodeProps = getTreeNodeProps(key, treeNodeRequiredProps);\n return /*#__PURE__*/React.createElement(TreeNode, _extends({}, restProps, treeNodeProps, {\n title: title,\n active: active,\n data: treeNode.data,\n key: key,\n isStart: isStart,\n isEnd: isEnd\n }));\n }));\n });\n }\n return /*#__PURE__*/React.createElement(TreeNode, _extends({\n domRef: ref,\n className: className,\n style: style\n }, props, {\n active: active\n }));\n};\nMotionTreeNode.displayName = 'MotionTreeNode';\nvar RefMotionTreeNode = /*#__PURE__*/React.forwardRef(MotionTreeNode);\nexport default RefMotionTreeNode;","export function findExpandedKeys() {\n var prev = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var next = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n var prevLen = prev.length;\n var nextLen = next.length;\n if (Math.abs(prevLen - nextLen) !== 1) {\n return {\n add: false,\n key: null\n };\n }\n function find(shorter, longer) {\n var cache = new Map();\n shorter.forEach(function (key) {\n cache.set(key, true);\n });\n var keys = longer.filter(function (key) {\n return !cache.has(key);\n });\n return keys.length === 1 ? keys[0] : null;\n }\n if (prevLen < nextLen) {\n return {\n add: true,\n key: find(prev, next)\n };\n }\n return {\n add: false,\n key: find(next, prev)\n };\n}\nexport function getExpandRange(shorter, longer, key) {\n var shorterStartIndex = shorter.findIndex(function (data) {\n return data.key === key;\n });\n var shorterEndNode = shorter[shorterStartIndex + 1];\n var longerStartIndex = longer.findIndex(function (data) {\n return data.key === key;\n });\n if (shorterEndNode) {\n var longerEndIndex = longer.findIndex(function (data) {\n return data.key === shorterEndNode.key;\n });\n return longer.slice(longerStartIndex + 1, longerEndIndex);\n }\n return longer.slice(longerStartIndex + 1);\n}","import _objectDestructuringEmpty from \"@babel/runtime/helpers/esm/objectDestructuringEmpty\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"prefixCls\", \"data\", \"selectable\", \"checkable\", \"expandedKeys\", \"selectedKeys\", \"checkedKeys\", \"loadedKeys\", \"loadingKeys\", \"halfCheckedKeys\", \"keyEntities\", \"disabled\", \"dragging\", \"dragOverNodeKey\", \"dropPosition\", \"motion\", \"height\", \"itemHeight\", \"virtual\", \"focusable\", \"activeItem\", \"focused\", \"tabIndex\", \"onKeyDown\", \"onFocus\", \"onBlur\", \"onActiveChange\", \"onListChangeStart\", \"onListChangeEnd\"];\n/**\n * Handle virtual list of the TreeNodes.\n */\nimport * as React from 'react';\nimport VirtualList from 'rc-virtual-list';\nimport MotionTreeNode from './MotionTreeNode';\nimport { findExpandedKeys, getExpandRange } from './utils/diffUtil';\nimport { getTreeNodeProps, getKey } from './utils/treeUtil';\nvar HIDDEN_STYLE = {\n width: 0,\n height: 0,\n display: 'flex',\n overflow: 'hidden',\n opacity: 0,\n border: 0,\n padding: 0,\n margin: 0\n};\nvar noop = function noop() {};\nexport var MOTION_KEY = \"RC_TREE_MOTION_\".concat(Math.random());\nvar MotionNode = {\n key: MOTION_KEY\n};\nexport var MotionEntity = {\n key: MOTION_KEY,\n level: 0,\n index: 0,\n pos: '0',\n node: MotionNode,\n nodes: [MotionNode]\n};\nvar MotionFlattenData = {\n parent: null,\n children: [],\n pos: MotionEntity.pos,\n data: MotionNode,\n title: null,\n key: MOTION_KEY,\n /** Hold empty list here since we do not use it */\n isStart: [],\n isEnd: []\n};\n/**\n * We only need get visible content items to play the animation.\n */\nexport function getMinimumRangeTransitionRange(list, virtual, height, itemHeight) {\n if (virtual === false || !height) {\n return list;\n }\n return list.slice(0, Math.ceil(height / itemHeight) + 1);\n}\nfunction itemKey(item) {\n var key = item.key,\n pos = item.pos;\n return getKey(key, pos);\n}\nfunction getAccessibilityPath(item) {\n var path = String(item.data.key);\n var current = item;\n while (current.parent) {\n current = current.parent;\n path = \"\".concat(current.data.key, \" > \").concat(path);\n }\n return path;\n}\nvar NodeList = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var prefixCls = props.prefixCls,\n data = props.data,\n selectable = props.selectable,\n checkable = props.checkable,\n expandedKeys = props.expandedKeys,\n selectedKeys = props.selectedKeys,\n checkedKeys = props.checkedKeys,\n loadedKeys = props.loadedKeys,\n loadingKeys = props.loadingKeys,\n halfCheckedKeys = props.halfCheckedKeys,\n keyEntities = props.keyEntities,\n disabled = props.disabled,\n dragging = props.dragging,\n dragOverNodeKey = props.dragOverNodeKey,\n dropPosition = props.dropPosition,\n motion = props.motion,\n height = props.height,\n itemHeight = props.itemHeight,\n virtual = props.virtual,\n focusable = props.focusable,\n activeItem = props.activeItem,\n focused = props.focused,\n tabIndex = props.tabIndex,\n onKeyDown = props.onKeyDown,\n onFocus = props.onFocus,\n onBlur = props.onBlur,\n onActiveChange = props.onActiveChange,\n onListChangeStart = props.onListChangeStart,\n onListChangeEnd = props.onListChangeEnd,\n domProps = _objectWithoutProperties(props, _excluded);\n // =============================== Ref ================================\n var listRef = React.useRef(null);\n var indentMeasurerRef = React.useRef(null);\n React.useImperativeHandle(ref, function () {\n return {\n scrollTo: function scrollTo(scroll) {\n listRef.current.scrollTo(scroll);\n },\n getIndentWidth: function getIndentWidth() {\n return indentMeasurerRef.current.offsetWidth;\n }\n };\n });\n // ============================== Motion ==============================\n var _React$useState = React.useState(expandedKeys),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n prevExpandedKeys = _React$useState2[0],\n setPrevExpandedKeys = _React$useState2[1];\n var _React$useState3 = React.useState(data),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n prevData = _React$useState4[0],\n setPrevData = _React$useState4[1];\n var _React$useState5 = React.useState(data),\n _React$useState6 = _slicedToArray(_React$useState5, 2),\n transitionData = _React$useState6[0],\n setTransitionData = _React$useState6[1];\n var _React$useState7 = React.useState([]),\n _React$useState8 = _slicedToArray(_React$useState7, 2),\n transitionRange = _React$useState8[0],\n setTransitionRange = _React$useState8[1];\n var _React$useState9 = React.useState(null),\n _React$useState10 = _slicedToArray(_React$useState9, 2),\n motionType = _React$useState10[0],\n setMotionType = _React$useState10[1];\n // When motion end but data change, this will makes data back to previous one\n var dataRef = React.useRef(data);\n dataRef.current = data;\n function onMotionEnd() {\n var latestData = dataRef.current;\n setPrevData(latestData);\n setTransitionData(latestData);\n setTransitionRange([]);\n setMotionType(null);\n onListChangeEnd();\n }\n // Do animation if expanded keys changed\n React.useEffect(function () {\n setPrevExpandedKeys(expandedKeys);\n var diffExpanded = findExpandedKeys(prevExpandedKeys, expandedKeys);\n if (diffExpanded.key !== null) {\n if (diffExpanded.add) {\n var keyIndex = prevData.findIndex(function (_ref) {\n var key = _ref.key;\n return key === diffExpanded.key;\n });\n var rangeNodes = getMinimumRangeTransitionRange(getExpandRange(prevData, data, diffExpanded.key), virtual, height, itemHeight);\n var newTransitionData = prevData.slice();\n newTransitionData.splice(keyIndex + 1, 0, MotionFlattenData);\n setTransitionData(newTransitionData);\n setTransitionRange(rangeNodes);\n setMotionType('show');\n } else {\n var _keyIndex = data.findIndex(function (_ref2) {\n var key = _ref2.key;\n return key === diffExpanded.key;\n });\n var _rangeNodes = getMinimumRangeTransitionRange(getExpandRange(data, prevData, diffExpanded.key), virtual, height, itemHeight);\n var _newTransitionData = data.slice();\n _newTransitionData.splice(_keyIndex + 1, 0, MotionFlattenData);\n setTransitionData(_newTransitionData);\n setTransitionRange(_rangeNodes);\n setMotionType('hide');\n }\n } else if (prevData !== data) {\n // If whole data changed, we just refresh the list\n setPrevData(data);\n setTransitionData(data);\n }\n }, [expandedKeys, data]);\n // We should clean up motion if is changed by dragging\n React.useEffect(function () {\n if (!dragging) {\n onMotionEnd();\n }\n }, [dragging]);\n var mergedData = motion ? transitionData : data;\n var treeNodeRequiredProps = {\n expandedKeys: expandedKeys,\n selectedKeys: selectedKeys,\n loadedKeys: loadedKeys,\n loadingKeys: loadingKeys,\n checkedKeys: checkedKeys,\n halfCheckedKeys: halfCheckedKeys,\n dragOverNodeKey: dragOverNodeKey,\n dropPosition: dropPosition,\n keyEntities: keyEntities\n };\n return /*#__PURE__*/React.createElement(React.Fragment, null, focused && activeItem && /*#__PURE__*/React.createElement(\"span\", {\n style: HIDDEN_STYLE,\n \"aria-live\": \"assertive\"\n }, getAccessibilityPath(activeItem)), /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(\"input\", {\n style: HIDDEN_STYLE,\n disabled: focusable === false || disabled,\n tabIndex: focusable !== false ? tabIndex : null,\n onKeyDown: onKeyDown,\n onFocus: onFocus,\n onBlur: onBlur,\n value: \"\",\n onChange: noop,\n \"aria-label\": \"for screen reader\"\n })), /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-treenode\"),\n \"aria-hidden\": true,\n style: {\n position: 'absolute',\n pointerEvents: 'none',\n visibility: 'hidden',\n height: 0,\n overflow: 'hidden',\n border: 0,\n padding: 0\n }\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-indent\")\n }, /*#__PURE__*/React.createElement(\"div\", {\n ref: indentMeasurerRef,\n className: \"\".concat(prefixCls, \"-indent-unit\")\n }))), /*#__PURE__*/React.createElement(VirtualList, _extends({}, domProps, {\n data: mergedData,\n itemKey: itemKey,\n height: height,\n fullHeight: false,\n virtual: virtual,\n itemHeight: itemHeight,\n prefixCls: \"\".concat(prefixCls, \"-list\"),\n ref: listRef,\n onVisibleChange: function onVisibleChange(originList, fullList) {\n var originSet = new Set(originList);\n var restList = fullList.filter(function (item) {\n return !originSet.has(item);\n });\n // Motion node is not render. Skip motion\n if (restList.some(function (item) {\n return itemKey(item) === MOTION_KEY;\n })) {\n onMotionEnd();\n }\n }\n }), function (treeNode) {\n var pos = treeNode.pos,\n restProps = _extends({}, (_objectDestructuringEmpty(treeNode.data), treeNode.data)),\n title = treeNode.title,\n key = treeNode.key,\n isStart = treeNode.isStart,\n isEnd = treeNode.isEnd;\n var mergedKey = getKey(key, pos);\n delete restProps.key;\n delete restProps.children;\n var treeNodeProps = getTreeNodeProps(mergedKey, treeNodeRequiredProps);\n return /*#__PURE__*/React.createElement(MotionTreeNode, _extends({}, restProps, treeNodeProps, {\n title: title,\n active: !!activeItem && key === activeItem.key,\n pos: pos,\n data: treeNode.data,\n isStart: isStart,\n isEnd: isEnd,\n motion: motion,\n motionNodes: key === MOTION_KEY ? transitionRange : null,\n motionType: motionType,\n onMotionStart: onListChangeStart,\n onMotionEnd: onMotionEnd,\n treeNodeRequiredProps: treeNodeRequiredProps,\n onMouseMove: function onMouseMove() {\n onActiveChange(null);\n }\n }));\n }));\n});\nNodeList.displayName = 'NodeList';\nexport default NodeList;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\n// TODO: https://www.w3.org/TR/2017/NOTE-wai-aria-practices-1.1-20171214/examples/treeview/treeview-2/treeview-2a.html\n// Fully accessibility support\nimport * as React from 'react';\nimport KeyCode from \"rc-util/es/KeyCode\";\nimport warning from \"rc-util/es/warning\";\nimport pickAttrs from \"rc-util/es/pickAttrs\";\nimport classNames from 'classnames';\nimport { TreeContext } from './contextTypes';\nimport { getDragChildrenKeys, parseCheckedKeys, conductExpandParent, calcSelectedKeys, calcDropPosition, arrAdd, arrDel, posToArr } from './util';\nimport { flattenTreeData, convertTreeToData, convertDataToEntities, warningWithoutKey, convertNodePropsToEventData, getTreeNodeProps, fillFieldNames } from './utils/treeUtil';\nimport NodeList, { MOTION_KEY, MotionEntity } from './NodeList';\nimport TreeNode from './TreeNode';\nimport { conductCheck } from './utils/conductUtil';\nimport DropIndicator from './DropIndicator';\nvar MAX_RETRY_TIMES = 10;\nvar Tree = /*#__PURE__*/function (_React$Component) {\n _inherits(Tree, _React$Component);\n var _super = _createSuper(Tree);\n function Tree() {\n var _this;\n _classCallCheck(this, Tree);\n for (var _len = arguments.length, _args = new Array(_len), _key = 0; _key < _len; _key++) {\n _args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(_args));\n _this.destroyed = false;\n _this.delayedDragEnterLogic = void 0;\n _this.loadingRetryTimes = {};\n _this.state = {\n keyEntities: {},\n indent: null,\n selectedKeys: [],\n checkedKeys: [],\n halfCheckedKeys: [],\n loadedKeys: [],\n loadingKeys: [],\n expandedKeys: [],\n draggingNodeKey: null,\n dragChildrenKeys: [],\n // dropTargetKey is the key of abstract-drop-node\n // the abstract-drop-node is the real drop node when drag and drop\n // not the DOM drag over node\n dropTargetKey: null,\n dropPosition: null,\n dropContainerKey: null,\n dropLevelOffset: null,\n dropTargetPos: null,\n dropAllowed: true,\n // the abstract-drag-over-node\n // if mouse is on the bottom of top dom node or no the top of the bottom dom node\n // abstract-drag-over-node is the top node\n dragOverNodeKey: null,\n treeData: [],\n flattenNodes: [],\n focused: false,\n activeKey: null,\n listChanging: false,\n prevProps: null,\n fieldNames: fillFieldNames()\n };\n _this.dragStartMousePosition = null;\n _this.dragNode = void 0;\n _this.currentMouseOverDroppableNodeKey = null;\n _this.listRef = /*#__PURE__*/React.createRef();\n _this.onNodeDragStart = function (event, node) {\n var _this$state = _this.state,\n expandedKeys = _this$state.expandedKeys,\n keyEntities = _this$state.keyEntities;\n var onDragStart = _this.props.onDragStart;\n var eventKey = node.props.eventKey;\n _this.dragNode = node;\n _this.dragStartMousePosition = {\n x: event.clientX,\n y: event.clientY\n };\n var newExpandedKeys = arrDel(expandedKeys, eventKey);\n _this.setState({\n draggingNodeKey: eventKey,\n dragChildrenKeys: getDragChildrenKeys(eventKey, keyEntities),\n indent: _this.listRef.current.getIndentWidth()\n });\n _this.setExpandedKeys(newExpandedKeys);\n window.addEventListener('dragend', _this.onWindowDragEnd);\n onDragStart === null || onDragStart === void 0 ? void 0 : onDragStart({\n event: event,\n node: convertNodePropsToEventData(node.props)\n });\n };\n _this.onNodeDragEnter = function (event, node) {\n var _this$state2 = _this.state,\n expandedKeys = _this$state2.expandedKeys,\n keyEntities = _this$state2.keyEntities,\n dragChildrenKeys = _this$state2.dragChildrenKeys,\n flattenNodes = _this$state2.flattenNodes,\n indent = _this$state2.indent;\n var _this$props = _this.props,\n onDragEnter = _this$props.onDragEnter,\n onExpand = _this$props.onExpand,\n allowDrop = _this$props.allowDrop,\n direction = _this$props.direction;\n var _node$props = node.props,\n pos = _node$props.pos,\n eventKey = _node$props.eventKey;\n var _assertThisInitialize = _assertThisInitialized(_this),\n dragNode = _assertThisInitialize.dragNode;\n // record the key of node which is latest entered, used in dragleave event.\n if (_this.currentMouseOverDroppableNodeKey !== eventKey) {\n _this.currentMouseOverDroppableNodeKey = eventKey;\n }\n if (!dragNode) {\n _this.resetDragState();\n return;\n }\n var _calcDropPosition = calcDropPosition(event, dragNode, node, indent, _this.dragStartMousePosition, allowDrop, flattenNodes, keyEntities, expandedKeys, direction),\n dropPosition = _calcDropPosition.dropPosition,\n dropLevelOffset = _calcDropPosition.dropLevelOffset,\n dropTargetKey = _calcDropPosition.dropTargetKey,\n dropContainerKey = _calcDropPosition.dropContainerKey,\n dropTargetPos = _calcDropPosition.dropTargetPos,\n dropAllowed = _calcDropPosition.dropAllowed,\n dragOverNodeKey = _calcDropPosition.dragOverNodeKey;\n if (\n // don't allow drop inside its children\n dragChildrenKeys.indexOf(dropTargetKey) !== -1 ||\n // don't allow drop when drop is not allowed caculated by calcDropPosition\n !dropAllowed) {\n _this.resetDragState();\n return;\n }\n // Side effect for delay drag\n if (!_this.delayedDragEnterLogic) {\n _this.delayedDragEnterLogic = {};\n }\n Object.keys(_this.delayedDragEnterLogic).forEach(function (key) {\n clearTimeout(_this.delayedDragEnterLogic[key]);\n });\n if (dragNode.props.eventKey !== node.props.eventKey) {\n // hoist expand logic here\n // since if logic is on the bottom\n // it will be blocked by abstract dragover node check\n // => if you dragenter from top, you mouse will still be consider as in the top node\n event.persist();\n _this.delayedDragEnterLogic[pos] = window.setTimeout(function () {\n if (_this.state.draggingNodeKey === null) return;\n var newExpandedKeys = _toConsumableArray(expandedKeys);\n var entity = keyEntities[node.props.eventKey];\n if (entity && (entity.children || []).length) {\n newExpandedKeys = arrAdd(expandedKeys, node.props.eventKey);\n }\n if (!('expandedKeys' in _this.props)) {\n _this.setExpandedKeys(newExpandedKeys);\n }\n onExpand === null || onExpand === void 0 ? void 0 : onExpand(newExpandedKeys, {\n node: convertNodePropsToEventData(node.props),\n expanded: true,\n nativeEvent: event.nativeEvent\n });\n }, 800);\n }\n // Skip if drag node is self\n if (dragNode.props.eventKey === dropTargetKey && dropLevelOffset === 0) {\n _this.resetDragState();\n return;\n }\n // Update drag over node and drag state\n _this.setState({\n dragOverNodeKey: dragOverNodeKey,\n dropPosition: dropPosition,\n dropLevelOffset: dropLevelOffset,\n dropTargetKey: dropTargetKey,\n dropContainerKey: dropContainerKey,\n dropTargetPos: dropTargetPos,\n dropAllowed: dropAllowed\n });\n onDragEnter === null || onDragEnter === void 0 ? void 0 : onDragEnter({\n event: event,\n node: convertNodePropsToEventData(node.props),\n expandedKeys: expandedKeys\n });\n };\n _this.onNodeDragOver = function (event, node) {\n var _this$state3 = _this.state,\n dragChildrenKeys = _this$state3.dragChildrenKeys,\n flattenNodes = _this$state3.flattenNodes,\n keyEntities = _this$state3.keyEntities,\n expandedKeys = _this$state3.expandedKeys,\n indent = _this$state3.indent;\n var _this$props2 = _this.props,\n onDragOver = _this$props2.onDragOver,\n allowDrop = _this$props2.allowDrop,\n direction = _this$props2.direction;\n var _assertThisInitialize2 = _assertThisInitialized(_this),\n dragNode = _assertThisInitialize2.dragNode;\n if (!dragNode) {\n return;\n }\n var _calcDropPosition2 = calcDropPosition(event, dragNode, node, indent, _this.dragStartMousePosition, allowDrop, flattenNodes, keyEntities, expandedKeys, direction),\n dropPosition = _calcDropPosition2.dropPosition,\n dropLevelOffset = _calcDropPosition2.dropLevelOffset,\n dropTargetKey = _calcDropPosition2.dropTargetKey,\n dropContainerKey = _calcDropPosition2.dropContainerKey,\n dropAllowed = _calcDropPosition2.dropAllowed,\n dropTargetPos = _calcDropPosition2.dropTargetPos,\n dragOverNodeKey = _calcDropPosition2.dragOverNodeKey;\n if (dragChildrenKeys.indexOf(dropTargetKey) !== -1 || !dropAllowed) {\n // don't allow drop inside its children\n // don't allow drop when drop is not allowed caculated by calcDropPosition\n return;\n }\n // Update drag position\n if (dragNode.props.eventKey === dropTargetKey && dropLevelOffset === 0) {\n if (!(_this.state.dropPosition === null && _this.state.dropLevelOffset === null && _this.state.dropTargetKey === null && _this.state.dropContainerKey === null && _this.state.dropTargetPos === null && _this.state.dropAllowed === false && _this.state.dragOverNodeKey === null)) {\n _this.resetDragState();\n }\n } else if (!(dropPosition === _this.state.dropPosition && dropLevelOffset === _this.state.dropLevelOffset && dropTargetKey === _this.state.dropTargetKey && dropContainerKey === _this.state.dropContainerKey && dropTargetPos === _this.state.dropTargetPos && dropAllowed === _this.state.dropAllowed && dragOverNodeKey === _this.state.dragOverNodeKey)) {\n _this.setState({\n dropPosition: dropPosition,\n dropLevelOffset: dropLevelOffset,\n dropTargetKey: dropTargetKey,\n dropContainerKey: dropContainerKey,\n dropTargetPos: dropTargetPos,\n dropAllowed: dropAllowed,\n dragOverNodeKey: dragOverNodeKey\n });\n }\n onDragOver === null || onDragOver === void 0 ? void 0 : onDragOver({\n event: event,\n node: convertNodePropsToEventData(node.props)\n });\n };\n _this.onNodeDragLeave = function (event, node) {\n // if it is outside the droppable area\n // currentMouseOverDroppableNodeKey will be updated in dragenter event when into another droppable receiver.\n if (_this.currentMouseOverDroppableNodeKey === node.props.eventKey && !event.currentTarget.contains(event.relatedTarget)) {\n _this.resetDragState();\n _this.currentMouseOverDroppableNodeKey = null;\n }\n var onDragLeave = _this.props.onDragLeave;\n onDragLeave === null || onDragLeave === void 0 ? void 0 : onDragLeave({\n event: event,\n node: convertNodePropsToEventData(node.props)\n });\n };\n _this.onWindowDragEnd = function (event) {\n _this.onNodeDragEnd(event, null, true);\n window.removeEventListener('dragend', _this.onWindowDragEnd);\n };\n _this.onNodeDragEnd = function (event, node) {\n var onDragEnd = _this.props.onDragEnd;\n _this.setState({\n dragOverNodeKey: null\n });\n _this.cleanDragState();\n onDragEnd === null || onDragEnd === void 0 ? void 0 : onDragEnd({\n event: event,\n node: convertNodePropsToEventData(node.props)\n });\n _this.dragNode = null;\n window.removeEventListener('dragend', _this.onWindowDragEnd);\n };\n _this.onNodeDrop = function (event, node) {\n var _this$getActiveItem;\n var outsideTree = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var _this$state4 = _this.state,\n dragChildrenKeys = _this$state4.dragChildrenKeys,\n dropPosition = _this$state4.dropPosition,\n dropTargetKey = _this$state4.dropTargetKey,\n dropTargetPos = _this$state4.dropTargetPos,\n dropAllowed = _this$state4.dropAllowed;\n if (!dropAllowed) return;\n var onDrop = _this.props.onDrop;\n _this.setState({\n dragOverNodeKey: null\n });\n _this.cleanDragState();\n if (dropTargetKey === null) return;\n var abstractDropNodeProps = _objectSpread(_objectSpread({}, getTreeNodeProps(dropTargetKey, _this.getTreeNodeRequiredProps())), {}, {\n active: ((_this$getActiveItem = _this.getActiveItem()) === null || _this$getActiveItem === void 0 ? void 0 : _this$getActiveItem.key) === dropTargetKey,\n data: _this.state.keyEntities[dropTargetKey].node\n });\n var dropToChild = dragChildrenKeys.indexOf(dropTargetKey) !== -1;\n warning(!dropToChild, \"Can not drop to dragNode's children node. This is a bug of rc-tree. Please report an issue.\");\n var posArr = posToArr(dropTargetPos);\n var dropResult = {\n event: event,\n node: convertNodePropsToEventData(abstractDropNodeProps),\n dragNode: _this.dragNode ? convertNodePropsToEventData(_this.dragNode.props) : null,\n dragNodesKeys: [_this.dragNode.props.eventKey].concat(dragChildrenKeys),\n dropToGap: dropPosition !== 0,\n dropPosition: dropPosition + Number(posArr[posArr.length - 1])\n };\n if (!outsideTree) {\n onDrop === null || onDrop === void 0 ? void 0 : onDrop(dropResult);\n }\n _this.dragNode = null;\n };\n _this.cleanDragState = function () {\n var draggingNodeKey = _this.state.draggingNodeKey;\n if (draggingNodeKey !== null) {\n _this.setState({\n draggingNodeKey: null,\n dropPosition: null,\n dropContainerKey: null,\n dropTargetKey: null,\n dropLevelOffset: null,\n dropAllowed: true,\n dragOverNodeKey: null\n });\n }\n _this.dragStartMousePosition = null;\n _this.currentMouseOverDroppableNodeKey = null;\n };\n _this.triggerExpandActionExpand = function (e, treeNode) {\n var _this$state5 = _this.state,\n expandedKeys = _this$state5.expandedKeys,\n flattenNodes = _this$state5.flattenNodes;\n var expanded = treeNode.expanded,\n key = treeNode.key,\n isLeaf = treeNode.isLeaf;\n if (isLeaf || e.shiftKey || e.metaKey || e.ctrlKey) {\n return;\n }\n var node = flattenNodes.filter(function (nodeItem) {\n return nodeItem.key === key;\n })[0];\n var eventNode = convertNodePropsToEventData(_objectSpread(_objectSpread({}, getTreeNodeProps(key, _this.getTreeNodeRequiredProps())), {}, {\n data: node.data\n }));\n _this.setExpandedKeys(expanded ? arrDel(expandedKeys, key) : arrAdd(expandedKeys, key));\n _this.onNodeExpand(e, eventNode);\n };\n _this.onNodeClick = function (e, treeNode) {\n var _this$props3 = _this.props,\n onClick = _this$props3.onClick,\n expandAction = _this$props3.expandAction;\n if (expandAction === 'click') {\n _this.triggerExpandActionExpand(e, treeNode);\n }\n onClick === null || onClick === void 0 ? void 0 : onClick(e, treeNode);\n };\n _this.onNodeDoubleClick = function (e, treeNode) {\n var _this$props4 = _this.props,\n onDoubleClick = _this$props4.onDoubleClick,\n expandAction = _this$props4.expandAction;\n if (expandAction === 'doubleClick') {\n _this.triggerExpandActionExpand(e, treeNode);\n }\n onDoubleClick === null || onDoubleClick === void 0 ? void 0 : onDoubleClick(e, treeNode);\n };\n _this.onNodeSelect = function (e, treeNode) {\n var selectedKeys = _this.state.selectedKeys;\n var _this$state6 = _this.state,\n keyEntities = _this$state6.keyEntities,\n fieldNames = _this$state6.fieldNames;\n var _this$props5 = _this.props,\n onSelect = _this$props5.onSelect,\n multiple = _this$props5.multiple;\n var selected = treeNode.selected;\n var key = treeNode[fieldNames.key];\n var targetSelected = !selected;\n // Update selected keys\n if (!targetSelected) {\n selectedKeys = arrDel(selectedKeys, key);\n } else if (!multiple) {\n selectedKeys = [key];\n } else {\n selectedKeys = arrAdd(selectedKeys, key);\n }\n // [Legacy] Not found related usage in doc or upper libs\n var selectedNodes = selectedKeys.map(function (selectedKey) {\n var entity = keyEntities[selectedKey];\n if (!entity) return null;\n return entity.node;\n }).filter(function (node) {\n return node;\n });\n _this.setUncontrolledState({\n selectedKeys: selectedKeys\n });\n onSelect === null || onSelect === void 0 ? void 0 : onSelect(selectedKeys, {\n event: 'select',\n selected: targetSelected,\n node: treeNode,\n selectedNodes: selectedNodes,\n nativeEvent: e.nativeEvent\n });\n };\n _this.onNodeCheck = function (e, treeNode, checked) {\n var _this$state7 = _this.state,\n keyEntities = _this$state7.keyEntities,\n oriCheckedKeys = _this$state7.checkedKeys,\n oriHalfCheckedKeys = _this$state7.halfCheckedKeys;\n var _this$props6 = _this.props,\n checkStrictly = _this$props6.checkStrictly,\n onCheck = _this$props6.onCheck;\n var key = treeNode.key;\n // Prepare trigger arguments\n var checkedObj;\n var eventObj = {\n event: 'check',\n node: treeNode,\n checked: checked,\n nativeEvent: e.nativeEvent\n };\n if (checkStrictly) {\n var checkedKeys = checked ? arrAdd(oriCheckedKeys, key) : arrDel(oriCheckedKeys, key);\n var halfCheckedKeys = arrDel(oriHalfCheckedKeys, key);\n checkedObj = {\n checked: checkedKeys,\n halfChecked: halfCheckedKeys\n };\n eventObj.checkedNodes = checkedKeys.map(function (checkedKey) {\n return keyEntities[checkedKey];\n }).filter(function (entity) {\n return entity;\n }).map(function (entity) {\n return entity.node;\n });\n _this.setUncontrolledState({\n checkedKeys: checkedKeys\n });\n } else {\n // Always fill first\n var _conductCheck = conductCheck([].concat(_toConsumableArray(oriCheckedKeys), [key]), true, keyEntities),\n _checkedKeys = _conductCheck.checkedKeys,\n _halfCheckedKeys = _conductCheck.halfCheckedKeys;\n // If remove, we do it again to correction\n if (!checked) {\n var keySet = new Set(_checkedKeys);\n keySet.delete(key);\n var _conductCheck2 = conductCheck(Array.from(keySet), {\n checked: false,\n halfCheckedKeys: _halfCheckedKeys\n }, keyEntities);\n _checkedKeys = _conductCheck2.checkedKeys;\n _halfCheckedKeys = _conductCheck2.halfCheckedKeys;\n }\n checkedObj = _checkedKeys;\n // [Legacy] This is used for `rc-tree-select`\n eventObj.checkedNodes = [];\n eventObj.checkedNodesPositions = [];\n eventObj.halfCheckedKeys = _halfCheckedKeys;\n _checkedKeys.forEach(function (checkedKey) {\n var entity = keyEntities[checkedKey];\n if (!entity) return;\n var node = entity.node,\n pos = entity.pos;\n eventObj.checkedNodes.push(node);\n eventObj.checkedNodesPositions.push({\n node: node,\n pos: pos\n });\n });\n _this.setUncontrolledState({\n checkedKeys: _checkedKeys\n }, false, {\n halfCheckedKeys: _halfCheckedKeys\n });\n }\n onCheck === null || onCheck === void 0 ? void 0 : onCheck(checkedObj, eventObj);\n };\n _this.onNodeLoad = function (treeNode) {\n var key = treeNode.key;\n var loadPromise = new Promise(function (resolve, reject) {\n // We need to get the latest state of loading/loaded keys\n _this.setState(function (_ref) {\n var _ref$loadedKeys = _ref.loadedKeys,\n loadedKeys = _ref$loadedKeys === void 0 ? [] : _ref$loadedKeys,\n _ref$loadingKeys = _ref.loadingKeys,\n loadingKeys = _ref$loadingKeys === void 0 ? [] : _ref$loadingKeys;\n var _this$props7 = _this.props,\n loadData = _this$props7.loadData,\n onLoad = _this$props7.onLoad;\n if (!loadData || loadedKeys.indexOf(key) !== -1 || loadingKeys.indexOf(key) !== -1) {\n return null;\n }\n // Process load data\n var promise = loadData(treeNode);\n promise.then(function () {\n var currentLoadedKeys = _this.state.loadedKeys;\n var newLoadedKeys = arrAdd(currentLoadedKeys, key);\n // onLoad should trigger before internal setState to avoid `loadData` trigger twice.\n // https://github.com/ant-design/ant-design/issues/12464\n onLoad === null || onLoad === void 0 ? void 0 : onLoad(newLoadedKeys, {\n event: 'load',\n node: treeNode\n });\n _this.setUncontrolledState({\n loadedKeys: newLoadedKeys\n });\n _this.setState(function (prevState) {\n return {\n loadingKeys: arrDel(prevState.loadingKeys, key)\n };\n });\n resolve();\n }).catch(function (e) {\n _this.setState(function (prevState) {\n return {\n loadingKeys: arrDel(prevState.loadingKeys, key)\n };\n });\n // If exceed max retry times, we give up retry\n _this.loadingRetryTimes[key] = (_this.loadingRetryTimes[key] || 0) + 1;\n if (_this.loadingRetryTimes[key] >= MAX_RETRY_TIMES) {\n var currentLoadedKeys = _this.state.loadedKeys;\n warning(false, 'Retry for `loadData` many times but still failed. No more retry.');\n _this.setUncontrolledState({\n loadedKeys: arrAdd(currentLoadedKeys, key)\n });\n resolve();\n }\n reject(e);\n });\n return {\n loadingKeys: arrAdd(loadingKeys, key)\n };\n });\n });\n // Not care warning if we ignore this\n loadPromise.catch(function () {});\n return loadPromise;\n };\n _this.onNodeMouseEnter = function (event, node) {\n var onMouseEnter = _this.props.onMouseEnter;\n onMouseEnter === null || onMouseEnter === void 0 ? void 0 : onMouseEnter({\n event: event,\n node: node\n });\n };\n _this.onNodeMouseLeave = function (event, node) {\n var onMouseLeave = _this.props.onMouseLeave;\n onMouseLeave === null || onMouseLeave === void 0 ? void 0 : onMouseLeave({\n event: event,\n node: node\n });\n };\n _this.onNodeContextMenu = function (event, node) {\n var onRightClick = _this.props.onRightClick;\n if (onRightClick) {\n event.preventDefault();\n onRightClick({\n event: event,\n node: node\n });\n }\n };\n _this.onFocus = function () {\n var onFocus = _this.props.onFocus;\n _this.setState({\n focused: true\n });\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n onFocus === null || onFocus === void 0 ? void 0 : onFocus.apply(void 0, args);\n };\n _this.onBlur = function () {\n var onBlur = _this.props.onBlur;\n _this.setState({\n focused: false\n });\n _this.onActiveChange(null);\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n onBlur === null || onBlur === void 0 ? void 0 : onBlur.apply(void 0, args);\n };\n _this.getTreeNodeRequiredProps = function () {\n var _this$state8 = _this.state,\n expandedKeys = _this$state8.expandedKeys,\n selectedKeys = _this$state8.selectedKeys,\n loadedKeys = _this$state8.loadedKeys,\n loadingKeys = _this$state8.loadingKeys,\n checkedKeys = _this$state8.checkedKeys,\n halfCheckedKeys = _this$state8.halfCheckedKeys,\n dragOverNodeKey = _this$state8.dragOverNodeKey,\n dropPosition = _this$state8.dropPosition,\n keyEntities = _this$state8.keyEntities;\n return {\n expandedKeys: expandedKeys || [],\n selectedKeys: selectedKeys || [],\n loadedKeys: loadedKeys || [],\n loadingKeys: loadingKeys || [],\n checkedKeys: checkedKeys || [],\n halfCheckedKeys: halfCheckedKeys || [],\n dragOverNodeKey: dragOverNodeKey,\n dropPosition: dropPosition,\n keyEntities: keyEntities\n };\n };\n _this.setExpandedKeys = function (expandedKeys) {\n var _this$state9 = _this.state,\n treeData = _this$state9.treeData,\n fieldNames = _this$state9.fieldNames;\n var flattenNodes = flattenTreeData(treeData, expandedKeys, fieldNames);\n _this.setUncontrolledState({\n expandedKeys: expandedKeys,\n flattenNodes: flattenNodes\n }, true);\n };\n _this.onNodeExpand = function (e, treeNode) {\n var expandedKeys = _this.state.expandedKeys;\n var _this$state10 = _this.state,\n listChanging = _this$state10.listChanging,\n fieldNames = _this$state10.fieldNames;\n var _this$props8 = _this.props,\n onExpand = _this$props8.onExpand,\n loadData = _this$props8.loadData;\n var expanded = treeNode.expanded;\n var key = treeNode[fieldNames.key];\n // Do nothing when motion is in progress\n if (listChanging) {\n return;\n }\n // Update selected keys\n var index = expandedKeys.indexOf(key);\n var targetExpanded = !expanded;\n warning(expanded && index !== -1 || !expanded && index === -1, 'Expand state not sync with index check');\n if (targetExpanded) {\n expandedKeys = arrAdd(expandedKeys, key);\n } else {\n expandedKeys = arrDel(expandedKeys, key);\n }\n _this.setExpandedKeys(expandedKeys);\n onExpand === null || onExpand === void 0 ? void 0 : onExpand(expandedKeys, {\n node: treeNode,\n expanded: targetExpanded,\n nativeEvent: e.nativeEvent\n });\n // Async Load data\n if (targetExpanded && loadData) {\n var loadPromise = _this.onNodeLoad(treeNode);\n if (loadPromise) {\n loadPromise.then(function () {\n // [Legacy] Refresh logic\n var newFlattenTreeData = flattenTreeData(_this.state.treeData, expandedKeys, fieldNames);\n _this.setUncontrolledState({\n flattenNodes: newFlattenTreeData\n });\n }).catch(function () {\n var currentExpandedKeys = _this.state.expandedKeys;\n var expandedKeysToRestore = arrDel(currentExpandedKeys, key);\n _this.setExpandedKeys(expandedKeysToRestore);\n });\n }\n }\n };\n _this.onListChangeStart = function () {\n _this.setUncontrolledState({\n listChanging: true\n });\n };\n _this.onListChangeEnd = function () {\n setTimeout(function () {\n _this.setUncontrolledState({\n listChanging: false\n });\n });\n };\n _this.onActiveChange = function (newActiveKey) {\n var activeKey = _this.state.activeKey;\n var onActiveChange = _this.props.onActiveChange;\n if (activeKey === newActiveKey) {\n return;\n }\n _this.setState({\n activeKey: newActiveKey\n });\n if (newActiveKey !== null) {\n _this.scrollTo({\n key: newActiveKey\n });\n }\n onActiveChange === null || onActiveChange === void 0 ? void 0 : onActiveChange(newActiveKey);\n };\n _this.getActiveItem = function () {\n var _this$state11 = _this.state,\n activeKey = _this$state11.activeKey,\n flattenNodes = _this$state11.flattenNodes;\n if (activeKey === null) {\n return null;\n }\n return flattenNodes.find(function (_ref2) {\n var key = _ref2.key;\n return key === activeKey;\n }) || null;\n };\n _this.offsetActiveKey = function (offset) {\n var _this$state12 = _this.state,\n flattenNodes = _this$state12.flattenNodes,\n activeKey = _this$state12.activeKey;\n var index = flattenNodes.findIndex(function (_ref3) {\n var key = _ref3.key;\n return key === activeKey;\n });\n // Align with index\n if (index === -1 && offset < 0) {\n index = flattenNodes.length;\n }\n index = (index + offset + flattenNodes.length) % flattenNodes.length;\n var item = flattenNodes[index];\n if (item) {\n var key = item.key;\n _this.onActiveChange(key);\n } else {\n _this.onActiveChange(null);\n }\n };\n _this.onKeyDown = function (event) {\n var _this$state13 = _this.state,\n activeKey = _this$state13.activeKey,\n expandedKeys = _this$state13.expandedKeys,\n checkedKeys = _this$state13.checkedKeys,\n fieldNames = _this$state13.fieldNames;\n var _this$props9 = _this.props,\n onKeyDown = _this$props9.onKeyDown,\n checkable = _this$props9.checkable,\n selectable = _this$props9.selectable;\n // >>>>>>>>>> Direction\n switch (event.which) {\n case KeyCode.UP:\n {\n _this.offsetActiveKey(-1);\n event.preventDefault();\n break;\n }\n case KeyCode.DOWN:\n {\n _this.offsetActiveKey(1);\n event.preventDefault();\n break;\n }\n }\n // >>>>>>>>>> Expand & Selection\n var activeItem = _this.getActiveItem();\n if (activeItem && activeItem.data) {\n var treeNodeRequiredProps = _this.getTreeNodeRequiredProps();\n var expandable = activeItem.data.isLeaf === false || !!(activeItem.data[fieldNames.children] || []).length;\n var eventNode = convertNodePropsToEventData(_objectSpread(_objectSpread({}, getTreeNodeProps(activeKey, treeNodeRequiredProps)), {}, {\n data: activeItem.data,\n active: true\n }));\n switch (event.which) {\n // >>> Expand\n case KeyCode.LEFT:\n {\n // Collapse if possible\n if (expandable && expandedKeys.includes(activeKey)) {\n _this.onNodeExpand({}, eventNode);\n } else if (activeItem.parent) {\n _this.onActiveChange(activeItem.parent.key);\n }\n event.preventDefault();\n break;\n }\n case KeyCode.RIGHT:\n {\n // Expand if possible\n if (expandable && !expandedKeys.includes(activeKey)) {\n _this.onNodeExpand({}, eventNode);\n } else if (activeItem.children && activeItem.children.length) {\n _this.onActiveChange(activeItem.children[0].key);\n }\n event.preventDefault();\n break;\n }\n // Selection\n case KeyCode.ENTER:\n case KeyCode.SPACE:\n {\n if (checkable && !eventNode.disabled && eventNode.checkable !== false && !eventNode.disableCheckbox) {\n _this.onNodeCheck({}, eventNode, !checkedKeys.includes(activeKey));\n } else if (!checkable && selectable && !eventNode.disabled && eventNode.selectable !== false) {\n _this.onNodeSelect({}, eventNode);\n }\n break;\n }\n }\n }\n onKeyDown === null || onKeyDown === void 0 ? void 0 : onKeyDown(event);\n };\n _this.setUncontrolledState = function (state) {\n var atomic = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var forceState = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n if (!_this.destroyed) {\n var needSync = false;\n var allPassed = true;\n var newState = {};\n Object.keys(state).forEach(function (name) {\n if (name in _this.props) {\n allPassed = false;\n return;\n }\n needSync = true;\n newState[name] = state[name];\n });\n if (needSync && (!atomic || allPassed)) {\n _this.setState(_objectSpread(_objectSpread({}, newState), forceState));\n }\n }\n };\n _this.scrollTo = function (scroll) {\n _this.listRef.current.scrollTo(scroll);\n };\n return _this;\n }\n _createClass(Tree, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.destroyed = false;\n this.onUpdated();\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate() {\n this.onUpdated();\n }\n }, {\n key: \"onUpdated\",\n value: function onUpdated() {\n var activeKey = this.props.activeKey;\n if (activeKey !== undefined && activeKey !== this.state.activeKey) {\n this.setState({\n activeKey: activeKey\n });\n if (activeKey !== null) {\n this.scrollTo({\n key: activeKey\n });\n }\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n window.removeEventListener('dragend', this.onWindowDragEnd);\n this.destroyed = true;\n }\n }, {\n key: \"resetDragState\",\n value: function resetDragState() {\n this.setState({\n dragOverNodeKey: null,\n dropPosition: null,\n dropLevelOffset: null,\n dropTargetKey: null,\n dropContainerKey: null,\n dropTargetPos: null,\n dropAllowed: false\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n var _classNames;\n var _this$state14 = this.state,\n focused = _this$state14.focused,\n flattenNodes = _this$state14.flattenNodes,\n keyEntities = _this$state14.keyEntities,\n draggingNodeKey = _this$state14.draggingNodeKey,\n activeKey = _this$state14.activeKey,\n dropLevelOffset = _this$state14.dropLevelOffset,\n dropContainerKey = _this$state14.dropContainerKey,\n dropTargetKey = _this$state14.dropTargetKey,\n dropPosition = _this$state14.dropPosition,\n dragOverNodeKey = _this$state14.dragOverNodeKey,\n indent = _this$state14.indent;\n var _this$props10 = this.props,\n prefixCls = _this$props10.prefixCls,\n className = _this$props10.className,\n style = _this$props10.style,\n showLine = _this$props10.showLine,\n focusable = _this$props10.focusable,\n _this$props10$tabInde = _this$props10.tabIndex,\n tabIndex = _this$props10$tabInde === void 0 ? 0 : _this$props10$tabInde,\n selectable = _this$props10.selectable,\n showIcon = _this$props10.showIcon,\n icon = _this$props10.icon,\n switcherIcon = _this$props10.switcherIcon,\n draggable = _this$props10.draggable,\n checkable = _this$props10.checkable,\n checkStrictly = _this$props10.checkStrictly,\n disabled = _this$props10.disabled,\n motion = _this$props10.motion,\n loadData = _this$props10.loadData,\n filterTreeNode = _this$props10.filterTreeNode,\n height = _this$props10.height,\n itemHeight = _this$props10.itemHeight,\n virtual = _this$props10.virtual,\n titleRender = _this$props10.titleRender,\n dropIndicatorRender = _this$props10.dropIndicatorRender,\n onContextMenu = _this$props10.onContextMenu,\n onScroll = _this$props10.onScroll,\n direction = _this$props10.direction,\n rootClassName = _this$props10.rootClassName,\n rootStyle = _this$props10.rootStyle;\n var domProps = pickAttrs(this.props, {\n aria: true,\n data: true\n });\n // It's better move to hooks but we just simply keep here\n var draggableConfig;\n if (draggable) {\n if (_typeof(draggable) === 'object') {\n draggableConfig = draggable;\n } else if (typeof draggable === 'function') {\n draggableConfig = {\n nodeDraggable: draggable\n };\n } else {\n draggableConfig = {};\n }\n }\n return /*#__PURE__*/React.createElement(TreeContext.Provider, {\n value: {\n prefixCls: prefixCls,\n selectable: selectable,\n showIcon: showIcon,\n icon: icon,\n switcherIcon: switcherIcon,\n draggable: draggableConfig,\n draggingNodeKey: draggingNodeKey,\n checkable: checkable,\n checkStrictly: checkStrictly,\n disabled: disabled,\n keyEntities: keyEntities,\n dropLevelOffset: dropLevelOffset,\n dropContainerKey: dropContainerKey,\n dropTargetKey: dropTargetKey,\n dropPosition: dropPosition,\n dragOverNodeKey: dragOverNodeKey,\n indent: indent,\n direction: direction,\n dropIndicatorRender: dropIndicatorRender,\n loadData: loadData,\n filterTreeNode: filterTreeNode,\n titleRender: titleRender,\n onNodeClick: this.onNodeClick,\n onNodeDoubleClick: this.onNodeDoubleClick,\n onNodeExpand: this.onNodeExpand,\n onNodeSelect: this.onNodeSelect,\n onNodeCheck: this.onNodeCheck,\n onNodeLoad: this.onNodeLoad,\n onNodeMouseEnter: this.onNodeMouseEnter,\n onNodeMouseLeave: this.onNodeMouseLeave,\n onNodeContextMenu: this.onNodeContextMenu,\n onNodeDragStart: this.onNodeDragStart,\n onNodeDragEnter: this.onNodeDragEnter,\n onNodeDragOver: this.onNodeDragOver,\n onNodeDragLeave: this.onNodeDragLeave,\n onNodeDragEnd: this.onNodeDragEnd,\n onNodeDrop: this.onNodeDrop\n }\n }, /*#__PURE__*/React.createElement(\"div\", {\n role: \"tree\",\n className: classNames(prefixCls, className, rootClassName, (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-show-line\"), showLine), _defineProperty(_classNames, \"\".concat(prefixCls, \"-focused\"), focused), _defineProperty(_classNames, \"\".concat(prefixCls, \"-active-focused\"), activeKey !== null), _classNames)),\n style: rootStyle\n }, /*#__PURE__*/React.createElement(NodeList, _extends({\n ref: this.listRef,\n prefixCls: prefixCls,\n style: style,\n data: flattenNodes,\n disabled: disabled,\n selectable: selectable,\n checkable: !!checkable,\n motion: motion,\n dragging: draggingNodeKey !== null,\n height: height,\n itemHeight: itemHeight,\n virtual: virtual,\n focusable: focusable,\n focused: focused,\n tabIndex: tabIndex,\n activeItem: this.getActiveItem(),\n onFocus: this.onFocus,\n onBlur: this.onBlur,\n onKeyDown: this.onKeyDown,\n onActiveChange: this.onActiveChange,\n onListChangeStart: this.onListChangeStart,\n onListChangeEnd: this.onListChangeEnd,\n onContextMenu: onContextMenu,\n onScroll: onScroll\n }, this.getTreeNodeRequiredProps(), domProps))));\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(props, prevState) {\n var prevProps = prevState.prevProps;\n var newState = {\n prevProps: props\n };\n function needSync(name) {\n return !prevProps && name in props || prevProps && prevProps[name] !== props[name];\n }\n // ================== Tree Node ==================\n var treeData;\n // fieldNames\n var fieldNames = prevState.fieldNames;\n if (needSync('fieldNames')) {\n fieldNames = fillFieldNames(props.fieldNames);\n newState.fieldNames = fieldNames;\n }\n // Check if `treeData` or `children` changed and save into the state.\n if (needSync('treeData')) {\n treeData = props.treeData;\n } else if (needSync('children')) {\n warning(false, '`children` of Tree is deprecated. Please use `treeData` instead.');\n treeData = convertTreeToData(props.children);\n }\n // Save flatten nodes info and convert `treeData` into keyEntities\n if (treeData) {\n newState.treeData = treeData;\n var entitiesMap = convertDataToEntities(treeData, {\n fieldNames: fieldNames\n });\n newState.keyEntities = _objectSpread(_defineProperty({}, MOTION_KEY, MotionEntity), entitiesMap.keyEntities);\n // Warning if treeNode not provide key\n if (process.env.NODE_ENV !== 'production') {\n warningWithoutKey(treeData, fieldNames);\n }\n }\n var keyEntities = newState.keyEntities || prevState.keyEntities;\n // ================ expandedKeys =================\n if (needSync('expandedKeys') || prevProps && needSync('autoExpandParent')) {\n newState.expandedKeys = props.autoExpandParent || !prevProps && props.defaultExpandParent ? conductExpandParent(props.expandedKeys, keyEntities) : props.expandedKeys;\n } else if (!prevProps && props.defaultExpandAll) {\n var cloneKeyEntities = _objectSpread({}, keyEntities);\n delete cloneKeyEntities[MOTION_KEY];\n newState.expandedKeys = Object.keys(cloneKeyEntities).map(function (key) {\n return cloneKeyEntities[key].key;\n });\n } else if (!prevProps && props.defaultExpandedKeys) {\n newState.expandedKeys = props.autoExpandParent || props.defaultExpandParent ? conductExpandParent(props.defaultExpandedKeys, keyEntities) : props.defaultExpandedKeys;\n }\n if (!newState.expandedKeys) {\n delete newState.expandedKeys;\n }\n // ================ flattenNodes =================\n if (treeData || newState.expandedKeys) {\n var flattenNodes = flattenTreeData(treeData || prevState.treeData, newState.expandedKeys || prevState.expandedKeys, fieldNames);\n newState.flattenNodes = flattenNodes;\n }\n // ================ selectedKeys =================\n if (props.selectable) {\n if (needSync('selectedKeys')) {\n newState.selectedKeys = calcSelectedKeys(props.selectedKeys, props);\n } else if (!prevProps && props.defaultSelectedKeys) {\n newState.selectedKeys = calcSelectedKeys(props.defaultSelectedKeys, props);\n }\n }\n // ================= checkedKeys =================\n if (props.checkable) {\n var checkedKeyEntity;\n if (needSync('checkedKeys')) {\n checkedKeyEntity = parseCheckedKeys(props.checkedKeys) || {};\n } else if (!prevProps && props.defaultCheckedKeys) {\n checkedKeyEntity = parseCheckedKeys(props.defaultCheckedKeys) || {};\n } else if (treeData) {\n // If `treeData` changed, we also need check it\n checkedKeyEntity = parseCheckedKeys(props.checkedKeys) || {\n checkedKeys: prevState.checkedKeys,\n halfCheckedKeys: prevState.halfCheckedKeys\n };\n }\n if (checkedKeyEntity) {\n var _checkedKeyEntity = checkedKeyEntity,\n _checkedKeyEntity$che = _checkedKeyEntity.checkedKeys,\n checkedKeys = _checkedKeyEntity$che === void 0 ? [] : _checkedKeyEntity$che,\n _checkedKeyEntity$hal = _checkedKeyEntity.halfCheckedKeys,\n halfCheckedKeys = _checkedKeyEntity$hal === void 0 ? [] : _checkedKeyEntity$hal;\n if (!props.checkStrictly) {\n var conductKeys = conductCheck(checkedKeys, true, keyEntities);\n checkedKeys = conductKeys.checkedKeys;\n halfCheckedKeys = conductKeys.halfCheckedKeys;\n }\n newState.checkedKeys = checkedKeys;\n newState.halfCheckedKeys = halfCheckedKeys;\n }\n }\n // ================= loadedKeys ==================\n if (needSync('loadedKeys')) {\n newState.loadedKeys = props.loadedKeys;\n }\n return newState;\n }\n }]);\n return Tree;\n}(React.Component);\nTree.defaultProps = {\n prefixCls: 'rc-tree',\n showLine: false,\n showIcon: true,\n selectable: true,\n multiple: false,\n checkable: false,\n disabled: false,\n checkStrictly: false,\n draggable: false,\n defaultExpandParent: true,\n autoExpandParent: false,\n defaultExpandAll: false,\n defaultExpandedKeys: [],\n defaultCheckedKeys: [],\n defaultSelectedKeys: [],\n dropIndicatorRender: DropIndicator,\n allowDrop: function allowDrop() {\n return true;\n },\n expandAction: false\n};\nTree.TreeNode = TreeNode;\nexport default Tree;","import * as React from 'react';\nexport default function DropIndicator(_ref) {\n var dropPosition = _ref.dropPosition,\n dropLevelOffset = _ref.dropLevelOffset,\n indent = _ref.indent;\n var style = {\n pointerEvents: 'none',\n position: 'absolute',\n right: 0,\n backgroundColor: 'red',\n height: 2\n };\n switch (dropPosition) {\n case -1:\n style.top = 0;\n style.left = -dropLevelOffset * indent;\n break;\n case 1:\n style.bottom = 0;\n style.left = -dropLevelOffset * indent;\n break;\n case 0:\n style.bottom = 0;\n style.left = indent;\n break;\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n style: style\n });\n}","import Tree from './Tree';\nimport TreeNode from './TreeNode';\nexport { TreeNode };\nexport default Tree;","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"children\"];\n/* eslint-disable no-lonely-if */\n/**\n * Legacy code. Should avoid to use if you are new to import these code.\n */\nimport React from 'react';\nimport warning from \"rc-util/es/warning\";\nimport TreeNode from './TreeNode';\nexport function arrDel(list, value) {\n if (!list) return [];\n var clone = list.slice();\n var index = clone.indexOf(value);\n if (index >= 0) {\n clone.splice(index, 1);\n }\n return clone;\n}\nexport function arrAdd(list, value) {\n var clone = (list || []).slice();\n if (clone.indexOf(value) === -1) {\n clone.push(value);\n }\n return clone;\n}\nexport function posToArr(pos) {\n return pos.split('-');\n}\nexport function getPosition(level, index) {\n return \"\".concat(level, \"-\").concat(index);\n}\nexport function isTreeNode(node) {\n return node && node.type && node.type.isTreeNode;\n}\nexport function getDragChildrenKeys(dragNodeKey, keyEntities) {\n // not contains self\n // self for left or right drag\n var dragChildrenKeys = [];\n var entity = keyEntities[dragNodeKey];\n function dig() {\n var list = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n list.forEach(function (_ref) {\n var key = _ref.key,\n children = _ref.children;\n dragChildrenKeys.push(key);\n dig(children);\n });\n }\n dig(entity.children);\n return dragChildrenKeys;\n}\nexport function isLastChild(treeNodeEntity) {\n if (treeNodeEntity.parent) {\n var posArr = posToArr(treeNodeEntity.pos);\n return Number(posArr[posArr.length - 1]) === treeNodeEntity.parent.children.length - 1;\n }\n return false;\n}\nexport function isFirstChild(treeNodeEntity) {\n var posArr = posToArr(treeNodeEntity.pos);\n return Number(posArr[posArr.length - 1]) === 0;\n}\n// Only used when drag, not affect SSR.\nexport function calcDropPosition(event, dragNode, targetNode, indent, startMousePosition, allowDrop, flattenedNodes, keyEntities, expandKeys, direction) {\n var _abstractDropNodeEnti;\n var clientX = event.clientX,\n clientY = event.clientY;\n var _event$target$getBoun = event.target.getBoundingClientRect(),\n top = _event$target$getBoun.top,\n height = _event$target$getBoun.height;\n // optional chain for testing\n var horizontalMouseOffset = (direction === 'rtl' ? -1 : 1) * (((startMousePosition === null || startMousePosition === void 0 ? void 0 : startMousePosition.x) || 0) - clientX);\n var rawDropLevelOffset = (horizontalMouseOffset - 12) / indent;\n // find abstract drop node by horizontal offset\n var abstractDropNodeEntity = keyEntities[targetNode.props.eventKey];\n if (clientY < top + height / 2) {\n // first half, set abstract drop node to previous node\n var nodeIndex = flattenedNodes.findIndex(function (flattenedNode) {\n return flattenedNode.key === abstractDropNodeEntity.key;\n });\n var prevNodeIndex = nodeIndex <= 0 ? 0 : nodeIndex - 1;\n var prevNodeKey = flattenedNodes[prevNodeIndex].key;\n abstractDropNodeEntity = keyEntities[prevNodeKey];\n }\n var initialAbstractDropNodeKey = abstractDropNodeEntity.key;\n var abstractDragOverEntity = abstractDropNodeEntity;\n var dragOverNodeKey = abstractDropNodeEntity.key;\n var dropPosition = 0;\n var dropLevelOffset = 0;\n // Only allow cross level drop when dragging on a non-expanded node\n if (!expandKeys.includes(initialAbstractDropNodeKey)) {\n for (var i = 0; i < rawDropLevelOffset; i += 1) {\n if (isLastChild(abstractDropNodeEntity)) {\n abstractDropNodeEntity = abstractDropNodeEntity.parent;\n dropLevelOffset += 1;\n } else {\n break;\n }\n }\n }\n var abstractDragDataNode = dragNode.props.data;\n var abstractDropDataNode = abstractDropNodeEntity.node;\n var dropAllowed = true;\n if (isFirstChild(abstractDropNodeEntity) && abstractDropNodeEntity.level === 0 && clientY < top + height / 2 && allowDrop({\n dragNode: abstractDragDataNode,\n dropNode: abstractDropDataNode,\n dropPosition: -1\n }) && abstractDropNodeEntity.key === targetNode.props.eventKey) {\n // first half of first node in first level\n dropPosition = -1;\n } else if ((abstractDragOverEntity.children || []).length && expandKeys.includes(dragOverNodeKey)) {\n // drop on expanded node\n // only allow drop inside\n if (allowDrop({\n dragNode: abstractDragDataNode,\n dropNode: abstractDropDataNode,\n dropPosition: 0\n })) {\n dropPosition = 0;\n } else {\n dropAllowed = false;\n }\n } else if (dropLevelOffset === 0) {\n if (rawDropLevelOffset > -1.5) {\n // | Node | <- abstractDropNode\n // | -^-===== | <- mousePosition\n // 1. try drop after\n // 2. do not allow drop\n if (allowDrop({\n dragNode: abstractDragDataNode,\n dropNode: abstractDropDataNode,\n dropPosition: 1\n })) {\n dropPosition = 1;\n } else {\n dropAllowed = false;\n }\n } else {\n // | Node | <- abstractDropNode\n // | ---==^== | <- mousePosition\n // whether it has children or doesn't has children\n // always\n // 1. try drop inside\n // 2. try drop after\n // 3. do not allow drop\n if (allowDrop({\n dragNode: abstractDragDataNode,\n dropNode: abstractDropDataNode,\n dropPosition: 0\n })) {\n dropPosition = 0;\n } else if (allowDrop({\n dragNode: abstractDragDataNode,\n dropNode: abstractDropDataNode,\n dropPosition: 1\n })) {\n dropPosition = 1;\n } else {\n dropAllowed = false;\n }\n }\n } else {\n // | Node1 | <- abstractDropNode\n // | Node2 |\n // --^--|----=====| <- mousePosition\n // 1. try insert after Node1\n // 2. do not allow drop\n if (allowDrop({\n dragNode: abstractDragDataNode,\n dropNode: abstractDropDataNode,\n dropPosition: 1\n })) {\n dropPosition = 1;\n } else {\n dropAllowed = false;\n }\n }\n return {\n dropPosition: dropPosition,\n dropLevelOffset: dropLevelOffset,\n dropTargetKey: abstractDropNodeEntity.key,\n dropTargetPos: abstractDropNodeEntity.pos,\n dragOverNodeKey: dragOverNodeKey,\n dropContainerKey: dropPosition === 0 ? null : ((_abstractDropNodeEnti = abstractDropNodeEntity.parent) === null || _abstractDropNodeEnti === void 0 ? void 0 : _abstractDropNodeEnti.key) || null,\n dropAllowed: dropAllowed\n };\n}\n/**\n * Return selectedKeys according with multiple prop\n * @param selectedKeys\n * @param props\n * @returns [string]\n */\nexport function calcSelectedKeys(selectedKeys, props) {\n if (!selectedKeys) return undefined;\n var multiple = props.multiple;\n if (multiple) {\n return selectedKeys.slice();\n }\n if (selectedKeys.length) {\n return [selectedKeys[0]];\n }\n return selectedKeys;\n}\nvar internalProcessProps = function internalProcessProps(props) {\n return props;\n};\nexport function convertDataToTree(treeData, processor) {\n if (!treeData) return [];\n var _ref2 = processor || {},\n _ref2$processProps = _ref2.processProps,\n processProps = _ref2$processProps === void 0 ? internalProcessProps : _ref2$processProps;\n var list = Array.isArray(treeData) ? treeData : [treeData];\n return list.map(function (_ref3) {\n var children = _ref3.children,\n props = _objectWithoutProperties(_ref3, _excluded);\n var childrenNodes = convertDataToTree(children, processor);\n return /*#__PURE__*/React.createElement(TreeNode, _extends({\n key: props.key\n }, processProps(props)), childrenNodes);\n });\n}\n/**\n * Parse `checkedKeys` to { checkedKeys, halfCheckedKeys } style\n */\nexport function parseCheckedKeys(keys) {\n if (!keys) {\n return null;\n }\n // Convert keys to object format\n var keyProps;\n if (Array.isArray(keys)) {\n // [Legacy] Follow the api doc\n keyProps = {\n checkedKeys: keys,\n halfCheckedKeys: undefined\n };\n } else if (_typeof(keys) === 'object') {\n keyProps = {\n checkedKeys: keys.checked || undefined,\n halfCheckedKeys: keys.halfChecked || undefined\n };\n } else {\n warning(false, '`checkedKeys` is not an array or an object');\n return null;\n }\n return keyProps;\n}\n/**\n * If user use `autoExpandParent` we should get the list of parent node\n * @param keyList\n * @param keyEntities\n */\nexport function conductExpandParent(keyList, keyEntities) {\n var expandedKeys = new Set();\n function conductUp(key) {\n if (expandedKeys.has(key)) return;\n var entity = keyEntities[key];\n if (!entity) return;\n expandedKeys.add(key);\n var parent = entity.parent,\n node = entity.node;\n if (node.disabled) return;\n if (parent) {\n conductUp(parent.key);\n }\n }\n (keyList || []).forEach(function (key) {\n conductUp(key);\n });\n return _toConsumableArray(expandedKeys);\n}","import warning from \"rc-util/es/warning\";\nfunction removeFromCheckedKeys(halfCheckedKeys, checkedKeys) {\n var filteredKeys = new Set();\n halfCheckedKeys.forEach(function (key) {\n if (!checkedKeys.has(key)) {\n filteredKeys.add(key);\n }\n });\n return filteredKeys;\n}\nexport function isCheckDisabled(node) {\n var _ref = node || {},\n disabled = _ref.disabled,\n disableCheckbox = _ref.disableCheckbox,\n checkable = _ref.checkable;\n return !!(disabled || disableCheckbox) || checkable === false;\n}\n// Fill miss keys\nfunction fillConductCheck(keys, levelEntities, maxLevel, syntheticGetCheckDisabled) {\n var checkedKeys = new Set(keys);\n var halfCheckedKeys = new Set();\n // Add checked keys top to bottom\n for (var level = 0; level <= maxLevel; level += 1) {\n var entities = levelEntities.get(level) || new Set();\n entities.forEach(function (entity) {\n var key = entity.key,\n node = entity.node,\n _entity$children = entity.children,\n children = _entity$children === void 0 ? [] : _entity$children;\n if (checkedKeys.has(key) && !syntheticGetCheckDisabled(node)) {\n children.filter(function (childEntity) {\n return !syntheticGetCheckDisabled(childEntity.node);\n }).forEach(function (childEntity) {\n checkedKeys.add(childEntity.key);\n });\n }\n });\n }\n // Add checked keys from bottom to top\n var visitedKeys = new Set();\n for (var _level = maxLevel; _level >= 0; _level -= 1) {\n var _entities = levelEntities.get(_level) || new Set();\n _entities.forEach(function (entity) {\n var parent = entity.parent,\n node = entity.node;\n // Skip if no need to check\n if (syntheticGetCheckDisabled(node) || !entity.parent || visitedKeys.has(entity.parent.key)) {\n return;\n }\n // Skip if parent is disabled\n if (syntheticGetCheckDisabled(entity.parent.node)) {\n visitedKeys.add(parent.key);\n return;\n }\n var allChecked = true;\n var partialChecked = false;\n (parent.children || []).filter(function (childEntity) {\n return !syntheticGetCheckDisabled(childEntity.node);\n }).forEach(function (_ref2) {\n var key = _ref2.key;\n var checked = checkedKeys.has(key);\n if (allChecked && !checked) {\n allChecked = false;\n }\n if (!partialChecked && (checked || halfCheckedKeys.has(key))) {\n partialChecked = true;\n }\n });\n if (allChecked) {\n checkedKeys.add(parent.key);\n }\n if (partialChecked) {\n halfCheckedKeys.add(parent.key);\n }\n visitedKeys.add(parent.key);\n });\n }\n return {\n checkedKeys: Array.from(checkedKeys),\n halfCheckedKeys: Array.from(removeFromCheckedKeys(halfCheckedKeys, checkedKeys))\n };\n}\n// Remove useless key\nfunction cleanConductCheck(keys, halfKeys, levelEntities, maxLevel, syntheticGetCheckDisabled) {\n var checkedKeys = new Set(keys);\n var halfCheckedKeys = new Set(halfKeys);\n // Remove checked keys from top to bottom\n for (var level = 0; level <= maxLevel; level += 1) {\n var entities = levelEntities.get(level) || new Set();\n entities.forEach(function (entity) {\n var key = entity.key,\n node = entity.node,\n _entity$children2 = entity.children,\n children = _entity$children2 === void 0 ? [] : _entity$children2;\n if (!checkedKeys.has(key) && !halfCheckedKeys.has(key) && !syntheticGetCheckDisabled(node)) {\n children.filter(function (childEntity) {\n return !syntheticGetCheckDisabled(childEntity.node);\n }).forEach(function (childEntity) {\n checkedKeys.delete(childEntity.key);\n });\n }\n });\n }\n // Remove checked keys form bottom to top\n halfCheckedKeys = new Set();\n var visitedKeys = new Set();\n for (var _level2 = maxLevel; _level2 >= 0; _level2 -= 1) {\n var _entities2 = levelEntities.get(_level2) || new Set();\n _entities2.forEach(function (entity) {\n var parent = entity.parent,\n node = entity.node;\n // Skip if no need to check\n if (syntheticGetCheckDisabled(node) || !entity.parent || visitedKeys.has(entity.parent.key)) {\n return;\n }\n // Skip if parent is disabled\n if (syntheticGetCheckDisabled(entity.parent.node)) {\n visitedKeys.add(parent.key);\n return;\n }\n var allChecked = true;\n var partialChecked = false;\n (parent.children || []).filter(function (childEntity) {\n return !syntheticGetCheckDisabled(childEntity.node);\n }).forEach(function (_ref3) {\n var key = _ref3.key;\n var checked = checkedKeys.has(key);\n if (allChecked && !checked) {\n allChecked = false;\n }\n if (!partialChecked && (checked || halfCheckedKeys.has(key))) {\n partialChecked = true;\n }\n });\n if (!allChecked) {\n checkedKeys.delete(parent.key);\n }\n if (partialChecked) {\n halfCheckedKeys.add(parent.key);\n }\n visitedKeys.add(parent.key);\n });\n }\n return {\n checkedKeys: Array.from(checkedKeys),\n halfCheckedKeys: Array.from(removeFromCheckedKeys(halfCheckedKeys, checkedKeys))\n };\n}\n/**\n * Conduct with keys.\n * @param keyList current key list\n * @param keyEntities key - dataEntity map\n * @param mode `fill` to fill missing key, `clean` to remove useless key\n */\nexport function conductCheck(keyList, checked, keyEntities, getCheckDisabled) {\n var warningMissKeys = [];\n var syntheticGetCheckDisabled;\n if (getCheckDisabled) {\n syntheticGetCheckDisabled = getCheckDisabled;\n } else {\n syntheticGetCheckDisabled = isCheckDisabled;\n }\n // We only handle exist keys\n var keys = new Set(keyList.filter(function (key) {\n var hasEntity = !!keyEntities[key];\n if (!hasEntity) {\n warningMissKeys.push(key);\n }\n return hasEntity;\n }));\n var levelEntities = new Map();\n var maxLevel = 0;\n // Convert entities by level for calculation\n Object.keys(keyEntities).forEach(function (key) {\n var entity = keyEntities[key];\n var level = entity.level;\n var levelSet = levelEntities.get(level);\n if (!levelSet) {\n levelSet = new Set();\n levelEntities.set(level, levelSet);\n }\n levelSet.add(entity);\n maxLevel = Math.max(maxLevel, level);\n });\n warning(!warningMissKeys.length, \"Tree missing follow keys: \".concat(warningMissKeys.slice(0, 100).map(function (key) {\n return \"'\".concat(key, \"'\");\n }).join(', ')));\n var result;\n if (checked === true) {\n result = fillConductCheck(keys, levelEntities, maxLevel, syntheticGetCheckDisabled);\n } else {\n result = cleanConductCheck(keys, checked.halfCheckedKeys, levelEntities, maxLevel, syntheticGetCheckDisabled);\n }\n return result;\n}","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"children\"];\nimport omit from \"rc-util/es/omit\";\nimport toArray from \"rc-util/es/Children/toArray\";\nimport warning from \"rc-util/es/warning\";\nimport { getPosition, isTreeNode } from '../util';\nexport function getKey(key, pos) {\n if (key !== null && key !== undefined) {\n return key;\n }\n return pos;\n}\nexport function fillFieldNames(fieldNames) {\n var _ref = fieldNames || {},\n title = _ref.title,\n _title = _ref._title,\n key = _ref.key,\n children = _ref.children;\n var mergedTitle = title || 'title';\n return {\n title: mergedTitle,\n _title: _title || [mergedTitle],\n key: key || 'key',\n children: children || 'children'\n };\n}\n/**\n * Warning if TreeNode do not provides key\n */\nexport function warningWithoutKey(treeData, fieldNames) {\n var keys = new Map();\n function dig(list) {\n var path = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n (list || []).forEach(function (treeNode) {\n var key = treeNode[fieldNames.key];\n var children = treeNode[fieldNames.children];\n warning(key !== null && key !== undefined, \"Tree node must have a certain key: [\".concat(path).concat(key, \"]\"));\n var recordKey = String(key);\n warning(!keys.has(recordKey) || key === null || key === undefined, \"Same 'key' exist in the Tree: \".concat(recordKey));\n keys.set(recordKey, true);\n dig(children, \"\".concat(path).concat(recordKey, \" > \"));\n });\n }\n dig(treeData);\n}\n/**\n * Convert `children` of Tree into `treeData` structure.\n */\nexport function convertTreeToData(rootNodes) {\n function dig(node) {\n var treeNodes = toArray(node);\n return treeNodes.map(function (treeNode) {\n // Filter invalidate node\n if (!isTreeNode(treeNode)) {\n warning(!treeNode, 'Tree/TreeNode can only accept TreeNode as children.');\n return null;\n }\n var key = treeNode.key;\n var _treeNode$props = treeNode.props,\n children = _treeNode$props.children,\n rest = _objectWithoutProperties(_treeNode$props, _excluded);\n var dataNode = _objectSpread({\n key: key\n }, rest);\n var parsedChildren = dig(children);\n if (parsedChildren.length) {\n dataNode.children = parsedChildren;\n }\n return dataNode;\n }).filter(function (dataNode) {\n return dataNode;\n });\n }\n return dig(rootNodes);\n}\n/**\n * Flat nest tree data into flatten list. This is used for virtual list render.\n * @param treeNodeList Origin data node list\n * @param expandedKeys\n * need expanded keys, provides `true` means all expanded (used in `rc-tree-select`).\n */\nexport function flattenTreeData(treeNodeList, expandedKeys, fieldNames) {\n var _fillFieldNames = fillFieldNames(fieldNames),\n fieldTitles = _fillFieldNames._title,\n fieldKey = _fillFieldNames.key,\n fieldChildren = _fillFieldNames.children;\n var expandedKeySet = new Set(expandedKeys === true ? [] : expandedKeys);\n var flattenList = [];\n function dig(list) {\n var parent = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n return list.map(function (treeNode, index) {\n var pos = getPosition(parent ? parent.pos : '0', index);\n var mergedKey = getKey(treeNode[fieldKey], pos);\n // Pick matched title in field title list\n var mergedTitle;\n for (var i = 0; i < fieldTitles.length; i += 1) {\n var fieldTitle = fieldTitles[i];\n if (treeNode[fieldTitle] !== undefined) {\n mergedTitle = treeNode[fieldTitle];\n break;\n }\n }\n // Add FlattenDataNode into list\n var flattenNode = _objectSpread(_objectSpread({}, omit(treeNode, [].concat(_toConsumableArray(fieldTitles), [fieldKey, fieldChildren]))), {}, {\n title: mergedTitle,\n key: mergedKey,\n parent: parent,\n pos: pos,\n children: null,\n data: treeNode,\n isStart: [].concat(_toConsumableArray(parent ? parent.isStart : []), [index === 0]),\n isEnd: [].concat(_toConsumableArray(parent ? parent.isEnd : []), [index === list.length - 1])\n });\n flattenList.push(flattenNode);\n // Loop treeNode children\n if (expandedKeys === true || expandedKeySet.has(mergedKey)) {\n flattenNode.children = dig(treeNode[fieldChildren] || [], flattenNode);\n } else {\n flattenNode.children = [];\n }\n return flattenNode;\n });\n }\n dig(treeNodeList);\n return flattenList;\n}\n/**\n * Traverse all the data by `treeData`.\n * Please not use it out of the `rc-tree` since we may refactor this code.\n */\nexport function traverseDataNodes(dataNodes, callback,\n// To avoid too many params, let use config instead of origin param\nconfig) {\n var mergedConfig = {};\n if (_typeof(config) === 'object') {\n mergedConfig = config;\n } else {\n mergedConfig = {\n externalGetKey: config\n };\n }\n mergedConfig = mergedConfig || {};\n // Init config\n var _mergedConfig = mergedConfig,\n childrenPropName = _mergedConfig.childrenPropName,\n externalGetKey = _mergedConfig.externalGetKey,\n fieldNames = _mergedConfig.fieldNames;\n var _fillFieldNames2 = fillFieldNames(fieldNames),\n fieldKey = _fillFieldNames2.key,\n fieldChildren = _fillFieldNames2.children;\n var mergeChildrenPropName = childrenPropName || fieldChildren;\n // Get keys\n var syntheticGetKey;\n if (externalGetKey) {\n if (typeof externalGetKey === 'string') {\n syntheticGetKey = function syntheticGetKey(node) {\n return node[externalGetKey];\n };\n } else if (typeof externalGetKey === 'function') {\n syntheticGetKey = function syntheticGetKey(node) {\n return externalGetKey(node);\n };\n }\n } else {\n syntheticGetKey = function syntheticGetKey(node, pos) {\n return getKey(node[fieldKey], pos);\n };\n }\n // Process\n function processNode(node, index, parent, pathNodes) {\n var children = node ? node[mergeChildrenPropName] : dataNodes;\n var pos = node ? getPosition(parent.pos, index) : '0';\n var connectNodes = node ? [].concat(_toConsumableArray(pathNodes), [node]) : [];\n // Process node if is not root\n if (node) {\n var key = syntheticGetKey(node, pos);\n var data = {\n node: node,\n index: index,\n pos: pos,\n key: key,\n parentPos: parent.node ? parent.pos : null,\n level: parent.level + 1,\n nodes: connectNodes\n };\n callback(data);\n }\n // Process children node\n if (children) {\n children.forEach(function (subNode, subIndex) {\n processNode(subNode, subIndex, {\n node: node,\n pos: pos,\n level: parent ? parent.level + 1 : -1\n }, connectNodes);\n });\n }\n }\n processNode(null);\n}\n/**\n * Convert `treeData` into entity records.\n */\nexport function convertDataToEntities(dataNodes) {\n var _ref2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n initWrapper = _ref2.initWrapper,\n processEntity = _ref2.processEntity,\n onProcessFinished = _ref2.onProcessFinished,\n externalGetKey = _ref2.externalGetKey,\n childrenPropName = _ref2.childrenPropName,\n fieldNames = _ref2.fieldNames;\n var /** @deprecated Use `config.externalGetKey` instead */\n legacyExternalGetKey = arguments.length > 2 ? arguments[2] : undefined;\n // Init config\n var mergedExternalGetKey = externalGetKey || legacyExternalGetKey;\n var posEntities = {};\n var keyEntities = {};\n var wrapper = {\n posEntities: posEntities,\n keyEntities: keyEntities\n };\n if (initWrapper) {\n wrapper = initWrapper(wrapper) || wrapper;\n }\n traverseDataNodes(dataNodes, function (item) {\n var node = item.node,\n index = item.index,\n pos = item.pos,\n key = item.key,\n parentPos = item.parentPos,\n level = item.level,\n nodes = item.nodes;\n var entity = {\n node: node,\n nodes: nodes,\n index: index,\n key: key,\n pos: pos,\n level: level\n };\n var mergedKey = getKey(key, pos);\n posEntities[pos] = entity;\n keyEntities[mergedKey] = entity;\n // Fill children\n entity.parent = posEntities[parentPos];\n if (entity.parent) {\n entity.parent.children = entity.parent.children || [];\n entity.parent.children.push(entity);\n }\n if (processEntity) {\n processEntity(entity, wrapper);\n }\n }, {\n externalGetKey: mergedExternalGetKey,\n childrenPropName: childrenPropName,\n fieldNames: fieldNames\n });\n if (onProcessFinished) {\n onProcessFinished(wrapper);\n }\n return wrapper;\n}\n/**\n * Get TreeNode props with Tree props.\n */\nexport function getTreeNodeProps(key, _ref3) {\n var expandedKeys = _ref3.expandedKeys,\n selectedKeys = _ref3.selectedKeys,\n loadedKeys = _ref3.loadedKeys,\n loadingKeys = _ref3.loadingKeys,\n checkedKeys = _ref3.checkedKeys,\n halfCheckedKeys = _ref3.halfCheckedKeys,\n dragOverNodeKey = _ref3.dragOverNodeKey,\n dropPosition = _ref3.dropPosition,\n keyEntities = _ref3.keyEntities;\n var entity = keyEntities[key];\n var treeNodeProps = {\n eventKey: key,\n expanded: expandedKeys.indexOf(key) !== -1,\n selected: selectedKeys.indexOf(key) !== -1,\n loaded: loadedKeys.indexOf(key) !== -1,\n loading: loadingKeys.indexOf(key) !== -1,\n checked: checkedKeys.indexOf(key) !== -1,\n halfChecked: halfCheckedKeys.indexOf(key) !== -1,\n pos: String(entity ? entity.pos : ''),\n // [Legacy] Drag props\n // Since the interaction of drag is changed, the semantic of the props are\n // not accuracy, I think it should be finally removed\n dragOver: dragOverNodeKey === key && dropPosition === 0,\n dragOverGapTop: dragOverNodeKey === key && dropPosition === -1,\n dragOverGapBottom: dragOverNodeKey === key && dropPosition === 1\n };\n return treeNodeProps;\n}\nexport function convertNodePropsToEventData(props) {\n var data = props.data,\n expanded = props.expanded,\n selected = props.selected,\n checked = props.checked,\n loaded = props.loaded,\n loading = props.loading,\n halfChecked = props.halfChecked,\n dragOver = props.dragOver,\n dragOverGapTop = props.dragOverGapTop,\n dragOverGapBottom = props.dragOverGapBottom,\n pos = props.pos,\n active = props.active,\n eventKey = props.eventKey;\n var eventData = _objectSpread(_objectSpread({}, data), {}, {\n expanded: expanded,\n selected: selected,\n checked: checked,\n loaded: loaded,\n loading: loading,\n halfChecked: halfChecked,\n dragOver: dragOver,\n dragOverGapTop: dragOverGapTop,\n dragOverGapBottom: dragOverGapBottom,\n pos: pos,\n active: active,\n key: eventKey\n });\n if (!('props' in eventData)) {\n Object.defineProperty(eventData, 'props', {\n get: function get() {\n warning(false, 'Second param return from event is node data instead of TreeNode instance. Please read value directly instead of reading from `props`.');\n return props;\n }\n });\n }\n return eventData;\n}"],"names":["Indent","_ref","prefixCls","level","isStart","isEnd","baseClassName","concat","list","i","_classNames","push","React","key","className","classNames","_defineProperty","_excluded","ICON_OPEN","ICON_CLOSE","InternalTreeNode","_React$Component","_inherits","_super","_createSuper","_this","_classCallCheck","this","_len","arguments","length","args","Array","_key","call","apply","state","dragNodeHighlight","selectHandle","onSelectorClick","e","onNodeClick","props","context","convertNodePropsToEventData","isSelectable","onSelect","onCheck","onSelectorDoubleClick","onNodeDoubleClick","isDisabled","onNodeSelect","preventDefault","_this$props","disableCheckbox","checked","onNodeCheck","isCheckable","targetChecked","onMouseEnter","onNodeMouseEnter","onMouseLeave","onNodeMouseLeave","onContextMenu","onNodeContextMenu","onDragStart","onNodeDragStart","stopPropagation","setState","_assertThisInitialized","dataTransfer","setData","error","onDragEnter","onNodeDragEnter","onDragOver","onNodeDragOver","onDragLeave","onNodeDragLeave","onDragEnd","onNodeDragEnd","onDrop","onNodeDrop","onExpand","_this$props2","loading","onNodeExpand","setSelectHandle","node","getNodeState","expanded","isLeaf","hasChildren","eventKey","keyEntities","children","_this$props3","loaded","loadData","disabled","checkable","treeCheckable","syncLoadData","_this$props$context","onNodeLoad","isDraggable","_this$props4","data","draggable","nodeDraggable","renderDragHandler","_this$props$context2","icon","renderSwitcherIconDom","switcherIconFromProps","switcherIcon","switcherIconFromCtx","_objectSpread","renderSwitcher","_switcherIconDom","switcherCls","switcherIconDom","onClick","renderCheckbox","_this$props5","halfChecked","$custom","renderIcon","renderSelector","$icon","titleNode","_this$props6","title","selected","_this$props$context3","showIcon","treeIcon","titleRender","wrapClass","currentIcon","$title","ref","onDoubleClick","renderDropIndicator","_this$props7","_this$props$context4","dropLevelOffset","dropPosition","indent","dropIndicatorRender","dragOverNodeKey","direction","_createClass","value","selectable","treeSelectable","_this$props8","style","dragOver","dragOverGapTop","dragOverGapBottom","domRef","active","onMouseMove","otherProps","_objectWithoutProperties","_this$props$context5","filterTreeNode","dropContainerKey","dropTargetKey","draggingNodeKey","dataOrAriaAttributeProps","pickAttrs","aria","isEndNode","mergedDraggable","draggableWithoutDisabled","dragging","ariaSelected","undefined","_extends","ContextTreeNode","TreeContext","displayName","defaultProps","isTreeNode","_objectDestructuringEmpty","obj","TypeError","MotionTreeNode","motion","motionNodes","motionType","onOriginMotionStart","onMotionStart","onOriginMotionEnd","onMotionEnd","treeNodeRequiredProps","_React$useState","_React$useState2","_slicedToArray","visible","setVisible","motionedRef","current","useEffect","CSSMotion","motionAppear","onAppearEnd","onLeaveEnd","_ref2","motionRef","motionClassName","motionStyle","map","treeNode","restProps","treeNodeProps","getTreeNodeProps","TreeNode","getExpandRange","shorter","longer","shorterStartIndex","findIndex","shorterEndNode","longerStartIndex","longerEndIndex","slice","HIDDEN_STYLE","width","height","display","overflow","opacity","border","padding","margin","noop","MOTION_KEY","Math","random","MotionNode","MotionEntity","index","pos","nodes","MotionFlattenData","parent","getMinimumRangeTransitionRange","virtual","itemHeight","ceil","itemKey","item","getKey","NodeList","expandedKeys","selectedKeys","checkedKeys","loadedKeys","loadingKeys","halfCheckedKeys","focusable","activeItem","focused","tabIndex","onKeyDown","onFocus","onBlur","onActiveChange","onListChangeStart","onListChangeEnd","domProps","listRef","indentMeasurerRef","scrollTo","scroll","getIndentWidth","offsetWidth","prevExpandedKeys","setPrevExpandedKeys","_React$useState3","_React$useState4","prevData","setPrevData","_React$useState5","_React$useState6","transitionData","setTransitionData","_React$useState7","_React$useState8","transitionRange","setTransitionRange","_React$useState9","_React$useState10","setMotionType","dataRef","latestData","diffExpanded","prev","next","prevLen","nextLen","abs","add","find","cache","Map","forEach","set","keys","filter","has","findExpandedKeys","keyIndex","rangeNodes","newTransitionData","splice","_keyIndex","_rangeNodes","_newTransitionData","mergedData","path","String","getAccessibilityPath","onChange","position","pointerEvents","visibility","VirtualList","fullHeight","onVisibleChange","originList","fullList","originSet","Set","some","mergedKey","Tree","_args","destroyed","delayedDragEnterLogic","loadingRetryTimes","dragChildrenKeys","dropTargetPos","dropAllowed","treeData","flattenNodes","activeKey","listChanging","prevProps","fieldNames","fillFieldNames","dragStartMousePosition","dragNode","currentMouseOverDroppableNodeKey","event","_this$state","x","clientX","y","clientY","newExpandedKeys","arrDel","getDragChildrenKeys","setExpandedKeys","window","addEventListener","onWindowDragEnd","_this$state2","allowDrop","_node$props","_calcDropPosition","calcDropPosition","indexOf","Object","clearTimeout","persist","setTimeout","_toConsumableArray","entity","arrAdd","nativeEvent","resetDragState","_this$state3","_calcDropPosition2","currentTarget","contains","relatedTarget","removeEventListener","cleanDragState","_this$getActiveItem","outsideTree","_this$state4","abstractDropNodeProps","getTreeNodeRequiredProps","getActiveItem","dropToChild","warning","posArr","posToArr","dropResult","dragNodesKeys","dropToGap","Number","triggerExpandActionExpand","_this$state5","shiftKey","metaKey","ctrlKey","nodeItem","eventNode","expandAction","_this$state6","multiple","targetSelected","selectedNodes","selectedKey","setUncontrolledState","checkedObj","_this$state7","oriCheckedKeys","oriHalfCheckedKeys","checkStrictly","eventObj","checkedNodes","checkedKey","_conductCheck","conductCheck","_checkedKeys","_halfCheckedKeys","keySet","delete","_conductCheck2","from","checkedNodesPositions","loadPromise","Promise","resolve","reject","_ref$loadedKeys","_ref$loadingKeys","onLoad","then","currentLoadedKeys","newLoadedKeys","prevState","catch","onRightClick","_len2","_key2","_len3","_key3","_this$state8","_this$state9","flattenTreeData","_this$state10","targetExpanded","newFlattenTreeData","currentExpandedKeys","expandedKeysToRestore","newActiveKey","_this$state11","offsetActiveKey","offset","_this$state12","_ref3","_this$state13","_this$props9","which","KeyCode","expandable","includes","atomic","forceState","needSync","allPassed","newState","name","onUpdated","draggableConfig","_this$state14","_this$props10","showLine","_this$props10$tabInde","onScroll","rootClassName","rootStyle","_typeof","role","convertTreeToData","entitiesMap","convertDataToEntities","checkedKeyEntity","autoExpandParent","defaultExpandParent","conductExpandParent","defaultExpandAll","cloneKeyEntities","defaultExpandedKeys","calcSelectedKeys","defaultSelectedKeys","parseCheckedKeys","defaultCheckedKeys","_checkedKeyEntity","_checkedKeyEntity$che","_checkedKeyEntity$hal","conductKeys","right","backgroundColor","top","left","bottom","clone","split","getPosition","type","dragNodeKey","dig","isLastChild","treeNodeEntity","targetNode","startMousePosition","flattenedNodes","expandKeys","_abstractDropNodeEnti","_event$target$getBoun","target","getBoundingClientRect","rawDropLevelOffset","abstractDropNodeEntity","nodeIndex","flattenedNode","prevNodeKey","initialAbstractDropNodeKey","abstractDragOverEntity","abstractDragDataNode","abstractDropDataNode","dropNode","keyProps","isArray","keyList","conductUp","removeFromCheckedKeys","filteredKeys","isCheckDisabled","getCheckDisabled","syntheticGetCheckDisabled","warningMissKeys","result","hasEntity","levelEntities","maxLevel","levelSet","get","max","join","_entity$children","childEntity","visitedKeys","_level","allChecked","partialChecked","fillConductCheck","halfKeys","_entity$children2","_level2","cleanConductCheck","mergedTitle","_title","rootNodes","toArray","_treeNode$props","rest","dataNode","parsedChildren","treeNodeList","_fillFieldNames","fieldTitles","fieldKey","fieldChildren","expandedKeySet","flattenList","fieldTitle","flattenNode","omit","traverseDataNodes","dataNodes","callback","config","syntheticGetKey","_mergedConfig","externalGetKey","childrenPropName","_fillFieldNames2","mergeChildrenPropName","processNode","pathNodes","connectNodes","parentPos","subNode","subIndex","initWrapper","processEntity","onProcessFinished","legacyExternalGetKey","mergedExternalGetKey","posEntities","wrapper","eventData","defineProperty"],"sourceRoot":""}