@gingkoo/pandora-explorer 0.0.1-alpha.8 → 0.0.1-alpha.9

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 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../node_modules/style-inject/dist/style-inject.es.js","../../src/enum.ts","../../src/store.tsx","../../src/components/icons/index.tsx","../../src/css.ts","../../src/components/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<Array<number | 'max'>>(_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: Boolean(~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 onDblclick?: (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 onDblclick,\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 = treeData;\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.eventKey == '_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 onDoubleClick={(v, node) => {\n onDblclick && onDblclick?.(node.key, node);\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={\n type == 'table' ? [...data, { key: '_ending', title: '', height: 200 }] : data\n }\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 { useState, useRef, useEffect, ReactNode } from 'react';\nimport ReactDOM from 'react-dom';\nimport { cloneDeep } from 'lodash';\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 setSelect(checks);\n }, [checks]);\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, checkMode]);\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 if (checkMode == 'check') {\n idx = cloneDeep(checks);\n }\n\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 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 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":["ApiStatusEnum","ExampleContext","createContext","FavoriteSvg","_jsxs","className","viewBox","children","_jsx","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","suffix","flush","hydrate","merge","getRegisteredStyles","injectGlobal","keyframes","css","sheet","cache","createEmotion","key","Draggable","React","forwardRef","style","placement","poi","_poi","fix","rang","ref","boxRef","useRef","clickInfoRef","x","i","w","sashPlacement","sashClicked","setSashClicked","useState","minimum","setMinimum","maximum","setMaximum","setPoi","pSize","setParentSize","width","height","useImperativeHandle","parentSize","isMaximize","index","ps","calcMax","isMinimize","onMaximize","onMinimize","setSize","useEffect","ob","resizeObserver","document","addEventListener","cancelDrag","current","unobserve","removeEventListener","targetElement","ResizeObserver","entries","entry","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","viewWidth","viewHeight","left","top","visible","type","cloneElement","sashDom","hasZero","filter","v","it","active","onMouseDown","onMouseUp","Boolean","onMouseMove","returnDocument","element","ownerDocument","window","Dropdown","props","dropdownRender","trigger","zIndex","onExpand","destroyPopupOnHide","capture","position","expand","setExpand","newDiv","setNewDiv","menu","mouse","setMouse","root","setRoot","time","windowSize","setWindowSize","getSize","menuSize","setMenuSize","useLayoutEffect","handleResize","addEvent","delEvent","innerWidth","innerHeight","ids","querySelector","onclick","remove","content","newDivs","body","createElement","onClick","onClone","onmouseleave","setTimeout","onmouseenter","clearTimeout","appendChild","createRoot","setAttribute","render","lie","curX","curY","y","shiftX","getBoundingClientRect","box","right","bottom","trunc","documentClose","documentMenu","contains","target","container","offsetWidth","offsetHeight","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","first","last","_t","_","_Fragment","disable","hidden","focus","name","value","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","push","classNames","memo","getEntity","keyEntities","getPosition","isTreeNode","node","getKey","pos","undefined","fillFieldNames","fieldNames","_title","mergedTitle","convertTreeToData","rootNodes","dig","treeNodes","toArray","treeNode","rest","dataNode","parsedChildren","flattenTreeData","treeNodeList","expandedKeys","fieldTitles","fieldKey","fieldChildren","expandedKeySet","Set","flattenList","parent","mergedKey","fieldTitle","flattenNode","omit","has","traverseDataNodes","dataNodes","callback","config","mergedConfig","externalGetKey","childrenPropName","mergeChildrenPropName","syntheticGetKey","processNode","pathNodes","connectNodes","parentPos","nodes","forEach","subNode","subIndex","convertDataToEntities","initWrapper","processEntity","onProcessFinished","legacyExternalGetKey","mergedExternalGetKey","posEntities","wrapper","item","entity","getTreeNodeProps","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","Component","state","dragNodeHighlight","componentDidMount","syncLoadData","componentDidUpdate","onSelectorClick","context","onNodeClick","isSelectable","onSelect","onCheck","onSelectorDoubleClick","onNodeDoubleClick","isDisabled","onNodeSelect","disableCheckbox","onNodeCheck","isCheckable","targetChecked","onNodeMouseEnter","onNodeMouseLeave","onNodeContextMenu","onDragStart","onNodeDragStart","setState","dataTransfer","setData","error","onDragEnter","onNodeDragEnter","onDragOver","onNodeDragOver","onDragLeave","onNodeDragLeave","onDragEnd","onNodeDragEnd","onDrop","onNodeDrop","onNodeExpand","setSelectHandle","selectHandle","getNodeState","isLeaf","hasChildren","loadData","disabled","treeDisabled","checkable","treeCheckable","onNodeLoad","selectable","treeSelectable","isDraggable","draggable","nodeDraggable","renderDragHandler","renderSwitcherIconDom","switcherIcon","switcherIconFromProps","switcherIconFromCtx","renderSwitcher","switcherIconDom","switcherCls","renderCheckbox","$custom","renderIcon","renderSelector","showIcon","treeIcon","titleRender","wrapClass","$icon","currentIcon","titleNode","$title","onDoubleClick","renderDropIndicator","dropIndicatorRender","direction","rootDraggable","showIndicator","mergedIndent","cacheIndent","domRef","indentWidth","otherProps","filterTreeNode","dropContainerKey","dropTargetKey","draggingNodeKey","dataOrAriaAttributeProps","pickAttrs","aria","isEndNode","mergedDraggable","draggableWithoutDisabled","dragging","ariaSelected","ContextTreeNode","Consumer","displayName","useUnmount","triggerStart","triggerEnd","firstMount","setFirstMount","MotionTreeNode","motion","motionNodes","motionType","onMotionStart","onOriginMotionStart","onMotionEnd","onOriginMotionEnd","treeNodeRequiredProps","setVisible","targetVisible","triggerMotionStart","triggerMotionEndRef","triggerMotionEnd","onVisibleChanged","nextVisible","CSSMotion","motionAppear","motionClassName","motionStyle","motionRef","restProps","_createElement","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","prevData","setPrevData","transitionData","setTransitionData","transitionRange","setTransitionRange","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","horizontalMouseOffset","rawDropLevelOffset","filteredExpandKeys","abstractDropNodeEntity","nodeIndex","flattenedNode","prevNodeIndex","prevNodeKey","initialAbstractDropNodeKey","abstractDragOverEntity","includes","abstractDragDataNode","abstractDropDataNode","dropAllowed","dropNode","dropTargetPos","calcSelectedKeys","multiple","parseCheckedKeys","keyProps","Array","isArray","conductExpandParent","keyList","conductUp","removeFromCheckedKeys","filteredKeys","isCheckDisabled","fillConductCheck","levelEntities","maxLevel","syntheticGetCheckDisabled","entities","childEntity","visitedKeys","allChecked","partialChecked","from","cleanConductCheck","halfKeys","delete","conductCheck","getCheckDisabled","hasEntity","levelSet","result","MAX_RETRY_TIMES","Tree","defaultProps","showLine","checkStrictly","defaultExpandParent","autoExpandParent","defaultExpandAll","defaultExpandedKeys","defaultCheckedKeys","defaultSelectedKeys","expandAction","destroyed","loadingRetryTimes","treeData","flattenNodes","activeKey","listChanging","prevProps","dragStartMousePosition","currentMouseOverDroppableNodeKey","createRef","onUpdated","itemScrollOffset","componentWillUnmount","onWindowDragEnd","getDerivedStateFromProps","prevState","newState","needSync","entitiesMap","cloneKeyEntities","checkedKeyEntity","conductKeys","newExpandedKeys","setExpandedKeys","resetDragState","delayedDragEnterLogic","persist","currentTarget","relatedTarget","cleanDragState","outsideTree","abstractDropNodeProps","getTreeNodeRequiredProps","getActiveItem","dropResult","dragNodesKeys","concat","dropToGap","triggerExpandActionExpand","shiftKey","metaKey","ctrlKey","nodeItem","eventNode","targetSelected","selectedNodes","selectedKey","setUncontrolledState","oriCheckedKeys","oriHalfCheckedKeys","checkedObj","eventObj","checkedNodes","checkedKey","keySet","checkedNodesPositions","loadPromise","Promise","resolve","reject","onLoad","promise","then","currentLoadedKeys","newLoadedKeys","catch","onRightClick","args","targetExpanded","newFlattenTreeData","currentExpandedKeys","expandedKeysToRestore","newActiveKey","offsetActiveKey","which","KeyCode","UP","DOWN","expandable","LEFT","RIGHT","ENTER","SPACE","atomic","forceState","allPassed","onScroll","rootClassName","rootStyle","scrollWidth","draggableConfig","Provider","role","iconFactory","getMenu","registerMenu","component","Menu","menus","desc","test","isValidElement","TableItem","columns","ischeck","onMenuClick","rename","onRename","param","isOpenMenu","menudata","flex","autoFocus","defaultValue","setTitle","addLevel","levelIndex","api","motionName","onAppearStart","onAppearActive","scrollHeight","onLeaveStart","onLeaveActive","checks","_widht","isload","animation","onChecks","onDblclick","tree","header","setRename","motionshow","seTmotionShow","setWidth","reduce","floor","s_icon","open","s_table_icon","fontSize","setLeaf","curKey","loopLeaf","lev","l","getNewTreeData","loop","levelkey","onLoadData","table","scrollLeft","Header","onWidhtChange","cloneDeep","checkType","TreeItem","defaultmenu","setIsDrag","dragindex","setDargIndex","up","a","diff","Fragment","ExplorerMenu","icons","setLoading","LOADING","setCurList","fileList","setCurInfo","READY","loadNode","getIcons","setPathDisplay","VirtualScroll","renderItem","scrollTop","setScrollTop","containerRef","setdata","items","handleScroll","visibleCount","clientHeight","startIdx","endIdx","overflowY","paddingTop","Tile","select","rekey","setRekey","itemSize","setList","col","setCol","originalArray","chunkSize","resultArray","acc","curr","chunkIndex","pic","lineHeight","src","rows","lastIndexOf","setSelectionRange","SelectBox","dataClass","selectClass","regionClass","isDrag","isSelectBoxes","checkMode","action","selectionRef","clickRef","_dom","selects","setSelect","stageClickInfo","setStageClickInfo","show","handleBodyMousemove","handleBodyMouseup","isSelectTarget","idx","querySelectorAll","dataDom","getAttribute","cssText","createBox","empty","selectionDom","region","pX","pY","sTop","sLeft","sWidth","sHeight","sRight","sBottom","leftCover","cmidst","rightCover","topCover","midst","bottomCover","createVDom","_box","_target","_cur","cloneNode","button","ReactDOM","createPortal","Item","acitve","isedit","onEdit","setValue","end","Columns","_w","layer","setLayer","select_col","setSelectCol","select_file","setSelectFile","select_info","setSelectInfo","edit","setEdit","isdrag","setIsdarg","avg","handleMousemove","renderList","loaddata","setlevel","Modal","isfocus","onMin","onMax","minimize","mask","drag","setDrag","D_value","win_size","setWinsize","ismax","setMax","roots","onClose","classList","layerX","layerY","c_lie","ModalTab","showKey","shrink","setShow","_shrink","setShink","template","tile","column","Layout","isNavtab","_loadData","Loading","dataMap","onDrag","onEndDrag","onStartDrag","curlist","truncate","ExplorerInfo","curInfo","isEdit","setIsEdit","rednerInfo","createTime","fixTime","isHeader","defaultViewType","ExplorerMain","defaultColumns","Explorer","setDataMap","log","setLog","Icons","label","background"],"mappings":"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","x_google_ignoreList":[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\nexport function UnknownSvg() {\n return (\n <svg viewBox='0 0 1024 1024' version='1.1' xmlns='http://www.w3.org/2000/svg'>\n <path\n d='M160 0h512l256 256v704c0 35.3472-28.6528 64-64 64H160c-35.3472 0-64-28.6528-64-64V64c0-35.3472 28.6528-64 64-64z'\n fill='#CCCCCC'\n ></path>\n <path d='M672 0l256 256h-192c-35.3472 0-64-28.6528-64-64V0z' fill='#EAEAEA'></path>\n <path\n d='M384 499.2c0-25.6 5.12-46.08 10.24-58.88 5.12-12.8 15.36-25.6 28.16-35.84 12.8-12.8 25.6-20.48 43.52-25.6 15.36-5.12 30.72-7.68 48.64-7.68 35.84 0 64 10.24 89.6 30.72C627.2 422.4 640 448 640 481.28c0 15.36-5.12 28.16-10.24 40.96s-17.92 28.16-38.4 46.08-28.16 30.72-35.84 38.4c-7.68 7.68-10.24 17.92-15.36 28.16-5.12 10.24-2.56 17.92-2.56 43.52h-51.2c0-25.6 2.56-38.4 5.12-51.2s7.68-23.04 15.36-33.28 15.36-23.04 33.28-40.96c17.92-17.92 30.72-30.72 35.84-38.4 5.12-7.68 10.24-20.48 10.24-38.4s-7.68-30.72-20.48-43.52-30.72-20.48-53.76-20.48c-51.2 0-76.8 35.84-76.8 87.04h-51.2z m153.6 281.6h-51.2v-51.2h51.2v51.2z'\n fill='#FFFFFF'\n ></path>\n </svg>\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<Array<number | 'max'>>(_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: Boolean(~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 onDblclick?: (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 onDblclick,\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 = treeData;\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.eventKey == '_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 onDoubleClick={(v, node) => {\n v.stopPropagation();\n onDblclick && onDblclick?.(node.key, node);\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={\n type == 'table' ? [...data, { key: '_ending', title: '', height: 200 }] : data\n }\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 { useState, useRef, useEffect, ReactNode } from 'react';\nimport ReactDOM from 'react-dom';\nimport { cloneDeep } from 'lodash';\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 //判断单机还双击\n const isDclick = useRef<any>(null);\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 setSelect(checks);\n }, [checks]);\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, checkMode]);\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 if (checkMode == 'check') {\n idx = cloneDeep(checks);\n }\n\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 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 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 onClick={(e) => {}}\n onMouseDown={(e) => {\n if (e.button === 2) return;\n if (isDclick.current) {\n clearTimeout(isDclick.current);\n isDclick.current = null;\n } else {\n let type: any = isSelectTarget(e);\n //选中\n\n //在区域未选中\n isDclick.current = setTimeout(() => {\n if (checks.includes(type?.[0])) {\n if (!isDrag && checkMode == 'check') {\n let arr = checks.filter((v: string) => v !== type?.[0]);\n\n setSelect(arr);\n onChange(arr);\n }\n time = null;\n isDrag && createVDom(e);\n return;\n }\n if (Array.isArray(type)) {\n if (checkMode == 'check') {\n if (!checks.includes(type?.[0])) {\n let arr = [...selects, ...type];\n setSelect(arr);\n onChange(arr);\n }\n } else {\n setSelect(type);\n onChange(type);\n }\n }\n isDclick.current = null;\n }, 200);\n\n if (type) return;\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 >\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 UnknownSvg,\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\n if (v?.type == 'folder') {\n return <SuffixIcon className={cx(`${className || ''}`)} suffix={'folder'}></SuffixIcon>;\n }\n return (\n <span\n className={cx(`${className || ''}`)}\n style={{\n ...(style || {}),\n }}\n >\n <UnknownSvg></UnknownSvg>\n </span>\n );\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":["ApiStatusEnum","ExampleContext","createContext","FavoriteSvg","_jsxs","className","viewBox","children","_jsx","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","suffix","UnknownSvg","flush","hydrate","merge","getRegisteredStyles","injectGlobal","keyframes","css","sheet","cache","createEmotion","key","Draggable","React","forwardRef","style","placement","poi","_poi","fix","rang","ref","boxRef","useRef","clickInfoRef","x","i","w","sashPlacement","sashClicked","setSashClicked","useState","minimum","setMinimum","maximum","setMaximum","setPoi","pSize","setParentSize","width","height","useImperativeHandle","parentSize","isMaximize","index","ps","calcMax","isMinimize","onMaximize","onMinimize","setSize","useEffect","ob","resizeObserver","document","addEventListener","cancelDrag","current","unobserve","removeEventListener","targetElement","ResizeObserver","entries","entry","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","viewWidth","viewHeight","left","top","visible","type","cloneElement","sashDom","hasZero","filter","v","it","active","onMouseDown","onMouseUp","Boolean","onMouseMove","returnDocument","element","ownerDocument","window","Dropdown","props","dropdownRender","trigger","zIndex","onExpand","destroyPopupOnHide","capture","position","expand","setExpand","newDiv","setNewDiv","menu","mouse","setMouse","root","setRoot","time","windowSize","setWindowSize","getSize","menuSize","setMenuSize","useLayoutEffect","handleResize","addEvent","delEvent","innerWidth","innerHeight","ids","querySelector","onclick","remove","content","newDivs","body","createElement","onClick","onClone","onmouseleave","setTimeout","onmouseenter","clearTimeout","appendChild","createRoot","setAttribute","render","lie","curX","curY","y","shiftX","getBoundingClientRect","box","right","bottom","trunc","documentClose","documentMenu","contains","target","container","offsetWidth","offsetHeight","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","first","last","_t","_","_Fragment","disable","hidden","focus","name","value","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","push","classNames","memo","getEntity","keyEntities","getPosition","isTreeNode","node","getKey","pos","undefined","fillFieldNames","fieldNames","_title","mergedTitle","convertTreeToData","rootNodes","dig","treeNodes","toArray","treeNode","rest","dataNode","parsedChildren","flattenTreeData","treeNodeList","expandedKeys","fieldTitles","fieldKey","fieldChildren","expandedKeySet","Set","flattenList","parent","mergedKey","fieldTitle","flattenNode","omit","has","traverseDataNodes","dataNodes","callback","config","mergedConfig","externalGetKey","childrenPropName","mergeChildrenPropName","syntheticGetKey","processNode","pathNodes","connectNodes","parentPos","nodes","forEach","subNode","subIndex","convertDataToEntities","initWrapper","processEntity","onProcessFinished","legacyExternalGetKey","mergedExternalGetKey","posEntities","wrapper","item","entity","getTreeNodeProps","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","Component","state","dragNodeHighlight","componentDidMount","syncLoadData","componentDidUpdate","onSelectorClick","context","onNodeClick","isSelectable","onSelect","onCheck","onSelectorDoubleClick","onNodeDoubleClick","isDisabled","onNodeSelect","disableCheckbox","onNodeCheck","isCheckable","targetChecked","onNodeMouseEnter","onNodeMouseLeave","onNodeContextMenu","onDragStart","onNodeDragStart","setState","dataTransfer","setData","error","onDragEnter","onNodeDragEnter","onDragOver","onNodeDragOver","onDragLeave","onNodeDragLeave","onDragEnd","onNodeDragEnd","onDrop","onNodeDrop","onNodeExpand","setSelectHandle","selectHandle","getNodeState","isLeaf","hasChildren","loadData","disabled","treeDisabled","checkable","treeCheckable","onNodeLoad","selectable","treeSelectable","isDraggable","draggable","nodeDraggable","renderDragHandler","renderSwitcherIconDom","switcherIcon","switcherIconFromProps","switcherIconFromCtx","renderSwitcher","switcherIconDom","switcherCls","renderCheckbox","$custom","renderIcon","renderSelector","showIcon","treeIcon","titleRender","wrapClass","$icon","currentIcon","titleNode","$title","onDoubleClick","renderDropIndicator","dropIndicatorRender","direction","rootDraggable","showIndicator","mergedIndent","cacheIndent","domRef","indentWidth","otherProps","filterTreeNode","dropContainerKey","dropTargetKey","draggingNodeKey","dataOrAriaAttributeProps","pickAttrs","aria","isEndNode","mergedDraggable","draggableWithoutDisabled","dragging","ariaSelected","ContextTreeNode","Consumer","displayName","useUnmount","triggerStart","triggerEnd","firstMount","setFirstMount","MotionTreeNode","motion","motionNodes","motionType","onMotionStart","onOriginMotionStart","onMotionEnd","onOriginMotionEnd","treeNodeRequiredProps","setVisible","targetVisible","triggerMotionStart","triggerMotionEndRef","triggerMotionEnd","onVisibleChanged","nextVisible","CSSMotion","motionAppear","motionClassName","motionStyle","motionRef","restProps","_createElement","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","prevData","setPrevData","transitionData","setTransitionData","transitionRange","setTransitionRange","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","horizontalMouseOffset","rawDropLevelOffset","filteredExpandKeys","abstractDropNodeEntity","nodeIndex","flattenedNode","prevNodeIndex","prevNodeKey","initialAbstractDropNodeKey","abstractDragOverEntity","includes","abstractDragDataNode","abstractDropDataNode","dropAllowed","dropNode","dropTargetPos","calcSelectedKeys","multiple","parseCheckedKeys","keyProps","Array","isArray","conductExpandParent","keyList","conductUp","removeFromCheckedKeys","filteredKeys","isCheckDisabled","fillConductCheck","levelEntities","maxLevel","syntheticGetCheckDisabled","entities","childEntity","visitedKeys","allChecked","partialChecked","from","cleanConductCheck","halfKeys","delete","conductCheck","getCheckDisabled","hasEntity","levelSet","result","MAX_RETRY_TIMES","Tree","defaultProps","showLine","checkStrictly","defaultExpandParent","autoExpandParent","defaultExpandAll","defaultExpandedKeys","defaultCheckedKeys","defaultSelectedKeys","expandAction","destroyed","loadingRetryTimes","treeData","flattenNodes","activeKey","listChanging","prevProps","dragStartMousePosition","currentMouseOverDroppableNodeKey","createRef","onUpdated","itemScrollOffset","componentWillUnmount","onWindowDragEnd","getDerivedStateFromProps","prevState","newState","needSync","entitiesMap","cloneKeyEntities","checkedKeyEntity","conductKeys","newExpandedKeys","setExpandedKeys","resetDragState","delayedDragEnterLogic","persist","currentTarget","relatedTarget","cleanDragState","outsideTree","abstractDropNodeProps","getTreeNodeRequiredProps","getActiveItem","dropResult","dragNodesKeys","concat","dropToGap","triggerExpandActionExpand","shiftKey","metaKey","ctrlKey","nodeItem","eventNode","targetSelected","selectedNodes","selectedKey","setUncontrolledState","oriCheckedKeys","oriHalfCheckedKeys","checkedObj","eventObj","checkedNodes","checkedKey","keySet","checkedNodesPositions","loadPromise","Promise","resolve","reject","onLoad","promise","then","currentLoadedKeys","newLoadedKeys","catch","onRightClick","args","targetExpanded","newFlattenTreeData","currentExpandedKeys","expandedKeysToRestore","newActiveKey","offsetActiveKey","which","KeyCode","UP","DOWN","expandable","LEFT","RIGHT","ENTER","SPACE","atomic","forceState","allPassed","onScroll","rootClassName","rootStyle","scrollWidth","draggableConfig","Provider","role","iconFactory","getMenu","registerMenu","component","Menu","menus","desc","test","isValidElement","TableItem","columns","ischeck","onMenuClick","rename","onRename","param","isOpenMenu","menudata","flex","autoFocus","defaultValue","setTitle","addLevel","levelIndex","api","motionName","onAppearStart","onAppearActive","scrollHeight","onLeaveStart","onLeaveActive","checks","_widht","isload","animation","onChecks","onDblclick","tree","header","setRename","motionshow","seTmotionShow","setWidth","reduce","floor","s_icon","open","s_table_icon","fontSize","setLeaf","curKey","loopLeaf","lev","l","getNewTreeData","loop","levelkey","onLoadData","table","scrollLeft","Header","onWidhtChange","cloneDeep","checkType","TreeItem","defaultmenu","setIsDrag","dragindex","setDargIndex","up","a","diff","Fragment","ExplorerMenu","icons","setLoading","LOADING","setCurList","fileList","setCurInfo","READY","loadNode","getIcons","setPathDisplay","VirtualScroll","renderItem","scrollTop","setScrollTop","containerRef","setdata","items","handleScroll","visibleCount","clientHeight","startIdx","endIdx","overflowY","paddingTop","Tile","select","rekey","setRekey","itemSize","setList","col","setCol","originalArray","chunkSize","resultArray","acc","curr","chunkIndex","pic","lineHeight","src","rows","lastIndexOf","setSelectionRange","SelectBox","dataClass","selectClass","regionClass","isDrag","isSelectBoxes","checkMode","action","selectionRef","clickRef","_dom","isDclick","selects","setSelect","stageClickInfo","setStageClickInfo","show","handleBodyMousemove","handleBodyMouseup","isSelectTarget","idx","querySelectorAll","dataDom","getAttribute","cssText","createBox","empty","selectionDom","region","pX","pY","sTop","sLeft","sWidth","sHeight","sRight","sBottom","leftCover","cmidst","rightCover","topCover","midst","bottomCover","createVDom","_box","_target","_cur","cloneNode","button","ReactDOM","createPortal","Item","acitve","isedit","onEdit","setValue","end","Columns","_w","layer","setLayer","select_col","setSelectCol","select_file","setSelectFile","select_info","setSelectInfo","edit","setEdit","isdrag","setIsdarg","avg","handleMousemove","renderList","loaddata","setlevel","Modal","isfocus","onMin","onMax","minimize","mask","drag","setDrag","D_value","win_size","setWinsize","ismax","setMax","roots","onClose","classList","layerX","layerY","c_lie","ModalTab","showKey","shrink","setShow","_shrink","setShink","template","tile","column","Layout","isNavtab","_loadData","Loading","dataMap","onDrag","onEndDrag","onStartDrag","curlist","truncate","ExplorerInfo","curInfo","isEdit","setIsEdit","rednerInfo","createTime","fixTime","isHeader","defaultViewType","ExplorerMain","defaultColumns","Explorer","setDataMap","log","setLog","Icons","label","background"],"mappings":"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","x_google_ignoreList":[0]}