@next-bricks/advanced 0.41.1 → 0.41.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bricks.json +4 -4
- package/dist/chunks/106.0bf63d17.js +3 -0
- package/dist/chunks/106.0bf63d17.js.map +1 -0
- package/dist/chunks/{1512.1ebb5474.js → 1512.b233679b.js} +2 -2
- package/dist/chunks/1512.b233679b.js.map +1 -0
- package/dist/chunks/2194.2401f5c7.js +3 -0
- package/dist/chunks/2194.2401f5c7.js.map +1 -0
- package/dist/chunks/2197.a8236ec5.js +2 -0
- package/dist/chunks/2197.a8236ec5.js.map +1 -0
- package/dist/chunks/2252.30640853.js +3 -0
- package/dist/chunks/2252.30640853.js.map +1 -0
- package/dist/chunks/2353.959b91ad.js +2 -0
- package/dist/chunks/2353.959b91ad.js.map +1 -0
- package/dist/chunks/4411.19209b9a.js +3 -0
- package/dist/chunks/4411.19209b9a.js.map +1 -0
- package/dist/chunks/{4837.888c7bb9.js → 4837.7ba6cd88.js} +2 -2
- package/dist/chunks/{7218.63f4633f.js.map → 4837.7ba6cd88.js.map} +1 -1
- package/dist/chunks/5092.77841bd7.js +2 -0
- package/dist/chunks/5092.77841bd7.js.map +1 -0
- package/dist/chunks/5479.ee021f0e.js +2 -0
- package/dist/chunks/5479.ee021f0e.js.map +1 -0
- package/dist/chunks/6070.0cb500df.js +2 -0
- package/dist/chunks/6070.0cb500df.js.map +1 -0
- package/dist/chunks/6165.e9db8e85.js +3 -0
- package/dist/chunks/6165.e9db8e85.js.map +1 -0
- package/dist/chunks/6653.63cfd8c8.js +3 -0
- package/dist/chunks/6653.63cfd8c8.js.map +1 -0
- package/dist/chunks/{7218.63f4633f.js → 7218.2797999f.js} +2 -2
- package/dist/chunks/{4837.888c7bb9.js.map → 7218.2797999f.js.map} +1 -1
- package/dist/chunks/8623.7f025f81.js +2 -0
- package/dist/chunks/8623.7f025f81.js.map +1 -0
- package/dist/chunks/9978.5a5f4c5d.js +3 -0
- package/dist/chunks/9978.5a5f4c5d.js.map +1 -0
- package/dist/chunks/{capture-snapshot.524fa157.js → capture-snapshot.7bf07b28.js} +2 -2
- package/dist/chunks/{capture-snapshot.524fa157.js.map → capture-snapshot.7bf07b28.js.map} +1 -1
- package/dist/chunks/eo-cascader.c70d4f6c.js +2 -0
- package/dist/chunks/eo-cascader.c70d4f6c.js.map +1 -0
- package/dist/chunks/eo-next-table.2c4ff2b3.js +2 -0
- package/dist/chunks/eo-next-table.2c4ff2b3.js.map +1 -0
- package/dist/chunks/eo-table.585dcd61.js +2 -0
- package/dist/chunks/eo-table.585dcd61.js.map +1 -0
- package/dist/chunks/eo-text-tooltip.c821946e.js +2 -0
- package/dist/chunks/{eo-text-tooltip.c1be073e.js.map → eo-text-tooltip.c821946e.js.map} +1 -1
- package/dist/chunks/eo-tree-select.0ce22783.js +2 -0
- package/dist/chunks/eo-tree-select.0ce22783.js.map +1 -0
- package/dist/chunks/eo-tree.6f251481.js +3 -0
- package/dist/chunks/eo-tree.6f251481.js.map +1 -0
- package/dist/chunks/eo-workbench-layout-v2.ce4c6e6f.js +2 -0
- package/dist/chunks/eo-workbench-layout-v2.ce4c6e6f.js.map +1 -0
- package/dist/chunks/eo-workbench-layout.943d79fd.js +2 -0
- package/dist/chunks/eo-workbench-layout.943d79fd.js.map +1 -0
- package/dist/chunks/{main.0cd1494b.js → main.fc227f17.js} +2 -2
- package/dist/chunks/{main.0cd1494b.js.map → main.fc227f17.js.map} +1 -1
- package/dist/index.5f296ccb.js +2 -0
- package/dist/{index.3844b20a.js.map → index.5f296ccb.js.map} +1 -1
- package/dist/manifest.json +15 -10
- package/dist/types.json +35 -28
- package/dist-types/next-table/Table.d.ts +1 -0
- package/dist-types/next-table/index.d.ts +4 -0
- package/package.json +2 -2
- package/dist/chunks/1512.1ebb5474.js.map +0 -1
- package/dist/chunks/2197.2385bc67.js +0 -2
- package/dist/chunks/2197.2385bc67.js.map +0 -1
- package/dist/chunks/2252.65e0507e.js +0 -3
- package/dist/chunks/2252.65e0507e.js.map +0 -1
- package/dist/chunks/2353.f2725e1a.js +0 -2
- package/dist/chunks/2353.f2725e1a.js.map +0 -1
- package/dist/chunks/4766.4f855e05.js +0 -3
- package/dist/chunks/4766.4f855e05.js.map +0 -1
- package/dist/chunks/5092.40336bcc.js +0 -2
- package/dist/chunks/5092.40336bcc.js.map +0 -1
- package/dist/chunks/5368.87af8ccf.js +0 -3
- package/dist/chunks/5368.87af8ccf.js.map +0 -1
- package/dist/chunks/5479.00620ca0.js +0 -2
- package/dist/chunks/5479.00620ca0.js.map +0 -1
- package/dist/chunks/5578.4acba416.js +0 -3
- package/dist/chunks/5578.4acba416.js.map +0 -1
- package/dist/chunks/6070.aefdb28c.js +0 -2
- package/dist/chunks/6070.aefdb28c.js.map +0 -1
- package/dist/chunks/613.e8771f2f.js +0 -3
- package/dist/chunks/613.e8771f2f.js.map +0 -1
- package/dist/chunks/6165.14fe2bc0.js +0 -3
- package/dist/chunks/6165.14fe2bc0.js.map +0 -1
- package/dist/chunks/9484.90783904.js +0 -2
- package/dist/chunks/9484.90783904.js.map +0 -1
- package/dist/chunks/9978.ab072b2a.js +0 -3
- package/dist/chunks/9978.ab072b2a.js.map +0 -1
- package/dist/chunks/eo-cascader.7c066651.js +0 -2
- package/dist/chunks/eo-cascader.7c066651.js.map +0 -1
- package/dist/chunks/eo-next-table.edd61270.js +0 -2
- package/dist/chunks/eo-next-table.edd61270.js.map +0 -1
- package/dist/chunks/eo-table.8c9e6a7b.js +0 -2
- package/dist/chunks/eo-table.8c9e6a7b.js.map +0 -1
- package/dist/chunks/eo-text-tooltip.c1be073e.js +0 -2
- package/dist/chunks/eo-tree-select.834b6bc0.js +0 -2
- package/dist/chunks/eo-tree-select.834b6bc0.js.map +0 -1
- package/dist/chunks/eo-tree.60911214.js +0 -3
- package/dist/chunks/eo-tree.60911214.js.map +0 -1
- package/dist/chunks/eo-workbench-layout-v2.264ac715.js +0 -2
- package/dist/chunks/eo-workbench-layout-v2.264ac715.js.map +0 -1
- package/dist/chunks/eo-workbench-layout.a7798047.js +0 -2
- package/dist/chunks/eo-workbench-layout.a7798047.js.map +0 -1
- package/dist/index.3844b20a.js +0 -2
- /package/dist/chunks/{5368.87af8ccf.js.LICENSE.txt → 106.0bf63d17.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{5578.4acba416.js.LICENSE.txt → 2194.2401f5c7.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{2252.65e0507e.js.LICENSE.txt → 2252.30640853.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{4766.4f855e05.js.LICENSE.txt → 4411.19209b9a.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{6165.14fe2bc0.js.LICENSE.txt → 6165.e9db8e85.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{613.e8771f2f.js.LICENSE.txt → 6653.63cfd8c8.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{9978.ab072b2a.js.LICENSE.txt → 9978.5a5f4c5d.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{eo-tree.60911214.js.LICENSE.txt → eo-tree.6f251481.js.LICENSE.txt} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chunks/106.0bf63d17.js","mappings":"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","sources":["webpack:///../../node_modules/@ant-design/icons-svg/es/asn/FileOutlined.js","webpack:///../../node_modules/@ant-design/icons/es/icons/FileOutlined.js","webpack:///../../node_modules/antd/es/_util/reactNode.js","webpack:///../../node_modules/antd/es/style/motion/collapse.js","webpack:///../../node_modules/antd/es/tree/style/directory.js","webpack:///../../node_modules/antd/es/tree/style/index.js","webpack:///../../node_modules/@ant-design/icons-svg/es/asn/CaretDownFilled.js","webpack:///../../node_modules/@ant-design/icons/es/icons/CaretDownFilled.js","webpack:///../../node_modules/@ant-design/icons-svg/es/asn/MinusSquareOutlined.js","webpack:///../../node_modules/@ant-design/icons/es/icons/MinusSquareOutlined.js","webpack:///../../node_modules/@ant-design/icons-svg/es/asn/PlusSquareOutlined.js","webpack:///../../node_modules/@ant-design/icons/es/icons/PlusSquareOutlined.js","webpack:///../../node_modules/antd/es/tree/utils/iconUtil.js","webpack:///../../node_modules/rc-tree/es/Indent.js","webpack:///../../node_modules/rc-tree/es/TreeNode.js","webpack:///../../node_modules/rc-tree/es/contextTypes.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/objectDestructuringEmpty.js","webpack:///../../node_modules/rc-tree/es/MotionTreeNode.js","webpack:///../../node_modules/rc-tree/es/useUnmount.js","webpack:///../../node_modules/rc-tree/es/utils/diffUtil.js","webpack:///../../node_modules/rc-tree/es/NodeList.js","webpack:///../../node_modules/rc-tree/es/Tree.js","webpack:///../../node_modules/rc-tree/es/DropIndicator.js","webpack:///../../node_modules/rc-tree/es/index.js","webpack:///../../node_modules/rc-tree/es/util.js"],"sourcesContent":["// This icon file is generated automatically.\nvar FileOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM790.2 326H602V137.8L790.2 326zm1.8 562H232V136h302v216a42 42 0 0042 42h216v494z\" } }] }, \"name\": \"file\", \"theme\": \"outlined\" };\nexport default FileOutlined;\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nimport * as React from 'react';\nimport FileOutlinedSvg from \"@ant-design/icons-svg/es/asn/FileOutlined\";\nimport AntdIcon from \"../components/AntdIcon\";\nvar FileOutlined = function FileOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _extends({}, props, {\n ref: ref,\n icon: FileOutlinedSvg\n }));\n};\n\n/** */\nvar RefIcon = /*#__PURE__*/React.forwardRef(FileOutlined);\nif (process.env.NODE_ENV !== 'production') {\n RefIcon.displayName = 'FileOutlined';\n}\nexport default RefIcon;","import React from 'react';\nexport function isFragment(child) {\n return child && /*#__PURE__*/React.isValidElement(child) && child.type === React.Fragment;\n}\nexport const replaceElement = (element, replacement, props) => {\n if (! /*#__PURE__*/React.isValidElement(element)) {\n return replacement;\n }\n return /*#__PURE__*/React.cloneElement(element, typeof props === 'function' ? props(element.props || {}) : props);\n};\nexport function cloneElement(element, props) {\n return replaceElement(element, element, props);\n}","const genCollapseMotion = token => ({\n [token.componentCls]: {\n // For common/openAnimation\n [`${token.antCls}-motion-collapse-legacy`]: {\n overflow: 'hidden',\n '&-active': {\n transition: `height ${token.motionDurationMid} ${token.motionEaseInOut},\n opacity ${token.motionDurationMid} ${token.motionEaseInOut} !important`\n }\n },\n [`${token.antCls}-motion-collapse`]: {\n overflow: 'hidden',\n transition: `height ${token.motionDurationMid} ${token.motionEaseInOut},\n opacity ${token.motionDurationMid} ${token.motionEaseInOut} !important`\n }\n }\n});\nexport default genCollapseMotion;","// ============================ Directory =============================\nexport const genDirectoryStyle = _ref => {\n let {\n treeCls,\n treeNodeCls,\n directoryNodeSelectedBg,\n directoryNodeSelectedColor,\n motionDurationMid,\n borderRadius,\n controlItemBgHover\n } = _ref;\n return {\n [`${treeCls}${treeCls}-directory ${treeNodeCls}`]: {\n // >>> Title\n [`${treeCls}-node-content-wrapper`]: {\n position: 'static',\n [`> *:not(${treeCls}-drop-indicator)`]: {\n position: 'relative'\n },\n '&:hover': {\n background: 'transparent'\n },\n // Expand interactive area to whole line\n '&:before': {\n position: 'absolute',\n inset: 0,\n transition: `background-color ${motionDurationMid}`,\n content: '\"\"',\n borderRadius\n },\n '&:hover:before': {\n background: controlItemBgHover\n }\n },\n [`${treeCls}-switcher`]: {\n marginInlineEnd: 0\n },\n // ============= Selected =============\n '&-selected': {\n [`${treeCls}-switcher, ${treeCls}-draggable-icon`]: {\n color: directoryNodeSelectedColor,\n zIndex: 1\n },\n // >>> Title\n [`${treeCls}-node-content-wrapper`]: {\n color: directoryNodeSelectedColor,\n background: 'transparent',\n '&:before, &:hover:before': {\n background: directoryNodeSelectedBg\n }\n }\n }\n }\n };\n};","import { Keyframes, unit } from '@ant-design/cssinjs';\nimport { getStyle as getCheckboxStyle } from '../../checkbox/style';\nimport { genFocusOutline, resetComponent } from '../../style';\nimport { genCollapseMotion } from '../../style/motion';\nimport { genStyleHooks, mergeToken } from '../../theme/internal';\nimport { genDirectoryStyle } from './directory';\n// ============================ Keyframes =============================\nconst treeNodeFX = new Keyframes('ant-tree-node-fx-do-not-use', {\n '0%': {\n opacity: 0\n },\n '100%': {\n opacity: 1\n }\n});\n// ============================== Switch ==============================\nconst getSwitchStyle = (prefixCls, token) => ({\n [`.${prefixCls}-switcher-icon`]: {\n display: 'inline-block',\n fontSize: 10,\n verticalAlign: 'baseline',\n svg: {\n transition: `transform ${token.motionDurationSlow}`\n }\n }\n});\n// =============================== Drop ===============================\nconst getDropIndicatorStyle = (prefixCls, token) => ({\n [`.${prefixCls}-drop-indicator`]: {\n position: 'absolute',\n // it should displayed over the following node\n zIndex: 1,\n height: 2,\n backgroundColor: token.colorPrimary,\n borderRadius: 1,\n pointerEvents: 'none',\n '&:after': {\n position: 'absolute',\n top: -3,\n insetInlineStart: -6,\n width: 8,\n height: 8,\n backgroundColor: 'transparent',\n border: `${unit(token.lineWidthBold)} solid ${token.colorPrimary}`,\n borderRadius: '50%',\n content: '\"\"'\n }\n }\n});\nexport const genBaseStyle = (prefixCls, token) => {\n const {\n treeCls,\n treeNodeCls,\n treeNodePadding,\n titleHeight,\n indentSize,\n nodeSelectedBg,\n nodeHoverBg,\n colorTextQuaternary\n } = token;\n const treeCheckBoxMarginHorizontal = token.marginXXS;\n return {\n [treeCls]: Object.assign(Object.assign({}, resetComponent(token)), {\n background: token.colorBgContainer,\n borderRadius: token.borderRadius,\n transition: `background-color ${token.motionDurationSlow}`,\n '&-rtl': {\n direction: 'rtl'\n },\n [`&${treeCls}-rtl ${treeCls}-switcher_close ${treeCls}-switcher-icon svg`]: {\n transform: 'rotate(90deg)'\n },\n [`&-focused:not(:hover):not(${treeCls}-active-focused)`]: Object.assign({}, genFocusOutline(token)),\n // =================== Virtual List ===================\n [`${treeCls}-list-holder-inner`]: {\n alignItems: 'flex-start'\n },\n [`&${treeCls}-block-node`]: {\n [`${treeCls}-list-holder-inner`]: {\n alignItems: 'stretch',\n // >>> Title\n [`${treeCls}-node-content-wrapper`]: {\n flex: 'auto'\n },\n // >>> Drag\n [`${treeNodeCls}.dragging:after`]: {\n position: 'absolute',\n inset: 0,\n border: `1px solid ${token.colorPrimary}`,\n opacity: 0,\n animationName: treeNodeFX,\n animationDuration: token.motionDurationSlow,\n animationPlayState: 'running',\n animationFillMode: 'forwards',\n content: '\"\"',\n pointerEvents: 'none',\n borderRadius: token.borderRadius\n }\n }\n },\n // ===================== TreeNode =====================\n [treeNodeCls]: {\n display: 'flex',\n alignItems: 'flex-start',\n marginBottom: treeNodePadding,\n lineHeight: unit(titleHeight),\n position: 'relative',\n // 非常重要,避免 drop-indicator 在拖拽过程中闪烁\n '&:before': {\n content: '\"\"',\n position: 'absolute',\n zIndex: 1,\n insetInlineStart: 0,\n width: '100%',\n top: '100%',\n height: treeNodePadding\n },\n // Disabled\n [`&-disabled ${treeCls}-node-content-wrapper`]: {\n color: token.colorTextDisabled,\n cursor: 'not-allowed',\n '&:hover': {\n background: 'transparent'\n }\n },\n // not disable\n [`&:not(${treeNodeCls}-disabled)`]: {\n // >>> Title\n [`${treeCls}-node-content-wrapper`]: {\n '&:hover': {\n color: token.nodeHoverColor\n }\n }\n },\n [`&-active ${treeCls}-node-content-wrapper`]: {\n background: token.controlItemBgHover\n },\n [`&:not(${treeNodeCls}-disabled).filter-node ${treeCls}-title`]: {\n color: token.colorPrimary,\n fontWeight: 500\n },\n '&-draggable': {\n cursor: 'grab',\n [`${treeCls}-draggable-icon`]: {\n // https://github.com/ant-design/ant-design/issues/41915\n flexShrink: 0,\n width: titleHeight,\n textAlign: 'center',\n visibility: 'visible',\n color: colorTextQuaternary\n },\n [`&${treeNodeCls}-disabled ${treeCls}-draggable-icon`]: {\n visibility: 'hidden'\n }\n }\n },\n // >>> Indent\n [`${treeCls}-indent`]: {\n alignSelf: 'stretch',\n whiteSpace: 'nowrap',\n userSelect: 'none',\n '&-unit': {\n display: 'inline-block',\n width: indentSize\n }\n },\n // >>> Drag Handler\n [`${treeCls}-draggable-icon`]: {\n visibility: 'hidden'\n },\n // >>> Switcher\n [`${treeCls}-switcher`]: Object.assign(Object.assign({}, getSwitchStyle(prefixCls, token)), {\n position: 'relative',\n flex: 'none',\n alignSelf: 'stretch',\n width: titleHeight,\n margin: 0,\n textAlign: 'center',\n cursor: 'pointer',\n userSelect: 'none',\n transition: `all ${token.motionDurationSlow}`,\n marginInlineEnd: token.calc(token.calc(titleHeight).sub(token.controlInteractiveSize)).div(2).equal(),\n '&-noop': {\n cursor: 'unset'\n },\n '&:before': {\n pointerEvents: 'none',\n content: '\"\"',\n width: titleHeight,\n height: titleHeight,\n position: 'absolute',\n left: {\n _skip_check_: true,\n value: 0\n },\n top: 0,\n borderRadius: token.borderRadius,\n transition: `all ${token.motionDurationSlow}`\n },\n [`&:not(${treeCls}-switcher-noop):hover:before`]: {\n backgroundColor: token.colorBgTextHover\n },\n [`&_close ${treeCls}-switcher-icon svg`]: {\n transform: 'rotate(-90deg)'\n },\n '&-loading-icon': {\n color: token.colorPrimary\n },\n '&-leaf-line': {\n position: 'relative',\n zIndex: 1,\n display: 'inline-block',\n width: '100%',\n height: '100%',\n // https://github.com/ant-design/ant-design/issues/31884\n '&:before': {\n position: 'absolute',\n top: 0,\n insetInlineEnd: token.calc(titleHeight).div(2).equal(),\n bottom: token.calc(treeNodePadding).mul(-1).equal(),\n marginInlineStart: -1,\n borderInlineEnd: `1px solid ${token.colorBorder}`,\n content: '\"\"'\n },\n '&:after': {\n position: 'absolute',\n width: token.calc(token.calc(titleHeight).div(2).equal()).mul(0.8).equal(),\n height: token.calc(titleHeight).div(2).equal(),\n borderBottom: `1px solid ${token.colorBorder}`,\n content: '\"\"'\n }\n }\n }),\n // >>> Checkbox\n [`${treeCls}-checkbox`]: {\n top: 'initial',\n marginInlineEnd: treeCheckBoxMarginHorizontal,\n alignSelf: 'flex-start',\n marginTop: token.marginXXS\n },\n // >>> Title\n // add `${treeCls}-checkbox + span` to cover checkbox `${checkboxCls} + span`\n [`${treeCls}-node-content-wrapper`]: Object.assign(Object.assign({\n position: 'relative',\n minHeight: titleHeight,\n paddingBlock: 0,\n paddingInline: token.paddingXS,\n background: 'transparent',\n borderRadius: token.borderRadius,\n cursor: 'pointer',\n transition: `all ${token.motionDurationMid}, border 0s, line-height 0s, box-shadow 0s`\n }, getDropIndicatorStyle(prefixCls, token)), {\n '&:hover': {\n backgroundColor: nodeHoverBg\n },\n [`&${treeCls}-node-selected`]: {\n color: token.nodeSelectedColor,\n backgroundColor: nodeSelectedBg\n },\n // Icon\n [`${treeCls}-iconEle`]: {\n display: 'inline-block',\n width: titleHeight,\n height: titleHeight,\n textAlign: 'center',\n verticalAlign: 'top',\n '&:empty': {\n display: 'none'\n }\n }\n }),\n // https://github.com/ant-design/ant-design/issues/28217\n [`${treeCls}-unselectable ${treeCls}-node-content-wrapper:hover`]: {\n backgroundColor: 'transparent'\n },\n [`${treeNodeCls}.drop-container > [draggable]`]: {\n boxShadow: `0 0 0 2px ${token.colorPrimary}`\n },\n // ==================== Show Line =====================\n '&-show-line': {\n // ================ Indent lines ================\n [`${treeCls}-indent-unit`]: {\n position: 'relative',\n height: '100%',\n '&:before': {\n position: 'absolute',\n top: 0,\n insetInlineEnd: token.calc(titleHeight).div(2).equal(),\n bottom: token.calc(treeNodePadding).mul(-1).equal(),\n borderInlineEnd: `1px solid ${token.colorBorder}`,\n content: '\"\"'\n },\n '&-end:before': {\n display: 'none'\n }\n },\n // ============== Cover Background ==============\n [`${treeCls}-switcher`]: {\n background: 'transparent',\n '&-line-icon': {\n // https://github.com/ant-design/ant-design/issues/32813\n verticalAlign: '-0.15em'\n }\n }\n },\n [`${treeNodeCls}-leaf-last ${treeCls}-switcher-leaf-line:before`]: {\n top: 'auto !important',\n bottom: 'auto !important',\n height: `${unit(token.calc(titleHeight).div(2).equal())} !important`\n }\n })\n };\n};\n// ============================== Merged ==============================\nexport const genTreeStyle = (prefixCls, token) => {\n const treeCls = `.${prefixCls}`;\n const treeNodeCls = `${treeCls}-treenode`;\n const treeNodePadding = token.calc(token.paddingXS).div(2).equal();\n const treeToken = mergeToken(token, {\n treeCls,\n treeNodeCls,\n treeNodePadding\n });\n return [\n // Basic\n genBaseStyle(prefixCls, treeToken),\n // Directory\n genDirectoryStyle(treeToken)];\n};\nexport const initComponentToken = token => {\n const {\n controlHeightSM,\n controlItemBgHover,\n controlItemBgActive\n } = token;\n const titleHeight = controlHeightSM;\n return {\n titleHeight,\n indentSize: titleHeight,\n nodeHoverBg: controlItemBgHover,\n nodeHoverColor: token.colorText,\n nodeSelectedBg: controlItemBgActive,\n nodeSelectedColor: token.colorText\n };\n};\nexport const prepareComponentToken = token => {\n const {\n colorTextLightSolid,\n colorPrimary\n } = token;\n return Object.assign(Object.assign({}, initComponentToken(token)), {\n directoryNodeSelectedColor: colorTextLightSolid,\n directoryNodeSelectedBg: colorPrimary\n });\n};\nexport default genStyleHooks('Tree', (token, _ref) => {\n let {\n prefixCls\n } = _ref;\n return [{\n [token.componentCls]: getCheckboxStyle(`${prefixCls}-checkbox`, token)\n }, genTreeStyle(prefixCls, token), genCollapseMotion(token)];\n}, prepareComponentToken);","// This icon file is generated automatically.\nvar CaretDownFilled = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"0 0 1024 1024\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M840.4 300H183.6c-19.7 0-30.7 20.8-18.5 35l328.4 380.8c9.4 10.9 27.5 10.9 37 0L858.9 335c12.2-14.2 1.2-35-18.5-35z\" } }] }, \"name\": \"caret-down\", \"theme\": \"filled\" };\nexport default CaretDownFilled;\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nimport * as React from 'react';\nimport CaretDownFilledSvg from \"@ant-design/icons-svg/es/asn/CaretDownFilled\";\nimport AntdIcon from \"../components/AntdIcon\";\nvar CaretDownFilled = function CaretDownFilled(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _extends({}, props, {\n ref: ref,\n icon: CaretDownFilledSvg\n }));\n};\n\n/** */\nvar RefIcon = /*#__PURE__*/React.forwardRef(CaretDownFilled);\nif (process.env.NODE_ENV !== 'production') {\n RefIcon.displayName = 'CaretDownFilled';\n}\nexport default RefIcon;","// This icon file is generated automatically.\nvar MinusSquareOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M328 544h368c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H328c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8z\" } }, { \"tag\": \"path\", \"attrs\": { \"d\": \"M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z\" } }] }, \"name\": \"minus-square\", \"theme\": \"outlined\" };\nexport default MinusSquareOutlined;\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nimport * as React from 'react';\nimport MinusSquareOutlinedSvg from \"@ant-design/icons-svg/es/asn/MinusSquareOutlined\";\nimport AntdIcon from \"../components/AntdIcon\";\nvar MinusSquareOutlined = function MinusSquareOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _extends({}, props, {\n ref: ref,\n icon: MinusSquareOutlinedSvg\n }));\n};\n\n/** */\nvar RefIcon = /*#__PURE__*/React.forwardRef(MinusSquareOutlined);\nif (process.env.NODE_ENV !== 'production') {\n RefIcon.displayName = 'MinusSquareOutlined';\n}\nexport default RefIcon;","// This icon file is generated automatically.\nvar PlusSquareOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M328 544h152v152c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V544h152c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H544V328c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v152H328c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8z\" } }, { \"tag\": \"path\", \"attrs\": { \"d\": \"M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z\" } }] }, \"name\": \"plus-square\", \"theme\": \"outlined\" };\nexport default PlusSquareOutlined;\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nimport * as React from 'react';\nimport PlusSquareOutlinedSvg from \"@ant-design/icons-svg/es/asn/PlusSquareOutlined\";\nimport AntdIcon from \"../components/AntdIcon\";\nvar PlusSquareOutlined = function PlusSquareOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _extends({}, props, {\n ref: ref,\n icon: PlusSquareOutlinedSvg\n }));\n};\n\n/** */\nvar RefIcon = /*#__PURE__*/React.forwardRef(PlusSquareOutlined);\nif (process.env.NODE_ENV !== 'production') {\n RefIcon.displayName = 'PlusSquareOutlined';\n}\nexport default RefIcon;","\"use client\";\n\nimport * as React from 'react';\nimport CaretDownFilled from \"@ant-design/icons/es/icons/CaretDownFilled\";\nimport FileOutlined from \"@ant-design/icons/es/icons/FileOutlined\";\nimport LoadingOutlined from \"@ant-design/icons/es/icons/LoadingOutlined\";\nimport MinusSquareOutlined from \"@ant-design/icons/es/icons/MinusSquareOutlined\";\nimport PlusSquareOutlined from \"@ant-design/icons/es/icons/PlusSquareOutlined\";\nimport classNames from 'classnames';\nimport { cloneElement } from '../../_util/reactNode';\nconst SwitcherIconCom = props => {\n const {\n prefixCls,\n switcherIcon,\n treeNodeProps,\n showLine,\n switcherLoadingIcon\n } = props;\n const {\n isLeaf,\n expanded,\n loading\n } = treeNodeProps;\n if (loading) {\n if (/*#__PURE__*/React.isValidElement(switcherLoadingIcon)) {\n return switcherLoadingIcon;\n }\n return /*#__PURE__*/React.createElement(LoadingOutlined, {\n className: `${prefixCls}-switcher-loading-icon`\n });\n }\n let showLeafIcon;\n if (showLine && typeof showLine === 'object') {\n showLeafIcon = showLine.showLeafIcon;\n }\n if (isLeaf) {\n if (!showLine) {\n return null;\n }\n if (typeof showLeafIcon !== 'boolean' && !!showLeafIcon) {\n const leafIcon = typeof showLeafIcon === 'function' ? showLeafIcon(treeNodeProps) : showLeafIcon;\n const leafCls = `${prefixCls}-switcher-line-custom-icon`;\n if (/*#__PURE__*/React.isValidElement(leafIcon)) {\n return cloneElement(leafIcon, {\n className: classNames(leafIcon.props.className || '', leafCls)\n });\n }\n return leafIcon;\n }\n return showLeafIcon ? (/*#__PURE__*/React.createElement(FileOutlined, {\n className: `${prefixCls}-switcher-line-icon`\n })) : (/*#__PURE__*/React.createElement(\"span\", {\n className: `${prefixCls}-switcher-leaf-line`\n }));\n }\n const switcherCls = `${prefixCls}-switcher-icon`;\n const switcher = typeof switcherIcon === 'function' ? switcherIcon(treeNodeProps) : switcherIcon;\n if (/*#__PURE__*/React.isValidElement(switcher)) {\n return cloneElement(switcher, {\n className: classNames(switcher.props.className || '', switcherCls)\n });\n }\n if (switcher !== undefined) {\n return switcher;\n }\n if (showLine) {\n return expanded ? (/*#__PURE__*/React.createElement(MinusSquareOutlined, {\n className: `${prefixCls}-switcher-line-icon`\n })) : (/*#__PURE__*/React.createElement(PlusSquareOutlined, {\n className: `${prefixCls}-switcher-line-icon`\n }));\n }\n return /*#__PURE__*/React.createElement(CaretDownFilled, {\n className: switcherCls\n });\n};\nexport default SwitcherIconCom;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport classNames from 'classnames';\nimport * as React from 'react';\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 list.push( /*#__PURE__*/React.createElement(\"span\", {\n key: i,\n className: classNames(baseClassName, _defineProperty(_defineProperty({}, \"\".concat(baseClassName, \"-start\"), isStart[i]), \"\".concat(baseClassName, \"-end\"), isEnd[i]))\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 _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\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nvar _excluded = [\"eventKey\", \"className\", \"style\", \"dragOver\", \"dragOverGapTop\", \"dragOverGapBottom\", \"isLeaf\", \"isStart\", \"isEnd\", \"expanded\", \"selected\", \"checked\", \"halfChecked\", \"loading\", \"domRef\", \"active\", \"data\", \"onMouseMove\", \"selectable\"];\nimport classNames from 'classnames';\nimport pickAttrs from \"rc-util/es/pickAttrs\";\nimport * as React from 'react';\n// @ts-ignore\nimport { TreeContext } from \"./contextTypes\";\nimport Indent from \"./Indent\";\nimport getEntity from \"./utils/keyUtil\";\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 _defineProperty(_assertThisInitialized(_this), \"state\", {\n dragNodeHighlight: false\n });\n _defineProperty(_assertThisInitialized(_this), \"selectHandle\", void 0);\n _defineProperty(_assertThisInitialized(_this), \"cacheIndent\", void 0);\n _defineProperty(_assertThisInitialized(_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 _defineProperty(_assertThisInitialized(_this), \"onSelectorDoubleClick\", function (e) {\n var onNodeDoubleClick = _this.props.context.onNodeDoubleClick;\n onNodeDoubleClick(e, convertNodePropsToEventData(_this.props));\n });\n _defineProperty(_assertThisInitialized(_this), \"onSelect\", function (e) {\n if (_this.isDisabled()) return;\n var onNodeSelect = _this.props.context.onNodeSelect;\n onNodeSelect(e, convertNodePropsToEventData(_this.props));\n });\n _defineProperty(_assertThisInitialized(_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 var targetChecked = !checked;\n onNodeCheck(e, convertNodePropsToEventData(_this.props), targetChecked);\n });\n _defineProperty(_assertThisInitialized(_this), \"onMouseEnter\", function (e) {\n var onNodeMouseEnter = _this.props.context.onNodeMouseEnter;\n onNodeMouseEnter(e, convertNodePropsToEventData(_this.props));\n });\n _defineProperty(_assertThisInitialized(_this), \"onMouseLeave\", function (e) {\n var onNodeMouseLeave = _this.props.context.onNodeMouseLeave;\n onNodeMouseLeave(e, convertNodePropsToEventData(_this.props));\n });\n _defineProperty(_assertThisInitialized(_this), \"onContextMenu\", function (e) {\n var onNodeContextMenu = _this.props.context.onNodeContextMenu;\n onNodeContextMenu(e, convertNodePropsToEventData(_this.props));\n });\n _defineProperty(_assertThisInitialized(_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 _defineProperty(_assertThisInitialized(_this), \"onDragEnter\", function (e) {\n var onNodeDragEnter = _this.props.context.onNodeDragEnter;\n e.preventDefault();\n e.stopPropagation();\n onNodeDragEnter(e, _assertThisInitialized(_this));\n });\n _defineProperty(_assertThisInitialized(_this), \"onDragOver\", function (e) {\n var onNodeDragOver = _this.props.context.onNodeDragOver;\n e.preventDefault();\n e.stopPropagation();\n onNodeDragOver(e, _assertThisInitialized(_this));\n });\n _defineProperty(_assertThisInitialized(_this), \"onDragLeave\", function (e) {\n var onNodeDragLeave = _this.props.context.onNodeDragLeave;\n e.stopPropagation();\n onNodeDragLeave(e, _assertThisInitialized(_this));\n });\n _defineProperty(_assertThisInitialized(_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 _defineProperty(_assertThisInitialized(_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 _defineProperty(_assertThisInitialized(_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 _defineProperty(_assertThisInitialized(_this), \"setSelectHandle\", function (node) {\n _this.selectHandle = node;\n });\n _defineProperty(_assertThisInitialized(_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 _defineProperty(_assertThisInitialized(_this), \"hasChildren\", function () {\n var eventKey = _this.props.eventKey;\n var keyEntities = _this.props.context.keyEntities;\n var _ref = getEntity(keyEntities, eventKey) || {},\n children = _ref.children;\n return !!(children || []).length;\n });\n _defineProperty(_assertThisInitialized(_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 _defineProperty(_assertThisInitialized(_this), \"isDisabled\", function () {\n var disabled = _this.props.disabled;\n var treeDisabled = _this.props.context.disabled;\n return !!(treeDisabled || disabled);\n });\n _defineProperty(_assertThisInitialized(_this), \"isCheckable\", function () {\n var checkable = _this.props.checkable;\n var treeCheckable = _this.props.context.checkable;\n\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 _defineProperty(_assertThisInitialized(_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\n // read from state to avoid loadData at same time\n if (loadData && expanded && !_this.isLeaf() && !loaded) {\n // We needn't reload data when has children in sync logic\n // It's only needed in node expanded\n onNodeLoad(convertNodePropsToEventData(_this.props));\n }\n });\n _defineProperty(_assertThisInitialized(_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 _defineProperty(_assertThisInitialized(_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 && draggable.icon ? /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-draggable-icon\")\n }, draggable.icon) : null;\n });\n // ====================== Render: Switcher ======================\n _defineProperty(_assertThisInitialized(_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 _defineProperty(_assertThisInitialized(_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 _defineProperty(_assertThisInitialized(_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\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 _defineProperty(_assertThisInitialized(_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 _defineProperty(_assertThisInitialized(_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\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\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 _defineProperty(_assertThisInitialized(_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\n // This is a hot fix which is already fixed in\n // https://github.com/react-component/tree/pull/743/files\n // But some case need break point so we hack on this\n // ref https://github.com/ant-design/ant-design/issues/43493\n var mergedIndent = indent !== null && indent !== void 0 ? indent : _this.cacheIndent;\n _this.cacheIndent = indent;\n return showIndicator ? dropIndicatorRender({\n dropPosition: dropPosition,\n dropLevelOffset: dropLevelOffset,\n indent: mergedIndent,\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\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 = getEntity(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(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_classNames, \"\".concat(prefixCls, \"-treenode-disabled\"), disabled), \"\".concat(prefixCls, \"-treenode-switcher-\").concat(expanded ? 'open' : 'close'), !isLeaf), \"\".concat(prefixCls, \"-treenode-checkbox-checked\"), checked), \"\".concat(prefixCls, \"-treenode-checkbox-indeterminate\"), halfChecked), \"\".concat(prefixCls, \"-treenode-selected\"), selected), \"\".concat(prefixCls, \"-treenode-loading\"), loading), \"\".concat(prefixCls, \"-treenode-active\"), active), \"\".concat(prefixCls, \"-treenode-leaf-last\"), isEndNode), \"\".concat(prefixCls, \"-treenode-draggable\"), mergedDraggable), \"dragging\", dragging), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_classNames, 'drop-target', dropTargetKey === eventKey), 'drop-container', dropContainerKey === eventKey), 'drag-over', !disabled && dragOver), 'drag-over-gap-top', !disabled && dragOverGapTop), 'drag-over-gap-bottom', !disabled && dragOverGapBottom), 'filter-node', filterTreeNode && filterTreeNode(convertNodePropsToEventData(this.props))))),\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 default ContextTreeNode;","/**\n * Webpack has bug for import loop, which is not the same behavior as ES module.\n * When util.js imports the TreeNode for tree generate will cause treeContextTypes be empty.\n */\nimport * as React from 'react';\nexport var TreeContext = /*#__PURE__*/React.createContext(null);","export default function _objectDestructuringEmpty(obj) {\n if (obj == null) throw new TypeError(\"Cannot destructure \" + obj);\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectDestructuringEmpty from \"@babel/runtime/helpers/esm/objectDestructuringEmpty\";\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 classNames from 'classnames';\nimport CSSMotion from 'rc-motion';\nimport useLayoutEffect from \"rc-util/es/hooks/useLayoutEffect\";\nimport * as React from 'react';\nimport { TreeContext } from \"./contextTypes\";\nimport TreeNode from \"./TreeNode\";\nimport useUnmount from \"./useUnmount\";\nimport { getTreeNodeProps } from \"./utils/treeUtil\";\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\n // Calculate target visible here.\n // And apply in effect to make `leave` motion work.\n var targetVisible = motionNodes && motionType !== 'hide';\n useLayoutEffect(function () {\n if (motionNodes) {\n if (targetVisible !== visible) {\n setVisible(targetVisible);\n }\n }\n }, [motionNodes]);\n var triggerMotionStart = function triggerMotionStart() {\n if (motionNodes) {\n onOriginMotionStart();\n }\n };\n\n // Should only trigger once\n var triggerMotionEndRef = React.useRef(false);\n var triggerMotionEnd = function triggerMotionEnd() {\n if (motionNodes && !triggerMotionEndRef.current) {\n triggerMotionEndRef.current = true;\n onOriginMotionEnd();\n }\n };\n\n // Effect if unmount\n useUnmount(triggerMotionStart, triggerMotionEnd);\n\n // Motion end event\n var onVisibleChanged = function onVisibleChanged(nextVisible) {\n if (targetVisible === nextVisible) {\n triggerMotionEnd();\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 onVisibleChanged: onVisibleChanged\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 = Object.assign({}, (_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;","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport useLayoutEffect from \"rc-util/es/hooks/useLayoutEffect\";\n\n/**\n * Trigger only when component unmount\n */\nexport default function useUnmount(triggerStart, triggerEnd) {\n var _React$useState = React.useState(false),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n firstMount = _React$useState2[0],\n setFirstMount = _React$useState2[1];\n useLayoutEffect(function () {\n if (firstMount) {\n triggerStart();\n return function () {\n triggerEnd();\n };\n }\n }, [firstMount]);\n useLayoutEffect(function () {\n setFirstMount(true);\n return function () {\n setFirstMount(false);\n };\n }, []);\n}","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 _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectDestructuringEmpty from \"@babel/runtime/helpers/esm/objectDestructuringEmpty\";\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 */\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\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\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\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\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\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) {\n // The best match is using `fullList` - `originList` = `restList`\n // and check the `restList` to see if has the MOTION_KEY node\n // but this will cause performance issue for long list compare\n // we just check `originList` and repeat trigger `onMotionEnd`\n if (originList.every(function (item) {\n return itemKey(item) !== MOTION_KEY;\n })) {\n onMotionEnd();\n }\n }\n }), function (treeNode) {\n var pos = treeNode.pos,\n restProps = Object.assign({}, (_objectDestructuringEmpty(treeNode.data), treeNode.data)),\n title = treeNode.title,\n key = treeNode.key,\n isStart = treeNode.isStart,\n isEnd = treeNode.isEnd;\n var mergedKey = getKey(key, pos);\n delete restProps.key;\n delete restProps.children;\n var treeNodeProps = getTreeNodeProps(mergedKey, treeNodeRequiredProps);\n return /*#__PURE__*/React.createElement(MotionTreeNode, _extends({}, restProps, treeNodeProps, {\n title: title,\n active: !!activeItem && key === activeItem.key,\n pos: pos,\n data: treeNode.data,\n isStart: isStart,\n isEnd: isEnd,\n motion: motion,\n motionNodes: key === MOTION_KEY ? transitionRange : null,\n motionType: motionType,\n onMotionStart: onListChangeStart,\n onMotionEnd: onMotionEnd,\n treeNodeRequiredProps: treeNodeRequiredProps,\n onMouseMove: function onMouseMove() {\n onActiveChange(null);\n }\n }));\n }));\n});\nNodeList.displayName = 'NodeList';\nexport default NodeList;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _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\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\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\n\nimport classNames from 'classnames';\nimport KeyCode from \"rc-util/es/KeyCode\";\nimport pickAttrs from \"rc-util/es/pickAttrs\";\nimport warning from \"rc-util/es/warning\";\nimport * as React from 'react';\nimport { TreeContext } from \"./contextTypes\";\nimport DropIndicator from \"./DropIndicator\";\nimport NodeList, { MOTION_KEY, MotionEntity } from \"./NodeList\";\nimport TreeNode from \"./TreeNode\";\nimport { arrAdd, arrDel, calcDropPosition, calcSelectedKeys, conductExpandParent, getDragChildrenKeys, parseCheckedKeys, posToArr } from \"./util\";\nimport { conductCheck } from \"./utils/conductUtil\";\nimport getEntity from \"./utils/keyUtil\";\nimport { convertDataToEntities, convertNodePropsToEventData, convertTreeToData, fillFieldNames, flattenTreeData, getTreeNodeProps, warningWithoutKey } from \"./utils/treeUtil\";\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 _defineProperty(_assertThisInitialized(_this), \"destroyed\", false);\n _defineProperty(_assertThisInitialized(_this), \"delayedDragEnterLogic\", void 0);\n _defineProperty(_assertThisInitialized(_this), \"loadingRetryTimes\", {});\n _defineProperty(_assertThisInitialized(_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 // the drop position of abstract-drop-node, inside 0, top -1, bottom 1\n dropContainerKey: null,\n // the container key of abstract-drop-node if dropPosition is -1 or 1\n dropLevelOffset: null,\n // the drop level offset of abstract-drag-over-node\n dropTargetPos: null,\n // the pos of abstract-drop-node\n dropAllowed: true,\n // if drop to abstract-drop-node is allowed\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 _defineProperty(_assertThisInitialized(_this), \"dragStartMousePosition\", null);\n _defineProperty(_assertThisInitialized(_this), \"dragNode\", void 0);\n _defineProperty(_assertThisInitialized(_this), \"currentMouseOverDroppableNodeKey\", null);\n _defineProperty(_assertThisInitialized(_this), \"listRef\", /*#__PURE__*/React.createRef());\n _defineProperty(_assertThisInitialized(_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 || 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 _defineProperty(_assertThisInitialized(_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\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\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 = getEntity(keyEntities, node.props.eventKey);\n if (entity && (entity.children || []).length) {\n newExpandedKeys = arrAdd(expandedKeys, node.props.eventKey);\n }\n if (!_this.props.hasOwnProperty('expandedKeys')) {\n _this.setExpandedKeys(newExpandedKeys);\n }\n onExpand === null || onExpand === void 0 || onExpand(newExpandedKeys, {\n node: convertNodePropsToEventData(node.props),\n expanded: true,\n nativeEvent: event.nativeEvent\n });\n }, 800);\n }\n\n // Skip if drag node is self\n if (dragNode.props.eventKey === dropTargetKey && dropLevelOffset === 0) {\n _this.resetDragState();\n return;\n }\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 || onDragEnter({\n event: event,\n node: convertNodePropsToEventData(node.props),\n expandedKeys: expandedKeys\n });\n });\n _defineProperty(_assertThisInitialized(_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 calculated by calcDropPosition\n return;\n }\n\n // Update drag position\n\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 || onDragOver({\n event: event,\n node: convertNodePropsToEventData(node.props)\n });\n });\n _defineProperty(_assertThisInitialized(_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 || 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 _defineProperty(_assertThisInitialized(_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 _defineProperty(_assertThisInitialized(_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 || onDragEnd({\n event: event,\n node: convertNodePropsToEventData(node.props)\n });\n _this.dragNode = null;\n window.removeEventListener('dragend', _this.onWindowDragEnd);\n });\n _defineProperty(_assertThisInitialized(_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: getEntity(_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 || onDrop(dropResult);\n }\n _this.dragNode = null;\n });\n _defineProperty(_assertThisInitialized(_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 _defineProperty(_assertThisInitialized(_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 _defineProperty(_assertThisInitialized(_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 || onClick(e, treeNode);\n });\n _defineProperty(_assertThisInitialized(_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 || onDoubleClick(e, treeNode);\n });\n _defineProperty(_assertThisInitialized(_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\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\n // [Legacy] Not found related usage in doc or upper libs\n var selectedNodes = selectedKeys.map(function (selectedKey) {\n var entity = getEntity(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 || onSelect(selectedKeys, {\n event: 'select',\n selected: targetSelected,\n node: treeNode,\n selectedNodes: selectedNodes,\n nativeEvent: e.nativeEvent\n });\n });\n _defineProperty(_assertThisInitialized(_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\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 getEntity(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\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\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 = getEntity(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 || onCheck(checkedObj, eventObj);\n });\n _defineProperty(_assertThisInitialized(_this), \"onNodeLoad\", function (treeNode) {\n var _entity$children;\n var key = treeNode.key;\n var keyEntities = _this.state.keyEntities;\n\n // Skip if has children already\n var entity = getEntity(keyEntities, key);\n if (entity !== null && entity !== void 0 && (_entity$children = entity.children) !== null && _entity$children !== void 0 && _entity$children.length) {\n return;\n }\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\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\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 || 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\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\n // Not care warning if we ignore this\n loadPromise.catch(function () {});\n return loadPromise;\n });\n _defineProperty(_assertThisInitialized(_this), \"onNodeMouseEnter\", function (event, node) {\n var onMouseEnter = _this.props.onMouseEnter;\n onMouseEnter === null || onMouseEnter === void 0 || onMouseEnter({\n event: event,\n node: node\n });\n });\n _defineProperty(_assertThisInitialized(_this), \"onNodeMouseLeave\", function (event, node) {\n var onMouseLeave = _this.props.onMouseLeave;\n onMouseLeave === null || onMouseLeave === void 0 || onMouseLeave({\n event: event,\n node: node\n });\n });\n _defineProperty(_assertThisInitialized(_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 _defineProperty(_assertThisInitialized(_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 || onFocus.apply(void 0, args);\n });\n _defineProperty(_assertThisInitialized(_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 || onBlur.apply(void 0, args);\n });\n _defineProperty(_assertThisInitialized(_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 _defineProperty(_assertThisInitialized(_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 _defineProperty(_assertThisInitialized(_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\n // Do nothing when motion is in progress\n if (listChanging) {\n return;\n }\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 || onExpand(expandedKeys, {\n node: treeNode,\n expanded: targetExpanded,\n nativeEvent: e.nativeEvent\n });\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 _defineProperty(_assertThisInitialized(_this), \"onListChangeStart\", function () {\n _this.setUncontrolledState({\n listChanging: true\n });\n });\n _defineProperty(_assertThisInitialized(_this), \"onListChangeEnd\", function () {\n setTimeout(function () {\n _this.setUncontrolledState({\n listChanging: false\n });\n });\n });\n // =========================== Keyboard ===========================\n _defineProperty(_assertThisInitialized(_this), \"onActiveChange\", function (newActiveKey) {\n var activeKey = _this.state.activeKey;\n var _this$props9 = _this.props,\n onActiveChange = _this$props9.onActiveChange,\n _this$props9$itemScro = _this$props9.itemScrollOffset,\n itemScrollOffset = _this$props9$itemScro === void 0 ? 0 : _this$props9$itemScro;\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 offset: itemScrollOffset\n });\n }\n onActiveChange === null || onActiveChange === void 0 || onActiveChange(newActiveKey);\n });\n _defineProperty(_assertThisInitialized(_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 _defineProperty(_assertThisInitialized(_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\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 _key4 = item.key;\n _this.onActiveChange(_key4);\n } else {\n _this.onActiveChange(null);\n }\n });\n _defineProperty(_assertThisInitialized(_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$props10 = _this.props,\n onKeyDown = _this$props10.onKeyDown,\n checkable = _this$props10.checkable,\n selectable = _this$props10.selectable;\n\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\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\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 || onKeyDown(event);\n });\n /**\n * Only update the value which is not in props\n */\n _defineProperty(_assertThisInitialized(_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 (_this.props.hasOwnProperty(name)) {\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 _defineProperty(_assertThisInitialized(_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 _this$props11 = this.props,\n activeKey = _this$props11.activeKey,\n _this$props11$itemScr = _this$props11.itemScrollOffset,\n itemScrollOffset = _this$props11$itemScr === void 0 ? 0 : _this$props11$itemScr;\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 offset: itemScrollOffset\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 _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$props12 = this.props,\n prefixCls = _this$props12.prefixCls,\n className = _this$props12.className,\n style = _this$props12.style,\n showLine = _this$props12.showLine,\n focusable = _this$props12.focusable,\n _this$props12$tabInde = _this$props12.tabIndex,\n tabIndex = _this$props12$tabInde === void 0 ? 0 : _this$props12$tabInde,\n selectable = _this$props12.selectable,\n showIcon = _this$props12.showIcon,\n icon = _this$props12.icon,\n switcherIcon = _this$props12.switcherIcon,\n draggable = _this$props12.draggable,\n checkable = _this$props12.checkable,\n checkStrictly = _this$props12.checkStrictly,\n disabled = _this$props12.disabled,\n motion = _this$props12.motion,\n loadData = _this$props12.loadData,\n filterTreeNode = _this$props12.filterTreeNode,\n height = _this$props12.height,\n itemHeight = _this$props12.itemHeight,\n virtual = _this$props12.virtual,\n titleRender = _this$props12.titleRender,\n dropIndicatorRender = _this$props12.dropIndicatorRender,\n onContextMenu = _this$props12.onContextMenu,\n onScroll = _this$props12.onScroll,\n direction = _this$props12.direction,\n rootClassName = _this$props12.rootClassName,\n rootStyle = _this$props12.rootStyle;\n var domProps = pickAttrs(this.props, {\n aria: true,\n data: true\n });\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, _defineProperty(_defineProperty(_defineProperty({}, \"\".concat(prefixCls, \"-show-line\"), showLine), \"\".concat(prefixCls, \"-focused\"), focused), \"\".concat(prefixCls, \"-active-focused\"), activeKey !== null)),\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 && props.hasOwnProperty(name) || prevProps && prevProps[name] !== props[name];\n }\n\n // ================== Tree Node ==================\n var treeData;\n\n // fieldNames\n var fieldNames = prevState.fieldNames;\n if (needSync('fieldNames')) {\n fieldNames = fillFieldNames(props.fieldNames);\n newState.fieldNames = fieldNames;\n }\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\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\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\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\n // Only take the key who has the children to enhance the performance\n var nextExpandedKeys = [];\n Object.keys(cloneKeyEntities).forEach(function (key) {\n var entity = cloneKeyEntities[key];\n if (entity.children && entity.children.length) {\n nextExpandedKeys.push(entity.key);\n }\n });\n newState.expandedKeys = nextExpandedKeys;\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\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\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\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\n // ================= loadedKeys ==================\n if (needSync('loadedKeys')) {\n newState.loadedKeys = props.loadedKeys;\n }\n return newState;\n }\n }]);\n return Tree;\n}(React.Component);\n_defineProperty(Tree, \"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});\n_defineProperty(Tree, \"TreeNode\", TreeNode);\nexport default Tree;","import * as React from 'react';\nexport default function DropIndicator(_ref) {\n var dropPosition = _ref.dropPosition,\n dropLevelOffset = _ref.dropLevelOffset,\n indent = _ref.indent;\n var style = {\n pointerEvents: 'none',\n position: 'absolute',\n right: 0,\n backgroundColor: 'red',\n height: 2\n };\n switch (dropPosition) {\n case -1:\n style.top = 0;\n style.left = -dropLevelOffset * indent;\n break;\n case 1:\n style.bottom = 0;\n style.left = -dropLevelOffset * indent;\n break;\n case 0:\n style.bottom = 0;\n style.left = indent;\n break;\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n style: style\n });\n}","import Tree from \"./Tree\";\nimport TreeNode from \"./TreeNode\";\nexport { TreeNode };\nexport default Tree;","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"children\"];\n/* eslint-disable no-lonely-if */\n/**\n * Legacy code. Should avoid to use if you are new to import these code.\n */\n\nimport warning from \"rc-util/es/warning\";\nimport React from 'react';\nimport TreeNode from \"./TreeNode\";\nimport getEntity from \"./utils/keyUtil\";\nexport { getPosition, isTreeNode } from \"./utils/treeUtil\";\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 getDragChildrenKeys(dragNodeKey, keyEntities) {\n // not contains self\n // self for left or right drag\n var dragChildrenKeys = [];\n var entity = getEntity(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\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 _getBoundingClientRec = event.target.getBoundingClientRect(),\n top = _getBoundingClientRec.top,\n height = _getBoundingClientRec.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\n // Filter the expanded keys to exclude the node that not has children currently (like async nodes).\n var filteredExpandKeys = expandKeys.filter(function (key) {\n var _keyEntities$key;\n return (_keyEntities$key = keyEntities[key]) === null || _keyEntities$key === void 0 || (_keyEntities$key = _keyEntities$key.children) === null || _keyEntities$key === void 0 ? void 0 : _keyEntities$key.length;\n });\n\n // find abstract drop node by horizontal offset\n var abstractDropNodeEntity = getEntity(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 = getEntity(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\n // Only allow cross level drop when dragging on a non-expanded node\n if (!filteredExpandKeys.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 && filteredExpandKeys.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/**\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/**\n * Parse `checkedKeys` to { checkedKeys, halfCheckedKeys } style\n */\nexport function parseCheckedKeys(keys) {\n if (!keys) {\n return null;\n }\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/**\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 = getEntity(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}"],"names":["props","ref","AntdIcon","A","icon","isFragment","child","type","replaceElement","element","replacement","cloneElement","token","componentCls","antCls","overflow","transition","motionDurationMid","motionEaseInOut","genDirectoryStyle","_ref","treeCls","treeNodeCls","directoryNodeSelectedBg","directoryNodeSelectedColor","borderRadius","controlItemBgHover","position","background","inset","content","marginInlineEnd","color","zIndex","treeNodeFX","opacity","getSwitchStyle","prefixCls","display","fontSize","verticalAlign","svg","motionDurationSlow","getDropIndicatorStyle","height","backgroundColor","colorPrimary","pointerEvents","top","insetInlineStart","width","border","lineWidthBold","genBaseStyle","treeNodePadding","titleHeight","indentSize","nodeSelectedBg","nodeHoverBg","colorTextQuaternary","treeCheckBoxMarginHorizontal","marginXXS","Object","assign","colorBgContainer","direction","transform","alignItems","flex","animationName","animationDuration","animationPlayState","animationFillMode","marginBottom","lineHeight","colorTextDisabled","cursor","nodeHoverColor","fontWeight","flexShrink","textAlign","visibility","alignSelf","whiteSpace","userSelect","margin","calc","sub","controlInteractiveSize","div","equal","left","_skip_check_","value","colorBgTextHover","insetInlineEnd","bottom","mul","marginInlineStart","borderInlineEnd","colorBorder","borderBottom","marginTop","minHeight","paddingBlock","paddingInline","paddingXS","nodeSelectedColor","boxShadow","genTreeStyle","treeToken","initComponentToken","controlHeightSM","controlItemBgActive","colorText","colorTextLightSolid","switcherIcon","treeNodeProps","showLine","switcherLoadingIcon","isLeaf","expanded","loading","LoadingOutlined","className","showLeafIcon","leafIcon","leafCls","FileOutlined","switcherCls","switcher","undefined","Indent","level","isStart","isEnd","baseClassName","concat","list","i","push","key","_excluded","ICON_OPEN","ICON_CLOSE","InternalTreeNode","_React$Component","_super","_this","this","_len","arguments","length","args","Array","_key","call","apply","dragNodeHighlight","e","onNodeClick","context","isSelectable","onSelect","onCheck","onNodeDoubleClick","isDisabled","onNodeSelect","_this$props","disableCheckbox","checked","onNodeCheck","isCheckable","targetChecked","onNodeMouseEnter","onNodeMouseLeave","onNodeContextMenu","onNodeDragStart","stopPropagation","setState","dataTransfer","setData","error","onNodeDragEnter","preventDefault","onNodeDragOver","onNodeDragLeave","onNodeDragEnd","onNodeDrop","_this$props2","onNodeExpand","node","selectHandle","eventKey","keyEntities","children","_this$props3","loaded","loadData","hasChildren","disabled","checkable","treeCheckable","_this$props$context","onNodeLoad","_this$props4","data","draggable","nodeDraggable","_this$props$context2","switcherIconFromProps","switcherIconFromCtx","_switcherIconDom","renderSwitcherIconDom","switcherIconDom","onClick","onExpand","_this$props5","halfChecked","$custom","getNodeState","$icon","titleNode","state","_this$props6","_this$props6$title","title","selected","_this$props$context3","showIcon","treeIcon","titleRender","wrapClass","currentIcon","renderIcon","$title","setSelectHandle","onMouseEnter","onMouseLeave","onContextMenu","onSelectorClick","onDoubleClick","onSelectorDoubleClick","renderDropIndicator","_this$props7","_this$props$context4","dropLevelOffset","dropPosition","indent","dropIndicatorRender","dragOverNodeKey","showIndicator","mergedIndent","cacheIndent","syncLoadData","selectable","treeSelectable","_classNames","_this$props8","style","dragOver","dragOverGapTop","dragOverGapBottom","domRef","active","onMouseMove","otherProps","_this$props$context5","filterTreeNode","dropContainerKey","dropTargetKey","draggingNodeKey","dataOrAriaAttributeProps","pickAttrs","aria","isEndNode","mergedDraggable","isDraggable","draggableWithoutDisabled","dragging","ariaSelected","onDragStart","onDragEnter","onDragOver","onDragLeave","onDrop","onDragEnd","renderDragHandler","renderSwitcher","renderCheckbox","renderSelector","ContextTreeNode","Consumer","displayName","isTreeNode","TreeContext","_objectDestructuringEmpty","obj","TypeError","MotionTreeNode","motion","motionNodes","motionType","onOriginMotionStart","onMotionStart","onOriginMotionEnd","onMotionEnd","treeNodeRequiredProps","_React$useState","_React$useState2","visible","setVisible","targetVisible","useLayoutEffect","triggerMotionEndRef","triggerMotionEnd","current","triggerStart","triggerEnd","firstMount","setFirstMount","useUnmount","motionAppear","onVisibleChanged","nextVisible","_ref2","motionRef","motionClassName","motionStyle","map","treeNode","restProps","TreeNode","getExpandRange","shorter","longer","shorterStartIndex","findIndex","shorterEndNode","longerStartIndex","longerEndIndex","slice","HIDDEN_STYLE","padding","noop","MOTION_KEY","Math","random","MotionNode","MotionEntity","index","pos","nodes","MotionFlattenData","parent","getMinimumRangeTransitionRange","virtual","itemHeight","ceil","itemKey","item","NodeList","expandedKeys","selectedKeys","checkedKeys","loadedKeys","loadingKeys","halfCheckedKeys","focusable","activeItem","focused","tabIndex","onKeyDown","onFocus","onBlur","onActiveChange","onListChangeStart","onListChangeEnd","domProps","listRef","indentMeasurerRef","scrollTo","scroll","getIndentWidth","offsetWidth","prevExpandedKeys","setPrevExpandedKeys","_React$useState3","_React$useState4","prevData","setPrevData","_React$useState5","_React$useState6","transitionData","setTransitionData","_React$useState7","_React$useState8","transitionRange","setTransitionRange","_React$useState9","_React$useState10","setMotionType","dataRef","latestData","diffExpanded","prev","next","prevLen","nextLen","abs","add","find","cache","Map","forEach","set","keys","filter","has","findExpandedKeys","keyIndex","rangeNodes","newTransitionData","splice","_keyIndex","_rangeNodes","_newTransitionData","mergedData","path","String","getAccessibilityPath","onChange","fullHeight","onVisibleChange","originList","every","mergedKey","Tree","_args","dragChildrenKeys","dropTargetPos","dropAllowed","treeData","flattenNodes","activeKey","listChanging","prevProps","fieldNames","event","_this$state","dragNode","dragStartMousePosition","x","clientX","y","clientY","newExpandedKeys","setExpandedKeys","window","addEventListener","onWindowDragEnd","_this$state2","allowDrop","_node$props","currentMouseOverDroppableNodeKey","_calcDropPosition","indexOf","delayedDragEnterLogic","clearTimeout","persist","setTimeout","entity","hasOwnProperty","nativeEvent","resetDragState","_this$state3","_calcDropPosition2","currentTarget","contains","relatedTarget","removeEventListener","cleanDragState","_this$getActiveItem","outsideTree","_this$state4","abstractDropNodeProps","getTreeNodeRequiredProps","getActiveItem","dropToChild","warning","posArr","dropResult","dragNodesKeys","dropToGap","Number","_this$state5","shiftKey","metaKey","ctrlKey","nodeItem","eventNode","expandAction","triggerExpandActionExpand","_this$state6","multiple","targetSelected","selectedNodes","selectedKey","setUncontrolledState","checkedObj","_this$state7","oriCheckedKeys","oriHalfCheckedKeys","checkStrictly","eventObj","checkedNodes","checkedKey","_conductCheck","_checkedKeys","_halfCheckedKeys","keySet","Set","delete","_conductCheck2","from","checkedNodesPositions","_entity$children","loadPromise","Promise","resolve","reject","_ref$loadedKeys","_ref$loadingKeys","onLoad","then","currentLoadedKeys","newLoadedKeys","prevState","catch","loadingRetryTimes","onRightClick","_len2","_key2","_len3","_key3","_this$state8","_this$state9","_this$state10","targetExpanded","newFlattenTreeData","currentExpandedKeys","expandedKeysToRestore","newActiveKey","_this$props9","_this$props9$itemScro","itemScrollOffset","offset","_this$state11","_this$state12","_ref3","_key4","_this$state13","_this$props10","which","KeyCode","UP","offsetActiveKey","DOWN","expandable","LEFT","includes","RIGHT","ENTER","SPACE","atomic","forceState","destroyed","needSync","allPassed","newState","name","onUpdated","_this$props11","_this$props11$itemScr","draggableConfig","_this$state14","_this$props12","_this$props12$tabInde","onScroll","rootClassName","rootStyle","Provider","role","entitiesMap","checkedKeyEntity","autoExpandParent","defaultExpandParent","defaultExpandAll","cloneKeyEntities","nextExpandedKeys","defaultExpandedKeys","defaultSelectedKeys","defaultCheckedKeys","_checkedKeyEntity","_checkedKeyEntity$che","_checkedKeyEntity$hal","conductKeys","right","arrDel","clone","arrAdd","posToArr","split","getDragChildrenKeys","dragNodeKey","dig","isLastChild","treeNodeEntity","calcDropPosition","targetNode","startMousePosition","flattenedNodes","expandKeys","_abstractDropNodeEnti","_getBoundingClientRec","target","getBoundingClientRect","rawDropLevelOffset","filteredExpandKeys","_keyEntities$key","abstractDropNodeEntity","nodeIndex","flattenedNode","prevNodeKey","initialAbstractDropNodeKey","abstractDragOverEntity","abstractDragDataNode","abstractDropDataNode","dropNode","calcSelectedKeys","parseCheckedKeys","keyProps","isArray","conductExpandParent","keyList","conductUp"],"sourceRoot":""}
|