@gingkoo/pandora-explorer 0.0.1-alpha.5 → 0.0.1-alpha.7

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.
@@ -1 +0,0 @@
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/Draggable/index.tsx","../../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 extends ExplorerProps {\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\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 ZoomUpSvg() {\n return (\n <svg className='icon' viewBox='0 0 1024 1024' version='1.1' xmlns='http://www.w3.org/2000/svg'>\n <path d='M448.2 184c70.6 0 136.9 27.5 186.8 77.4s77.4 116.2 77.4 186.8S684.9 585.1 635 635s-116.2 77.4-186.8 77.4-136.9-27.5-186.8-77.4S184 518.7 184 448.2c0-70.6 27.5-136.9 77.4-186.8S377.6 184 448.2 184m0-88c-90.1 0-180.3 34.4-249 103.2-137.5 137.5-137.5 360.5 0 498.1 68.8 68.8 158.9 103.2 249 103.2s180.3-34.4 249-103.2c137.5-137.5 137.5-360.5 0-498.1C628.4 130.4 538.3 96 448.2 96z'></path>\n <path d='M697.2 653.2c-11.3 0-22.5 4.3-31.1 12.9-17.2 17.2-17.2 45.1 0 62.3l186.8 186.8c8.6 8.6 19.9 12.9 31.1 12.9 11.3 0 22.5-4.3 31.1-12.9 17.2-17.2 17.2-45.1 0-62.3L728.3 666.1c-8.6-8.6-19.8-12.9-31.1-12.9zM567.3 417.1c-8-8-19-12.9-31.1-12.9h-176c-24.3 0-44.1 19.7-44.1 44.1 0 12.2 4.9 23.2 12.9 31.1 8 8 19 12.9 31.1 12.9h176.1c24.3 0 44.1-19.7 44.1-44.1 0-12.1-5-23.2-13-31.1z'></path>\n <path d='M479.3 329c-8-8-19-12.9-31.1-12.9-24.3 0-44.1 19.7-44.1 44.1v176.1c0 12.2 4.9 23.2 12.9 31.1 8 8 19 12.9 31.1 12.9 24.3 0 44.1-19.7 44.1-44.1l0.1-176c-0.1-12.2-5-23.2-13-31.2z'></path>\n </svg>\n );\n}\n\n//收藏文件夹\nexport function FavSvg() {\n return (\n <svg className='icon' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg'>\n <path d='M928.891803 415.759306c-4.862772-14.704022-18.294016-25.021413-35.998232-27.56697L655.722604 354.079209 549.658066 141.429964c-7.909044-15.885669-21.976165-25.384918-37.634515-25.384918s-29.737759 9.499249-37.634515 25.362391L368.313235 354.079209 131.141244 388.192336c-17.726743 2.545557-31.180514 12.862948-36.009496 27.589497-4.841269 14.726549-0.057342 30.908142 12.738025 43.247848L279.510565 624.578952l-40.52105 233.762214c-2.420634 13.95551 0.670692 26.818458 8.693395 36.226574 7.260879 8.545945 18.055434 13.409741 29.6241 13.409741 7.499461 0 15.090054-1.95371 22.578252-5.864202L512.023551 791.754266l212.127027 110.359013c19.022049 9.907808 40.226151 6.500079 52.202352-7.545539 8.043182-9.408117 11.089454-22.271065 8.682131-36.226574l-40.498523-233.762214L916.165041 459.029681C928.982935 446.643897 933.710544 430.485856 928.891803 415.759306zM690.719406 592.580296c-7.13698 6.909662-10.409547 16.81747-8.726162 26.591139l36.77132 212.263213-192.607334-100.221839c-8.861324-4.635453-19.408081-4.635453-28.270429 0l-192.627814 100.221839 36.793847-212.263213c1.692601-9.77367-1.568702-19.681477-8.726162-26.591139l-155.846254-150.32303 215.365803-30.975723c9.885281-1.431492 18.431226-7.568066 22.862912-16.431438l96.314419-193.104978 96.315443 193.104978c4.430662 8.863372 12.976607 14.998922 22.861888 16.431438l215.37809 30.975723L690.719406 592.580296z'></path>\n </svg>\n );\n}\n\n//分享\nexport function ShareSvg() {\n return (\n <svg className='icon' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg'>\n <path\n d='M506.8 107.1C286 107.1 107.1 286 107.1 506.8S286 906.5 506.8 906.5s399.7-178.9 399.7-399.7c0.1-220.7-178.9-399.7-399.7-399.7z m243.7 404.2L538.9 668.9c-3.7 2.9-8.4 4.6-13.5 4.6-11.8 0-21.4-9.1-22.2-20.6v-77.7h-59c-73.3 0-139.6 28.4-188.9 74.8-1.6 1.2-3.5 2-5.7 2-5.1 0-9.3-4.1-9.3-9.2 0-0.5 0.1-1 0.1-1.5 24.7-121.4 134.2-213.5 262.8-218.6v-78.4c0.9-11.5 10.4-20.6 22.2-20.6 4.8 0 9.4 1.6 13 4.3l212.3 158.1c3.5 3.1 5.8 7.6 5.8 12.5 0.1 5.1-2.3 9.6-6 12.7z'\n fill='#31dc48'\n ></path>\n </svg>\n );\n}\n//收藏标签\nexport function FavTagSvg() {\n return (\n <svg className='icon' viewBox='0 0 1024 1024' version='1.1' xmlns='http://www.w3.org/2000/svg'>\n <path d='M768 42.666667a128 128 0 0 1 128 128v768a42.666667 42.666667 0 0 1-57.642667 39.936l-326.4-122.368-326.314666 122.368a42.666667 42.666667 0 0 1-57.386667-35.072L128 938.666667V170.666667a128 128 0 0 1 128-128z m0 85.333333H256a42.666667 42.666667 0 0 0-42.666667 42.666667v706.389333l283.690667-106.325333a42.666667 42.666667 0 0 1 24.064-1.749334l5.888 1.706667L810.666667 877.098667V170.666667a42.666667 42.666667 0 0 0-37.674667-42.368L768 128z m-235.178667 119.765333a36.693333 36.693333 0 0 1 9.386667 9.386667l21.632 31.36a42.666667 42.666667 0 0 0 22.954667 16.682667l36.522666 10.88a36.693333 36.693333 0 0 1 18.688 57.429333l-23.210666 30.293333a42.666667 42.666667 0 0 0-8.746667 26.965334l0.938667 38.144a36.693333 36.693333 0 0 1-48.810667 35.456l-35.968-12.672a42.666667 42.666667 0 0 0-28.416 0l-35.968 12.672a36.693333 36.693333 0 0 1-48.810667-35.456l0.938667-38.144a42.666667 42.666667 0 0 0-8.746667-26.965334l-23.210666-30.293333a36.693333 36.693333 0 0 1 18.688-57.429333l36.522666-10.88a42.666667 42.666667 0 0 0 22.954667-16.64l21.674667-31.445334a36.693333 36.693333 0 0 1 50.986666-9.386666z'></path>\n </svg>\n );\n}\n\nexport function ArrowDown() {\n return (\n <svg className='icon' viewBox='0 0 1024 1024' version='1.1' xmlns='http://www.w3.org/2000/svg'>\n <path d='M862.485 481.154H234.126l203.3-203.3c12.497-12.497 12.497-32.758 0-45.255s-32.758-12.497-45.255 0L135.397 489.373c-12.497 12.497-12.497 32.758 0 45.254l256.774 256.775c6.249 6.248 14.438 9.372 22.627 9.372s16.379-3.124 22.627-9.372c12.497-12.497 12.497-32.759 0-45.255l-203.3-203.301h628.36c17.036 0 30.846-13.81 30.846-30.846s-13.81-30.846-30.846-30.846z'></path>\n </svg>\n );\n}\n\nexport function LoadingSvg() {\n return (\n <svg className='icon' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg'>\n <path\n d='M512 42.666667c-25.6 0-42.666667 17.066667-42.666667 42.666666v170.666667c0 25.6 17.066667 42.666667 42.666667 42.666667s42.666667-17.066667 42.666667-42.666667V85.333333c0-25.6-17.066667-42.666667-42.666667-42.666666z m0 682.666666c-25.6 0-42.666667 17.066667-42.666667 42.666667v170.666667c0 25.6 17.066667 42.666667 42.666667 42.666666s42.666667-17.066667 42.666667-42.666666v-170.666667c0-25.6-17.066667-42.666667-42.666667-42.666667zM238.933333 179.2c-17.066667-17.066667-42.666667-12.8-59.733333 4.266667-17.066667 17.066667-17.066667 42.666667 0 59.733333L298.666667 362.666667c17.066667 17.066667 42.666667 17.066667 59.733333 4.266666 17.066667-17.066667 17.066667-42.666667 4.266667-59.733333l-4.266667-4.266667-119.466667-123.733333zM725.333333 661.333333c-17.066667-17.066667-42.666667-12.8-59.733333 4.266667-17.066667 17.066667-17.066667 42.666667 0 59.733333l119.466667 119.466667c17.066667 17.066667 42.666667 17.066667 59.733333 4.266667s17.066667-42.666667 4.266667-59.733334l-4.266667-4.266666-119.466667-123.733334zM298.666667 512c0-25.6-17.066667-42.666667-42.666667-42.666667H85.333333c-25.6 0-42.666667 17.066667-42.666666 42.666667s17.066667 42.666667 42.666666 42.666667h170.666667c25.6 0 42.666667-17.066667 42.666667-42.666667z m640-42.666667h-170.666667c-25.6 0-42.666667 17.066667-42.666667 42.666667s17.066667 42.666667 42.666667 42.666667h170.666667c25.6 0 42.666667-17.066667 42.666666-42.666667s-17.066667-42.666667-42.666666-42.666667zM302.933333 661.333333l-119.466666 119.466667c-17.066667 17.066667-17.066667 42.666667-4.266667 59.733333s42.666667 17.066667 59.733333 4.266667l4.266667-4.266667 119.466667-119.466666c17.066667-17.066667 17.066667-42.666667 4.266666-59.733334s-46.933333-17.066667-64 0z m388.266667-285.866666c12.8 0 21.333333-4.266667 29.866667-12.8l119.466666-119.466667c17.066667-17.066667 17.066667-42.666667 4.266667-59.733333-17.066667-17.066667-42.666667-17.066667-59.733333-4.266667l-4.266667 4.266667-119.466667 119.466666c-17.066667 17.066667-17.066667 42.666667 0 59.733334 8.533333 8.533333 21.333333 12.8 29.866667 12.8z'\n p-id='22183'\n ></path>\n </svg>\n );\n}\n//箭头向左\nexport function ArrowLeftSvg() {\n return (\n <svg className='icon' viewBox='0 0 1000 1000' version='1.1' xmlns='http://www.w3.org/2000/svg'>\n <path d='M439.312 227.986l-257.492 257.492c-20.11 20.11-20.11 52.709 0 72.819l257.492 257.492c20.11 20.11 52.709 20.11 72.819 0s20.11-52.709 0-72.819l-169.585-169.585h493.664c28.453 0 51.499-23.046 51.499-51.499s-23.046-51.499-51.499-51.499h-493.664l169.585-169.585c10.043-10.042 15.089-23.226 15.089-36.41s-5.021-26.367-15.089-36.41c-20.11-20.11-52.709-20.11-72.819 0z'></path>\n </svg>\n );\n}\n\n//搜索\nexport function SearchSvg() {\n return (\n <svg className='icon' viewBox='0 0 1109 1024' version='1.1' xmlns='http://www.w3.org/2000/svg'>\n <path\n d='M176.213333 139.605333c-166.656 166.656-169.301333 434.090667-5.973333 597.333334 158.890667 159.061333 416.682667 160.682667 583.936 6.826666l3.242667-2.986666 223.146666 223.232c14.848 14.933333 38.4 16.213333 54.698667 5.12l5.802667-4.864a42.837333 42.837333 0 0 0-0.170667-60.586667L813.738667 676.522667c119.210667-166.144 106.325333-396.458667-40.106667-542.976-163.328-163.242667-430.762667-160.597333-597.418667 6.058666z m60.330667 60.330667C370.090667 66.389333 583.509333 64.256 713.216 193.962667c111.104 111.018667 126.634667 285.866667 40.789333 418.730666l-9.557333 14.08-20.138667 28.16-27.904 26.026667c-134.4 123.562667-340.053333 121.514667-465.92-4.266667-129.706667-129.706667-127.488-343.210667 6.058667-476.757333z'\n fill='#666666'\n ></path>\n </svg>\n );\n}\n\nexport function ArrowRightSvg() {\n return (\n <svg className='icon' viewBox='0 0 1024 1024' version='1.1' xmlns='http://www.w3.org/2000/svg'>\n <path d='M862.485 481.154H234.126l203.3-203.3c12.497-12.497 12.497-32.758 0-45.255s-32.758-12.497-45.255 0L135.397 489.373c-12.497 12.497-12.497 32.758 0 45.254l256.774 256.775c6.249 6.248 14.438 9.372 22.627 9.372s16.379-3.124 22.627-9.372c12.497-12.497 12.497-32.759 0-45.255l-203.3-203.301h628.36c17.036 0 30.846-13.81 30.846-30.846s-13.81-30.846-30.846-30.846z'></path>\n </svg>\n );\n}\nexport function ArrowTopSvg() {\n return (\n <svg className='icon' viewBox='0 0 1000 1000' version='1.1' xmlns='http://www.w3.org/2000/svg'>\n <path d='M796.014 439.312l-257.492-257.492c-20.11-20.11-52.709-20.11-72.819 0l-257.492 257.492c-20.11 20.11-20.11 52.709 0 72.819s52.709 20.11 72.819 0l169.585-169.585v493.664c0 28.453 23.046 51.499 51.499 51.499s51.499-23.046 51.499-51.499v-493.664l169.585 169.585c10.042 10.043 23.226 15.089 36.41 15.089s26.367-5.021 36.41-15.089c20.11-20.11 20.11-52.709 0-72.819z'></path>\n </svg>\n );\n}\n\nexport function AngleRightSvg() {\n return (\n <svg className='icon' viewBox='0 0 1024 1024' version='1.1' xmlns='http://www.w3.org/2000/svg'>\n <path d='M761.055557 532.128047c0.512619-0.992555 1.343475-1.823411 1.792447-2.848649 8.800538-18.304636 5.919204-40.703346-9.664077-55.424808L399.935923 139.743798c-19.264507-18.208305-49.631179-17.344765-67.872168 1.888778-18.208305 19.264507-17.375729 49.631179 1.888778 67.872168l316.960409 299.839269L335.199677 813.631716c-19.071845 18.399247-19.648112 48.767639-1.247144 67.872168 9.407768 9.791372 21.984142 14.688778 34.560516 14.688778 12.000108 0 24.000215-4.479398 33.311652-13.439914l350.048434-337.375729c0.672598-0.672598 0.927187-1.599785 1.599785-2.303346 0.512619-0.479935 1.056202-0.832576 1.567101-1.343475C757.759656 538.879828 759.199462 535.391265 761.055557 532.128047z'></path>\n </svg>\n );\n}\n\nexport function OutdentSvg() {\n return (\n <svg className='icon' viewBox='0 0 1024 1024' version='1.1' xmlns='http://www.w3.org/2000/svg'>\n <path d='M64 128c0-35.4 28.6-64 64-64h768c35.4 0 64 28.6 64 64s-28.6 64-64 64H128C92.6 192 64 163.4 64 128z m384 256c0-35.4 28.6-64 64-64h384c35.4 0 64 28.6 64 64s-28.6 64-64 64H512c-35.4 0-64-28.6-64-64z m64 192h384c35.4 0 64 28.6 64 64s-28.6 64-64 64H512c-35.4 0-64-28.6-64-64s28.6-64 64-64zM64 896c0-35.4 28.6-64 64-64h768c35.4 0 64 28.6 64 64s-28.6 64-64 64H128c-35.4 0-64-28.6-64-64z m0.4-358.8c-16.4-12.8-16.4-37.8 0-50.6L268.2 328c21-16.4 51.6-1.4 51.6 25.2v317.4c0 26.6-30.6 41.6-51.6 25.2L64.4 537.2z'></path>\n </svg>\n );\n}\n\nexport function CaretRight() {\n return (\n <svg className='icon' viewBox='0 0 1024 1024' version='1.1' xmlns='http://www.w3.org/2000/svg'>\n <path d='M159.24 128.8v766.4c0 80.38 92.44 125.62 156 76.3l512.18-398.12a96.62 96.62 0 0 0-2.88-154.74L312.28 50.34C248.36 4.38 159.24 50 159.24 128.8z'></path>\n </svg>\n );\n}\n\nexport function CircleCheckSvg() {\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 981.333333C252.8 981.333333 42.666667 771.2 42.666667 512S252.8 42.666667 512 42.666667s469.333333 210.133333 469.333333 469.333333-210.133333 469.333333-469.333333 469.333333z m0-85.333333a384 384 0 1 0 0-768 384 384 0 0 0 0 768z m-85.333333-316.330667l225.834666-225.834666 60.330667 60.330666L426.666667 700.330667l-158.165334-158.165334 60.330667-60.330666L426.666667 579.669333z'></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 './index.less';\nimport React, {\n useState,\n useRef,\n useEffect,\n useMemo,\n CSSProperties,\n useImperativeHandle,\n} from 'react';\nimport { cx } from '@emotion/css';\n\n/**\n * TODO.\n * - 嵌套使用\n * - 最多支持两个子元素 和无数个固定元素 固定元素不能在中间\n * - 目前子元素必须是两个\n */\n\nexport interface DraggableProps {\n ref?: any;\n style?: React.CSSProperties;\n className?: string;\n placement?: 'horizontal' | 'vertical'; // 布局方式 默认 horizontal\n poi?: Array<number | 'max'>; // 线的位置\n fix?: boolean[]; // 默认全不固定\n rang?: number[]; // 每个子元素最小宽度/最小高度 默认不填是 0\n children: React.ReactNode;\n}\n\nconst Draggable: React.FC<DraggableProps> = React.forwardRef(\n (\n {\n className,\n style,\n placement = 'horizontal',\n poi: _poi,\n fix = [false, false],\n rang = [0, 0],\n children,\n },\n ref,\n ) => {\n const boxRef = useRef<HTMLDivElement | null>(null);\n const clickInfoRef = useRef<{ x: number; i: number; w: number }>({ x: 0, i: 0, w: 0 });\n const sashPlacement = placement === 'horizontal' ? 'vertical' : 'horizontal';\n const [sashClicked, setSashClicked] = useState(-1); // 不等于 -1 代表点击了\n const [minimum, setMinimum] = useState(false);\n const [maximum, setMaximum] = useState(false);\n const [poi, setPoi] = useState(_poi);\n const [pSize, setParentSize] = useState({\n width: 0,\n height: 0,\n });\n\n useImperativeHandle(ref, () => {\n return {\n // 父组件宽高\n parentSize: pSize,\n\n // 组件是否最大化\n isMaximize: (index: number) => {\n let ps = placement === 'horizontal' ? pSize.width : pSize.height;\n\n if (index) {\n return poi[0] === 0;\n }\n\n return calcMax(poi[0]) === ps;\n },\n\n // 组件是否最小化\n isMinimize: (index: number) => {\n let ps = placement === 'horizontal' ? pSize.width : pSize.height;\n\n if (index) {\n return calcMax(poi[0]) === ps;\n }\n\n return poi[0] === 0;\n },\n\n // 组件最大化\n onMaximize,\n\n // 组件最小化\n onMinimize,\n // 设置组件大小\n setSize,\n };\n });\n\n useEffect(() => {\n // 监听元素大小改变\n const ob = resizeObserver();\n document.addEventListener('mouseleave', cancelDrag);\n\n return () => {\n ob && boxRef.current && ob.unobserve(boxRef.current!);\n document.removeEventListener('mouseleave', cancelDrag);\n };\n }, []);\n\n function resizeObserver() {\n const targetElement = boxRef.current!;\n\n const resizeObserver = new ResizeObserver((entries) => {\n for (const entry of entries) {\n const { width, height } = entry.contentRect;\n setParentSize({ width, height });\n }\n });\n\n resizeObserver.observe(targetElement);\n\n return resizeObserver;\n }\n\n function handleMouseMove(e: any) {\n if (~sashClicked) {\n let x = placement === 'horizontal' ? e.clientX || e.pageX : e.clientY || e.pageY;\n\n let $_width = x - clickInfoRef.current.x + clickInfoRef.current.w;\n let index = clickInfoRef.current.i;\n let min = rang[index];\n let max = (placement === 'horizontal' ? pSize.width : pSize.height) - rang.slice(-1)[0];\n\n setMinimum(false);\n setMaximum(false);\n\n if ($_width <= min) {\n $_width = min;\n setMinimum(true);\n } else if ($_width >= max) {\n $_width = max;\n setMaximum(true);\n }\n let $_w2 = placement === 'horizontal' ? pSize.width - $_width : pSize.height - $_width; //第二个模块宽或高\n setPoi([$_width, $_w2]); // TODO.先这么写\n }\n }\n\n function getElementRect(index: number) {\n let curPoi = !index ? 0 : calcMax(poi[index - 1]);\n\n let w = 0;\n if (placement === 'horizontal') {\n curPoi = Math.min(curPoi, pSize.width);\n\n if (index == poi.length - 1 && poi.length > 1) {\n if (fix[index] && poi.length > 1) {\n w = calcMax(poi[index] || 0);\n curPoi = Math.min(pSize.width - w, pSize.width);\n } else {\n w = pSize.width - curPoi;\n }\n } else if (poi[index] === void 0) {\n w = pSize.width - curPoi;\n } else {\n if (fix[index] && poi.length > 1) {\n w = Math.min(calcMax(poi[index] || 0), pSize.width);\n } else {\n if (poi.length > 1) {\n w = pSize.width - calcMax(poi[index + 1] || 0);\n } else {\n w = Math.min(calcMax(poi[index]), pSize.width) - curPoi;\n }\n }\n }\n }\n\n if (placement === 'vertical') {\n if (index == poi.length - 1 && poi.length > 1) {\n if (fix[index] && poi.length > 1) {\n w = calcMax(poi[index] || 0);\n curPoi = Math.min(pSize.height - w, pSize.height);\n } else {\n w = pSize.height - curPoi;\n }\n } else if (poi[index] === void 0) {\n w = pSize.height - curPoi;\n } else {\n if (fix[index] && poi.length > 1) {\n w = Math.min(calcMax(poi[index] || 0), pSize.height);\n } else {\n if (poi.length > 1) {\n w = pSize.height - calcMax(poi[index + 1] || 0);\n } else {\n w = Math.min(calcMax(poi[index]), pSize.height) - curPoi;\n }\n }\n }\n // curPoi = Math.min(curPoi, pSize.height);\n // if (poi[index] === void 0) {\n // // 最后一个\n // w = pSize.height - curPoi;\n // } else {\n // w = Math.min(calcMax(poi[index]), pSize.height) - curPoi;\n // }\n }\n return {\n p: curPoi,\n w,\n };\n }\n\n function handleMouseDown(e: any, index: number) {\n let x = placement === 'horizontal' ? e.clientX || e.pageX : e.clientY || e.pageY;\n clickInfoRef.current = {\n x,\n i: index,\n w: getElementRect(index).w,\n };\n setSashClicked(index);\n }\n\n function cancelDrag() {\n setSashClicked(-1);\n }\n\n function onMaximize(index: number) {\n // 最大化\n if (index) {\n setPoi([0]);\n } else {\n setPoi(['max']);\n }\n }\n\n function onMinimize(index: number) {\n // 最小化\n if (index) {\n setPoi(['max']);\n } else {\n setPoi([0]);\n }\n }\n\n function setSize(index: number, size: number) {\n // 设置大小\n let ps = placement === 'horizontal' ? pSize.width : pSize.height;\n\n let s = Math.min(size, ps);\n setPoi([index ? ps - s : s, index ? s : ps - s]);\n return s;\n }\n\n const childrenDom = useMemo(() => {\n return React.Children.map(children, (child: any, index) => {\n let style: CSSProperties = {};\n let { p, w } = getElementRect(index);\n\n let ps = pSize.height;\n let viewWidth = pSize.width;\n let viewHeight = pSize.height;\n if (placement === 'horizontal') {\n ps = pSize.width;\n style.left = p;\n style.height = '100%';\n style.width = viewWidth = w;\n }\n\n if (placement === 'vertical') {\n style.top = p;\n style.width = '100%';\n style.height = viewHeight = w;\n }\n let isMinimize = !w;\n let isMaximize = w === ps;\n if (!pSize.height || !pSize.width) return null;\n return (\n <div\n className={cx('split-view-view', { visible: !isMinimize })}\n key={index}\n style={style}\n >\n {typeof child?.type === 'string' || typeof child === 'string'\n ? child\n : React.cloneElement(child, {\n viewWidth,\n viewHeight,\n parentSize: pSize,\n isMaximize,\n isMinimize,\n onMaximize: () => {\n onMaximize(index);\n },\n onMinimize: () => {\n onMinimize(index);\n },\n setSize: (size: number) => {\n setSize(index, size);\n },\n })}\n </div>\n );\n });\n }, [placement, children, poi, pSize]);\n\n function calcMax(size: number | 'max'): number {\n return size === 'max' ? (placement === 'horizontal' ? pSize.width : pSize.height) : size;\n }\n\n const sashDom = useMemo(() => {\n // poi只有一个或有一个为0时\n let hasZero = poi.filter((v) => {\n return v === 0 || v === 'max';\n });\n if (hasZero.length > 0) return null;\n\n // poi需要配合固定时;\n if (poi.length > 1) {\n let style: CSSProperties = {};\n let it = calcMax(poi[0]);\n if (fix[1]) {\n it = calcMax(poi[1]);\n\n if (placement === 'horizontal') {\n it = pSize.width - it;\n style.left = it - 2.5;\n }\n if (placement === 'vertical') {\n it = pSize.height - it;\n style.top = it - 2.5;\n }\n } else {\n if (placement === 'horizontal') {\n it = Math.min(it, pSize.width);\n style.left = it - 2.5;\n }\n if (placement === 'vertical') {\n it = Math.min(it, pSize.height);\n style.top = it - 2.5;\n }\n }\n\n return (\n <div\n // key={index}\n className={cx('code-sash', sashPlacement, { active: sashClicked === 0 })}\n style={style}\n onMouseDown={(e) => handleMouseDown(e, 0)}\n onMouseUp={cancelDrag}\n ></div>\n );\n }\n\n return poi.map((it, index) => {\n it = calcMax(it);\n\n let style: CSSProperties = {};\n if (placement === 'horizontal') {\n it = Math.min(it, pSize.width);\n style.left = it - 2.5;\n }\n if (placement === 'vertical') {\n it = Math.min(it, pSize.height);\n style.top = it - 2.5;\n }\n return (\n <div\n key={index}\n className={cx('code-sash', sashPlacement, { active: sashClicked === index })}\n style={style}\n onMouseDown={(e) => handleMouseDown(e, index)}\n onMouseUp={cancelDrag}\n ></div>\n );\n });\n }, [placement, poi, pSize, sashClicked]);\n\n return (\n <div className={cx('Draggable', className, placement)} style={style}>\n <div className={cx('sash-container')}>\n <div\n className={cx('code-sash-mask', sashPlacement, {\n active: ~sashClicked,\n minimum,\n maximum,\n })}\n onMouseMove={handleMouseMove}\n onMouseUp={cancelDrag}\n ></div>\n {sashDom}\n </div>\n <div ref={boxRef} className={cx('split-view-container')}>\n {childrenDom}\n </div>\n </div>\n );\n },\n);\n\nexport default Draggable;\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';\n\nimport { ExampleContext } from '../../../store';\nimport {\n ArrowLeftSvg,\n FavSvg,\n SearchSvg,\n UpdateSvg,\n ZoomUpSvg,\n ArrowTopSvg,\n OutdentSvg,\n} from '../../../components/icons';\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 <ArrowLeftSvg />\n </button>\n <button\n className={cx('btn history-next', { disable: false })}\n title='前进 (Alt+Right / Ctrl+Backspace)'\n >\n <ArrowLeftSvg />\n </button>\n </div>\n </div>\n <div className='header-middle'>\n <button className={cx('btn', { disable: true })}>\n <ArrowTopSvg />\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 <FavSvg />\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 placeholder='请输入'></input>\n <button>\n <SearchSvg></SearchSvg>\n </button>\n </div>\n </div>\n </div>\n <div className='frame-right-main'>\n <div className='tools'>\n <div className='tools-left'>\n <button>\n <UpdateSvg></UpdateSvg> <span>刷新</span>\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 <ZoomUpSvg></ZoomUpSvg>\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 <OutdentSvg />\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 { FavSvg, InfoSvg, ShareSvg, FavTagSvg } from '../icons';\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: <FavSvg></FavSvg>,\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: <FavSvg></FavSvg>,\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: <InfoSvg></InfoSvg>,\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: <ShareSvg />,\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: <InfoSvg></InfoSvg>,\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: <ShareSvg />,\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: <FavTagSvg />,\n title: '个人标签',\n },\n { type: 'line' },\n {\n key: 'info',\n icon: <InfoSvg></InfoSvg>,\n title: '属性',\n },\n]);\n","import './index.less';\nimport React, { useMemo } from 'react';\n\nimport { AngleRightSvg } from '../icons';\n\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 <AngleRightSvg></AngleRightSvg>\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 { CircleCheckSvg } from '../icons';\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} data-type={props.type}>\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 <CircleCheckSvg />\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 <CircleCheckSvg />\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 { CaretRight } from '../icons';\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 <CaretRight />\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 { AngleRightSvg, CaretRight, LoadingSvg } from '../icons';\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 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 <LoadingSvg />\n </div>\n );\n }\n return (\n <div\n className={cx('explorer-tree-switch', {\n open: v.expanded,\n })}\n >\n <AngleRightSvg />\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 <LoadingSvg />\n </div>\n );\n }\n return (\n <div\n className={cx('explorer-tree-switch', {\n open: v.expanded,\n })}\n style={{ fontSize: '7px' }}\n onMouseDown={(e) => {\n e.stopPropagation();\n }}\n >\n <CaretRight />\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 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 {...props}\n {...v}\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\n if (props.checkType && props.checkType !== v.type) return;\n\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 = 150 - 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 data-type={v.type}\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 checkType?: 'file' | 'folder';\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 checkType = '',\n checkMode,\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 (checkType) {\n let type = dataDom.getAttribute('data-type');\n if (type !== checkType) return;\n }\n if (id) {\n idx.push(id);\n }\n }\n }\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 (isDrag && 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 if (checkType) {\n let type = dataDom.getAttribute('data-type');\n if (type !== checkType) return;\n }\n\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\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: any = isSelectTarget(e);\n\n if (type && checks.includes(type[0])) {\n if (!isDrag && checkMode == 'check') {\n let arr = selects.filter((v: string) => v !== type?.[0]);\n setSelect(arr);\n onChange(arr);\n }\n time = null;\n isDrag && createVDom(e);\n return;\n }\n\n if (type && Array.isArray(type)) {\n if (checkMode == 'check') {\n if (type[0] && selects.includes(type[0])) {\n let arr = selects.filter((v: string) => v !== type?.[0]);\n setSelect(arr);\n onChange(arr);\n } else {\n let arr = [...selects, ...type];\n setSelect(arr);\n onChange(arr);\n }\n } else {\n setSelect(type);\n onChange(type);\n }\n return;\n }\n\n if (selects.length) {\n if (checkMode !== 'check') {\n setSelect([]);\n onChange([]);\n empty();\n }\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 { 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 data-type={props.type}\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' /> */}\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 { 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' /> */}\n </span>\n <span\n className='tool'\n onClick={() => {\n setMax(!ismax);\n onMaximize();\n }}\n >\n {/* {ismax ? <Icons icon='clone' /> : <Icons icon='square' />} */}\n </span>\n <span\n className='tool close'\n onClick={() => {\n props.onClose && props.onClose();\n }}\n >\n {/* <Icons icon='xmark' /> */}\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 { LoadingSvg } from '../../../components/icons';\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 <LoadingSvg></LoadingSvg>\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 checkType={store.checkType}\n checkMode={store.checkMode}\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 checks={checks}\n treeData={store.curlist as any}\n columns={store.columns}\n checkType={store.checkType}\n height={height - 24}\n width={width}\n animation={false}\n showLine={false}\n isOpenMenu={isOpenMenu}\n icon={store.getIcons}\n isload={true}\n ischeck={truncate}\n onChecks={(arr: string[]) => {\n let map = store.dataMap || {};\n let param: ExplorerItem[] = [];\n arr.forEach((checkedKeys: string) => {\n if (map[checkedKeys]) {\n param.push(map[checkedKeys]);\n }\n });\n onCheck?.(arr, param);\n }}\n onClick={onClick}\n onRename={onRename}\n onMenuClick={onMenuClick}\n onDblclick={onDblclick}\n loadData={loadNode}\n onChange={(v: any) => {\n store.setCurList(v);\n }}\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 './index.less';\n\nimport React, { useContext, useEffect, useState } from 'react';\n\nimport { ExampleContext } from '../../../store';\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 '../components/Draggable';\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';\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, checkType, checkMode = 'file' } = 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 setCurList(data || []);\n }, [data]);\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 //data\n dataMap,\n curlist,\n log,\n curInfo,\n\n //config\n menutype,\n pathDisplay,\n columns: columns || defaultColumns,\n loading,\n menuSize,\n infoshow,\n checkType,\n checkMode,\n\n //icon\n getIcons: Icons,\n\n //set\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","InfoSvg","version","xmlns","ZoomUpSvg","FavSvg","ShareSvg","FavTagSvg","LoadingSvg","ArrowLeftSvg","SearchSvg","ArrowTopSvg","AngleRightSvg","OutdentSvg","CaretRight","CircleCheckSvg","ShareLinkSvg","UpdateSvg","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","Draggable","forwardRef","ref","style","_ref$placement","placement","_poi","poi","_ref$fix","fix","_ref$rang","rang","children","boxRef","useRef","clickInfoRef","x","i","w","sashPlacement","_useState","useState","sashClicked","setSashClicked","_useState2","minimum","setMinimum","_useState3","maximum","setMaximum","_useState4","setPoi","_useState5","width","height","pSize","setParentSize","useImperativeHandle","parentSize","isMaximize","index","ps","calcMax","isMinimize","onMaximize","onMinimize","setSize","useEffect","ob","resizeObserver","document","addEventListener","cancelDrag","current","unobserve","removeEventListener","targetElement","ResizeObserver","entries","_iterator","_createForOfIteratorHelperLoose","_step","done","entry","value","_entry$contentRect","contentRect","observe","handleMouseMove","e","clientX","pageX","clientY","pageY","$_width","min","max","slice","$_w2","getElementRect","curPoi","Math","length","p","handleMouseDown","size","s","childrenDom","useMemo","Children","map","child","_getElementRect","viewWidth","viewHeight","left","top","visible","type","cloneElement","sashDom","hasZero","filter","v","it","active","onMouseDown","onMouseUp","onMouseMove","returnDocument","element","ownerDocument","window","Dropdown","props","dropdownRender","_props$trigger","trigger","_props$placement","zIndex","onExpand","_props$destroyPopupOn","destroyPopupOnHide","capture","position","expand","setExpand","newDiv","setNewDiv","menu","mouse","setMouse","root","setRoot","time","getSize","windowSize","setWindowSize","_useState6","menuSize","setMenuSize","useLayoutEffect","handleResize","addEvent","delEvent","_window","_window2","innerWidth","innerHeight","ids","querySelector","onclick","remove","content","newDivs","_newDivs","_content","body","onClick","onClone","onmouseleave","setTimeout","onmouseenter","clearTimeout","appendChild","createRoot","setAttribute","render","_content2","lie","_menu$current","_menu$current2","curX","curY","y","shiftX","getBoundingClientRect","box","right","bottom","trunc","documentClose","documentMenu","_ref$current","contains","target","container","_ref$current2","offsetWidth","offsetHeight","_extends","cleanup","disconnect","stopPropagation","onMouseEnter","preventDefault","nativeEvent","onMouseLeave","onContextMenu","title","icon","ExplorerHead","store","useContext","pathInputRef","path","setPath","pathFocus","setFocus","handleKeyDown","altKey","setMenutype","Breadcrumb","arr","pathDisplay","split","Fragment","first","last","_templateObject","_taggedTemplateLiteralLoose","disable","hidden","focus","name","onInput","spellCheck","onBlur","placeholder","menutype","Slider","onChange","classname","infoshow","setInfoShow","isdarg","setDarg","d_value","per","round","data","onMouseOut","dom","cur","num","TreeContext","DropIndicator","dropPosition","dropLevelOffset","indent","pointerEvents","backgroundColor","Indent","prefixCls","level","isStart","isEnd","widthStyle","baseClassName","list","_classNames","push","classNames","memo","getEntity","keyEntities","getPosition","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","_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","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","_inheritsLoose","_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","setVisible","_React$useContext","targetVisible","triggerMotionStart","triggerMotionEndRef","triggerMotionEnd","onVisibleChanged","nextVisible","CSSMotion","motionAppear","motionRef","motionClassName","motionStyle","restProps","_objectDestructuringEmpty","TreeNode","RefMotionTreeNode","findExpandedKeys","prev","next","prevLen","nextLen","abs","add","find","shorter","longer","Map","set","keys","getExpandRange","shorterStartIndex","findIndex","shorterEndNode","longerStartIndex","longerEndIndex","HIDDEN_STYLE","display","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","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","_this2","resetDragState","_calcDropPosition","delayedDragEnterLogic","persist","_this$state3","_this3","_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","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","reduce","floor","s_icon","open","s_table_icon","fontSize","setLeaf","curKey","loopLeaf","lev","l","getNewTreeData","loop","levelkey","onLoadData","_child","sent","table","_e$target","scrollLeft","_e$target2","Header","onWidhtChange","_header$current","cloneDeep","checkType","TreeItem","defaultmenu","setIsDrag","dragindex","setDargIndex","up","a","diff","ExplorerMenu","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","pic","lineHeight","src","rows","lastIndexOf","setSelectionRange","SelectBox","_props$className","dataClass","_props$selectClass","selectClass","regionClass","_props$isDrag","isDrag","_props$isSelectBoxes","isSelectBoxes","_props$checkType","checkMode","_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","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","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","ExplorerMain","defaultColumns","Explorer","_props$checkMode","setDataMap","_useState9","log","setLog","Icons","label","background"],"mappings":"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","x_google_ignoreList":[0]}