@gingkoo/pandora-explorer 0.0.1-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +93 -0
- package/lib/es/components/Dropdown/index.d.ts +20 -0
- package/lib/es/components/columns/index.d.ts +16 -0
- package/lib/es/components/icons/index.d.ts +17 -0
- package/lib/es/components/menu/index.d.ts +15 -0
- package/lib/es/components/menu/menulist.d.ts +3 -0
- package/lib/es/components/modal/index.d.ts +18 -0
- package/lib/es/components/modal/modal-tab.d.ts +14 -0
- package/lib/es/components/select-box/index.d.ts +19 -0
- package/lib/es/components/tile/index.d.ts +11 -0
- package/lib/es/components/tree/components/DropIndicator.d.ts +5 -0
- package/lib/es/components/tree/components/Indent.d.ts +10 -0
- package/lib/es/components/tree/components/MotionTreeNode.d.ts +14 -0
- package/lib/es/components/tree/components/NodeList.d.ts +14 -0
- package/lib/es/components/tree/components/Tree.d.ts +253 -0
- package/lib/es/components/tree/components/TreeNode.d.ts +12 -0
- package/lib/es/components/tree/components/contextTypes.d.ts +64 -0
- package/lib/es/components/tree/components/index.d.ts +7 -0
- package/lib/es/components/tree/components/interface.d.ts +123 -0
- package/lib/es/components/tree/components/useUnmount.d.ts +4 -0
- package/lib/es/components/tree/components/util.d.ts +54 -0
- package/lib/es/components/tree/components/utils/conductUtil.d.ts +17 -0
- package/lib/es/components/tree/components/utils/diffUtil.d.ts +7 -0
- package/lib/es/components/tree/components/utils/keyUtil.d.ts +2 -0
- package/lib/es/components/tree/components/utils/treeUtil.d.ts +86 -0
- package/lib/es/components/tree/index.d.ts +39 -0
- package/lib/es/components/tree/tree-item-table.d.ts +1 -0
- package/lib/es/components/tree/tree-item.d.ts +3 -0
- package/lib/es/components/virtualScroll/index.d.ts +7 -0
- package/lib/es/css.d.ts +10 -0
- package/lib/es/enum.d.ts +11 -0
- package/lib/es/explorer.d.ts +7 -0
- package/lib/es/index.d.ts +5 -0
- package/lib/es/index.js +6853 -0
- package/lib/es/index.js.map +1 -0
- package/lib/es/layout/components/explorer-head/index.d.ts +3 -0
- package/lib/es/layout/components/explorer-info/index.d.ts +3 -0
- package/lib/es/layout/components/explorer-main/index.d.ts +3 -0
- package/lib/es/layout/components/explorer-menu/index.d.ts +3 -0
- package/lib/es/layout/index.d.ts +4 -0
- package/lib/es/store.d.ts +28 -0
- package/lib/es/types.d.ts +80 -0
- package/lib/umd/index.js +7174 -0
- package/lib/umd/index.js.map +1 -0
- package/lib/umd/index.min.js +2 -0
- package/lib/umd/index.min.js.map +1 -0
- package/package.json +67 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../node_modules/style-inject/dist/style-inject.es.js","../../src/enum.ts","../../src/store.tsx","../../src/components/icons/index.tsx","../../src/css.ts","../../src/components/Dropdown/index.tsx","../../src/layout/components/explorer-head/index.tsx","../../src/components/tree/components/contextTypes.ts","../../src/components/tree/components/DropIndicator.tsx","../../src/components/tree/components/Indent.tsx","../../src/components/tree/components/utils/keyUtil.ts","../../src/components/tree/components/utils/treeUtil.ts","../../src/components/tree/components/TreeNode.tsx","../../src/components/tree/components/useUnmount.ts","../../src/components/tree/components/MotionTreeNode.tsx","../../src/components/tree/components/utils/diffUtil.ts","../../src/components/tree/components/NodeList.tsx","../../src/components/tree/components/util.tsx","../../src/components/tree/components/utils/conductUtil.ts","../../src/components/tree/components/Tree.tsx","../../src/components/menu/menulist.tsx","../../src/components/menu/index.tsx","../../src/components/tree/tree-item-table.tsx","../../src/components/tree/tree-item.tsx","../../src/components/tree/index.tsx","../../src/layout/components/explorer-menu/index.tsx","../../src/components/virtualScroll/index.tsx","../../src/components/tile/index.tsx","../../src/components/select-box/index.tsx","../../src/components/columns/index.tsx","../../src/components/modal/index.tsx","../../src/components/modal/modal-tab.tsx","../../src/layout/components/explorer-main/index.tsx","../../src/layout/components/explorer-info/index.tsx","../../src/layout/index.tsx","../../src/explorer.tsx"],"sourcesContent":["function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n","export const enum fileType {\n 'folder' = 'folder',\n 'file' = 'file',\n}\n\n// 接口状态\nexport enum ApiStatusEnum {\n READY = 1,\n LOADING,\n ERROR,\n EMPTY,\n SUCCESS,\n}\n","import React, { createContext } from 'react';\nimport { ApiStatusEnum } from './enum';\nimport { ExplorerItem, ExplorerProps, ColumnsProps } from './types';\n\ninterface ExampleContextProps {\n pathDisplay: string;\n menutype: 'tile' | 'table' | 'column';\n menuSize: number;\n infoshow: boolean;\n curlist: ExplorerItem[];\n log?: string[];\n loading?: ApiStatusEnum;\n curInfo?: ExplorerItem | null;\n dataMap: { [key: string]: ExplorerItem } | null;\n\n columns?: ColumnsProps[];\n\n getIcons: (v: ExplorerItem, className: string, style?: any) => JSX.Element;\n\n setLog: React.Dispatch<React.SetStateAction<string[]>>;\n setCurInfo: React.Dispatch<React.SetStateAction<ExplorerItem | null>>;\n setMenuSize: React.Dispatch<React.SetStateAction<number>>;\n setCurList: React.Dispatch<React.SetStateAction<ExplorerItem[]>>;\n setInfoShow: React.Dispatch<React.SetStateAction<boolean>>;\n setLoading: React.Dispatch<React.SetStateAction<ApiStatusEnum>>;\n setPathDisplay: React.Dispatch<React.SetStateAction<string>>;\n setMenutype: React.Dispatch<React.SetStateAction<'tile' | 'table' | 'column'>>;\n}\n\nexport const ExampleContext: React.Context<ExampleContextProps> =\n createContext<ExampleContextProps>(null);\n","import './index.less';\nimport cx from 'classnames';\n\n//文件\nexport function FavoriteSvg() {\n return (\n <svg className='svg-icon' viewBox='0 0 1024 1024'>\n <path\n d='M640 211.2l41.6 89.6 249.6 38.4c25.6 6.4 48 22.4 54.4 44.8 9.6 25.6 3.2 54.4-16 70.4l-182.4 188.8 44.8 262.4c3.2 25.6-6.4 54.4-28.8 67.2-12.8 6.4-25.6 12.8-38.4 12.8-12.8 0-22.4-3.2-35.2-9.6L512 857.6l-108.8 60.8c-76.8-121.6-96-284.8-60.8-409.6 41.6-153.6 147.2-262.4 297.6-297.6z'\n fill='#FFECB3'\n ></path>\n <path\n d='M531.2 112l105.6 227.2c3.2 12.8 16 19.2 28.8 22.4l243.2 35.2c9.6 0 19.2 3.2 22.4 9.6 3.2 6.4-3.2 19.2-9.6 25.6L742.4 608c-9.6 9.6-12.8 22.4-12.8 35.2l44.8 256c3.2 6.4 3.2 19.2-6.4 28.8-9.6 6.4-25.6 0-28.8-3.2l-208-118.4c-9.6-3.2-12.8-6.4-19.2-6.4-6.4 0-12.8 3.2-19.2 6.4l-211.2 118.4c-3.2 3.2-19.2 9.6-28.8 3.2-9.6-9.6-6.4-16-6.4-25.6l41.6-256c6.4-16 0-32-9.6-38.4L96 432c-3.2-6.4-12.8-16-9.6-25.6 3.2-9.6 12.8-12.8 22.4-16l246.4-38.4c12.8-3.2 25.6-9.6 32-22.4l105.6-220.8c3.2-6.4 9.6-22.4 19.2-22.4 6.4 6.4 12.8 9.6 19.2 25.6zM512 28.8c-28.8 0-51.2 16-60.8 41.6l-108.8 233.6-249.6 38.4c-25.6 6.4-48 22.4-54.4 44.8-9.6 25.6-3.2 54.4 16 70.4l182.4 188.8L192 908.8c-3.2 25.6 6.4 54.4 28.8 67.2 12.8 6.4 25.6 12.8 38.4 12.8 12.8 0 22.4-3.2 35.2-9.6l217.6-121.6 217.6 121.6c12.8 6.4 22.4 9.6 35.2 9.6 12.8 0 28.8-6.4 38.4-12.8 19.2-16 32-41.6 28.8-67.2l-44.8-262.4 182.4-188.8c19.2-19.2 25.6-44.8 16-70.4-9.6-25.6-28.8-44.8-54.4-44.8l-249.6-38.4-108.8-233.6c-19.2-25.6-32-41.6-60.8-41.6z'\n fill='#FFC107'\n ></path>\n </svg>\n );\n}\n//个人空间\nexport function SpaceSvg() {\n return (\n <svg className='svg-icon' viewBox='0 0 1024 1024'>\n <path\n d='M155.75222656 382.06612461V849.50070312a37.49976563 37.49976563 0 0 0 37.49976563 37.49976563h637.49601562a37.49976563 37.49976563 0 0 0 37.49976563-37.49976563V382.06612461L512 144.58010908 155.75222656 382.06612461z m-58.31213554-51.26217979l393.74753906-262.49835937a37.49976563 37.49976563 0 0 1 41.62473984 0l393.74753906 262.49835937A37.49976563 37.49976563 0 0 1 943.24730469 362.00375v487.49695313a112.49929687 112.49929687 0 0 1-112.49929688 112.49929687H193.25199219a112.49929687 112.49929687 0 0 1-112.49929688-112.49929687V362.00375a37.49976563 37.49976563 0 0 1 16.68739571-31.19980518z'\n fill='#ffac33'\n ></path>\n <path\n d='M736.99859375 718.25152344m-224.99859375 0a224.99859375 224.99859375 0 1 0 449.9971875 0 224.99859375 224.99859375 0 1 0-449.9971875 0Z'\n fill='#ffdcb3'\n ></path>\n <path\n d='M437.00046875 924.50023437a37.49976563 37.49976563 0 1 1-74.99953125 1e-8V708.87658203c0-78.43076016 67.85582607-140.62412109 149.9990625-140.62412109s149.9990625 62.19336094 149.9990625 140.62412109V924.50023437a37.49976563 37.49976563 0 1 1-74.99953125 1e-8V708.87658203c0-35.47477793-32.88729463-65.62458984-74.99953125-65.62458984s-74.99953125 30.14981192-74.99953125 65.62458984V924.50023437z'\n fill='#ffac33'\n ></path>\n </svg>\n );\n}\n//网盘\nexport function NetdiskSvg() {\n return (\n <svg className='svg-icon' viewBox='0 0 1024 1024'>\n <path\n d='M950.66666667 263C941.66666667 254 930.41666667 249.5 919.16666667 249.5H476.66666667L377.66666667 150.5c-3.75-3.75-9-7.5-14.25-9.75-6-2.25-11.25-3.75-17.25-3.75H109.16666667c-11.25 0-23.25 4.5-31.5 13.5S64.16666667 170.75 64.16666667 182v262.5h900V294.5c0-11.25-4.5-23.25-13.5-31.5z'\n fill='#FFD766'\n ></path>\n <path\n d='M919.16666667 894.5H109.16666667c-24.75 0-45-20.25-45-45V369.5h900v480c0 24.75-20.25 45-45 45z'\n fill='#FFAC33'\n ></path>\n <path\n d='M709.16666667 790.25c0 9.75-7.5 17.25-17.25 17.25H351.41666667c-9.75 0-17.25-7.5-17.25-17.25 0 0 0-63.75 46.5-87 30-15 18-3 54.75-18 36-15 45-20.25 45-20.25v-34.5s-13.5-10.5-18-42.75c-8.25 2.25-11.25-9.75-12-18-0.75-7.5-5.25-31.5 5.25-29.25-2.25-15.75-3.75-30.75-3-38.25 2.25-27 28.5-54.75 68.25-57 46.5 2.25 65.25 30 68.25 57 0.75 7.5-0.75 21.75-3 38.25 10.5-2.25 6 21.75 5.25 29.25-0.75 8.25-3 20.25-12 18-4.5 33-18 42.75-18 42.75v34.5s8.25 5.25 45 20.25c36 15 24.75 3.75 54.75 18.75 48 21.75 48 86.25 48 86.25z'\n fill='#FFDCB3'\n ></path>\n </svg>\n );\n}\n\n//相册\nexport function AlbumSvg() {\n return (\n <svg className='svg-icon' viewBox='0 0 1024 1024'>\n <path\n d='M892.5344 179.0336H131.46666667a47.568 47.568 0 0 0-47.56906667 47.568v459.80586667h856.20053333V226.60266667a47.568 47.568 0 0 0-47.56266666-47.568z'\n fill='#98DCF0'\n ></path>\n <path\n d='M616.4096 495.9872l-165.27573333 190.42133333h330.5248l-165.248-190.42133333z'\n fill='#699B54'\n ></path>\n <path\n d='M587.80373333 686.4128L367.49866667 432.57066667 147.18933333 686.4128h-63.2928v110.98026667a47.568 47.568 0 0 0 47.56906667 47.57333333h761.06346667c26.2688 0 47.568-21.2992 47.568-47.57333333V686.40746667l-352.29333334 0.00533333z'\n fill='#80BB67'\n ></path>\n <path\n d='M718.11626667 337.5872c-0.016 35.02293333 28.36586667 63.4272 63.3952 63.44426667 35.02293333 0.01066667 63.42826667-28.37226667 63.44426666-63.40053334v-0.04373333c0.01066667-35.02933333-28.3712-63.43466667-63.3952-63.44533333-35.02933333-0.01066667-63.4336 28.37226667-63.44533333 63.39626666v0.04906667z'\n fill='#FFE68E'\n ></path>\n </svg>\n );\n}\n\n//回收站\nexport function RecycleSvg() {\n return (\n <svg className='svg-icon' viewBox='0 0 1024 1024'>\n <path d='M314.2 128h418.5v115.6H314.2z' fill='#92C4FF'></path>\n <path\n d='M608.4 767.7c-17.7 0-32-14.3-32-31.9V384c0-17.7 14.3-32 32-32s32 14.3 32 32v351.7c0 17.7-14.3 32-32 32 0.1 0 0 0 0 0z m-191.9 0c-17.6 0-31.9-14.3-31.9-31.9V384c0-17.6 14.3-32 31.9-32 17.6 0 32 14.3 32 31.9v351.8c0.1 17.7-14.2 32-32 32 0.1 0 0.1 0 0 0z m511.7-543.6H768.3v-63.9c0-52.9-42.7-95.9-95.2-95.9H352.6c-53 0.1-95.9 43-95.9 95.9v64H96.8c-17.6 0-31.9 14.3-31.9 32s14.3 31.9 31.9 31.9h831.4c17.7 0 32-14.3 32-32s-14.3-32-32-32z m-607.6-63.9c0-17.6 14.4-32 32-32h320.5c17.5 0 31.3 14.1 31.3 32v64H320.6v-64z'\n fill='#4383DB'\n ></path>\n <path\n d='M736.5 959.6H288.7c-52.9-0.1-95.9-43-95.9-95.9V383.5c-0.6-17.7 13.2-32.5 30.8-33.1 17.7-0.6 32.5 13.2 33.1 30.8V863.6c0 17.6 14.3 31.9 32 31.9h447.7c17.6 0 31.9-14.3 31.9-31.9V384.8c-0.6-17.7 13.2-32.5 30.8-33.1 17.7-0.6 32.5 13.2 33.1 30.8v481.1c0.1 53-42.8 95.9-95.7 96z'\n fill='#4383DB'\n ></path>\n </svg>\n );\n}\n\n//最近访问\nexport function RecentlySvg() {\n return (\n <svg className='svg-icon' viewBox='0 0 1024 1024'>\n <path\n d='M512 512m-469.333333 0a469.333333 469.333333 0 1 0 938.666666 0 469.333333 469.333333 0 1 0-938.666666 0Z'\n fill='#2070E5'\n ></path>\n <path\n d='M512 133.333333c-212.074667 0-384 171.925333-384 384s171.925333 384 384 384 384-171.925333 384-384-171.925333-384-384-384z m39.616 496.042667h-89.152c-11.733333 0-21.333333-9.6-21.333333-21.333333v-51.114667-235.413333c0-11.733333 9.6-21.333333 21.333333-21.333334h12.224c11.733333 0 21.333333 9.6 21.333333 21.333334v231.616c0 11.733333 9.6 21.333333 21.333334 21.333333h231.594666c11.733333 0 21.333333 9.6 21.333334 21.333333v12.224c0 11.733333-9.6 21.333333-21.333334 21.333334h-197.333333z'\n fill='#FFFFFF'\n ></path>\n </svg>\n );\n}\n\n//我的协作\nexport function LinkSvg() {\n return (\n <svg className='svg-icon' viewBox='0 0 1024 1024'>\n <path\n d='M832.85333333 675.84L407.3244448 512l425.52888853-163.84c34.13333333-13.65333333 52.33777813-52.33777813 38.6844448-88.74666667-13.65333333-34.13333333-52.33777813-52.33777813-88.74666666-38.6844448l-591.6444448 227.55555627C166.1155552 457.38666667 147.91111147 484.69333333 147.91111147 512s18.2044448 54.61333333 43.2355552 63.7155552l591.6444448 227.55555627c9.10222187 2.2755552 15.92888853 4.55111147 25.0311104 4.5511104 27.30666667 0 52.33777813-15.92888853 63.71555626-43.2355552 13.65333333-36.40888853-4.55111147-75.09333333-38.6844448-88.74666667z'\n fill='#92c4ff'\n ></path>\n <path\n d='M216.17777813 512m-159.2888896 0a159.28888853 159.28888853 0 1 0 318.57777814 0 159.28888853 159.28888853 0 1 0-318.57777814 0Z'\n fill='#2070e5'\n ></path>\n <path\n d='M807.82222187 284.4444448m-159.28888854 0a159.28888853 159.28888853 0 1 0 318.57777814 0 159.28888853 159.28888853 0 1 0-318.57777814 0Z'\n fill='#2070e5'\n ></path>\n <path\n d='M807.82222187 739.5555552m-159.28888854 0a159.28888853 159.28888853 0 1 0 318.57777814 0 159.28888853 159.28888853 0 1 0-318.57777814 0Z'\n fill='#2070e5'\n ></path>\n </svg>\n );\n}\n\n//\nexport function TextSvg() {\n return (\n <svg className='svg-icon' viewBox='0 0 1024 1024'>\n <path\n d='M725.333 375.467H298.667a17.067 17.067 0 1 0 0 34.133h426.666a17.067 17.067 0 1 0 0-34.133z m-426.666-102.4h170.666a17.067 17.067 0 1 0 0-34.134H298.667a17.067 17.067 0 1 0 0 34.134zM725.333 512H298.667a17.067 17.067 0 1 0 0 34.133h426.666a17.067 17.067 0 1 0 0-34.133z m0 136.533H298.667a17.067 17.067 0 1 0 0 34.134h426.666a17.067 17.067 0 1 0 0-34.134z m0 136.534H298.667a17.067 17.067 0 1 0 0 34.133h426.666a17.067 17.067 0 1 0 0-34.133z'\n fill='#92c4ff'\n ></path>\n <path\n d='M664.132 0H110.933v1024h802.134V248.934L664.132 0z m10.001 58.266l180.668 180.667H674.133V58.266z m-529.066 931.6V34.134H640v238.934h238.933v716.8H145.067z'\n fill='#bfbfbf'\n ></path>\n </svg>\n );\n}\n\nexport function InfoSvg() {\n return (\n <svg className='icon' viewBox='0 0 1024 1024' version='1.1' xmlns='http://www.w3.org/2000/svg'>\n <path d='M512 64C264.576 64 64 264.576 64 512c0 247.424 200.576 448 448 448s448-200.576 448-448C960 264.576 759.424 64 512 64zM512 848c-185.536 0-336-150.464-336-336S326.464 176 512 176 848 326.464 848 512 697.536 848 512 848zM512 400c-30.912 0-56 25.088-56 56l0 224C456 710.912 481.088 736 512 736s56-25.088 56-56l0-224C568 425.088 542.912 400 512 400zM512 232c-30.912 0-56 25.088-56 56S481.088 344 512 344 568 318.912 568 288 542.912 232 512 232z'></path>\n </svg>\n );\n}\n\n//分享链接\nexport function ShareLinkSvg() {\n return (\n <svg className='svg-icon' viewBox='0 0 1024 1024'>\n <path\n d='M832.85333333 675.84L407.3244448 512l425.52888853-163.84c34.13333333-13.65333333 52.33777813-52.33777813 38.6844448-88.74666667-13.65333333-34.13333333-52.33777813-52.33777813-88.74666666-38.6844448l-591.6444448 227.55555627C166.1155552 457.38666667 147.91111147 484.69333333 147.91111147 512s18.2044448 54.61333333 43.2355552 63.7155552l591.6444448 227.55555627c9.10222187 2.2755552 15.92888853 4.55111147 25.0311104 4.5511104 27.30666667 0 52.33777813-15.92888853 63.71555626-43.2355552 13.65333333-36.40888853-4.55111147-75.09333333-38.6844448-88.74666667z'\n fill='#92c4ff'\n ></path>\n <path\n d='M216.17777813 512m-159.2888896 0a159.28888853 159.28888853 0 1 0 318.57777814 0 159.28888853 159.28888853 0 1 0-318.57777814 0Z'\n fill='#2070e5'\n ></path>\n <path\n d='M807.82222187 284.4444448m-159.28888854 0a159.28888853 159.28888853 0 1 0 318.57777814 0 159.28888853 159.28888853 0 1 0-318.57777814 0Z'\n fill='#2070e5'\n ></path>\n <path\n d='M807.82222187 739.5555552m-159.28888854 0a159.28888853 159.28888853 0 1 0 318.57777814 0 159.28888853 159.28888853 0 1 0-318.57777814 0Z'\n fill='#2070e5'\n ></path>\n </svg>\n );\n}\n\nexport function UpdateSvg() {\n return (\n <svg className='icon' viewBox='0 0 1024 1024' version='1.1' xmlns='http://www.w3.org/2000/svg'>\n <path d='M512 919.552c-224.768 0-407.552-182.784-407.552-407.552 0-8.704 0.512-17.408 1.024-26.112l71.68 4.608c-0.512 7.168-0.512 14.336-0.512 21.504 0 185.344 150.528 335.872 335.872 335.872 86.528 0 168.448-32.768 230.912-92.16l49.152 52.224C716.288 880.128 616.96 919.552 512 919.552zM919.552 512h-71.68c0-11.776-0.512-23.552-2.048-35.328-17.92-171.52-161.28-300.544-334.336-300.544-67.584 0-132.096 19.968-187.904 57.344L284.16 174.08c67.072-45.568 145.92-69.632 227.84-69.632 209.408 0 384 156.672 405.504 365.056 1.536 13.824 2.048 28.16 2.048 42.496z'></path>\n <path d='M140.288 290.816L28.16 491.52c-3.072 5.12 1.024 11.776 6.656 11.776H258.56c6.144 0 9.728-6.144 6.656-11.776L153.6 290.816c-3.072-5.632-10.752-5.632-13.312 0zM870.4 675.84L758.272 475.136c-3.072-5.12 1.024-11.776 6.656-11.776h223.744c6.144 0 9.728 6.144 6.656 11.776L883.712 675.84c-2.56 5.12-10.24 5.12-13.312 0zM270.336 202.24a35.84 35.84 0 1 0 71.68 0 35.84 35.84 0 1 0-71.68 0zM728.576 784.896a35.84 35.84 0 1 0 71.68 0 35.84 35.84 0 1 0-71.68 0z'></path>\n </svg>\n );\n}\n\n//空数据\nexport function NullDataSvg() {\n return (\n <svg\n xmlns='http://www.w3.org/2000/svg'\n xmlnsXlink='http://www.w3.org/1999/xlink'\n viewBox='0 0 512 512'\n >\n <defs>\n <linearGradient\n gradientUnits='userSpaceOnUse'\n y2='181.12'\n x2='1'\n y1='91.35'\n x1='1'\n id='color_line_26'\n >\n <stop stopColor='#81cfff' offset='0' />\n <stop stopOpacity='0' stopColor='#5ecfff' offset='1' />\n </linearGradient>\n <linearGradient\n xlinkHref='#color_line_26'\n y2='161.88'\n x2='455.01'\n y1='72.11'\n x1='455.01'\n id='color_line_26-2'\n />\n <linearGradient\n xlinkHref='#color_line_26'\n y2='199.51'\n x2='40.9'\n y1='143.88'\n x1='40.9'\n id='color_line_26-3'\n />\n <linearGradient\n xlinkHref='#color_line_26'\n y2='123.17'\n x2='64.97'\n y1='95.36'\n x1='64.97'\n id='color_line_26-4'\n />\n <linearGradient\n xlinkHref='#color_line_26'\n y2='132.02'\n x2='397.23'\n y1='104.2'\n x1='397.23'\n id='color_line_26-5'\n />\n <linearGradient\n xlinkHref='#color_line_26'\n y2='189.13'\n x2='424.75'\n y1='133.49'\n x1='424.75'\n id='color_line_26-6'\n />\n <linearGradient\n xlinkHref='#color_line_26'\n y2='262.12'\n x2='232.75'\n y1='224.43'\n x1='232.75'\n id='color_line_26-7'\n />\n <linearGradient\n xlinkHref='#color_line_26'\n y2='204.03'\n x2='349.36'\n y1='26.68'\n x1='349.36'\n id='color_line_26-8'\n />\n <linearGradient\n xlinkHref='#color_line_26'\n y2='204.03'\n x2='201.45'\n y1='55.61'\n x1='201.45'\n id='color_line_26-9'\n />\n <linearGradient\n xlinkHref='#color_line_26'\n y2='204.03'\n x2='122.98'\n y1='26.68'\n x1='122.98'\n id='color_line_26-10'\n />\n <linearGradient\n xlinkHref='#color_line_26'\n y2='209.54'\n x2='273.51'\n y1='0'\n x1='273.51'\n id='color_line_26-11'\n />\n </defs>\n <title>暂无历史数据</title>\n <g>\n <path\n id='svg_7'\n fill='url(#color_line_26-7)'\n opacity='0.4'\n d='m412.28,262.12c-23,-23 -61,-37.69 -179.53,-37.69s-156.51,14.67 -179.54,37.69l359.07,0z'\n className='cls-7'\n />\n <g id='svg_57'>\n <line\n id='svg_1'\n stroke='url(#color_line_26)'\n strokeWidth='2px'\n strokeMiterlimit='10'\n fill='none'\n y2='167.12'\n x2='1'\n y1='77.35'\n x1='1'\n className='cls-1'\n />\n <line\n id='svg_2'\n stroke='url(#color_line_26-2)'\n strokeWidth='2px'\n strokeMiterlimit='10'\n fill='none'\n y2='147.88'\n x2='455.01'\n y1='58.11'\n x1='455.01'\n className='cls-2'\n />\n <line\n id='svg_3'\n stroke='url(#color_line_26-3)'\n strokeWidth='2px'\n strokeMiterlimit='10'\n fill='none'\n y2='185.51'\n x2='40.9'\n y1='129.88'\n x1='40.9'\n className='cls-3'\n />\n <line\n id='svg_4'\n stroke='url(#color_line_26-4)'\n strokeWidth='2px'\n strokeMiterlimit='10'\n fill='none'\n y2='109.17'\n x2='64.97'\n y1='81.36'\n x1='64.97'\n className='cls-4'\n />\n <line\n id='svg_5'\n stroke='url(#color_line_26-5)'\n strokeWidth='2px'\n strokeMiterlimit='10'\n fill='none'\n y2='118.02'\n x2='397.23'\n y1='90.2'\n x1='397.23'\n className='cls-5'\n />\n <line\n id='svg_6'\n stroke='url(#color_line_26-6)'\n strokeWidth='2px'\n strokeMiterlimit='10'\n fill='none'\n y2='175.13'\n x2='424.75'\n y1='119.49'\n x1='424.75'\n className='cls-6'\n />\n <g id='svg_8' opacity='0.7' className='cls-8'>\n <path\n id='svg_9'\n fill='url(#color_line_26-8)'\n opacity='0.4'\n d='m381.66,33.68l-62.59,0a2.71,2.71 0 0 0 -2.82,2.59l0,172.17a2.71,2.71 0 0 0 2.82,2.59l62.59,0a2.72,2.72 0 0 0 2.82,-2.59l0,-172.17a2.72,2.72 0 0 0 -2.82,-2.59zm-52.36,120.32a0.9,0.9 0 0 1 -0.95,0.87l-3.6,0a0.9,0.9 0 0 1 -0.95,-0.87l0,-19.73a0.91,0.91 0 0 1 0.95,-0.87l3.6,0a0.91,0.91 0 0 1 0.95,0.87l0,19.73zm0,-30.23a0.91,0.91 0 0 1 -0.95,0.87l-3.6,0a0.91,0.91 0 0 1 -0.95,-0.87l0,-19.77a0.91,0.91 0 0 1 0.95,-0.87l3.6,0a0.91,0.91 0 0 1 0.95,0.87l0,19.77zm0,-30.24a0.91,0.91 0 0 1 -0.95,0.87l-3.6,0a0.91,0.91 0 0 1 -0.95,-0.87l0,-19.73a0.91,0.91 0 0 1 0.95,-0.87l3.6,0a0.91,0.91 0 0 1 0.95,0.87l0,19.73zm0,-30.24a0.91,0.91 0 0 1 -0.95,0.87l-3.6,0a0.91,0.91 0 0 1 -0.95,-0.87l0,-19.73a0.91,0.91 0 0 1 0.95,-0.87l3.6,0a0.91,0.91 0 0 1 0.95,0.87l0,19.73zm11.7,90.71a0.9,0.9 0 0 1 -0.94,0.87l-3.61,0a0.91,0.91 0 0 1 -0.95,-0.87l0,-19.73a0.92,0.92 0 0 1 0.95,-0.87l3.61,0a0.91,0.91 0 0 1 0.94,0.87l0,19.73zm0,-30.23a0.91,0.91 0 0 1 -0.94,0.87l-3.61,0a0.92,0.92 0 0 1 -0.95,-0.87l0,-19.77a0.92,0.92 0 0 1 0.95,-0.87l3.61,0a0.91,0.91 0 0 1 0.94,0.87l0,19.77zm0,-30.24a0.91,0.91 0 0 1 -0.94,0.87l-3.61,0a0.92,0.92 0 0 1 -0.95,-0.87l0,-19.73a0.92,0.92 0 0 1 0.95,-0.87l3.61,0a0.91,0.91 0 0 1 0.94,0.87l0,19.73zm0,-30.24a0.91,0.91 0 0 1 -0.94,0.87l-3.61,0a0.92,0.92 0 0 1 -0.95,-0.87l0,-19.73a0.92,0.92 0 0 1 0.95,-0.87l3.61,0a0.91,0.91 0 0 1 0.94,0.87l0,19.73zm11.7,90.71a0.9,0.9 0 0 1 -0.94,0.87l-3.61,0a0.9,0.9 0 0 1 -0.94,-0.87l0,-19.73a0.91,0.91 0 0 1 0.94,-0.87l3.61,0a0.91,0.91 0 0 1 0.94,0.87l0,19.73zm0,-30.23a0.91,0.91 0 0 1 -0.94,0.87l-3.61,0a0.91,0.91 0 0 1 -0.94,-0.87l0,-19.77a0.91,0.91 0 0 1 0.94,-0.87l3.61,0a0.91,0.91 0 0 1 0.94,0.87l0,19.77zm0,-30.24a0.91,0.91 0 0 1 -0.94,0.87l-3.61,0a0.91,0.91 0 0 1 -0.94,-0.87l0,-19.73a0.91,0.91 0 0 1 0.94,-0.87l3.61,0a0.91,0.91 0 0 1 0.94,0.87l0,19.73zm0,-30.24a0.91,0.91 0 0 1 -0.94,0.87l-3.61,0a0.91,0.91 0 0 1 -0.94,-0.87l0,-19.73a0.91,0.91 0 0 1 0.94,-0.87l3.61,0a0.91,0.91 0 0 1 0.94,0.87l0,19.73zm11.7,90.71a0.9,0.9 0 0 1 -0.94,0.87l-3.61,0a0.9,0.9 0 0 1 -0.94,-0.87l0,-19.73a0.91,0.91 0 0 1 0.94,-0.87l3.61,0a0.91,0.91 0 0 1 0.94,0.87l0,19.73zm0,-30.23a0.91,0.91 0 0 1 -0.94,0.87l-3.61,0a0.91,0.91 0 0 1 -0.94,-0.87l0,-19.77a0.91,0.91 0 0 1 0.94,-0.87l3.61,0a0.91,0.91 0 0 1 0.94,0.87l0,19.77zm0,-30.24a0.91,0.91 0 0 1 -0.94,0.87l-3.61,0a0.91,0.91 0 0 1 -0.94,-0.87l0,-19.73a0.91,0.91 0 0 1 0.94,-0.87l3.61,0a0.91,0.91 0 0 1 0.94,0.87l0,19.73zm0,-30.24a0.91,0.91 0 0 1 -0.94,0.87l-3.61,0a0.91,0.91 0 0 1 -0.94,-0.87l0,-19.73a0.91,0.91 0 0 1 0.94,-0.87l3.61,0a0.91,0.91 0 0 1 0.94,0.87l0,19.73zm11.71,90.71a0.91,0.91 0 0 1 -0.95,0.87l-3.61,0a0.9,0.9 0 0 1 -0.94,-0.87l0,-19.73a0.91,0.91 0 0 1 0.94,-0.87l3.61,0a0.92,0.92 0 0 1 0.95,0.87l0,19.73zm0,-30.23a0.92,0.92 0 0 1 -0.95,0.87l-3.61,0a0.91,0.91 0 0 1 -0.94,-0.87l0,-19.77a0.91,0.91 0 0 1 0.94,-0.87l3.61,0a0.92,0.92 0 0 1 0.95,0.87l0,19.77zm0,-30.24a0.92,0.92 0 0 1 -0.95,0.87l-3.61,0a0.91,0.91 0 0 1 -0.94,-0.87l0,-19.73a0.91,0.91 0 0 1 0.94,-0.87l3.61,0a0.92,0.92 0 0 1 0.95,0.87l0,19.73zm0,-30.24a0.92,0.92 0 0 1 -0.95,0.87l-3.61,0a0.91,0.91 0 0 1 -0.94,-0.87l0,-19.73a0.91,0.91 0 0 1 0.94,-0.87l3.61,0a0.92,0.92 0 0 1 0.95,0.87l0,19.73z'\n className='cls-9'\n />\n <path\n id='svg_10'\n fill='url(#color_line_26-9)'\n opacity='0.4'\n d='m232.1,62.61l-59.3,0a2.71,2.71 0 0 0 -2.8,2.59l0,143.24a2.71,2.71 0 0 0 2.8,2.56l59.3,0a2.71,2.71 0 0 0 2.82,-2.59l0,-143.21a2.71,2.71 0 0 0 -2.82,-2.59zm-48.63,103.76a1.16,1.16 0 0 1 -1.2,1.11l-5.4,0a1.16,1.16 0 0 1 -1.2,-1.11l0,-5.22a1.15,1.15 0 0 1 1.2,-1.1l5.4,0a1.15,1.15 0 0 1 1.2,1.1l0,5.22zm0,-12.88a1.15,1.15 0 0 1 -1.2,1.1l-5.4,0a1.15,1.15 0 0 1 -1.2,-1.1l0,-5.22a1.16,1.16 0 0 1 1.2,-1.11l5.4,0a1.16,1.16 0 0 1 1.2,1.11l0,5.22zm0,-12.89a1.16,1.16 0 0 1 -1.2,1.11l-5.4,0a1.16,1.16 0 0 1 -1.2,-1.11l0,-5.22a1.15,1.15 0 0 1 1.2,-1.1l5.4,0a1.15,1.15 0 0 1 1.2,1.1l0,5.22zm0,-12.88a1.15,1.15 0 0 1 -1.2,1.1l-5.4,0a1.15,1.15 0 0 1 -1.2,-1.1l0,-5.22a1.16,1.16 0 0 1 1.2,-1.11l5.4,0a1.16,1.16 0 0 1 1.2,1.11l0,5.22zm0,-12.89a1.16,1.16 0 0 1 -1.2,1.11l-5.4,0a1.16,1.16 0 0 1 -1.2,-1.11l0,-5.21a1.15,1.15 0 0 1 1.2,-1.11l5.4,0a1.15,1.15 0 0 1 1.2,1.11l0,5.21zm0,-12.88a1.15,1.15 0 0 1 -1.2,1.1l-5.4,0a1.15,1.15 0 0 1 -1.2,-1.1l0,-5.22a1.16,1.16 0 0 1 1.2,-1.11l5.4,0a1.16,1.16 0 0 1 1.2,1.11l0,5.22zm0,-12.89a1.16,1.16 0 0 1 -1.2,1.11l-5.4,0a1.16,1.16 0 0 1 -1.2,-1.11l0,-5.21a1.15,1.15 0 0 1 1.2,-1.11l5.4,0a1.15,1.15 0 0 1 1.2,1.11l0,5.21zm0,-12.88a1.15,1.15 0 0 1 -1.2,1.1l-5.4,0a1.15,1.15 0 0 1 -1.2,-1.1l0,-5.18a1.16,1.16 0 0 1 1.2,-1.11l5.4,0a1.16,1.16 0 0 1 1.2,1.11l0,5.18zm10.08,90.19a1.16,1.16 0 0 1 -1.2,1.11l-5.35,0a1.16,1.16 0 0 1 -1.21,-1.11l0,-5.22a1.16,1.16 0 0 1 1.21,-1.1l5.4,0a1.15,1.15 0 0 1 1.2,1.1l-0.05,5.22zm0,-12.88a1.15,1.15 0 0 1 -1.2,1.1l-5.35,0a1.16,1.16 0 0 1 -1.21,-1.1l0,-5.22a1.16,1.16 0 0 1 1.21,-1.11l5.4,0a1.16,1.16 0 0 1 1.2,1.11l-0.05,5.22zm0,-12.89a1.16,1.16 0 0 1 -1.2,1.11l-5.35,0a1.16,1.16 0 0 1 -1.21,-1.11l0,-5.22a1.16,1.16 0 0 1 1.21,-1.1l5.4,0a1.15,1.15 0 0 1 1.2,1.1l-0.05,5.22zm0,-12.88a1.15,1.15 0 0 1 -1.2,1.1l-5.35,0a1.16,1.16 0 0 1 -1.21,-1.1l0,-5.22a1.16,1.16 0 0 1 1.21,-1.11l5.4,0a1.16,1.16 0 0 1 1.2,1.11l-0.05,5.22zm0,-12.89a1.16,1.16 0 0 1 -1.2,1.11l-5.35,0a1.16,1.16 0 0 1 -1.21,-1.11l0,-5.21a1.16,1.16 0 0 1 1.21,-1.11l5.4,0a1.15,1.15 0 0 1 1.2,1.11l-0.05,5.21zm0,-12.88a1.15,1.15 0 0 1 -1.2,1.1l-5.35,0a1.16,1.16 0 0 1 -1.21,-1.1l0,-5.22a1.16,1.16 0 0 1 1.21,-1.11l5.4,0a1.16,1.16 0 0 1 1.2,1.11l-0.05,5.22zm0,-12.89a1.16,1.16 0 0 1 -1.2,1.11l-5.35,0a1.16,1.16 0 0 1 -1.21,-1.11l0,-5.21a1.16,1.16 0 0 1 1.21,-1.11l5.4,0a1.15,1.15 0 0 1 1.2,1.11l-0.05,5.21zm0,-12.88a1.15,1.15 0 0 1 -1.2,1.1l-5.35,0a1.16,1.16 0 0 1 -1.21,-1.1l0,-5.18a1.16,1.16 0 0 1 1.21,-1.15l5.4,0a1.16,1.16 0 0 1 1.2,1.11l-0.05,5.22zm10.08,90.19a1.16,1.16 0 0 1 -1.21,1.11l-5.42,0a1.16,1.16 0 0 1 -1.2,-1.11l0,-5.22a1.15,1.15 0 0 1 1.2,-1.1l5.4,0a1.16,1.16 0 0 1 1.21,1.1l0.02,5.22zm0,-12.88a1.16,1.16 0 0 1 -1.21,1.1l-5.42,0a1.15,1.15 0 0 1 -1.2,-1.1l0,-5.22a1.16,1.16 0 0 1 1.2,-1.11l5.4,0a1.16,1.16 0 0 1 1.21,1.11l0.02,5.22zm0,-12.89a1.16,1.16 0 0 1 -1.21,1.11l-5.42,0a1.16,1.16 0 0 1 -1.2,-1.11l0,-5.22a1.15,1.15 0 0 1 1.2,-1.1l5.4,0a1.16,1.16 0 0 1 1.21,1.1l0.02,5.22zm0,-12.88a1.16,1.16 0 0 1 -1.21,1.1l-5.42,0a1.15,1.15 0 0 1 -1.2,-1.1l0,-5.22a1.16,1.16 0 0 1 1.2,-1.11l5.4,0a1.16,1.16 0 0 1 1.21,1.11l0.02,5.22zm0,-12.89a1.16,1.16 0 0 1 -1.21,1.11l-5.42,0a1.16,1.16 0 0 1 -1.2,-1.11l0,-5.21a1.15,1.15 0 0 1 1.2,-1.11l5.4,0a1.16,1.16 0 0 1 1.21,1.11l0.02,5.21zm0,-12.88a1.16,1.16 0 0 1 -1.21,1.1l-5.42,0a1.15,1.15 0 0 1 -1.2,-1.1l0,-5.22a1.16,1.16 0 0 1 1.2,-1.11l5.4,0a1.16,1.16 0 0 1 1.21,1.11l0.02,5.22zm0,-12.89a1.16,1.16 0 0 1 -1.21,1.11l-5.42,0a1.16,1.16 0 0 1 -1.2,-1.11l0,-5.21a1.15,1.15 0 0 1 1.2,-1.11l5.4,0a1.16,1.16 0 0 1 1.21,1.11l0.02,5.21zm0,-12.88a1.16,1.16 0 0 1 -1.21,1.1l-5.42,0a1.15,1.15 0 0 1 -1.2,-1.1l0,-5.18a1.16,1.16 0 0 1 1.2,-1.11l5.4,0a1.16,1.16 0 0 1 1.23,1.11l0,5.18zm25.21,90.19a1.16,1.16 0 0 1 -1.2,1.11l-20.54,0a1.16,1.16 0 0 1 -1.2,-1.11l0,-5.22a1.15,1.15 0 0 1 1.2,-1.1l20.54,0a1.15,1.15 0 0 1 1.2,1.1l0,5.22zm0,-12.88a1.15,1.15 0 0 1 -1.2,1.1l-20.54,0a1.15,1.15 0 0 1 -1.2,-1.1l0,-5.22a1.16,1.16 0 0 1 1.2,-1.11l20.54,0a1.16,1.16 0 0 1 1.2,1.11l0,5.22zm0,-12.89a1.16,1.16 0 0 1 -1.2,1.11l-20.54,0a1.16,1.16 0 0 1 -1.2,-1.11l0,-5.22a1.15,1.15 0 0 1 1.2,-1.1l20.54,0a1.15,1.15 0 0 1 1.2,1.1l0,5.22zm0,-12.88a1.15,1.15 0 0 1 -1.2,1.1l-20.54,0a1.15,1.15 0 0 1 -1.2,-1.1l0,-5.22a1.16,1.16 0 0 1 1.2,-1.11l20.54,0a1.16,1.16 0 0 1 1.2,1.11l0,5.22zm0,-12.89a1.16,1.16 0 0 1 -1.2,1.11l-20.54,0a1.16,1.16 0 0 1 -1.2,-1.11l0,-5.21a1.15,1.15 0 0 1 1.2,-1.11l20.54,0a1.15,1.15 0 0 1 1.2,1.11l0,5.21zm0,-12.88a1.15,1.15 0 0 1 -1.2,1.1l-20.54,0a1.15,1.15 0 0 1 -1.2,-1.1l0,-5.22a1.16,1.16 0 0 1 1.2,-1.11l20.54,0a1.16,1.16 0 0 1 1.2,1.11l0,5.22zm0,-12.89a1.16,1.16 0 0 1 -1.2,1.11l-20.54,0a1.16,1.16 0 0 1 -1.2,-1.11l0,-5.21a1.15,1.15 0 0 1 1.2,-1.11l20.54,0a1.15,1.15 0 0 1 1.2,1.11l0,5.21zm0,-12.88a1.15,1.15 0 0 1 -1.2,1.1l-20.54,0a1.15,1.15 0 0 1 -1.2,-1.1l0,-5.18a1.16,1.16 0 0 1 1.2,-1.11l20.54,0a1.16,1.16 0 0 1 1.2,1.11l0,5.18z'\n className='cls-10'\n />\n <path\n id='svg_11'\n fill='url(#color_line_26-10)'\n opacity='0.4'\n d='m162.13,33.68l-76.3,0a2.71,2.71 0 0 0 -2.83,2.59l0,172.17a2.71,2.71 0 0 0 2.83,2.56l76.3,0a2.71,2.71 0 0 0 2.82,-2.59l0,-172.14a2.71,2.71 0 0 0 -2.82,-2.59zm-6.79,134.32a1.16,1.16 0 0 1 -1.2,1.11l-60.31,0a1.16,1.16 0 0 1 -1.21,-1.11l0,-5.21a1.16,1.16 0 0 1 1.21,-1.11l60.31,0a1.15,1.15 0 0 1 1.2,1.11l0,5.21zm0,-14.67a1.15,1.15 0 0 1 -1.2,1.1l-60.31,0a1.16,1.16 0 0 1 -1.21,-1.1l0,-5.22a1.16,1.16 0 0 1 1.21,-1.11l60.31,0a1.16,1.16 0 0 1 1.2,1.11l0,5.22zm0,-14.68a1.16,1.16 0 0 1 -1.2,1.11l-60.31,0a1.16,1.16 0 0 1 -1.21,-1.11l0,-5.22a1.16,1.16 0 0 1 1.21,-1.1l60.31,0a1.15,1.15 0 0 1 1.2,1.1l0,5.22zm0,-14.68a1.16,1.16 0 0 1 -1.2,1.11l-60.31,0a1.16,1.16 0 0 1 -1.21,-1.11l0,-5.21a1.16,1.16 0 0 1 1.21,-1.11l60.31,0a1.15,1.15 0 0 1 1.2,1.11l0,5.21zm0,-14.67a1.15,1.15 0 0 1 -1.2,1.1l-60.31,0a1.16,1.16 0 0 1 -1.21,-1.1l0,-5.3a1.16,1.16 0 0 1 1.21,-1.11l60.31,0a1.16,1.16 0 0 1 1.2,1.11l0,5.3zm0,-14.68a1.16,1.16 0 0 1 -1.2,1.11l-60.31,0a1.16,1.16 0 0 1 -1.21,-1.11l0,-5.27a1.16,1.16 0 0 1 1.21,-1.1l60.31,0a1.15,1.15 0 0 1 1.2,1.1l0,5.27zm0,-14.68a1.16,1.16 0 0 1 -1.2,1.11l-60.31,0a1.16,1.16 0 0 1 -1.21,-1.11l0,-5.26a1.16,1.16 0 0 1 1.21,-1.11l60.31,0a1.15,1.15 0 0 1 1.2,1.11l0,5.26zm0,-14.67a1.15,1.15 0 0 1 -1.2,1.1l-60.31,0a1.16,1.16 0 0 1 -1.21,-1.1l0,-5.27a1.16,1.16 0 0 1 1.21,-1.11l60.31,0a1.16,1.16 0 0 1 1.2,1.11l0,5.27zm0,-14.68a1.16,1.16 0 0 1 -1.2,1.11l-60.31,0a1.16,1.16 0 0 1 -1.21,-1.11l0,-5.27a1.16,1.16 0 0 1 1.21,-1.1l60.31,0a1.15,1.15 0 0 1 1.2,1.1l0,5.27z'\n className='cls-11'\n />\n <path\n id='svg_12'\n fill='url(#color_line_26-11)'\n opacity='0.4'\n d='m307.21,7l-65.39,0a2.51,2.51 0 0 0 -2.42,2.59l0,204.35a2.51,2.51 0 0 0 2.42,2.6l65.39,0a2.51,2.51 0 0 0 2.41,-2.6l0,-204.35a2.51,2.51 0 0 0 -2.41,-2.59zm-5.82,134.28a1.06,1.06 0 0 1 -1,1.1l-51.72,0a1.06,1.06 0 0 1 -1,-1.1l0,-5.22a1.07,1.07 0 0 1 1,-1.11l51.69,0a1.07,1.07 0 0 1 1,1.11l0.03,5.22zm0,-14.68a1.07,1.07 0 0 1 -1,1.11l-51.72,0a1.07,1.07 0 0 1 -1,-1.11l0,-5.22a1.06,1.06 0 0 1 1,-1.1l51.69,0a1.06,1.06 0 0 1 1,1.1l0.03,5.22zm0,-14.68a1.07,1.07 0 0 1 -1,1.11l-51.72,0a1.07,1.07 0 0 1 -1,-1.11l0,-5.21a1.07,1.07 0 0 1 1,-1.11l51.69,0a1.07,1.07 0 0 1 1,1.11l0.03,5.21zm0,-14.67a1.06,1.06 0 0 1 -1,1.1l-51.72,0a1.06,1.06 0 0 1 -1,-1.1l0,-5.25a1.07,1.07 0 0 1 1,-1.11l51.69,0a1.07,1.07 0 0 1 1,1.11l0.03,5.25zm0,-14.68a1.07,1.07 0 0 1 -1,1.11l-51.72,0a1.07,1.07 0 0 1 -1,-1.11l0,-5.22a1.06,1.06 0 0 1 1,-1.1l51.69,0a1.06,1.06 0 0 1 1,1.1l0.03,5.22zm0,-14.68a1.07,1.07 0 0 1 -1,1.11l-51.72,0a1.07,1.07 0 0 1 -1,-1.11l0,-5.21a1.07,1.07 0 0 1 1,-1.11l51.69,0a1.07,1.07 0 0 1 1,1.11l0.03,5.21zm0,-14.67a1.06,1.06 0 0 1 -1,1.1l-51.72,0a1.06,1.06 0 0 1 -1,-1.1l0,-5.22a1.07,1.07 0 0 1 1,-1.11l51.69,0a1.07,1.07 0 0 1 1,1.11l0.03,5.22zm0,-14.68a1.07,1.07 0 0 1 -1,1.11l-51.72,0a1.07,1.07 0 0 1 -1,-1.11l0,-5.22a1.06,1.06 0 0 1 1,-1.1l51.69,0a1.06,1.06 0 0 1 1,1.1l0.03,5.22zm0,-14.68a1.07,1.07 0 0 1 -1,1.11l-51.72,0a1.07,1.07 0 0 1 -1,-1.11l0,-5.21a1.07,1.07 0 0 1 1,-1.11l51.69,0a1.07,1.07 0 0 1 1,1.11l0.03,5.21z'\n className='cls-12'\n />\n </g>\n </g>\n <g transform='rotate(-12 333.085 213.426)' id='svg_58'>\n <polygon\n id='svg_22'\n fill='#57b3f5'\n points='339.3399963378906,228.0500030517578 339.3399963378906,228.0399932861328 340.7200012207031,228.82000732421875 340.7200012207031,228.8300018310547 327.71002197265625,243.99000549316406 327.6399841308594,241.6699981689453 327.7699890136719,241.52000427246094 339.3399963378906,228.0500030517578 '\n className='cls-15'\n />\n <polygon\n id='svg_23'\n fill='#4899e3'\n points='337.3999938964844,226.9499969482422 339.3399963378906,228.0399932861328 339.3399963378906,228.0500030517578 327.7699890136719,241.52000427246094 326.010009765625,240.14999389648438 337.3999938964844,226.9499969482422 '\n className='cls-17'\n />\n <polygon\n id='svg_24'\n fill='#4888e3'\n points='336.010009765625,226.1699981689453 337.3999938964844,226.9499969482422 326.010009765625,240.14999389648438 325.94000244140625,237.8300018310547 336.010009765625,226.1699981689453 '\n className='cls-18'\n />\n <polygon\n id='svg_25'\n fill='#57b3f5'\n points='313.6399841308594,212.77999877929688 301.54998779296875,225.8300018310547 300.3999938964844,224.10000610351562 312.3900146484375,211.0399932861328 313.6399841308594,212.77999877929688 '\n className='cls-15'\n />\n <polygon\n id='svg_26'\n fill='#69bff5'\n points='314.55999755859375,214.07000732421875 300.9900207519531,228.8300018310547 300.91998291015625,226.50999450683594 301.54998779296875,225.8300018310547 313.6399841308594,212.77999877929688 314.55999755859375,214.05999755859375 314.55999755859375,214.07000732421875 '\n className='cls-14'\n />\n <polygon\n id='svg_27'\n fill='#69bff5'\n points='317.97998046875,210.16000366210938 314.57000732421875,214.0800018310547 314.55999755859375,214.07000732421875 314.55999755859375,214.05999755859375 313.6399841308594,212.77999877929688 312.3900146484375,211.0399932861328 315.83001708984375,207.02000427246094 317.97998046875,210.16000366210938 '\n className='cls-14'\n />\n <polygon\n id='svg_28'\n fill='#7dccf5'\n points='366.510009765625,189.3300018310547 372.25,198.19000244140625 368.04998779296875,195.8300018310547 364.0799865722656,190.27999877929688 366.510009765625,189.3300018310547 '\n className='cls-13'\n />\n <polygon\n id='svg_29'\n fill='#57b3f5'\n points='364.0799865722656,190.27999877929688 368.04998779296875,195.8300018310547 347.95001220703125,219 362.3399963378906,190.9600067138672 364.0799865722656,190.27999877929688 '\n className='cls-15'\n />\n <polygon\n id='svg_30'\n fill='#57b3f5'\n points='315.83001708984375,207.02000427246094 319.9700012207031,207.61000061035156 343.2799987792969,217.55999755859375 347.95001220703125,219 343.4100036621094,224.24000549316406 317.97998046875,210.16000366210938 315.83001708984375,207.02000427246094 '\n className='cls-15'\n />\n <polygon\n id='svg_31'\n fill='#8cd7ff'\n points='372.25,198.19000244140625 344.02001953125,230.67999267578125 340.7200012207031,228.82000732421875 339.3399963378906,228.0399932861328 337.3999938964844,226.9499969482422 336.010009765625,226.1699981689453 317.8399963378906,215.92999267578125 314.57000732421875,214.0800018310547 317.97998046875,210.16000366210938 343.4100036621094,224.24000549316406 347.95001220703125,219 368.04998779296875,195.8300018310547 372.25,198.19000244140625 '\n className='cls-16'\n />\n <polygon\n id='svg_32'\n fill='#8cd7ff'\n points='314.57000732421875,214.0800018310547 317.8399963378906,215.92999267578125 304.1099853515625,231.25999450683594 300.9900207519531,228.8300018310547 314.55999755859375,214.07000732421875 314.57000732421875,214.0800018310547 '\n className='cls-16'\n />\n <polygon\n id='svg_33'\n fill='#8cd7ff'\n points='344.02001953125,230.67999267578125 330.83001708984375,246.4199981689453 327.71002197265625,243.99000549316406 340.7200012207031,228.8300018310547 340.7200012207031,228.82000732421875 344.02001953125,230.67999267578125 '\n className='cls-16'\n />\n <path\n id='svg_34'\n fill='#ebfcff'\n d='m293.92,189.8c0.14,-0.42 0.87,-0.52 1.23,-0.31c-0.22,-0.08 -0.37,0.1 -0.32,0.41a18.89,18.89 0 0 0 2.57,8.21c0.26,0.72 0.42,2.62 0.72,3.6a1.28,1.28 0 0 0 1.17,1.07a1.28,1.28 0 0 1 -1.66,0.41c-0.73,-0.32 -1.24,-2.83 -1.35,-3.31s-1.24,-5.35 -1.58,-6a13.51,13.51 0 0 1 -0.78,-4.08z'\n className='cls-19'\n />\n <path\n id='svg_35'\n fill='#e49056'\n d='m301.27,201.87a11.25,11.25 0 0 1 -1.73,0.89l-0.25,0a1.28,1.28 0 0 1 -1.17,-1.07c-0.3,-1 -0.46,-2.88 -0.72,-3.6a18.89,18.89 0 0 1 -2.57,-8.21c-0.05,-0.31 0.1,-0.49 0.32,-0.41a21.68,21.68 0 0 1 2.71,3.15a9.11,9.11 0 0 0 3.8,3.88a1.67,1.67 0 0 1 0.14,0.53c0.07,0.63 -0.18,1.21 -0.54,1.26s-0.93,-0.19 -0.87,0.48a2,2 0 0 0 1,1.57c0.44,0.17 0.76,0.12 0.76,0.64a3.28,3.28 0 0 0 0,0.34c0,0.27 0.08,0.41 0,0.51s-0.54,-0.15 -0.88,0.04z'\n className='cls-20'\n />\n <path\n id='svg_36'\n strokeWidth='0.09px'\n stroke='#4986d9'\n strokeMiterlimit='10'\n fill='none'\n d='m295.15,189.49c-0.36,-0.21 -1.09,-0.11 -1.23,0.31a13.51,13.51 0 0 0 0.78,4c0.34,0.68 1.48,5.55 1.58,6s0.62,3 1.35,3.31a1.28,1.28 0 0 0 1.66,-0.41l0,0'\n className='cls-21'\n />\n <path\n id='svg_37'\n fill='#a4e5ff'\n d='m359,190.06a0.56,0.56 0 0 0 0.08,0.54a1.72,1.72 0 0 1 -0.61,-0.13l0.53,-0.41z'\n className='cls-22'\n />\n <path\n id='svg_38'\n d='m360.72,187.15c0.83,-2.68 -0.21,-5.38 -2.33,-6a4.15,4.15 0 0 0 -4.53,2a1.78,1.78 0 0 1 -0.78,-1.71c0.08,0.57 1,1.11 1.43,0.43a2.71,2.71 0 0 1 0.87,-0.68c1.11,-0.59 3,-1 4.28,0.11a5.06,5.06 0 0 1 1.49,2.27a6.1,6.1 0 0 1 0.11,3.45a1.8,1.8 0 0 1 -0.18,0.65a6.73,6.73 0 0 1 -1.56,1.71a6.18,6.18 0 0 0 1.2,-2.23z'\n />\n <path\n id='svg_39'\n fill='#257fba'\n d='m339.52,208.84c0,0.23 0,0.46 0.08,0.68l0,0l-1.69,1l-16.33,-9a3.33,3.33 0 0 0 -1,-0.33l-15.58,-2.4l19.33,-1.38a2.59,2.59 0 0 1 1.85,0.59l13.38,10.84l-0.04,0z'\n className='cls-23'\n />\n <path\n id='svg_40'\n fill='#398eed'\n d='m343.27,217.56l-3.69,2.24a3.64,3.64 0 0 1 -4.11,-0.23l-15.51,-12l-18.42,-2.57l0.39,-2.11l0.72,-3.9l0.1,-0.52l2.2,0.34l0,0l15.65,2.4a3.33,3.33 0 0 1 1,0.33l16.33,9l1.69,-1l0,0a13.71,13.71 0 0 0 3.65,8.02z'\n className='cls-24'\n />\n <path\n id='svg_41'\n fill='#ffb056'\n d='m351.69,185l0,0a2.9,2.9 0 0 1 1.36,-0.26a5.06,5.06 0 0 0 1.31,5.51a4.22,4.22 0 0 1 0,1.34c-0.45,0 -1.47,0 -1.22,1.35s3,1 3.53,0a2.49,2.49 0 0 1 0.91,-1.85l0.81,-0.62a1.72,1.72 0 0 0 0.61,0.13a0.56,0.56 0 0 1 -0.08,-0.54l2.46,-1.9a15.75,15.75 0 0 1 2.2,4a8.34,8.34 0 0 1 0.83,4.4a17,17 0 0 0 -7.27,6.42c-2.09,3.48 -7.29,14 -8.05,15.85c-1.56,0.18 -3.29,0.42 -3.29,0.42a7.42,7.42 0 0 1 -2.57,-1.72a13.71,13.71 0 0 1 -3.67,-8c0,-0.22 -0.06,-0.45 -0.08,-0.68s0,-0.28 0,-0.41c-0.2,-2.18 0.87,-1.09 1.56,-1.39s8.25,-12.5 8.61,-13.49a16.58,16.58 0 0 0 0.34,-7.44a4.11,4.11 0 0 1 1.7,-1.12z'\n className='cls-25'\n />\n <path\n id='svg_42'\n fill='#fae6d2'\n d='m353.08,181.4a1.78,1.78 0 0 0 0.78,1.71a6.3,6.3 0 0 0 -0.8,1.67a2.9,2.9 0 0 0 -1.36,0.26c0.23,-1 0.12,-3 1,-3.77s2.67,-0.12 2.67,-0.12a2.71,2.71 0 0 0 -0.87,0.68c-0.44,0.68 -1.34,0.17 -1.42,-0.43z'\n className='cls-26'\n />\n <path\n id='svg_43'\n fill='#ffeed2'\n d='m361.68,188l0,0l-0.6,-0.32a1.8,1.8 0 0 0 0.18,-0.65a6.1,6.1 0 0 0 -0.11,-3.45l6.33,2.76a1.08,1.08 0 0 1 0.32,1.76l-4.18,4.14a15.75,15.75 0 0 0 -2.2,-4l0.26,-0.24z'\n className='cls-27'\n />\n <path\n id='svg_44'\n fill='#ffeed2'\n d='m355.39,190.82a3.52,3.52 0 0 0 2.88,-0.42l0.16,0.07l-0.81,0.62a2.49,2.49 0 0 0 -0.91,1.85c-0.56,1 -3.27,1.43 -3.53,0s0.77,-1.31 1.22,-1.35a4.22,4.22 0 0 0 0,-1.34a3.3,3.3 0 0 0 0.99,0.57z'\n className='cls-27'\n />\n <path\n id='svg_45'\n fill='#ffeed2'\n d='m357.64,183.61a3.81,3.81 0 0 1 0.23,4.74c-0.89,1.12 -0.23,1.76 0.4,2.05a3.52,3.52 0 0 1 -2.88,0.42a3.3,3.3 0 0 1 -1,-0.53a5.06,5.06 0 0 1 -1.31,-5.51a6.3,6.3 0 0 1 0.8,-1.67a0.62,0.62 0 0 0 0.23,0.07c0.73,0.09 2.74,-0.35 3.53,0.43z'\n className='cls-27'\n />\n <polygon\n id='svg_46'\n fill='#ffeed2'\n points='302.6499938964844,198.97000122070312 301.92999267578125,202.8699951171875 300.1600036621094,202.16000366210938 300.54998779296875,198.39999389648438 302.6499938964844,198.97000122070312 '\n className='cls-27'\n />\n <path\n id='svg_47'\n strokeWidth='0.23px'\n stroke='#000'\n strokeMiterlimit='10'\n fill='none'\n d='m359.51,189.36c-0.11,0.13 -0.24,0.25 -0.36,0.37'\n className='cls-28'\n />\n <path\n id='svg_48'\n d='m361.27,183.49a5.25,5.25 0 0 0 -1.53,-2.31a3.91,3.91 0 0 0 -4.41,-0.13l0,0a2.86,2.86 0 0 0 -0.92,0.71a0.52,0.52 0 0 1 -0.59,0.25a0.8,0.8 0 0 1 -0.62,-0.62l-0.11,-0.77l-0.13,0.77a1.93,1.93 0 0 0 0.85,1.83a0.77,0.77 0 0 0 0.27,0.08a7.1,7.1 0 0 0 0.91,0c0.86,0 2,-0.12 2.57,0.41a3.72,3.72 0 0 1 0.22,4.58a1.58,1.58 0 0 0 -0.43,1.32a1.45,1.45 0 0 0 0.88,0.91a0.15,0.15 0 0 0 0.11,0l0,0l0.06,0a2.56,2.56 0 0 1 0.25,-0.16a0.78,0.78 0 0 0 0.35,-0.36s0,0 0.07,-0.08a0.79,0.79 0 0 0 0.14,-0.13a2.79,2.79 0 0 1 0.35,-0.37l0.31,-0.29a4.94,4.94 0 0 0 1.27,-1.46a1.9,1.9 0 0 0 0.2,-0.67a6.3,6.3 0 0 0 -0.07,-3.51z'\n />\n <path\n id='svg_49'\n opacity='0.2'\n stroke='#e55c5c'\n strokeWidth='0.23px'\n strokeMiterlimit='10'\n fill='none'\n d='m354.4,191.63c-0.05,0.28 -0.16,0.49 -0.35,0.51'\n className='cls-29'\n />\n <path\n id='svg_50'\n opacity='0.2'\n stroke='#e55c5c'\n strokeWidth='0.23px'\n strokeMiterlimit='10'\n fill='none'\n d='m361.42,188.16l0.26,-0.21l1.58,-1.22'\n className='cls-29'\n />\n <ellipse\n transform='rotate(-74.08 123.85 385)'\n id='svg_51'\n fill='#ffeed2'\n ry='0.8'\n rx='1.17'\n cy='556.35'\n cx='378.24'\n className='cls-27'\n />\n <ellipse\n id='svg_52'\n fill='#e55c5c'\n opacity='0.2'\n transform='matrix(0.27 -0.96 0.96 0.27 19.85 369)'\n ry='0.47'\n rx='0.68'\n cy='276.08604'\n cx='267.18035'\n className='cls-30'\n />\n <path\n id='svg_53'\n fill='#ebfcff'\n d='m300.56,188.35c0.34,-0.28 1,0 1.2,0.41c-0.14,-0.19 -0.37,-0.12 -0.49,0.16a19,19 0 0 0 -2.25,8.31c-0.17,0.75 -1.05,2.43 -1.34,3.42a1.28,1.28 0 0 0 0.42,1.53a1.27,1.27 0 0 1 -1.62,-0.54c-0.45,-0.67 0.47,-3.07 0.64,-3.52s1.83,-5.18 1.91,-5.94a13.54,13.54 0 0 1 1.53,-3.83z'\n className='cls-19'\n />\n <path\n id='svg_54'\n fill='#ffb056'\n d='m300.25,202.48a10.84,10.84 0 0 1 -1.93,-0.18a1.19,1.19 0 0 1 -0.22,-0.12a1.28,1.28 0 0 1 -0.42,-1.53c0.29,-1 1.17,-2.67 1.34,-3.42a19,19 0 0 1 2.25,-8.31c0.12,-0.28 0.35,-0.35 0.49,-0.16a21,21 0 0 1 0.59,4.1a9.09,9.09 0 0 0 1.12,5.32a1.83,1.83 0 0 1 -0.17,0.53c-0.28,0.56 -0.81,0.92 -1.13,0.76s-0.68,-0.66 -1,-0.06a2.05,2.05 0 0 0 0,1.86c0.28,0.38 0.57,0.51 0.3,0.95a2.25,2.25 0 0 0 -0.16,0.3c-0.13,0.25 -0.16,0.38 -0.33,0.4s-0.34,-0.42 -0.73,-0.44z'\n className='cls-25'\n />\n <path\n id='svg_55'\n strokeWidth='0.09px'\n stroke='#4986d9'\n strokeMiterlimit='10'\n fill='none'\n d='m301.76,188.76c-0.19,-0.38 -0.86,-0.69 -1.2,-0.41a13.54,13.54 0 0 0 -1.53,3.83c-0.08,0.76 -1.74,5.48 -1.91,5.94s-1.09,2.85 -0.64,3.52a1.27,1.27 0 0 0 1.62,0.54l0,0'\n className='cls-21'\n />\n </g>\n <g transform='rotate(-180 196.395 199.245)' opacity='0.88' id='svg_56'>\n <polygon\n id='svg_13'\n fill='#7dccf5'\n points='137.75,247.66000366210938 175.89999389648438,224.32000732421875 223.51998901367188,224.76998901367188 223.29000854492188,248.47000122070312 137.75,247.66000366210938 '\n className='cls-13'\n />\n <polygon\n id='svg_14'\n fill='#69bff5'\n points='223.29000854492188,248.47000122070312 223.51998901367188,224.76998901367188 261.44000244140625,225.13999938964844 223.29000854492188,248.47000122070312 '\n className='cls-14'\n />\n <polygon\n id='svg_15'\n fill='#57b3f5'\n points='261.44000244140625,225.13999938964844 268.75,198.07000732421875 286.5799865722656,187.16000366210938 261.44000244140625,225.13999938964844 '\n className='cls-15'\n />\n <polygon\n id='svg_16'\n fill='#8cd7ff'\n points='106.21000671386719,216.97000122070312 138.22000122070312,197.3699951171875 144.35000610351562,193.62998962402344 175.77999877929688,224.20999145507812 175.77999877929688,224.32000732421875 137.75,247.66000366210938 106.21000671386719,216.97000122070312 '\n className='cls-16'\n />\n <polygon\n id='svg_17'\n fill='#8cd7ff'\n points='268.75,198.07000732421875 261.44000244140625,225.13999938964844 223.51998901367188,224.76998901367188 175.89999389648438,224.32000732421875 184.4499969482422,192.58999633789062 261.739990234375,193.3300018310547 270,193.41000366210938 268.75,198.07000732421875 '\n className='cls-16'\n />\n <polygon\n id='svg_18'\n fill='#69bff5'\n points='138.22000122070312,197.3699951171875 138.4600067138672,173.36000061035156 176.49000549316406,150.02000427246094 175.77999877929688,224.20999145507812 144.35000610351562,193.62998962402344 138.22000122070312,197.3699951171875 '\n className='cls-14'\n />\n <polygon\n id='svg_19'\n fill='#7dccf5'\n points='175.77999877929688,224.20999145507812 176.49000549316406,150.02000427246094 176.61000061035156,150.02000427246094 262.1499938964844,150.83999633789062 261.739990234375,193.3300018310547 184.4499969482422,192.58999633789062 175.89999389648438,224.32000732421875 175.77999877929688,224.20999145507812 '\n className='cls-13'\n />\n <polygon\n id='svg_20'\n fill='#69bff5'\n points='261.7799987792969,189.30999755859375 182.7899932861328,189.30999755859375 175.89999389648438,224.32000732421875 184.4499969482422,192.58999633789062 261.739990234375,193.3300018310547 261.7799987792969,189.30999755859375 '\n className='cls-14'\n />\n <polygon\n id='svg_21'\n fill='#57b3f5'\n points='175.89999389648438,224.32000732421875 151.02999877929688,192.58999633789062 146.1300048828125,195.36000061035156 175.89999389648438,224.32000732421875 '\n className='cls-15'\n />\n </g>\n </g>\n </svg>\n );\n}\n\n//后缀\nexport function SuffixIcon({ className, suffix }: { className: string; suffix: string }) {\n return (\n <span\n className={cx(`explorer_icon x-${suffix}`, {\n [className || '']: className,\n })}\n ></span>\n );\n}\n","import createEmotion from '@emotion/css/create-instance';\n\nexport const {\n flush,\n hydrate,\n cx,\n merge,\n getRegisteredStyles,\n injectGlobal,\n keyframes,\n css,\n sheet,\n cache,\n} = createEmotion({ key: 'explorer' });\n","import React, { useCallback, useEffect, useLayoutEffect, useMemo, useRef, useState } from 'react';\nimport { createRoot } from 'react-dom/client';\nimport './index.less';\nimport cx from 'classnames';\ninterface DropdownProps {\n id?: string;\n children: any;\n trigger?: 'click' | 'hover' | 'contextMenu';\n placement?:\n | 'left'\n | 'top'\n | 'right'\n | 'bottom'\n | 'topLeft'\n | 'topRight'\n | 'bottomLeft'\n | 'bottomContent';\n dropdownRender?: any;\n zIndex?: number;\n className?: string;\n onExpand?: (val: boolean) => void;\n destroyPopupOnHide?: boolean; //关闭后是否销毁\n capture?: boolean;\n position?: { x?: number; y?: number };\n style?: any;\n}\n\nfunction returnDocument(element?: any): Document {\n if (element) {\n return element.ownerDocument;\n }\n return window.document;\n}\n\nexport default function Dropdown(props: DropdownProps) {\n let {\n children,\n dropdownRender,\n trigger = 'click',\n placement = 'left',\n className,\n id,\n zIndex,\n onExpand,\n destroyPopupOnHide = false,\n capture,\n position,\n style,\n } = props;\n const [expand, setExpand] = useState(false);\n const [newDiv, setNewDiv] = useState<any>(null);\n const menu = useRef<any>(null);\n const [mouse, setMouse] = useState<any>(null);\n const [root, setRoot] = useState<any>(null);\n const ref: any = useRef();\n const time: any = useRef(null);\n\n let [windowSize, setWindowSize] = useState(getSize());\n let [menuSize, setMenuSize] = useState({\n width: 0,\n height: 0,\n });\n\n useLayoutEffect(() => {\n window.addEventListener('resize', handleResize);\n return () => window.removeEventListener('resize', handleResize);\n }, []);\n useLayoutEffect(() => {\n addEvent();\n return () => {\n delEvent();\n };\n }, []);\n\n function handleResize() {\n setWindowSize(getSize());\n }\n\n function getSize() {\n return {\n width: window?.innerWidth || 0,\n height: window?.innerHeight || 0,\n };\n }\n\n useEffect(() => {\n if (id) {\n let ids: any = document.querySelector(`._dropdown_${id}`);\n if (ids) {\n ids.onclick = () => {\n ids.remove();\n };\n }\n }\n }, []);\n\n //初始化创建弹框\n useEffect(() => {\n let content: any = null;\n let newDivs: any = null;\n if ((!newDiv && expand) || (destroyPopupOnHide && expand)) {\n let body = document.querySelector('body');\n newDivs = document.createElement('div');\n if (id) {\n newDivs.className = `_dropdown_${id}`;\n }\n content = document.createElement('div');\n setNewDiv(newDivs);\n menu.current = content;\n content.className = '_dropdown';\n content.style.position = 'absolute';\n content.onclick = onClick;\n newDivs.style.position = 'absolute';\n newDivs.style.top = '0px';\n newDivs.style.left = '0px';\n // newDivs.style.bottom = '0px';\n newDivs.style.width = '100%';\n newDivs.style.zIndex = zIndex ? zIndex + '' : '1002';\n newDivs.onclick = onClone;\n if (trigger == 'hover') {\n newDivs.onmouseleave = (e: any) => {\n time.current = setTimeout(() => {\n onClone();\n }, 300);\n };\n newDivs.onmouseenter = () => {\n if (time.current) clearTimeout(time.current);\n };\n }\n newDivs?.appendChild(content);\n body?.appendChild(newDivs);\n let root = createRoot(content);\n content?.setAttribute('class', `_dropdown_menu _dropdown-hidden`);\n root.render(\n typeof dropdownRender == 'function'\n ? dropdownRender({ onClone })\n : React.cloneElement(dropdownRender, { onClone }),\n );\n setTimeout(() => {\n content?.setAttribute('class', `_dropdown_menu _dropdown-${placement}`);\n lie(content, newDivs);\n }, 100);\n setRoot(root);\n }\n onExpand?.(expand);\n\n return () => {};\n }, [expand]);\n\n useEffect(() => {\n if (!newDiv || !menu) return;\n expand\n ? menu?.current?.setAttribute('class', `_dropdown_menu _dropdown-${placement}`)\n : menu?.current?.setAttribute('class', '_dropdown_menu _dropdown-hidden');\n if (!expand) {\n } else {\n returnDocument().removeEventListener('click', onClone);\n }\n if (!expand) {\n newDiv?.remove();\n setNewDiv(null);\n setMenuSize({\n width: 0,\n height: 0,\n });\n }\n\n expand ? lie(menu?.current, newDiv) : null;\n }, [expand, mouse, placement]);\n\n useEffect(() => {\n if (menu?.current && root) {\n root.render(\n typeof dropdownRender == 'function'\n ? dropdownRender({ onClone })\n : React.cloneElement(dropdownRender, { onClone }),\n );\n }\n }, [dropdownRender, root]);\n\n function lie(content: any, newDiv: any) {\n if (!content || !newDiv) {\n return;\n }\n let curX = mouse?.x;\n let curY = mouse?.y;\n let shiftX = position?.x || 0;\n let shiftY = position?.y || 0;\n let size = content.getBoundingClientRect();\n let box = ref.current.getBoundingClientRect();\n\n if (placement == 'left' && trigger != 'contextMenu') {\n curX = box?.left - size?.width - 5 + shiftX;\n curY = box?.top + 5;\n }\n\n if (placement == 'top') {\n curY = box?.top - size?.height - 10;\n }\n\n if (placement == 'topLeft') {\n curY = box?.top - size?.height - 10;\n curX = box?.left;\n }\n\n if (placement == 'topRight') {\n curY = box?.top - size?.height - 10;\n curX = box?.right - size.width + 10;\n }\n if (placement == 'bottom') {\n curY = box?.bottom + 10;\n }\n if (placement == 'bottomLeft') {\n curY = box?.bottom + 10;\n curX = box?.left;\n }\n if (placement == 'right') {\n curX = box?.right + 10 + shiftX;\n curY = box?.top;\n }\n\n if (placement == 'bottomContent') {\n curY = box?.bottom + 10;\n curX = box?.left - (size?.width || 0) / 2 + (box.width || 0) / 2;\n }\n\n if (windowSize.width - (curX || 0) - (size?.width || 0) < 0) {\n curX = Math.trunc(mouse?.x - size?.width) - 5;\n }\n if (windowSize.height - (curY || 0) - (size?.height || 0) < 0) {\n curY = Math.trunc(mouse?.y - size?.height) - 5;\n }\n content.style.top = `${curY || 0}px`;\n content.style.left = `${curX || 0}px`;\n }\n\n //处理点击和点击嵌套问题\n const addEvent = () => {\n returnDocument().body.addEventListener('click', onClone, false);\n returnDocument().body.addEventListener('click', documentClose, true);\n returnDocument().body.addEventListener('contextmenu', documentMenu, false);\n };\n\n const delEvent = () => {\n returnDocument().body.removeEventListener('click', onClone, false);\n returnDocument().body.removeEventListener('click', documentClose, true);\n returnDocument().body.removeEventListener('contextmenu', documentMenu, true);\n };\n\n function documentMenu(e: any) {\n if (!ref.current?.contains(e.target)) {\n onClone();\n }\n }\n\n function documentClose(e: any) {\n var container = document.querySelector('._dropdown_menu');\n if (container?.contains(e.target)) {\n if (menu.current !== container) {\n onClone();\n }\n } else {\n if (!ref.current?.contains(e.target)) {\n onClone();\n }\n }\n }\n\n useEffect(() => {\n if (!menu?.current) return;\n const resizeObserver = new ResizeObserver(() => {\n if (menu.current.offsetWidth !== menuSize.width) {\n }\n if (menu.current.offsetHeight) {\n setMenuSize({\n ...menuSize,\n height: menu.current.offsetHeight,\n });\n }\n });\n resizeObserver.observe(menu.current);\n return function cleanup() {\n resizeObserver.disconnect();\n };\n }, [menu?.current]);\n\n //如果内部组件,宽高发生变化从新计算高度\n useEffect(() => {\n if (menu?.current && root) {\n lie(menu?.current, newDiv);\n }\n }, [menuSize.height, menuSize.width]);\n\n function onClone() {\n setExpand(false);\n }\n\n function onClick(e: any) {\n e.stopPropagation();\n }\n\n return (\n <div\n ref={ref}\n className={cx('_dropdown', {\n [className || '']: className,\n })}\n style={{\n ...style,\n }}\n onMouseEnter={(e) => {\n e.preventDefault();\n if (trigger == 'hover') {\n setTimeout(() => {\n if (time.current) clearTimeout(time.current);\n });\n let x = 0 + (position?.x || 0);\n let y = 0 + (position?.y || 0);\n x = e.nativeEvent.clientX + 5;\n y = e.nativeEvent.clientY + 5;\n setMouse({ x, y });\n setExpand(true);\n }\n }}\n onMouseLeave={(e: any) => {\n if (trigger == 'hover') {\n time.current = setTimeout(() => {\n onClone();\n }, 300);\n }\n }}\n onContextMenu={(e) => {\n e.preventDefault();\n if (trigger == 'contextMenu') {\n let x = 0;\n let y = 0;\n x = e.nativeEvent.clientX + 5;\n y = e.nativeEvent.clientY + 5;\n setMouse({ x, y });\n setExpand(true);\n }\n }}\n onClick={(e) => {\n if (trigger == 'click') {\n e.stopPropagation();\n let x = 0;\n let y = 0;\n x = e.nativeEvent.clientX + 5;\n y = e.nativeEvent.clientY + 5;\n setMouse({ x, y });\n setExpand(!expand);\n } else {\n setExpand(false);\n }\n }}\n >\n {children}\n </div>\n );\n}\n","import './index.less';\nimport { cx, css } from '../../../css';\nimport classname from 'classnames';\n\nimport { useState, useRef, useEffect, useLayoutEffect, useMemo, useContext } from 'react';\nimport Dropdown from '../../../components/Dropdown';\nimport { Button, Icons, Input } from '@gingkoo/pandora-ui';\nimport { ExampleContext } from '../../../store';\nimport { UpdateSvg } from '../../../components/icons';\n// const { Search } = Input;\n\nconst menu = [\n {\n key: 'tile',\n title: '图标排列 (Alt+1)',\n icon: <i className='font-icon list-type-icon'></i>,\n },\n {\n key: 'table',\n title: '图标排列 (Alt+2)',\n icon: <i className='font-icon list-type-list'></i>,\n },\n {\n key: 'column',\n title: '图标排列 (Alt+3)',\n icon: <i className='font-icon list-type-split'></i>,\n },\n];\n\nconst ExplorerHead = () => {\n const store = useContext(ExampleContext);\n const pathInputRef = useRef<any>(null);\n const [path, setPath] = useState('');\n const [pathFocus, setFocus] = useState(false);\n useLayoutEffect(() => {\n document.addEventListener('keydown', handleKeyDown);\n return () => {\n document.removeEventListener('keydown', handleKeyDown);\n };\n }, []);\n\n const handleKeyDown = (e: any) => {\n if (e.altKey && e.key === '3') {\n store?.setMenutype('column');\n }\n if (e.altKey && e.key === '2') {\n store?.setMenutype('table');\n }\n if (e.altKey && e.key === '1') {\n store?.setMenutype('tile');\n }\n };\n\n const Breadcrumb = useMemo(() => {\n let arr: any[] = [];\n if (typeof store?.pathDisplay == 'string') {\n arr = store?.pathDisplay.split('/');\n arr = arr.filter((v) => v);\n }\n\n return arr.map((v, i) => {\n if (!v) return <></>;\n return (\n <li\n key={i}\n className={cx('header-address-item', {\n first: i == 0,\n last: i == arr.length - 1,\n })}\n >\n <a\n title={v}\n className={css`\n z-index: ${arr.length + 1 - i};\n `}\n onClick={(e) => {\n e.stopPropagation();\n }}\n >\n <span className='title-name'>{v}</span>\n </a>\n </li>\n );\n });\n }, [store?.pathDisplay]);\n\n return (\n <>\n <div className='header-content'>\n <div className='header-left'>\n <div className='btn-group'>\n <button\n className={cx('btn history-back', { disable: false })}\n title='后退 (Alt+Left / Backspace)'\n >\n <Icons icon='arrow-left' type='Outlined' />\n </button>\n <button\n className={cx('btn history-next', { disable: false })}\n title='前进 (Alt+Right / Ctrl+Backspace)'\n >\n <Icons icon='arrow-right' type='Outlined' />\n </button>\n </div>\n </div>\n <div className='header-middle'>\n <button className={cx('btn', { disable: true })}>\n <Icons icon='arrow-up' type='Outlined' />\n </button>\n <div\n className={cx('header-address', { hidden: pathFocus })}\n title='点击进入编辑状态'\n onClick={() => {\n setFocus(true);\n setTimeout(() => {\n pathInputRef.current.focus();\n }, 100);\n }}\n >\n <ul className={'header-address-content'}>\n {Breadcrumb}\n <li className='clear'></li>\n </ul>\n </div>\n <div className={cx('header-address-input', { hidden: !pathFocus })}>\n <input\n ref={pathInputRef}\n type='text'\n name='path'\n value={path}\n onInput={(e: any) => {\n setPath(e.target.value);\n }}\n className='path'\n spellCheck='false'\n onBlur={() => {\n setFocus(false);\n }}\n />\n </div>\n <button className={cx('btn', { disable: false })}>\n <Icons icon='star' type='Outlined' />\n </button>\n <button className={cx('btn', { disable: false })}>\n <UpdateSvg></UpdateSvg>\n </button>\n </div>\n <div className='header-right'>\n <div className='search-box'>\n <Input\n value=''\n placeholder='请输入'\n clearable={false}\n children={<Icons icon='magnifying-glass' type='Outlined' />}\n />\n </div>\n </div>\n </div>\n <div className='frame-right-main'>\n <div className='tools'>\n <div className='tools-left'>\n <Button size='sm'>\n <UpdateSvg></UpdateSvg> 刷新\n </Button>\n </div>\n <div className='tools-right'>\n <div className='btn-group'>\n {store?.menutype == 'tile' && (\n <Dropdown\n className='tool'\n trigger='click'\n placement='bottomContent'\n dropdownRender={() => {\n return (\n <Slider\n value={store.menuSize}\n max={360}\n min={40}\n onChange={(v: number) => {\n store.setMenuSize(v);\n }}\n ></Slider>\n );\n }}\n >\n <Icons icon='zoom-in' type='Outlined' />\n </Dropdown>\n )}\n\n {menu.map((v) => {\n return (\n <button\n key={v.key}\n title={v.title}\n className={classname('btn', {\n active: store?.menutype == v.key,\n })}\n onClick={() => {\n store?.setMenutype(v.key as any);\n }}\n >\n {v.icon}\n </button>\n );\n })}\n\n <button\n className={classname('btn panel-toggle', {\n active: store?.infoshow,\n })}\n title='属性信息 <code>]</code>'\n onClick={() => {\n store?.setInfoShow(!store?.infoshow);\n }}\n >\n <Icons\n icon='outdent'\n type='Outlined'\n style={{\n fontSize: 14,\n width: 16,\n height: 16,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n color: 'gray',\n }}\n />\n </button>\n </div>\n </div>\n </div>\n </div>\n </>\n );\n};\n\nexport default ExplorerHead;\n\nfunction Slider(props: any) {\n const { value, max, min, onChange } = props;\n const ref = useRef<any>(null);\n const [isdarg, setDarg] = useState(false);\n const [size, setSize] = useState<number | null>(null);\n\n useEffect(() => {\n if (!size) return;\n let d_value = max - min;\n let per = d_value / 100;\n onChange && onChange(Math.round(per * size) + min);\n }, [size]);\n\n useEffect(() => {\n let d_value = max - min;\n let data = value - min;\n setSize((data / d_value) * 100);\n }, [value]);\n\n return (\n <div\n className='_slider'\n ref={ref}\n onMouseOut={() => {\n setDarg(false);\n }}\n onMouseMove={(e: any) => {\n if (!isdarg) return;\n if (!ref.current) return;\n let dom = ref.current.getBoundingClientRect();\n let cur = dom.top + 15;\n let num = e.clientY - cur;\n num > 100 ? (num = 100) : null;\n num < 0 ? (num = 0) : null;\n setSize(num);\n }}\n >\n <div\n className='_slider-link'\n onClick={(e: any) => {\n let dom = ref.current.getBoundingClientRect();\n let cur = dom.top + 15;\n let num = e.clientY - cur;\n num > 100 ? (num = 100) : null;\n num < 0 ? (num = 0) : null;\n setSize(num);\n }}\n >\n <div\n style={{ top: size + 'px' }}\n className='_slider-drop'\n onMouseDown={() => {\n setDarg(true);\n }}\n onMouseUp={() => {\n setDarg(false);\n }}\n ></div>\n </div>\n </div>\n );\n}\n","/**\n * Webpack has bug for import loop, which is not the same behavior as ES module.\n * When util.js imports the TreeNode for tree generate will cause treeContextTypes be empty.\n */\nimport * as React from 'react';\nimport {\n BasicDataNode,\n DataNode,\n Direction,\n EventDataNode,\n IconType,\n Key,\n KeyEntities,\n NodeInstance,\n} from './interface';\nimport { DraggableConfig } from './Tree';\n\nexport type NodeMouseEventParams<\n TreeDataType extends BasicDataNode = DataNode,\n T = HTMLSpanElement,\n> = {\n event: React.MouseEvent<T>;\n node: EventDataNode<TreeDataType>;\n};\nexport type NodeDragEventParams<\n TreeDataType extends BasicDataNode = DataNode,\n T = HTMLDivElement,\n> = {\n event: React.DragEvent<T>;\n node: EventDataNode<TreeDataType>;\n};\n\nexport type NodeMouseEventHandler<\n TreeDataType extends BasicDataNode = DataNode,\n T = HTMLSpanElement,\n> = (e: React.MouseEvent<T>, node: EventDataNode<TreeDataType>) => void;\nexport type NodeDragEventHandler<\n TreeDataType extends BasicDataNode = DataNode,\n T = HTMLDivElement,\n> = (e: React.DragEvent<T>, node: NodeInstance<TreeDataType>, outsideTree?: boolean) => void;\n\nexport interface TreeContextProps<TreeDataType extends BasicDataNode = DataNode> {\n prefixCls: string;\n selectable: boolean;\n showIcon: boolean;\n icon: IconType;\n switcherIcon: IconType;\n draggable?: DraggableConfig;\n draggingNodeKey?: Key;\n checkable: boolean | React.ReactNode;\n checkStrictly: boolean;\n disabled: boolean;\n keyEntities: KeyEntities;\n // for details see comment in Tree.state (Tree.tsx)\n dropLevelOffset?: number;\n dropContainerKey: Key | null;\n dropTargetKey: Key | null;\n dropPosition: -1 | 0 | 1 | null;\n indent: number | null;\n indentWidth?: number;\n dropIndicatorRender: (props: {\n dropPosition: -1 | 0 | 1;\n dropLevelOffset: number;\n indent;\n prefixCls;\n direction: Direction;\n }) => React.ReactNode;\n dragOverNodeKey: Key | null;\n direction: Direction;\n\n loadData: (treeNode: EventDataNode<TreeDataType>) => Promise<void>;\n filterTreeNode: (treeNode: EventDataNode<TreeDataType>) => boolean;\n titleRender?: (node: any) => React.ReactNode;\n\n onNodeClick: NodeMouseEventHandler<TreeDataType>;\n onNodeDoubleClick: NodeMouseEventHandler<TreeDataType>;\n onNodeExpand: NodeMouseEventHandler<TreeDataType>;\n onNodeSelect: NodeMouseEventHandler<TreeDataType>;\n onNodeCheck: (\n e: React.MouseEvent<HTMLSpanElement>,\n treeNode: EventDataNode<TreeDataType>,\n checked: boolean,\n ) => void;\n onNodeLoad: (treeNode: EventDataNode<TreeDataType>) => void;\n onNodeMouseEnter: NodeMouseEventHandler<TreeDataType>;\n onNodeMouseLeave: NodeMouseEventHandler<TreeDataType>;\n onNodeContextMenu: NodeMouseEventHandler<TreeDataType>;\n onNodeDragStart: NodeDragEventHandler<any, any>;\n onNodeDragEnter: NodeDragEventHandler<any, any>;\n onNodeDragOver: NodeDragEventHandler<any, any>;\n onNodeDragLeave: NodeDragEventHandler<any, any>;\n onNodeDragEnd: NodeDragEventHandler<any, any>;\n onNodeDrop: NodeDragEventHandler<any, any>;\n}\n\nexport const TreeContext: React.Context<TreeContextProps<any> | null> = React.createContext(null);\n","import * as React from 'react'\n\nexport default function DropIndicator ({\n dropPosition,\n dropLevelOffset,\n indent,\n}: {\n dropPosition: -1 | 0 | 1,\n dropLevelOffset: number,\n indent: number,\n}) {\n const style: React.CSSProperties = {\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 <div style={style} />;\n}\n","import * as React from 'react';\nimport classNames from 'classnames';\n\ninterface IndentProps {\n prefixCls: string;\n level: number;\n isStart: boolean[];\n isEnd: boolean[];\n width?: number\n}\n\nconst Indent: React.FC<IndentProps> = ({ prefixCls, level, isStart, isEnd, width }) => {\n const widthStyle: React.CSSProperties = width >= 0 ? {\n width: width\n } : {}\n\n const baseClassName = `${prefixCls}-indent-unit`;\n const list: React.ReactElement[] = [];\n for (let i = 0; i < level; i += 1) {\n list.push(\n <span\n key={i}\n className={classNames(baseClassName, {\n [`${baseClassName}-start`]: isStart[i],\n [`${baseClassName}-end`]: isEnd[i],\n })}\n style={widthStyle}\n />,\n );\n }\n\n return (\n <span aria-hidden=\"true\" className={`${prefixCls}-indent`}>\n {list}\n </span>\n );\n};\n\nexport default React.memo(Indent);\n","import type { Key, KeyEntities, SafeKey } from '../interface';\n\nexport default function getEntity<T = any>(keyEntities: KeyEntities<T>, key: Key) {\n return keyEntities[key as SafeKey];\n}\n","import toArray from 'rc-util/lib/Children/toArray';\nimport omit from 'rc-util/lib/omit';\nimport warning from 'rc-util/lib/warning';\nimport * as React from 'react';\nimport {\n BasicDataNode,\n DataEntity,\n DataNode,\n EventDataNode,\n FieldNames,\n FlattenNode,\n GetKey,\n Key,\n KeyEntities,\n NodeElement,\n SafeKey,\n TreeNodeProps,\n} from '../interface';\nimport getEntity from './keyUtil';\n\nexport function getPosition(level: string | number, index: number) {\n return `${level}-${index}`;\n}\n\nexport function isTreeNode(node: NodeElement) {\n return node && node.type && node.type.isTreeNode;\n}\n\nexport function getKey(key: Key, pos: string) {\n if (key !== null && key !== undefined) {\n return key;\n }\n return pos;\n}\n\nexport function fillFieldNames(fieldNames?: FieldNames): Required<FieldNames> {\n const { title, _title, key, children } = fieldNames || {};\n const mergedTitle = title || 'title';\n\n return {\n title: mergedTitle,\n _title: _title || [mergedTitle],\n key: key || 'key',\n children: children || 'children',\n };\n}\n\n/**\n * Warning if TreeNode do not provides key\n */\nexport function warningWithoutKey(treeData: DataNode[], fieldNames: FieldNames) {\n const keys: Map<string, boolean> = new Map();\n\n function dig(list: DataNode[], path: string = '') {\n (list || []).forEach(treeNode => {\n const key = treeNode[fieldNames.key];\n const children = treeNode[fieldNames.children];\n warning(\n key !== null && key !== undefined,\n `Tree node must have a certain key: [${path}${key}]`,\n );\n\n const recordKey = String(key);\n warning(\n !keys.has(recordKey) || key === null || key === undefined,\n `Same 'key' exist in the Tree: ${recordKey}`,\n );\n keys.set(recordKey, true);\n\n dig(children, `${path}${recordKey} > `);\n });\n }\n\n dig(treeData);\n}\n\n/**\n * Convert `children` of Tree into `treeData` structure.\n */\nexport function convertTreeToData(rootNodes: React.ReactNode): DataNode[] {\n function dig(node: React.ReactNode): DataNode[] {\n const treeNodes = toArray(node) as NodeElement[];\n return treeNodes\n .map(treeNode => {\n // Filter invalidate node\n if (!isTreeNode(treeNode)) {\n warning(!treeNode, 'Tree/TreeNode can only accept TreeNode as children.');\n return null;\n }\n\n const { key } = treeNode;\n const { children, ...rest } = treeNode.props;\n\n const dataNode: DataNode = {\n key: key as Key,\n ...rest,\n };\n\n const parsedChildren = dig(children);\n if (parsedChildren.length) {\n dataNode.children = parsedChildren;\n }\n\n return dataNode;\n })\n .filter((dataNode: DataNode) => dataNode);\n }\n\n return dig(rootNodes);\n}\n\n/**\n * Flat nest tree data into flatten list. This is used for virtual list render.\n * @param treeNodeList Origin data node list\n * @param expandedKeys\n * need expanded keys, provides `true` means all expanded (used in `rc-tree-select`).\n */\nexport function flattenTreeData<TreeDataType extends BasicDataNode = DataNode>(\n treeNodeList: TreeDataType[],\n expandedKeys: Key[] | true,\n fieldNames: FieldNames,\n): FlattenNode<TreeDataType>[] {\n const {\n _title: fieldTitles,\n key: fieldKey,\n children: fieldChildren,\n } = fillFieldNames(fieldNames);\n\n const expandedKeySet = new Set(expandedKeys === true ? [] : expandedKeys);\n const flattenList: FlattenNode<TreeDataType>[] = [];\n\n function dig(\n list: TreeDataType[],\n parent: FlattenNode<TreeDataType> = null,\n ): FlattenNode<TreeDataType>[] {\n return list.map((treeNode, index) => {\n const pos: string = getPosition(parent ? parent.pos : '0', index);\n const mergedKey = getKey(treeNode[fieldKey], pos);\n\n // Pick matched title in field title list\n let mergedTitle: React.ReactNode;\n for (let i = 0; i < fieldTitles.length; i += 1) {\n const fieldTitle = fieldTitles[i];\n if (treeNode[fieldTitle] !== undefined) {\n mergedTitle = treeNode[fieldTitle];\n break;\n }\n }\n\n // Add FlattenDataNode into list\n const flattenNode: FlattenNode<TreeDataType> = {\n ...omit(treeNode, [...fieldTitles, fieldKey, fieldChildren] as any),\n title: mergedTitle,\n key: mergedKey,\n parent,\n pos,\n children: null,\n data: treeNode,\n isStart: [...(parent ? parent.isStart : []), index === 0],\n isEnd: [...(parent ? parent.isEnd : []), index === list.length - 1],\n };\n\n flattenList.push(flattenNode);\n\n // Loop treeNode children\n if (expandedKeys === true || expandedKeySet.has(mergedKey)) {\n flattenNode.children = dig(treeNode[fieldChildren] || [], flattenNode);\n } else {\n flattenNode.children = [];\n }\n\n return flattenNode;\n });\n }\n\n dig(treeNodeList);\n\n return flattenList;\n}\n\ntype ExternalGetKey = GetKey<DataNode> | string;\n\ninterface TraverseDataNodesConfig {\n childrenPropName?: string;\n externalGetKey?: ExternalGetKey;\n fieldNames?: FieldNames;\n}\n\n/**\n * Traverse all the data by `treeData`.\n * Please not use it out of the `rc-tree` since we may refactor this code.\n */\nexport function traverseDataNodes(\n dataNodes: DataNode[],\n callback: (data: {\n node: DataNode;\n index: number;\n pos: string;\n key: Key;\n parentPos: string | number;\n level: number;\n nodes: DataNode[];\n }) => void,\n // To avoid too many params, let use config instead of origin param\n config?: TraverseDataNodesConfig | string,\n) {\n let mergedConfig: TraverseDataNodesConfig = {};\n if (typeof config === 'object') {\n mergedConfig = config;\n } else {\n mergedConfig = { externalGetKey: config };\n }\n mergedConfig = mergedConfig || {};\n\n // Init config\n const { childrenPropName, externalGetKey, fieldNames } = mergedConfig;\n\n const { key: fieldKey, children: fieldChildren } = fillFieldNames(fieldNames);\n\n const mergeChildrenPropName = childrenPropName || fieldChildren;\n\n // Get keys\n let syntheticGetKey: (node: DataNode, pos?: string) => Key;\n if (externalGetKey) {\n if (typeof externalGetKey === 'string') {\n syntheticGetKey = (node: DataNode) => (node as any)[externalGetKey as string];\n } else if (typeof externalGetKey === 'function') {\n syntheticGetKey = (node: DataNode) => (externalGetKey as GetKey<DataNode>)(node);\n }\n } else {\n syntheticGetKey = (node, pos) => getKey(node[fieldKey], pos);\n }\n\n // Process\n function processNode(\n node: DataNode,\n index?: number,\n parent?: { node: DataNode; pos: string; level: number },\n pathNodes?: DataNode[],\n ) {\n const children = node ? node[mergeChildrenPropName] : dataNodes;\n const pos = node ? getPosition(parent.pos, index) : '0';\n const connectNodes = node ? [...pathNodes, node] : [];\n\n // Process node if is not root\n if (node) {\n const key: Key = syntheticGetKey(node, pos);\n const data = {\n node,\n index,\n pos,\n key,\n parentPos: parent.node ? parent.pos : null,\n level: parent.level + 1,\n nodes: connectNodes,\n };\n\n callback(data);\n }\n\n // Process children node\n if (children) {\n children.forEach((subNode, subIndex) => {\n processNode(\n subNode,\n subIndex,\n {\n node,\n pos,\n level: parent ? parent.level + 1 : -1,\n },\n connectNodes,\n );\n });\n }\n }\n\n processNode(null);\n}\n\ninterface Wrapper {\n posEntities: Record<string, DataEntity>;\n keyEntities: KeyEntities;\n}\n\n/**\n * Convert `treeData` into entity records.\n */\nexport function convertDataToEntities(\n dataNodes: DataNode[],\n {\n initWrapper,\n processEntity,\n onProcessFinished,\n externalGetKey,\n childrenPropName,\n fieldNames,\n }: {\n initWrapper?: (wrapper: Wrapper) => Wrapper;\n processEntity?: (entity: DataEntity, wrapper: Wrapper) => void;\n onProcessFinished?: (wrapper: Wrapper) => void;\n externalGetKey?: ExternalGetKey;\n childrenPropName?: string;\n fieldNames?: FieldNames;\n } = {},\n /** @deprecated Use `config.externalGetKey` instead */\n legacyExternalGetKey?: ExternalGetKey,\n) {\n // Init config\n const mergedExternalGetKey = externalGetKey || legacyExternalGetKey;\n\n const posEntities = {};\n const keyEntities = {};\n let wrapper: Wrapper = {\n posEntities,\n keyEntities,\n };\n\n if (initWrapper) {\n wrapper = initWrapper(wrapper) || wrapper;\n }\n\n traverseDataNodes(\n dataNodes,\n item => {\n const { node, index, pos, key, parentPos, level, nodes } = item;\n const entity: DataEntity = { node, nodes, index, key, pos, level };\n\n const mergedKey = getKey(key, pos);\n\n posEntities[pos] = entity;\n keyEntities[mergedKey as SafeKey] = entity;\n\n // Fill children\n entity.parent = posEntities[parentPos];\n if (entity.parent) {\n entity.parent.children = entity.parent.children || [];\n entity.parent.children.push(entity);\n }\n\n if (processEntity) {\n processEntity(entity, wrapper);\n }\n },\n { externalGetKey: mergedExternalGetKey, childrenPropName, fieldNames },\n );\n\n if (onProcessFinished) {\n onProcessFinished(wrapper);\n }\n\n return wrapper;\n}\n\nexport interface TreeNodeRequiredProps<TreeDataType extends BasicDataNode = DataNode> {\n expandedKeys: Key[];\n selectedKeys: Key[];\n loadedKeys: Key[];\n loadingKeys: Key[];\n checkedKeys: Key[];\n halfCheckedKeys: Key[];\n dragOverNodeKey: Key;\n dropPosition: number;\n keyEntities: KeyEntities<TreeDataType>;\n}\n\n/**\n * Get TreeNode props with Tree props.\n */\nexport function getTreeNodeProps<TreeDataType extends BasicDataNode = DataNode>(\n key: Key,\n {\n expandedKeys,\n selectedKeys,\n loadedKeys,\n loadingKeys,\n checkedKeys,\n halfCheckedKeys,\n dragOverNodeKey,\n dropPosition,\n keyEntities,\n }: TreeNodeRequiredProps<TreeDataType>,\n) {\n const entity = getEntity(keyEntities, key);\n\n const treeNodeProps = {\n eventKey: key,\n expanded: expandedKeys.indexOf(key) !== -1,\n selected: selectedKeys.indexOf(key) !== -1,\n loaded: loadedKeys.indexOf(key) !== -1,\n loading: loadingKeys.indexOf(key) !== -1,\n checked: checkedKeys.indexOf(key) !== -1,\n halfChecked: halfCheckedKeys.indexOf(key) !== -1,\n pos: String(entity ? entity.pos : ''),\n\n // [Legacy] Drag props\n // Since the interaction of drag is changed, the semantic of the props are\n // not accuracy, I think it should be finally removed\n dragOver: dragOverNodeKey === key && dropPosition === 0,\n dragOverGapTop: dragOverNodeKey === key && dropPosition === -1,\n dragOverGapBottom: dragOverNodeKey === key && dropPosition === 1,\n };\n\n return treeNodeProps;\n}\n\nexport function convertNodePropsToEventData<TreeDataType extends BasicDataNode = DataNode>(\n props: TreeNodeProps<TreeDataType>,\n): EventDataNode<TreeDataType> {\n const {\n data,\n expanded,\n selected,\n checked,\n loaded,\n loading,\n halfChecked,\n dragOver,\n dragOverGapTop,\n dragOverGapBottom,\n pos,\n active,\n eventKey,\n } = props;\n\n const eventData = {\n ...data,\n expanded,\n selected,\n checked,\n loaded,\n loading,\n halfChecked,\n dragOver,\n dragOverGapTop,\n dragOverGapBottom,\n pos,\n active,\n key: eventKey,\n };\n\n if (!('props' in eventData)) {\n Object.defineProperty(eventData, 'props', {\n get() {\n warning(\n false,\n 'Second param return from event is node data instead of TreeNode instance. Please read value directly instead of reading from `props`.',\n );\n return props;\n },\n });\n }\n\n return eventData;\n}\n","import classNames from 'classnames';\nimport pickAttrs from 'rc-util/lib/pickAttrs';\nimport * as React from 'react';\n// @ts-ignore\nimport { TreeContext, TreeContextProps } from './contextTypes';\nimport Indent from './Indent';\nimport { TreeNodeProps } from './interface';\nimport getEntity from './utils/keyUtil';\nimport { convertNodePropsToEventData } from './utils/treeUtil';\n\nconst ICON_OPEN = 'open';\nconst ICON_CLOSE = 'close';\n\nconst defaultTitle = '---';\n\nexport type { TreeNodeProps } from './interface';\n\nexport interface InternalTreeNodeProps extends TreeNodeProps {\n context?: TreeContextProps;\n}\n\nexport interface TreeNodeState {\n dragNodeHighlight: boolean;\n}\n\nclass InternalTreeNode extends React.Component<InternalTreeNodeProps, TreeNodeState> {\n public state = {\n dragNodeHighlight: false,\n };\n\n public selectHandle: HTMLSpanElement;\n\n cacheIndent: number;\n\n // Isomorphic needn't load data in server side\n componentDidMount() {\n this.syncLoadData(this.props);\n }\n\n componentDidUpdate() {\n this.syncLoadData(this.props);\n }\n\n onSelectorClick = (e: React.MouseEvent<HTMLSpanElement, MouseEvent>) => {\n // Click trigger before select/check operation\n const {\n context: { onNodeClick },\n } = this.props;\n onNodeClick(e, convertNodePropsToEventData(this.props));\n\n if (this.isSelectable()) {\n this.onSelect(e);\n } else {\n this.onCheck(e);\n }\n };\n\n onSelectorDoubleClick = (e: React.MouseEvent<HTMLSpanElement, MouseEvent>) => {\n const {\n context: { onNodeDoubleClick },\n } = this.props;\n onNodeDoubleClick(e, convertNodePropsToEventData(this.props));\n };\n\n onSelect = (e: React.MouseEvent<HTMLSpanElement, MouseEvent>) => {\n if (this.isDisabled()) return;\n\n const {\n context: { onNodeSelect },\n } = this.props;\n onNodeSelect(e, convertNodePropsToEventData(this.props));\n };\n\n onCheck = (e: React.MouseEvent<HTMLSpanElement, MouseEvent>) => {\n if (this.isDisabled()) return;\n\n const { disableCheckbox, checked } = this.props;\n const {\n context: { onNodeCheck },\n } = this.props;\n\n if (!this.isCheckable() || disableCheckbox) return;\n\n const targetChecked = !checked;\n onNodeCheck(e, convertNodePropsToEventData(this.props), targetChecked);\n };\n\n onMouseEnter = (e: React.MouseEvent<HTMLSpanElement, MouseEvent>) => {\n const {\n context: { onNodeMouseEnter },\n } = this.props;\n onNodeMouseEnter(e, convertNodePropsToEventData(this.props));\n };\n\n onMouseLeave = (e: React.MouseEvent<HTMLSpanElement, MouseEvent>) => {\n const {\n context: { onNodeMouseLeave },\n } = this.props;\n onNodeMouseLeave(e, convertNodePropsToEventData(this.props));\n };\n\n onContextMenu = (e: React.MouseEvent<HTMLSpanElement, MouseEvent>) => {\n const {\n context: { onNodeContextMenu },\n } = this.props;\n onNodeContextMenu(e, convertNodePropsToEventData(this.props));\n };\n\n onDragStart = (e: React.DragEvent<HTMLDivElement>) => {\n const {\n context: { onNodeDragStart },\n } = this.props;\n\n e.stopPropagation();\n this.setState({\n dragNodeHighlight: true,\n });\n onNodeDragStart(e, this);\n\n try {\n // ie throw error\n // firefox-need-it\n e.dataTransfer.setData('text/plain', '');\n } catch (error) {\n // empty\n }\n };\n\n onDragEnter = (e: React.DragEvent<HTMLDivElement>) => {\n const {\n context: { onNodeDragEnter },\n } = this.props;\n\n e.preventDefault();\n e.stopPropagation();\n onNodeDragEnter(e, this);\n };\n\n onDragOver = (e: React.DragEvent<HTMLDivElement>) => {\n const {\n context: { onNodeDragOver },\n } = this.props;\n\n e.preventDefault();\n e.stopPropagation();\n onNodeDragOver(e, this);\n };\n\n onDragLeave = (e: React.DragEvent<HTMLDivElement>) => {\n const {\n context: { onNodeDragLeave },\n } = this.props;\n\n e.stopPropagation();\n onNodeDragLeave(e, this);\n };\n\n onDragEnd = (e: React.DragEvent<HTMLDivElement>) => {\n const {\n context: { onNodeDragEnd },\n } = this.props;\n\n e.stopPropagation();\n this.setState({\n dragNodeHighlight: false,\n });\n onNodeDragEnd(e, this);\n };\n\n onDrop = (e: React.DragEvent<HTMLDivElement>) => {\n const {\n context: { onNodeDrop },\n } = this.props;\n\n e.preventDefault();\n e.stopPropagation();\n this.setState({\n dragNodeHighlight: false,\n });\n onNodeDrop(e, this);\n };\n\n // Disabled item still can be switch\n onExpand: React.MouseEventHandler<HTMLDivElement> = e => {\n const {\n loading,\n context: { onNodeExpand },\n } = this.props;\n if (loading) return;\n onNodeExpand(e, convertNodePropsToEventData(this.props));\n };\n\n // Drag usage\n setSelectHandle = node => {\n this.selectHandle = node;\n };\n\n getNodeState = () => {\n const { expanded } = this.props;\n\n if (this.isLeaf()) {\n return null;\n }\n\n return expanded ? ICON_OPEN : ICON_CLOSE;\n };\n\n hasChildren = () => {\n const { eventKey } = this.props;\n const {\n context: { keyEntities },\n } = this.props;\n const { children } = getEntity(keyEntities, eventKey) || {};\n\n return !!(children || []).length;\n };\n\n isLeaf = () => {\n const { isLeaf, loaded } = this.props;\n const {\n context: { loadData },\n } = this.props;\n\n const hasChildren = this.hasChildren();\n\n if (isLeaf === false) {\n return false;\n }\n\n return isLeaf || (!loadData && !hasChildren) || (loadData && loaded && !hasChildren);\n };\n\n isDisabled = () => {\n const { disabled } = this.props;\n const {\n context: { disabled: treeDisabled },\n } = this.props;\n\n return !!(treeDisabled || disabled);\n };\n\n isCheckable = () => {\n const { checkable } = this.props;\n const {\n context: { checkable: treeCheckable },\n } = this.props;\n\n // Return false if tree or treeNode is not checkable\n if (!treeCheckable || checkable === false) return false;\n return treeCheckable;\n };\n\n // Load data to avoid default expanded tree without data\n syncLoadData = props => {\n const { expanded, loading, loaded } = props;\n const {\n context: { loadData, onNodeLoad },\n } = this.props;\n\n if (loading) {\n return;\n }\n\n // read from state to avoid loadData at same time\n if (loadData && expanded && !this.isLeaf()) {\n // We needn't reload data when has children in sync logic\n // It's only needed in node expanded\n if (!this.hasChildren() && !loaded) {\n onNodeLoad(convertNodePropsToEventData(this.props));\n }\n }\n };\n\n isSelectable() {\n const { selectable } = this.props;\n const {\n context: { selectable: treeSelectable },\n } = this.props;\n\n // Ignore when selectable is undefined or null\n if (typeof selectable === 'boolean') {\n return selectable;\n }\n\n return treeSelectable;\n }\n\n isDraggable = () => {\n const {\n data,\n context: { draggable },\n } = this.props;\n\n return !!(draggable && (!draggable.nodeDraggable || draggable.nodeDraggable(data)));\n };\n\n // ==================== Render: Drag Handler ====================\n renderDragHandler = () => {\n const {\n context: { draggable, prefixCls },\n } = this.props;\n\n return draggable?.icon ? (\n <span className={`${prefixCls}-draggable-icon`}>{draggable.icon}</span>\n ) : null;\n };\n\n // ====================== Render: Switcher ======================\n renderSwitcherIconDom = (isLeaf: boolean) => {\n const { switcherIcon: switcherIconFromProps } = this.props;\n const {\n context: { switcherIcon: switcherIconFromCtx },\n } = this.props;\n\n const switcherIcon = switcherIconFromProps || switcherIconFromCtx;\n // if switcherIconDom is null, no render switcher span\n if (typeof switcherIcon === 'function') {\n return switcherIcon({ ...this.props, isLeaf });\n }\n return switcherIcon;\n };\n\n // Switcher\n renderSwitcher = () => {\n const { expanded } = this.props;\n const {\n context: { prefixCls },\n } = this.props;\n\n if (this.isLeaf()) {\n // if switcherIconDom is null, no render switcher span\n const switcherIconDom = this.renderSwitcherIconDom(true);\n\n return switcherIconDom !== false ? (\n <span className={classNames(`${prefixCls}-switcher`, `${prefixCls}-switcher-noop`)}>\n {switcherIconDom}\n </span>\n ) : null;\n }\n\n const switcherCls = classNames(\n `${prefixCls}-switcher`,\n `${prefixCls}-switcher_${expanded ? ICON_OPEN : ICON_CLOSE}`,\n );\n\n const switcherIconDom = this.renderSwitcherIconDom(false);\n\n return switcherIconDom !== false ? (\n <span onClick={this.onExpand} className={switcherCls}>\n {switcherIconDom}\n </span>\n ) : null;\n };\n\n // ====================== Render: Checkbox ======================\n // Checkbox\n renderCheckbox = () => {\n const { checked, halfChecked, disableCheckbox } = this.props;\n const {\n context: { prefixCls },\n } = this.props;\n const disabled = this.isDisabled();\n const checkable = this.isCheckable();\n\n if (!checkable) return null;\n\n // [Legacy] Custom element should be separate with `checkable` in future\n const $custom = typeof checkable !== 'boolean' ? checkable : null;\n\n return (\n <span\n className={classNames(\n `${prefixCls}-checkbox`,\n checked && `${prefixCls}-checkbox-checked`,\n !checked && halfChecked && `${prefixCls}-checkbox-indeterminate`,\n (disabled || disableCheckbox) && `${prefixCls}-checkbox-disabled`,\n )}\n onClick={this.onCheck}\n >\n {$custom}\n </span>\n );\n };\n\n // ==================== Render: Title + Icon ====================\n renderIcon = () => {\n const { loading } = this.props;\n const {\n context: { prefixCls },\n } = this.props;\n\n return (\n <span\n className={classNames(\n `${prefixCls}-iconEle`,\n `${prefixCls}-icon__${this.getNodeState() || 'docu'}`,\n loading && `${prefixCls}-icon_loading`,\n )}\n />\n );\n };\n\n // Icon + Title\n renderSelector = () => {\n const { dragNodeHighlight } = this.state;\n const { title = defaultTitle, selected, icon, loading, data } = this.props;\n const {\n context: { prefixCls, showIcon, icon: treeIcon, loadData, titleRender },\n } = this.props;\n const disabled = this.isDisabled();\n\n const wrapClass = `${prefixCls}-node-content-wrapper`;\n\n // Icon - Still show loading icon when loading without showIcon\n let $icon;\n\n if (showIcon) {\n const currentIcon = icon || treeIcon;\n\n $icon = currentIcon ? (\n <span className={classNames(`${prefixCls}-iconEle`, `${prefixCls}-icon__customize`)}>\n {typeof currentIcon === 'function' ? currentIcon(this.props) : currentIcon}\n </span>\n ) : (\n this.renderIcon()\n );\n } else if (loadData && loading) {\n $icon = this.renderIcon();\n }\n\n // Title\n let titleNode: React.ReactNode;\n if (typeof title === 'function') {\n titleNode = title(data);\n } else if (titleRender) {\n titleNode = titleRender(data);\n } else {\n titleNode = title;\n }\n\n const $title = <span className={`${prefixCls}-title`}>{titleNode}</span>;\n\n return (\n <span\n ref={this.setSelectHandle}\n title={typeof title === 'string' ? title : ''}\n className={classNames(\n `${wrapClass}`,\n `${wrapClass}-${this.getNodeState() || 'normal'}`,\n !disabled && (selected || dragNodeHighlight) && `${prefixCls}-node-selected`,\n )}\n onMouseEnter={this.onMouseEnter}\n onMouseLeave={this.onMouseLeave}\n onContextMenu={this.onContextMenu}\n onClick={this.onSelectorClick}\n onDoubleClick={this.onSelectorDoubleClick}\n >\n {$icon}\n {$title}\n {this.renderDropIndicator()}\n </span>\n );\n };\n\n // =================== Render: Drop Indicator ===================\n renderDropIndicator = () => {\n const { disabled, eventKey } = this.props;\n const {\n context: {\n draggable,\n dropLevelOffset,\n dropPosition,\n prefixCls,\n indent,\n dropIndicatorRender,\n dragOverNodeKey,\n direction,\n },\n } = this.props;\n const rootDraggable = !!draggable;\n // allowDrop is calculated in Tree.tsx, there is no need for calc it here\n const 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 const mergedIndent = indent ?? this.cacheIndent;\n this.cacheIndent = indent;\n\n return showIndicator\n ? dropIndicatorRender({\n dropPosition,\n dropLevelOffset,\n indent: mergedIndent,\n prefixCls,\n direction,\n })\n : null;\n };\n\n // =========================== Render ===========================\n render() {\n const {\n eventKey,\n className,\n style,\n dragOver,\n dragOverGapTop,\n dragOverGapBottom,\n isLeaf,\n isStart,\n isEnd,\n expanded,\n selected,\n checked,\n halfChecked,\n loading,\n domRef,\n active,\n data,\n onMouseMove,\n selectable,\n indentWidth,\n ...otherProps\n } = this.props;\n const {\n context: {\n prefixCls,\n filterTreeNode,\n keyEntities,\n dropContainerKey,\n dropTargetKey,\n draggingNodeKey,\n },\n } = this.props;\n const disabled = this.isDisabled();\n const dataOrAriaAttributeProps = pickAttrs(otherProps, { aria: true, data: true });\n const { level } = getEntity(keyEntities, eventKey) || {};\n const isEndNode = isEnd[isEnd.length - 1];\n\n const mergedDraggable = this.isDraggable();\n const draggableWithoutDisabled = !disabled && mergedDraggable;\n\n const dragging = draggingNodeKey === eventKey;\n const ariaSelected = selectable !== undefined ? { 'aria-selected': !!selectable } : undefined;\n\n return (\n <div\n ref={domRef}\n className={classNames(className, `${prefixCls}-treenode`, {\n [`${prefixCls}-treenode-disabled`]: disabled,\n [`${prefixCls}-treenode-switcher-${expanded ? 'open' : 'close'}`]: !isLeaf,\n [`${prefixCls}-treenode-checkbox-checked`]: checked,\n [`${prefixCls}-treenode-checkbox-indeterminate`]: halfChecked,\n [`${prefixCls}-treenode-selected`]: selected,\n [`${prefixCls}-treenode-loading`]: loading,\n [`${prefixCls}-treenode-active`]: active,\n [`${prefixCls}-treenode-leaf-last`]: isEndNode,\n [`${prefixCls}-treenode-draggable`]: mergedDraggable,\n\n dragging,\n 'drop-target': dropTargetKey === eventKey,\n 'drop-container': dropContainerKey === eventKey,\n 'drag-over': !disabled && dragOver,\n 'drag-over-gap-top': !disabled && dragOverGapTop,\n 'drag-over-gap-bottom': !disabled && dragOverGapBottom,\n 'filter-node': filterTreeNode && filterTreeNode(convertNodePropsToEventData(this.props)),\n })}\n style={style}\n // Draggable config\n draggable={draggableWithoutDisabled}\n aria-grabbed={dragging}\n onDragStart={draggableWithoutDisabled ? this.onDragStart : undefined}\n // Drop config\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}\n {...dataOrAriaAttributeProps}\n >\n <Indent prefixCls={prefixCls} level={level} isStart={isStart} isEnd={isEnd} width={indentWidth} />\n {this.renderDragHandler()}\n {this.renderSwitcher()}\n {this.renderCheckbox()}\n {this.renderSelector()}\n </div>\n );\n }\n}\n\nconst ContextTreeNode: React.FC<TreeNodeProps> = props => (\n <TreeContext.Consumer>\n {context => <InternalTreeNode {...props} context={context} />}\n </TreeContext.Consumer>\n);\n\nContextTreeNode.displayName = 'TreeNode';\n\n(ContextTreeNode as any).isTreeNode = 1;\n\nexport default ContextTreeNode;\n","import * as React from 'react';\nimport useLayoutEffect from 'rc-util/lib/hooks/useLayoutEffect';\n\n/**\n * Trigger only when component unmount\n */\nexport default function useUnmount(triggerStart: VoidFunction, triggerEnd: VoidFunction) {\n const [firstMount, setFirstMount] = React.useState(false);\n\n useLayoutEffect(() => {\n if (firstMount) {\n triggerStart();\n\n return () => {\n triggerEnd();\n };\n }\n }, [firstMount]);\n\n useLayoutEffect(() => {\n setFirstMount(true);\n\n return () => {\n setFirstMount(false);\n };\n }, []);\n}\n","import classNames from 'classnames';\nimport CSSMotion from 'rc-motion';\nimport useLayoutEffect from 'rc-util/lib/hooks/useLayoutEffect';\nimport * as React from 'react';\nimport { TreeContext } from './contextTypes';\nimport { FlattenNode, TreeNodeProps } from './interface';\nimport TreeNode from './TreeNode';\nimport useUnmount from './useUnmount';\nimport { getTreeNodeProps, TreeNodeRequiredProps } from './utils/treeUtil';\n\ninterface MotionTreeNodeProps extends Omit<TreeNodeProps, 'domRef'> {\n active: boolean;\n motion?: any;\n motionNodes?: FlattenNode[];\n onMotionStart: () => void;\n onMotionEnd: () => void;\n motionType?: 'show' | 'hide';\n\n treeNodeRequiredProps: TreeNodeRequiredProps;\n}\n\nconst MotionTreeNode: React.ForwardRefRenderFunction<HTMLDivElement, MotionTreeNodeProps> = (\n {\n className,\n style,\n motion,\n motionNodes,\n motionType,\n onMotionStart: onOriginMotionStart,\n onMotionEnd: onOriginMotionEnd,\n active,\n treeNodeRequiredProps,\n ...props\n },\n ref,\n) => {\n const [visible, setVisible] = React.useState(true);\n const { prefixCls } = React.useContext(TreeContext);\n\n // Calculate target visible here.\n // And apply in effect to make `leave` motion work.\n const targetVisible = motionNodes && motionType !== 'hide';\n\n useLayoutEffect(() => {\n if (motionNodes) {\n if (targetVisible !== visible) {\n setVisible(targetVisible);\n }\n }\n }, [motionNodes]);\n\n const triggerMotionStart = () => {\n if (motionNodes) {\n onOriginMotionStart();\n }\n };\n\n // Should only trigger once\n const triggerMotionEndRef = React.useRef(false);\n const 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 const onVisibleChanged = (nextVisible: boolean) => {\n if (targetVisible === nextVisible) {\n triggerMotionEnd();\n }\n };\n\n if (motionNodes) {\n return (\n <CSSMotion\n ref={ref}\n visible={visible}\n {...motion}\n motionAppear={motionType === 'show'}\n onVisibleChanged={onVisibleChanged}\n >\n {({ className: motionClassName, style: motionStyle }, motionRef) => (\n <div\n ref={motionRef}\n className={classNames(`${prefixCls}-treenode-motion`, motionClassName)}\n style={motionStyle}\n >\n {motionNodes.map((treeNode: FlattenNode) => {\n const {\n data: { ...restProps },\n title,\n key,\n isStart,\n isEnd,\n } = treeNode;\n delete restProps.children;\n\n const treeNodeProps = getTreeNodeProps(key, treeNodeRequiredProps);\n\n return (\n <TreeNode\n {...(restProps as Omit<typeof restProps, 'children'>)}\n {...treeNodeProps}\n title={title}\n active={active}\n data={treeNode.data}\n key={key}\n isStart={isStart}\n isEnd={isEnd}\n />\n );\n })}\n </div>\n )}\n </CSSMotion>\n );\n }\n return <TreeNode domRef={ref} className={className} style={style} {...props} active={active} />;\n};\n\nMotionTreeNode.displayName = 'MotionTreeNode';\n\nconst RefMotionTreeNode = React.forwardRef(MotionTreeNode);\n\nexport default RefMotionTreeNode;\n","import { Key, FlattenNode } from '../interface';\n\nexport function findExpandedKeys(prev: Key[] = [], next: Key[] = []) {\n const prevLen = prev.length;\n const nextLen = next.length;\n\n if (Math.abs(prevLen - nextLen) !== 1) {\n return { add: false, key: null };\n }\n\n function find(shorter: Key[], longer: Key[]) {\n const cache: Map<Key, boolean> = new Map();\n shorter.forEach(key => {\n cache.set(key, true);\n });\n\n const keys = longer.filter(key => !cache.has(key));\n\n return keys.length === 1 ? keys[0] : null;\n }\n\n if (prevLen < nextLen) {\n return {\n add: true,\n key: find(prev, next),\n };\n }\n\n return {\n add: false,\n key: find(next, prev),\n };\n}\n\nexport function getExpandRange(shorter: FlattenNode[], longer: FlattenNode[], key: Key) {\n const shorterStartIndex = shorter.findIndex(data => data.key === key);\n const shorterEndNode = shorter[shorterStartIndex + 1];\n const longerStartIndex = longer.findIndex(data => data.key === key);\n\n if (shorterEndNode) {\n const longerEndIndex = longer.findIndex(data => data.key === shorterEndNode.key);\n return longer.slice(longerStartIndex + 1, longerEndIndex);\n }\n return longer.slice(longerStartIndex + 1);\n}\n","/**\n * Handle virtual list of the TreeNodes.\n */\nimport useLayoutEffect from 'rc-util/lib/hooks/useLayoutEffect';\nimport VirtualList, { ListRef } from 'rc-virtual-list';\nimport * as React from 'react';\nimport {\n BasicDataNode,\n DataEntity,\n DataNode,\n FlattenNode,\n Key,\n KeyEntities,\n ScrollTo,\n} from './interface';\nimport MotionTreeNode from './MotionTreeNode';\nimport { findExpandedKeys, getExpandRange } from './utils/diffUtil';\nimport { getKey, getTreeNodeProps } from './utils/treeUtil';\n\nconst 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};\n\nconst noop = () => {};\n\nexport const MOTION_KEY = `RC_TREE_MOTION_${Math.random()}`;\n\nconst MotionNode: DataNode = {\n key: MOTION_KEY,\n};\n\nexport const MotionEntity: DataEntity = {\n key: MOTION_KEY,\n level: 0,\n index: 0,\n pos: '0',\n node: MotionNode,\n nodes: [MotionNode],\n};\n\nconst MotionFlattenData: FlattenNode = {\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\nexport interface NodeListRef {\n scrollTo: ScrollTo;\n getIndentWidth: () => number;\n}\n\ninterface NodeListProps<TreeDataType extends BasicDataNode> {\n prefixCls: string;\n style: React.CSSProperties;\n data: FlattenNode<TreeDataType>[];\n motion: any;\n focusable?: boolean;\n activeItem: FlattenNode<TreeDataType>;\n focused?: boolean;\n tabIndex: number;\n checkable?: boolean;\n selectable?: boolean;\n disabled?: boolean;\n indentWidth?: number;\n\n expandedKeys: Key[];\n selectedKeys: Key[];\n checkedKeys: Key[];\n loadedKeys: Key[];\n loadingKeys: Key[];\n halfCheckedKeys: Key[];\n keyEntities: KeyEntities;\n\n dragging: boolean;\n dragOverNodeKey: Key;\n dropPosition: number;\n\n // Virtual list\n height: number;\n itemHeight: number;\n scrollWidth?: number;\n virtual?: boolean;\n\n onVirtualScroll?: (info: any) => void;\n onKeyDown?: React.KeyboardEventHandler<HTMLDivElement>;\n onFocus?: React.FocusEventHandler<HTMLDivElement>;\n onBlur?: React.FocusEventHandler<HTMLDivElement>;\n onActiveChange: (key: Key) => void;\n\n onListChangeStart: () => void;\n onListChangeEnd: () => void;\n}\n\n/**\n * We only need get visible content items to play the animation.\n */\nexport function getMinimumRangeTransitionRange(\n list: FlattenNode[],\n virtual: boolean,\n height: number,\n itemHeight: number,\n) {\n if (virtual === false || !height) {\n return list;\n }\n\n return list.slice(0, Math.ceil(height / itemHeight) + 1);\n}\n\nfunction itemKey(item: FlattenNode) {\n const { key, pos } = item;\n return getKey(key, pos);\n}\n\nfunction getAccessibilityPath(item: FlattenNode): string {\n let path = String(item.data.key);\n let current = item;\n\n while (current.parent) {\n current = current.parent;\n path = `${current.data.key} > ${path}`;\n }\n\n return path;\n}\n\nconst NodeList = React.forwardRef<NodeListRef, any>((props, ref) => {\n const {\n prefixCls,\n data,\n selectable,\n checkable,\n expandedKeys,\n selectedKeys,\n checkedKeys,\n loadedKeys,\n loadingKeys,\n halfCheckedKeys,\n keyEntities,\n disabled,\n indentWidth,\n\n dragging,\n dragOverNodeKey,\n dropPosition,\n motion,\n\n height,\n itemHeight,\n virtual,\n onVirtualScroll,\n\n focusable,\n activeItem,\n focused,\n tabIndex,\n\n onKeyDown,\n onFocus,\n onBlur,\n onActiveChange,\n\n onListChangeStart,\n onListChangeEnd,\n\n ...domProps\n } = props;\n\n // =============================== Ref ================================\n const listRef = React.useRef<ListRef>(null);\n const indentMeasurerRef = React.useRef<HTMLDivElement>(null);\n React.useImperativeHandle(ref, () => ({\n scrollTo: (scroll) => {\n if (listRef.current) {\n listRef.current.scrollTo(scroll);\n }\n },\n getIndentWidth: () => indentMeasurerRef.current.offsetWidth,\n }));\n\n // ============================== Motion ==============================\n const [prevExpandedKeys, setPrevExpandedKeys] = React.useState(expandedKeys);\n const [prevData, setPrevData] = React.useState(data);\n const [transitionData, setTransitionData] = React.useState(data);\n const [transitionRange, setTransitionRange] = React.useState([]);\n const [motionType, setMotionType] = React.useState<'show' | 'hide' | null>(null);\n\n // When motion end but data change, this will makes data back to previous one\n const dataRef = React.useRef(data);\n dataRef.current = data;\n\n function onMotionEnd() {\n const latestData = dataRef.current;\n\n setPrevData(latestData);\n setTransitionData(latestData);\n setTransitionRange([]);\n setMotionType(null);\n\n onListChangeEnd();\n }\n\n // Do animation if expanded keys changed\n // layoutEffect here to avoid blink of node removing\n useLayoutEffect(() => {\n setPrevExpandedKeys(expandedKeys);\n\n const diffExpanded = findExpandedKeys(prevExpandedKeys, expandedKeys);\n\n if (diffExpanded.key !== null) {\n if (diffExpanded.add) {\n const keyIndex = prevData.findIndex(({ key }) => key === diffExpanded.key);\n\n const rangeNodes: any = getMinimumRangeTransitionRange(\n getExpandRange(prevData, data, diffExpanded.key),\n virtual,\n height,\n itemHeight,\n );\n\n const newTransitionData: FlattenNode[] = prevData.slice();\n newTransitionData.splice(keyIndex + 1, 0, MotionFlattenData);\n\n setTransitionData(newTransitionData);\n setTransitionRange(rangeNodes);\n setMotionType('show');\n } else {\n const keyIndex = data.findIndex(({ key }) => key === diffExpanded.key);\n\n const rangeNodes: any = getMinimumRangeTransitionRange(\n getExpandRange(data, prevData, diffExpanded.key),\n virtual,\n height,\n itemHeight,\n );\n\n const newTransitionData: FlattenNode[] = data.slice();\n newTransitionData.splice(keyIndex + 1, 0, MotionFlattenData);\n\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(() => {\n if (!dragging) {\n onMotionEnd();\n }\n }, [dragging]);\n\n const mergedData = motion ? transitionData : data;\n\n const treeNodeRequiredProps = {\n expandedKeys,\n selectedKeys,\n loadedKeys,\n loadingKeys,\n checkedKeys,\n halfCheckedKeys,\n dragOverNodeKey,\n dropPosition,\n keyEntities,\n };\n\n return (\n <>\n {focused && activeItem && (\n <span style={HIDDEN_STYLE} aria-live='assertive'>\n {getAccessibilityPath(activeItem)}\n </span>\n )}\n\n <div>\n <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 />\n </div>\n\n <div\n className={`${prefixCls}-treenode`}\n aria-hidden\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 >\n <div className={`${prefixCls}-indent`}>\n <div ref={indentMeasurerRef} className={`${prefixCls}-indent-unit`} />\n </div>\n </div>\n\n <VirtualList<FlattenNode>\n {...domProps}\n data={mergedData}\n onVirtualScroll={onVirtualScroll}\n itemKey={itemKey}\n height={height}\n fullHeight={false}\n virtual={virtual}\n itemHeight={itemHeight}\n prefixCls={`${prefixCls}-list`}\n ref={listRef}\n onVisibleChange={(originList, fullList) => {\n const originSet = new Set(originList);\n const restList = fullList.filter((item) => !originSet.has(item));\n\n // Motion node is not render. Skip motion\n if (restList.some((item) => itemKey(item) === MOTION_KEY)) {\n onMotionEnd();\n }\n }}\n >\n {(treeNode) => {\n const {\n pos,\n data: { ...restProps },\n title,\n key,\n isStart,\n isEnd,\n } = treeNode;\n const mergedKey = getKey(key, pos);\n delete restProps.key;\n delete restProps.children;\n\n const treeNodeProps = getTreeNodeProps(mergedKey, treeNodeRequiredProps);\n\n return (\n <MotionTreeNode\n {...(restProps as Omit<typeof restProps, 'children'>)}\n {...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 indentWidth={indentWidth}\n motionNodes={key === MOTION_KEY ? transitionRange : null}\n motionType={motionType}\n onMotionStart={onListChangeStart}\n onMotionEnd={onMotionEnd}\n treeNodeRequiredProps={treeNodeRequiredProps}\n onMouseMove={() => {\n onActiveChange(null);\n }}\n />\n );\n }}\n </VirtualList>\n </>\n );\n});\n\nNodeList.displayName = 'NodeList';\n\nexport default NodeList;\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/lib/warning';\nimport React from 'react';\nimport {\n BasicDataNode,\n DataEntity,\n DataNode,\n Direction,\n FlattenNode,\n Key,\n KeyEntities,\n NodeElement,\n NodeInstance,\n} from './interface';\nimport { AllowDrop, TreeProps } from './Tree';\nimport TreeNode from './TreeNode';\nimport getEntity from './utils/keyUtil';\n\nexport { getPosition, isTreeNode } from './utils/treeUtil';\n\nexport function arrDel(list: Key[], value: Key) {\n if (!list) return [];\n const clone = list.slice();\n const index = clone.indexOf(value);\n if (index >= 0) {\n clone.splice(index, 1);\n }\n return clone;\n}\n\nexport function arrAdd(list: Key[], value: Key) {\n const clone = (list || []).slice();\n if (clone.indexOf(value) === -1) {\n clone.push(value);\n }\n return clone;\n}\n\nexport function posToArr(pos: string) {\n return pos.split('-');\n}\n\nexport function getDragChildrenKeys<TreeDataType extends BasicDataNode = DataNode>(\n dragNodeKey: Key,\n keyEntities: KeyEntities<TreeDataType>,\n): Key[] {\n // not contains self\n // self for left or right drag\n const dragChildrenKeys = [];\n\n const entity = getEntity(keyEntities, dragNodeKey);\n function dig(list: DataEntity<TreeDataType>[] = []) {\n list.forEach(({ key, children }) => {\n dragChildrenKeys.push(key);\n dig(children);\n });\n }\n\n dig(entity.children);\n\n return dragChildrenKeys;\n}\n\nexport function isLastChild<TreeDataType extends BasicDataNode = DataNode>(\n treeNodeEntity: DataEntity<TreeDataType>,\n) {\n if (treeNodeEntity.parent) {\n const posArr = posToArr(treeNodeEntity.pos);\n return Number(posArr[posArr.length - 1]) === treeNodeEntity.parent.children.length - 1;\n }\n return false;\n}\n\nexport function isFirstChild<TreeDataType extends BasicDataNode = DataNode>(\n treeNodeEntity: DataEntity<TreeDataType>,\n) {\n const 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<TreeDataType extends BasicDataNode = DataNode>(\n event: React.MouseEvent,\n dragNode: NodeInstance<TreeDataType>,\n targetNode: NodeInstance<TreeDataType>,\n indent: number,\n startMousePosition: {\n x: number;\n y: number;\n },\n allowDrop: AllowDrop<TreeDataType>,\n flattenedNodes: FlattenNode<TreeDataType>[],\n keyEntities: KeyEntities<TreeDataType>,\n expandKeys: Key[],\n direction: Direction,\n): {\n dropPosition: -1 | 0 | 1;\n dropLevelOffset: number;\n dropTargetKey: Key;\n dropTargetPos: string;\n dropContainerKey: Key;\n dragOverNodeKey: Key;\n dropAllowed: boolean;\n} {\n const { clientX, clientY } = event;\n const { top, height } = (event.target as HTMLElement).getBoundingClientRect();\n // optional chain for testing\n const horizontalMouseOffset =\n (direction === 'rtl' ? -1 : 1) * ((startMousePosition?.x || 0) - clientX);\n const rawDropLevelOffset = (horizontalMouseOffset - 12) / indent;\n\n // Filter the expanded keys to exclude the node that not has children currently (like async nodes).\n const filteredExpandKeys = expandKeys.filter((key: string) => keyEntities[key]?.children?.length);\n\n // find abstract drop node by horizontal offset\n let abstractDropNodeEntity: DataEntity<TreeDataType> = getEntity(\n keyEntities,\n targetNode.props.eventKey,\n );\n\n if (clientY < top + height / 2) {\n // first half, set abstract drop node to previous node\n const nodeIndex = flattenedNodes.findIndex(\n flattenedNode => flattenedNode.key === abstractDropNodeEntity.key,\n );\n const prevNodeIndex = nodeIndex <= 0 ? 0 : nodeIndex - 1;\n const prevNodeKey = flattenedNodes[prevNodeIndex].key;\n abstractDropNodeEntity = getEntity(keyEntities, prevNodeKey);\n }\n\n const initialAbstractDropNodeKey = abstractDropNodeEntity.key;\n\n const abstractDragOverEntity = abstractDropNodeEntity;\n const dragOverNodeKey = abstractDropNodeEntity.key;\n\n let dropPosition: -1 | 0 | 1 = 0;\n let dropLevelOffset = 0;\n\n // Only allow cross level drop when dragging on a non-expanded node\n if (!filteredExpandKeys.includes(initialAbstractDropNodeKey)) {\n for (let 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\n const abstractDragDataNode = dragNode.props.data;\n const abstractDropDataNode = abstractDropNodeEntity.node;\n let dropAllowed = true;\n if (\n isFirstChild(abstractDropNodeEntity) &&\n abstractDropNodeEntity.level === 0 &&\n clientY < top + height / 2 &&\n allowDrop({\n dragNode: abstractDragDataNode,\n dropNode: abstractDropDataNode,\n dropPosition: -1,\n }) &&\n abstractDropNodeEntity.key === targetNode.props.eventKey\n ) {\n // first half of first node in first level\n dropPosition = -1;\n } else if (\n (abstractDragOverEntity.children || []).length &&\n filteredExpandKeys.includes(dragOverNodeKey)\n ) {\n // drop on expanded node\n // only allow drop inside\n if (\n allowDrop({\n dragNode: abstractDragDataNode,\n dropNode: abstractDropDataNode,\n dropPosition: 0,\n })\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 (\n allowDrop({\n dragNode: abstractDragDataNode,\n dropNode: abstractDropDataNode,\n dropPosition: 1,\n })\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 (\n allowDrop({\n dragNode: abstractDragDataNode,\n dropNode: abstractDropDataNode,\n dropPosition: 0,\n })\n ) {\n dropPosition = 0;\n } else if (\n allowDrop({\n dragNode: abstractDragDataNode,\n dropNode: abstractDropDataNode,\n dropPosition: 1,\n })\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 (\n allowDrop({\n dragNode: abstractDragDataNode,\n dropNode: abstractDropDataNode,\n dropPosition: 1,\n })\n ) {\n dropPosition = 1;\n } else {\n dropAllowed = false;\n }\n }\n\n return {\n dropPosition,\n dropLevelOffset,\n dropTargetKey: abstractDropNodeEntity.key,\n dropTargetPos: abstractDropNodeEntity.pos,\n dragOverNodeKey,\n dropContainerKey: dropPosition === 0 ? null : abstractDropNodeEntity.parent?.key || null,\n 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: Key[], props: TreeProps) {\n if (!selectedKeys) return undefined;\n\n const { multiple } = props;\n if (multiple) {\n return selectedKeys.slice();\n }\n\n if (selectedKeys.length) {\n return [selectedKeys[0]];\n }\n return selectedKeys;\n}\n\nconst internalProcessProps = (props: DataNode): any => props;\nexport function convertDataToTree(\n treeData: DataNode[],\n processor?: { processProps: (prop: DataNode) => any },\n): NodeElement[] {\n if (!treeData) return [];\n\n const { processProps = internalProcessProps } = processor || {};\n const list = Array.isArray(treeData) ? treeData : [treeData];\n return list.map(({ children, ...props }): NodeElement => {\n const childrenNodes = convertDataToTree(children, processor);\n\n return (\n <TreeNode key={props.key} {...processProps(props)}>\n {childrenNodes}\n </TreeNode>\n );\n });\n}\n\n/**\n * Parse `checkedKeys` to { checkedKeys, halfCheckedKeys } style\n */\nexport function parseCheckedKeys(keys: Key[] | { checked: Key[]; halfChecked: Key[] }) {\n if (!keys) {\n return null;\n }\n\n // Convert keys to object format\n let 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\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: Key[], keyEntities: KeyEntities): Key[] {\n const expandedKeys = new Set<Key>();\n\n function conductUp(key: Key) {\n if (expandedKeys.has(key)) return;\n\n const entity = getEntity(keyEntities, key);\n if (!entity) return;\n\n expandedKeys.add(key);\n\n const { parent, node } = entity;\n\n if (node.disabled) return;\n\n if (parent) {\n conductUp(parent.key);\n }\n }\n\n (keyList || []).forEach(key => {\n conductUp(key);\n });\n\n return [...expandedKeys];\n}\n","import warning from 'rc-util/lib/warning';\nimport {\n BasicDataNode,\n DataEntity,\n DataNode,\n GetCheckDisabled,\n Key,\n KeyEntities,\n} from '../interface';\nimport getEntity from './keyUtil';\n\ninterface ConductReturnType {\n checkedKeys: Key[];\n halfCheckedKeys: Key[];\n}\n\nfunction removeFromCheckedKeys(halfCheckedKeys: Set<Key>, checkedKeys: Set<Key>) {\n const filteredKeys = new Set<Key>();\n halfCheckedKeys.forEach(key => {\n if (!checkedKeys.has(key)) {\n filteredKeys.add(key);\n }\n });\n return filteredKeys;\n}\n\nexport function isCheckDisabled<TreeDataType>(node: TreeDataType) {\n const { disabled, disableCheckbox, checkable } = (node || {}) as DataNode;\n return !!(disabled || disableCheckbox) || checkable === false;\n}\n\n// Fill miss keys\nfunction fillConductCheck<TreeDataType extends BasicDataNode = DataNode>(\n keys: Set<Key>,\n levelEntities: Map<number, Set<DataEntity<TreeDataType>>>,\n maxLevel: number,\n syntheticGetCheckDisabled: GetCheckDisabled<TreeDataType>,\n): ConductReturnType {\n const checkedKeys = new Set<Key>(keys);\n const halfCheckedKeys = new Set<Key>();\n\n // Add checked keys top to bottom\n for (let level = 0; level <= maxLevel; level += 1) {\n const entities = levelEntities.get(level) || new Set();\n entities.forEach(entity => {\n const { key, node, children = [] } = entity;\n\n if (checkedKeys.has(key) && !syntheticGetCheckDisabled(node)) {\n children\n .filter(childEntity => !syntheticGetCheckDisabled(childEntity.node))\n .forEach(childEntity => {\n checkedKeys.add(childEntity.key);\n });\n }\n });\n }\n\n // Add checked keys from bottom to top\n const visitedKeys = new Set<Key>();\n for (let level = maxLevel; level >= 0; level -= 1) {\n const entities = levelEntities.get(level) || new Set();\n entities.forEach(entity => {\n const { parent, node } = entity;\n\n // Skip if no need to check\n if (syntheticGetCheckDisabled(node) || !entity.parent || visitedKeys.has(entity.parent.key)) {\n return;\n }\n\n // Skip if parent is disabled\n if (syntheticGetCheckDisabled(entity.parent.node)) {\n visitedKeys.add(parent.key);\n return;\n }\n\n let allChecked = true;\n let partialChecked = false;\n\n (parent.children || [])\n .filter(childEntity => !syntheticGetCheckDisabled(childEntity.node))\n .forEach(({ key }) => {\n const checked = checkedKeys.has(key);\n if (allChecked && !checked) {\n allChecked = false;\n }\n if (!partialChecked && (checked || halfCheckedKeys.has(key))) {\n partialChecked = true;\n }\n });\n\n if (allChecked) {\n checkedKeys.add(parent.key);\n }\n if (partialChecked) {\n halfCheckedKeys.add(parent.key);\n }\n\n visitedKeys.add(parent.key);\n });\n }\n\n return {\n checkedKeys: Array.from(checkedKeys),\n halfCheckedKeys: Array.from(removeFromCheckedKeys(halfCheckedKeys, checkedKeys)),\n };\n}\n\n// Remove useless key\nfunction cleanConductCheck<TreeDataType extends BasicDataNode = DataNode>(\n keys: Set<Key>,\n halfKeys: Key[],\n levelEntities: Map<number, Set<DataEntity<TreeDataType>>>,\n maxLevel: number,\n syntheticGetCheckDisabled: GetCheckDisabled<TreeDataType>,\n): ConductReturnType {\n const checkedKeys = new Set<Key>(keys);\n let halfCheckedKeys = new Set<Key>(halfKeys);\n\n // Remove checked keys from top to bottom\n for (let level = 0; level <= maxLevel; level += 1) {\n const entities = levelEntities.get(level) || new Set();\n entities.forEach(entity => {\n const { key, node, children = [] } = entity;\n\n if (!checkedKeys.has(key) && !halfCheckedKeys.has(key) && !syntheticGetCheckDisabled(node)) {\n children\n .filter(childEntity => !syntheticGetCheckDisabled(childEntity.node))\n .forEach(childEntity => {\n checkedKeys.delete(childEntity.key);\n });\n }\n });\n }\n\n // Remove checked keys form bottom to top\n halfCheckedKeys = new Set<Key>();\n const visitedKeys = new Set<Key>();\n for (let level = maxLevel; level >= 0; level -= 1) {\n const entities = levelEntities.get(level) || new Set();\n\n entities.forEach(entity => {\n const { parent, node } = entity;\n\n // Skip if no need to check\n if (syntheticGetCheckDisabled(node) || !entity.parent || visitedKeys.has(entity.parent.key)) {\n return;\n }\n\n // Skip if parent is disabled\n if (syntheticGetCheckDisabled(entity.parent.node)) {\n visitedKeys.add(parent.key);\n return;\n }\n\n let allChecked = true;\n let partialChecked = false;\n\n (parent.children || [])\n .filter(childEntity => !syntheticGetCheckDisabled(childEntity.node))\n .forEach(({ key }) => {\n const checked = checkedKeys.has(key);\n if (allChecked && !checked) {\n allChecked = false;\n }\n if (!partialChecked && (checked || halfCheckedKeys.has(key))) {\n partialChecked = true;\n }\n });\n\n if (!allChecked) {\n checkedKeys.delete(parent.key);\n }\n if (partialChecked) {\n halfCheckedKeys.add(parent.key);\n }\n\n visitedKeys.add(parent.key);\n });\n }\n\n return {\n checkedKeys: Array.from(checkedKeys),\n halfCheckedKeys: Array.from(removeFromCheckedKeys(halfCheckedKeys, checkedKeys)),\n };\n}\n\n/**\n * Conduct with keys.\n * @param keyList current key list\n * @param keyEntities key - dataEntity map\n * @param mode `fill` to fill missing key, `clean` to remove useless key\n */\nexport function conductCheck<TreeDataType extends BasicDataNode = DataNode>(\n keyList: Key[],\n checked: true | { checked: false; halfCheckedKeys: Key[] },\n keyEntities: KeyEntities<TreeDataType>,\n getCheckDisabled?: GetCheckDisabled<TreeDataType>,\n): ConductReturnType {\n const warningMissKeys: Key[] = [];\n\n let syntheticGetCheckDisabled: GetCheckDisabled<TreeDataType>;\n if (getCheckDisabled) {\n syntheticGetCheckDisabled = getCheckDisabled;\n } else {\n syntheticGetCheckDisabled = isCheckDisabled;\n }\n\n // We only handle exist keys\n const keys = new Set<Key>(\n keyList.filter(key => {\n const hasEntity = !!getEntity(keyEntities, key);\n if (!hasEntity) {\n warningMissKeys.push(key);\n }\n\n return hasEntity;\n }),\n );\n const levelEntities = new Map<number, Set<DataEntity<TreeDataType>>>();\n let maxLevel = 0;\n\n // Convert entities by level for calculation\n Object.keys(keyEntities).forEach(key => {\n const entity = keyEntities[key];\n const { level } = entity;\n\n let levelSet: Set<DataEntity<TreeDataType>> = levelEntities.get(level);\n if (!levelSet) {\n levelSet = new Set();\n levelEntities.set(level, levelSet);\n }\n\n levelSet.add(entity);\n\n maxLevel = Math.max(maxLevel, level);\n });\n\n warning(\n !warningMissKeys.length,\n `Tree missing follow keys: ${warningMissKeys\n .slice(0, 100)\n .map(key => `'${key}'`)\n .join(', ')}`,\n );\n\n let result: ConductReturnType;\n if (checked === true) {\n result = fillConductCheck<TreeDataType>(\n keys,\n levelEntities,\n maxLevel,\n syntheticGetCheckDisabled,\n );\n } else {\n result = cleanConductCheck(\n keys,\n checked.halfCheckedKeys,\n levelEntities,\n maxLevel,\n syntheticGetCheckDisabled,\n );\n }\n\n return result;\n}\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/lib/KeyCode';\nimport pickAttrs from 'rc-util/lib/pickAttrs';\nimport warning from 'rc-util/lib/warning';\nimport * as React from 'react';\n\nimport {\n NodeDragEventHandler,\n NodeDragEventParams,\n NodeMouseEventHandler,\n NodeMouseEventParams,\n TreeContext,\n} from './contextTypes';\nimport DropIndicator from './DropIndicator';\nimport {\n BasicDataNode,\n DataNode,\n Direction,\n EventDataNode,\n FieldNames,\n FlattenNode,\n IconType,\n Key,\n KeyEntities,\n NodeInstance,\n SafeKey,\n ScrollTo,\n} from './interface';\nimport NodeList, { MotionEntity, MOTION_KEY, NodeListRef } from './NodeList';\nimport TreeNode from './TreeNode';\nimport {\n arrAdd,\n arrDel,\n calcDropPosition,\n calcSelectedKeys,\n conductExpandParent,\n getDragChildrenKeys,\n parseCheckedKeys,\n posToArr,\n} from './util';\nimport { conductCheck } from './utils/conductUtil';\nimport getEntity from './utils/keyUtil';\nimport {\n convertDataToEntities,\n convertNodePropsToEventData,\n convertTreeToData,\n fillFieldNames,\n flattenTreeData,\n getTreeNodeProps,\n warningWithoutKey,\n} from './utils/treeUtil';\n\nconst MAX_RETRY_TIMES = 10;\n\nexport interface CheckInfo<TreeDataType extends BasicDataNode = DataNode> {\n event: 'check';\n node: EventDataNode<TreeDataType>;\n checked: boolean;\n nativeEvent: MouseEvent;\n checkedNodes: TreeDataType[];\n checkedNodesPositions?: { node: TreeDataType; pos: string }[];\n halfCheckedKeys?: Key[];\n}\n\nexport interface AllowDropOptions<TreeDataType extends BasicDataNode = DataNode> {\n dragNode: TreeDataType;\n dropNode: TreeDataType;\n dropPosition: -1 | 0 | 1;\n}\nexport type AllowDrop<TreeDataType extends BasicDataNode = DataNode> = (\n options: AllowDropOptions<TreeDataType>,\n) => boolean;\n\nexport type DraggableFn = (node: DataNode) => boolean;\nexport type DraggableConfig = {\n icon?: React.ReactNode | false;\n nodeDraggable?: DraggableFn;\n};\n\nexport type ExpandAction = false | 'click' | 'doubleClick';\n\nexport interface TreeProps<TreeDataType extends BasicDataNode = DataNode> {\n prefixCls: string;\n className?: string;\n style?: React.CSSProperties;\n focusable?: boolean;\n activeKey?: Key | null;\n tabIndex?: number;\n children?: React.ReactNode;\n treeData?: TreeDataType[]; // Generate treeNode by children\n fieldNames?: FieldNames;\n showLine?: boolean;\n showIcon?: boolean;\n icon?: IconType;\n indentWidth?: number;\n selectable?: boolean;\n expandAction?: ExpandAction;\n disabled?: boolean;\n multiple?: boolean;\n checkable?: boolean | React.ReactNode;\n checkStrictly?: boolean;\n draggable?: DraggableFn | boolean | DraggableConfig;\n defaultExpandParent?: boolean;\n autoExpandParent?: boolean;\n defaultExpandAll?: boolean;\n defaultExpandedKeys?: Key[];\n expandedKeys?: Key[];\n defaultCheckedKeys?: Key[];\n checkedKeys?: Key[] | { checked: Key[]; halfChecked: Key[] };\n defaultSelectedKeys?: Key[];\n selectedKeys?: Key[];\n allowDrop?: AllowDrop<TreeDataType>;\n titleRender?: (node: TreeDataType) => React.ReactNode;\n dropIndicatorRender?: (props: {\n dropPosition: -1 | 0 | 1;\n dropLevelOffset: number;\n indent: number;\n prefixCls: string;\n direction: Direction;\n }) => React.ReactNode;\n onFocus?: React.FocusEventHandler<HTMLDivElement>;\n onBlur?: React.FocusEventHandler<HTMLDivElement>;\n onKeyDown?: React.KeyboardEventHandler<HTMLDivElement>;\n onContextMenu?: React.MouseEventHandler<HTMLDivElement>;\n onClick?: NodeMouseEventHandler<TreeDataType>;\n onDoubleClick?: NodeMouseEventHandler<TreeDataType>;\n onScroll?: React.UIEventHandler<HTMLElement>;\n onExpand?: (\n expandedKeys: Key[],\n info: {\n node: EventDataNode<TreeDataType>;\n expanded: boolean;\n nativeEvent: MouseEvent;\n },\n ) => void;\n onCheck?: (\n checked: { checked: Key[]; halfChecked: Key[] } | Key[],\n info: CheckInfo<TreeDataType>,\n ) => void;\n onSelect?: (\n selectedKeys: Key[],\n info: {\n event: 'select';\n selected: boolean;\n node: EventDataNode<TreeDataType>;\n selectedNodes: TreeDataType[];\n nativeEvent: MouseEvent;\n },\n ) => void;\n onLoad?: (\n loadedKeys: Key[],\n info: {\n event: 'load';\n node: EventDataNode<TreeDataType>;\n },\n ) => void;\n loadData?: (treeNode: EventDataNode<TreeDataType>) => Promise<any>;\n loadedKeys?: Key[];\n onMouseEnter?: (info: NodeMouseEventParams<TreeDataType>) => void;\n onMouseLeave?: (info: NodeMouseEventParams<TreeDataType>) => void;\n onRightClick?: (info: { event: React.MouseEvent; node: EventDataNode<TreeDataType> }) => void;\n onDragStart?: (info: NodeDragEventParams<TreeDataType>) => void;\n onDragEnter?: (info: NodeDragEventParams<TreeDataType> & { expandedKeys: Key[] }) => void;\n onDragOver?: (info: NodeDragEventParams<TreeDataType>) => void;\n onDragLeave?: (info: NodeDragEventParams<TreeDataType>) => void;\n onDragEnd?: (info: NodeDragEventParams<TreeDataType>) => void;\n onDrop?: (\n info: NodeDragEventParams<TreeDataType> & {\n dragNode: EventDataNode<TreeDataType>;\n dragNodesKeys: Key[];\n dropPosition: number;\n dropToGap: boolean;\n },\n ) => void;\n /**\n * Used for `rc-tree-select` only.\n * Do not use in your production code directly since this will be refactor.\n */\n onActiveChange?: (key: Key) => void;\n filterTreeNode?: (treeNode: EventDataNode<TreeDataType>) => boolean;\n motion?: any;\n switcherIcon?: IconType;\n\n // Virtual List\n height?: number;\n itemHeight?: number;\n scrollWidth?: number;\n onVirtualScroll?: (info: any) => any;\n itemScrollOffset?: number;\n virtual?: boolean;\n\n // direction for drag logic\n direction?: Direction;\n\n rootClassName?: string;\n rootStyle?: React.CSSProperties;\n}\n\ninterface TreeState<TreeDataType extends BasicDataNode = DataNode> {\n keyEntities: KeyEntities<TreeDataType>;\n\n indent: number | null;\n\n selectedKeys: Key[];\n checkedKeys: Key[];\n halfCheckedKeys: Key[];\n loadedKeys: Key[];\n loadingKeys: Key[];\n expandedKeys: Key[];\n\n draggingNodeKey: Key;\n dragChildrenKeys: Key[];\n\n // for details see comment in Tree.state\n dropPosition: -1 | 0 | 1 | null;\n dropLevelOffset: number | null;\n dropContainerKey: Key | null;\n dropTargetKey: Key | null;\n dropTargetPos: string | null;\n dropAllowed: boolean;\n dragOverNodeKey: Key | null;\n\n treeData: TreeDataType[];\n flattenNodes: FlattenNode<TreeDataType>[];\n\n focused: boolean;\n activeKey: Key | null;\n\n // Record if list is changing\n listChanging: boolean;\n\n prevProps: TreeProps;\n\n fieldNames: FieldNames;\n}\n\nclass Tree<TreeDataType extends DataNode | BasicDataNode = DataNode> extends React.Component<\n TreeProps<TreeDataType>,\n TreeState<TreeDataType>\n> {\n static 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: () => true,\n expandAction: false,\n };\n\n static TreeNode = TreeNode;\n\n destroyed: boolean = false;\n\n delayedDragEnterLogic: Record<SafeKey, number>;\n\n loadingRetryTimes: Record<SafeKey, number> = {};\n\n state: TreeState<TreeDataType> = {\n keyEntities: {},\n\n indent: null,\n\n selectedKeys: [],\n checkedKeys: [],\n halfCheckedKeys: [],\n loadedKeys: [],\n loadingKeys: [],\n expandedKeys: [],\n\n draggingNodeKey: null,\n dragChildrenKeys: [],\n\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, // the drop position of abstract-drop-node, inside 0, top -1, bottom 1\n dropContainerKey: null, // the container key of abstract-drop-node if dropPosition is -1 or 1\n dropLevelOffset: null, // the drop level offset of abstract-drag-over-node\n dropTargetPos: null, // the pos of abstract-drop-node\n dropAllowed: true, // 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\n treeData: [],\n flattenNodes: [],\n\n focused: false,\n activeKey: null,\n\n listChanging: false,\n\n prevProps: null,\n\n fieldNames: fillFieldNames(),\n };\n\n dragStartMousePosition = null;\n\n dragNode: NodeInstance<TreeDataType>;\n\n currentMouseOverDroppableNodeKey = null;\n\n listRef = React.createRef<NodeListRef>();\n\n componentDidMount(): void {\n this.destroyed = false;\n this.onUpdated();\n }\n\n componentDidUpdate(): void {\n this.onUpdated();\n }\n\n onUpdated() {\n const { activeKey, itemScrollOffset = 0 } = this.props;\n\n if (activeKey !== undefined && activeKey !== this.state.activeKey) {\n this.setState({ activeKey });\n\n if (activeKey !== null) {\n this.scrollTo({ key: activeKey, offset: itemScrollOffset });\n }\n }\n }\n\n componentWillUnmount() {\n window.removeEventListener('dragend', this.onWindowDragEnd);\n this.destroyed = true;\n }\n\n static getDerivedStateFromProps(props: TreeProps, prevState: TreeState) {\n const { prevProps } = prevState;\n const newState: Partial<TreeState> = {\n prevProps: props,\n };\n\n function needSync(name: string) {\n return (!prevProps && name in props) || (prevProps && prevProps[name] !== props[name]);\n }\n\n // ================== Tree Node ==================\n let treeData: DataNode[];\n\n // fieldNames\n let { fieldNames } = prevState;\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);\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 const entitiesMap = convertDataToEntities(treeData, { fieldNames });\n newState.keyEntities = {\n [MOTION_KEY]: MotionEntity,\n ...entitiesMap.keyEntities,\n };\n\n // Warning if treeNode not provide key\n if (process.env.NODE_ENV !== 'production') {\n warningWithoutKey(treeData, fieldNames);\n }\n }\n\n const keyEntities = newState.keyEntities || prevState.keyEntities;\n\n // ================ expandedKeys =================\n if (needSync('expandedKeys') || (prevProps && needSync('autoExpandParent'))) {\n newState.expandedKeys =\n props.autoExpandParent || (!prevProps && props.defaultExpandParent)\n ? conductExpandParent(props.expandedKeys, keyEntities)\n : props.expandedKeys;\n } else if (!prevProps && props.defaultExpandAll) {\n const cloneKeyEntities = { ...keyEntities };\n delete cloneKeyEntities[MOTION_KEY];\n newState.expandedKeys = Object.keys(cloneKeyEntities).map((key) => cloneKeyEntities[key].key);\n } else if (!prevProps && props.defaultExpandedKeys) {\n newState.expandedKeys =\n props.autoExpandParent || props.defaultExpandParent\n ? conductExpandParent(props.defaultExpandedKeys, keyEntities)\n : props.defaultExpandedKeys;\n }\n\n if (!newState.expandedKeys) {\n delete newState.expandedKeys;\n }\n\n // ================ flattenNodes =================\n if (treeData || newState.expandedKeys) {\n const flattenNodes: FlattenNode[] = flattenTreeData(\n treeData || prevState.treeData,\n newState.expandedKeys || prevState.expandedKeys,\n fieldNames,\n );\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 let checkedKeyEntity;\n\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\n if (checkedKeyEntity) {\n let { checkedKeys = [], halfCheckedKeys = [] } = checkedKeyEntity;\n\n if (!props.checkStrictly) {\n const conductKeys = conductCheck(checkedKeys, true, keyEntities);\n ({ checkedKeys, halfCheckedKeys } = conductKeys);\n }\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\n return newState;\n }\n\n onNodeDragStart: NodeDragEventHandler<TreeDataType, HTMLDivElement> = (event, node) => {\n const { expandedKeys, keyEntities } = this.state;\n const { onDragStart } = this.props;\n const { eventKey } = node.props;\n\n this.dragNode = node;\n this.dragStartMousePosition = {\n x: event.clientX,\n y: event.clientY,\n };\n\n const newExpandedKeys = arrDel(expandedKeys, eventKey);\n\n this.setState({\n draggingNodeKey: eventKey,\n dragChildrenKeys: getDragChildrenKeys(eventKey, keyEntities),\n indent: this.listRef.current.getIndentWidth(),\n });\n\n this.setExpandedKeys(newExpandedKeys);\n\n window.addEventListener('dragend', this.onWindowDragEnd);\n\n onDragStart?.({ event, node: convertNodePropsToEventData<TreeDataType>(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 onNodeDragEnter = (event: React.DragEvent<HTMLDivElement>, node: NodeInstance<TreeDataType>) => {\n const { expandedKeys, keyEntities, dragChildrenKeys, flattenNodes, indent } = this.state;\n const { onDragEnter, onExpand, allowDrop, direction } = this.props;\n const { pos, eventKey } = node.props;\n const { dragNode } = this;\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\n if (!dragNode) {\n this.resetDragState();\n return;\n }\n\n const {\n dropPosition,\n dropLevelOffset,\n dropTargetKey,\n dropContainerKey,\n dropTargetPos,\n dropAllowed,\n dragOverNodeKey,\n } = calcDropPosition<TreeDataType>(\n event,\n dragNode,\n node,\n indent,\n this.dragStartMousePosition,\n allowDrop,\n flattenNodes,\n keyEntities,\n expandedKeys,\n direction,\n );\n\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 ) {\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((key) => {\n clearTimeout(this.delayedDragEnterLogic[key]);\n });\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(() => {\n if (this.state.draggingNodeKey === null) return;\n\n let newExpandedKeys = [...expandedKeys];\n const entity = getEntity(keyEntities, node.props.eventKey);\n\n if (entity && (entity.children || []).length) {\n newExpandedKeys = arrAdd(expandedKeys, node.props.eventKey);\n }\n\n if (!('expandedKeys' in this.props)) {\n this.setExpandedKeys(newExpandedKeys);\n }\n\n 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,\n dropPosition,\n dropLevelOffset,\n dropTargetKey,\n dropContainerKey,\n dropTargetPos,\n dropAllowed,\n });\n\n onDragEnter?.({\n event,\n node: convertNodePropsToEventData(node.props),\n expandedKeys,\n });\n };\n\n onNodeDragOver = (event: React.DragEvent<HTMLDivElement>, node: NodeInstance<TreeDataType>) => {\n const { dragChildrenKeys, flattenNodes, keyEntities, expandedKeys, indent } = this.state;\n const { onDragOver, allowDrop, direction } = this.props;\n const { dragNode } = this;\n\n if (!dragNode) {\n return;\n }\n\n const {\n dropPosition,\n dropLevelOffset,\n dropTargetKey,\n dropContainerKey,\n dropAllowed,\n dropTargetPos,\n dragOverNodeKey,\n } = calcDropPosition(\n event,\n dragNode,\n node,\n indent,\n this.dragStartMousePosition,\n allowDrop,\n flattenNodes,\n keyEntities,\n expandedKeys,\n direction,\n );\n\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 (\n !(\n this.state.dropPosition === null &&\n this.state.dropLevelOffset === null &&\n this.state.dropTargetKey === null &&\n this.state.dropContainerKey === null &&\n this.state.dropTargetPos === null &&\n this.state.dropAllowed === false &&\n this.state.dragOverNodeKey === null\n )\n ) {\n this.resetDragState();\n }\n } else if (\n !(\n dropPosition === this.state.dropPosition &&\n dropLevelOffset === this.state.dropLevelOffset &&\n dropTargetKey === this.state.dropTargetKey &&\n dropContainerKey === this.state.dropContainerKey &&\n dropTargetPos === this.state.dropTargetPos &&\n dropAllowed === this.state.dropAllowed &&\n dragOverNodeKey === this.state.dragOverNodeKey\n )\n ) {\n this.setState({\n dropPosition,\n dropLevelOffset,\n dropTargetKey,\n dropContainerKey,\n dropTargetPos,\n dropAllowed,\n dragOverNodeKey,\n });\n }\n\n onDragOver?.({ event, node: convertNodePropsToEventData(node.props) });\n };\n\n onNodeDragLeave: NodeDragEventHandler<TreeDataType> = (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 (\n this.currentMouseOverDroppableNodeKey === node.props.eventKey &&\n !event.currentTarget.contains(event.relatedTarget as Node)\n ) {\n this.resetDragState();\n this.currentMouseOverDroppableNodeKey = null;\n }\n\n const { onDragLeave } = this.props;\n\n onDragLeave?.({ event, node: convertNodePropsToEventData<TreeDataType>(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 onWindowDragEnd = (event) => {\n this.onNodeDragEnd(event, null, true);\n window.removeEventListener('dragend', this.onWindowDragEnd);\n };\n\n // if onNodeDragEnd is called, onWindowDragEnd won't be called since stopPropagation() is called\n onNodeDragEnd: NodeDragEventHandler<TreeDataType> = (event, node) => {\n const { onDragEnd } = this.props;\n this.setState({\n dragOverNodeKey: null,\n });\n\n this.cleanDragState();\n\n onDragEnd?.({ event, node: convertNodePropsToEventData<TreeDataType>(node.props) });\n\n this.dragNode = null;\n\n window.removeEventListener('dragend', this.onWindowDragEnd);\n };\n\n onNodeDrop = (event: React.DragEvent<HTMLDivElement>, node, outsideTree: boolean = false) => {\n const { dragChildrenKeys, dropPosition, dropTargetKey, dropTargetPos, dropAllowed } =\n this.state;\n\n if (!dropAllowed) return;\n\n const { onDrop } = this.props;\n\n this.setState({\n dragOverNodeKey: null,\n });\n this.cleanDragState();\n\n if (dropTargetKey === null) return;\n\n const abstractDropNodeProps = {\n ...getTreeNodeProps(dropTargetKey, this.getTreeNodeRequiredProps()),\n active: this.getActiveItem()?.key === dropTargetKey,\n data: getEntity(this.state.keyEntities, dropTargetKey).node,\n };\n const dropToChild = dragChildrenKeys.indexOf(dropTargetKey) !== -1;\n\n warning(\n !dropToChild,\n \"Can not drop to dragNode's children node. This is a bug of rc-tree. Please report an issue.\",\n );\n\n const posArr = posToArr(dropTargetPos);\n\n const dropResult = {\n 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\n if (!outsideTree) {\n onDrop?.(dropResult);\n }\n\n this.dragNode = null;\n };\n\n 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 cleanDragState = () => {\n const { draggingNodeKey } = this.state;\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\n triggerExpandActionExpand: NodeMouseEventHandler = (e, treeNode) => {\n const { expandedKeys, flattenNodes } = this.state;\n const { expanded, key, isLeaf } = treeNode;\n\n if (isLeaf || e.shiftKey || e.metaKey || e.ctrlKey) {\n return;\n }\n\n const node = flattenNodes.filter((nodeItem) => nodeItem.key === key)[0];\n const eventNode = convertNodePropsToEventData<TreeDataType>({\n ...getTreeNodeProps(key, this.getTreeNodeRequiredProps()),\n data: node.data,\n });\n\n this.setExpandedKeys(expanded ? arrDel(expandedKeys, key) : arrAdd(expandedKeys, key));\n this.onNodeExpand(e as React.MouseEvent<HTMLDivElement>, eventNode);\n };\n\n onNodeClick: NodeMouseEventHandler<TreeDataType> = (e, treeNode) => {\n const { onClick, expandAction } = this.props;\n\n if (expandAction === 'click') {\n this.triggerExpandActionExpand(e, treeNode);\n }\n\n onClick?.(e, treeNode);\n };\n\n onNodeDoubleClick: NodeMouseEventHandler<TreeDataType> = (e, treeNode) => {\n const { onDoubleClick, expandAction } = this.props;\n\n if (expandAction === 'doubleClick') {\n this.triggerExpandActionExpand(e, treeNode);\n }\n\n onDoubleClick?.(e, treeNode);\n };\n\n onNodeSelect: NodeMouseEventHandler<TreeDataType> = (e, treeNode) => {\n let { selectedKeys } = this.state;\n const { keyEntities, fieldNames } = this.state;\n const { onSelect, multiple } = this.props;\n const { selected } = treeNode;\n const key = treeNode[fieldNames.key];\n const 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 const selectedNodes = selectedKeys\n .map((selectedKey) => {\n const entity = getEntity(keyEntities, selectedKey);\n if (!entity) return null;\n\n return entity.node;\n })\n .filter((node) => node);\n\n this.setUncontrolledState({ selectedKeys });\n\n onSelect?.(selectedKeys, {\n event: 'select',\n selected: targetSelected,\n node: treeNode,\n selectedNodes,\n nativeEvent: e.nativeEvent,\n });\n };\n\n onNodeCheck = (\n e: React.MouseEvent<HTMLSpanElement>,\n treeNode: EventDataNode<TreeDataType>,\n checked: boolean,\n ) => {\n const {\n keyEntities,\n checkedKeys: oriCheckedKeys,\n halfCheckedKeys: oriHalfCheckedKeys,\n } = this.state;\n const { checkStrictly, onCheck } = this.props;\n const { key } = treeNode;\n\n // Prepare trigger arguments\n let checkedObj;\n const eventObj: Partial<CheckInfo<TreeDataType>> = {\n event: 'check',\n node: treeNode,\n checked,\n nativeEvent: e.nativeEvent,\n };\n\n if (checkStrictly) {\n const checkedKeys = checked ? arrAdd(oriCheckedKeys, key) : arrDel(oriCheckedKeys, key);\n const halfCheckedKeys = arrDel(oriHalfCheckedKeys, key);\n checkedObj = { checked: checkedKeys, halfChecked: halfCheckedKeys };\n\n eventObj.checkedNodes = checkedKeys\n .map((checkedKey) => getEntity(keyEntities, checkedKey))\n .filter((entity) => entity)\n .map((entity) => entity.node);\n\n this.setUncontrolledState({ checkedKeys });\n } else {\n // Always fill first\n let { checkedKeys, halfCheckedKeys } = conductCheck(\n [...oriCheckedKeys, key],\n true,\n keyEntities,\n );\n\n // If remove, we do it again to correction\n if (!checked) {\n const keySet = new Set(checkedKeys);\n keySet.delete(key);\n ({ checkedKeys, halfCheckedKeys } = conductCheck(\n Array.from(keySet),\n { checked: false, halfCheckedKeys },\n keyEntities,\n ));\n }\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\n checkedKeys.forEach((checkedKey) => {\n const entity = getEntity(keyEntities, checkedKey);\n if (!entity) return;\n\n const { node, pos } = entity;\n\n eventObj.checkedNodes.push(node);\n eventObj.checkedNodesPositions.push({ node, pos });\n });\n\n this.setUncontrolledState(\n {\n checkedKeys,\n },\n false,\n {\n halfCheckedKeys,\n },\n );\n }\n\n onCheck?.(checkedObj, eventObj as CheckInfo<TreeDataType>);\n };\n\n onNodeLoad = (treeNode: EventDataNode<TreeDataType>) => {\n const { key } = treeNode;\n\n const loadPromise = new Promise<void>((resolve, reject) => {\n // We need to get the latest state of loading/loaded keys\n this.setState(({ loadedKeys = [], loadingKeys = [] }): any => {\n const { loadData, onLoad } = this.props;\n\n if (!loadData || loadedKeys.indexOf(key) !== -1 || loadingKeys.indexOf(key) !== -1) {\n return null;\n }\n\n // Process load data\n const promise = loadData(treeNode);\n promise\n .then(() => {\n const { loadedKeys: currentLoadedKeys } = this.state;\n const 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?.(newLoadedKeys, {\n event: 'load',\n node: treeNode,\n });\n\n this.setUncontrolledState({\n loadedKeys: newLoadedKeys,\n });\n this.setState((prevState) => ({\n loadingKeys: arrDel(prevState.loadingKeys, key),\n }));\n\n resolve();\n })\n .catch((e) => {\n this.setState((prevState) => ({\n loadingKeys: arrDel(prevState.loadingKeys, key),\n }));\n\n // If exceed max retry times, we give up retry\n this.loadingRetryTimes[key as SafeKey] =\n (this.loadingRetryTimes[key as SafeKey] || 0) + 1;\n if (this.loadingRetryTimes[key as SafeKey] >= MAX_RETRY_TIMES) {\n const { loadedKeys: currentLoadedKeys } = this.state;\n\n warning(false, 'Retry for `loadData` many times but still failed. No more retry.');\n\n this.setUncontrolledState({\n loadedKeys: arrAdd(currentLoadedKeys, key),\n });\n resolve();\n }\n\n reject(e);\n });\n\n return {\n loadingKeys: arrAdd(loadingKeys, key),\n };\n });\n });\n\n // Not care warning if we ignore this\n loadPromise.catch(() => {});\n\n return loadPromise;\n };\n\n onNodeMouseEnter: NodeMouseEventHandler<TreeDataType> = (event, node) => {\n const { onMouseEnter } = this.props;\n\n onMouseEnter?.({ event, node });\n };\n\n onNodeMouseLeave: NodeMouseEventHandler<TreeDataType> = (event, node) => {\n const { onMouseLeave } = this.props;\n\n onMouseLeave?.({ event, node });\n };\n\n onNodeContextMenu: NodeMouseEventHandler<TreeDataType> = (event, node) => {\n const { onRightClick } = this.props;\n if (onRightClick) {\n event.preventDefault();\n onRightClick({ event, node });\n }\n };\n\n onFocus: React.FocusEventHandler<HTMLDivElement> = (...args) => {\n const { onFocus } = this.props;\n this.setState({ focused: true });\n\n onFocus?.(...args);\n };\n\n onBlur: React.FocusEventHandler<HTMLDivElement> = (...args) => {\n const { onBlur } = this.props;\n this.setState({ focused: false });\n this.onActiveChange(null);\n\n onBlur?.(...args);\n };\n\n getTreeNodeRequiredProps = () => {\n const {\n expandedKeys,\n selectedKeys,\n loadedKeys,\n loadingKeys,\n checkedKeys,\n halfCheckedKeys,\n dragOverNodeKey,\n dropPosition,\n keyEntities,\n } = this.state;\n return {\n expandedKeys: expandedKeys || [],\n selectedKeys: selectedKeys || [],\n loadedKeys: loadedKeys || [],\n loadingKeys: loadingKeys || [],\n checkedKeys: checkedKeys || [],\n halfCheckedKeys: halfCheckedKeys || [],\n dragOverNodeKey,\n dropPosition,\n keyEntities: keyEntities,\n };\n };\n\n // =========================== Expanded ===========================\n /** Set uncontrolled `expandedKeys`. This will also auto update `flattenNodes`. */\n setExpandedKeys = (expandedKeys: Key[]) => {\n const { treeData, fieldNames } = this.state;\n\n const flattenNodes: FlattenNode<TreeDataType>[] = flattenTreeData<TreeDataType>(\n treeData,\n expandedKeys,\n fieldNames,\n );\n this.setUncontrolledState(\n {\n expandedKeys,\n flattenNodes,\n },\n true,\n );\n };\n\n onNodeExpand = (e: React.MouseEvent<HTMLDivElement>, treeNode: EventDataNode<TreeDataType>) => {\n let { expandedKeys } = this.state;\n const { listChanging, fieldNames } = this.state;\n const { onExpand, loadData } = this.props;\n const { expanded } = treeNode;\n const 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 const index = expandedKeys.indexOf(key);\n const targetExpanded = !expanded;\n\n warning(\n (expanded && index !== -1) || (!expanded && index === -1),\n 'Expand state not sync with index check',\n );\n\n if (targetExpanded) {\n expandedKeys = arrAdd(expandedKeys, key);\n } else {\n expandedKeys = arrDel(expandedKeys, key);\n }\n\n this.setExpandedKeys(expandedKeys);\n\n onExpand?.(expandedKeys, {\n node: treeNode,\n expanded: targetExpanded,\n nativeEvent: e.nativeEvent,\n });\n\n // Async Load data\n if (targetExpanded && loadData) {\n const loadPromise = this.onNodeLoad(treeNode);\n if (loadPromise) {\n loadPromise\n .then(() => {\n // [Legacy] Refresh logic\n const newFlattenTreeData = flattenTreeData<TreeDataType>(\n this.state.treeData,\n expandedKeys,\n fieldNames,\n );\n this.setUncontrolledState({ flattenNodes: newFlattenTreeData });\n })\n .catch(() => {\n const { expandedKeys: currentExpandedKeys } = this.state;\n const expandedKeysToRestore = arrDel(currentExpandedKeys, key);\n this.setExpandedKeys(expandedKeysToRestore);\n });\n }\n }\n };\n\n onListChangeStart = () => {\n this.setUncontrolledState({\n listChanging: true,\n });\n };\n\n onListChangeEnd = () => {\n setTimeout(() => {\n this.setUncontrolledState({\n listChanging: false,\n });\n });\n };\n\n // =========================== Keyboard ===========================\n onActiveChange = (newActiveKey: Key | null) => {\n const { activeKey } = this.state;\n const { onActiveChange, itemScrollOffset = 0 } = this.props;\n\n if (activeKey === newActiveKey) {\n return;\n }\n\n this.setState({ activeKey: newActiveKey });\n if (newActiveKey !== null) {\n this.scrollTo({ key: newActiveKey, offset: itemScrollOffset });\n }\n\n onActiveChange?.(newActiveKey);\n };\n\n getActiveItem = () => {\n const { activeKey, flattenNodes } = this.state;\n if (activeKey === null) {\n return null;\n }\n\n return flattenNodes.find(({ key }) => key === activeKey) || null;\n };\n\n offsetActiveKey = (offset: number) => {\n const { flattenNodes, activeKey } = this.state;\n\n let index = flattenNodes.findIndex(({ key }) => key === activeKey);\n\n // Align with index\n if (index === -1 && offset < 0) {\n index = flattenNodes.length;\n }\n\n index = (index + offset + flattenNodes.length) % flattenNodes.length;\n\n const item = flattenNodes[index];\n if (item) {\n const { key } = item;\n this.onActiveChange(key);\n } else {\n this.onActiveChange(null);\n }\n };\n\n onKeyDown: React.KeyboardEventHandler<HTMLDivElement> = (event) => {\n const { activeKey, expandedKeys, checkedKeys, fieldNames } = this.state;\n const { onKeyDown, checkable, selectable } = this.props;\n\n // >>>>>>>>>> Direction\n switch (event.which) {\n case KeyCode.UP: {\n this.offsetActiveKey(-1);\n event.preventDefault();\n break;\n }\n case KeyCode.DOWN: {\n this.offsetActiveKey(1);\n event.preventDefault();\n break;\n }\n }\n\n // >>>>>>>>>> Expand & Selection\n const activeItem = this.getActiveItem();\n if (activeItem && activeItem.data) {\n const treeNodeRequiredProps = this.getTreeNodeRequiredProps();\n\n const expandable =\n activeItem.data.isLeaf === false || !!(activeItem.data[fieldNames.children] || []).length;\n const eventNode = convertNodePropsToEventData<TreeDataType>({\n ...getTreeNodeProps(activeKey, treeNodeRequiredProps),\n data: activeItem.data,\n active: true,\n });\n\n switch (event.which) {\n // >>> Expand\n case KeyCode.LEFT: {\n // Collapse if possible\n if (expandable && expandedKeys.includes(activeKey)) {\n this.onNodeExpand({} as React.MouseEvent<HTMLDivElement>, eventNode);\n } else if (activeItem.parent) {\n this.onActiveChange(activeItem.parent.key);\n }\n event.preventDefault();\n break;\n }\n case KeyCode.RIGHT: {\n // Expand if possible\n if (expandable && !expandedKeys.includes(activeKey)) {\n this.onNodeExpand({} as React.MouseEvent<HTMLDivElement>, 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 if (\n checkable &&\n !eventNode.disabled &&\n eventNode.checkable !== false &&\n !eventNode.disableCheckbox\n ) {\n this.onNodeCheck(\n {} as React.MouseEvent<HTMLDivElement>,\n eventNode,\n !checkedKeys.includes(activeKey),\n );\n } else if (\n !checkable &&\n selectable &&\n !eventNode.disabled &&\n eventNode.selectable !== false\n ) {\n this.onNodeSelect({} as React.MouseEvent<HTMLDivElement>, eventNode);\n }\n break;\n }\n }\n }\n\n onKeyDown?.(event);\n };\n\n /**\n * Only update the value which is not in props\n */\n setUncontrolledState = (\n state: Partial<TreeState<TreeDataType>>,\n atomic: boolean = false,\n forceState: Partial<TreeState<TreeDataType>> | null = null,\n ) => {\n if (!this.destroyed) {\n let needSync = false;\n let allPassed = true;\n const newState = {};\n\n Object.keys(state).forEach((name) => {\n if (name in this.props) {\n allPassed = false;\n return;\n }\n\n needSync = true;\n newState[name] = state[name];\n });\n\n if (needSync && (!atomic || allPassed)) {\n this.setState({\n ...newState,\n ...forceState,\n } as TreeState<TreeDataType>);\n }\n }\n };\n\n scrollTo: ScrollTo = (scroll) => {\n this.listRef.current.scrollTo(scroll);\n };\n\n render() {\n const {\n focused,\n flattenNodes,\n keyEntities,\n draggingNodeKey,\n activeKey,\n dropLevelOffset,\n dropContainerKey,\n dropTargetKey,\n dropPosition,\n dragOverNodeKey,\n indent,\n } = this.state;\n const {\n prefixCls,\n className,\n style,\n showLine,\n focusable,\n tabIndex = 0,\n selectable,\n showIcon,\n icon,\n indentWidth,\n switcherIcon,\n draggable,\n checkable,\n checkStrictly,\n disabled,\n motion,\n loadData,\n filterTreeNode,\n height,\n itemHeight,\n virtual,\n titleRender,\n dropIndicatorRender,\n onContextMenu,\n onScroll,\n onVirtualScroll,\n direction,\n rootClassName,\n rootStyle,\n scrollWidth,\n } = this.props;\n\n const domProps: React.HTMLAttributes<HTMLDivElement> = 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 let draggableConfig: 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\n return (\n <TreeContext.Provider\n value={{\n prefixCls,\n selectable,\n showIcon,\n icon,\n switcherIcon,\n draggable: draggableConfig,\n draggingNodeKey,\n checkable,\n checkStrictly,\n disabled,\n keyEntities,\n dropLevelOffset,\n dropContainerKey,\n dropTargetKey,\n dropPosition,\n dragOverNodeKey,\n indent,\n indentWidth,\n direction,\n dropIndicatorRender,\n\n loadData,\n filterTreeNode,\n\n 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 >\n <div\n role='tree'\n className={classNames(prefixCls, className, rootClassName, {\n [`${prefixCls}-show-line`]: showLine,\n [`${prefixCls}-focused`]: focused,\n [`${prefixCls}-active-focused`]: activeKey !== null,\n })}\n style={rootStyle}\n >\n <NodeList\n ref={this.listRef}\n prefixCls={prefixCls}\n style={style}\n data={flattenNodes}\n disabled={disabled}\n selectable={selectable}\n checkable={!!checkable}\n indentWidth={indentWidth}\n scrollWidth={scrollWidth}\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 onVirtualScroll={onVirtualScroll}\n {...this.getTreeNodeRequiredProps()}\n {...domProps}\n />\n </div>\n </TreeContext.Provider>\n );\n }\n}\n\nexport default Tree;\n","import { Icons } from '@gingkoo/pandora-ui';\n\nconst iconFactory: {\n [propName: string]: React.ComponentType<{}>;\n} = {};\n\nexport function getMenu(key: string) {\n return iconFactory[key];\n}\n\nexport function registerMenu(key: string, component: any) {\n iconFactory[key] = component;\n}\n\n//\nregisterMenu('basis', [\n {\n key: 'open',\n icon: 'open',\n title: '打开',\n },\n { type: 'line' },\n {\n key: 'fav-add',\n icon: <Icons icon='star' type='Outlined' />,\n title: '添加到收藏文件夹',\n },\n {\n key: 'create-link-home',\n icon: 'app-link',\n title: '发送到桌面快捷方式',\n },\n]);\n//收藏夹\nregisterMenu('favorite', [\n {\n key: 'open',\n icon: 'open',\n title: '打开',\n },\n { type: 'line' },\n {\n key: 'fav-add',\n icon: <Icons icon='star' type='Outlined' />,\n title: '添加到收藏文件夹',\n suffix: '',\n },\n {\n key: 'create-link-home',\n icon: 'app-link',\n title: '发送到桌面快捷方式',\n },\n]);\n//个人中心\nregisterMenu('self', [\n {\n key: 'open',\n icon: 'open',\n title: '打开',\n },\n {\n type: 'line',\n },\n {\n key: 'info',\n icon: <Icons icon='info' type='Outlined' />,\n title: '属性',\n },\n]);\n//文件夹\nregisterMenu('folder', [\n {\n key: 'open',\n icon: 'open',\n title: '打开',\n suffix: '',\n },\n { type: 'line' },\n {\n key: 'download',\n icon: 'download',\n title: '下载',\n },\n {\n key: 'share-link-file',\n icon: <Icons icon='share-from-square' type='Outlined' />,\n title: '外链接分享',\n },\n { type: 'line' },\n {\n key: 'copy',\n icon: 'copy',\n title: '复制',\n },\n {\n key: 'shear',\n icon: 'shear',\n title: '剪切',\n },\n {\n key: 'rename',\n icon: 'rename',\n title: '重命名',\n },\n {\n key: 'remove',\n icon: 'remove',\n title: '删除',\n },\n { type: 'line' },\n {\n key: 'info',\n icon: <Icons icon='info' type='Outlined' />,\n title: '属性',\n },\n]);\n//文件\nregisterMenu('file', [\n {\n key: 'open',\n icon: 'open',\n title: '打开',\n suffix: '',\n },\n { type: 'line' },\n {\n key: 'download',\n icon: 'download',\n title: '下载',\n },\n {\n key: 'share-link-file',\n icon: <Icons icon='share-from-square' type='Outlined' />,\n title: '外链接分享',\n },\n { type: 'line' },\n {\n key: 'copy',\n icon: 'copy',\n title: '复制',\n },\n {\n key: 'shear',\n icon: 'shear',\n title: '剪切',\n },\n {\n key: 'rename',\n icon: 'rename',\n title: '重命名',\n },\n {\n key: 'remove',\n icon: 'remove',\n title: '删除',\n },\n { type: 'line' },\n {\n key: 'user-file-tag',\n icon: <Icons icon='bookmark' type='Outlined' />,\n title: '个人标签',\n },\n { type: 'line' },\n {\n key: 'info',\n icon: <Icons icon='info' type='Outlined' />,\n title: '属性',\n },\n]);\n","import './index.less';\nimport React, { useMemo } from 'react';\n\nimport { Icons } from '@gingkoo/pandora-ui';\nimport Dropdown from '../Dropdown';\n\ninterface MenuProps {\n menu?: MenuItem[];\n onChange?: (key: string) => any;\n}\nexport interface MenuItem {\n key: string;\n title: string;\n type?: string;\n icon?: any;\n children: MenuItem | null;\n [key: string]: any;\n}\n\nexport default function Menu(props: MenuProps) {\n const { menu, onChange } = props;\n if (!menu) return <></>;\n\n let data = useMemo(() => {\n return menu;\n }, [menu]);\n\n const menus = useMemo(() => {\n return data.map((v: any, index: number) => {\n if (v?.type == 'line') {\n return <div key={index} className='explorer-menu-line'></div>;\n }\n let child: any | null = null;\n if (Array.isArray(v?.children) && v?.children.length) {\n child = v?.children;\n }\n\n let dom = (\n <div\n className='explorer-menu-item'\n key={index}\n onClick={() => {\n onChange && onChange(v.key);\n }}\n >\n <span className='item-icon'>{renderIcon(v?.icon)} </span>\n <span className='item-title'>{v?.title}</span>\n {v?.desc && <span className='item-tool'>{v?.desc}</span>}\n {child && (\n <span className='item-tool'>\n <span className='explorer-menu-icon x-icon'>\n <Icons icon='angle-right' type='Outlined' />\n </span>\n </span>\n )}\n </div>\n );\n\n if (!child) {\n return dom;\n }\n\n return (\n <Dropdown\n key={index}\n trigger='hover'\n placement='right'\n position={{ x: -20 }}\n dropdownRender={({ onClone }: any) => {\n return (\n <Menu\n menu={child}\n onChange={(v) => {\n onClone();\n onChange && onChange(v);\n }}\n ></Menu>\n );\n }}\n >\n {dom}\n </Dropdown>\n );\n });\n }, [data]);\n\n function renderIcon(icon: any) {\n if (typeof icon == 'string') {\n if (/\\.(jpg|jpeg|png|gif|bmp)$/.test(icon)) {\n return;\n }\n return <span className={`explorer-menu-icon x-${icon}`} />;\n }\n\n if (React.isValidElement(icon)) {\n return <span className='explorer-menu-icon x-icon'>{icon}</span>;\n }\n return <></>;\n }\n\n return <div className='explorer-menu'>{menus}</div>;\n}\n","import cx from 'classnames';\n\nimport { getMenu } from '../menu/menulist';\n\nimport { Icons } from '@gingkoo/pandora-ui';\nimport Dropdown from '../Dropdown';\nimport Menu from '../menu';\n\nexport default function TableItem(props: any) {\n const { columns, width, id, active, ischeck, onCheck, onMenuClick, rename, onRename, ...param } =\n props;\n\n return (\n <Dropdown\n trigger='contextMenu'\n style={{ height: '100%' }}\n dropdownRender={({ onClone }: any) => {\n if (!props.isOpenMenu) return;\n let menudata: any = [];\n if (getMenu(props.id)) {\n menudata = getMenu(props.id);\n } else if (props.type && getMenu(props.type)) {\n menudata = getMenu(props.type);\n } else {\n menudata = getMenu('');\n }\n return (\n <Menu\n menu={menudata}\n onChange={async (v: any) => {\n onClone && onClone();\n onMenuClick && onMenuClick(v);\n }}\n ></Menu>\n );\n }}\n >\n <div className={cx('explorer-tree-row')} data-id={id}>\n {columns.map((v: any, i: number) => {\n let x = width[i] - (i ? 0 : 58 + 8) + (i ? 10 : 0);\n if (i == 0 && typeof param.level === 'number') {\n x = x - param.level * 16;\n }\n\n if (typeof v?.render === 'function') {\n return (\n <div\n className={cx('row-item')}\n key={i}\n style={\n width[i]\n ? {\n flex: `0 0 ${x}px`,\n width: x + 'px',\n }\n : {}\n }\n >\n <div className='row-item-content'> {v.render?.(param, v.key)}</div>\n {!i && (\n <div>\n <div\n className={cx('row-item-check', {\n active: active,\n })}\n onMouseDown={(e) => {\n e.stopPropagation();\n }}\n onClick={(e) => {\n e.stopPropagation();\n e.preventDefault();\n onCheck?.();\n }}\n >\n <span className='btn-check'>\n <Icons icon='circle-check' type='Outlined' />\n </span>\n </div>\n </div>\n )}\n </div>\n );\n }\n\n if (rename && v.key == 'title') {\n return (\n <div\n className={cx('row-item')}\n key={i}\n style={\n width[i]\n ? {\n flex: `0 0 ${x}px`,\n width: x + 'px',\n }\n : {}\n }\n >\n <div className='row-item-content'>\n <input\n className='node-input'\n autoFocus\n defaultValue={param[v?.key]}\n placeholder='请输入'\n onBlur={(e) => {\n onRename?.(e.target.value);\n }}\n ></input>\n </div>\n </div>\n );\n }\n\n return (\n <div\n className={cx('row-item')}\n key={i}\n style={\n width[i]\n ? {\n flex: `0 0 ${x}px`,\n width: x + 'px',\n }\n : {}\n }\n >\n <div className='row-item-content'>{param[v?.key] || ''}</div>\n {!i && (\n <div\n className={cx('row-item-check', {\n active: active,\n })}\n onMouseDown={(e) => {\n e.stopPropagation();\n }}\n onClick={(e) => {\n e.stopPropagation();\n e.preventDefault();\n onCheck?.();\n }}\n >\n <span className='btn-check'>\n <Icons icon='circle-check' type='Outlined' />\n </span>\n </div>\n )}\n </div>\n );\n })}\n </div>\n </Dropdown>\n );\n}\n","import { useState } from 'react';\n\nimport { TreeItem } from '.';\nimport { getMenu } from '../menu/menulist';\n\nimport { Icons } from '@gingkoo/pandora-ui';\nimport Menu from '../menu';\nimport Dropdown from '../Dropdown';\n\nexport default (props: TreeItem) => {\n const { onSelect, onRename, onMenuClick } = props;\n\n const [title, setTitle] = useState(props.title);\n\n let menudata: any = [];\n\n if (getMenu(props.id)) {\n menudata = getMenu(props.id);\n } else if (props.type && getMenu(props.type)) {\n menudata = getMenu(props.type);\n } else {\n menudata = getMenu('');\n }\n\n return (\n <Dropdown\n trigger='contextMenu'\n style={{ height: '100%' }}\n dropdownRender={({ onClone }: any) => {\n return (\n <Menu\n menu={menudata}\n onChange={async (v: any) => {\n onClone && onClone();\n onMenuClick && onMenuClick(v);\n }}\n ></Menu>\n );\n }}\n >\n {props.rename ? (\n <div className='explorer-tree-node'>\n <input\n className='node-input'\n autoFocus\n value={title}\n placeholder='请输入'\n onChange={(v) => {\n setTitle?.(v.target.value);\n }}\n onBlur={() => {\n onRename?.(title);\n }}\n ></input>\n </div>\n ) : (\n <div\n className='explorer-tree-node'\n onClick={() => {\n onSelect?.();\n }}\n >\n <div className='node-title'>{title || ''}</div>\n <div className='node-menu'>\n <Dropdown\n trigger='click'\n placement='right'\n dropdownRender={({ onClone }: any) => {\n return (\n <Menu\n menu={menudata}\n onChange={(v: any) => {\n onClone && onClone();\n onMenuClick && onMenuClick(v);\n }}\n ></Menu>\n );\n }}\n >\n <div className='node-menu-icon'>\n <Icons icon='caret-down' type='Outlined' />\n </div>\n </Dropdown>\n </div>\n </div>\n )}\n </Dropdown>\n );\n};\n","import './index.less';\nimport cx from 'classnames';\n\nimport React, { ReactNode, useEffect, useLayoutEffect, useMemo, useRef, useState } from 'react';\nimport { cloneDeep } from 'lodash';\n\nimport { MenuItem } from '../menu';\n\nimport Tree from './components';\nimport { Provider } from 'rc-motion';\nimport { Icons } from '@gingkoo/pandora-ui';\nimport TableItem from './tree-item-table';\nimport TreeItem from './tree-item';\n\nexport interface TreeItem {\n key: string;\n title: string;\n icon?: boolean;\n suffix?: string;\n api?: boolean;\n level?: string;\n menu?: string | (string | MenuItem)[];\n children?: TreeItem[];\n isLeaf?: boolean;\n [key: string]: any;\n}\n\nexport interface TreeProps {\n type?: 'tree' | 'table';\n treeData: TreeItem[];\n showLine?: boolean; //未实现\n height?: number | null;\n isload?: boolean;\n animation?: boolean;\n defaultmenu?: 'basis' | 'file';\n defaultExpandedKeys?: string[];\n autoExpandParent?: boolean;\n columns?: any[];\n checks?: string[];\n icon?: (v: any, className: string) => ReactNode;\n onChecks?: (checks: string[], param?: TreeItem[]) => void;\n onSelect?: (key: string) => any;\n onChange?: (data: TreeItem[]) => void;\n titleRender?: (props: any) => any;\n onMenuClick?: (key: string, props: any) => void;\n loadData?: (key: string) => Promise<TreeItem[]> | TreeItem[];\n onRename?: (key: string, value: string, props?: TreeItem) => boolean | void;\n [key: string]: any;\n}\n\n//添加层级\nconst addLevel = (data: any, levelIndex = 0, parent: string) => {\n let i = 0;\n while (i < data.length) {\n let item = data[i];\n\n item['level'] = levelIndex;\n item['pathDisplay'] = parent + '/' + item.title;\n if (!item?.api && !item?.children) {\n item['isLeaf'] = true;\n }\n if (Array.isArray(item.children) && item.children.length > 0) {\n addLevel(item.children, levelIndex + 1, parent + '/' + item.title);\n }\n i++;\n }\n return data;\n};\n\n//下拉动画\nconst motion = {\n motionName: 'node-motion',\n motionAppear: false,\n onAppearStart: () => ({ height: 0 }),\n onAppearActive: (node: any) => ({ height: node.scrollHeight }),\n onLeaveStart: (node: any) => ({ height: node.offsetHeight }),\n onLeaveActive: () => ({ height: 0 }),\n};\n\nexport default (props: TreeProps) => {\n const {\n type = 'tree',\n autoExpandParent,\n defaultExpandedKeys,\n treeData,\n checks,\n height,\n width: _widht,\n columns,\n isload = false,\n ischeck = false,\n showLine = true,\n animation = true,\n icon,\n titleRender,\n onChecks,\n onChange,\n onSelect,\n onMenuClick,\n onRename,\n loadData,\n } = props;\n const ref = useRef<any>(null);\n const tree = useRef<any>(null);\n const header = useRef<any>(null);\n\n const [rename, setRename] = useState(null);\n const [data, setData] = useState(treeData);\n const [motionshow, seTmotionShow] = useState(animation);\n const [width, setWidth] = useState<(number | null)[]>([]);\n const scrollWidth = useMemo(() => {\n let w = (_widht || 100) - 2;\n let size = width?.reduce((x: number, y: number | null) => {\n if (typeof y == 'number') {\n return x + y;\n }\n return x;\n }, 0);\n\n return size > w ? size : Math.ceil(w);\n }, [width, _widht]);\n\n useEffect(() => {\n setData(treeData);\n }, [onChange, treeData]);\n\n useEffect(() => {\n let arr = type == 'tree' ? treeData : [...treeData, { key: '_ending', title: '', height: 200 }];\n arr = addLevel(arr, 0, '');\n setData(arr);\n }, [treeData, type]);\n\n useEffect(() => {\n if (!Array.isArray(columns)) return;\n if (!ref.current) return;\n\n let data = ref.current.getBoundingClientRect();\n let w = Math.floor((data.width - 8) / columns.length);\n\n let arr = columns.map((v: any) => {\n if (typeof v?.width === 'number') {\n return v.width;\n } else {\n return w;\n }\n });\n\n setWidth && setWidth(arr);\n }, [ref.current]);\n\n //展开按钮\n const s_icon = (v: any) => {\n if (v.isLeaf) {\n return <></>;\n }\n if (v.loading) {\n return (\n <div className={cx('explorer-tree-switch loading')}>\n <Icons icon='spinner' type='Outlined' />\n </div>\n );\n }\n return (\n <div\n className={cx('explorer-tree-switch', {\n open: v.expanded,\n })}\n >\n <Icons icon='angle-right' type='Outlined' />\n </div>\n );\n };\n\n const s_table_icon = (v: any) => {\n if (v.key == '_ending') {\n return <></>;\n }\n if (v.isLeaf) {\n return <></>;\n }\n if (v.loading) {\n return (\n <div className={cx('explorer-tree-switch loading')}>\n <Icons icon='spinner' type='Outlined' />\n </div>\n );\n }\n return (\n <div\n className={cx('explorer-tree-switch', {\n open: v.expanded,\n })}\n onMouseDown={(e) => {\n e.stopPropagation();\n }}\n >\n <Icons icon='caret-right' type='Outlined' />\n </div>\n );\n };\n\n //树的懒加载\n const setLeaf = (treeData: any, curKey: any, level: any) => {\n const loopLeaf = (data: any, lev: any) => {\n const l = lev - 1;\n data.forEach((item: any) => {\n if (\n item.key.length > curKey.length\n ? item.key.indexOf(curKey) !== 0\n : curKey.indexOf(item.key) !== 0\n ) {\n return;\n }\n if (item.children) {\n loopLeaf(item.children, l);\n } else if (l < 1 && treeData.api) {\n item.isLeaf = true;\n }\n });\n };\n loopLeaf(treeData, level + 1);\n };\n\n //树s的懒加载\n const getNewTreeData = (treeData: any, curKey: any, child: any, level: any) => {\n const loop = (data: any, levelkey: string) => {\n if (level < 1 || curKey.length - 3 > level * 2) return;\n data.forEach((item: any, index: number) => {\n let l = levelkey + `-${index}`;\n if (curKey.indexOf(l) === 0) {\n if (item.children) {\n loop(item.children, l);\n } else {\n item.children = child;\n }\n }\n });\n };\n loop(treeData, '0');\n setLeaf(treeData, curKey, level);\n };\n\n //树的懒加载\n const onLoadData = (treeNode: any) => {\n onChange ? null : seTmotionShow(false);\n if (!treeNode.api) {\n if (!treeNode?.children) {\n return new Promise((resolve: any) => {\n if (animation) {\n setTimeout(() => {\n seTmotionShow(true);\n resolve();\n }, 100);\n }\n });\n } else {\n return new Promise((resolve: any) => {\n animation && seTmotionShow(true);\n resolve();\n });\n }\n }\n\n return new Promise(async (resolve: any) => {\n const tree = [...data];\n let child = await loadData?.(treeNode?.key);\n\n if (typeof treeNode.level === 'number') {\n child = child?.map((v) => {\n return { ...v, level: treeNode.level + 1 };\n });\n }\n\n getNewTreeData(tree, treeNode.pos, child, 10);\n if (onChange) {\n onChange?.(tree);\n setTimeout(() => {\n resolve();\n }, 100);\n resolve();\n } else {\n setData(tree);\n setTimeout(() => {\n animation && seTmotionShow(true);\n resolve();\n }, 100);\n }\n });\n };\n\n console.log(treeData, 999);\n return (\n <>\n <Provider motion={motionshow}>\n <div\n ref={ref}\n onClick={() => {}}\n onScroll={(e) => {}}\n className={cx('explorer-tree', {\n showLine: showLine,\n table: type == 'table',\n ['explorer-checks']: ischeck,\n })}\n >\n {type == 'table' && (\n <div\n ref={header}\n className='tree-scroll-x'\n onScroll={(e: any) => {\n if (typeof e.target?.scrollLeft === 'number') {\n tree.current.scrollTo({ left: e.target?.scrollLeft });\n }\n }}\n >\n <Header\n width={width}\n columns={columns || []}\n onWidhtChange={(v: any) => {\n setWidth(v);\n }}\n ></Header>\n </div>\n )}\n <Tree\n ref={tree}\n checkStrictly={true}\n checkable={type == 'table' ? true : false}\n autoExpandParent={autoExpandParent}\n defaultExpandedKeys={defaultExpandedKeys || []}\n motion={motionshow ? motion : undefined}\n onVirtualScroll={(props: any) => {\n header.current?.scrollTo?.({ left: props.x });\n }}\n icon={(e) => {\n if (e.eventKey == '_ending') {\n return <></>;\n }\n return icon?.({ key: e.eventKey, ...e }, 'explorer-tree-icon');\n }}\n itemHeight={40}\n checkedKeys={checks}\n height={height ? height : undefined}\n scrollWidth={type == 'table' ? scrollWidth || _widht : undefined}\n onContextMenu={(e) => {\n e.preventDefault();\n }}\n titleRender={(v: any) => {\n if (v.key == '_ending') {\n return (\n <div\n style={{\n height: v.height + 'px',\n opacity: 0,\n }}\n ></div>\n );\n }\n if (titleRender) {\n return titleRender(v);\n }\n if (type == 'table') {\n return (\n <TableItem\n {...v}\n {...props}\n id={v.key}\n ischeck={ischeck}\n active={checks?.includes(v.key)}\n width={width}\n rename={v.key == rename}\n onRename={(value: any) => {\n setRename(null);\n onRename && onRename(v.key, value, v);\n }}\n onMenuClick={(menu: any) => {\n if (menu == 'rename') {\n setTimeout(() => {\n setRename(v.key);\n });\n return;\n }\n onMenuClick && onMenuClick(menu, v);\n }}\n onCheck={() => {\n let arr: any[] | undefined = cloneDeep(checks);\n if (checks?.includes(v.key)) {\n arr = checks.filter((key) => key !== v.key);\n } else {\n arr = [...(arr || []), v.key];\n }\n onChecks && onChecks?.(arr);\n }}\n onSelect={(item: any) => {\n onSelect && onSelect?.({ key: v.key, ...v });\n }}\n columns={columns}\n ></TableItem>\n );\n }\n return (\n <TreeItem\n {...v}\n {...props}\n defaultmenu\n id={v.key}\n rename={v.key == rename}\n onRename={(value: any) => {\n setRename(null);\n onRename && onRename(v.key, value, v);\n }}\n onSelect={() => {\n onSelect && onSelect?.({ key: v.key, ...v });\n }}\n onMenuClick={(menu: any) => {\n if (menu == 'rename') {\n setTimeout(() => {\n setRename(v.key);\n });\n return;\n }\n onMenuClick && onMenuClick(menu, v);\n }}\n ></TreeItem>\n );\n }}\n loadData={isload ? (onLoadData as any) : null}\n treeData={data}\n switcherIcon={type == 'table' ? s_table_icon : s_icon}\n />\n </div>\n </Provider>\n </>\n );\n};\n\nfunction Header(props: any) {\n const { width, onWidhtChange, columns } = props;\n const [isdarg, setIsDrag] = useState(false);\n const [dragindex, setDargIndex] = useState<number | null>(null);\n const ref = useRef<any>(null);\n useLayoutEffect(() => {\n window.addEventListener('mousemove', lie);\n window.addEventListener('mouseup', up);\n return () => {\n window.removeEventListener('mousemove', lie);\n window.removeEventListener('mouseup', up);\n };\n }, [isdarg]);\n\n function up() {\n if (!isdarg) return;\n setIsDrag(false);\n setDargIndex(null);\n }\n\n function lie(e: any) {\n if (!isdarg) return;\n if (typeof dragindex !== 'number') return;\n e.preventDefault();\n let dom = ref.current.querySelector('.item-resize');\n let a = dom?.getBoundingClientRect();\n let x = e.clientX - a.left;\n let arr = cloneDeep(width);\n let diff = 80 - dragindex * 16;\n arr[dragindex] = x > diff ? x : diff;\n onWidhtChange(arr);\n }\n\n return (\n <div ref={ref} className='explorer-table-header' onMouseUp={() => {}} onClick={() => {}}>\n {columns.map((v: any, i: number) => {\n let x = width[i];\n return (\n <React.Fragment key={v.key}>\n <div\n className={cx('item', {\n 'item-resize': dragindex == i,\n })}\n style={\n width[i]\n ? {\n flex: `0 0 ${x}px`,\n width: x + 'px',\n }\n : {}\n }\n >\n {v.title}\n </div>\n <div\n className={cx('resize', {\n 'resize-focus': dragindex == i,\n })}\n onMouseDown={(e) => {\n e.stopPropagation();\n setDargIndex(i);\n setIsDrag(true);\n }}\n onMouseUp={() => {\n setIsDrag(false);\n setDargIndex(null);\n }}\n ></div>\n </React.Fragment>\n );\n })}\n </div>\n );\n}\n","import './index.less';\nimport { useContext } from 'react';\n\nimport { ApiStatusEnum } from '../../../enum';\nimport { ExampleContext } from '../../../store';\n\nimport Tree from '../../../components/tree';\n\nconst ExplorerMenu = (props: any) => {\n const { viewHeight: height, data, icons, loadData: onLoadData, onMenuClick, onChange } = props;\n const store = useContext(ExampleContext);\n if (!store) return;\n\n async function loadData(key: string, param?: any) {\n if (!store) return;\n store.setLoading(ApiStatusEnum.LOADING);\n let data = await onLoadData(key);\n store.setCurList(data.fileList);\n store.setCurInfo(data.current);\n setTimeout(() => {\n store.setLoading(ApiStatusEnum.READY);\n }, 300);\n }\n\n async function loadNode(key: any) {\n let data = await onLoadData?.(key);\n return data?.fileList || [];\n }\n\n return (\n <div className='frame-left'>\n <Tree\n isload={true}\n treeData={data}\n height={height}\n icon={(v, className) => {\n if (v.icon == false) return <></>;\n return store.getIcons(v, className);\n }}\n onMenuClick={(key: any, value) => {}}\n loadData={loadNode}\n onChange={onChange}\n onSelect={(v: any) => {\n store.setPathDisplay(v?.pathDisplay);\n if (v?.children) {\n store.setCurInfo(v);\n store.setCurList(v.children || []);\n } else {\n loadData(v.key);\n }\n }}\n ></Tree>\n </div>\n );\n};\n\nexport default ExplorerMenu;\n","import { cx } from '@emotion/css';\nimport { useEffect, useRef, useState } from 'react';\n\nconst VirtualScroll = ({\n className,\n item,\n itemHeight,\n renderItem,\n}: {\n className: string;\n item: any[];\n itemHeight: number;\n renderItem: (v: any, i: number, end: boolean) => any;\n}) => {\n const [scrollTop, setScrollTop] = useState(0);\n const containerRef = useRef<any>(null);\n const [data, setdata] = useState<any[]>([]);\n const items = [];\n\n useEffect(() => {\n setdata(item || []);\n }, [item]);\n const handleScroll = () => {\n setScrollTop(containerRef.current.scrollTop);\n };\n\n useEffect(() => {\n containerRef.current?.addEventListener('scroll', handleScroll);\n return () => {\n containerRef.current?.removeEventListener('scroll', handleScroll);\n };\n }, []);\n\n const visibleCount = Math.ceil(containerRef.current?.clientHeight / itemHeight);\n const startIdx = Math.floor(scrollTop / itemHeight);\n const endIdx = Math.min(startIdx + visibleCount + 1, data.length);\n for (let i = startIdx; i < endIdx; i++) {\n items.push(renderItem(data[i], i, data.length - 1 == i));\n }\n\n return (\n <div\n className={cx(`${className}`)}\n style={{ height: '100%', overflowY: 'auto' }}\n ref={containerRef}\n >\n <div\n style={{\n height: `${data.length * itemHeight}px`,\n paddingTop: `${startIdx * itemHeight}px`,\n }}\n >\n {items}\n </div>\n </div>\n );\n};\nexport default VirtualScroll;\n","import cx from 'classnames';\nimport { css } from '../../css';\n\nimport React, { useEffect, useRef, useState } from 'react';\nimport { getMenu } from '../menu/menulist';\n\nimport VirtualScroll from '../virtualScroll';\nimport Dropdown from '../Dropdown';\nimport Menu from '../menu';\n\ninterface TileProps {\n className?: string;\n checks: any[];\n onMenuClick?: (key: string, param: any) => void;\n onDblclick?: (key: string, param: any) => void;\n onSelect?: (key: string, param: any) => void;\n onRename?: (key: string, value: string, param: any) => void;\n [key: string]: any;\n}\n\nexport default function Tile(props: TileProps) {\n const ref = useRef<any>(null);\n const {\n className,\n height,\n width,\n icons,\n data,\n select = '',\n checks = [],\n size = 80,\n onSelect,\n onDblclick,\n onMenuClick,\n onRename,\n } = props;\n\n const [rekey, setRekey] = useState<any>(null);\n const [itemSize, setSize] = useState(0);\n const [list, setList] = useState([]);\n const [col, setCol] = useState(9);\n useEffect(() => {\n const originalArray = data;\n const chunkSize = col;\n const resultArray = originalArray?.reduce((acc: any, curr: any, index: number) => {\n const chunkIndex = Math.floor(index / chunkSize);\n if (!acc[chunkIndex]) {\n acc[chunkIndex] = [];\n }\n acc[chunkIndex].push(curr);\n return acc;\n }, []);\n setList(resultArray);\n }, [data, col]);\n\n useEffect(() => {\n if (!width) return;\n let w = (width || 0) - 10;\n let data = Math.round(w / (size + 5));\n let s = Math.floor(w / data);\n setCol(data);\n setSize(s);\n }, [width, size]);\n\n return (\n <div\n ref={ref}\n className={cx('', {\n [className || '']: className,\n })}\n style={{\n height: '100%',\n }}\n >\n <VirtualScroll\n className=''\n item={list}\n itemHeight={itemSize + 65}\n renderItem={(v: any, index) => {\n return (\n <React.Fragment key={index}>\n {v?.map((v: any, i: number) => {\n const w = itemSize - 10;\n let menudata: any = [];\n\n if (getMenu(props.id)) {\n menudata = getMenu(props.id);\n } else if (props.type && getMenu(props.type)) {\n menudata = getMenu(props.type);\n } else {\n menudata = getMenu('');\n }\n return (\n <div\n key={v.key}\n data-id={v.key}\n className={cx(\n 'file',\n {\n 'file-folder': v.type === 'folder',\n 'menu-path-folder': v.type === 'folder',\n 'menu-path-file': v.type === 'file',\n select: !!~checks.indexOf(v.key),\n // 'file-focus': focus === i,\n },\n css`\n top: ${(w + 65) * index + index * 10 + 10}px;\n left: ${w * i + i * 10 + 10}px;\n width: ${w || 0}px;\n max-height: ${w + 65}px;\n `,\n )}\n onSelect={() => {\n onSelect?.(v.key, v);\n }}\n onDoubleClick={() => {\n onDblclick?.(v.key, v);\n }}\n >\n <Dropdown\n trigger='contextMenu'\n dropdownRender={({ onClone }: any) => {\n return (\n <Menu\n menu={menudata}\n onChange={(key) => {\n if (key == 'rename') {\n setRekey(v.key);\n onClone();\n return;\n }\n onMenuClick?.(key, v);\n }}\n ></Menu>\n );\n }}\n >\n <i\n className={cx('path-ico')}\n style={{\n width: w + 'px',\n height: w - w / 10 + 'px',\n }}\n >\n {v.type === 'folder' || !v?.pic ? (\n icons(v, 'x-item-icon', {\n width: w + 'px',\n height: w + 'px',\n lineHeight: w + 'px',\n })\n ) : (\n <div className='picture'>\n <img\n className='picture-show'\n draggable='false'\n src={v.pic}\n style={{ width: w + 'px', height: w + 'px' }}\n />\n </div>\n )}\n </i>\n <div\n className='title-type-name'\n style={{\n width: w + 'px',\n }}\n >\n {rekey == v.key ? (\n <textarea\n autoFocus\n rows={3}\n defaultValue={v.title}\n onFocus={(e) => {\n let i: number = v.title.lastIndexOf('.');\n if (props?.suffix == 'folder') {\n e.target.setSelectionRange(0, v.title.length);\n } else if (i !== -1) {\n e.target.setSelectionRange(0, i);\n }\n }}\n onBlur={(e) => {\n onRename?.(v.key, e.target.value, v);\n setRekey(null);\n }}\n onMouseDown={(e) => {\n e.stopPropagation();\n }}\n ></textarea>\n ) : (\n <span className='title'>{v.title}</span>\n )}\n </div>\n </Dropdown>\n </div>\n );\n })}\n </React.Fragment>\n );\n }}\n ></VirtualScroll>\n </div>\n );\n}\n","import cx from 'classnames';\nimport ReactDOM from 'react-dom';\nimport { useState, useRef, useEffect, ReactNode } from 'react';\n\nvar time: any = null;\n\ninterface SelectBoxProps {\n checks: string[];\n\n dataClass?: string; //\n selectClass: string; //要选择的class\n className?: string;\n regionClass?: string; //选框区域\n\n isDrag: boolean;\n isSelectBoxes: boolean;\n\n action?: 'stack' | 'rotate';\n\n onChange: (v: any) => any;\n onDrag: () => any;\n onEndDrag: () => any;\n onStartDrag: () => any;\n children: ReactNode;\n [key: string]: any;\n}\n\nconst SelectBox = (props: SelectBoxProps) => {\n let {\n checks = [],\n\n className = '',\n dataClass,\n selectClass = '',\n regionClass,\n\n isDrag = true,\n isSelectBoxes = true,\n\n action = 'stack',\n\n onChange,\n } = props;\n const selectionRef: any = useRef<any>(null);\n\n const clickRef = useRef(true);\n //选框\n const ref = useRef<any>(null);\n //选择中\n const _dom = useRef<any[]>([]);\n //目标\n const target = useRef<any>(null);\n //盒子\n const box = useRef<any>(null);\n //当前\n const cur = useRef<any[]>([]);\n\n const [selects, setSelect] = useState<string[]>([]);\n const [stageClickInfo, setStageClickInfo] = useState<{\n show: boolean;\n x?: number;\n y?: number;\n }>({ show: false });\n\n useEffect(() => {\n document.addEventListener('mousemove', handleBodyMousemove);\n document.addEventListener('mouseup', handleBodyMouseup);\n return () => {\n document.removeEventListener('mousemove', handleBodyMousemove);\n document.removeEventListener('mouseup', handleBodyMouseup);\n };\n }, [stageClickInfo]);\n\n //判断鼠标点击位置 是否为目标区域\n function isSelectTarget(e: any): null | true | string[] {\n let idx: string[] = [];\n\n Array.from(document.querySelectorAll(selectClass)).filter((v) => {\n if (v.contains(e.target)) {\n let dataDom: any = v;\n if (dataClass) {\n dataDom = v.querySelector(dataClass);\n let id: string | undefined = dataDom.getAttribute('data-id');\n if (id) {\n idx.push(id);\n }\n }\n }\n });\n\n if (checks.includes(idx[0])) {\n return true;\n }\n\n if (idx.length) {\n return idx;\n }\n return null;\n }\n\n //鼠标移动\n function handleBodyMousemove(e: any) {\n const { clientX: x, clientY: y } = e;\n\n if (!time && cur?.current?.length && isDrag) {\n cur.current?.map((v: any, i) => {\n v.style.cssText = `\n position: absolute; \n transition: 0.3s;\n top:${y + i * 3}px;\n left:${x + i * 3}px;\n `;\n });\n time = setTimeout(() => {\n cur.current.forEach((v) => v.remove());\n cur.current = [];\n }, 200);\n }\n\n if (selects.length) {\n if (target.current) {\n target.current.style.cssText = `\n position: absolute; \n top:${y}px;\n left:${x}px;\n `;\n }\n } else {\n createBox(e);\n }\n }\n\n //鼠标松开\n function handleBodyMouseup() {\n if (target.current) {\n empty();\n } else {\n setStageClickInfo({ show: false });\n const selectionDom = selectionRef.current;\n if (selectionDom) {\n selectionDom.style.cssText = `\n position: absolute; \n opacity: 0;\n top:1px; \n left: 1px;\n width: 0px;\n height: 0px;\n pointer-events: none;\n z-index: -1;\n `;\n }\n setTimeout(() => {\n clickRef.current = true;\n }, 300);\n }\n }\n\n //创建选框\n function createBox(e: any) {\n if (stageClickInfo.show) {\n let region = null;\n if (regionClass) {\n let dom = document.querySelector(regionClass);\n if (dom) {\n region = dom.getBoundingClientRect();\n }\n }\n\n if (region) {\n let { x: left, y: top, width, height } = region;\n let right = left + width;\n let bottom = top + height;\n let { clientX: x, clientY: y } = e;\n\n if (x > right || x < left || y > bottom || y < top) {\n return;\n }\n }\n\n const selectionDom = selectionRef.current;\n if (selectionDom) {\n let idx: string[] = [];\n let dom: any[] = [];\n // 终点\n const { clientX: x, clientY: y } = e;\n // 起点\n const { x: pX, y: pY } = stageClickInfo;\n if (!pX || !pY) {\n return null;\n }\n\n // 默认右下\n let sTop = pY;\n let sLeft = pX;\n let sWidth = x - pX!;\n let sHeight = y - pY!;\n\n // 左下\n if (x < pX! && y > pY!) {\n sLeft = x;\n sWidth = pX - x;\n }\n // 左上\n if (x < stageClickInfo.x! && y < pY!) {\n sLeft = x;\n sTop = y;\n sWidth = pX - x;\n sHeight = pY - y;\n }\n\n // 右上\n if (x > stageClickInfo.x! && y < pY!) {\n sTop = y;\n sHeight = pY - y;\n }\n\n Array.from(document.querySelectorAll(selectClass)).forEach((v, i) => {\n let dataDom: any = v;\n if (dataClass) {\n dataDom = v.querySelector(dataClass);\n }\n\n let { top, right, bottom, left } = v.getBoundingClientRect();\n let sRight = sLeft + sWidth;\n let sBottom = sTop + sHeight;\n\n //判断是否在选择区\n let leftCover = sLeft <= left && left <= sRight;\n\n let cmidst = sLeft >= left && sRight <= right; //内\n\n let rightCover = sLeft <= right && right <= sRight;\n\n let topCover = sTop <= top && top <= sBottom;\n\n let midst = sTop >= top && sBottom <= bottom; //内\n\n let bottomCover = sTop <= bottom && bottom <= sBottom;\n\n if ((leftCover || cmidst || rightCover) && (topCover || midst || bottomCover)) {\n let id = dataDom.getAttribute('data-id');\n if (id && !idx.includes(id)) {\n idx.push(id);\n dom.push(v);\n }\n }\n });\n\n selectionDom.style.cssText = `\n position: absolute;\n background-color: rgba(30, 175, 249, .2);\n border: 1px solid rgba(30, 175, 249, 1);\n top:${sTop}px;\n left: ${sLeft}px;\n width: ${sWidth}px;\n height: ${sHeight}px;\n pointer-events: none;\n z-index: 10;\n `;\n _dom.current = dom;\n setSelect(idx);\n onChange(idx);\n }\n }\n }\n\n //创建虚拟节点\n function createVDom(e: any) {\n let body = document.querySelector('body');\n let _box: any = null;\n let _target: any = null;\n\n _box = document.createElement('div');\n _target = document.createElement('div');\n\n const { clientX: x, clientY: y } = e;\n _box.className = `_selectbox ${className}`;\n _box.style.cssText = `\n position: absolute; \n top:1px; \n left: 1px;\n width: 0px;\n height: 0px;\n pointer-events: none;\n overflow: visible !important;\n z-index: 999;\n `;\n\n _target.style.cssText = `\n position: absolute; \n top:${y}px; \n left:${x}px;\n pointer-events: none;\n `;\n\n _dom.current.map((v: any, i) => {\n let _cur = v.cloneNode(true);\n let data = v.getBoundingClientRect();\n\n _cur.style.cssText = `\n position: absolute; \n top:${data.top}px;\n left:${data.left}px;\n opacity:0.5;\n transition: 0.3s;\n `;\n cur.current.push(_cur);\n _box?.appendChild(_cur);\n\n if (i > 10) return;\n let value = v.cloneNode(true);\n if (action == 'stack') {\n value.style.cssText = `\n position: absolute; \n top:${i * 3}px;\n left:${i * 3}px;\n z-index: ${i * -1};\n width:${data?.width ? data?.width : 'auto'};\n opacity: 1;\n margin:0\n `;\n } else if (action == 'rotate') {\n value.style.cssText = `\n position: absolute; \n top:${i}px;\n left:${i}px;\n z-index: ${i * -1};\n transform: rotate(${4 * (i % 2 ? i * -1 : i)}deg);\n opacity: 1;\n margin:0\n `;\n }\n _target?.appendChild(value);\n });\n\n _box?.appendChild(_target);\n body?.appendChild(_box);\n box.current = _box;\n target.current = _target;\n }\n\n //清空\n function empty() {\n target.current?.remove();\n box.current?.remove();\n target.current = null;\n box.current = null;\n clickRef.current = false;\n }\n\n return (\n <div\n ref={ref}\n className={cx(`${className}`)}\n onMouseDown={(e) => {\n if (e.button === 2) return;\n\n let type = isSelectTarget(e);\n\n if (type == true) {\n time = null;\n isDrag && createVDom(e);\n return;\n }\n\n if (Array.isArray(type)) {\n setSelect(type);\n onChange(type);\n return;\n }\n\n if (selects.length) {\n setSelect([]);\n onChange([]);\n empty();\n }\n\n clickRef.current = false;\n isSelectBoxes && setStageClickInfo({ show: true, x: e.clientX, y: e.clientY });\n }}\n >\n {props.children}\n {ReactDOM.createPortal(<div ref={selectionRef}></div>, document.body)}\n </div>\n );\n};\n\nexport default SelectBox;\n","import './index.less';\nimport cx from 'classnames';\nimport React, { ReactNode, useEffect, useMemo, useRef, useState } from 'react';\n\nimport { cloneDeep } from 'lodash';\n\nimport { Icons } from '@gingkoo/pandora-ui';\nimport { NullDataSvg } from '../icons';\nimport VirtualScroll from '../virtualScroll';\n\nfunction Item(props: any) {\n const { onClick, acitve, isedit, onEdit, onBlur, checks = false, icon } = props;\n const [value, setValue] = useState(props?.title || '');\n\n return (\n <div\n className={cx('explorer-columns-list', {\n last: props?.end,\n acitve: acitve,\n checks: checks,\n })}\n data-id={props.id}\n onClick={onClick}\n >\n {icon && icon?.(props, 'columns-list-icon')}\n {isedit ? (\n <input\n className='columns-list-input'\n autoFocus\n value={value}\n onChange={(e) => {\n setValue(e.target.value);\n }}\n onFocus={(e) => {\n let i: number = value.lastIndexOf('.');\n\n if (props?.suffix == 'folder') {\n e.target.setSelectionRange(0, value.length);\n } else if (i !== -1) {\n e.target.setSelectionRange(0, i);\n }\n }}\n onBlur={(e) => {\n onBlur?.(e);\n }}\n ></input>\n ) : (\n <>\n <div className='columns-list-title'>\n <span className='title'>{props.title}</span>\n <span\n className='edit'\n onClick={(e) => {\n onEdit();\n }}\n >\n <Icons icon='pen-to-square' type='Outlined' />\n </span>\n </div>\n <div className='columns-list-tool'>\n <span className=''></span>\n </div>\n </>\n )}\n </div>\n );\n}\ninterface ColumnsProps {\n data: any[];\n className?: string;\n icons?: (v: any, className: string) => ReactNode;\n onRename?: (key: any, value: string, param: any) => any;\n checks?: string[];\n onMenuClick: any;\n onLoadData?: any;\n onDblclick?: (key: string, param: any) => any;\n onClick?: (key: any, param: any) => any;\n [key: string]: any;\n}\nexport default function Columns(props: ColumnsProps) {\n let { width: _w, data, className, checks = [], icons, onLoadData, onRename } = props;\n const ref = useRef<any>(null);\n const [layer, setLayer] = useState(new Array(6).fill([]));\n const [width, setWidth] = useState(new Array(6).fill(null));\n const [select_col, setSelectCol] = useState<number>(0);\n const [select_file, setSelectFile] = useState(new Array(6).fill(null));\n const [select_info, setSelectInfo] = useState('');\n const [edit, setEdit] = useState('');\n const [isdrag, setIsdarg] = useState<boolean>(false);\n\n useEffect(() => {\n let arr = cloneDeep(layer);\n arr[0] = data;\n setLayer(arr);\n }, [data]);\n\n let avg = useMemo(() => {\n if (!_w) return 0;\n return Math.ceil(_w / 6);\n }, [_w]);\n\n useEffect(() => {\n let w = cloneDeep(width);\n layer.forEach((v, i) => {\n if (v?.length && !w[i]) {\n w[i] = avg;\n }\n });\n setWidth(w);\n }, [layer, avg]);\n\n function handleMousemove(e: any) {\n if (!isdrag || !ref?.current) return;\n let dom = ref.current.getBoundingClientRect();\n let arr = cloneDeep(width);\n let data = arr.reduce((x, y, i) => {\n if (select_col > i) {\n return x + y;\n }\n return x + 0;\n }, 0);\n arr[select_col] = e.nativeEvent.clientX - dom.left - data;\n setWidth(arr);\n }\n\n function renderList(list: any[] | null, level: number) {\n if (!list) {\n return (\n <div className={cx('layer empty')}>\n <div className='empty-is-null'>\n <div className='empty-icon'>\n <NullDataSvg></NullDataSvg>\n </div>\n <div className='empty-desc'>\n <span className=''>文件夹为空</span>\n </div>\n </div>\n </div>\n );\n }\n\n if (!Array.isArray(list) || !list.length) {\n return <div className={cx('layer', {})}></div>;\n }\n\n return (\n <div\n className={cx('layer list', {\n select_col: select_col == level,\n })}\n onClick={() => {\n setSelectCol(level);\n }}\n style={{\n flex: ` 0 0 ${width[level]}px`,\n width: level + 'px',\n }}\n >\n <div className='list-main'>\n <VirtualScroll\n className='list-scroll'\n item={list}\n itemHeight={32}\n renderItem={(v: any, i: number, end) => {\n return (\n <Item\n {...v}\n key={i}\n icon={icons}\n acitve={select_file[level] == v.key || select_info == v.key}\n id={v.key}\n end={end}\n checks={checks?.includes(v.key)}\n isedit={edit == v.key}\n onEdit={() => {\n setEdit(v.key);\n }}\n onBlur={(e: any) => {\n onRename?.(v.key, e.target.value, v);\n setEdit('');\n }}\n onClick={async () => {\n setSelectInfo(v.key);\n if (v.type == 'folder') {\n let select = select_file.map((id, i) => {\n if (i > level) {\n return '';\n }\n if (i == level) {\n return v.key;\n }\n return id;\n });\n setSelectFile(select);\n let loaddata: any[] | null = null;\n if (v.api && onLoadData) {\n let data = await onLoadData?.(v.key);\n if (Array.isArray(data)) {\n loaddata = data;\n }\n }\n let arr = v?.children ? [...v?.children, ...(loaddata || [])] : loaddata;\n setlevel(arr, level + 1);\n }\n }}\n ></Item>\n );\n }}\n ></VirtualScroll>\n </div>\n <div\n className={cx('drag')}\n onMouseDown={(e) => {\n e.stopPropagation();\n setSelectCol(level);\n setIsdarg(true);\n }}\n ></div>\n </div>\n );\n }\n\n function setlevel(data: any, level: number) {\n let arr = cloneDeep(layer);\n arr = arr.map((v, i) => {\n if (i > level) {\n return [];\n }\n if (i == level) {\n return data;\n }\n return v;\n });\n setLayer(arr);\n }\n\n return (\n <div\n ref={ref}\n className={cx('explorer-columns', { [className || '']: className })}\n onMouseMove={handleMousemove}\n onMouseUp={() => {\n setIsdarg(false);\n }}\n >\n {layer.map((v: any, i) => {\n return <React.Fragment key={i}>{renderList(v, i)}</React.Fragment>;\n })}\n </div>\n );\n}\n","import './index.less';\nimport cx from 'classnames';\n\nimport React, { ReactNode, useEffect, useLayoutEffect, useMemo, useRef, useState } from 'react';\n\nimport { Icons } from '@gingkoo/pandora-ui';\nimport { createRoot } from 'react-dom/client';\n\ninterface ModalProps {\n id?: string | number;\n show: boolean;\n title?: false | string | ReactNode;\n onClose?: () => any;\n children: ReactNode;\n tabIndex?: number;\n isfocus?: boolean;\n onFocus?: () => any;\n onBlur?: () => any;\n minimize: boolean;\n onMinimize: () => any;\n // onMaximize: () => any;\n [key: string]: any;\n}\n\nfunction Modal(props: ModalProps) {\n const {\n id,\n show,\n title,\n onBlur,\n onFocus,\n isfocus,\n onMinimize: onMin,\n onMaximize: onMax,\n minimize,\n } = props;\n const content = useRef<any>(null);\n const mask = useRef<any>(null);\n const root = useRef<any>(null);\n\n const [drag, setDrag] = useState(false);\n const [d_value, D_value] = useState<number[]>([0, 0]); //点击时的差值\n const [win_size, setWinsize] = useState(getSize);\n const [focus, setFocus] = useState(false);\n const [ismax, setMax] = useState(false);\n\n useLayoutEffect(() => {\n window.addEventListener('resize', handleResize);\n return () => window.removeEventListener('resize', handleResize);\n }, []);\n //拖动监听\n useLayoutEffect(() => {\n document.addEventListener('mousemove', lie);\n return () => {\n document.removeEventListener('mousemove', lie);\n };\n }, [drag]);\n\n //创建\n useEffect(() => {\n if (show) {\n let box: any = null;\n let body = document.querySelector('body');\n box = document.createElement('div');\n box.className = '_modal';\n mask.current = box;\n body?.appendChild(box);\n let roots = createRoot(box);\n roots.render(React.cloneElement(render()));\n root.current = roots;\n } else {\n onClose();\n }\n }, [show]);\n\n //重新渲染\n useEffect(() => {\n if (root.current) {\n root.current.render(React.cloneElement(render()));\n }\n }, [root.current, ismax, minimize]);\n\n useEffect(() => {\n if (typeof minimize !== 'boolean') return;\n onMinimize();\n }, [minimize]);\n\n //切换\n useEffect(() => {\n if (!mask?.current) return;\n\n if (focus) {\n mask.current.style.zIndex = 200;\n content.current?.classList.add('focus');\n } else {\n mask.current.style.zIndex = '';\n content.current?.classList.remove('focus');\n }\n }, [mask.current, focus]);\n\n //焦点控制\n useEffect(() => {\n if (typeof isfocus == 'boolean') {\n setFocus(isfocus);\n }\n }, [isfocus]);\n\n //头\n const header = useMemo(() => {\n if (title === false) {\n return <></>;\n }\n if (React.isValidElement(title)) {\n return title;\n }\n return (\n <div\n className='_modal-header'\n onMouseDown={(e: any) => {\n D_value([e.nativeEvent?.layerX || 0, e.nativeEvent?.layerY || 0]);\n setDrag(true);\n }}\n onMouseUp={() => {\n setDrag(false);\n }}\n >\n <div className='header-title'>{title}</div>\n <div className='header-toolbar'>\n <span\n className='tool'\n onClick={() => {\n onMin && onMin();\n }}\n >\n <Icons icon='sub' type='Outlined' />\n </span>\n <span\n className='tool'\n onClick={() => {\n setMax(!ismax);\n onMaximize();\n }}\n >\n {ismax ? (\n <Icons icon='clone' type='Outlined' />\n ) : (\n <Icons icon='square' type='Outlined' />\n )}\n </span>\n <span className='tool close'>\n <Icons\n icon='xmark'\n type='Outlined'\n onClick={() => {\n props.onClose && props.onClose();\n }}\n />\n </span>\n </div>\n </div>\n );\n }, [drag, title, ismax]);\n\n function handleResize() {\n setWinsize(getSize());\n }\n //最小化\n function onMinimize() {\n if (!minimize) {\n content.current?.classList.add('animation');\n content.current?.classList.add('minimize');\n } else {\n content.current?.classList.remove('minimize');\n content.current?.classList.remove('animation');\n }\n }\n\n //最大化\n function onMaximize() {\n if (!ismax) {\n if (mask?.current) {\n mask.current.style.bottom = '0px';\n mask.current.style.zIndex = 300;\n }\n content.current?.classList.add('animation');\n content.current?.classList.add('maximize');\n } else {\n content.current?.classList.remove('animation');\n content.current?.classList.remove('maximize');\n mask.current.style.bottom = '';\n mask.current.style.zIndex = '';\n }\n }\n\n function onClose() {\n mask?.current?.remove();\n mask.current == null;\n content?.current?.remove();\n content.current == null;\n }\n\n function getSize() {\n return {\n width: window?.innerWidth || 0,\n height: window?.innerHeight || 0,\n };\n }\n\n const lie = (e: any) => {\n if (ismax) return;\n if (!drag) return;\n\n let x = (e.x || 0) - d_value[0];\n let y = (e.y || 0) - d_value[1];\n if (!content?.current) return;\n let c_lie = content.current.getBoundingClientRect();\n if (x < 0) x = 0;\n if (y < 0) y = 0;\n\n if (y + c_lie.height > win_size.height) {\n y = win_size.height - c_lie.height;\n }\n if (x + c_lie.width > win_size.width) {\n x = win_size.width - c_lie.width;\n }\n\n content.current.style.top = y + 'px';\n content.current.style.left = x + 'px';\n\n return {\n x,\n y,\n };\n };\n\n function render() {\n return (\n <div\n ref={content}\n className={cx('_modal-content', {\n minimize: minimize,\n animation: minimize,\n })}\n tabIndex={0}\n onFocus={() => {\n onFocus && onFocus();\n typeof isfocus == 'boolean' ? null : setFocus(true);\n }}\n onBlur={() => {\n typeof isfocus == 'boolean' ? null : setFocus(false);\n onBlur && onBlur();\n }}\n >\n {props?.title && header}\n {props.children}\n </div>\n );\n }\n\n return <></>;\n}\n\nexport default Modal;\n","import './index.less';\nimport cx from 'classnames';\n\nimport React, { ReactNode, useEffect, useMemo, useRef, useState } from 'react';\n\nimport Modal from '.';\n\ninterface ModalTabPorps {\n items: any[];\n select?: string;\n showKey: string[];\n className?: string;\n children?: ReactNode;\n onChange?: () => any;\n onClone?: (key: string, props: any) => any;\n onSelect?: () => any;\n}\n\nexport default function ModalTab(props: ModalTabPorps) {\n const { items, onClone, showKey, className } = props;\n const shrink = useRef<any>(null);\n const [show, setShow] = useState<string[]>([]);\n const [select, setSelect] = useState<string>('');\n const [_shrink, setShink] = useState<any>([]);\n\n useEffect(() => {\n if (typeof showKey[0] == 'string') {\n setSelect(showKey[0]);\n }\n }, []);\n\n useEffect(() => {\n setShow(showKey);\n }, [showKey]);\n\n return (\n <div\n className={cx('_modal-navbar', {\n [className || '']: className,\n })}\n >\n {items.map((v: any, index) => {\n return (\n <React.Fragment key={index}>\n <Modal\n key={index}\n tabIndex={index}\n show={show.includes(v.key)}\n title={v.title}\n onClose={() => {\n onClone && onClone?.(v.key, v);\n }}\n minimize={shrink.current?.includes(v.key)}\n onMinimize={() => {\n let arr = [...(shrink.current || []), v.key];\n shrink.current = arr;\n setShink(arr);\n }}\n isfocus={v.key == select}\n onFocus={() => {\n setSelect(v.key);\n }}\n >\n {v.content}\n </Modal>\n </React.Fragment>\n );\n })}\n {items.map((v: any, index) => {\n return (\n <div\n key={index}\n className={cx('_modal-navbar-item', {\n acitve: select == v.key,\n })}\n onClick={() => {\n if (shrink.current?.includes(v.key)) {\n let arr = shrink.current.filter((item: string) => item !== v.key);\n shrink.current = arr;\n setShink(arr);\n setSelect(v.key);\n return;\n }\n if (select == v.key) {\n let arr = [...(shrink.current || []), v.key];\n shrink.current = arr;\n setShink(arr);\n setSelect('');\n return;\n }\n if (!show.includes(v.key)) {\n setShow([...show, v.key]);\n }\n setSelect(v.key);\n }}\n >\n {v.title}\n </div>\n );\n })}\n </div>\n );\n}\n","import './index.less';\nimport { cx } from '../../../css';\nimport { useContext } from 'react';\n\nimport { ApiStatusEnum } from '../../../enum';\nimport { truncate } from 'lodash';\nimport { ExampleContext } from '../../../store';\n\nimport { Icons } from '@gingkoo/pandora-ui';\nimport Tree from '../../../components/tree';\nimport Tile from '../../../components/tile';\nimport SelectBox from '../../../components/select-box';\nimport Columns from '../../../components/columns';\nimport ModalTab from '../../../components/modal/modal-tab';\nimport { ExplorerItem } from 'src/types';\n\nconst template: any = {\n tile: {\n action: 'rotate',\n className: 'file-select-box',\n selectClass: '.file-continer-main .file',\n },\n column: {\n className: 'explorer-columns',\n selectClass: '.explorer-columns-list',\n regionClass: '.explorer-columns .layer.list.select_col',\n },\n table: {\n className: 'explorer-tree table',\n dataClass: '.explorer-tree-row',\n selectClass: '.rc-tree-treenode',\n },\n};\n\nconst Layout = (props: any) => {\n const {\n viewHeight: height,\n viewWidth: width,\n\n checks = [],\n\n isDrag = true,\n isNavtab,\n isSelectBoxes = true,\n isOpenMenu = true,\n\n loadData: _loadData,\n\n onClick,\n onCheck,\n onDblclick,\n onRename,\n onMenuClick,\n } = props;\n\n const store = useContext(ExampleContext);\n\n async function loadData(key: string, param: any) {\n if (!store) return;\n store.setLoading(ApiStatusEnum.LOADING);\n let data = await _loadData(key);\n store.setCurList(data.fileList);\n store.setCurInfo(data.current);\n setTimeout(() => {\n store.setLoading(ApiStatusEnum.READY);\n }, 300);\n\n return data.fileList || [];\n }\n\n async function loadNode(key: any) {\n if (!_loadData) return;\n let data = await _loadData?.(key);\n return data?.fileList || [];\n }\n\n function Loading() {\n return (\n <div className='explorer-columns-loading'>\n <div className='loading-content'>\n <div className='loading-content-icon'>\n <Icons icon='spinner' type='Outlined' />\n </div>\n <div className='loading-content-title'>操作中 ...</div>\n </div>\n </div>\n );\n }\n\n return (\n <div className='file-continer-main'>\n {store?.loading == ApiStatusEnum.LOADING && <Loading></Loading>}\n <SelectBox\n checks={checks}\n className={cx('file-select-box', {\n [template[store?.menutype || '']?.className || '']: Boolean(\n template?.[store.menutype]?.className,\n ),\n })}\n isDrag={isDrag}\n isSelectBoxes={isSelectBoxes}\n onChange={(v: string[]) => {\n let map = store.dataMap || {};\n let param: ExplorerItem[] = [];\n v.forEach((checkedKeys: string) => {\n if (map[checkedKeys]) {\n param.push(map[checkedKeys]);\n }\n });\n\n onCheck?.(v, param);\n }}\n onDrag={() => {}}\n onEndDrag={() => {}}\n onStartDrag={() => {}}\n dataClass={template?.[store.menutype]?.dataClass}\n selectClass={template?.[store.menutype]?.selectClass}\n action={template?.[store.menutype]?.action}\n regionClass={template?.[store.menutype]?.regionClass}\n >\n {store?.menutype == 'column' && (\n <Columns\n icon={store.getIcons}\n data={store.curlist}\n checks={checks}\n onLoadData={loadData}\n onClick={onClick}\n onRename={onRename}\n onMenuClick={onMenuClick}\n onDblclick={onDblclick}\n height={height}\n width={width}\n ></Columns>\n )}\n {store?.menutype == 'table' && (\n <Tree\n type='table'\n height={height - 24}\n width={width}\n checks={checks}\n isOpenMenu={isOpenMenu}\n columns={store.columns}\n icon={store.getIcons}\n treeData={store.curlist as any}\n isload={true}\n ischeck={truncate}\n animation={false}\n showLine={false}\n onChecks={(arr: string[], param: any) => {\n onCheck?.(arr);\n }}\n onClick={onClick}\n onRename={onRename}\n onMenuClick={onMenuClick}\n onDblclick={onDblclick}\n loadData={loadNode}\n ></Tree>\n )}\n {store?.menutype == 'tile' && (\n <Tile\n width={width}\n height={height}\n size={store.menuSize}\n data={store.curlist}\n icons={store.getIcons}\n checks={checks}\n onSelect={onClick}\n onDblclick={onDblclick}\n onRename={onRename}\n onMenuClick={onMenuClick}\n loadData={loadData}\n ></Tile>\n )}\n </SelectBox>\n <ModalTab items={[]} showKey={[]}></ModalTab>\n </div>\n );\n};\n\nexport default Layout;\n","import { ExampleContext } from '../../../store';\nimport './index.less';\nimport React, { useContext, useEffect, useState } from 'react';\n\nfunction ExplorerInfo(props: any) {\n const { infoshow, getIcons, curInfo } = useContext(ExampleContext);\n const [isEdit, setIsEdit] = useState<any>(false);\n\n useEffect(() => {\n if (infoshow) {\n props?.setSize(285);\n } else {\n props?.onMinimize();\n }\n }, [infoshow]);\n\n function rednerInfo() {\n return (\n <div className='panel-info'>\n <div className='panel-col'>\n <div className='title'>路径:</div>\n <div className='content'>{curInfo?.pathDisplay || '-'}</div>\n </div>\n <div className='panel-col'>\n <div className='title'>大小:</div>\n <div className='content'>{curInfo?.size || '-'}</div>\n </div>\n <div className='panel-col'>\n <div className='title'>创建时间 :</div>\n <div className='content'>{curInfo?.createTime || '-'}</div>\n </div>\n <div className='panel-col'>\n <div className='title'>修改时间 :</div>\n <div className='content'>{curInfo?.fixTime || '-'}</div>\n </div>\n <div className='panel-col'>\n <div className='title'>创建人 :</div>\n <div className='content'>{}</div>\n </div>\n <div className='panel-col'>\n <div className='title'>修改人 :</div>\n <div className='content'>{}</div>\n </div>\n <div className='panel-col'>\n <div className='title'>描述说明 :</div>\n <div className='content'>\n {isEdit ? (\n <textarea autoFocus rows={1}></textarea>\n ) : (\n <div\n className='content-test'\n onClick={() => {\n setIsEdit(true);\n }}\n ></div>\n )}\n </div>\n </div>\n </div>\n );\n }\n\n return (\n <div className='frame-main-info'>\n <div className='info-header'>\n <div className='file-icon'>{getIcons(curInfo, '')}</div>\n <div className='file-name'>\n <div className='title'>{curInfo?.title}</div>\n <div className='desc'>\n <span>{curInfo?.size || '-'},</span>\n <span>{curInfo?.fixTime || '-'}</span>\n </div>\n </div>\n </div>\n <div className='info-content'>{rednerInfo()}</div>\n <div className='tab-group-line'></div>\n </div>\n );\n}\nexport default ExplorerInfo;\n","import './index.less';\nimport { css } from '../css';\nimport { useContext, useEffect } from 'react';\n\nimport { ExplorerProps } from '../';\nimport { ExampleContext } from '../store';\n\nimport { Draggable } from '@gingkoo/pandora-ui';\nimport ExplorerHead from './components/explorer-head';\nimport ExplorerMenu from './components/explorer-menu';\nimport ExplorerMain from './components/explorer-main';\nimport ExplorerInfo from './components/explorer-info';\n\n//布局操作\n\nconst Layout = (props: ExplorerProps) => {\n const { isHeader = true, isNavtab = true, defaultViewType } = props;\n const store = useContext(ExampleContext);\n useEffect(() => {\n if (defaultViewType) {\n store?.setMenutype(defaultViewType);\n }\n }, [defaultViewType]);\n\n return (\n <div className='frame-explorer-main'>\n <Draggable\n placement={'horizontal'}\n poi={isNavtab ? [200] : [0, 'max']}\n fix={[false, true]}\n rang={[10, 350]}\n >\n <ExplorerMenu {...props} />\n <div className='frame-right'>\n {isHeader && (\n <div className='frame-header'>\n <ExplorerHead />\n </div>\n )}\n <div className='frame-main'>\n <Draggable\n className={css`\n position: absolute;\n width: 100%;\n left: 0;\n `}\n placement={'horizontal'}\n poi={['max']}\n fix={[false, true]}\n rang={[380, 285]}\n >\n <ExplorerMain {...props} />\n <ExplorerInfo {...props}></ExplorerInfo>\n </Draggable>\n </div>\n </div>\n </Draggable>\n </div>\n );\n};\n\nexport default Layout;\n","import './index.less';\nimport './components/tree/css/index.less';\nimport './static/css/index.css';\n\nimport cx from 'classnames';\nimport { FC, useEffect, useState } from 'react';\nimport { ExplorerItem, ExplorerProps } from './types';\nimport { ApiStatusEnum } from './enum';\n\nimport { ExampleContext } from './store';\n\nimport {\n AlbumSvg,\n FavoriteSvg,\n LinkSvg,\n NetdiskSvg,\n RecentlySvg,\n RecycleSvg,\n ShareLinkSvg,\n SpaceSvg,\n SuffixIcon,\n TextSvg,\n} from './components/icons';\nimport Layout from './layout';\n\nconst defaultColumns = [\n {\n title: '姓名',\n key: 'title',\n width: 300,\n },\n {\n title: '文件类型',\n key: 'suffix',\n width: 250,\n },\n {\n title: '大小',\n key: 'size',\n width: 200,\n },\n {\n title: '修改时间',\n key: 'fixdate',\n width: 280,\n },\n {\n title: '创建时间',\n key: 'createdate',\n width: 280,\n },\n];\n\nconst Explorer: FC<ExplorerProps> = (props) => {\n const { loadData: _loadData, data, columns } = props;\n\n const [pathDisplay, setPathDisplay] = useState<string>('');\n const [menuSize, setMenuSize] = useState<number>(80);\n const [curlist, setCurList] = useState<ExplorerItem[]>(data);\n const [curInfo, setCurInfo] = useState<ExplorerItem | null>(null);\n const [dataMap, setDataMap] = useState<{ [key: string]: ExplorerItem } | null>({});\n\n const [menutype, setMenutype] = useState<'tile' | 'table' | 'column'>('tile');\n const [infoshow, setInfoShow] = useState<boolean>(false);\n const [loading, setLoading] = useState<ApiStatusEnum>(ApiStatusEnum.READY);\n const [log, setLog] = useState<string[]>([]);\n\n const Icons = (v: any, className: string, style?: any) => {\n const icon = new Map([\n ['favorite', <FavoriteSvg />],\n ['space', <SpaceSvg />],\n ['netdisk', <NetdiskSvg />],\n ['album', <AlbumSvg />],\n ['recycle', <RecycleSvg />],\n ['recently', <RecentlySvg />],\n ['coordination', <LinkSvg />],\n ['text', <TextSvg />],\n ['share', <ShareLinkSvg />],\n ]);\n\n if (v?.label) {\n return (\n <span\n className={cx(`explorer-label-icon ${className || ''}`)}\n style={{\n ...(style || {}),\n }}\n >\n <div\n style={{\n background: 'red',\n }}\n ></div>\n </span>\n );\n }\n\n if (v?.key && icon.has(v?.key)) {\n return (\n <span\n className={cx(`${className || ''}`)}\n style={{\n ...(style || {}),\n }}\n >\n {icon.get(v.key)}\n </span>\n );\n }\n if (v?.suffix) {\n return <SuffixIcon className={cx(`${className || ''}`)} suffix={v.suffix}></SuffixIcon>;\n }\n return <SuffixIcon className={cx(`${className || ''}`)} suffix={'folder'}></SuffixIcon>;\n };\n\n useEffect(() => {\n const addLevel = (data: any, map: any) => {\n let i = 0;\n while (i < data.length) {\n let item = data[i];\n map[item.key] = item;\n if (Array.isArray(item.children) && item.children.length > 0) {\n addLevel(item.children, map);\n }\n i++;\n }\n return map;\n };\n let map = addLevel(curlist, {});\n setDataMap(map);\n }, [curlist]);\n\n return (\n <ExampleContext.Provider\n value={{\n dataMap,\n curlist,\n log,\n curInfo,\n\n menutype,\n pathDisplay,\n columns: columns || defaultColumns,\n loading,\n menuSize,\n infoshow,\n\n getIcons: Icons,\n\n setLog,\n setCurInfo,\n setInfoShow,\n setCurList,\n setMenuSize,\n setMenutype,\n setPathDisplay,\n setLoading,\n }}\n >\n <div className='explorer-container'>\n <Layout {...props} />;\n </div>\n </ExampleContext.Provider>\n );\n};\n\nexport default Explorer;\n"],"names":["fileType","ApiStatusEnum","ExampleContext","createContext","FavoriteSvg","React","createElement","className","viewBox","d","fill","SpaceSvg","NetdiskSvg","AlbumSvg","RecycleSvg","RecentlySvg","LinkSvg","TextSvg","ShareLinkSvg","UpdateSvg","version","xmlns","NullDataSvg","xmlnsXlink","gradientUnits","y2","x2","y1","x1","id","stopColor","offset","stopOpacity","xlinkHref","opacity","stroke","strokeWidth","strokeMiterlimit","transform","points","ry","rx","cy","cx","SuffixIcon","_ref","_cx","suffix","_createEmotion","createEmotion","key","flush","hydrate","merge","getRegisteredStyles","injectGlobal","keyframes","css","sheet","cache","returnDocument","element","ownerDocument","window","document","Dropdown","props","children","dropdownRender","_props$trigger","trigger","_props$placement","placement","zIndex","onExpand","_props$destroyPopupOn","destroyPopupOnHide","capture","position","style","_useState","useState","expand","setExpand","_useState2","newDiv","setNewDiv","menu","useRef","_useState3","mouse","setMouse","_useState4","root","setRoot","ref","time","_useState5","getSize","windowSize","setWindowSize","_useState6","width","height","menuSize","setMenuSize","useLayoutEffect","addEventListener","handleResize","removeEventListener","addEvent","delEvent","_window","_window2","innerWidth","innerHeight","useEffect","ids","querySelector","onclick","remove","content","newDivs","_newDivs","_content","body","current","onClick","top","left","onClone","onmouseleave","e","setTimeout","onmouseenter","clearTimeout","appendChild","createRoot","setAttribute","render","cloneElement","_content2","lie","_menu$current","_menu$current2","curX","x","curY","y","shiftX","size","getBoundingClientRect","box","right","bottom","Math","trunc","documentClose","documentMenu","_ref$current","contains","target","container","_ref$current2","resizeObserver","ResizeObserver","offsetWidth","offsetHeight","_extends","observe","cleanup","disconnect","stopPropagation","onMouseEnter","preventDefault","nativeEvent","clientX","clientY","onMouseLeave","onContextMenu","title","icon","ExplorerHead","store","useContext","pathInputRef","path","setPath","pathFocus","setFocus","handleKeyDown","altKey","setMenutype","Breadcrumb","useMemo","arr","pathDisplay","split","filter","v","map","i","Fragment","first","last","length","_templateObject","_taggedTemplateLiteralLoose","disable","Icons","type","hidden","focus","name","value","onInput","spellCheck","onBlur","Input","placeholder","clearable","Button","menutype","Slider","max","min","onChange","classname","active","infoshow","setInfoShow","fontSize","display","alignItems","justifyContent","color","isdarg","setDarg","setSize","d_value","per","round","data","onMouseOut","onMouseMove","dom","cur","num","onMouseDown","onMouseUp","TreeContext","DropIndicator","dropPosition","dropLevelOffset","indent","pointerEvents","backgroundColor","Indent","prefixCls","level","isStart","isEnd","widthStyle","baseClassName","list","_classNames","push","classNames","memo","getEntity","keyEntities","getPosition","index","isTreeNode","node","getKey","pos","undefined","fillFieldNames","fieldNames","_title","mergedTitle","convertTreeToData","rootNodes","dig","treeNodes","toArray","treeNode","_treeNode$props","rest","_objectWithoutPropertiesLoose","_excluded","dataNode","parsedChildren","flattenTreeData","treeNodeList","expandedKeys","_fillFieldNames","fieldTitles","fieldKey","fieldChildren","expandedKeySet","Set","flattenList","parent","mergedKey","fieldTitle","flattenNode","omit","concat","has","traverseDataNodes","dataNodes","callback","config","mergedConfig","externalGetKey","_mergedConfig","childrenPropName","_fillFieldNames2","mergeChildrenPropName","syntheticGetKey","processNode","pathNodes","connectNodes","parentPos","nodes","forEach","subNode","subIndex","convertDataToEntities","_temp","legacyExternalGetKey","_ref2","initWrapper","processEntity","onProcessFinished","mergedExternalGetKey","posEntities","wrapper","item","entity","getTreeNodeProps","_ref3","selectedKeys","loadedKeys","loadingKeys","checkedKeys","halfCheckedKeys","dragOverNodeKey","treeNodeProps","eventKey","expanded","indexOf","selected","loaded","loading","checked","halfChecked","String","dragOver","dragOverGapTop","dragOverGapBottom","convertNodePropsToEventData","eventData","Object","defineProperty","get","ICON_OPEN","ICON_CLOSE","defaultTitle","InternalTreeNode","_React$Component","_inheritsLoose","_this","_len","arguments","args","Array","_key","call","apply","state","dragNodeHighlight","onSelectorClick","onNodeClick","context","isSelectable","onSelect","onCheck","onSelectorDoubleClick","onNodeDoubleClick","isDisabled","onNodeSelect","_this$props","disableCheckbox","onNodeCheck","isCheckable","targetChecked","onNodeMouseEnter","onNodeMouseLeave","onNodeContextMenu","onDragStart","onNodeDragStart","setState","_assertThisInitialized","dataTransfer","setData","error","onDragEnter","onNodeDragEnter","onDragOver","onNodeDragOver","onDragLeave","onNodeDragLeave","onDragEnd","onNodeDragEnd","onDrop","onNodeDrop","_this$props2","onNodeExpand","setSelectHandle","selectHandle","getNodeState","isLeaf","hasChildren","_this$props3","loadData","disabled","treeDisabled","checkable","treeCheckable","syncLoadData","_this$props$context","onNodeLoad","isDraggable","_this$props4","draggable","nodeDraggable","renderDragHandler","_this$props$context2","renderSwitcherIconDom","switcherIconFromProps","switcherIcon","switcherIconFromCtx","renderSwitcher","switcherIconDom","switcherCls","renderCheckbox","_this$props5","$custom","renderIcon","renderSelector","_this$props6","_this$props6$title","_this$props$context3","showIcon","treeIcon","titleRender","wrapClass","$icon","currentIcon","titleNode","$title","onDoubleClick","renderDropIndicator","_this$props7","_this$props$context4","dropIndicatorRender","direction","rootDraggable","showIndicator","mergedIndent","cacheIndent","_proto","prototype","componentDidMount","componentDidUpdate","selectable","treeSelectable","_this$props8","domRef","indentWidth","otherProps","_this$props$context5","filterTreeNode","dropContainerKey","dropTargetKey","draggingNodeKey","dataOrAriaAttributeProps","pickAttrs","aria","isEndNode","mergedDraggable","draggableWithoutDisabled","dragging","ariaSelected","Component","ContextTreeNode","Consumer","displayName","useUnmount","triggerStart","triggerEnd","_React$useState","firstMount","setFirstMount","MotionTreeNode","motion","motionNodes","motionType","onOriginMotionStart","onMotionStart","onOriginMotionEnd","onMotionEnd","treeNodeRequiredProps","visible","setVisible","_React$useContext","targetVisible","triggerMotionStart","triggerMotionEndRef","triggerMotionEnd","onVisibleChanged","nextVisible","CSSMotion","motionAppear","motionRef","motionClassName","motionStyle","restProps","_objectDestructuringEmpty","TreeNode","RefMotionTreeNode","forwardRef","findExpandedKeys","prev","next","prevLen","nextLen","abs","add","find","shorter","longer","Map","set","keys","getExpandRange","shorterStartIndex","findIndex","shorterEndNode","longerStartIndex","longerEndIndex","slice","HIDDEN_STYLE","overflow","border","padding","margin","noop","MOTION_KEY","random","MotionNode","MotionEntity","MotionFlattenData","getMinimumRangeTransitionRange","virtual","itemHeight","ceil","itemKey","getAccessibilityPath","NodeList","onVirtualScroll","focusable","activeItem","focused","tabIndex","onKeyDown","onFocus","onActiveChange","onListChangeStart","onListChangeEnd","domProps","listRef","indentMeasurerRef","useImperativeHandle","scrollTo","scroll","getIndentWidth","prevExpandedKeys","setPrevExpandedKeys","_React$useState2","prevData","setPrevData","_React$useState3","transitionData","setTransitionData","_React$useState4","transitionRange","setTransitionRange","_React$useState5","setMotionType","dataRef","latestData","diffExpanded","keyIndex","rangeNodes","newTransitionData","splice","mergedData","visibility","VirtualList","fullHeight","onVisibleChange","originList","fullList","originSet","restList","some","arrDel","clone","arrAdd","posToArr","getDragChildrenKeys","dragNodeKey","dragChildrenKeys","isLastChild","treeNodeEntity","posArr","Number","isFirstChild","calcDropPosition","event","dragNode","targetNode","startMousePosition","allowDrop","flattenedNodes","expandKeys","_abstractDropNodeEnti","_getBoundingClientRec","horizontalMouseOffset","rawDropLevelOffset","filteredExpandKeys","_keyEntities$key","abstractDropNodeEntity","nodeIndex","flattenedNode","prevNodeIndex","prevNodeKey","initialAbstractDropNodeKey","abstractDragOverEntity","includes","abstractDragDataNode","abstractDropDataNode","dropAllowed","dropNode","dropTargetPos","calcSelectedKeys","multiple","parseCheckedKeys","keyProps","isArray","conductExpandParent","keyList","conductUp","removeFromCheckedKeys","filteredKeys","isCheckDisabled","fillConductCheck","levelEntities","maxLevel","syntheticGetCheckDisabled","entities","_entity$children","childEntity","visitedKeys","allChecked","partialChecked","from","cleanConductCheck","halfKeys","_entity$children2","conductCheck","getCheckDisabled","hasEntity","levelSet","result","MAX_RETRY_TIMES","Tree","_args","destroyed","loadingRetryTimes","treeData","flattenNodes","activeKey","listChanging","prevProps","dragStartMousePosition","currentMouseOverDroppableNodeKey","createRef","_this$state","newExpandedKeys","setExpandedKeys","onWindowDragEnd","_this$state2","_node$props","_assertThisInitialize","resetDragState","_calcDropPosition","delayedDragEnterLogic","persist","_this$state3","_assertThisInitialize2","_calcDropPosition2","currentTarget","relatedTarget","cleanDragState","outsideTree","_this$getActiveItem","_this$state4","abstractDropNodeProps","getTreeNodeRequiredProps","getActiveItem","dropResult","dragNodesKeys","dropToGap","triggerExpandActionExpand","_this$state5","shiftKey","metaKey","ctrlKey","nodeItem","eventNode","expandAction","_this$state6","targetSelected","selectedNodes","selectedKey","setUncontrolledState","_this$state7","oriCheckedKeys","oriHalfCheckedKeys","checkStrictly","checkedObj","eventObj","checkedNodes","checkedKey","_conductCheck","keySet","_conductCheck2","checkedNodesPositions","loadPromise","Promise","resolve","reject","_ref$loadedKeys","_ref$loadingKeys","onLoad","promise","then","currentLoadedKeys","newLoadedKeys","prevState","onRightClick","_len2","_key2","_len3","_key3","_this$state8","_this$state9","_this$state10","targetExpanded","newFlattenTreeData","currentExpandedKeys","expandedKeysToRestore","newActiveKey","_this$props9","_this$props9$itemScro","itemScrollOffset","_this$state11","offsetActiveKey","_this$state12","_this$state13","_this$props10","which","KeyCode","UP","DOWN","expandable","LEFT","RIGHT","ENTER","SPACE","atomic","forceState","needSync","allPassed","newState","onUpdated","_this$props11","_this$props11$itemScr","componentWillUnmount","getDerivedStateFromProps","_extends2","entitiesMap","autoExpandParent","defaultExpandParent","defaultExpandAll","cloneKeyEntities","defaultExpandedKeys","defaultSelectedKeys","checkedKeyEntity","defaultCheckedKeys","_checkedKeyEntity","_checkedKeyEntity$che","_checkedKeyEntity$hal","conductKeys","_this$state14","_this$props12","showLine","_this$props12$tabInde","onScroll","rootClassName","rootStyle","scrollWidth","draggableConfig","Provider","role","defaultProps","iconFactory","getMenu","registerMenu","component","Menu","menus","child","desc","test","isValidElement","TableItem","columns","ischeck","onMenuClick","rename","onRename","param","isOpenMenu","menudata","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_callee$","_context","stop","_x","flex","autoFocus","defaultValue","setTitle","addLevel","levelIndex","api","motionName","onAppearStart","onAppearActive","scrollHeight","onLeaveStart","onLeaveActive","_props$type","checks","_widht","_props$isload","isload","_props$ischeck","_props$showLine","_props$animation","animation","onChecks","tree","header","setRename","motionshow","seTmotionShow","setWidth","w","reduce","floor","s_icon","open","s_table_icon","setLeaf","curKey","loopLeaf","lev","l","getNewTreeData","loop","levelkey","onLoadData","_child","sent","console","log","table","_e$target","scrollLeft","_e$target2","Header","onWidhtChange","_header$current","cloneDeep","TreeItem","defaultmenu","setIsDrag","dragindex","setDargIndex","up","a","diff","ExplorerMenu","viewHeight","icons","_x2","_loadData","abrupt","setLoading","LOADING","setCurList","fileList","setCurInfo","READY","loadNode","_x3","_loadNode","_callee2","_callee2$","_context2","getIcons","setPathDisplay","VirtualScroll","_containerRef$current3","renderItem","scrollTop","setScrollTop","containerRef","setdata","items","handleScroll","_containerRef$current","_containerRef$current2","visibleCount","clientHeight","startIdx","endIdx","overflowY","paddingTop","Tile","select","_props$checks","_props$size","onDblclick","rekey","setRekey","itemSize","setList","col","setCol","originalArray","chunkSize","resultArray","acc","curr","chunkIndex","s","pic","lineHeight","src","rows","lastIndexOf","setSelectionRange","SelectBox","_props$className","dataClass","_props$selectClass","selectClass","regionClass","_props$isDrag","isDrag","_props$isSelectBoxes","isSelectBoxes","_props$action","action","selectionRef","clickRef","_dom","selects","setSelect","show","stageClickInfo","setStageClickInfo","handleBodyMousemove","handleBodyMouseup","isSelectTarget","idx","querySelectorAll","dataDom","getAttribute","_cur$current","_cur$current2","cssText","createBox","empty","selectionDom","region","_region","pX","pY","sTop","sLeft","sWidth","sHeight","_v$getBoundingClientR","sRight","sBottom","leftCover","cmidst","rightCover","topCover","midst","bottomCover","createVDom","_box3","_box","_target","_box2","_target2","_cur","cloneNode","_target$current","_box$current","button","ReactDOM","createPortal","Item","acitve","isedit","onEdit","setValue","end","Columns","_w","_props$checks2","layer","setLayer","select_col","setSelectCol","select_file","setSelectFile","select_info","setSelectInfo","_useState7","edit","setEdit","_useState8","isdrag","setIsdarg","avg","handleMousemove","renderList","loaddata","_data","setlevel","Modal","isfocus","onMin","onMinimize","onMaximize","minimize","mask","drag","setDrag","D_value","win_size","setWinsize","ismax","setMax","roots","onClose","_content$current","classList","_content$current2","_e$nativeEvent","_e$nativeEvent2","layerX","layerY","_content$current3","_content$current4","_content$current5","_content$current6","_content$current7","_content$current8","_content$current9","_content$current10","_mask$current","_content$current11","c_lie","ModalTab","showKey","shrink","setShow","_shrink","setShink","_shrink$current","_shrink$current2","template","tile","column","Layout","_template","_template$store$menut","_template$store$menut2","_template$store$menut3","_template$store$menut4","_template$store$menut5","viewWidth","isNavtab","_props$isOpenMenu","_loadData2","Loading","Boolean","dataMap","onDrag","onEndDrag","onStartDrag","curlist","truncate","ExplorerInfo","_useContext","curInfo","isEdit","setIsEdit","rednerInfo","createTime","fixTime","_props$isHeader","isHeader","_props$isNavtab","defaultViewType","Draggable","poi","fix","rang","ExplorerMain","defaultColumns","Explorer","setDataMap","_useState9","setLog","label","background"],"mappings":"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","x_google_ignoreList":[0]}
|