@para-ui/core 2.2.6 → 2.2.7-beta

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.
Files changed (348) hide show
  1. package/AutoBox/index.d.ts +34 -34
  2. package/AutoBox/index.js +203 -15
  3. package/AutoTips/index.d.ts +27 -27
  4. package/AutoTips/index.js +84 -15
  5. package/Breadcrumbs/index.d.ts +39 -39
  6. package/Breadcrumbs/index.js +227 -15
  7. package/Button/SplitButton.d.ts +62 -61
  8. package/Button/index.d.ts +71 -56
  9. package/Button/index.js +348 -14
  10. package/Button/lang/en_US.d.ts +4 -4
  11. package/Button/lang/index.d.ts +9 -9
  12. package/Button/lang/zh_CN.d.ts +4 -4
  13. package/ButtonGroup/index.d.ts +33 -33
  14. package/ButtonGroup/index.js +128 -14
  15. package/Carousel/index.d.ts +30 -30
  16. package/Carousel/index.js +74 -15
  17. package/Cascader/index.d.ts +52 -52
  18. package/Cascader/index.js +166 -15
  19. package/Cascader/lang/en_US.d.ts +4 -4
  20. package/Cascader/lang/index.d.ts +9 -9
  21. package/Cascader/lang/zh_CN.d.ts +4 -4
  22. package/Checkbox/index.d.ts +40 -40
  23. package/Checkbox/index.js +105 -14
  24. package/CheckboxGroup/index.d.ts +46 -46
  25. package/CheckboxGroup/index.js +138 -14
  26. package/Collapse/collapsePanel.d.ts +30 -30
  27. package/Collapse/index.d.ts +57 -57
  28. package/Collapse/index.js +171 -15
  29. package/Collapse/motion.d.ts +5 -5
  30. package/Collapse/util.d.ts +11 -11
  31. package/CollapseBox/index.d.ts +27 -27
  32. package/CollapseBox/index.js +164 -15
  33. package/CollapseBox/util.d.ts +5 -5
  34. package/ColorPicker/index.d.ts +4 -4
  35. package/ColorPicker/index.js +4 -1
  36. package/ComboSelect/WithTabsCombo/index.d.ts +11 -11
  37. package/ComboSelect/WithTabsCombo/interface.d.ts +141 -141
  38. package/ComboSelect/index.d.ts +11 -11
  39. package/ComboSelect/index.js +1803 -14
  40. package/ComboSelect/interface.d.ts +140 -143
  41. package/ComboSelect/lang/en_US.d.ts +8 -8
  42. package/ComboSelect/lang/index.d.ts +17 -17
  43. package/ComboSelect/lang/zh_CN.d.ts +8 -8
  44. package/ComboSelect/utils.d.ts +12 -12
  45. package/Container/index.d.ts +77 -77
  46. package/Container/index.js +239 -15
  47. package/DatePicker/PickerButton.d.ts +3 -3
  48. package/DatePicker/PickerTag.d.ts +3 -3
  49. package/DatePicker/generatePicker/generateRangePicker.d.ts +4 -4
  50. package/DatePicker/generatePicker/generateSinglePicker.d.ts +11 -11
  51. package/DatePicker/generatePicker/index.d.ts +77 -77
  52. package/DatePicker/index.d.ts +18 -18
  53. package/DatePicker/index.js +733 -14
  54. package/DatePicker/lang/en_US.d.ts +3 -3
  55. package/DatePicker/lang/index.d.ts +7 -7
  56. package/DatePicker/lang/zh_CN.d.ts +3 -3
  57. package/DatePicker/util.d.ts +20 -20
  58. package/Desktop/index.d.ts +57 -55
  59. package/Desktop/index.js +853 -14
  60. package/Drawer/index.d.ts +11 -11
  61. package/Drawer/index.js +186 -14
  62. package/Drawer/interface.d.ts +83 -83
  63. package/Drawer/lang/en_US.d.ts +5 -5
  64. package/Drawer/lang/index.d.ts +11 -11
  65. package/Drawer/lang/zh_CN.d.ts +5 -5
  66. package/Dropdown/index.d.ts +25 -0
  67. package/Dropdown/index.js +67 -0
  68. package/Empty/images/index.d.ts +3 -2
  69. package/Empty/index.d.ts +30 -30
  70. package/Empty/index.js +644 -14
  71. package/Empty/lang/en_US.d.ts +6 -6
  72. package/Empty/lang/index.d.ts +13 -13
  73. package/Empty/lang/zh_CN.d.ts +6 -6
  74. package/Form/index.d.ts +181 -181
  75. package/Form/index.js +384 -14
  76. package/FormItem/compoments/defaultCompoments/index.d.ts +19 -19
  77. package/FormItem/compoments/formCheckboxGroup/index.d.ts +8 -8
  78. package/FormItem/compoments/formFile/index.d.ts +38 -38
  79. package/FormItem/compoments/formRadioGroup/index.d.ts +8 -8
  80. package/FormItem/compoments/formSelect/index.d.ts +18 -18
  81. package/FormItem/errorTips.d.ts +12 -12
  82. package/FormItem/index.d.ts +152 -152
  83. package/FormItem/index.js +81 -14
  84. package/FormItem/itemType.d.ts +42 -42
  85. package/FormItem/validateFunction.d.ts +15 -15
  86. package/FunctionModal/dialog.d.ts +58 -58
  87. package/FunctionModal/index.d.ts +8 -8
  88. package/FunctionModal/index.js +39 -14
  89. package/FunctionModal/modalContext.d.ts +15 -14
  90. package/GlobalContext/componentsProps.d.ts +19 -19
  91. package/GlobalContext/confirmLocale.d.ts +7 -7
  92. package/GlobalContext/index.d.ts +28 -28
  93. package/GlobalContext/index.js +41 -16
  94. package/GlobalContext/intl.d.ts +34 -34
  95. package/GlobalContext/useFormatMessage.d.ts +3 -3
  96. package/Help/index.d.ts +18 -20
  97. package/Help/index.js +39 -15
  98. package/HelperText/index.d.ts +19 -19
  99. package/HelperText/index.js +29 -15
  100. package/Hooks/useGlobalProps.d.ts +1 -1
  101. package/InputLang/index.d.ts +49 -49
  102. package/InputLang/index.js +270 -14
  103. package/InputNumber/index.d.ts +74 -74
  104. package/InputNumber/index.js +308 -14
  105. package/Label/index.d.ts +35 -35
  106. package/Label/index.js +81 -14
  107. package/Loading/index.d.ts +17 -17
  108. package/Loading/index.js +47 -15
  109. package/Menu/footerExpansion.d.ts +9 -9
  110. package/Menu/index.d.ts +10 -10
  111. package/Menu/index.js +1232 -14
  112. package/Menu/interface.d.ts +139 -139
  113. package/Menu/logo.d.ts +9 -9
  114. package/Menu/verticalMenuList.d.ts +14 -14
  115. package/Message/index.d.ts +73 -73
  116. package/Message/index.js +222 -15
  117. package/Modal/Confirm/index.d.ts +65 -66
  118. package/Modal/index.d.ts +90 -61
  119. package/Modal/index.js +443 -14
  120. package/Modal/lang/en_US.d.ts +5 -5
  121. package/Modal/lang/index.d.ts +11 -11
  122. package/Modal/lang/zh_CN.d.ts +5 -5
  123. package/MultiBox/index.d.ts +54 -54
  124. package/MultiBox/index.js +231 -14
  125. package/Notification/index.d.ts +52 -52
  126. package/Notification/index.js +266 -15
  127. package/OperateBtn/index.d.ts +59 -59
  128. package/OperateBtn/index.js +260 -14
  129. package/OperateBtn/lang/en_US.d.ts +4 -4
  130. package/OperateBtn/lang/index.d.ts +9 -9
  131. package/OperateBtn/lang/zh_CN.d.ts +4 -4
  132. package/PageHeader/horizontalMeun.d.ts +9 -9
  133. package/PageHeader/horizontalMeunRight.d.ts +9 -9
  134. package/PageHeader/index.d.ts +10 -10
  135. package/PageHeader/index.js +1171 -14
  136. package/PageHeader/interface.d.ts +167 -167
  137. package/Pagination/index.d.ts +33 -33
  138. package/Pagination/index.js +469 -14
  139. package/Pagination/lang/en_US.d.ts +8 -8
  140. package/Pagination/lang/index.d.ts +17 -17
  141. package/Pagination/lang/zh_CN.d.ts +8 -8
  142. package/ParauiProvider/index.d.ts +8 -12
  143. package/ParauiProvider/index.js +53 -15
  144. package/PopConfirm/index.d.ts +58 -56
  145. package/PopConfirm/index.js +189 -14
  146. package/PopConfirm/lang/en_US.d.ts +5 -5
  147. package/PopConfirm/lang/index.d.ts +11 -11
  148. package/PopConfirm/lang/zh_CN.d.ts +5 -5
  149. package/Popover/index.d.ts +14 -14
  150. package/Popover/index.js +66 -15
  151. package/Progress/Line.d.ts +47 -47
  152. package/Progress/Steps.d.ts +17 -17
  153. package/Progress/index.d.ts +81 -81
  154. package/Progress/index.js +358 -20
  155. package/Progress/utils.d.ts +6 -6
  156. package/Querying/images/index.d.ts +3 -2
  157. package/Querying/index.d.ts +26 -26
  158. package/Querying/index.js +762 -14
  159. package/Querying/lang/en_US.d.ts +4 -4
  160. package/Querying/lang/index.d.ts +9 -9
  161. package/Querying/lang/zh_CN.d.ts +4 -4
  162. package/Radio/index.d.ts +38 -38
  163. package/Radio/index.js +94 -14
  164. package/RadioGroup/index.d.ts +47 -47
  165. package/RadioGroup/index.js +128 -14
  166. package/Search/index.d.ts +56 -56
  167. package/Search/index.js +220 -14
  168. package/Select/index.d.ts +86 -86
  169. package/Select/index.js +1288 -14
  170. package/Select/lang/en_US.d.ts +5 -5
  171. package/Select/lang/index.d.ts +11 -11
  172. package/Select/lang/zh_CN.d.ts +5 -5
  173. package/SelectInput/index.d.ts +11 -11
  174. package/SelectInput/index.js +51 -14
  175. package/SingleBox/index.d.ts +42 -42
  176. package/SingleBox/index.js +194 -14
  177. package/Slider/index.d.ts +14 -14
  178. package/Slider/index.js +125 -15
  179. package/Slider/interface.d.ts +102 -102
  180. package/Split/index.d.ts +7 -7
  181. package/Split/index.js +134 -15
  182. package/Stepper/icons.d.ts +5 -5
  183. package/Stepper/index.d.ts +49 -39
  184. package/Stepper/index.js +99 -15
  185. package/Switch/index.d.ts +78 -78
  186. package/Switch/index.js +73 -14
  187. package/Table/index.d.ts +10 -10
  188. package/Table/index.js +2725 -14
  189. package/Table/interface.d.ts +202 -202
  190. package/Table/lang/en_US.d.ts +6 -6
  191. package/Table/lang/index.d.ts +13 -13
  192. package/Table/lang/zh_CN.d.ts +6 -6
  193. package/Table/tableBody.d.ts +9 -9
  194. package/Table/tableBodyElement/index.d.ts +15 -15
  195. package/Table/tableBodyInterface.d.ts +67 -67
  196. package/Table/tableContainer/index.d.ts +16 -16
  197. package/Table/tableElement/index.d.ts +17 -17
  198. package/Table/tableHead.d.ts +9 -9
  199. package/Table/tableHeadElement/index.d.ts +15 -15
  200. package/Table/tableHeadInterface.d.ts +26 -30
  201. package/Table/tablePagination.d.ts +9 -9
  202. package/Table/tablePaginationInterFace.d.ts +24 -24
  203. package/Table/tdElement/index.d.ts +15 -15
  204. package/Table/thElement/index.d.ts +15 -15
  205. package/Table/trElement/index.d.ts +15 -15
  206. package/Table/util.d.ts +16 -16
  207. package/Tabs/index.d.ts +69 -48
  208. package/Tabs/index.js +218 -14
  209. package/Tabs/lang/en_US.d.ts +4 -0
  210. package/Tabs/lang/index.d.ts +9 -0
  211. package/Tabs/lang/zh_CN.d.ts +4 -0
  212. package/Tag/TagGroup.d.ts +66 -66
  213. package/Tag/index.d.ts +34 -34
  214. package/Tag/index.js +286 -14
  215. package/Test/index.d.ts +3 -2
  216. package/Test/index.js +9 -16
  217. package/TextField/index.d.ts +93 -93
  218. package/TextField/index.js +686 -14
  219. package/TimePicker/index.d.ts +22 -22
  220. package/TimePicker/index.js +77 -14
  221. package/TimePicker/locale/en_US.d.ts +3 -3
  222. package/TimePicker/locale/zh_CN.d.ts +3 -3
  223. package/TimePicker/style/index.d.ts +1 -1
  224. package/Timeline/TimelineItem.d.ts +23 -0
  225. package/Timeline/index.d.ts +31 -22
  226. package/Timeline/index.js +150 -15
  227. package/ToggleButton/ToggleButtonGroup.d.ts +49 -49
  228. package/ToggleButton/index.d.ts +49 -49
  229. package/ToggleButton/index.js +200 -14
  230. package/Tooltip/index.d.ts +11 -14
  231. package/Tooltip/index.js +335 -15
  232. package/Tooltip/interface.d.ts +21 -0
  233. package/Tooltip/utils.d.ts +22 -0
  234. package/Transfer/index.d.ts +18 -17
  235. package/Transfer/index.js +343 -14
  236. package/Transfer/lang/en_US.d.ts +6 -6
  237. package/Transfer/lang/index.d.ts +13 -13
  238. package/Transfer/lang/zh_CN.d.ts +6 -6
  239. package/Tree/OperateBar/index.d.ts +13 -13
  240. package/Tree/Tree.d.ts +4 -4
  241. package/Tree/index.d.ts +5 -5
  242. package/Tree/index.js +35 -14
  243. package/Tree/interface.d.ts +209 -207
  244. package/Tree/lang/en_US.d.ts +8 -8
  245. package/Tree/lang/index.d.ts +17 -17
  246. package/Tree/lang/zh_CN.d.ts +8 -8
  247. package/Tree/utils/tools.d.ts +26 -26
  248. package/Tree/utils/treeUtil.d.ts +15 -15
  249. package/Upload/Dragger/index.d.ts +10 -10
  250. package/Upload/ErroTip/index.d.ts +13 -13
  251. package/Upload/ImageUpload/index.d.ts +14 -14
  252. package/Upload/ImgCrop/EasyCrop.d.ts +17 -17
  253. package/Upload/ImgCrop/constants.d.ts +7 -7
  254. package/Upload/ImgCrop/index.d.ts +6 -6
  255. package/Upload/ImgCrop/interface.d.ts +24 -24
  256. package/Upload/UploadList/index.d.ts +5 -5
  257. package/Upload/index.d.ts +15 -15
  258. package/Upload/index.js +1542 -14
  259. package/Upload/interface.d.ts +134 -134
  260. package/Upload/lang/en_US.d.ts +12 -12
  261. package/Upload/lang/index.d.ts +25 -25
  262. package/Upload/lang/zh_CN.d.ts +12 -12
  263. package/_verture/defineProperty-0590dc61.js +16 -0
  264. package/_verture/index-2c0ecd8d.js +778 -0
  265. package/_verture/index-342379c6.js +391 -0
  266. package/_verture/index-a369ca3f.js +4 -0
  267. package/_verture/index-e2881a53.js +16 -0
  268. package/_verture/index-ee85b1cd.js +1555 -0
  269. package/_verture/intl-336570e4.js +65 -0
  270. package/_verture/modalContext-e7cc8067.js +228 -0
  271. package/_verture/slicedToArray-d7722f4b.js +62 -0
  272. package/_verture/style-inject.es-300983ab.js +28 -0
  273. package/_verture/toConsumableArray-f8047a75.js +19 -0
  274. package/_verture/tslib.es6-55ed4bd2.js +38 -0
  275. package/_verture/typeof-498dd2b1.js +11 -0
  276. package/_verture/useFormatMessage-ac9d6acf.js +20 -0
  277. package/_verture/useGlobalProps-af9a2af6.js +12 -0
  278. package/index.d.ts +128 -128
  279. package/index.js +160 -19
  280. package/package.json +54 -21
  281. package/Popper/index.d.ts +0 -13
  282. package/Popper/index.js +0 -16
  283. package/README.md +0 -501
  284. package/cdn/AutoBox/index.js +0 -29
  285. package/cdn/AutoTips/index.js +0 -40
  286. package/cdn/Breadcrumbs/index.js +0 -53
  287. package/cdn/Button/index.js +0 -79
  288. package/cdn/ButtonGroup/index.js +0 -79
  289. package/cdn/Carousel/index.js +0 -6
  290. package/cdn/Cascader/index.js +0 -42
  291. package/cdn/Checkbox/index.js +0 -53
  292. package/cdn/CheckboxGroup/index.js +0 -53
  293. package/cdn/Collapse/index.js +0 -27
  294. package/cdn/CollapseBox/index.js +0 -1
  295. package/cdn/ColorPicker/index.js +0 -1
  296. package/cdn/ComboSelect/index.js +0 -438
  297. package/cdn/Container/index.js +0 -1
  298. package/cdn/DatePicker/index.js +0 -185
  299. package/cdn/Desktop/index.js +0 -24
  300. package/cdn/Drawer/index.js +0 -84
  301. package/cdn/Empty/index.js +0 -1
  302. package/cdn/Form/index.js +0 -477
  303. package/cdn/FormItem/index.js +0 -477
  304. package/cdn/FunctionModal/index.js +0 -144
  305. package/cdn/GlobalContext/index.js +0 -1
  306. package/cdn/Help/index.js +0 -53
  307. package/cdn/HelperText/index.js +0 -1
  308. package/cdn/InputLang/index.js +0 -144
  309. package/cdn/InputNumber/index.js +0 -118
  310. package/cdn/Label/index.js +0 -53
  311. package/cdn/Loading/index.js +0 -14
  312. package/cdn/Menu/index.js +0 -40
  313. package/cdn/Message/index.js +0 -53
  314. package/cdn/Modal/index.js +0 -144
  315. package/cdn/MultiBox/index.js +0 -131
  316. package/cdn/Notification/index.js +0 -66
  317. package/cdn/OperateBtn/index.js +0 -92
  318. package/cdn/PageHeader/index.js +0 -92
  319. package/cdn/Pagination/index.js +0 -214
  320. package/cdn/ParauiProvider/index.js +0 -9
  321. package/cdn/PopConfirm/index.js +0 -131
  322. package/cdn/Popover/index.js +0 -16
  323. package/cdn/Popper/index.js +0 -26
  324. package/cdn/Progress/index.js +0 -58
  325. package/cdn/Querying/index.js +0 -1
  326. package/cdn/Radio/index.js +0 -53
  327. package/cdn/RadioGroup/index.js +0 -53
  328. package/cdn/Search/index.js +0 -144
  329. package/cdn/Select/index.js +0 -131
  330. package/cdn/SelectInput/index.js +0 -131
  331. package/cdn/SingleBox/index.js +0 -131
  332. package/cdn/Slider/index.js +0 -16
  333. package/cdn/Split/index.js +0 -1
  334. package/cdn/Stepper/index.js +0 -154
  335. package/cdn/Switch/index.js +0 -71
  336. package/cdn/Table/index.js +0 -292
  337. package/cdn/Tabs/index.js +0 -165
  338. package/cdn/Tag/index.js +0 -27
  339. package/cdn/Test/index.js +0 -1
  340. package/cdn/TextField/index.js +0 -105
  341. package/cdn/TimePicker/index.js +0 -185
  342. package/cdn/Timeline/index.js +0 -16
  343. package/cdn/ToggleButton/index.js +0 -79
  344. package/cdn/Tooltip/index.js +0 -40
  345. package/cdn/Transfer/index.js +0 -170
  346. package/cdn/Tree/index.js +0 -170
  347. package/cdn/Upload/index.js +0 -252
  348. package/style.css +0 -72
package/Desktop/index.js CHANGED
@@ -1,14 +1,853 @@
1
- !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("react"),require("@material-ui/core"),require("@paraview/lib")):"function"==typeof define&&define.amd?define(["react","@material-ui/core","@paraview/lib"],t):"object"==typeof exports?exports.ParaUI=t(require("react"),require("@material-ui/core"),require("@paraview/lib")):e.ParaUI=t(e.react,e["@material-ui/core"],e["@paraview/lib"])}(self,(function(e,t,n){return function(){var r={8514:function(e,t,n){(t=n(3645)(!1)).push([e.id,".para-desktop{width:100%;height:100%}.para-desktop .para-desktop-title{display:flex;height:40px;line-height:40px;font-size:17px;margin:15px 0}.para-desktop .para-desktop-title>.para-desktop-backlist{float:left;width:110px;margin:5px}.para-desktop .para-desktop-title>div{width:100%;text-align:center}.para-desktop .para-desktop-title>div>span{cursor:pointer;font-weight:bold}.para-desktop .para-desktop-box{position:relative;width:100%;height:calc(100% - 50px)}.para-desktop .para-desktop-box .desktop-item{position:absolute;top:0;left:0;background-color:#efefef;transition:top .5s,left .5s;user-select:none;box-shadow:4px 4px 6px #dcdde3,-4px -4px 6px #f0f0f0;border-radius:4px;cursor:pointer;color:#5b5b5b}.para-desktop .para-desktop-box .desktop-item .item-name{text-align:center;position:absolute;bottom:10px;width:100%;font-size:14px}.para-desktop .para-desktop-box .desktop-item .item-dir-name{overflow:hidden;font-size:17px;font-weight:bold;padding:25px 15px;word-break:break-word}.para-desktop .para-desktop-box .desktop-item .item-body{text-align:center}.para-desktop .para-desktop-box .desktop-item .item-body img{height:80px;margin-top:25px;pointer-events:none}.para-desktop .para-desktop-box .item-disable{box-shadow:none;background-color:#dbdbdb;cursor:not-allowed}.para-desktop .para-desktop-box .item-disable img{opacity:.3}.para-desktop .para-desktop-box [drag-item=true]{z-index:2;transition:none}.para-desktop .para-desktop-box [impact=true]{background-color:#e9effd}.para-desktop .para-desktop-box [in-dir=true]{display:none !important}.para-desktop .para-desktop-box .img-box{display:inline-block;width:100%;text-align:center;margin-top:10px}.para-desktop .para-desktop-box .img-box>img{width:100px;height:100px;user-drag:none}.para-desktop .para-desktop-box .desktop-dir .img-box{display:inline-block}.para-desktop .para-desktop-box .desktop-dir .img-box>img{width:40px;height:40px;margin:5px 15px}.para-desktop .menu-list{position:absolute;box-shadow:4px 4px 6px #dcdde3;background-color:#fff;font-size:14px;border-radius:4px;z-index:10;display:none;transition:background-color .2s}.para-desktop .menu-list .menu-item{padding:5px 15px;cursor:pointer}.para-desktop .menu-list .menu-item:hover{background-color:#f6f6f6}",""]),e.exports=t},3645:function(e){"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var n=function(e,t){var n=e[1]||"",r=e[3];if(!r)return n;if(t&&"function"==typeof btoa){var i=(a=r,p=btoa(unescape(encodeURIComponent(JSON.stringify(a)))),d="sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(p),"/*# ".concat(d," */")),o=r.sources.map((function(e){return"/*# sourceURL=".concat(r.sourceRoot||"").concat(e," */")}));return[n].concat(o).concat([i]).join("\n")}var a,p,d;return[n].join("\n")}(t,e);return t[2]?"@media ".concat(t[2]," {").concat(n,"}"):n})).join("")},t.i=function(e,n,r){"string"==typeof e&&(e=[[null,e,""]]);var i={};if(r)for(var o=0;o<this.length;o++){var a=this[o][0];null!=a&&(i[a]=!0)}for(var p=0;p<e.length;p++){var d=[].concat(e[p]);r&&i[d[0]]||(n&&(d[2]?d[2]="".concat(n," and ").concat(d[2]):d[2]=n),t.push(d))}},t}},7418:function(e){"use strict";
2
- /*
3
- object-assign
4
- (c) Sindre Sorhus
5
- @license MIT
6
- */var t=Object.getOwnPropertySymbols,n=Object.prototype.hasOwnProperty,r=Object.prototype.propertyIsEnumerable;function i(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map((function(e){return t[e]})).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach((function(e){r[e]=e})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(e){return!1}}()?Object.assign:function(e,o){for(var a,p,d=i(e),s=1;s<arguments.length;s++){for(var u in a=Object(arguments[s]))n.call(a,u)&&(d[u]=a[u]);if(t){p=t(a);for(var c=0;c<p.length;c++)r.call(a,p[c])&&(d[p[c]]=a[p[c]])}}return d}},5251:function(e,t,n){"use strict";
7
- /** @license React v17.0.2
8
- * react-jsx-runtime.production.min.js
9
- *
10
- * Copyright (c) Facebook, Inc. and its affiliates.
11
- *
12
- * This source code is licensed under the MIT license found in the
13
- * LICENSE file in the root directory of this source tree.
14
- */n(7418);var r=n(8156),i=60103;if(t.Fragment=60107,"function"==typeof Symbol&&Symbol.for){var o=Symbol.for;i=o("react.element"),t.Fragment=o("react.fragment")}var a=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,p=Object.prototype.hasOwnProperty,d={key:!0,ref:!0,__self:!0,__source:!0};function s(e,t,n){var r,o={},s=null,u=null;for(r in void 0!==n&&(s=""+n),void 0!==t.key&&(s=""+t.key),void 0!==t.ref&&(u=t.ref),t)p.call(t,r)&&!d.hasOwnProperty(r)&&(o[r]=t[r]);if(e&&e.defaultProps)for(r in t=e.defaultProps)void 0===o[r]&&(o[r]=t[r]);return{$$typeof:i,type:e,key:s,ref:u,props:o,_owner:a.current}}t.jsx=s,t.jsxs=s},5893:function(e,t,n){"use strict";e.exports=n(5251)},2203:function(e,t,n){var r=n(3379),i=n(8514);"string"==typeof(i=i.__esModule?i.default:i)&&(i=[[e.id,i,""]]);var o={insert:("body","body"),singleton:!1};r(i,o);e.exports=i.locals||{}},3379:function(e,t,n){"use strict";var r,i=function(){return void 0===r&&(r=Boolean(window&&document&&document.all&&!window.atob)),r},o=function(){var e={};return function(t){if(void 0===e[t]){var n=document.querySelector(t);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(e){n=null}e[t]=n}return e[t]}}(),a=[];function p(e){for(var t=-1,n=0;n<a.length;n++)if(a[n].identifier===e){t=n;break}return t}function d(e,t){for(var n={},r=[],i=0;i<e.length;i++){var o=e[i],d=t.base?o[0]+t.base:o[0],s=n[d]||0,u="".concat(d," ").concat(s);n[d]=s+1;var c=p(u),l={css:o[1],media:o[2],sourceMap:o[3]};-1!==c?(a[c].references++,a[c].updater(l)):a.push({identifier:u,updater:y(l,t),references:1}),r.push(u)}return r}function s(e){var t=document.createElement("style"),r=e.attributes||{};if(void 0===r.nonce){var i=n.nc;i&&(r.nonce=i)}if(Object.keys(r).forEach((function(e){t.setAttribute(e,r[e])})),"function"==typeof e.insert)e.insert(t);else{var a=o(e.insert||"head");if(!a)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");a.appendChild(t)}return t}var u,c=(u=[],function(e,t){return u[e]=t,u.filter(Boolean).join("\n")});function l(e,t,n,r){var i=n?"":r.media?"@media ".concat(r.media," {").concat(r.css,"}"):r.css;if(e.styleSheet)e.styleSheet.cssText=c(t,i);else{var o=document.createTextNode(i),a=e.childNodes;a[t]&&e.removeChild(a[t]),a.length?e.insertBefore(o,a[t]):e.appendChild(o)}}function f(e,t,n){var r=n.css,i=n.media,o=n.sourceMap;if(i?e.setAttribute("media",i):e.removeAttribute("media"),o&&"undefined"!=typeof btoa&&(r+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(o))))," */")),e.styleSheet)e.styleSheet.cssText=r;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(r))}}var m=null,v=0;function y(e,t){var n,r,i;if(t.singleton){var o=v++;n=m||(m=s(t)),r=l.bind(null,n,o,!1),i=l.bind(null,n,o,!0)}else n=s(t),r=f.bind(null,n,t),i=function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(n)};return r(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;r(e=t)}else i()}}e.exports=function(e,t){(t=t||{}).singleton||"boolean"==typeof t.singleton||(t.singleton=i());var n=d(e=e||[],t);return function(e){if(e=e||[],"[object Array]"===Object.prototype.toString.call(e)){for(var r=0;r<n.length;r++){var i=p(n[r]);a[i].references--}for(var o=d(e,t),s=0;s<n.length;s++){var u=p(n[s]);0===a[u].references&&(a[u].updater(),a.splice(u,1))}n=o}}}},670:function(e){"use strict";e.exports=t},8543:function(e){"use strict";e.exports=n},8156:function(t){"use strict";t.exports=e}},i={};function o(e){var t=i[e];if(void 0!==t)return t.exports;var n=i[e]={id:e,exports:{}};return r[e](n,n.exports,o),n.exports}o.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(t,{a:t}),t},o.d=function(e,t){for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},o.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},o.nc=void 0;var a={};return function(){"use strict";o.r(a),o.d(a,{Desktop:function(){return b}});var e,t,n,r,i=o(5893),p=o(8156),d=o.n(p),s=o(670),u=o(8543),c=(o(2203),function(){return c=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},c.apply(this,arguments)}),l=function(e,t,n){if(n||2===arguments.length)for(var r,i=0,o=t.length;i<o;i++)!r&&i in t||(r||(r=Array.prototype.slice.call(t,0,i)),r[i]=t[i]);return e.concat(r||Array.prototype.slice.call(t))},f=200,m=150,v=20,y=20,k=[],h=!1,b=function(o){var a=(0,p.useRef)(),b=(0,p.useRef)(),g=o.sort,S=void 0===g?{}:g,q=(0,p.useState)(0),j=q[0],R=q[1],w=(0,p.useState)([]),O=w[0],G=w[1],Z=(0,p.useState)("_"),N=Z[0],M=Z[1],W=(0,p.useState)(!1),J=W[0],T=W[1],P=(0,p.useState)(""),U=P[0],D=P[1],E=S[N]||{};d().useEffect((function(){document.addEventListener("resize",(function(){clearTimeout(e),e=setTimeout((function(){R(L())}),200)})),window.addEventListener("mousedown",(function(e){e.target.closest(".menu-list")||b.current&&(b.current.style.display="none")}))}),[]),d().useEffect((function(){R(L()),G(o.data)}),[o.data]);var z,L=function(){var e=a.current;return e?e.getBoundingClientRect().width/(f+v)|0:1},F=function(e){if(!h){var t=e.currentTarget.getAttribute("data-key"),r=te(t);if(r.disable)return!1;if("dir"!==r.type)return o.onClick&&o.onClick(r),!1;n=r,M(r.key)}},X=function(e){if("_"!==N&&(e.preventDefault(),!h)){var t=e.currentTarget.getAttribute("data-key");r=te(t),ie(b.current,e.pageX,e.pageY),b.current.style.display="block"}},H=function(){n=null,M("_")},V=function(e,t,n){k[t]=C(e,t,n),e=k[t];var r={left:k[t].point.x+"px",top:k[t].point.y+"px",width:f,height:m};return(0,i.jsx)("div",c({className:"desktop-item".concat("dir"===e.type?" desktop-dir":"").concat(e.disable?" item-disable":""),onContextMenu:X,onClick:F,style:r,"data-key":e.key,"data-index":t},{children:"dir"===n?(0,i.jsx)("div",c({className:"item-dir-name"},{children:e.displayName})):(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("div",c({className:"item-body"},{children:(0,i.jsx)("img",{src:e.icon||"data:image/png;base64,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"})})),(0,i.jsx)("div",c({className:"item-name"},{children:e.displayName}))]})}),N+e.key+t+j)},C=function(e,t,n){return{index:t,data:e,key:e.key,icon:e.icon,disable:e.disable||!1,type:n||"item",displayName:e.displayName||e.name,point:Y(t),children:e.children||[]}},Y=function(e){return{x:e%j*(f+v),y:(e/j|0)*(m+y),width:f,height:m}},I=function(){var e={};return o.data.forEach((function(t){("_"===N||-1!==n.children.indexOf(t.key))&&(e[t.key]=t)})),e},B=d().useMemo((function(){if(0===j)return null;if(k=[],E.length>0){var e=I(),t=0,r=E.map((function(n){var r=n.key,i=n.type;if(e[r]||"dir"===i){var o,a=c({},e[r]);if(delete e[r],"dir"===i){var p=!0;if(n.children.forEach((function(t){e[t]&&(p=!1,delete e[t])})),p)return null;o=V(n,t,i)}else o=V(a,t);return t++,o}})),i=Object.keys(e);if(i.length>0){var a=i.map((function(t){var n=e[t];return V(n,k.length)}));r=l(l([],r,!0),a,!0)}return r}if("_"!==N&&n){var p=I(),d=0;return n.children.map((function(e){if(!p[e])return null;var t=V(p[e],d);return d++,t}))}return o.data.map((function(e,t){return V(e,t)}))}),[O,j,N]),K=function(e){if(!h){var n=e.target.closest(".desktop-item");if(n){var r=n.getAttribute("data-index");t=c(c({},k[r]),{target:n,start:{x:e.pageX,y:e.pageY}}),n.setAttribute("drag-item","true"),window.addEventListener("mousemove",A),window.addEventListener("mouseup",_)}}},A=function(e){Math.abs(t.start.x-e.pageX)>3&&(h=!0);var n=t.point.x+(e.pageX-t.start.x),r=t.point.y+(e.pageY-t.start.y)+a.current.scrollTop;ie(t.target,n,r);for(var i=n,o=r,p=(t.point.x,t.point.width,t.point.y,t.point.height,t.point.width),d=t.point.height,s={x:i+p/2,y:o+d/2},u=0,c=k.length;u<c;u++){var l=k[u];if(l&&String(l.key)!==String(t.key)&&(!l.parent||N===l.parent)){var f={x:l.point.x,y:l.point.y,w:l.point.x+l.point.width,h:l.point.y+l.point.height},m=.3;if(Q(s,f)){var v=x(l.key);if(!v)continue;re("impact"),v.setAttribute("impact","true"),t.impact={data:l,rect:f},t.impact={data:l,rect:f},"dir"!==t.data.type&&"_"===N||(m=.5);var y={x:i+p/2,y:o+d/2},b=l.point.width;y.x<f.x+b*m?(t.position="left",ie(v,f.x+50)):y.x>f.w-b*m?(t.position="right",ie(v,f.x-50)):(t.position="centre",ie(v,f.x));break}re("impact")}}},Q=function(e,t){if(e.x>t.x&&e.y>t.y&&e.x<t.w&&e.y<t.h)return e},_=function(e){if(window.removeEventListener("mousemove",A),window.removeEventListener("mouseup",_),setTimeout((function(){h=!1}),100),t.impact){var n=c({},k[t.index]),r=t.impact.data,i=x(r.key);if(r.index-t.index==-1&&"right"===t.position||r.index-t.index==1&&"left"===t.position||"dir"===t.type&&"centre"===t.position)return ie(t.target,t.point.x,t.point.y),void re();var o=r.index,a=void 0,p=t.index,d=o;o>t.index?(a="R","left"===t.position&&(d--,ie(i,r.point.x,r.point.y),o--)):(a="L","right"===t.position&&(d++,ie(i,r.point.x,r.point.y),o++));c({},k[o]);var s=void 0;if("centre"===t.position){for(d=t.index,p=k.length-1;d<p;d++){var u=k[d+1];ne(u,d)}k.pop()}else{if(s=c({},k[p]),"R"===a)for(;p<d;p++){u=k[p+1];ne(u,p)}if("L"===a)for(;p>d;p--){u=k[p-1];ne(u,p)}ne(s,d)}return"centre"===t.position&&("dir"===r.type?ee(r,n):$(r,n,a)),void re("end")}ie(t.target,t.point.x,t.point.y),re()},$=function(e,n,r){"R"===r&&e.index--;var i="dir_"+e.key+(1e6*Math.random()|0);k[e.index]=c(c({},e),{key:i,point:Y(e.index),type:"dir",displayName:"新建文件夹",children:[e.key,n.key]});var o=x(e.key);null==o||o.setAttribute("data-key",i),null==o||o.classList.add("desktop-dir"),o.innerHTML='<div class="item-dir-name">'.concat(k[e.index].displayName,"</div>");var a=x(t.key);null==a||a.setAttribute("in-dir","true")},ee=function(e,n){var r=te(e.key);if(r){r.children.push(n.key);var i=x(t.key);null==i||i.setAttribute("in-dir","true")}},te=function(e){if(!e)return null;for(var t=0,n=k.length;t<n;t++)if(k[t].key===e)return k[t];return null},ne=function(e,t,n){if(e){n||(n=Y(t));var r=x(e.key);r&&(ie(r,null==n?void 0:n.x,null==n?void 0:n.y),k[t]=c({},e),k[t].index=t,k[t].point=n,null==r||r.setAttribute("data-index",t))}},re=function(e){var n,r,i;switch(e){case"impact":var o=document.querySelector('[impact="true"]');if(!o)return;t&&t.impact&&(ie(o,t.impact.rect.x,t.impact.rect.y),delete t.impact),null==o||o.removeAttribute("impact");break;case"end":t=null,null===(n=document.querySelector('[impact="true"]'))||void 0===n||n.removeAttribute("impact"),null===(r=document.querySelector('[drag-item="true"]'))||void 0===r||r.removeAttribute("drag-item"),clearTimeout(undefined),oe();break;default:re("impact"),t=null,null===(i=document.querySelector('[drag-item="true"]'))||void 0===i||i.removeAttribute("drag-item"),window.removeEventListener("mousemove",A),window.removeEventListener("mouseup",_)}},ie=function(e,t,n){e&&(void 0===t&&null===t||(e.style.left=t+"px"),void 0===n&&null===n||(e.style.top=n+"px"))},oe=function(){if(o.onSort){var e=[],t=0;k.forEach((function(n){e[t]={key:n.key,type:n.type},void 0!==n.displayName&&(e[t].displayName=n.displayName),n.children.length>0&&(e[t].children=n.children),void 0!==n.parent&&(e[t].parent=n.parent),t++}));var n=(0,u.DeepClone)(S);e.length>0&&(n[N]=e),o.onSort&&o.onSort(n)}},ae=function(){T(!0),D(n.displayName||"文件夹")},pe=function(){n.displayName=U,T(!1),de(n.key).displayName=U,oe()},de=function(e){for(var t=S._||[],n=0,r=t.length;n<r;n++){var i=t[n];if(i.key===e)return i}},se=function(e){D(e.target.value)},ue=(0,p.useMemo)((function(){return"_"!==N&&(0,i.jsxs)("div",c({className:"para-desktop-title"},{children:[(0,i.jsx)(s.Button,c({className:"para-desktop-backlist",onClick:H},{children:"返回上级"})),(0,i.jsx)("div",{children:J?(0,i.jsx)(s.TextField,{value:U,autoFocus:!0,onChange:se,onBlur:pe}):(0,i.jsx)("span",c({onClick:ae},{children:n.displayName}))})]}))}),[N,J,U]),ce=(0,p.useMemo)((function(){return(0,i.jsx)("div",c({ref:a,className:"para-desktop-box",onMouseDown:K},{children:B}))}),[j,O,N,S]);return(0,i.jsxs)("div",c({className:(z="para-desktop paraui-desktop",o.className&&(z+=" "+o.className),z)},{children:[ue,ce,(0,i.jsx)("div",c({ref:b,className:"menu-list"},{children:(0,i.jsx)("div",c({className:"menu-item",onClick:function(e){if("_"!==N){var t=de(n.key);if(t.children=t.children.filter((function(e){return e!==r.key})),oe(),t.children.length>0){var i=x(r.key);i&&(i.style.display="none");for(var o=r.index,a=k.length-1;o<a;o++){var p=k[o+1];ne(p,o)}k.pop()}else k.pop(),delete S[n.key],H();b.current.style.display="none"}}},{children:"移出文件夹"}))}))]}))},x=function(e){return document.querySelector('[data-key="'.concat(e,'"]'))};a.default=b}(),a}()}));
1
+ import { _ as _toConsumableArray } from '../_verture/toConsumableArray-f8047a75.js';
2
+ import { _ as _slicedToArray } from '../_verture/slicedToArray-d7722f4b.js';
3
+ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
4
+ import React__default, { useRef, useState, useMemo } from 'react';
5
+ import { TextField } from '../TextField/index.js';
6
+ import { Button } from '../Button/index.js';
7
+ import { DeepClone } from '@paraview/lib';
8
+ import { s as styleInject } from '../_verture/style-inject.es-300983ab.js';
9
+ import '../_verture/typeof-498dd2b1.js';
10
+ import '../_verture/tslib.es6-55ed4bd2.js';
11
+ import '../Label/index.js';
12
+ import '../Help/index.js';
13
+ import '../Tooltip/index.js';
14
+ import 'rc-tooltip';
15
+ import 'rc-tooltip/lib/placements';
16
+ import 'clsx';
17
+ import '@para-ui/icons/Help';
18
+ import '@para-ui/icons/PreviewClose';
19
+ import '@para-ui/icons/PreviewOpen';
20
+ import '@para-ui/icons/CloseCircle';
21
+ import '../AutoTips/index.js';
22
+ import '../Loading/index.js';
23
+ import '@para-ui/icons/LoadingF';
24
+ import '../HelperText/index.js';
25
+ import '../_verture/useGlobalProps-af9a2af6.js';
26
+ import '@para-ui/core/GlobalContext';
27
+ import '../Dropdown/index.js';
28
+ import 'rc-dropdown';
29
+ import '@para-ui/icons/Forbid';
30
+ import '@para-ui/icons/Down';
31
+ import '../_verture/useFormatMessage-ac9d6acf.js';
32
+
33
+ var css_248z = ".para-desktop {\n width: 100%;\n height: 100%;\n}\n.para-desktop .para-desktop-title {\n display: flex;\n height: 40px;\n line-height: 40px;\n font-size: 17px;\n margin: 15px 0;\n}\n.para-desktop .para-desktop-title > .para-desktop-backlist {\n float: left;\n width: 110px;\n margin: 5px;\n}\n.para-desktop .para-desktop-title > div {\n width: 100%;\n text-align: center;\n}\n.para-desktop .para-desktop-title > div > span {\n cursor: pointer;\n font-weight: bold;\n}\n.para-desktop .para-desktop-box {\n position: relative;\n width: 100%;\n height: calc(100% - 50px);\n}\n.para-desktop .para-desktop-box .desktop-item {\n position: absolute;\n top: 0;\n left: 0;\n background-color: #efefef;\n transition: top 0.5s, left 0.5s;\n user-select: none;\n box-shadow: 4px 4px 6px #dcdde3, -4px -4px 6px #f0f0f0;\n border-radius: 4px;\n cursor: pointer;\n color: #5b5b5b;\n}\n.para-desktop .para-desktop-box .desktop-item .item-name {\n text-align: center;\n position: absolute;\n bottom: 10px;\n width: 100%;\n font-size: 14px;\n}\n.para-desktop .para-desktop-box .desktop-item .item-dir-name {\n overflow: hidden;\n font-size: 17px;\n font-weight: bold;\n padding: 25px 15px;\n word-break: break-word;\n}\n.para-desktop .para-desktop-box .desktop-item .item-body {\n text-align: center;\n}\n.para-desktop .para-desktop-box .desktop-item .item-body img {\n height: 80px;\n margin-top: 25px;\n pointer-events: none;\n}\n.para-desktop .para-desktop-box .item-disable {\n box-shadow: none;\n background-color: #dbdbdb;\n cursor: not-allowed;\n}\n.para-desktop .para-desktop-box .item-disable img {\n opacity: 0.3;\n}\n.para-desktop .para-desktop-box [drag-item=true] {\n z-index: 2;\n transition: none;\n}\n.para-desktop .para-desktop-box [impact=true] {\n background-color: #E9EFFD;\n}\n.para-desktop .para-desktop-box [in-dir=true] {\n display: none !important;\n}\n.para-desktop .para-desktop-box .img-box {\n display: inline-block;\n width: 100%;\n text-align: center;\n margin-top: 10px;\n}\n.para-desktop .para-desktop-box .img-box > img {\n width: 100px;\n height: 100px;\n user-drag: none;\n}\n.para-desktop .para-desktop-box .desktop-dir .img-box {\n display: inline-block;\n}\n.para-desktop .para-desktop-box .desktop-dir .img-box > img {\n width: 40px;\n height: 40px;\n margin: 5px 15px;\n}\n.para-desktop .menu-list {\n position: absolute;\n box-shadow: 4px 4px 6px #dcdde3;\n background-color: #ffffff;\n font-size: 14px;\n border-radius: 4px;\n z-index: 10;\n display: none;\n transition: background-color 0.2s;\n}\n.para-desktop .menu-list .menu-item {\n padding: 5px 15px;\n cursor: pointer;\n}\n.para-desktop .menu-list .menu-item:hover {\n background-color: rgb(246, 246, 246);\n}";
34
+ styleInject(css_248z);
35
+
36
+ /** 默认图标 */
37
+
38
+ var Icon = 'data:image/png;base64,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';
39
+ var defaultMatrix = {
40
+ width: 200,
41
+ height: 150,
42
+ gapX: 20,
43
+ gapY: 20
44
+ };
45
+ /** 当前页面渲染map对象 */
46
+
47
+ var map = [];
48
+ var resizeTimeout;
49
+ var saveTimeout;
50
+ var dragData;
51
+ var impactBorder = 0.3; // 左右碰撞边界阈值 < 0.5,当0.5时则无中心碰撞 | impactBorder | 100% - impactBorder * 2 | impactBorder |
52
+
53
+ var dragLock = false;
54
+ var dirItem;
55
+ var contextMenuData;
56
+ var Desktop = function Desktop(props) {
57
+ var desktopRef = useRef();
58
+ var menuRef = useRef();
59
+ var _props$sort = props.sort,
60
+ sort = _props$sort === void 0 ? {} : _props$sort;
61
+
62
+ var _useState = useState(0),
63
+ _useState2 = _slicedToArray(_useState, 2),
64
+ line = _useState2[0],
65
+ setLine = _useState2[1]; // 每行个数
66
+
67
+
68
+ var _useState3 = useState([]),
69
+ _useState4 = _slicedToArray(_useState3, 2),
70
+ data = _useState4[0],
71
+ setData = _useState4[1]; // 数据源
72
+
73
+
74
+ var _useState5 = useState('_'),
75
+ _useState6 = _slicedToArray(_useState5, 2),
76
+ dir = _useState6[0],
77
+ setDir = _useState6[1]; // _ 显示列表页, key显示文件夹
78
+
79
+
80
+ var _useState7 = useState(false),
81
+ _useState8 = _slicedToArray(_useState7, 2),
82
+ showInput = _useState8[0],
83
+ setShowInput = _useState8[1]; // 显示文件夹名字输入框
84
+
85
+
86
+ var _useState9 = useState(''),
87
+ _useState10 = _slicedToArray(_useState9, 2),
88
+ inputValue = _useState10[0],
89
+ setInputValue = _useState10[1]; // 文件夹名字
90
+
91
+
92
+ var sortJson = sort[dir] || {};
93
+ React__default.useEffect(function () {
94
+ document.addEventListener('resize', function () {
95
+ clearTimeout(resizeTimeout);
96
+ resizeTimeout = setTimeout(function () {
97
+ setLine(getLine());
98
+ }, 200);
99
+ });
100
+ window.addEventListener('mousedown', function (e) {
101
+ if (e.target.closest('.menu-list')) return;
102
+ if (menuRef.current) menuRef.current.style.display = 'none';
103
+ });
104
+ }, []);
105
+ React__default.useEffect(function () {
106
+ setLine(getLine());
107
+ setData(props.data);
108
+ }, [props.data]);
109
+ /**
110
+ * 计算每行个数
111
+ * @return number
112
+ */
113
+
114
+ var getLine = function getLine() {
115
+ var desktop = desktopRef.current;
116
+
117
+ if (desktop) {
118
+ var rect = desktop.getBoundingClientRect();
119
+ var itemLine = rect.width / (defaultMatrix.width + defaultMatrix.gapX) | 0;
120
+ return itemLine;
121
+ }
122
+
123
+ return 1;
124
+ };
125
+ /**
126
+ * 点击事件
127
+ * @param e 元素
128
+ */
129
+
130
+
131
+ var onClick = function onClick(e) {
132
+ if (dragLock) return;
133
+ var key = e.currentTarget.getAttribute('data-key');
134
+ var mapItem = getMapItem(key);
135
+ if (mapItem.disable) return false;
136
+
137
+ if (mapItem.type !== 'dir') {
138
+ props.onClick && props.onClick(mapItem);
139
+ return false;
140
+ }
141
+
142
+ dirItem = mapItem;
143
+ setDir(mapItem.key);
144
+ };
145
+ /**
146
+ * 右键菜单
147
+ * @param e 元素
148
+ */
149
+
150
+
151
+ var onContextMenu = function onContextMenu(e) {
152
+ if (dir === '_') return;
153
+ e.preventDefault();
154
+ if (dragLock) return;
155
+ var key = e.currentTarget.getAttribute('data-key');
156
+ contextMenuData = getMapItem(key);
157
+ setPoint(menuRef.current, e.pageX, e.pageY);
158
+ menuRef.current.style.display = 'block';
159
+ };
160
+ /**
161
+ * 移出文件夹
162
+ * @param e 元素
163
+ */
164
+
165
+
166
+ var outDir = function outDir(e) {
167
+ if (dir === '_') return;
168
+ var sortItem = getSortRootItem(dirItem.key);
169
+ sortItem.children = sortItem.children.filter(function (key) {
170
+ return key !== contextMenuData.key;
171
+ });
172
+ onSort();
173
+
174
+ if (sortItem.children.length > 0) {
175
+ var dom = getItemByKey(contextMenuData.key);
176
+ if (dom) dom.style.display = 'none';
177
+ var i = contextMenuData.index;
178
+ var l = map.length - 1;
179
+
180
+ for (; i < l; i++) {
181
+ var item = map[i + 1];
182
+ setNewPoint(item, i);
183
+ }
184
+
185
+ map.pop();
186
+ } else {
187
+ // 目录微空退出目录
188
+ map.pop();
189
+ delete sort[dirItem.key];
190
+ backList();
191
+ }
192
+
193
+ menuRef.current.style.display = 'none';
194
+ };
195
+ /**
196
+ * 返回列表
197
+ */
198
+
199
+
200
+ var backList = function backList() {
201
+ dirItem = null;
202
+ setDir('_');
203
+ };
204
+ /**
205
+ * 应用节点
206
+ * @param item 数据
207
+ * @param index 下标
208
+ * @param type 文件夹 / 单个组件
209
+ * @return ReactNode
210
+ */
211
+
212
+
213
+ var getItem = function getItem(item, index, type) {
214
+ map[index] = getItemData(item, index, type);
215
+ item = map[index];
216
+ var style = {
217
+ left: map[index].point.x + 'px',
218
+ top: map[index].point.y + 'px',
219
+ width: defaultMatrix.width,
220
+ height: defaultMatrix.height
221
+ };
222
+ return jsx("div", Object.assign({
223
+ className: "desktop-item".concat(item.type === 'dir' ? ' desktop-dir' : '').concat(item.disable ? ' item-disable' : ''),
224
+ onContextMenu: onContextMenu,
225
+ onClick: onClick,
226
+ style: style,
227
+ "data-key": item.key,
228
+ "data-index": index
229
+ }, {
230
+ children: type === 'dir' ? jsx("div", Object.assign({
231
+ className: 'item-dir-name'
232
+ }, {
233
+ children: item.displayName
234
+ })) : jsxs(Fragment, {
235
+ children: [jsx("div", Object.assign({
236
+ className: 'item-body'
237
+ }, {
238
+ children: jsx("img", {
239
+ src: item.icon || Icon
240
+ })
241
+ })), jsx("div", Object.assign({
242
+ className: 'item-name'
243
+ }, {
244
+ children: item.displayName
245
+ }))]
246
+ })
247
+ }), dir + item.key + index + line);
248
+ };
249
+ /**
250
+ * 节点数据
251
+ * @param item 当前数据
252
+ * @param index 下标
253
+ * @param type 文件夹 / 单个组件
254
+ */
255
+
256
+
257
+ var getItemData = function getItemData(item, index, type) {
258
+ return {
259
+ index: index,
260
+ data: item,
261
+ key: item.key,
262
+ icon: item.icon,
263
+ disable: item.disable || false,
264
+ type: type || 'item',
265
+ displayName: item.displayName || item.name,
266
+ point: getPoint(index),
267
+ children: item.children || []
268
+ };
269
+ };
270
+ /**
271
+ * 获取位置大小
272
+ * @param index 下标
273
+ */
274
+
275
+
276
+ var getPoint = function getPoint(index) {
277
+ var w = defaultMatrix.width + defaultMatrix.gapX;
278
+ var h = defaultMatrix.height + defaultMatrix.gapY;
279
+ var indexX = index % line; // X行
280
+
281
+ var indexY = index / line | 0; // Y行
282
+
283
+ return {
284
+ x: indexX * w,
285
+ y: indexY * h,
286
+ width: defaultMatrix.width,
287
+ height: defaultMatrix.height
288
+ };
289
+ };
290
+
291
+ var getAppMap = function getAppMap() {
292
+ var appmap = {};
293
+ props.data.forEach(function (item) {
294
+ if (dir === '_') {
295
+ appmap[item.key] = item;
296
+ } else {
297
+ if (dirItem.children.indexOf(item.key) !== -1) appmap[item.key] = item;
298
+ }
299
+ });
300
+ return appmap;
301
+ };
302
+ /**
303
+ * 渲染应用列表
304
+ * @return ReactNode
305
+ */
306
+
307
+
308
+ var getList = React__default.useMemo(function () {
309
+ if (line === 0) return null;
310
+ map = []; // 存在排序数据
311
+
312
+ if (sortJson.length > 0) {
313
+ //dataMap
314
+ var appmap = getAppMap();
315
+ var index = 0;
316
+ var list1 = sortJson.map(function (sortItem) {
317
+ var key = sortItem.key,
318
+ type = sortItem.type;
319
+ if (!appmap[key] && type !== 'dir') return;
320
+ var item = Object.assign({}, appmap[key]);
321
+ delete appmap[key];
322
+ var app;
323
+
324
+ if (type === 'dir') {
325
+ var isNull = true;
326
+ sortItem.children.forEach(function (child) {
327
+ if (appmap[child]) {
328
+ isNull = false;
329
+ delete appmap[child];
330
+ }
331
+ });
332
+ if (isNull) return null; // 文件夹为空则不渲染
333
+
334
+ app = getItem(sortItem, index, type);
335
+ } else app = getItem(item, index);
336
+
337
+ index++;
338
+ return app;
339
+ }); //if (dir === '_') {
340
+ // 是否存在排序列表之外的应用
341
+
342
+ var newapp = Object.keys(appmap);
343
+
344
+ if (newapp.length > 0) {
345
+ var list2 = newapp.map(function (key) {
346
+ var item = appmap[key];
347
+ return getItem(item, map.length);
348
+ });
349
+ list1 = [].concat(_toConsumableArray(list1), _toConsumableArray(list2));
350
+ } //}
351
+
352
+
353
+ return list1;
354
+ } // 文件夹内部渲染
355
+
356
+
357
+ if (dir !== '_' && dirItem) {
358
+ var _appmap = getAppMap();
359
+
360
+ var _index = 0;
361
+ return dirItem.children.map(function (key) {
362
+ if (!_appmap[key]) return null; // 过滤已经不存在的应用
363
+
364
+ var app = getItem(_appmap[key], _index);
365
+ _index++;
366
+ return app;
367
+ });
368
+ } // 默认渲染
369
+
370
+
371
+ return props.data.map(function (item, index) {
372
+ return getItem(item, index);
373
+ });
374
+ }, [data, line, dir]);
375
+ /**
376
+ * mouseDown
377
+ * @param e 元素
378
+ */
379
+
380
+ var onMouseDown = function onMouseDown(e) {
381
+ if (dragLock) return; //reset();
382
+
383
+ var target = e.target.closest('.desktop-item');
384
+ if (!target) return;
385
+ var index = target.getAttribute('data-index');
386
+ dragData = Object.assign(Object.assign({}, map[index]), {
387
+ target: target,
388
+ start: {
389
+ x: e.pageX,
390
+ y: e.pageY
391
+ }
392
+ });
393
+ target.setAttribute('drag-item', 'true');
394
+ window.addEventListener('mousemove', onMouseMove);
395
+ window.addEventListener('mouseup', onMouseUp);
396
+ };
397
+ /**
398
+ * 拖拽目标
399
+ * @param e {MouseEvent} 元素
400
+ */
401
+
402
+
403
+ var onMouseMove = function onMouseMove(e) {
404
+ if (Math.abs(dragData.start.x - e.pageX) > 3) dragLock = true;
405
+ var x = dragData.point.x + (e.pageX - dragData.start.x);
406
+ var y = dragData.point.y + (e.pageY - dragData.start.y) + desktopRef.current.scrollTop;
407
+ setPoint(dragData.target, x, y); // 计算光标碰撞
408
+ //const list = Object.keys(map);
409
+
410
+ var dragRect = {
411
+ x: x,
412
+ y: y,
413
+ w: dragData.point.x + dragData.point.width,
414
+ h: dragData.point.y + dragData.point.height,
415
+ width: dragData.point.width,
416
+ height: dragData.point.height
417
+ };
418
+ var dragCentre = {
419
+ x: dragRect.x + dragRect.width / 2,
420
+ y: dragRect.y + dragRect.height / 2
421
+ };
422
+
423
+ for (var i = 0, l = map.length; i < l; i++) {
424
+ var item = map[i];
425
+ if (!item || String(item.key) === String(dragData.key)) continue;
426
+ if (item.parent && dir !== item.parent) continue;
427
+ /*
428
+ * x,y_____
429
+ * | |
430
+ * |_____w,h
431
+ */
432
+
433
+ var rect = {
434
+ x: item.point.x,
435
+ y: item.point.y,
436
+ w: item.point.x + item.point.width,
437
+ h: item.point.y + item.point.height
438
+ };
439
+ var border = impactBorder; // 中心点矩阵碰撞检测
440
+
441
+ if (checkPointRange(dragCentre, rect)) {
442
+ var impactDom = getItemByKey(item.key);
443
+ if (!impactDom) continue;
444
+ reset('impact');
445
+ impactDom.setAttribute('impact', 'true');
446
+ dragData.impact = {
447
+ data: item,
448
+ rect: rect
449
+ };
450
+ dragData.impact = {
451
+ data: item,
452
+ rect: rect
453
+ };
454
+
455
+ if (dragData.data.type === 'dir' || dir !== '_') {
456
+ border = 0.5;
457
+ } // 计算碰撞位置,左,中,右
458
+
459
+
460
+ var _dragCentre = {
461
+ x: dragRect.x + dragRect.width / 2,
462
+ y: dragRect.y + dragRect.height / 2
463
+ };
464
+ var width = item.point.width;
465
+
466
+ if (_dragCentre.x < rect.x + width * border) {
467
+ dragData.position = 'left';
468
+ setPoint(impactDom, rect.x + 50);
469
+ } else if (_dragCentre.x > rect.w - width * border) {
470
+ dragData.position = 'right';
471
+ setPoint(impactDom, rect.x - 50);
472
+ } else {
473
+ dragData.position = 'centre';
474
+ setPoint(impactDom, rect.x);
475
+ }
476
+
477
+ break;
478
+ } else reset('impact');
479
+ }
480
+ };
481
+ /**
482
+ * 校验位置
483
+ * @param point {x: number, y: number}
484
+ * @param rect {x: number, y: number, w: number, h: number}
485
+ */
486
+
487
+
488
+ var checkPointRange = function checkPointRange(point, rect) {
489
+ if (point.x > rect.x && point.y > rect.y && point.x < rect.w && point.y < rect.h) return point;
490
+ };
491
+ /**
492
+ * 拖拽目标
493
+ * @param e {MouseEvent} 元素
494
+ */
495
+
496
+
497
+ var onMouseUp = function onMouseUp(e) {
498
+ window.removeEventListener('mousemove', onMouseMove);
499
+ window.removeEventListener('mouseup', onMouseUp);
500
+ setTimeout(function () {
501
+ dragLock = false; //ckeckPoint();
502
+ }, 100);
503
+
504
+ if (dragData.impact) {
505
+ var dragMapData = Object.assign({}, map[dragData.index]);
506
+ var impact = dragData.impact.data;
507
+ var impactDom = getItemByKey(impact.key);
508
+
509
+ if (impact.index - dragData.index === -1 && dragData.position === 'right' || // 相邻右侧碰撞
510
+ impact.index - dragData.index === 1 && dragData.position === 'left' || // 相邻左侧碰撞
511
+ dragData.type === 'dir' && dragData.position === 'centre') {
512
+ // 不做任何处理复位拖拽
513
+ setPoint(dragData.target, dragData.point.x, dragData.point.y);
514
+ reset();
515
+ return;
516
+ }
517
+
518
+ var index = impact.index;
519
+ var t;
520
+ var l = dragData.index;
521
+ var i = index;
522
+
523
+ if (index > dragData.index) {
524
+ // 碰撞目标在拖拽目标右侧
525
+ t = 'R'; //l++;
526
+
527
+ if (dragData.position === 'left') {
528
+ i--; // 碰撞目标右侧,无需移位
529
+
530
+ setPoint(impactDom, impact.point.x, impact.point.y);
531
+ index--;
532
+ }
533
+ } else {
534
+ // 碰撞目标在拖拽目标左侧
535
+ t = 'L'; //l--;
536
+
537
+ if (dragData.position === 'right') {
538
+ i++; // 碰撞目标右侧,无需移位
539
+
540
+ setPoint(impactDom, impact.point.x, impact.point.y);
541
+ index++;
542
+ }
543
+ }
544
+
545
+ Object.assign({}, map[index]); // 顺延坐标
546
+
547
+ var temp;
548
+
549
+ if (dragData.position === 'centre') {
550
+ // 文件夹处理
551
+ i = dragData.index;
552
+ l = map.length - 1;
553
+
554
+ for (; i < l; i++) {
555
+ var item = map[i + 1];
556
+ setNewPoint(item, i);
557
+ }
558
+
559
+ map.pop();
560
+ } else {
561
+ temp = Object.assign({}, map[l]); // 备份移动节点
562
+
563
+ if (t === 'R') {
564
+ for (; l < i; l++) {
565
+ var _item = map[l + 1];
566
+ setNewPoint(_item, l);
567
+ }
568
+ }
569
+
570
+ if (t === 'L') {
571
+ for (; l > i; l--) {
572
+ var _item2 = map[l - 1];
573
+ setNewPoint(_item2, l);
574
+ }
575
+ }
576
+
577
+ setNewPoint(temp, i);
578
+ } // 拖拽对象坐标设置
579
+
580
+
581
+ if (dragData.position === 'centre') {
582
+ // 文件夹处理
583
+ if (impact.type === 'dir') addDir(impact, dragMapData);else newDir(impact, dragMapData, t);
584
+ }
585
+
586
+ reset('end');
587
+ return;
588
+ } else setPoint(dragData.target, dragData.point.x, dragData.point.y);
589
+
590
+ reset();
591
+ };
592
+ /**
593
+ * 新建文件夹
594
+ * @param item {mapProps} 当前数据
595
+ * @param dragMapData 碰撞对象
596
+ * @param t 方向
597
+ */
598
+
599
+
600
+ var newDir = function newDir(item, dragMapData, t) {
601
+ if (t === 'R') item.index--;
602
+ var key = 'dir_' + item.key + (Math.random() * 1000000 | 0);
603
+ map[item.index] = Object.assign(Object.assign({}, item), {
604
+ key: key,
605
+ point: getPoint(item.index),
606
+ type: 'dir',
607
+ displayName: '新建文件夹',
608
+ children: [item.key, dragMapData.key]
609
+ });
610
+ var dirDom = getItemByKey(item.key);
611
+ dirDom === null || dirDom === void 0 ? void 0 : dirDom.setAttribute('data-key', key);
612
+ dirDom === null || dirDom === void 0 ? void 0 : dirDom.classList.add('desktop-dir');
613
+ dirDom.innerHTML = "<div class=\"item-dir-name\">".concat(map[item.index].displayName, "</div>");
614
+ var dragDataDom = getItemByKey(dragData.key);
615
+ dragDataDom === null || dragDataDom === void 0 ? void 0 : dragDataDom.setAttribute('in-dir', 'true');
616
+ };
617
+ /**
618
+ * 添加child
619
+ * @param item {mapProps} 当前数据
620
+ * @param dragMapData 碰撞对象
621
+ */
622
+
623
+
624
+ var addDir = function addDir(item, dragMapData) {
625
+ var mapItem = getMapItem(item.key);
626
+ if (!mapItem) return;
627
+ mapItem.children.push(dragMapData.key);
628
+ var dragDataDom = getItemByKey(dragData.key);
629
+ dragDataDom === null || dragDataDom === void 0 ? void 0 : dragDataDom.setAttribute('in-dir', 'true');
630
+ };
631
+ /**
632
+ * 获取数据
633
+ * @param key 键值
634
+ */
635
+
636
+
637
+ var getMapItem = function getMapItem(key) {
638
+ if (!key) return null;
639
+
640
+ for (var i = 0, l = map.length; i < l; i++) {
641
+ if (map[i].key === key) return map[i];
642
+ }
643
+
644
+ return null;
645
+ };
646
+ /**
647
+ * 设置位置
648
+ * @param item 当前数据
649
+ * @param next 下一个节点索引
650
+ * @param point 位置
651
+ */
652
+
653
+
654
+ var setNewPoint = function setNewPoint(item, next, point) {
655
+ if (!item) return;
656
+ if (!point) point = getPoint(next);
657
+ var dom = getItemByKey(item.key);
658
+ if (!dom) return;
659
+ setPoint(dom, point === null || point === void 0 ? void 0 : point.x, point === null || point === void 0 ? void 0 : point.y); // 重新创建索引
660
+
661
+ map[next] = Object.assign({}, item);
662
+ map[next].index = next;
663
+ map[next].point = point;
664
+ dom === null || dom === void 0 ? void 0 : dom.setAttribute('data-index', next);
665
+ };
666
+ /**
667
+ * 复位
668
+ */
669
+
670
+
671
+ var reset = function reset(type) {
672
+ var _a, _b, _c;
673
+
674
+ switch (type) {
675
+ case "impact":
676
+ var impactDom = document.querySelector('[impact="true"]');
677
+ if (!impactDom) return;
678
+
679
+ if (dragData && dragData.impact) {
680
+ setPoint(impactDom, dragData.impact.rect.x, dragData.impact.rect.y);
681
+ delete dragData.impact;
682
+ }
683
+
684
+ impactDom === null || impactDom === void 0 ? void 0 : impactDom.removeAttribute('impact');
685
+ break;
686
+
687
+ case "end":
688
+ dragData = null;
689
+ (_a = document.querySelector('[impact="true"]')) === null || _a === void 0 ? void 0 : _a.removeAttribute('impact');
690
+ (_b = document.querySelector('[drag-item="true"]')) === null || _b === void 0 ? void 0 : _b.removeAttribute('drag-item');
691
+ clearTimeout(saveTimeout);
692
+ onSort();
693
+ break;
694
+
695
+ default:
696
+ reset('impact');
697
+ dragData = null;
698
+ (_c = document.querySelector('[drag-item="true"]')) === null || _c === void 0 ? void 0 : _c.removeAttribute('drag-item');
699
+ window.removeEventListener('mousemove', onMouseMove);
700
+ window.removeEventListener('mouseup', onMouseUp);
701
+ }
702
+ };
703
+ /**
704
+ * 设置dom坐标
705
+ * @param dom {HTMLElement | null | undefined} 元素
706
+ * @param x 左
707
+ * @param y 上
708
+ */
709
+
710
+
711
+ var setPoint = function setPoint(dom, x, y) {
712
+ if (!dom) return;
713
+ if (x !== undefined || x !== null) dom.style.left = x + 'px';
714
+ if (y !== undefined || y !== null) dom.style.top = y + 'px';
715
+ };
716
+ /** 排序 */
717
+
718
+
719
+ var onSort = function onSort() {
720
+ if (!props.onSort) return;
721
+ var data = [];
722
+ var index = 0;
723
+ map.forEach(function (item) {
724
+ data[index] = {
725
+ key: item.key,
726
+ type: item.type
727
+ };
728
+ if (item.displayName !== undefined) data[index].displayName = item.displayName;
729
+ if (item.children.length > 0) data[index].children = item.children;
730
+ if (item.parent !== undefined) data[index].parent = item.parent;
731
+ index++;
732
+ });
733
+ var sortData = DeepClone(sort);
734
+ if (data.length > 0) sortData[dir] = data;
735
+ props.onSort && props.onSort(sortData);
736
+ };
737
+ /**
738
+ * 点击文件夹名字
739
+ */
740
+
741
+
742
+ var clickDirName = function clickDirName() {
743
+ setShowInput(true);
744
+ setInputValue(dirItem.displayName || '文件夹');
745
+ };
746
+ /**
747
+ * 失去焦点设置文件夹名字
748
+ */
749
+
750
+
751
+ var blurInput = function blurInput() {
752
+ dirItem.displayName = inputValue;
753
+ setShowInput(false);
754
+ var sortItem = getSortRootItem(dirItem.key);
755
+ sortItem.displayName = inputValue;
756
+ onSort();
757
+ };
758
+ /**
759
+ * 通过key查询排序对象所在节点
760
+ */
761
+
762
+
763
+ var getSortRootItem = function getSortRootItem(key) {
764
+ var sortList = sort['_'] || [];
765
+
766
+ for (var i = 0, l = sortList.length; i < l; i++) {
767
+ var sortItem = sortList[i];
768
+ if (sortItem.key === key) return sortItem;
769
+ }
770
+ };
771
+ /**
772
+ * 改变输入框
773
+ */
774
+
775
+
776
+ var changeInput = function changeInput(event) {
777
+ setInputValue(event.target.value);
778
+ };
779
+ /**
780
+ * 文件夹头部
781
+ */
782
+
783
+
784
+ var DirTitleMemo = useMemo(function () {
785
+ return dir !== '_' && jsxs("div", Object.assign({
786
+ className: "para-desktop-title"
787
+ }, {
788
+ children: [jsx(Button, Object.assign({
789
+ className: "para-desktop-backlist",
790
+ onClick: backList
791
+ }, {
792
+ children: "\u8FD4\u56DE\u4E0A\u7EA7"
793
+ })), jsx("div", {
794
+ children: showInput ? jsx(TextField, {
795
+ value: inputValue,
796
+ autoFocus: true,
797
+ onChange: changeInput,
798
+ onBlur: blurInput
799
+ }) : jsx("span", Object.assign({
800
+ onClick: clickDirName
801
+ }, {
802
+ children: dirItem.displayName
803
+ }))
804
+ })]
805
+ }));
806
+ }, [dir, showInput, inputValue]);
807
+ /**
808
+ * 拖拽内容
809
+ */
810
+
811
+ var DragMemo = useMemo(function () {
812
+ return jsx("div", Object.assign({
813
+ ref: desktopRef,
814
+ className: 'para-desktop-box',
815
+ onMouseDown: onMouseDown
816
+ }, {
817
+ children: getList
818
+ }));
819
+ }, [line, data, dir, sort]);
820
+ /**
821
+ * 处理class
822
+ * @return {string}
823
+ */
824
+
825
+ var handClass = function handClass() {
826
+ var str = 'para-desktop paraui-desktop';
827
+ if (props.className) str += ' ' + props.className;
828
+ return str;
829
+ };
830
+
831
+ return jsxs("div", Object.assign({
832
+ className: handClass(),
833
+ style: props.style
834
+ }, {
835
+ children: [DirTitleMemo, DragMemo, jsx("div", Object.assign({
836
+ ref: menuRef,
837
+ className: 'menu-list'
838
+ }, {
839
+ children: jsx("div", Object.assign({
840
+ className: 'menu-item',
841
+ onClick: outDir
842
+ }, {
843
+ children: "\u79FB\u51FA\u6587\u4EF6\u5939"
844
+ }))
845
+ }))]
846
+ }));
847
+ };
848
+
849
+ var getItemByKey = function getItemByKey(key) {
850
+ return document.querySelector("[data-key=\"".concat(key, "\"]"));
851
+ };
852
+
853
+ export { Desktop, Desktop as default };