{"version":3,"sources":["../../node_modules/.pnpm/rc-tree@5.7.4_react-dom@17.0.2_react@17.0.2/node_modules/rc-tree/es/Indent.js","../../node_modules/.pnpm/rc-tree@5.7.4_react-dom@17.0.2_react@17.0.2/node_modules/rc-tree/es/TreeNode.js","../../node_modules/.pnpm/rc-tree@5.7.4_react-dom@17.0.2_react@17.0.2/node_modules/rc-tree/es/utils/treeUtil.js","../../node_modules/.pnpm/rc-tree@5.7.4_react-dom@17.0.2_react@17.0.2/node_modules/rc-tree/es/contextTypes.js","../../node_modules/.pnpm/rc-tree@5.7.4_react-dom@17.0.2_react@17.0.2/node_modules/rc-tree/lib/util.js","../../node_modules/.pnpm/rc-tree@5.7.4_react-dom@17.0.2_react@17.0.2/node_modules/rc-tree/lib/utils/treeUtil.js","../../node_modules/.pnpm/rc-util@5.32.4_react-dom@17.0.2_react@17.0.2/node_modules/rc-util/lib/pickAttrs.js","../../node_modules/.pnpm/rc-util@5.32.4_react-dom@17.0.2_react@17.0.2/node_modules/rc-util/lib/getScrollBarSize.js","../../node_modules/.pnpm/rc-tree@5.7.4_react-dom@17.0.2_react@17.0.2/node_modules/rc-tree/es/util.js","../../node_modules/.pnpm/rc-tree@5.7.4_react-dom@17.0.2_react@17.0.2/node_modules/rc-tree/es/MotionTreeNode.js","../../node_modules/.pnpm/rc-tree@5.7.4_react-dom@17.0.2_react@17.0.2/node_modules/rc-tree/es/utils/diffUtil.js","../../node_modules/.pnpm/rc-tree@5.7.4_react-dom@17.0.2_react@17.0.2/node_modules/rc-tree/es/NodeList.js","../../node_modules/.pnpm/rc-tree@5.7.4_react-dom@17.0.2_react@17.0.2/node_modules/rc-tree/es/DropIndicator.js","../../node_modules/.pnpm/rc-tree@5.7.4_react-dom@17.0.2_react@17.0.2/node_modules/rc-tree/es/Tree.js","../../node_modules/.pnpm/rc-tree@5.7.4_react-dom@17.0.2_react@17.0.2/node_modules/rc-tree/es/index.js","../../node_modules/.pnpm/rc-util@5.32.4_react-dom@17.0.2_react@17.0.2/node_modules/rc-util/es/Dom/styleChecker.js","../../node_modules/.pnpm/rc-util@5.32.4_react-dom@17.0.2_react@17.0.2/node_modules/rc-util/es/Dom/css.js","../../node_modules/.pnpm/rc-util@5.32.4_react-dom@17.0.2_react@17.0.2/node_modules/rc-util/lib/Dom/isVisible.js","../../node_modules/.pnpm/rc-util@5.32.4_react-dom@17.0.2_react@17.0.2/node_modules/rc-util/lib/Dom/addEventListener.js","../../node_modules/.pnpm/rc-util@5.32.4_react-dom@17.0.2_react@17.0.2/node_modules/rc-util/lib/Dom/css.js","../../node_modules/.pnpm/rc-tree@5.7.4_react-dom@17.0.2_react@17.0.2/node_modules/rc-tree/es/utils/conductUtil.js","../../node_modules/.pnpm/rc-tree@5.7.4_react-dom@17.0.2_react@17.0.2/node_modules/rc-tree/lib/TreeNode.js","../../node_modules/.pnpm/rc-tree@5.7.4_react-dom@17.0.2_react@17.0.2/node_modules/rc-tree/lib/contextTypes.js","../../node_modules/.pnpm/rc-tree@5.7.4_react-dom@17.0.2_react@17.0.2/node_modules/rc-tree/lib/Indent.js","../../node_modules/.pnpm/rc-tree@5.7.4_react-dom@17.0.2_react@17.0.2/node_modules/rc-tree/lib/utils/conductUtil.js"],"names":["Indent","_ref","prefixCls","level","isStart","isEnd","baseClassName","concat","list","i","_classNames","push","React","key","className","classNames","_defineProperty","_excluded","ICON_OPEN","ICON_CLOSE","defaultTitle","InternalTreeNode","_React$Component","_inherits","_super","_createSuper","_this","_classCallCheck","_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","treeDisabled","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","_this$props6","_this$props6$title","title","selected","_this$props$context3","showIcon","treeIcon","titleRender","wrapClass","$icon","currentIcon","titleNode","$title","ref","onDoubleClick","renderDropIndicator","_this$props7","_this$props$context4","dropLevelOffset","dropPosition","indent","dropIndicatorRender","dragOverNodeKey","direction","rootDraggable","showIndicator","_createClass","value","componentDidMount","componentDidUpdate","selectable","treeSelectable","render","_this$props8","style","dragOver","dragOverGapTop","dragOverGapBottom","domRef","active","onMouseMove","otherProps","_objectWithoutProperties","_this$props$context5","filterTreeNode","dropContainerKey","dropTargetKey","draggingNodeKey","dataOrAriaAttributeProps","pickAttrs","aria","_ref2","isEndNode","mergedDraggable","draggableWithoutDisabled","dragging","ariaSelected","undefined","_extends","ContextTreeNode","TreeContext","Consumer","displayName","isTreeNode","getKey","pos","fillFieldNames","fieldNames","_title","mergedTitle","warningWithoutKey","treeData","keys","Map","dig","path","forEach","treeNode","warning","recordKey","String","has","set","convertTreeToData","rootNodes","treeNodes","toArray","map","_treeNode$props","rest","dataNode","parsedChildren","filter","flattenTreeData","treeNodeList","expandedKeys","_fillFieldNames","fieldTitles","fieldKey","fieldChildren","expandedKeySet","Set","flattenList","parent","index","getPosition","mergedKey","fieldTitle","flattenNode","omit","_toConsumableArray","traverseDataNodes","dataNodes","callback","config","mergedConfig","_typeof","externalGetKey","_mergedConfig","childrenPropName","_fillFieldNames2","mergeChildrenPropName","syntheticGetKey","processNode","pathNodes","connectNodes","parentPos","nodes","subNode","subIndex","convertDataToEntities","initWrapper","processEntity","onProcessFinished","legacyExternalGetKey","mergedExternalGetKey","posEntities","wrapper","item","entity","getTreeNodeProps","_ref3","selectedKeys","loadedKeys","loadingKeys","checkedKeys","halfCheckedKeys","treeNodeProps","indexOf","eventData","Object","defineProperty","get","_interopRequireDefault","require","exports","arrAdd","arrDel","calcDropPosition","calcSelectedKeys","conductExpandParent","convertDataToTree","getDragChildrenKeys","isFirstChild","isLastChild","parseCheckedKeys","posToArr","_toConsumableArray2","_typeof2","_extends2","_objectWithoutProperties2","_react","_warning","_TreeNode","clone","slice","splice","split","type","dragNodeKey","dragChildrenKeys","treeNodeEntity","posArr","Number","event","dragNode","targetNode","startMousePosition","allowDrop","flattenedNodes","expandKeys","_abstractDropNodeEnti","clientX","clientY","_event$target$getBoun","target","getBoundingClientRect","top","height","horizontalMouseOffset","x","rawDropLevelOffset","abstractDropNodeEntity","nodeIndex","findIndex","flattenedNode","prevNodeIndex","prevNodeKey","initialAbstractDropNodeKey","abstractDragOverEntity","includes","abstractDragDataNode","abstractDropDataNode","dropAllowed","dropNode","dropTargetPos","multiple","internalProcessProps","processor","_ref2$processProps","processProps","isArray","default","childrenNodes","createElement","keyProps","keyList","conductUp","add","_objectSpread2","_omit","_toArray","_util","attributes","eventsName","propList","ariaPrefix","dataPrefix","match","prefix","ariaOnly","attr","attrs","getScrollBarSize","getTargetScrollBarSize","cached","fresh","document","inner","width","outer","outerStyle","position","left","pointerEvents","visibility","overflow","appendChild","body","widthContained","offsetWidth","widthScroll","clientWidth","removeChild","ensureSize","str","isNaN","Element","_getComputedStyle","getComputedStyle","TreeNode","MotionTreeNode","motion","motionNodes","motionType","onOriginMotionStart","onMotionStart","onOriginMotionEnd","onMotionEnd","treeNodeRequiredProps","_React$useState","_React$useState2","_slicedToArray","visible","setVisible","_React$useContext","motionedRef","current","useEffect","reruningEffectFlag","clearTimeout","setTimeout","CSSMotion","motionAppear","onAppearEnd","onLeaveEnd","motionRef","motionClassName","motionStyle","restProps","_objectDestructuringEmpty","RefMotionTreeNode","findExpandedKeys","prev","next","prevLen","nextLen","Math","abs","find","shorter","longer","cache","getExpandRange","shorterStartIndex","shorterEndNode","longerStartIndex","longerEndIndex","HIDDEN_STYLE","display","opacity","border","padding","margin","noop","MOTION_KEY","random","MotionNode","MotionEntity","MotionFlattenData","getMinimumRangeTransitionRange","virtual","itemHeight","ceil","itemKey","getAccessibilityPath","NodeList","focusable","activeItem","focused","tabIndex","onKeyDown","onFocus","onBlur","onActiveChange","onListChangeStart","onListChangeEnd","domProps","listRef","indentMeasurerRef","scrollTo","scroll","getIndentWidth","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","useLayoutEffect","diffExpanded","keyIndex","rangeNodes","newTransitionData","_keyIndex","_rangeNodes","_newTransitionData","mergedData","onChange","VirtualList","fullHeight","onVisibleChange","originList","fullList","originSet","restList","some","DropIndicator","right","backgroundColor","bottom","MAX_RETRY_TIMES","Tree","_args","destroyed","delayedDragEnterLogic","loadingRetryTimes","flattenNodes","activeKey","listChanging","prevProps","dragStartMousePosition","currentMouseOverDroppableNodeKey","_this$state","y","newExpandedKeys","setExpandedKeys","window","addEventListener","onWindowDragEnd","_this$state2","_node$props","_assertThisInitialize","resetDragState","_calcDropPosition","persist","nativeEvent","_this$state3","_assertThisInitialize2","_calcDropPosition2","currentTarget","contains","relatedTarget","removeEventListener","cleanDragState","_this$getActiveItem","outsideTree","_this$state4","abstractDropNodeProps","getTreeNodeRequiredProps","getActiveItem","dropToChild","dropResult","dragNodesKeys","dropToGap","triggerExpandActionExpand","_this$state5","shiftKey","metaKey","ctrlKey","nodeItem","eventNode","expandAction","_this$state6","targetSelected","selectedNodes","selectedKey","setUncontrolledState","_this$state7","oriCheckedKeys","oriHalfCheckedKeys","checkStrictly","checkedObj","eventObj","checkedNodes","checkedKey","_conductCheck","conductCheck","_checkedKeys","_halfCheckedKeys","keySet","delete","_conductCheck2","from","checkedNodesPositions","loadPromise","Promise","resolve","reject","_ref$loadedKeys","_ref$loadingKeys","onLoad","promise","then","currentLoadedKeys","newLoadedKeys","prevState","catch","onRightClick","_len2","_key2","_len3","_key3","_this$state8","_this$state9","_this$state10","targetExpanded","newFlattenTreeData","currentExpandedKeys","expandedKeysToRestore","newActiveKey","_this$state11","offsetActiveKey","offset","_this$state12","_this$state13","_this$props9","which","KeyCode","UP","DOWN","expandable","LEFT","RIGHT","ENTER","SPACE","atomic","forceState","needSync","allPassed","newState","name","onUpdated","componentWillUnmount","_this$state14","_this$props10","showLine","_this$props10$tabInde","onScroll","rootClassName","rootStyle","draggableConfig","Provider","role","getDerivedStateFromProps","entitiesMap","process","autoExpandParent","defaultExpandParent","defaultExpandAll","cloneKeyEntities","defaultExpandedKeys","defaultSelectedKeys","checkedKeyEntity","defaultCheckedKeys","_checkedKeyEntity","_checkedKeyEntity$che","_checkedKeyEntity$hal","conductKeys","defaultProps","isStyleNameSupport","styleName","canUseDom","documentElement","styleNameList","isStyleValueSupport","ele","origin","isStyleSupport","styleValue","PIXEL_PATTERN","removePixel","floatMap","cssFloat","styleFloat","float","nodeType","ownerDocument","defaultView","getStyleValue","toLowerCase","offsetHeight","test","parseFloat","hasOwnProperty","getOuterWidth","el","getOuterHeight","innerHeight","clientHeight","getDocSize","max","scrollWidth","scrollHeight","getClientSize","getScroll","scrollLeft","scrollTop","getOffset","box","docElem","pageXOffset","clientLeft","pageYOffset","clientTop","_default","element","offsetParent","getBBox","_getBBox","_element$getBoundingC","_width","_height","addEventListenerWrap","_reactDom","eventType","cb","option","unstable_batchedUpdates","run","remove","removeFromCheckedKeys","filteredKeys","isCheckDisabled","fillConductCheck","levelEntities","maxLevel","syntheticGetCheckDisabled","entities","_entity$children","childEntity","visitedKeys","_level","_entities","allChecked","partialChecked","cleanConductCheck","halfKeys","_entity$children2","_level2","_entities2","getCheckDisabled","warningMissKeys","hasEntity","levelSet","join","result","_defineProperty2","_classCallCheck2","_createClass2","_assertThisInitialized2","_inherits2","_createSuper2","_interopRequireWildcard","_classnames","_pickAttrs","_contextTypes","_Indent","_treeUtil","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","newObj","hasPropertyDescriptor","getOwnPropertyDescriptor","prototype","desc","Component","createContext","memo"],"mappings":"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","file":"static/js/5.5ed44b1a.chunk.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 // Disabled item still can be switch\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 // Drag usage\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 // Load data to avoid default expanded tree without data\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 // ==================== Render: Drag Handler ====================\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 // ====================== Render: Switcher ======================\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 // Switcher\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 // ====================== Render: Checkbox ======================\n // Checkbox\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 // ==================== Render: Title + Icon ====================\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 // Icon + Title\n _this.renderSelector = function () {\n var dragNodeHighlight = _this.state.dragNodeHighlight;\n var _this$props6 = _this.props,\n _this$props6$title = _this$props6.title,\n title = _this$props6$title === void 0 ? defaultTitle : _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 // =================== Render: Drop Indicator ===================\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.isTreeNode = 1;\nexport { InternalTreeNode };\nexport default ContextTreeNode;","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}","/**\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);","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.arrAdd = arrAdd;\nexports.arrDel = arrDel;\nexports.calcDropPosition = calcDropPosition;\nexports.calcSelectedKeys = calcSelectedKeys;\nexports.conductExpandParent = conductExpandParent;\nexports.convertDataToTree = convertDataToTree;\nexports.getDragChildrenKeys = getDragChildrenKeys;\nexports.getPosition = getPosition;\nexports.isFirstChild = isFirstChild;\nexports.isLastChild = isLastChild;\nexports.isTreeNode = isTreeNode;\nexports.parseCheckedKeys = parseCheckedKeys;\nexports.posToArr = posToArr;\nvar _toConsumableArray2 = _interopRequireDefault(require(\"@babel/runtime/helpers/toConsumableArray\"));\nvar _typeof2 = _interopRequireDefault(require(\"@babel/runtime/helpers/typeof\"));\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\nvar _react = _interopRequireDefault(require(\"react\"));\nvar _warning = _interopRequireDefault(require(\"rc-util/lib/warning\"));\nvar _TreeNode = _interopRequireDefault(require(\"./TreeNode\"));\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 */\nfunction 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}\nfunction arrAdd(list, value) {\n var clone = (list || []).slice();\n if (clone.indexOf(value) === -1) {\n clone.push(value);\n }\n return clone;\n}\nfunction posToArr(pos) {\n return pos.split('-');\n}\nfunction getPosition(level, index) {\n return \"\".concat(level, \"-\").concat(index);\n}\nfunction isTreeNode(node) {\n return node && node.type && node.type.isTreeNode;\n}\nfunction 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}\nfunction 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}\nfunction 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.\nfunction 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 */\nfunction 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};\nfunction 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 = (0, _objectWithoutProperties2.default)(_ref3, _excluded);\n var childrenNodes = convertDataToTree(children, processor);\n return /*#__PURE__*/_react.default.createElement(_TreeNode.default, (0, _extends2.default)({\n key: props.key\n }, processProps(props)), childrenNodes);\n });\n}\n/**\n * Parse `checkedKeys` to { checkedKeys, halfCheckedKeys } style\n */\nfunction 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 ((0, _typeof2.default)(keys) === 'object') {\n keyProps = {\n checkedKeys: keys.checked || undefined,\n halfCheckedKeys: keys.halfChecked || undefined\n };\n } else {\n (0, _warning.default)(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 */\nfunction 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 (0, _toConsumableArray2.default)(expandedKeys);\n}","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.convertDataToEntities = convertDataToEntities;\nexports.convertNodePropsToEventData = convertNodePropsToEventData;\nexports.convertTreeToData = convertTreeToData;\nexports.fillFieldNames = fillFieldNames;\nexports.flattenTreeData = flattenTreeData;\nexports.getKey = getKey;\nexports.getTreeNodeProps = getTreeNodeProps;\nexports.traverseDataNodes = traverseDataNodes;\nexports.warningWithoutKey = warningWithoutKey;\nvar _typeof2 = _interopRequireDefault(require(\"@babel/runtime/helpers/typeof\"));\nvar _toConsumableArray2 = _interopRequireDefault(require(\"@babel/runtime/helpers/toConsumableArray\"));\nvar _objectSpread2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectSpread2\"));\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\nvar _omit = _interopRequireDefault(require(\"rc-util/lib/omit\"));\nvar _toArray = _interopRequireDefault(require(\"rc-util/lib/Children/toArray\"));\nvar _warning = _interopRequireDefault(require(\"rc-util/lib/warning\"));\nvar _util = require(\"../util\");\nvar _excluded = [\"children\"];\nfunction getKey(key, pos) {\n if (key !== null && key !== undefined) {\n return key;\n }\n return pos;\n}\nfunction 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 */\nfunction 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 (0, _warning.default)(key !== null && key !== undefined, \"Tree node must have a certain key: [\".concat(path).concat(key, \"]\"));\n var recordKey = String(key);\n (0, _warning.default)(!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 */\nfunction convertTreeToData(rootNodes) {\n function dig(node) {\n var treeNodes = (0, _toArray.default)(node);\n return treeNodes.map(function (treeNode) {\n // Filter invalidate node\n if (!(0, _util.isTreeNode)(treeNode)) {\n (0, _warning.default)(!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 = (0, _objectWithoutProperties2.default)(_treeNode$props, _excluded);\n var dataNode = (0, _objectSpread2.default)({\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 */\nfunction 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 = (0, _util.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 = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, (0, _omit.default)(treeNode, [].concat((0, _toConsumableArray2.default)(fieldTitles), [fieldKey, fieldChildren]))), {}, {\n title: mergedTitle,\n key: mergedKey,\n parent: parent,\n pos: pos,\n children: null,\n data: treeNode,\n isStart: [].concat((0, _toConsumableArray2.default)(parent ? parent.isStart : []), [index === 0]),\n isEnd: [].concat((0, _toConsumableArray2.default)(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 */\nfunction traverseDataNodes(dataNodes, callback,\n// To avoid too many params, let use config instead of origin param\nconfig) {\n var mergedConfig = {};\n if ((0, _typeof2.default)(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 ? (0, _util.getPosition)(parent.pos, index) : '0';\n var connectNodes = node ? [].concat((0, _toConsumableArray2.default)(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 */\nfunction 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 */\nfunction 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}\nfunction 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 = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, 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 (0, _warning.default)(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}","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = pickAttrs;\nvar _objectSpread2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectSpread2\"));\nvar attributes = \"accept acceptCharset accessKey action allowFullScreen allowTransparency\\n alt async autoComplete autoFocus autoPlay capture cellPadding cellSpacing challenge\\n charSet checked classID className colSpan cols content contentEditable contextMenu\\n controls coords crossOrigin data dateTime default defer dir disabled download draggable\\n encType form formAction formEncType formMethod formNoValidate formTarget frameBorder\\n headers height hidden high href hrefLang htmlFor httpEquiv icon id inputMode integrity\\n is keyParams keyType kind label lang list loop low manifest marginHeight marginWidth max maxLength media\\n mediaGroup method min minLength multiple muted name noValidate nonce open\\n optimum pattern placeholder poster preload radioGroup readOnly rel required\\n reversed role rowSpan rows sandbox scope scoped scrolling seamless selected\\n shape size sizes span spellCheck src srcDoc srcLang srcSet start step style\\n summary tabIndex target title type useMap value width wmode wrap\";\nvar eventsName = \"onCopy onCut onPaste onCompositionEnd onCompositionStart onCompositionUpdate onKeyDown\\n onKeyPress onKeyUp onFocus onBlur onChange onInput onSubmit onClick onContextMenu onDoubleClick\\n onDrag onDragEnd onDragEnter onDragExit onDragLeave onDragOver onDragStart onDrop onMouseDown\\n onMouseEnter onMouseLeave onMouseMove onMouseOut onMouseOver onMouseUp onSelect onTouchCancel\\n onTouchEnd onTouchMove onTouchStart onScroll onWheel onAbort onCanPlay onCanPlayThrough\\n onDurationChange onEmptied onEncrypted onEnded onError onLoadedData onLoadedMetadata\\n onLoadStart onPause onPlay onPlaying onProgress onRateChange onSeeked onSeeking onStalled onSuspend onTimeUpdate onVolumeChange onWaiting onLoad onError\";\nvar propList = \"\".concat(attributes, \" \").concat(eventsName).split(/[\\s\\n]+/);\n\n/* eslint-enable max-len */\nvar ariaPrefix = 'aria-';\nvar dataPrefix = 'data-';\nfunction match(key, prefix) {\n return key.indexOf(prefix) === 0;\n}\n/**\n * Picker props from exist props with filter\n * @param props Passed props\n * @param ariaOnly boolean | { aria?: boolean; data?: boolean; attr?: boolean; } filter config\n */\nfunction pickAttrs(props) {\n var ariaOnly = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var mergedConfig;\n if (ariaOnly === false) {\n mergedConfig = {\n aria: true,\n data: true,\n attr: true\n };\n } else if (ariaOnly === true) {\n mergedConfig = {\n aria: true\n };\n } else {\n mergedConfig = (0, _objectSpread2.default)({}, ariaOnly);\n }\n var attrs = {};\n Object.keys(props).forEach(function (key) {\n if (\n // Aria\n mergedConfig.aria && (key === 'role' || match(key, ariaPrefix)) ||\n // Data\n mergedConfig.data && match(key, dataPrefix) ||\n // Attr\n mergedConfig.attr && propList.includes(key)) {\n attrs[key] = props[key];\n }\n });\n return attrs;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = getScrollBarSize;\nexports.getTargetScrollBarSize = getTargetScrollBarSize;\n/* eslint-disable no-param-reassign */\n\nvar cached;\nfunction getScrollBarSize(fresh) {\n if (typeof document === 'undefined') {\n return 0;\n }\n if (fresh || cached === undefined) {\n var inner = document.createElement('div');\n inner.style.width = '100%';\n inner.style.height = '200px';\n var outer = document.createElement('div');\n var outerStyle = outer.style;\n outerStyle.position = 'absolute';\n outerStyle.top = '0';\n outerStyle.left = '0';\n outerStyle.pointerEvents = 'none';\n outerStyle.visibility = 'hidden';\n outerStyle.width = '200px';\n outerStyle.height = '150px';\n outerStyle.overflow = 'hidden';\n outer.appendChild(inner);\n document.body.appendChild(outer);\n var widthContained = inner.offsetWidth;\n outer.style.overflow = 'scroll';\n var widthScroll = inner.offsetWidth;\n if (widthContained === widthScroll) {\n widthScroll = outer.clientWidth;\n }\n document.body.removeChild(outer);\n cached = widthContained - widthScroll;\n }\n return cached;\n}\nfunction ensureSize(str) {\n var match = str.match(/^(.*)px$/);\n var value = Number(match === null || match === void 0 ? void 0 : match[1]);\n return Number.isNaN(value) ? getScrollBarSize() : value;\n}\nfunction getTargetScrollBarSize(target) {\n if (typeof document === 'undefined' || !target || !(target instanceof Element)) {\n return {\n width: 0,\n height: 0\n };\n }\n var _getComputedStyle = getComputedStyle(target, '::-webkit-scrollbar'),\n width = _getComputedStyle.width,\n height = _getComputedStyle.height;\n return {\n width: ensureSize(width),\n height: ensureSize(height)\n };\n}","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 _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 var reruningEffectFlag = null;\n useEffect(function () {\n // Trigger motion only when patched\n if (motionNodes) {\n if (reruningEffectFlag === null) {\n onOriginMotionStart();\n } else {\n clearTimeout(reruningEffectFlag);\n }\n }\n return function () {\n if (motionNodes) {\n reruningEffectFlag = setTimeout(onMotionEnd, 0);\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 useLayoutEffect from \"rc-util/es/hooks/useLayoutEffect\";\nimport VirtualList from 'rc-virtual-list';\nimport * as React from 'react';\nimport MotionTreeNode from './MotionTreeNode';\nimport { findExpandedKeys, getExpandRange } from './utils/diffUtil';\nimport { getKey, getTreeNodeProps } 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 // layoutEffect here to avoid blink of node removing\n useLayoutEffect(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 * 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 _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 /**\n * [Legacy] Select handler is smaller than node,\n * so that this will trigger when drag enter node or select handler.\n * This is a little tricky if customize css without padding.\n * Better for use mouse move event to refresh drag state.\n * But let's just keep it to avoid event trigger logic change.\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 // since stopPropagation() is called in treeNode\n // if onWindowDrag is called, whice means state is keeped, drag state should be cleared\n _this.onWindowDragEnd = function (event) {\n _this.onNodeDragEnd(event, null, true);\n window.removeEventListener('dragend', _this.onWindowDragEnd);\n };\n // if onNodeDragEnd is called, onWindowDragEnd won't be called since stopPropagation() is called\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 // =========================== Expanded ===========================\n /** Set uncontrolled `expandedKeys`. This will also auto update `flattenNodes`. */\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 // =========================== Keyboard ===========================\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 /**\n * Only update the value which is not in props\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 Tree from './Tree';\nimport TreeNode from './TreeNode';\nexport { TreeNode };\nexport default Tree;","import canUseDom from \"./canUseDom\";\nvar isStyleNameSupport = function isStyleNameSupport(styleName) {\n if (canUseDom() && window.document.documentElement) {\n var styleNameList = Array.isArray(styleName) ? styleName : [styleName];\n var documentElement = window.document.documentElement;\n return styleNameList.some(function (name) {\n return name in documentElement.style;\n });\n }\n return false;\n};\nvar isStyleValueSupport = function isStyleValueSupport(styleName, value) {\n if (!isStyleNameSupport(styleName)) {\n return false;\n }\n var ele = document.createElement('div');\n var origin = ele.style[styleName];\n ele.style[styleName] = value;\n return ele.style[styleName] !== origin;\n};\nexport function isStyleSupport(styleName, styleValue) {\n if (!Array.isArray(styleName) && styleValue !== undefined) {\n return isStyleValueSupport(styleName, styleValue);\n }\n return isStyleNameSupport(styleName);\n}","/* eslint-disable no-nested-ternary */\nvar PIXEL_PATTERN = /margin|padding|width|height|max|min|offset/;\nvar removePixel = {\n left: true,\n top: true\n};\nvar floatMap = {\n cssFloat: 1,\n styleFloat: 1,\n float: 1\n};\nfunction getComputedStyle(node) {\n return node.nodeType === 1 ? node.ownerDocument.defaultView.getComputedStyle(node, null) : {};\n}\nfunction getStyleValue(node, type, value) {\n type = type.toLowerCase();\n if (value === 'auto') {\n if (type === 'height') {\n return node.offsetHeight;\n }\n if (type === 'width') {\n return node.offsetWidth;\n }\n }\n if (!(type in removePixel)) {\n removePixel[type] = PIXEL_PATTERN.test(type);\n }\n return removePixel[type] ? parseFloat(value) || 0 : value;\n}\nexport function get(node, name) {\n var length = arguments.length;\n var style = getComputedStyle(node);\n name = floatMap[name] ? 'cssFloat' in node.style ? 'cssFloat' : 'styleFloat' : name;\n return length === 1 ? style : getStyleValue(node, name, style[name] || node.style[name]);\n}\nexport function set(node, name, value) {\n var length = arguments.length;\n name = floatMap[name] ? 'cssFloat' in node.style ? 'cssFloat' : 'styleFloat' : name;\n if (length === 3) {\n if (typeof value === 'number' && PIXEL_PATTERN.test(name)) {\n value = \"\".concat(value, \"px\");\n }\n node.style[name] = value; // Number\n return value;\n }\n for (var x in name) {\n if (name.hasOwnProperty(x)) {\n set(node, x, name[x]);\n }\n }\n return getComputedStyle(node);\n}\nexport function getOuterWidth(el) {\n if (el === document.body) {\n return document.documentElement.clientWidth;\n }\n return el.offsetWidth;\n}\nexport function getOuterHeight(el) {\n if (el === document.body) {\n return window.innerHeight || document.documentElement.clientHeight;\n }\n return el.offsetHeight;\n}\nexport function getDocSize() {\n var width = Math.max(document.documentElement.scrollWidth, document.body.scrollWidth);\n var height = Math.max(document.documentElement.scrollHeight, document.body.scrollHeight);\n return {\n width: width,\n height: height\n };\n}\nexport function getClientSize() {\n var width = document.documentElement.clientWidth;\n var height = window.innerHeight || document.documentElement.clientHeight;\n return {\n width: width,\n height: height\n };\n}\nexport function getScroll() {\n return {\n scrollLeft: Math.max(document.documentElement.scrollLeft, document.body.scrollLeft),\n scrollTop: Math.max(document.documentElement.scrollTop, document.body.scrollTop)\n };\n}\nexport function getOffset(node) {\n var box = node.getBoundingClientRect();\n var docElem = document.documentElement;\n\n // < ie8 不支持 win.pageXOffset, 则使用 docElem.scrollLeft\n return {\n left: box.left + (window.pageXOffset || docElem.scrollLeft) - (docElem.clientLeft || document.body.clientLeft || 0),\n top: box.top + (window.pageYOffset || docElem.scrollTop) - (docElem.clientTop || document.body.clientTop || 0)\n };\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _default = function _default(element) {\n if (!element) {\n return false;\n }\n if (element instanceof Element) {\n if (element.offsetParent) {\n return true;\n }\n if (element.getBBox) {\n var _getBBox = element.getBBox(),\n width = _getBBox.width,\n height = _getBBox.height;\n if (width || height) {\n return true;\n }\n }\n if (element.getBoundingClientRect) {\n var _element$getBoundingC = element.getBoundingClientRect(),\n _width = _element$getBoundingC.width,\n _height = _element$getBoundingC.height;\n if (_width || _height) {\n return true;\n }\n }\n }\n return false;\n};\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = addEventListenerWrap;\nvar _reactDom = _interopRequireDefault(require(\"react-dom\"));\nfunction addEventListenerWrap(target, eventType, cb, option) {\n /* eslint camelcase: 2 */\n var callback = _reactDom.default.unstable_batchedUpdates ? function run(e) {\n _reactDom.default.unstable_batchedUpdates(cb, e);\n } : cb;\n if (target !== null && target !== void 0 && target.addEventListener) {\n target.addEventListener(eventType, callback, option);\n }\n return {\n remove: function remove() {\n if (target !== null && target !== void 0 && target.removeEventListener) {\n target.removeEventListener(eventType, callback, option);\n }\n }\n };\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.get = get;\nexports.getClientSize = getClientSize;\nexports.getDocSize = getDocSize;\nexports.getOffset = getOffset;\nexports.getOuterHeight = getOuterHeight;\nexports.getOuterWidth = getOuterWidth;\nexports.getScroll = getScroll;\nexports.set = set;\n/* eslint-disable no-nested-ternary */\nvar PIXEL_PATTERN = /margin|padding|width|height|max|min|offset/;\nvar removePixel = {\n left: true,\n top: true\n};\nvar floatMap = {\n cssFloat: 1,\n styleFloat: 1,\n float: 1\n};\nfunction getComputedStyle(node) {\n return node.nodeType === 1 ? node.ownerDocument.defaultView.getComputedStyle(node, null) : {};\n}\nfunction getStyleValue(node, type, value) {\n type = type.toLowerCase();\n if (value === 'auto') {\n if (type === 'height') {\n return node.offsetHeight;\n }\n if (type === 'width') {\n return node.offsetWidth;\n }\n }\n if (!(type in removePixel)) {\n removePixel[type] = PIXEL_PATTERN.test(type);\n }\n return removePixel[type] ? parseFloat(value) || 0 : value;\n}\nfunction get(node, name) {\n var length = arguments.length;\n var style = getComputedStyle(node);\n name = floatMap[name] ? 'cssFloat' in node.style ? 'cssFloat' : 'styleFloat' : name;\n return length === 1 ? style : getStyleValue(node, name, style[name] || node.style[name]);\n}\nfunction set(node, name, value) {\n var length = arguments.length;\n name = floatMap[name] ? 'cssFloat' in node.style ? 'cssFloat' : 'styleFloat' : name;\n if (length === 3) {\n if (typeof value === 'number' && PIXEL_PATTERN.test(name)) {\n value = \"\".concat(value, \"px\");\n }\n node.style[name] = value; // Number\n return value;\n }\n for (var x in name) {\n if (name.hasOwnProperty(x)) {\n set(node, x, name[x]);\n }\n }\n return getComputedStyle(node);\n}\nfunction getOuterWidth(el) {\n if (el === document.body) {\n return document.documentElement.clientWidth;\n }\n return el.offsetWidth;\n}\nfunction getOuterHeight(el) {\n if (el === document.body) {\n return window.innerHeight || document.documentElement.clientHeight;\n }\n return el.offsetHeight;\n}\nfunction getDocSize() {\n var width = Math.max(document.documentElement.scrollWidth, document.body.scrollWidth);\n var height = Math.max(document.documentElement.scrollHeight, document.body.scrollHeight);\n return {\n width: width,\n height: height\n };\n}\nfunction getClientSize() {\n var width = document.documentElement.clientWidth;\n var height = window.innerHeight || document.documentElement.clientHeight;\n return {\n width: width,\n height: height\n };\n}\nfunction getScroll() {\n return {\n scrollLeft: Math.max(document.documentElement.scrollLeft, document.body.scrollLeft),\n scrollTop: Math.max(document.documentElement.scrollTop, document.body.scrollTop)\n };\n}\nfunction getOffset(node) {\n var box = node.getBoundingClientRect();\n var docElem = document.documentElement;\n\n // < ie8 不支持 win.pageXOffset, 则使用 docElem.scrollLeft\n return {\n left: box.left + (window.pageXOffset || docElem.scrollLeft) - (docElem.clientLeft || document.body.clientLeft || 0),\n top: box.top + (window.pageYOffset || docElem.scrollTop) - (docElem.clientTop || document.body.clientTop || 0)\n };\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}","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nvar _typeof = require(\"@babel/runtime/helpers/typeof\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.InternalTreeNode = void 0;\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\nvar _objectSpread2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectSpread2\"));\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\nvar _inherits2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inherits\"));\nvar _createSuper2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createSuper\"));\nvar React = _interopRequireWildcard(require(\"react\"));\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\nvar _pickAttrs = _interopRequireDefault(require(\"rc-util/lib/pickAttrs\"));\nvar _contextTypes = require(\"./contextTypes\");\nvar _Indent = _interopRequireDefault(require(\"./Indent\"));\nvar _treeUtil = require(\"./utils/treeUtil\");\nvar _excluded = [\"eventKey\", \"className\", \"style\", \"dragOver\", \"dragOverGapTop\", \"dragOverGapBottom\", \"isLeaf\", \"isStart\", \"isEnd\", \"expanded\", \"selected\", \"checked\", \"halfChecked\", \"loading\", \"domRef\", \"active\", \"data\", \"onMouseMove\", \"selectable\"]; // @ts-ignore\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\nvar ICON_OPEN = 'open';\nvar ICON_CLOSE = 'close';\nvar defaultTitle = '---';\nvar InternalTreeNode = /*#__PURE__*/function (_React$Component) {\n (0, _inherits2.default)(InternalTreeNode, _React$Component);\n var _super = (0, _createSuper2.default)(InternalTreeNode);\n function InternalTreeNode() {\n var _this;\n (0, _classCallCheck2.default)(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, (0, _treeUtil.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, (0, _treeUtil.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, (0, _treeUtil.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, (0, _treeUtil.convertNodePropsToEventData)(_this.props), targetChecked);\n };\n _this.onMouseEnter = function (e) {\n var onNodeMouseEnter = _this.props.context.onNodeMouseEnter;\n onNodeMouseEnter(e, (0, _treeUtil.convertNodePropsToEventData)(_this.props));\n };\n _this.onMouseLeave = function (e) {\n var onNodeMouseLeave = _this.props.context.onNodeMouseLeave;\n onNodeMouseLeave(e, (0, _treeUtil.convertNodePropsToEventData)(_this.props));\n };\n _this.onContextMenu = function (e) {\n var onNodeContextMenu = _this.props.context.onNodeContextMenu;\n onNodeContextMenu(e, (0, _treeUtil.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, (0, _assertThisInitialized2.default)(_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, (0, _assertThisInitialized2.default)(_this));\n };\n _this.onDragOver = function (e) {\n var onNodeDragOver = _this.props.context.onNodeDragOver;\n e.preventDefault();\n e.stopPropagation();\n onNodeDragOver(e, (0, _assertThisInitialized2.default)(_this));\n };\n _this.onDragLeave = function (e) {\n var onNodeDragLeave = _this.props.context.onNodeDragLeave;\n e.stopPropagation();\n onNodeDragLeave(e, (0, _assertThisInitialized2.default)(_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, (0, _assertThisInitialized2.default)(_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, (0, _assertThisInitialized2.default)(_this));\n };\n // Disabled item still can be switch\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, (0, _treeUtil.convertNodePropsToEventData)(_this.props));\n };\n // Drag usage\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 // Load data to avoid default expanded tree without data\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((0, _treeUtil.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 // ==================== Render: Drag Handler ====================\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 // ====================== Render: Switcher ======================\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((0, _objectSpread2.default)((0, _objectSpread2.default)({}, _this.props), {}, {\n isLeaf: isLeaf\n }));\n }\n return switcherIcon;\n };\n // Switcher\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: (0, _classnames.default)(\"\".concat(prefixCls, \"-switcher\"), \"\".concat(prefixCls, \"-switcher-noop\"))\n }, _switcherIconDom) : null;\n }\n var switcherCls = (0, _classnames.default)(\"\".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 // ====================== Render: Checkbox ======================\n // Checkbox\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: (0, _classnames.default)(\"\".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 // ==================== Render: Title + Icon ====================\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: (0, _classnames.default)(\"\".concat(prefixCls, \"-iconEle\"), \"\".concat(prefixCls, \"-icon__\").concat(_this.getNodeState() || 'docu'), loading && \"\".concat(prefixCls, \"-icon_loading\"))\n });\n };\n // Icon + Title\n _this.renderSelector = function () {\n var dragNodeHighlight = _this.state.dragNodeHighlight;\n var _this$props6 = _this.props,\n _this$props6$title = _this$props6.title,\n title = _this$props6$title === void 0 ? defaultTitle : _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: (0, _classnames.default)(\"\".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: (0, _classnames.default)(\"\".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 // =================== Render: Drop Indicator ===================\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 (0, _createClass2.default)(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 = (0, _objectWithoutProperties2.default)(_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 = (0, _pickAttrs.default)(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\", (0, _extends2.default)({\n ref: domRef,\n className: (0, _classnames.default)(className, \"\".concat(prefixCls, \"-treenode\"), (_classNames = {}, (0, _defineProperty2.default)(_classNames, \"\".concat(prefixCls, \"-treenode-disabled\"), disabled), (0, _defineProperty2.default)(_classNames, \"\".concat(prefixCls, \"-treenode-switcher-\").concat(expanded ? 'open' : 'close'), !isLeaf), (0, _defineProperty2.default)(_classNames, \"\".concat(prefixCls, \"-treenode-checkbox-checked\"), checked), (0, _defineProperty2.default)(_classNames, \"\".concat(prefixCls, \"-treenode-checkbox-indeterminate\"), halfChecked), (0, _defineProperty2.default)(_classNames, \"\".concat(prefixCls, \"-treenode-selected\"), selected), (0, _defineProperty2.default)(_classNames, \"\".concat(prefixCls, \"-treenode-loading\"), loading), (0, _defineProperty2.default)(_classNames, \"\".concat(prefixCls, \"-treenode-active\"), active), (0, _defineProperty2.default)(_classNames, \"\".concat(prefixCls, \"-treenode-leaf-last\"), isEndNode), (0, _defineProperty2.default)(_classNames, \"\".concat(prefixCls, \"-treenode-draggable\"), mergedDraggable), (0, _defineProperty2.default)(_classNames, \"dragging\", dragging), (0, _defineProperty2.default)(_classNames, 'drop-target', dropTargetKey === eventKey), (0, _defineProperty2.default)(_classNames, 'drop-container', dropContainerKey === eventKey), (0, _defineProperty2.default)(_classNames, 'drag-over', !disabled && dragOver), (0, _defineProperty2.default)(_classNames, 'drag-over-gap-top', !disabled && dragOverGapTop), (0, _defineProperty2.default)(_classNames, 'drag-over-gap-bottom', !disabled && dragOverGapBottom), (0, _defineProperty2.default)(_classNames, 'filter-node', filterTreeNode && filterTreeNode((0, _treeUtil.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.default, {\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);\nexports.InternalTreeNode = InternalTreeNode;\nvar ContextTreeNode = function ContextTreeNode(props) {\n return /*#__PURE__*/React.createElement(_contextTypes.TreeContext.Consumer, null, function (context) {\n return /*#__PURE__*/React.createElement(InternalTreeNode, (0, _extends2.default)({}, props, {\n context: context\n }));\n });\n};\nContextTreeNode.displayName = 'TreeNode';\nContextTreeNode.isTreeNode = 1;\nvar _default = ContextTreeNode;\nexports.default = _default;","\"use strict\";\n\nvar _typeof = require(\"@babel/runtime/helpers/typeof\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.TreeContext = void 0;\nvar React = _interopRequireWildcard(require(\"react\"));\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n/**\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 */\n\nvar TreeContext = /*#__PURE__*/React.createContext(null);\nexports.TreeContext = TreeContext;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nvar _typeof = require(\"@babel/runtime/helpers/typeof\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\nvar React = _interopRequireWildcard(require(\"react\"));\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\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: (0, _classnames.default)(baseClassName, (_classNames = {}, (0, _defineProperty2.default)(_classNames, \"\".concat(baseClassName, \"-start\"), isStart[i]), (0, _defineProperty2.default)(_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};\nvar _default = /*#__PURE__*/React.memo(Indent);\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.conductCheck = conductCheck;\nexports.isCheckDisabled = isCheckDisabled;\nvar _warning = _interopRequireDefault(require(\"rc-util/lib/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}\nfunction 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 */\nfunction 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 (0, _warning.default)(!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}"],"sourceRoot":""}