@para-ui/core 3.0.28 → 3.0.30

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 (140) hide show
  1. package/AutoBox/index.js +48 -88
  2. package/AutoTips/index.js +25 -32
  3. package/Breadcrumbs/index.js +43 -63
  4. package/Button/SplitButton.d.ts +1 -1
  5. package/Button/index.d.ts +1 -1
  6. package/Button/index.js +88 -118
  7. package/ButtonGroup/index.js +27 -36
  8. package/Carousel/index.d.ts +2 -2
  9. package/Carousel/index.js +27 -28
  10. package/Cascader/index.js +52 -64
  11. package/Checkbox/index.js +23 -39
  12. package/CheckboxGroup/index.js +31 -48
  13. package/Collapse/collapsePanel.d.ts +1 -1
  14. package/Collapse/index.d.ts +1 -1
  15. package/Collapse/index.js +9 -29
  16. package/Collapse/util.d.ts +2 -2
  17. package/CollapseBox/index.js +45 -56
  18. package/CollapseLayout/index.js +35 -54
  19. package/ComboSelect/index.js +222 -349
  20. package/ComboSelect/interface.d.ts +3 -3
  21. package/Container/index.js +17 -20
  22. package/DatePicker/generatePicker/index.d.ts +17 -17
  23. package/DatePicker/index.d.ts +4 -4
  24. package/DatePicker/index.js +111 -167
  25. package/Desktop/index.js +62 -173
  26. package/Drawer/index.js +65 -58
  27. package/Drawer/interface.d.ts +7 -3
  28. package/Dropdown/index.d.ts +1 -1
  29. package/Dropdown/index.js +3 -3
  30. package/Empty/index.js +17 -22
  31. package/Form/index.d.ts +1 -1
  32. package/Form/index.js +38 -80
  33. package/FormItem/index.d.ts +1 -1
  34. package/FormItem/index.js +11 -11
  35. package/FormItem/validateFunction.d.ts +1 -1
  36. package/FunctionModal/index.js +11 -11
  37. package/GlobalContext/index.js +3 -3
  38. package/GlobalContext/usePopupContainer.d.ts +1 -1
  39. package/Help/index.js +11 -11
  40. package/HelperText/index.js +11 -12
  41. package/InputLang/index.js +47 -80
  42. package/InputNumber/index.js +65 -100
  43. package/Label/index.js +15 -16
  44. package/Loading/index.js +6 -7
  45. package/Menu/index.js +148 -328
  46. package/Menu/interface.d.ts +2 -2
  47. package/Menu/verticalMenuList.d.ts +1 -1
  48. package/Message/index.d.ts +1 -1
  49. package/Message/index.js +45 -64
  50. package/Modal/Confirm/index.d.ts +2 -2
  51. package/Modal/index.d.ts +1 -1
  52. package/Modal/index.js +119 -152
  53. package/MultiBox/index.js +44 -76
  54. package/Notification/index.d.ts +2 -2
  55. package/Notification/index.js +51 -72
  56. package/OperateBtn/index.js +42 -70
  57. package/PageHeader/index.js +120 -286
  58. package/PageHeader/interface.d.ts +1 -1
  59. package/Pagination/index.d.ts +2 -2
  60. package/Pagination/index.js +79 -131
  61. package/ParauiProvider/index.js +2 -3
  62. package/PasswordRules/index.js +12 -30
  63. package/PopConfirm/index.d.ts +1 -1
  64. package/PopConfirm/index.js +52 -59
  65. package/Popover/index.js +8 -9
  66. package/Progress/index.d.ts +6 -6
  67. package/Progress/index.js +50 -89
  68. package/Querying/index.js +14 -17
  69. package/README.md +813 -800
  70. package/Radio/index.js +21 -33
  71. package/RadioGroup/index.js +32 -47
  72. package/Search/index.js +44 -66
  73. package/Select/index.js +176 -343
  74. package/SelectInput/index.js +8 -9
  75. package/Selector/index.js +285 -681
  76. package/SelectorPicker/index.js +62 -97
  77. package/SingleBox/index.js +30 -55
  78. package/Slider/index.d.ts +1 -1
  79. package/Slider/index.js +29 -41
  80. package/Slider/interface.d.ts +2 -2
  81. package/Split/index.js +10 -23
  82. package/Status/index.js +8 -7
  83. package/Stepper/index.d.ts +1 -1
  84. package/Stepper/index.js +20 -25
  85. package/Styles/form.scss +5 -5
  86. package/Styles/index.scss +37 -37
  87. package/Styles/normalize.scss +348 -348
  88. package/Styles/scrollbar.scss +223 -223
  89. package/Styles/theme.scss +74 -74
  90. package/Switch/index.d.ts +2 -2
  91. package/Switch/index.js +19 -20
  92. package/Table/index.js +568 -1019
  93. package/Table/interface.d.ts +5 -5
  94. package/Tabs/index.d.ts +3 -3
  95. package/Tabs/index.js +47 -65
  96. package/Tag/TagGroup.d.ts +1 -1
  97. package/Tag/index.d.ts +2 -2
  98. package/Tag/index.js +72 -107
  99. package/TextEditor/index.d.ts +2 -2
  100. package/TextEditor/index.js +81 -105
  101. package/TextField/index.js +141 -220
  102. package/TimePicker/index.d.ts +1 -1
  103. package/TimePicker/index.js +12 -15
  104. package/Timeline/index.js +42 -52
  105. package/Title/index.js +10 -9
  106. package/ToggleButton/ToggleButtonGroup.d.ts +1 -1
  107. package/ToggleButton/index.js +50 -70
  108. package/Tooltip/index.js +64 -98
  109. package/Tooltip/interface.d.ts +1 -1
  110. package/Transfer/index.d.ts +1 -1
  111. package/Transfer/index.js +114 -137
  112. package/Transfer/useClick.d.ts +1 -1
  113. package/Tree/index.js +10 -10
  114. package/Tree/interface.d.ts +6 -6
  115. package/Upload/Dragger/index.d.ts +1 -1
  116. package/Upload/ImageUpload/index.d.ts +1 -1
  117. package/Upload/ImgCrop/EasyCrop.d.ts +1 -1
  118. package/Upload/index.d.ts +1 -1
  119. package/Upload/index.js +283 -475
  120. package/Upload/interface.d.ts +2 -2
  121. package/_verture/{constant-bf34e6fa.js → constant-66aa48a1.js} +0 -1
  122. package/_verture/defineProperty-62acccfc.js +34 -0
  123. package/_verture/{index-342379c6.js → index-06fea29b.js} +79 -124
  124. package/_verture/{index-48875ffd.js → index-131f8fe5.js} +80 -181
  125. package/_verture/{index-31ce5a11.js → index-92144ad3.js} +238 -445
  126. package/_verture/{index-bbed73a3.js → index-be4faaee.js} +19 -61
  127. package/_verture/{intl-336570e4.js → intl-5cbb940c.js} +4 -12
  128. package/_verture/{modalContext-d646d9db.js → modalContext-c749e1c6.js} +18 -43
  129. package/_verture/{slicedToArray-d7722f4b.js → slicedToArray-77980792.js} +23 -25
  130. package/_verture/{toConsumableArray-f8047a75.js → toConsumableArray-87c7d895.js} +1 -1
  131. package/_verture/{useFormatMessage-f4452258.js → useFormatMessage-703f8b20.js} +1 -3
  132. package/_verture/{useGlobalProps-af9a2af6.js → useGlobalProps-1b846a65.js} +1 -2
  133. package/_verture/{usePopupContainer-b8ab7cab.js → usePopupContainer-87febeb9.js} +10 -25
  134. package/_verture/{util-a77b261e.js → util-7e1fb1e2.js} +2 -3
  135. package/index.d.ts +2 -4
  136. package/index.js +15 -16
  137. package/package.json +167 -168
  138. package/Test/index.d.ts +0 -3
  139. package/Test/index.js +0 -9
  140. package/_verture/defineProperty-0590dc61.js +0 -16
package/Desktop/index.js CHANGED
@@ -1,11 +1,11 @@
1
- import { _ as _toConsumableArray } from '../_verture/toConsumableArray-f8047a75.js';
2
- import { _ as _slicedToArray } from '../_verture/slicedToArray-d7722f4b.js';
1
+ import { _ as _toConsumableArray } from '../_verture/toConsumableArray-87c7d895.js';
2
+ import { _ as _slicedToArray } from '../_verture/slicedToArray-77980792.js';
3
3
  import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
4
4
  import React__default, { useRef, useState, useMemo } from 'react';
5
5
  import { TextField } from '../TextField/index.js';
6
6
  import { Button } from '../Button/index.js';
7
7
  import { DeepClone } from '@paraview/lib';
8
- import { $ as $prefixCls } from '../_verture/constant-bf34e6fa.js';
8
+ import { $ as $prefixCls } from '../_verture/constant-66aa48a1.js';
9
9
  import { s as styleInject } from '../_verture/style-inject.es-300983ab.js';
10
10
  import '../_verture/typeof-498dd2b1.js';
11
11
  import '../_verture/tslib.es6-55ed4bd2.js';
@@ -23,21 +23,20 @@ import '../AutoTips/index.js';
23
23
  import '../Loading/index.js';
24
24
  import '@para-ui/icons/LoadingF';
25
25
  import '../HelperText/index.js';
26
- import '../_verture/useGlobalProps-af9a2af6.js';
26
+ import '../_verture/useGlobalProps-1b846a65.js';
27
27
  import '@para-ui/core/GlobalContext';
28
- import '../_verture/index-bbed73a3.js';
28
+ import '../_verture/index-be4faaee.js';
29
29
  import 'rc-dropdown';
30
- import '../_verture/usePopupContainer-b8ab7cab.js';
30
+ import '../_verture/usePopupContainer-87febeb9.js';
31
31
  import 'dayjs';
32
32
  import '@para-ui/icons/Forbid';
33
33
  import '@para-ui/icons/Down';
34
- import '../_verture/useFormatMessage-f4452258.js';
34
+ import '../_verture/useFormatMessage-703f8b20.js';
35
35
 
36
36
  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}";
37
37
  styleInject(css_248z);
38
38
 
39
39
  /** 默认图标 */
40
-
41
40
  var Icon = 'data:image/png;base64,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';
42
41
  var defaultMatrix = {
43
42
  width: 200,
@@ -46,13 +45,11 @@ var defaultMatrix = {
46
45
  gapY: 20
47
46
  };
48
47
  /** 当前页面渲染map对象 */
49
-
50
48
  var map = [];
51
49
  var resizeTimeout;
52
50
  var saveTimeout;
53
51
  var dragData;
54
52
  var impactBorder = 0.3; // 左右碰撞边界阈值 < 0.5,当0.5时则无中心碰撞 | impactBorder | 100% - impactBorder * 2 | impactBorder |
55
-
56
53
  var dragLock = false;
57
54
  var dirItem;
58
55
  var contextMenuData;
@@ -60,38 +57,27 @@ var Desktop = function Desktop(props) {
60
57
  var desktopRef = useRef();
61
58
  var menuRef = useRef();
62
59
  var _props$sort = props.sort,
63
- sort = _props$sort === void 0 ? {} : _props$sort;
64
-
60
+ sort = _props$sort === void 0 ? {} : _props$sort;
65
61
  var _useState = useState(0),
66
- _useState2 = _slicedToArray(_useState, 2),
67
- line = _useState2[0],
68
- setLine = _useState2[1]; // 每行个数
69
-
70
-
62
+ _useState2 = _slicedToArray(_useState, 2),
63
+ line = _useState2[0],
64
+ setLine = _useState2[1]; // 每行个数
71
65
  var _useState3 = useState([]),
72
- _useState4 = _slicedToArray(_useState3, 2),
73
- data = _useState4[0],
74
- setData = _useState4[1]; // 数据源
75
-
76
-
66
+ _useState4 = _slicedToArray(_useState3, 2),
67
+ data = _useState4[0],
68
+ setData = _useState4[1]; // 数据源
77
69
  var _useState5 = useState('_'),
78
- _useState6 = _slicedToArray(_useState5, 2),
79
- dir = _useState6[0],
80
- setDir = _useState6[1]; // _ 显示列表页, key显示文件夹
81
-
82
-
70
+ _useState6 = _slicedToArray(_useState5, 2),
71
+ dir = _useState6[0],
72
+ setDir = _useState6[1]; // _ 显示列表页, key显示文件夹
83
73
  var _useState7 = useState(false),
84
- _useState8 = _slicedToArray(_useState7, 2),
85
- showInput = _useState8[0],
86
- setShowInput = _useState8[1]; // 显示文件夹名字输入框
87
-
88
-
74
+ _useState8 = _slicedToArray(_useState7, 2),
75
+ showInput = _useState8[0],
76
+ setShowInput = _useState8[1]; // 显示文件夹名字输入框
89
77
  var _useState9 = useState(''),
90
- _useState10 = _slicedToArray(_useState9, 2),
91
- inputValue = _useState10[0],
92
- setInputValue = _useState10[1]; // 文件夹名字
93
-
94
-
78
+ _useState10 = _slicedToArray(_useState9, 2),
79
+ inputValue = _useState10[0],
80
+ setInputValue = _useState10[1]; // 文件夹名字
95
81
  var sortJson = sort[dir] || {};
96
82
  React__default.useEffect(function () {
97
83
  document.addEventListener('resize', function () {
@@ -113,35 +99,28 @@ var Desktop = function Desktop(props) {
113
99
  * 计算每行个数
114
100
  * @return number
115
101
  */
116
-
117
102
  var getLine = function getLine() {
118
103
  var desktop = desktopRef.current;
119
-
120
104
  if (desktop) {
121
105
  var rect = desktop.getBoundingClientRect();
122
106
  var itemLine = rect.width / (defaultMatrix.width + defaultMatrix.gapX) | 0;
123
107
  return itemLine;
124
108
  }
125
-
126
109
  return 1;
127
110
  };
128
111
  /**
129
112
  * 点击事件
130
113
  * @param e 元素
131
114
  */
132
-
133
-
134
115
  var onClick = function onClick(e) {
135
116
  if (dragLock) return;
136
117
  var key = e.currentTarget.getAttribute('data-key');
137
118
  var mapItem = getMapItem(key);
138
119
  if (mapItem.disable) return false;
139
-
140
120
  if (mapItem.type !== 'dir') {
141
121
  props.onClick && props.onClick(mapItem);
142
122
  return false;
143
123
  }
144
-
145
124
  dirItem = mapItem;
146
125
  setDir(mapItem.key);
147
126
  };
@@ -149,8 +128,6 @@ var Desktop = function Desktop(props) {
149
128
  * 右键菜单
150
129
  * @param e 元素
151
130
  */
152
-
153
-
154
131
  var onContextMenu = function onContextMenu(e) {
155
132
  if (dir === '_') return;
156
133
  e.preventDefault();
@@ -164,8 +141,6 @@ var Desktop = function Desktop(props) {
164
141
  * 移出文件夹
165
142
  * @param e 元素
166
143
  */
167
-
168
-
169
144
  var outDir = function outDir(e) {
170
145
  if (dir === '_') return;
171
146
  var sortItem = getSortRootItem(dirItem.key);
@@ -173,18 +148,15 @@ var Desktop = function Desktop(props) {
173
148
  return key !== contextMenuData.key;
174
149
  });
175
150
  onSort();
176
-
177
151
  if (sortItem.children.length > 0) {
178
152
  var dom = getItemByKey(contextMenuData.key);
179
153
  if (dom) dom.style.display = 'none';
180
154
  var i = contextMenuData.index;
181
155
  var l = map.length - 1;
182
-
183
156
  for (; i < l; i++) {
184
157
  var item = map[i + 1];
185
158
  setNewPoint(item, i);
186
159
  }
187
-
188
160
  map.pop();
189
161
  } else {
190
162
  // 目录微空退出目录
@@ -192,14 +164,11 @@ var Desktop = function Desktop(props) {
192
164
  delete sort[dirItem.key];
193
165
  backList();
194
166
  }
195
-
196
167
  menuRef.current.style.display = 'none';
197
168
  };
198
169
  /**
199
170
  * 返回列表
200
171
  */
201
-
202
-
203
172
  var backList = function backList() {
204
173
  dirItem = null;
205
174
  setDir('_');
@@ -211,8 +180,6 @@ var Desktop = function Desktop(props) {
211
180
  * @param type 文件夹 / 单个组件
212
181
  * @return ReactNode
213
182
  */
214
-
215
-
216
183
  var getItem = function getItem(item, index, type) {
217
184
  map[index] = getItemData(item, index, type);
218
185
  item = map[index];
@@ -255,8 +222,6 @@ var Desktop = function Desktop(props) {
255
222
  * @param index 下标
256
223
  * @param type 文件夹 / 单个组件
257
224
  */
258
-
259
-
260
225
  var getItemData = function getItemData(item, index, type) {
261
226
  return {
262
227
  index: index,
@@ -274,15 +239,11 @@ var Desktop = function Desktop(props) {
274
239
  * 获取位置大小
275
240
  * @param index 下标
276
241
  */
277
-
278
-
279
242
  var getPoint = function getPoint(index) {
280
243
  var w = defaultMatrix.width + defaultMatrix.gapX;
281
244
  var h = defaultMatrix.height + defaultMatrix.gapY;
282
245
  var indexX = index % line; // X行
283
-
284
246
  var indexY = index / line | 0; // Y行
285
-
286
247
  return {
287
248
  x: indexX * w,
288
249
  y: indexY * h,
@@ -290,7 +251,6 @@ var Desktop = function Desktop(props) {
290
251
  height: defaultMatrix.height
291
252
  };
292
253
  };
293
-
294
254
  var getAppMap = function getAppMap() {
295
255
  var appmap = {};
296
256
  props.data.forEach(function (item) {
@@ -306,24 +266,21 @@ var Desktop = function Desktop(props) {
306
266
  * 渲染应用列表
307
267
  * @return ReactNode
308
268
  */
309
-
310
-
311
269
  var getList = React__default.useMemo(function () {
312
270
  if (line === 0) return null;
313
- map = []; // 存在排序数据
314
-
271
+ map = [];
272
+ // 存在排序数据
315
273
  if (sortJson.length > 0) {
316
274
  //dataMap
317
275
  var appmap = getAppMap();
318
276
  var index = 0;
319
277
  var list1 = sortJson.map(function (sortItem) {
320
278
  var key = sortItem.key,
321
- type = sortItem.type;
279
+ type = sortItem.type;
322
280
  if (!appmap[key] && type !== 'dir') return;
323
281
  var item = Object.assign({}, appmap[key]);
324
282
  delete appmap[key];
325
283
  var app;
326
-
327
284
  if (type === 'dir') {
328
285
  var isNull = true;
329
286
  sortItem.children.forEach(function (child) {
@@ -333,44 +290,36 @@ var Desktop = function Desktop(props) {
333
290
  }
334
291
  });
335
292
  if (isNull) return null; // 文件夹为空则不渲染
336
-
337
293
  app = getItem(sortItem, index, type);
338
294
  } else app = getItem(item, index);
339
-
340
295
  index++;
341
296
  return app;
342
- }); //if (dir === '_') {
297
+ });
298
+ //if (dir === '_') {
343
299
  // 是否存在排序列表之外的应用
344
-
345
300
  var newapp = Object.keys(appmap);
346
-
347
301
  if (newapp.length > 0) {
348
302
  var list2 = newapp.map(function (key) {
349
303
  var item = appmap[key];
350
304
  return getItem(item, map.length);
351
305
  });
352
306
  list1 = [].concat(_toConsumableArray(list1), _toConsumableArray(list2));
353
- } //}
354
-
355
-
307
+ }
308
+ //}
356
309
  return list1;
357
- } // 文件夹内部渲染
358
-
359
-
310
+ }
311
+ // 文件夹内部渲染
360
312
  if (dir !== '_' && dirItem) {
361
313
  var _appmap = getAppMap();
362
-
363
314
  var _index = 0;
364
315
  return dirItem.children.map(function (key) {
365
316
  if (!_appmap[key]) return null; // 过滤已经不存在的应用
366
-
367
317
  var app = getItem(_appmap[key], _index);
368
318
  _index++;
369
319
  return app;
370
320
  });
371
- } // 默认渲染
372
-
373
-
321
+ }
322
+ // 默认渲染
374
323
  return props.data.map(function (item, index) {
375
324
  return getItem(item, index);
376
325
  });
@@ -379,10 +328,9 @@ var Desktop = function Desktop(props) {
379
328
  * mouseDown
380
329
  * @param e 元素
381
330
  */
382
-
383
331
  var onMouseDown = function onMouseDown(e) {
384
- if (dragLock) return; //reset();
385
-
332
+ if (dragLock) return;
333
+ //reset();
386
334
  var target = e.target.closest('.desktop-item');
387
335
  if (!target) return;
388
336
  var index = target.getAttribute('data-index');
@@ -401,15 +349,13 @@ var Desktop = function Desktop(props) {
401
349
  * 拖拽目标
402
350
  * @param e {MouseEvent} 元素
403
351
  */
404
-
405
-
406
352
  var onMouseMove = function onMouseMove(e) {
407
353
  if (Math.abs(dragData.start.x - e.pageX) > 3) dragLock = true;
408
354
  var x = dragData.point.x + (e.pageX - dragData.start.x);
409
355
  var y = dragData.point.y + (e.pageY - dragData.start.y) + desktopRef.current.scrollTop;
410
- setPoint(dragData.target, x, y); // 计算光标碰撞
356
+ setPoint(dragData.target, x, y);
357
+ // 计算光标碰撞
411
358
  //const list = Object.keys(map);
412
-
413
359
  var dragRect = {
414
360
  x: x,
415
361
  y: y,
@@ -422,7 +368,6 @@ var Desktop = function Desktop(props) {
422
368
  x: dragRect.x + dragRect.width / 2,
423
369
  y: dragRect.y + dragRect.height / 2
424
370
  };
425
-
426
371
  for (var i = 0, l = map.length; i < l; i++) {
427
372
  var item = map[i];
428
373
  if (!item || String(item.key) === String(dragData.key)) continue;
@@ -432,15 +377,14 @@ var Desktop = function Desktop(props) {
432
377
  * | |
433
378
  * |_____w,h
434
379
  */
435
-
436
380
  var rect = {
437
381
  x: item.point.x,
438
382
  y: item.point.y,
439
383
  w: item.point.x + item.point.width,
440
384
  h: item.point.y + item.point.height
441
385
  };
442
- var border = impactBorder; // 中心点矩阵碰撞检测
443
-
386
+ var border = impactBorder;
387
+ // 中心点矩阵碰撞检测
444
388
  if (checkPointRange(dragCentre, rect)) {
445
389
  var impactDom = getItemByKey(item.key);
446
390
  if (!impactDom) continue;
@@ -454,18 +398,15 @@ var Desktop = function Desktop(props) {
454
398
  data: item,
455
399
  rect: rect
456
400
  };
457
-
458
401
  if (dragData.data.type === 'dir' || dir !== '_') {
459
402
  border = 0.5;
460
- } // 计算碰撞位置,左,中,右
461
-
462
-
403
+ }
404
+ // 计算碰撞位置,左,中,右
463
405
  var _dragCentre = {
464
406
  x: dragRect.x + dragRect.width / 2,
465
407
  y: dragRect.y + dragRect.height / 2
466
408
  };
467
409
  var width = item.point.width;
468
-
469
410
  if (_dragCentre.x < rect.x + width * border) {
470
411
  dragData.position = 'left';
471
412
  setPoint(impactDom, rect.x + 50);
@@ -476,7 +417,6 @@ var Desktop = function Desktop(props) {
476
417
  dragData.position = 'centre';
477
418
  setPoint(impactDom, rect.x);
478
419
  }
479
-
480
420
  break;
481
421
  } else reset('impact');
482
422
  }
@@ -486,8 +426,6 @@ var Desktop = function Desktop(props) {
486
426
  * @param point {x: number, y: number}
487
427
  * @param rect {x: number, y: number, w: number, h: number}
488
428
  */
489
-
490
-
491
429
  var checkPointRange = function checkPointRange(point, rect) {
492
430
  if (point.x > rect.x && point.y > rect.y && point.x < rect.w && point.y < rect.h) return point;
493
431
  };
@@ -495,101 +433,88 @@ var Desktop = function Desktop(props) {
495
433
  * 拖拽目标
496
434
  * @param e {MouseEvent} 元素
497
435
  */
498
-
499
-
500
436
  var onMouseUp = function onMouseUp(e) {
501
437
  window.removeEventListener('mousemove', onMouseMove);
502
438
  window.removeEventListener('mouseup', onMouseUp);
503
439
  setTimeout(function () {
504
- dragLock = false; //ckeckPoint();
440
+ dragLock = false;
441
+ //ckeckPoint();
505
442
  }, 100);
506
-
507
443
  if (dragData.impact) {
508
444
  var dragMapData = Object.assign({}, map[dragData.index]);
509
445
  var impact = dragData.impact.data;
510
446
  var impactDom = getItemByKey(impact.key);
511
-
512
- if (impact.index - dragData.index === -1 && dragData.position === 'right' || // 相邻右侧碰撞
513
- impact.index - dragData.index === 1 && dragData.position === 'left' || // 相邻左侧碰撞
447
+ if (impact.index - dragData.index === -1 && dragData.position === 'right' ||
448
+ // 相邻右侧碰撞
449
+ impact.index - dragData.index === 1 && dragData.position === 'left' ||
450
+ // 相邻左侧碰撞
514
451
  dragData.type === 'dir' && dragData.position === 'centre') {
515
452
  // 不做任何处理复位拖拽
516
453
  setPoint(dragData.target, dragData.point.x, dragData.point.y);
517
454
  reset();
518
455
  return;
519
456
  }
520
-
521
457
  var index = impact.index;
522
458
  var t;
523
459
  var l = dragData.index;
524
460
  var i = index;
525
-
526
461
  if (index > dragData.index) {
527
462
  // 碰撞目标在拖拽目标右侧
528
- t = 'R'; //l++;
529
-
463
+ t = 'R';
464
+ //l++;
530
465
  if (dragData.position === 'left') {
531
- i--; // 碰撞目标右侧,无需移位
532
-
466
+ i--;
467
+ // 碰撞目标右侧,无需移位
533
468
  setPoint(impactDom, impact.point.x, impact.point.y);
534
469
  index--;
535
470
  }
536
471
  } else {
537
472
  // 碰撞目标在拖拽目标左侧
538
- t = 'L'; //l--;
539
-
473
+ t = 'L';
474
+ //l--;
540
475
  if (dragData.position === 'right') {
541
- i++; // 碰撞目标右侧,无需移位
542
-
476
+ i++;
477
+ // 碰撞目标右侧,无需移位
543
478
  setPoint(impactDom, impact.point.x, impact.point.y);
544
479
  index++;
545
480
  }
546
481
  }
547
-
548
- Object.assign({}, map[index]); // 顺延坐标
549
-
482
+ Object.assign({}, map[index]);
483
+ // 顺延坐标
550
484
  var temp;
551
-
552
485
  if (dragData.position === 'centre') {
553
486
  // 文件夹处理
554
487
  i = dragData.index;
555
488
  l = map.length - 1;
556
-
557
489
  for (; i < l; i++) {
558
490
  var item = map[i + 1];
559
491
  setNewPoint(item, i);
560
492
  }
561
-
562
493
  map.pop();
563
494
  } else {
564
495
  temp = Object.assign({}, map[l]); // 备份移动节点
565
-
566
496
  if (t === 'R') {
567
497
  for (; l < i; l++) {
568
498
  var _item = map[l + 1];
569
499
  setNewPoint(_item, l);
570
500
  }
571
501
  }
572
-
573
502
  if (t === 'L') {
574
503
  for (; l > i; l--) {
575
504
  var _item2 = map[l - 1];
576
505
  setNewPoint(_item2, l);
577
506
  }
578
507
  }
579
-
580
508
  setNewPoint(temp, i);
581
- } // 拖拽对象坐标设置
582
-
583
-
509
+ }
510
+ // 拖拽对象坐标设置
584
511
  if (dragData.position === 'centre') {
585
512
  // 文件夹处理
586
513
  if (impact.type === 'dir') addDir(impact, dragMapData);else newDir(impact, dragMapData, t);
587
514
  }
588
-
589
515
  reset('end');
590
516
  return;
591
517
  } else setPoint(dragData.target, dragData.point.x, dragData.point.y);
592
-
593
518
  reset();
594
519
  };
595
520
  /**
@@ -598,8 +523,6 @@ var Desktop = function Desktop(props) {
598
523
  * @param dragMapData 碰撞对象
599
524
  * @param t 方向
600
525
  */
601
-
602
-
603
526
  var newDir = function newDir(item, dragMapData, t) {
604
527
  if (t === 'R') item.index--;
605
528
  var key = 'dir_' + item.key + (Math.random() * 1000000 | 0);
@@ -622,8 +545,6 @@ var Desktop = function Desktop(props) {
622
545
  * @param item {mapProps} 当前数据
623
546
  * @param dragMapData 碰撞对象
624
547
  */
625
-
626
-
627
548
  var addDir = function addDir(item, dragMapData) {
628
549
  var mapItem = getMapItem(item.key);
629
550
  if (!mapItem) return;
@@ -635,15 +556,11 @@ var Desktop = function Desktop(props) {
635
556
  * 获取数据
636
557
  * @param key 键值
637
558
  */
638
-
639
-
640
559
  var getMapItem = function getMapItem(key) {
641
560
  if (!key) return null;
642
-
643
561
  for (var i = 0, l = map.length; i < l; i++) {
644
562
  if (map[i].key === key) return map[i];
645
563
  }
646
-
647
564
  return null;
648
565
  };
649
566
  /**
@@ -652,15 +569,13 @@ var Desktop = function Desktop(props) {
652
569
  * @param next 下一个节点索引
653
570
  * @param point 位置
654
571
  */
655
-
656
-
657
572
  var setNewPoint = function setNewPoint(item, next, point) {
658
573
  if (!item) return;
659
574
  if (!point) point = getPoint(next);
660
575
  var dom = getItemByKey(item.key);
661
576
  if (!dom) return;
662
- setPoint(dom, point === null || point === void 0 ? void 0 : point.x, point === null || point === void 0 ? void 0 : point.y); // 重新创建索引
663
-
577
+ setPoint(dom, point === null || point === void 0 ? void 0 : point.x, point === null || point === void 0 ? void 0 : point.y);
578
+ // 重新创建索引
664
579
  map[next] = Object.assign({}, item);
665
580
  map[next].index = next;
666
581
  map[next].point = point;
@@ -669,24 +584,18 @@ var Desktop = function Desktop(props) {
669
584
  /**
670
585
  * 复位
671
586
  */
672
-
673
-
674
587
  var reset = function reset(type) {
675
588
  var _a, _b, _c;
676
-
677
589
  switch (type) {
678
590
  case "impact":
679
591
  var impactDom = document.querySelector('[impact="true"]');
680
592
  if (!impactDom) return;
681
-
682
593
  if (dragData && dragData.impact) {
683
594
  setPoint(impactDom, dragData.impact.rect.x, dragData.impact.rect.y);
684
595
  delete dragData.impact;
685
596
  }
686
-
687
597
  impactDom === null || impactDom === void 0 ? void 0 : impactDom.removeAttribute('impact');
688
598
  break;
689
-
690
599
  case "end":
691
600
  dragData = null;
692
601
  (_a = document.querySelector('[impact="true"]')) === null || _a === void 0 ? void 0 : _a.removeAttribute('impact');
@@ -694,7 +603,6 @@ var Desktop = function Desktop(props) {
694
603
  clearTimeout(saveTimeout);
695
604
  onSort();
696
605
  break;
697
-
698
606
  default:
699
607
  reset('impact');
700
608
  dragData = null;
@@ -709,16 +617,12 @@ var Desktop = function Desktop(props) {
709
617
  * @param x 左
710
618
  * @param y 上
711
619
  */
712
-
713
-
714
620
  var setPoint = function setPoint(dom, x, y) {
715
621
  if (!dom) return;
716
622
  if (x !== undefined || x !== null) dom.style.left = x + 'px';
717
623
  if (y !== undefined || y !== null) dom.style.top = y + 'px';
718
624
  };
719
625
  /** 排序 */
720
-
721
-
722
626
  var onSort = function onSort() {
723
627
  if (!props.onSort) return;
724
628
  var data = [];
@@ -740,8 +644,6 @@ var Desktop = function Desktop(props) {
740
644
  /**
741
645
  * 点击文件夹名字
742
646
  */
743
-
744
-
745
647
  var clickDirName = function clickDirName() {
746
648
  setShowInput(true);
747
649
  setInputValue(dirItem.displayName || '文件夹');
@@ -749,8 +651,6 @@ var Desktop = function Desktop(props) {
749
651
  /**
750
652
  * 失去焦点设置文件夹名字
751
653
  */
752
-
753
-
754
654
  var blurInput = function blurInput() {
755
655
  dirItem.displayName = inputValue;
756
656
  setShowInput(false);
@@ -761,11 +661,8 @@ var Desktop = function Desktop(props) {
761
661
  /**
762
662
  * 通过key查询排序对象所在节点
763
663
  */
764
-
765
-
766
664
  var getSortRootItem = function getSortRootItem(key) {
767
665
  var sortList = sort['_'] || [];
768
-
769
666
  for (var i = 0, l = sortList.length; i < l; i++) {
770
667
  var sortItem = sortList[i];
771
668
  if (sortItem.key === key) return sortItem;
@@ -774,16 +671,12 @@ var Desktop = function Desktop(props) {
774
671
  /**
775
672
  * 改变输入框
776
673
  */
777
-
778
-
779
674
  var changeInput = function changeInput(event) {
780
675
  setInputValue(event.target.value);
781
676
  };
782
677
  /**
783
678
  * 文件夹头部
784
679
  */
785
-
786
-
787
680
  var DirTitleMemo = useMemo(function () {
788
681
  return dir !== '_' && jsxs("div", Object.assign({
789
682
  className: "desktop-title"
@@ -810,7 +703,6 @@ var Desktop = function Desktop(props) {
810
703
  /**
811
704
  * 拖拽内容
812
705
  */
813
-
814
706
  var DragMemo = useMemo(function () {
815
707
  return jsx("div", Object.assign({
816
708
  ref: desktopRef,
@@ -824,13 +716,11 @@ var Desktop = function Desktop(props) {
824
716
  * 处理class
825
717
  * @return {string}
826
718
  */
827
-
828
719
  var handClass = function handClass() {
829
720
  var str = $prefixCls + '-desktop';
830
721
  if (props.className) str += ' ' + props.className;
831
722
  return str;
832
723
  };
833
-
834
724
  return jsxs("div", Object.assign({
835
725
  className: handClass(),
836
726
  style: props.style
@@ -848,7 +738,6 @@ var Desktop = function Desktop(props) {
848
738
  }))]
849
739
  }));
850
740
  };
851
-
852
741
  var getItemByKey = function getItemByKey(key) {
853
742
  return document.querySelector("[data-key=\"".concat(key, "\"]"));
854
743
  };