@para-ui/core 3.0.55 → 3.0.56

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 (407) hide show
  1. package/AutoBox/index.d.ts +34 -0
  2. package/AutoBox/index.js +277 -0
  3. package/AutoBox/protal.d.ts +17 -0
  4. package/AutoTips/autoTipsMultiline/index.d.ts +18 -0
  5. package/AutoTips/index.d.ts +35 -0
  6. package/AutoTips/index.js +271 -0
  7. package/Breadcrumbs/index.d.ts +53 -0
  8. package/Breadcrumbs/index.js +266 -0
  9. package/Breadcrumbs/lang/en_US.d.ts +4 -0
  10. package/Breadcrumbs/lang/index.d.ts +9 -0
  11. package/Breadcrumbs/lang/zh_CN.d.ts +4 -0
  12. package/Button/SplitButton.d.ts +64 -0
  13. package/Button/index.d.ts +79 -0
  14. package/Button/index.js +376 -0
  15. package/Button/lang/en_US.d.ts +4 -0
  16. package/Button/lang/index.d.ts +9 -0
  17. package/Button/lang/zh_CN.d.ts +4 -0
  18. package/ButtonGroup/index.d.ts +33 -0
  19. package/ButtonGroup/index.js +124 -0
  20. package/Carousel/index.d.ts +38 -0
  21. package/Carousel/index.js +78 -0
  22. package/Cascader/index.d.ts +54 -0
  23. package/Cascader/index.js +159 -0
  24. package/Cascader/lang/en_US.d.ts +4 -0
  25. package/Cascader/lang/index.d.ts +9 -0
  26. package/Cascader/lang/zh_CN.d.ts +4 -0
  27. package/Checkbox/index.d.ts +40 -0
  28. package/Checkbox/index.js +109 -0
  29. package/CheckboxGroup/index.d.ts +45 -0
  30. package/CheckboxGroup/index.js +142 -0
  31. package/Collapse/collapsePanel.d.ts +30 -0
  32. package/Collapse/index.d.ts +57 -0
  33. package/Collapse/index.js +152 -0
  34. package/Collapse/motion.d.ts +5 -0
  35. package/Collapse/util.d.ts +11 -0
  36. package/CollapseBox/index.d.ts +27 -0
  37. package/CollapseBox/index.js +148 -0
  38. package/CollapseBox/util.d.ts +5 -0
  39. package/CollapseLayout/index.d.ts +53 -0
  40. package/CollapseLayout/index.js +176 -0
  41. package/ColorPicker/index.d.ts +4 -0
  42. package/ColorPicker/index.js +4 -0
  43. package/ComboSelect/index.d.ts +6 -0
  44. package/ComboSelect/index.js +1049 -0
  45. package/ComboSelect/interface.d.ts +146 -0
  46. package/ComboSelect/lang/en_US.d.ts +9 -0
  47. package/ComboSelect/lang/index.d.ts +19 -0
  48. package/ComboSelect/lang/zh_CN.d.ts +9 -0
  49. package/ComboSelect/utils.d.ts +9 -0
  50. package/Container/index.d.ts +77 -0
  51. package/Container/index.js +232 -0
  52. package/DatePicker/PickerButton.d.ts +3 -0
  53. package/DatePicker/PickerTag.d.ts +3 -0
  54. package/DatePicker/generatePicker/generateRangePicker.d.ts +4 -0
  55. package/DatePicker/generatePicker/generateSinglePicker.d.ts +11 -0
  56. package/DatePicker/generatePicker/index.d.ts +95 -0
  57. package/DatePicker/index.d.ts +18 -0
  58. package/DatePicker/index.js +633 -0
  59. package/DatePicker/lang/en_US.d.ts +3 -0
  60. package/DatePicker/lang/index.d.ts +7 -0
  61. package/DatePicker/lang/zh_CN.d.ts +3 -0
  62. package/DatePicker/util.d.ts +22 -0
  63. package/Desktop/index.d.ts +57 -0
  64. package/Desktop/index.js +746 -0
  65. package/DragVerify/index.d.ts +36 -0
  66. package/DragVerify/index.js +385 -0
  67. package/DragVerify/lang/en_US.d.ts +5 -0
  68. package/DragVerify/lang/index.d.ts +11 -0
  69. package/DragVerify/lang/zh_CN.d.ts +5 -0
  70. package/Drawer/index.d.ts +11 -0
  71. package/Drawer/index.js +235 -0
  72. package/Drawer/interface.d.ts +92 -0
  73. package/Drawer/lang/en_US.d.ts +5 -0
  74. package/Drawer/lang/index.d.ts +11 -0
  75. package/Drawer/lang/zh_CN.d.ts +5 -0
  76. package/Dropdown/index.d.ts +40 -0
  77. package/Dropdown/index.js +10 -0
  78. package/DynamicMultiBox/formItem.d.ts +14 -0
  79. package/DynamicMultiBox/index.d.ts +5 -0
  80. package/DynamicMultiBox/index.js +1323 -0
  81. package/DynamicMultiBox/interface.d.ts +165 -0
  82. package/DynamicMultiBox/rowForm.d.ts +24 -0
  83. package/Empty/images/index.d.ts +3 -0
  84. package/Empty/index.d.ts +30 -0
  85. package/Empty/index.js +642 -0
  86. package/Empty/lang/en_US.d.ts +6 -0
  87. package/Empty/lang/index.d.ts +13 -0
  88. package/Empty/lang/zh_CN.d.ts +6 -0
  89. package/Form/index.d.ts +187 -0
  90. package/Form/index.js +355 -0
  91. package/FormItem/compoments/defaultCompoments/index.d.ts +19 -0
  92. package/FormItem/compoments/formCheckboxGroup/index.d.ts +8 -0
  93. package/FormItem/compoments/formFile/index.d.ts +38 -0
  94. package/FormItem/compoments/formRadioGroup/index.d.ts +8 -0
  95. package/FormItem/compoments/formSelect/index.d.ts +18 -0
  96. package/FormItem/errorTips.d.ts +12 -0
  97. package/FormItem/index.d.ts +152 -0
  98. package/FormItem/index.js +78 -0
  99. package/FormItem/itemType.d.ts +42 -0
  100. package/FormItem/validateFunction.d.ts +15 -0
  101. package/FunctionModal/dialog.d.ts +58 -0
  102. package/FunctionModal/index.d.ts +8 -0
  103. package/FunctionModal/index.js +43 -0
  104. package/FunctionModal/modalContext.d.ts +15 -0
  105. package/GlobalContext/componentsProps.d.ts +21 -0
  106. package/GlobalContext/confirmLocale.d.ts +7 -0
  107. package/GlobalContext/constant.d.ts +8 -0
  108. package/GlobalContext/index.d.ts +28 -0
  109. package/GlobalContext/index.js +41 -0
  110. package/GlobalContext/intl.d.ts +34 -0
  111. package/GlobalContext/useFormatMessage.d.ts +3 -0
  112. package/GlobalContext/usePopupContainer.d.ts +4 -0
  113. package/Help/index.d.ts +24 -0
  114. package/Help/index.js +41 -0
  115. package/HelperText/index.d.ts +27 -0
  116. package/HelperText/index.js +34 -0
  117. package/Hooks/useGlobalProps.d.ts +1 -0
  118. package/InputLang/index.d.ts +57 -0
  119. package/InputLang/index.js +355 -0
  120. package/InputNumber/index.d.ts +71 -0
  121. package/InputNumber/index.js +277 -0
  122. package/Label/index.d.ts +37 -0
  123. package/Label/index.js +85 -0
  124. package/Loading/index.d.ts +17 -0
  125. package/Loading/index.js +47 -0
  126. package/Menu/footerExpansion.d.ts +9 -0
  127. package/Menu/index.d.ts +10 -0
  128. package/Menu/index.js +1105 -0
  129. package/Menu/interface.d.ts +141 -0
  130. package/Menu/logo.d.ts +9 -0
  131. package/Menu/verticalMenuList.d.ts +14 -0
  132. package/Message/index.d.ts +99 -0
  133. package/Message/index.js +246 -0
  134. package/Modal/Confirm/index.d.ts +65 -0
  135. package/Modal/index.d.ts +99 -0
  136. package/Modal/index.js +421 -0
  137. package/Modal/lang/en_US.d.ts +5 -0
  138. package/Modal/lang/index.d.ts +11 -0
  139. package/Modal/lang/zh_CN.d.ts +5 -0
  140. package/MultiBox/index.d.ts +60 -0
  141. package/MultiBox/index.js +277 -0
  142. package/MultiBox/lang/en_US.d.ts +4 -0
  143. package/MultiBox/lang/index.d.ts +9 -0
  144. package/MultiBox/lang/zh_CN.d.ts +4 -0
  145. package/Notification/index.d.ts +74 -0
  146. package/Notification/index.js +252 -0
  147. package/OperateBtn/index.d.ts +59 -0
  148. package/OperateBtn/index.js +237 -0
  149. package/OperateBtn/lang/en_US.d.ts +4 -0
  150. package/OperateBtn/lang/index.d.ts +9 -0
  151. package/OperateBtn/lang/zh_CN.d.ts +4 -0
  152. package/PageHeader/horizontalMeun.d.ts +9 -0
  153. package/PageHeader/horizontalMeunRight.d.ts +9 -0
  154. package/PageHeader/index.d.ts +10 -0
  155. package/PageHeader/index.js +1050 -0
  156. package/PageHeader/interface.d.ts +169 -0
  157. package/Pagination/index.d.ts +46 -0
  158. package/Pagination/index.js +461 -0
  159. package/Pagination/lang/en_US.d.ts +8 -0
  160. package/Pagination/lang/index.d.ts +17 -0
  161. package/Pagination/lang/zh_CN.d.ts +8 -0
  162. package/ParauiProvider/index.d.ts +8 -0
  163. package/ParauiProvider/index.js +52 -0
  164. package/PasswordRules/index.d.ts +55 -0
  165. package/PasswordRules/index.js +144 -0
  166. package/PopConfirm/index.d.ts +61 -0
  167. package/PopConfirm/index.js +194 -0
  168. package/PopConfirm/lang/en_US.d.ts +5 -0
  169. package/PopConfirm/lang/index.d.ts +11 -0
  170. package/PopConfirm/lang/zh_CN.d.ts +5 -0
  171. package/Popover/index.d.ts +16 -0
  172. package/Popover/index.js +59 -0
  173. package/Progress/Line.d.ts +47 -0
  174. package/Progress/Steps.d.ts +17 -0
  175. package/Progress/index.d.ts +83 -0
  176. package/Progress/index.js +323 -0
  177. package/Progress/utils.d.ts +6 -0
  178. package/Querying/images/index.d.ts +3 -0
  179. package/Querying/index.d.ts +26 -0
  180. package/Querying/index.js +760 -0
  181. package/Querying/lang/en_US.d.ts +4 -0
  182. package/Querying/lang/index.d.ts +9 -0
  183. package/Querying/lang/zh_CN.d.ts +4 -0
  184. package/README.md +6 -0
  185. package/Radio/index.d.ts +38 -0
  186. package/Radio/index.js +97 -0
  187. package/RadioGroup/index.d.ts +46 -0
  188. package/RadioGroup/index.js +134 -0
  189. package/Search/index.d.ts +57 -0
  190. package/Search/index.js +208 -0
  191. package/Select/index.d.ts +93 -0
  192. package/Select/index.js +1146 -0
  193. package/Select/lang/en_US.d.ts +5 -0
  194. package/Select/lang/index.d.ts +11 -0
  195. package/Select/lang/zh_CN.d.ts +5 -0
  196. package/SelectInput/index.d.ts +12 -0
  197. package/SelectInput/index.js +55 -0
  198. package/Selector/index.d.ts +11 -0
  199. package/Selector/index.js +2175 -0
  200. package/Selector/interface.d.ts +432 -0
  201. package/Selector/lang/en_US.d.ts +11 -0
  202. package/Selector/lang/index.d.ts +23 -0
  203. package/Selector/lang/zh_CN.d.ts +11 -0
  204. package/Selector/selectorData/index.d.ts +10 -0
  205. package/Selector/selectorMain/index.d.ts +10 -0
  206. package/Selector/selectorNode/index.d.ts +10 -0
  207. package/Selector/util.d.ts +15 -0
  208. package/SelectorPicker/index.d.ts +53 -0
  209. package/SelectorPicker/index.js +444 -0
  210. package/SelectorPicker/lang/en_US.d.ts +5 -0
  211. package/SelectorPicker/lang/index.d.ts +11 -0
  212. package/SelectorPicker/lang/zh_CN.d.ts +5 -0
  213. package/SingleBox/index.d.ts +44 -0
  214. package/SingleBox/index.js +224 -0
  215. package/SingleBox/lang/en_US.d.ts +4 -0
  216. package/SingleBox/lang/index.d.ts +9 -0
  217. package/SingleBox/lang/zh_CN.d.ts +4 -0
  218. package/Slider/index.d.ts +14 -0
  219. package/Slider/index.js +119 -0
  220. package/Slider/interface.d.ts +102 -0
  221. package/Split/index.d.ts +7 -0
  222. package/Split/index.js +123 -0
  223. package/Status/index.d.ts +21 -0
  224. package/Status/index.js +37 -0
  225. package/Stepper/icons.d.ts +5 -0
  226. package/Stepper/index.d.ts +59 -0
  227. package/Stepper/index.js +97 -0
  228. package/Switch/index.d.ts +78 -0
  229. package/Switch/index.js +71 -0
  230. package/Table/index.d.ts +10 -0
  231. package/Table/index.js +3001 -0
  232. package/Table/interface.d.ts +346 -0
  233. package/Table/lang/en_US.d.ts +8 -0
  234. package/Table/lang/index.d.ts +17 -0
  235. package/Table/lang/zh_CN.d.ts +8 -0
  236. package/Table/tableBody.d.ts +9 -0
  237. package/Table/tableBodyElement/index.d.ts +15 -0
  238. package/Table/tableBodyInterface.d.ts +73 -0
  239. package/Table/tableContainer/index.d.ts +16 -0
  240. package/Table/tableElement/index.d.ts +17 -0
  241. package/Table/tableHead.d.ts +9 -0
  242. package/Table/tableHeadElement/index.d.ts +15 -0
  243. package/Table/tableHeadInterface.d.ts +37 -0
  244. package/Table/tablePagination.d.ts +9 -0
  245. package/Table/tablePaginationInterface.d.ts +27 -0
  246. package/Table/tdElement/index.d.ts +15 -0
  247. package/Table/thElement/index.d.ts +28 -0
  248. package/Table/trElement/index.d.ts +15 -0
  249. package/Table/util.d.ts +34 -0
  250. package/Tabs/index.d.ts +69 -0
  251. package/Tabs/index.js +205 -0
  252. package/Tabs/lang/en_US.d.ts +4 -0
  253. package/Tabs/lang/index.d.ts +9 -0
  254. package/Tabs/lang/zh_CN.d.ts +4 -0
  255. package/Tag/TagGroup.d.ts +66 -0
  256. package/Tag/index.d.ts +34 -0
  257. package/Tag/index.js +259 -0
  258. package/TextEditor/common.d.ts +11 -0
  259. package/TextEditor/index.d.ts +127 -0
  260. package/TextEditor/index.js +286 -0
  261. package/TextField/index.d.ts +90 -0
  262. package/TextField/index.js +611 -0
  263. package/TimePicker/index.d.ts +22 -0
  264. package/TimePicker/index.js +80 -0
  265. package/TimePicker/locale/en_US.d.ts +3 -0
  266. package/TimePicker/locale/zh_CN.d.ts +3 -0
  267. package/TimePicker/style/index.d.ts +1 -0
  268. package/Timeline/TimelineItem.d.ts +30 -0
  269. package/Timeline/index.d.ts +32 -0
  270. package/Timeline/index.js +148 -0
  271. package/Title/index.d.ts +30 -0
  272. package/Title/index.js +50 -0
  273. package/ToggleButton/ToggleButtonGroup.d.ts +49 -0
  274. package/ToggleButton/index.d.ts +49 -0
  275. package/ToggleButton/index.js +193 -0
  276. package/Tooltip/index.d.ts +11 -0
  277. package/Tooltip/index.js +368 -0
  278. package/Tooltip/interface.d.ts +35 -0
  279. package/Tooltip/utils.d.ts +18 -0
  280. package/Transfer/box.d.ts +38 -0
  281. package/Transfer/index.d.ts +32 -0
  282. package/Transfer/index.js +611 -0
  283. package/Transfer/lang/en_US.d.ts +10 -0
  284. package/Transfer/lang/index.d.ts +21 -0
  285. package/Transfer/lang/zh_CN.d.ts +10 -0
  286. package/Transfer/useClick.d.ts +3 -0
  287. package/Tree/OperateBar/index.d.ts +13 -0
  288. package/Tree/Tree.d.ts +4 -0
  289. package/Tree/index.d.ts +5 -0
  290. package/Tree/index.js +38 -0
  291. package/Tree/interface.d.ts +210 -0
  292. package/Tree/lang/en_US.d.ts +8 -0
  293. package/Tree/lang/index.d.ts +17 -0
  294. package/Tree/lang/zh_CN.d.ts +8 -0
  295. package/Tree/utils/closestPolyfill.d.ts +0 -0
  296. package/Tree/utils/tools.d.ts +25 -0
  297. package/Tree/utils/treeUtil.d.ts +15 -0
  298. package/Upload/Dragger/index.d.ts +10 -0
  299. package/Upload/ErroTip/index.d.ts +13 -0
  300. package/Upload/ImageUpload/index.d.ts +16 -0
  301. package/Upload/ImgCrop/EasyCrop.d.ts +17 -0
  302. package/Upload/ImgCrop/constants.d.ts +7 -0
  303. package/Upload/ImgCrop/index.d.ts +6 -0
  304. package/Upload/ImgCrop/interface.d.ts +48 -0
  305. package/Upload/UploadList/index.d.ts +5 -0
  306. package/Upload/index.d.ts +15 -0
  307. package/Upload/index.js +1446 -0
  308. package/Upload/interface.d.ts +136 -0
  309. package/Upload/lang/en_US.d.ts +12 -0
  310. package/Upload/lang/index.d.ts +25 -0
  311. package/Upload/lang/zh_CN.d.ts +12 -0
  312. package/_verture/constant-66aa48a1.js +10 -0
  313. package/_verture/defineProperty-62acccfc.js +34 -0
  314. package/_verture/index-74f820ba.js +1355 -0
  315. package/_verture/index-77f9e0fb.js +236 -0
  316. package/_verture/index-a369ca3f.js +4 -0
  317. package/_verture/index-beef914f.js +340 -0
  318. package/_verture/index-d03136d4.js +711 -0
  319. package/_verture/index-e2881a53.js +16 -0
  320. package/_verture/intl-5cbb940c.js +57 -0
  321. package/_verture/modalContext-92bb0e16.js +201 -0
  322. package/_verture/slicedToArray-76060636.js +43 -0
  323. package/_verture/sortable.esm-49896035.js +3791 -0
  324. package/_verture/style-inject.es-300983ab.js +28 -0
  325. package/_verture/toConsumableArray-81040c9e.js +19 -0
  326. package/_verture/tslib.es6-55ed4bd2.js +38 -0
  327. package/_verture/typeof-498dd2b1.js +11 -0
  328. package/_verture/unsupportedIterableToArray-cb478f24.js +16 -0
  329. package/_verture/useFormatMessage-703f8b20.js +20 -0
  330. package/_verture/useGlobalProps-1b846a65.js +11 -0
  331. package/_verture/usePopupContainer-87febeb9.js +68 -0
  332. package/_verture/util-7e1fb1e2.js +18 -0
  333. package/index.d.ts +144 -0
  334. package/index.js +180 -0
  335. package/package.json +1 -1
  336. package/umd/AutoBox.js +43 -0
  337. package/umd/AutoTips.js +15 -0
  338. package/umd/Breadcrumbs.js +42 -0
  339. package/umd/Button.js +43 -0
  340. package/umd/ButtonGroup.js +43 -0
  341. package/umd/Carousel.js +6 -0
  342. package/umd/Cascader.js +43 -0
  343. package/umd/Checkbox.js +42 -0
  344. package/umd/CheckboxGroup.js +42 -0
  345. package/umd/Collapse.js +43 -0
  346. package/umd/CollapseBox.js +1 -0
  347. package/umd/CollapseLayout.js +29 -0
  348. package/umd/ColorPicker.js +1 -0
  349. package/umd/ComboSelect.js +42 -0
  350. package/umd/Container.js +1 -0
  351. package/umd/DatePicker.js +42 -0
  352. package/umd/Desktop.js +42 -0
  353. package/umd/DragVerify.js +28 -0
  354. package/umd/Drawer.js +43 -0
  355. package/umd/Dropdown.js +15 -0
  356. package/umd/DynamicMultiBox.js +54 -0
  357. package/umd/Empty.js +15 -0
  358. package/umd/Form.js +42 -0
  359. package/umd/FormItem.js +42 -0
  360. package/umd/FunctionModal.js +42 -0
  361. package/umd/GlobalContext.js +1 -0
  362. package/umd/Help.js +42 -0
  363. package/umd/HelperText.js +1 -0
  364. package/umd/InputLang.js +42 -0
  365. package/umd/InputNumber.js +42 -0
  366. package/umd/Label.js +42 -0
  367. package/umd/Loading.js +29 -0
  368. package/umd/Menu.js +29 -0
  369. package/umd/Message.js +30 -0
  370. package/umd/Modal.js +42 -0
  371. package/umd/MultiBox.js +42 -0
  372. package/umd/Notification.js +43 -0
  373. package/umd/OperateBtn.js +42 -0
  374. package/umd/PageHeader.js +42 -0
  375. package/umd/Pagination.js +42 -0
  376. package/umd/ParauiProvider.js +15 -0
  377. package/umd/PasswordRules.js +29 -0
  378. package/umd/PopConfirm.js +42 -0
  379. package/umd/Popover.js +15 -0
  380. package/umd/Progress.js +35 -0
  381. package/umd/Querying.js +15 -0
  382. package/umd/Radio.js +42 -0
  383. package/umd/RadioGroup.js +42 -0
  384. package/umd/Search.js +42 -0
  385. package/umd/Select.js +42 -0
  386. package/umd/SelectInput.js +42 -0
  387. package/umd/Selector.js +42 -0
  388. package/umd/SelectorPicker.js +42 -0
  389. package/umd/SingleBox.js +42 -0
  390. package/umd/Slider.js +15 -0
  391. package/umd/Split.js +1 -0
  392. package/umd/Status.js +1 -0
  393. package/umd/Stepper.js +42 -0
  394. package/umd/Switch.js +42 -0
  395. package/umd/Table.js +42 -0
  396. package/umd/Tabs.js +42 -0
  397. package/umd/Tag.js +43 -0
  398. package/umd/TextEditor.js +205 -0
  399. package/umd/TextField.js +42 -0
  400. package/umd/TimePicker.js +42 -0
  401. package/umd/Timeline.js +1 -0
  402. package/umd/Title.js +1 -0
  403. package/umd/ToggleButton.js +43 -0
  404. package/umd/Tooltip.js +15 -0
  405. package/umd/Transfer.js +49 -0
  406. package/umd/Tree.js +42 -0
  407. package/umd/Upload.js +56 -0
@@ -0,0 +1,746 @@
1
+ import { _ as _toConsumableArray } from '../_verture/toConsumableArray-81040c9e.js';
2
+ import { _ as _slicedToArray } from '../_verture/slicedToArray-76060636.js';
3
+ import { jsxs, jsx, 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 { $ as $prefixCls } from '../_verture/constant-66aa48a1.js';
9
+ import { s as styleInject } from '../_verture/style-inject.es-300983ab.js';
10
+ import '../_verture/unsupportedIterableToArray-cb478f24.js';
11
+ import '../_verture/typeof-498dd2b1.js';
12
+ import '../_verture/tslib.es6-55ed4bd2.js';
13
+ import '../Label/index.js';
14
+ import '../Help/index.js';
15
+ import '../Tooltip/index.js';
16
+ import 'rc-tooltip';
17
+ import 'rc-tooltip/lib/placements';
18
+ import 'clsx';
19
+ import '@para-ui/icons/Help';
20
+ import '@para-ui/icons/PreviewClose';
21
+ import '@para-ui/icons/PreviewOpen';
22
+ import '@para-ui/icons/CloseCircle';
23
+ import '../AutoTips/index.js';
24
+ import '../Loading/index.js';
25
+ import '@para-ui/icons/LoadingF';
26
+ import '../HelperText/index.js';
27
+ import '../_verture/useGlobalProps-1b846a65.js';
28
+ import '@para-ui/core/GlobalContext';
29
+ import '../_verture/index-77f9e0fb.js';
30
+ import 'rc-dropdown';
31
+ import '../_verture/usePopupContainer-87febeb9.js';
32
+ import 'dayjs';
33
+ import '@para-ui/icons/Forbid';
34
+ import '@para-ui/icons/Down';
35
+ import '../_verture/useFormatMessage-703f8b20.js';
36
+
37
+ var css_248z = "@charset \"UTF-8\";\n/**\n* @author Hanz\n* @date 2021/10/20 下午2:08\n* @description color\n*/\n.paraui-v3-desktop {\n width: 100%;\n height: 100%;\n}\n.paraui-v3-desktop .desktop-title {\n display: flex;\n height: 40px;\n line-height: 40px;\n font-size: 17px;\n margin: 15px 0;\n}\n.paraui-v3-desktop .desktop-title > .desktop-backlist {\n float: left;\n width: 110px;\n margin: 5px;\n}\n.paraui-v3-desktop .desktop-title > div {\n width: 100%;\n text-align: center;\n}\n.paraui-v3-desktop .desktop-title > div > span {\n cursor: pointer;\n font-weight: bold;\n}\n.paraui-v3-desktop .desktop-box {\n position: relative;\n width: 100%;\n height: calc(100% - 50px);\n}\n.paraui-v3-desktop .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.paraui-v3-desktop .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.paraui-v3-desktop .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.paraui-v3-desktop .desktop-box .desktop-item .item-body {\n text-align: center;\n}\n.paraui-v3-desktop .desktop-box .desktop-item .item-body img {\n height: 80px;\n margin-top: 25px;\n pointer-events: none;\n}\n.paraui-v3-desktop .desktop-box .item-disable {\n box-shadow: none;\n background-color: #dbdbdb;\n cursor: not-allowed;\n}\n.paraui-v3-desktop .desktop-box .item-disable img {\n opacity: 0.3;\n}\n.paraui-v3-desktop .desktop-box [drag-item=true] {\n z-index: 2;\n transition: none;\n}\n.paraui-v3-desktop .desktop-box [impact=true] {\n background-color: #E9EFFD;\n}\n.paraui-v3-desktop .desktop-box [in-dir=true] {\n display: none !important;\n}\n.paraui-v3-desktop .desktop-box .img-box {\n display: inline-block;\n width: 100%;\n text-align: center;\n margin-top: 10px;\n}\n.paraui-v3-desktop .desktop-box .img-box > img {\n width: 100px;\n height: 100px;\n user-drag: none;\n}\n.paraui-v3-desktop .desktop-box .desktop-dir .img-box {\n display: inline-block;\n}\n.paraui-v3-desktop .desktop-box .desktop-dir .img-box > img {\n width: 40px;\n height: 40px;\n margin: 5px 15px;\n}\n.paraui-v3-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.paraui-v3-desktop .menu-list .menu-item {\n padding: 5px 15px;\n cursor: pointer;\n}\n.paraui-v3-desktop .menu-list .menu-item:hover {\n background-color: rgb(246, 246, 246);\n}";
38
+ styleInject(css_248z);
39
+
40
+ /** 默认图标 */
41
+ var Icon = 'data:image/png;base64,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';
42
+ var defaultMatrix = {
43
+ width: 200,
44
+ height: 150,
45
+ gapX: 20,
46
+ gapY: 20
47
+ };
48
+ /** 当前页面渲染map对象 */
49
+ var map = [];
50
+ var resizeTimeout;
51
+ var saveTimeout;
52
+ var dragData;
53
+ var impactBorder = 0.3; // 左右碰撞边界阈值 < 0.5,当0.5时则无中心碰撞 | impactBorder | 100% - impactBorder * 2 | impactBorder |
54
+ var dragLock = false;
55
+ var dirItem;
56
+ var contextMenuData;
57
+ var Desktop = function Desktop(props) {
58
+ var desktopRef = useRef();
59
+ var menuRef = useRef();
60
+ var _props$sort = props.sort,
61
+ sort = _props$sort === void 0 ? {} : _props$sort;
62
+ var _useState = useState(0),
63
+ _useState2 = _slicedToArray(_useState, 2),
64
+ line = _useState2[0],
65
+ setLine = _useState2[1]; // 每行个数
66
+ var _useState3 = useState([]),
67
+ _useState4 = _slicedToArray(_useState3, 2),
68
+ data = _useState4[0],
69
+ setData = _useState4[1]; // 数据源
70
+ var _useState5 = useState('_'),
71
+ _useState6 = _slicedToArray(_useState5, 2),
72
+ dir = _useState6[0],
73
+ setDir = _useState6[1]; // _ 显示列表页, key显示文件夹
74
+ var _useState7 = useState(false),
75
+ _useState8 = _slicedToArray(_useState7, 2),
76
+ showInput = _useState8[0],
77
+ setShowInput = _useState8[1]; // 显示文件夹名字输入框
78
+ var _useState9 = useState(''),
79
+ _useState10 = _slicedToArray(_useState9, 2),
80
+ inputValue = _useState10[0],
81
+ setInputValue = _useState10[1]; // 文件夹名字
82
+ var sortJson = sort[dir] || {};
83
+ React__default.useEffect(function () {
84
+ document.addEventListener('resize', function () {
85
+ clearTimeout(resizeTimeout);
86
+ resizeTimeout = setTimeout(function () {
87
+ setLine(getLine());
88
+ }, 200);
89
+ });
90
+ window.addEventListener('mousedown', function (e) {
91
+ if (e.target.closest('.menu-list')) return;
92
+ if (menuRef.current) menuRef.current.style.display = 'none';
93
+ });
94
+ }, []);
95
+ React__default.useEffect(function () {
96
+ setLine(getLine());
97
+ setData(props.data);
98
+ }, [props.data]);
99
+ /**
100
+ * 计算每行个数
101
+ * @return number
102
+ */
103
+ var getLine = function getLine() {
104
+ var desktop = desktopRef.current;
105
+ if (desktop) {
106
+ var rect = desktop.getBoundingClientRect();
107
+ var itemLine = rect.width / (defaultMatrix.width + defaultMatrix.gapX) | 0;
108
+ return itemLine;
109
+ }
110
+ return 1;
111
+ };
112
+ /**
113
+ * 点击事件
114
+ * @param e 元素
115
+ */
116
+ var onClick = function onClick(e) {
117
+ if (dragLock) return;
118
+ var key = e.currentTarget.getAttribute('data-key');
119
+ var mapItem = getMapItem(key);
120
+ if (mapItem.disable) return false;
121
+ if (mapItem.type !== 'dir') {
122
+ props.onClick && props.onClick(mapItem);
123
+ return false;
124
+ }
125
+ dirItem = mapItem;
126
+ setDir(mapItem.key);
127
+ };
128
+ /**
129
+ * 右键菜单
130
+ * @param e 元素
131
+ */
132
+ var onContextMenu = function onContextMenu(e) {
133
+ if (dir === '_') return;
134
+ e.preventDefault();
135
+ if (dragLock) return;
136
+ var key = e.currentTarget.getAttribute('data-key');
137
+ contextMenuData = getMapItem(key);
138
+ setPoint(menuRef.current, e.pageX, e.pageY);
139
+ menuRef.current.style.display = 'block';
140
+ };
141
+ /**
142
+ * 移出文件夹
143
+ * @param e 元素
144
+ */
145
+ var outDir = function outDir(e) {
146
+ if (dir === '_') return;
147
+ var sortItem = getSortRootItem(dirItem.key);
148
+ sortItem.children = sortItem.children.filter(function (key) {
149
+ return key !== contextMenuData.key;
150
+ });
151
+ onSort();
152
+ if (sortItem.children.length > 0) {
153
+ var dom = getItemByKey(contextMenuData.key);
154
+ if (dom) dom.style.display = 'none';
155
+ var i = contextMenuData.index;
156
+ var l = map.length - 1;
157
+ for (; i < l; i++) {
158
+ var item = map[i + 1];
159
+ setNewPoint(item, i);
160
+ }
161
+ map.pop();
162
+ } else {
163
+ // 目录微空退出目录
164
+ map.pop();
165
+ delete sort[dirItem.key];
166
+ backList();
167
+ }
168
+ menuRef.current.style.display = 'none';
169
+ };
170
+ /**
171
+ * 返回列表
172
+ */
173
+ var backList = function backList() {
174
+ dirItem = null;
175
+ setDir('_');
176
+ };
177
+ /**
178
+ * 应用节点
179
+ * @param item 数据
180
+ * @param index 下标
181
+ * @param type 文件夹 / 单个组件
182
+ * @return ReactNode
183
+ */
184
+ var getItem = function getItem(item, index, type) {
185
+ map[index] = getItemData(item, index, type);
186
+ item = map[index];
187
+ var style = {
188
+ left: map[index].point.x + 'px',
189
+ top: map[index].point.y + 'px',
190
+ width: defaultMatrix.width,
191
+ height: defaultMatrix.height
192
+ };
193
+ return jsx("div", Object.assign({
194
+ className: "desktop-item".concat(item.type === 'dir' ? ' desktop-dir' : '').concat(item.disable ? ' item-disable' : ''),
195
+ onContextMenu: onContextMenu,
196
+ onClick: onClick,
197
+ style: style,
198
+ "data-key": item.key,
199
+ "data-index": index
200
+ }, {
201
+ children: type === 'dir' ? jsx("div", Object.assign({
202
+ className: 'item-dir-name'
203
+ }, {
204
+ children: item.displayName
205
+ })) : jsxs(Fragment, {
206
+ children: [jsx("div", Object.assign({
207
+ className: 'item-body'
208
+ }, {
209
+ children: jsx("img", {
210
+ src: item.icon || Icon
211
+ })
212
+ })), jsx("div", Object.assign({
213
+ className: 'item-name'
214
+ }, {
215
+ children: item.displayName
216
+ }))]
217
+ })
218
+ }), dir + item.key + index + line);
219
+ };
220
+ /**
221
+ * 节点数据
222
+ * @param item 当前数据
223
+ * @param index 下标
224
+ * @param type 文件夹 / 单个组件
225
+ */
226
+ var getItemData = function getItemData(item, index, type) {
227
+ return {
228
+ index: index,
229
+ data: item,
230
+ key: item.key,
231
+ icon: item.icon,
232
+ disable: item.disable || false,
233
+ type: type || 'item',
234
+ displayName: item.displayName || item.name,
235
+ point: getPoint(index),
236
+ children: item.children || []
237
+ };
238
+ };
239
+ /**
240
+ * 获取位置大小
241
+ * @param index 下标
242
+ */
243
+ var getPoint = function getPoint(index) {
244
+ var w = defaultMatrix.width + defaultMatrix.gapX;
245
+ var h = defaultMatrix.height + defaultMatrix.gapY;
246
+ var indexX = index % line; // X行
247
+ var indexY = index / line | 0; // Y行
248
+ return {
249
+ x: indexX * w,
250
+ y: indexY * h,
251
+ width: defaultMatrix.width,
252
+ height: defaultMatrix.height
253
+ };
254
+ };
255
+ var getAppMap = function getAppMap() {
256
+ var appmap = {};
257
+ props.data.forEach(function (item) {
258
+ if (dir === '_') {
259
+ appmap[item.key] = item;
260
+ } else {
261
+ if (dirItem.children.indexOf(item.key) !== -1) appmap[item.key] = item;
262
+ }
263
+ });
264
+ return appmap;
265
+ };
266
+ /**
267
+ * 渲染应用列表
268
+ * @return ReactNode
269
+ */
270
+ var getList = React__default.useMemo(function () {
271
+ if (line === 0) return null;
272
+ map = [];
273
+ // 存在排序数据
274
+ if (sortJson.length > 0) {
275
+ //dataMap
276
+ var appmap = getAppMap();
277
+ var index = 0;
278
+ var list1 = sortJson.map(function (sortItem) {
279
+ var key = sortItem.key,
280
+ type = sortItem.type;
281
+ if (!appmap[key] && type !== 'dir') return;
282
+ var item = Object.assign({}, appmap[key]);
283
+ delete appmap[key];
284
+ var app;
285
+ if (type === 'dir') {
286
+ var isNull = true;
287
+ sortItem.children.forEach(function (child) {
288
+ if (appmap[child]) {
289
+ isNull = false;
290
+ delete appmap[child];
291
+ }
292
+ });
293
+ if (isNull) return null; // 文件夹为空则不渲染
294
+ app = getItem(sortItem, index, type);
295
+ } else app = getItem(item, index);
296
+ index++;
297
+ return app;
298
+ });
299
+ //if (dir === '_') {
300
+ // 是否存在排序列表之外的应用
301
+ var newapp = Object.keys(appmap);
302
+ if (newapp.length > 0) {
303
+ var list2 = newapp.map(function (key) {
304
+ var item = appmap[key];
305
+ return getItem(item, map.length);
306
+ });
307
+ list1 = [].concat(_toConsumableArray(list1), _toConsumableArray(list2));
308
+ }
309
+ //}
310
+ return list1;
311
+ }
312
+ // 文件夹内部渲染
313
+ if (dir !== '_' && dirItem) {
314
+ var _appmap = getAppMap();
315
+ var _index = 0;
316
+ return dirItem.children.map(function (key) {
317
+ if (!_appmap[key]) return null; // 过滤已经不存在的应用
318
+ var app = getItem(_appmap[key], _index);
319
+ _index++;
320
+ return app;
321
+ });
322
+ }
323
+ // 默认渲染
324
+ return props.data.map(function (item, index) {
325
+ return getItem(item, index);
326
+ });
327
+ }, [data, line, dir]);
328
+ /**
329
+ * mouseDown
330
+ * @param e 元素
331
+ */
332
+ var onMouseDown = function onMouseDown(e) {
333
+ if (dragLock) return;
334
+ //reset();
335
+ var target = e.target.closest('.desktop-item');
336
+ if (!target) return;
337
+ var index = target.getAttribute('data-index');
338
+ dragData = Object.assign(Object.assign({}, map[index]), {
339
+ target: target,
340
+ start: {
341
+ x: e.pageX,
342
+ y: e.pageY
343
+ }
344
+ });
345
+ target.setAttribute('drag-item', 'true');
346
+ window.addEventListener('mousemove', onMouseMove);
347
+ window.addEventListener('mouseup', onMouseUp);
348
+ };
349
+ /**
350
+ * 拖拽目标
351
+ * @param e {MouseEvent} 元素
352
+ */
353
+ var onMouseMove = function onMouseMove(e) {
354
+ if (Math.abs(dragData.start.x - e.pageX) > 3) dragLock = true;
355
+ var x = dragData.point.x + (e.pageX - dragData.start.x);
356
+ var y = dragData.point.y + (e.pageY - dragData.start.y) + desktopRef.current.scrollTop;
357
+ setPoint(dragData.target, x, y);
358
+ // 计算光标碰撞
359
+ //const list = Object.keys(map);
360
+ var dragRect = {
361
+ x: x,
362
+ y: y,
363
+ w: dragData.point.x + dragData.point.width,
364
+ h: dragData.point.y + dragData.point.height,
365
+ width: dragData.point.width,
366
+ height: dragData.point.height
367
+ };
368
+ var dragCentre = {
369
+ x: dragRect.x + dragRect.width / 2,
370
+ y: dragRect.y + dragRect.height / 2
371
+ };
372
+ for (var i = 0, l = map.length; i < l; i++) {
373
+ var item = map[i];
374
+ if (!item || String(item.key) === String(dragData.key)) continue;
375
+ if (item.parent && dir !== item.parent) continue;
376
+ /*
377
+ * x,y_____
378
+ * | |
379
+ * |_____w,h
380
+ */
381
+ var rect = {
382
+ x: item.point.x,
383
+ y: item.point.y,
384
+ w: item.point.x + item.point.width,
385
+ h: item.point.y + item.point.height
386
+ };
387
+ var border = impactBorder;
388
+ // 中心点矩阵碰撞检测
389
+ if (checkPointRange(dragCentre, rect)) {
390
+ var impactDom = getItemByKey(item.key);
391
+ if (!impactDom) continue;
392
+ reset('impact');
393
+ impactDom.setAttribute('impact', 'true');
394
+ dragData.impact = {
395
+ data: item,
396
+ rect: rect
397
+ };
398
+ dragData.impact = {
399
+ data: item,
400
+ rect: rect
401
+ };
402
+ if (dragData.data.type === 'dir' || dir !== '_') {
403
+ border = 0.5;
404
+ }
405
+ // 计算碰撞位置,左,中,右
406
+ var _dragCentre = {
407
+ x: dragRect.x + dragRect.width / 2,
408
+ y: dragRect.y + dragRect.height / 2
409
+ };
410
+ var width = item.point.width;
411
+ if (_dragCentre.x < rect.x + width * border) {
412
+ dragData.position = 'left';
413
+ setPoint(impactDom, rect.x + 50);
414
+ } else if (_dragCentre.x > rect.w - width * border) {
415
+ dragData.position = 'right';
416
+ setPoint(impactDom, rect.x - 50);
417
+ } else {
418
+ dragData.position = 'centre';
419
+ setPoint(impactDom, rect.x);
420
+ }
421
+ break;
422
+ } else reset('impact');
423
+ }
424
+ };
425
+ /**
426
+ * 校验位置
427
+ * @param point {x: number, y: number}
428
+ * @param rect {x: number, y: number, w: number, h: number}
429
+ */
430
+ var checkPointRange = function checkPointRange(point, rect) {
431
+ if (point.x > rect.x && point.y > rect.y && point.x < rect.w && point.y < rect.h) return point;
432
+ };
433
+ /**
434
+ * 拖拽目标
435
+ * @param e {MouseEvent} 元素
436
+ */
437
+ var onMouseUp = function onMouseUp(e) {
438
+ window.removeEventListener('mousemove', onMouseMove);
439
+ window.removeEventListener('mouseup', onMouseUp);
440
+ setTimeout(function () {
441
+ dragLock = false;
442
+ //ckeckPoint();
443
+ }, 100);
444
+ if (dragData.impact) {
445
+ var dragMapData = Object.assign({}, map[dragData.index]);
446
+ var impact = dragData.impact.data;
447
+ var impactDom = getItemByKey(impact.key);
448
+ if (impact.index - dragData.index === -1 && dragData.position === 'right' ||
449
+ // 相邻右侧碰撞
450
+ impact.index - dragData.index === 1 && dragData.position === 'left' ||
451
+ // 相邻左侧碰撞
452
+ dragData.type === 'dir' && dragData.position === 'centre') {
453
+ // 不做任何处理复位拖拽
454
+ setPoint(dragData.target, dragData.point.x, dragData.point.y);
455
+ reset();
456
+ return;
457
+ }
458
+ var index = impact.index;
459
+ var t;
460
+ var l = dragData.index;
461
+ var i = index;
462
+ if (index > dragData.index) {
463
+ // 碰撞目标在拖拽目标右侧
464
+ t = 'R';
465
+ //l++;
466
+ if (dragData.position === 'left') {
467
+ i--;
468
+ // 碰撞目标右侧,无需移位
469
+ setPoint(impactDom, impact.point.x, impact.point.y);
470
+ index--;
471
+ }
472
+ } else {
473
+ // 碰撞目标在拖拽目标左侧
474
+ t = 'L';
475
+ //l--;
476
+ if (dragData.position === 'right') {
477
+ i++;
478
+ // 碰撞目标右侧,无需移位
479
+ setPoint(impactDom, impact.point.x, impact.point.y);
480
+ index++;
481
+ }
482
+ }
483
+ Object.assign({}, map[index]);
484
+ // 顺延坐标
485
+ var temp;
486
+ if (dragData.position === 'centre') {
487
+ // 文件夹处理
488
+ i = dragData.index;
489
+ l = map.length - 1;
490
+ for (; i < l; i++) {
491
+ var item = map[i + 1];
492
+ setNewPoint(item, i);
493
+ }
494
+ map.pop();
495
+ } else {
496
+ temp = Object.assign({}, map[l]); // 备份移动节点
497
+ if (t === 'R') {
498
+ for (; l < i; l++) {
499
+ var _item = map[l + 1];
500
+ setNewPoint(_item, l);
501
+ }
502
+ }
503
+ if (t === 'L') {
504
+ for (; l > i; l--) {
505
+ var _item2 = map[l - 1];
506
+ setNewPoint(_item2, l);
507
+ }
508
+ }
509
+ setNewPoint(temp, i);
510
+ }
511
+ // 拖拽对象坐标设置
512
+ if (dragData.position === 'centre') {
513
+ // 文件夹处理
514
+ if (impact.type === 'dir') addDir(impact, dragMapData);else newDir(impact, dragMapData, t);
515
+ }
516
+ reset('end');
517
+ return;
518
+ } else setPoint(dragData.target, dragData.point.x, dragData.point.y);
519
+ reset();
520
+ };
521
+ /**
522
+ * 新建文件夹
523
+ * @param item {mapProps} 当前数据
524
+ * @param dragMapData 碰撞对象
525
+ * @param t 方向
526
+ */
527
+ var newDir = function newDir(item, dragMapData, t) {
528
+ if (t === 'R') item.index--;
529
+ var key = 'dir_' + item.key + (Math.random() * 1000000 | 0);
530
+ map[item.index] = Object.assign(Object.assign({}, item), {
531
+ key: key,
532
+ point: getPoint(item.index),
533
+ type: 'dir',
534
+ displayName: '新建文件夹',
535
+ children: [item.key, dragMapData.key]
536
+ });
537
+ var dirDom = getItemByKey(item.key);
538
+ dirDom === null || dirDom === void 0 ? void 0 : dirDom.setAttribute('data-key', key);
539
+ dirDom === null || dirDom === void 0 ? void 0 : dirDom.classList.add('desktop-dir');
540
+ dirDom.innerHTML = "<div class=\"item-dir-name\">".concat(map[item.index].displayName, "</div>");
541
+ var dragDataDom = getItemByKey(dragData.key);
542
+ dragDataDom === null || dragDataDom === void 0 ? void 0 : dragDataDom.setAttribute('in-dir', 'true');
543
+ };
544
+ /**
545
+ * 添加child
546
+ * @param item {mapProps} 当前数据
547
+ * @param dragMapData 碰撞对象
548
+ */
549
+ var addDir = function addDir(item, dragMapData) {
550
+ var mapItem = getMapItem(item.key);
551
+ if (!mapItem) return;
552
+ mapItem.children.push(dragMapData.key);
553
+ var dragDataDom = getItemByKey(dragData.key);
554
+ dragDataDom === null || dragDataDom === void 0 ? void 0 : dragDataDom.setAttribute('in-dir', 'true');
555
+ };
556
+ /**
557
+ * 获取数据
558
+ * @param key 键值
559
+ */
560
+ var getMapItem = function getMapItem(key) {
561
+ if (!key) return null;
562
+ for (var i = 0, l = map.length; i < l; i++) {
563
+ if (map[i].key === key) return map[i];
564
+ }
565
+ return null;
566
+ };
567
+ /**
568
+ * 设置位置
569
+ * @param item 当前数据
570
+ * @param next 下一个节点索引
571
+ * @param point 位置
572
+ */
573
+ var setNewPoint = function setNewPoint(item, next, point) {
574
+ if (!item) return;
575
+ if (!point) point = getPoint(next);
576
+ var dom = getItemByKey(item.key);
577
+ if (!dom) return;
578
+ setPoint(dom, point === null || point === void 0 ? void 0 : point.x, point === null || point === void 0 ? void 0 : point.y);
579
+ // 重新创建索引
580
+ map[next] = Object.assign({}, item);
581
+ map[next].index = next;
582
+ map[next].point = point;
583
+ dom === null || dom === void 0 ? void 0 : dom.setAttribute('data-index', next);
584
+ };
585
+ /**
586
+ * 复位
587
+ */
588
+ var reset = function reset(type) {
589
+ var _a, _b, _c;
590
+ switch (type) {
591
+ case "impact":
592
+ var impactDom = document.querySelector('[impact="true"]');
593
+ if (!impactDom) return;
594
+ if (dragData && dragData.impact) {
595
+ setPoint(impactDom, dragData.impact.rect.x, dragData.impact.rect.y);
596
+ delete dragData.impact;
597
+ }
598
+ impactDom === null || impactDom === void 0 ? void 0 : impactDom.removeAttribute('impact');
599
+ break;
600
+ case "end":
601
+ dragData = null;
602
+ (_a = document.querySelector('[impact="true"]')) === null || _a === void 0 ? void 0 : _a.removeAttribute('impact');
603
+ (_b = document.querySelector('[drag-item="true"]')) === null || _b === void 0 ? void 0 : _b.removeAttribute('drag-item');
604
+ clearTimeout(saveTimeout);
605
+ onSort();
606
+ break;
607
+ default:
608
+ reset('impact');
609
+ dragData = null;
610
+ (_c = document.querySelector('[drag-item="true"]')) === null || _c === void 0 ? void 0 : _c.removeAttribute('drag-item');
611
+ window.removeEventListener('mousemove', onMouseMove);
612
+ window.removeEventListener('mouseup', onMouseUp);
613
+ }
614
+ };
615
+ /**
616
+ * 设置dom坐标
617
+ * @param dom {HTMLElement | null | undefined} 元素
618
+ * @param x 左
619
+ * @param y 上
620
+ */
621
+ var setPoint = function setPoint(dom, x, y) {
622
+ if (!dom) return;
623
+ if (x !== undefined || x !== null) dom.style.left = x + 'px';
624
+ if (y !== undefined || y !== null) dom.style.top = y + 'px';
625
+ };
626
+ /** 排序 */
627
+ var onSort = function onSort() {
628
+ if (!props.onSort) return;
629
+ var data = [];
630
+ var index = 0;
631
+ map.forEach(function (item) {
632
+ data[index] = {
633
+ key: item.key,
634
+ type: item.type
635
+ };
636
+ if (item.displayName !== undefined) data[index].displayName = item.displayName;
637
+ if (item.children.length > 0) data[index].children = item.children;
638
+ if (item.parent !== undefined) data[index].parent = item.parent;
639
+ index++;
640
+ });
641
+ var sortData = DeepClone(sort);
642
+ if (data.length > 0) sortData[dir] = data;
643
+ props.onSort && props.onSort(sortData);
644
+ };
645
+ /**
646
+ * 点击文件夹名字
647
+ */
648
+ var clickDirName = function clickDirName() {
649
+ setShowInput(true);
650
+ setInputValue(dirItem.displayName || '文件夹');
651
+ };
652
+ /**
653
+ * 失去焦点设置文件夹名字
654
+ */
655
+ var blurInput = function blurInput() {
656
+ dirItem.displayName = inputValue;
657
+ setShowInput(false);
658
+ var sortItem = getSortRootItem(dirItem.key);
659
+ sortItem.displayName = inputValue;
660
+ onSort();
661
+ };
662
+ /**
663
+ * 通过key查询排序对象所在节点
664
+ */
665
+ var getSortRootItem = function getSortRootItem(key) {
666
+ var sortList = sort['_'] || [];
667
+ for (var i = 0, l = sortList.length; i < l; i++) {
668
+ var sortItem = sortList[i];
669
+ if (sortItem.key === key) return sortItem;
670
+ }
671
+ };
672
+ /**
673
+ * 改变输入框
674
+ */
675
+ var changeInput = function changeInput(event) {
676
+ setInputValue(event.target.value);
677
+ };
678
+ /**
679
+ * 文件夹头部
680
+ */
681
+ var DirTitleMemo = useMemo(function () {
682
+ return dir !== '_' && jsxs("div", Object.assign({
683
+ className: "desktop-title"
684
+ }, {
685
+ children: [jsx(Button, Object.assign({
686
+ className: "desktop-backlist",
687
+ onClick: backList
688
+ }, {
689
+ children: "\u8FD4\u56DE\u4E0A\u7EA7"
690
+ })), jsx("div", {
691
+ children: showInput ? jsx(TextField, {
692
+ value: inputValue,
693
+ autoFocus: true,
694
+ onChange: changeInput,
695
+ onBlur: blurInput
696
+ }) : jsx("span", Object.assign({
697
+ onClick: clickDirName
698
+ }, {
699
+ children: dirItem.displayName
700
+ }))
701
+ })]
702
+ }));
703
+ }, [dir, showInput, inputValue]);
704
+ /**
705
+ * 拖拽内容
706
+ */
707
+ var DragMemo = useMemo(function () {
708
+ return jsx("div", Object.assign({
709
+ ref: desktopRef,
710
+ className: 'desktop-box',
711
+ onMouseDown: onMouseDown
712
+ }, {
713
+ children: getList
714
+ }));
715
+ }, [line, data, dir, sort]);
716
+ /**
717
+ * 处理class
718
+ * @return {string}
719
+ */
720
+ var handClass = function handClass() {
721
+ var str = $prefixCls + '-desktop';
722
+ if (props.className) str += ' ' + props.className;
723
+ return str;
724
+ };
725
+ return jsxs("div", Object.assign({
726
+ className: handClass(),
727
+ style: props.style
728
+ }, {
729
+ children: [DirTitleMemo, DragMemo, jsx("div", Object.assign({
730
+ ref: menuRef,
731
+ className: 'menu-list'
732
+ }, {
733
+ children: jsx("div", Object.assign({
734
+ className: 'menu-item',
735
+ onClick: outDir
736
+ }, {
737
+ children: "\u79FB\u51FA\u6587\u4EF6\u5939"
738
+ }))
739
+ }))]
740
+ }));
741
+ };
742
+ var getItemByKey = function getItemByKey(key) {
743
+ return document.querySelector("[data-key=\"".concat(key, "\"]"));
744
+ };
745
+
746
+ export { Desktop, Desktop as default };