vxe-pc-ui 4.20.8 → 4.20.10

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 (144) hide show
  1. package/dist/all.esm.js +2041 -2125
  2. package/dist/style.css +1 -1
  3. package/dist/style.min.css +1 -1
  4. package/es/card/src/card.js +8 -6
  5. package/es/date-panel/src/date-panel.js +58 -36
  6. package/es/date-panel/style.css +22 -20
  7. package/es/date-panel/style.min.css +1 -1
  8. package/es/drawer/src/drawer.js +7 -5
  9. package/es/icon/style.css +1 -1
  10. package/es/icon-picker/src/icon-picker.js +74 -38
  11. package/es/icon-picker/style.css +9 -3
  12. package/es/icon-picker/style.min.css +1 -1
  13. package/es/layout-aside/src/layout-aside.js +6 -4
  14. package/es/layout-body/src/layout-body.js +6 -4
  15. package/es/layout-container/src/layout-container.js +11 -3
  16. package/es/list/src/list.js +81 -208
  17. package/es/menu/src/menu.js +7 -5
  18. package/es/modal/src/modal.js +7 -5
  19. package/es/scrollbar/src/scrollbar.js +28 -173
  20. package/es/select/src/select.js +243 -8
  21. package/es/select/style.css +44 -0
  22. package/es/select/style.min.css +1 -1
  23. package/es/style.css +1 -1
  24. package/es/style.min.css +1 -1
  25. package/es/tabs/src/tabs.js +5 -4
  26. package/es/tooltip/src/tooltip.js +7 -5
  27. package/es/tooltip/style.css +2 -0
  28. package/es/tooltip/style.min.css +1 -1
  29. package/es/tree/src/tree.js +86 -212
  30. package/es/ui/index.js +1 -1
  31. package/es/ui/src/log.js +1 -1
  32. package/es/vxe-date-panel/style.css +22 -20
  33. package/es/vxe-date-panel/style.min.css +1 -1
  34. package/es/vxe-icon-picker/style.css +9 -3
  35. package/es/vxe-icon-picker/style.min.css +1 -1
  36. package/es/vxe-select/style.css +44 -0
  37. package/es/vxe-select/style.min.css +1 -1
  38. package/es/vxe-tooltip/style.css +2 -0
  39. package/es/vxe-tooltip/style.min.css +1 -1
  40. package/lib/card/src/card.js +9 -6
  41. package/lib/card/src/card.min.js +1 -1
  42. package/lib/date-panel/src/date-panel.js +56 -34
  43. package/lib/date-panel/src/date-panel.min.js +1 -1
  44. package/lib/date-panel/style/style.css +22 -20
  45. package/lib/date-panel/style/style.min.css +1 -1
  46. package/lib/drawer/src/drawer.js +7 -4
  47. package/lib/drawer/src/drawer.min.js +1 -1
  48. package/lib/icon/style/style.css +1 -1
  49. package/lib/icon/style/style.min.css +1 -1
  50. package/lib/icon-picker/src/icon-picker.js +101 -45
  51. package/lib/icon-picker/src/icon-picker.min.js +1 -1
  52. package/lib/icon-picker/style/style.css +9 -3
  53. package/lib/icon-picker/style/style.min.css +1 -1
  54. package/lib/index.umd.js +1049 -859
  55. package/lib/index.umd.min.js +1 -1
  56. package/lib/layout-aside/src/layout-aside.js +7 -4
  57. package/lib/layout-aside/src/layout-aside.min.js +1 -1
  58. package/lib/layout-body/src/layout-body.js +7 -4
  59. package/lib/layout-body/src/layout-body.min.js +1 -1
  60. package/lib/layout-container/src/layout-container.js +20 -4
  61. package/lib/layout-container/src/layout-container.min.js +1 -1
  62. package/lib/list/src/list.js +95 -232
  63. package/lib/list/src/list.min.js +1 -1
  64. package/lib/menu/src/menu.js +8 -4
  65. package/lib/menu/src/menu.min.js +1 -1
  66. package/lib/modal/src/modal.js +7 -4
  67. package/lib/modal/src/modal.min.js +1 -1
  68. package/lib/scrollbar/src/scrollbar.js +42 -199
  69. package/lib/scrollbar/src/scrollbar.min.js +1 -1
  70. package/lib/select/src/select.js +315 -68
  71. package/lib/select/src/select.min.js +1 -1
  72. package/lib/select/style/style.css +44 -0
  73. package/lib/select/style/style.min.css +1 -1
  74. package/lib/style.css +1 -1
  75. package/lib/style.min.css +1 -1
  76. package/lib/tabs/src/tabs.js +6 -5
  77. package/lib/tabs/src/tabs.min.js +1 -1
  78. package/lib/tooltip/src/tooltip.js +7 -4
  79. package/lib/tooltip/src/tooltip.min.js +1 -1
  80. package/lib/tooltip/style/style.css +2 -0
  81. package/lib/tooltip/style/style.min.css +1 -1
  82. package/lib/tree/src/tree.js +101 -235
  83. package/lib/tree/src/tree.min.js +1 -1
  84. package/lib/ui/index.js +1 -1
  85. package/lib/ui/index.min.js +1 -1
  86. package/lib/ui/src/log.js +1 -1
  87. package/lib/ui/src/log.min.js +1 -1
  88. package/lib/vxe-date-panel/style/style.css +22 -20
  89. package/lib/vxe-date-panel/style/style.min.css +1 -1
  90. package/lib/vxe-icon-picker/style/style.css +9 -3
  91. package/lib/vxe-icon-picker/style/style.min.css +1 -1
  92. package/lib/vxe-select/style/style.css +44 -0
  93. package/lib/vxe-select/style/style.min.css +1 -1
  94. package/lib/vxe-tooltip/style/style.css +2 -0
  95. package/lib/vxe-tooltip/style/style.min.css +1 -1
  96. package/package.json +2 -2
  97. package/packages/card/src/card.ts +8 -6
  98. package/packages/date-panel/src/date-panel.ts +58 -36
  99. package/packages/drawer/src/drawer.ts +7 -5
  100. package/packages/icon-picker/src/icon-picker.ts +80 -38
  101. package/packages/layout-aside/src/layout-aside.ts +6 -4
  102. package/packages/layout-body/src/layout-body.ts +6 -4
  103. package/packages/layout-container/src/layout-container.ts +13 -3
  104. package/packages/list/src/list.ts +98 -224
  105. package/packages/menu/src/menu.ts +7 -5
  106. package/packages/modal/src/modal.ts +7 -5
  107. package/packages/scrollbar/src/scrollbar.ts +44 -189
  108. package/packages/select/src/select.ts +278 -8
  109. package/packages/tabs/src/tabs.ts +5 -4
  110. package/packages/tooltip/src/tooltip.ts +7 -5
  111. package/packages/tree/src/tree.ts +103 -228
  112. package/styles/components/date-panel.scss +31 -29
  113. package/styles/components/icon-picker.scss +9 -3
  114. package/styles/components/select.scss +77 -0
  115. package/styles/components/tooltip.scss +1 -0
  116. package/types/components/card.d.ts +2 -2
  117. package/types/components/drawer.d.ts +2 -2
  118. package/types/components/gantt-module/gantt-view.d.ts +7 -16
  119. package/types/components/grid.d.ts +3 -1
  120. package/types/components/icon-picker.d.ts +21 -1
  121. package/types/components/layout-aside.d.ts +2 -2
  122. package/types/components/layout-body.d.ts +2 -2
  123. package/types/components/layout-container.d.ts +3 -1
  124. package/types/components/list.d.ts +6 -2
  125. package/types/components/menu.d.ts +2 -2
  126. package/types/components/modal.d.ts +2 -2
  127. package/types/components/scrollbar.d.ts +17 -14
  128. package/types/components/select.d.ts +28 -3
  129. package/types/components/table.d.ts +28 -22
  130. package/types/components/tabs.d.ts +2 -2
  131. package/types/components/tooltip.d.ts +2 -2
  132. package/types/components/tree.d.ts +8 -17
  133. /package/es/icon/{iconfont.1792115566662.ttf → iconfont.1792219842406.ttf} +0 -0
  134. /package/es/icon/{iconfont.1792115566662.woff → iconfont.1792219842406.woff} +0 -0
  135. /package/es/icon/{iconfont.1792115566662.woff2 → iconfont.1792219842406.woff2} +0 -0
  136. /package/es/{iconfont.1792115566662.ttf → iconfont.1792219842406.ttf} +0 -0
  137. /package/es/{iconfont.1792115566662.woff → iconfont.1792219842406.woff} +0 -0
  138. /package/es/{iconfont.1792115566662.woff2 → iconfont.1792219842406.woff2} +0 -0
  139. /package/lib/icon/style/{iconfont.1792115566662.ttf → iconfont.1792219842406.ttf} +0 -0
  140. /package/lib/icon/style/{iconfont.1792115566662.woff → iconfont.1792219842406.woff} +0 -0
  141. /package/lib/icon/style/{iconfont.1792115566662.woff2 → iconfont.1792219842406.woff2} +0 -0
  142. /package/lib/{iconfont.1792115566662.ttf → iconfont.1792219842406.ttf} +0 -0
  143. /package/lib/{iconfont.1792115566662.woff → iconfont.1792219842406.woff} +0 -0
  144. /package/lib/{iconfont.1792115566662.woff2 → iconfont.1792219842406.woff2} +0 -0
@@ -1,12 +1,11 @@
1
1
  import { ref, h, reactive, computed, onMounted, onBeforeUnmount, nextTick, watch } from 'vue';
2
2
  import { defineVxeComponent } from '../../ui/src/comp';
3
3
  import XEUtils from 'xe-utils';
4
- import { VxeUI } from '../../ui';
4
+ import { VxeUI, useFns } from '../../ui';
5
5
  import { toCssUnit } from '../../ui/src/dom';
6
6
  import { getDefaultConfig } from '../../ui/src/utils';
7
7
  import VxeLoadingComponent from '../../loading';
8
- const { getConfig, createEvent, domUtils, scrollbarUtils, globalResize, globalEvents, renderEmptyElement } = VxeUI;
9
- const { getThumbOffsetSize, getThumbSize, getScrollFromClick, getScrollFromDrag } = scrollbarUtils;
8
+ const { getConfig, createEvent, domUtils, globalResize, globalEvents, renderEmptyElement } = VxeUI;
10
9
  function createReactData() {
11
10
  return {
12
11
  yThumbHeight: 0,
@@ -15,7 +14,7 @@ function createReactData() {
15
14
  }
16
15
  function createInternalData() {
17
16
  return {
18
- // resizeObserver: undefined,
17
+ // scrollObserver: undefined,
19
18
  // isThumbDrag: false,
20
19
  thumbDragOffset: 0,
21
20
  yThumbTop: 0,
@@ -78,10 +77,22 @@ export default defineVxeComponent({
78
77
  type: String,
79
78
  default: () => getConfig().scrollbar.viewInnerClassName
80
79
  },
80
+ size: {
81
+ type: String,
82
+ default: () => getConfig().scrollbar.size || getConfig().size
83
+ },
84
+ /**
85
+ * 已废弃
86
+ * @deprecated
87
+ */
81
88
  autoResize: {
82
89
  type: Boolean,
83
90
  default: () => getConfig().scrollbar.autoResize
84
91
  },
92
+ /**
93
+ * 已废弃
94
+ * @deprecated
95
+ */
85
96
  syncResize: [Boolean, String, Number]
86
97
  },
87
98
  emits: [
@@ -94,12 +105,9 @@ export default defineVxeComponent({
94
105
  const refElem = ref();
95
106
  const refViewElem = ref();
96
107
  const refViewInnerElem = ref();
97
- const refTrackXElem = ref();
98
- const refTrackYElem = ref();
99
- const refThumbXElem = ref();
100
- const refThumbYElem = ref();
101
108
  const reactData = reactive(createReactData());
102
109
  const internalData = createInternalData();
110
+ const { computeSize } = useFns.useSize(props);
103
111
  const computeWrapperStyle = computed(() => {
104
112
  const { width, height, minWidth, minHeight, maxWidth, maxHeight } = props;
105
113
  const barWidth = computeYWidth.value;
@@ -160,6 +168,7 @@ export default defineVxeComponent({
160
168
  const computeWrapperClss = computed(() => {
161
169
  const { native, theme, className, padding } = props;
162
170
  const { yThumbHeight, xThumbWidth } = reactData;
171
+ const vSize = computeSize.value;
163
172
  const xToTop = computeXToTop.value;
164
173
  const yToLeft = computeYToLeft.value;
165
174
  const xVisible = computeXVisible.value;
@@ -168,6 +177,7 @@ export default defineVxeComponent({
168
177
  const yAutoHide = computeYAutoHide.value;
169
178
  return domUtils.buildClass([
170
179
  'vxe-scrollbar',
180
+ vSize ? `size--${vSize}` : '',
171
181
  theme ? `theme--${theme}` : '',
172
182
  `ov-x--${xVisible === false ? 'hidden' : 'visible'}`,
173
183
  `ov-y--${yVisible === false ? 'hidden' : 'visible'}`,
@@ -224,16 +234,17 @@ export default defineVxeComponent({
224
234
  getRefMaps: () => refMaps,
225
235
  getComputeMaps: () => computeMaps
226
236
  };
237
+ const { refTrackXElem, refTrackYElem, refThumbXElem, refThumbYElem, updateThumbSize, updateThumbOffset, clickTrackXEvent, clickTrackYEvent, pointerdownThumbXEvent, pointermoveThumbXEvent, cleatPointerThumbEvent, pointerdownThumbYEvent, pointermoveThumbYEvent } = useFns.useInitVScrollbar($xeScrollbar);
227
238
  const dispatchEvent = (type, params, evnt) => {
228
239
  emit(type, createEvent(evnt, { $scrollbar: $xeScrollbar }, params));
229
240
  };
230
241
  const scrollbarMethods = {
231
242
  dispatchEvent,
232
- getViewElem() {
243
+ getScrollViewElem() {
233
244
  const viewEl = refViewElem.value;
234
245
  return viewEl || null;
235
246
  },
236
- getViewInnerElem() {
247
+ getScrollViewInnerElem() {
237
248
  const viewInnerEl = refViewInnerElem.value;
238
249
  return viewInnerEl || null;
239
250
  },
@@ -293,55 +304,6 @@ export default defineVxeComponent({
293
304
  return nextTick();
294
305
  }
295
306
  };
296
- const updateThumbSize = () => {
297
- const viewEl = refViewElem.value;
298
- if (!viewEl) {
299
- return;
300
- }
301
- if (!viewEl.clientHeight || !viewEl.clientHeight) {
302
- return;
303
- }
304
- const trackXEl = refTrackXElem.value;
305
- const xThumbWidth = trackXEl ? getThumbSize(viewEl.clientWidth, viewEl.scrollWidth, trackXEl.clientWidth) : 0;
306
- const thumbXElem = refThumbXElem.value;
307
- if (thumbXElem) {
308
- thumbXElem.style.width = xThumbWidth + 'px';
309
- }
310
- reactData.xThumbWidth = xThumbWidth;
311
- const trackYEl = refTrackYElem.value;
312
- const yThumbHeight = trackYEl ? getThumbSize(viewEl.clientHeight, viewEl.scrollHeight, trackYEl.clientHeight) : 0;
313
- const thumbYElem = refThumbYElem.value;
314
- if (thumbYElem) {
315
- thumbYElem.style.height = yThumbHeight + 'px';
316
- }
317
- reactData.yThumbHeight = yThumbHeight;
318
- };
319
- const updateThumbOffset = () => {
320
- const viewEl = refViewElem.value;
321
- if (!viewEl) {
322
- return;
323
- }
324
- if (!viewEl.clientHeight || !viewEl.clientHeight) {
325
- return;
326
- }
327
- const { xThumbWidth, yThumbHeight } = reactData;
328
- const trackXEl = refTrackXElem.value;
329
- const thumbXElem = refThumbXElem.value;
330
- const xThumbLeft = trackXEl && xThumbWidth ? getThumbOffsetSize(viewEl.scrollLeft, viewEl.clientWidth, viewEl.scrollWidth, trackXEl.clientWidth, xThumbWidth) : 0;
331
- internalData.xThumbLeft = xThumbLeft;
332
- if (thumbXElem && xThumbWidth) {
333
- thumbXElem.style.width = xThumbWidth + 'px';
334
- thumbXElem.style.transform = `translateX(${xThumbLeft}px)`;
335
- }
336
- const trackYEl = refTrackYElem.value;
337
- const thumbYElem = refThumbYElem.value;
338
- const yThumbTop = trackYEl && yThumbHeight ? getThumbOffsetSize(viewEl.scrollTop, viewEl.clientHeight, viewEl.scrollHeight, trackYEl.clientHeight, yThumbHeight) : 0;
339
- internalData.yThumbTop = yThumbTop;
340
- if (thumbYElem && yThumbHeight) {
341
- thumbYElem.style.height = yThumbHeight + 'px';
342
- thumbYElem.style.transform = `translateY(${yThumbTop}px)`;
343
- }
344
- };
345
307
  const scrollEvent = (evnt) => {
346
308
  const { xThumbWidth, yThumbHeight } = reactData;
347
309
  const { lastScrollTop, lastScrollLeft } = internalData;
@@ -416,113 +378,6 @@ export default defineVxeComponent({
416
378
  scrollWidth: scrollWidth
417
379
  }, evnt);
418
380
  };
419
- const clickTrackXEvent = (evnt) => {
420
- const trackEl = evnt.currentTarget;
421
- if (trackEl !== evnt.target) {
422
- return;
423
- }
424
- const viewEl = refViewElem.value;
425
- if (!viewEl) {
426
- return;
427
- }
428
- const { xThumbWidth } = reactData;
429
- const trackRect = trackEl.getBoundingClientRect();
430
- viewEl.scrollTo({
431
- left: getScrollFromClick(evnt.clientX - trackRect.left, viewEl.clientWidth, viewEl.scrollWidth, trackEl.clientWidth, xThumbWidth),
432
- behavior: 'auto'
433
- });
434
- };
435
- const clickTrackYEvent = (evnt) => {
436
- const trackEl = evnt.currentTarget;
437
- if (trackEl !== evnt.target) {
438
- return;
439
- }
440
- const viewEl = refViewElem.value;
441
- if (!viewEl) {
442
- return;
443
- }
444
- const { yThumbHeight } = reactData;
445
- const trackRect = trackEl.getBoundingClientRect();
446
- viewEl.scrollTo({
447
- top: getScrollFromClick(evnt.clientY - trackRect.top, viewEl.clientHeight, viewEl.scrollHeight, trackEl.clientHeight, yThumbHeight),
448
- behavior: 'auto'
449
- });
450
- };
451
- const pointerdownThumbXEvent = (evnt) => {
452
- const thumbEl = evnt.currentTarget;
453
- internalData.isThumbDrag = true;
454
- thumbEl.setPointerCapture(evnt.pointerId);
455
- const viewEl = refViewElem.value;
456
- if (!viewEl) {
457
- return;
458
- }
459
- const { xThumbWidth } = reactData;
460
- const trackEl = thumbEl.parentElement;
461
- const trackRect = trackEl.getBoundingClientRect();
462
- const pointerPosition = evnt.clientX - trackRect.left;
463
- // 记录 thumb 的偏移
464
- const thumbOffset = getThumbOffsetSize(viewEl.scrollLeft, viewEl.clientWidth, viewEl.scrollWidth, trackEl.clientWidth, xThumbWidth);
465
- internalData.thumbDragOffset = pointerPosition - thumbOffset;
466
- };
467
- const pointermoveThumbXEvent = (evnt) => {
468
- const thumbEl = evnt.currentTarget;
469
- if (!thumbEl.hasPointerCapture(evnt.pointerId)) {
470
- return;
471
- }
472
- const { isThumbDrag, thumbDragOffset } = internalData;
473
- if (isThumbDrag) {
474
- const viewEl = refViewElem.value;
475
- if (!viewEl) {
476
- return;
477
- }
478
- const { xThumbWidth } = reactData;
479
- const thumbEl = evnt.currentTarget;
480
- const trackEl = thumbEl.parentElement;
481
- const trackRect = trackEl.getBoundingClientRect();
482
- // 更新偏移
483
- viewEl.scrollLeft = getScrollFromDrag(evnt.clientX - trackRect.left, thumbDragOffset, viewEl.clientWidth, viewEl.scrollWidth, trackEl.clientWidth, xThumbWidth);
484
- }
485
- };
486
- const cleatPointerThumbEvent = (evnt) => {
487
- const thumbEl = evnt.currentTarget;
488
- thumbEl.releasePointerCapture(evnt.pointerId);
489
- internalData.isThumbDrag = false;
490
- };
491
- const pointerdownThumbYEvent = (evnt) => {
492
- const thumbEl = evnt.currentTarget;
493
- internalData.isThumbDrag = true;
494
- thumbEl.setPointerCapture(evnt.pointerId);
495
- const viewEl = refViewElem.value;
496
- if (!viewEl) {
497
- return;
498
- }
499
- const { yThumbHeight } = reactData;
500
- const trackEl = thumbEl.parentElement;
501
- const trackRect = trackEl.getBoundingClientRect();
502
- const pointerPosition = evnt.clientY - trackRect.top;
503
- // 记录 thumb 的偏移
504
- const thumbOffset = getThumbOffsetSize(viewEl.scrollTop, viewEl.clientHeight, viewEl.scrollHeight, trackEl.clientHeight, yThumbHeight);
505
- internalData.thumbDragOffset = pointerPosition - thumbOffset;
506
- };
507
- const pointermoveThumbYEvent = (evnt) => {
508
- const thumbEl = evnt.currentTarget;
509
- if (!thumbEl.hasPointerCapture(evnt.pointerId)) {
510
- return;
511
- }
512
- const { isThumbDrag, thumbDragOffset } = internalData;
513
- if (isThumbDrag) {
514
- const viewEl = refViewElem.value;
515
- if (!viewEl) {
516
- return;
517
- }
518
- const { yThumbHeight } = reactData;
519
- const thumbEl = evnt.currentTarget;
520
- const trackEl = thumbEl.parentElement;
521
- const trackRect = trackEl.getBoundingClientRect();
522
- // 更新偏移
523
- viewEl.scrollTop = getScrollFromDrag(evnt.clientY - trackRect.top, thumbDragOffset, viewEl.clientHeight, viewEl.scrollHeight, trackEl.clientHeight, yThumbHeight);
524
- }
525
- };
526
381
  const scrollbarPrivateMethods = {};
527
382
  Object.assign($xeScrollbar, scrollbarMethods, scrollbarPrivateMethods);
528
383
  const renderVN = () => {
@@ -638,18 +493,18 @@ export default defineVxeComponent({
638
493
  const viewEl = refViewElem.value;
639
494
  const viewInnerEl = refViewInnerElem.value;
640
495
  if (autoResize) {
641
- const resizeObserver = globalResize.create(() => {
496
+ const scrollObserver = globalResize.create(() => {
642
497
  if (props.autoResize) {
643
498
  reFlag.value++;
644
499
  }
645
500
  });
646
501
  if (viewEl) {
647
- resizeObserver.observe(viewEl);
502
+ scrollObserver.observe(viewEl);
648
503
  }
649
504
  if (viewInnerEl) {
650
- resizeObserver.observe(viewInnerEl);
505
+ scrollObserver.observe(viewInnerEl);
651
506
  }
652
- internalData.resizeObserver = resizeObserver;
507
+ internalData.scrollObserver = scrollObserver;
653
508
  }
654
509
  reFlag.value++;
655
510
  globalEvents.on($xeScrollbar, 'resize', () => {
@@ -657,9 +512,9 @@ export default defineVxeComponent({
657
512
  });
658
513
  });
659
514
  onBeforeUnmount(() => {
660
- const { resizeObserver } = internalData;
661
- if (resizeObserver) {
662
- resizeObserver.disconnect();
515
+ const { scrollObserver } = internalData;
516
+ if (scrollObserver) {
517
+ scrollObserver.disconnect();
663
518
  }
664
519
  globalEvents.off($xeScrollbar, 'resize');
665
520
  });