vxe-pc-ui 4.19.0 → 4.19.2

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 (78) hide show
  1. package/dist/all.esm.js +128 -43
  2. package/dist/style.css +1 -1
  3. package/dist/style.min.css +1 -1
  4. package/es/icon/style.css +1 -1
  5. package/es/layout-aside/src/layout-aside.js +29 -16
  6. package/es/layout-aside/style.css +7 -0
  7. package/es/layout-aside/style.min.css +1 -1
  8. package/es/layout-body/src/layout-body.js +28 -12
  9. package/es/layout-body/style.css +5 -0
  10. package/es/layout-body/style.min.css +1 -1
  11. package/es/menu/src/menu.js +38 -13
  12. package/es/menu/style.css +14 -2
  13. package/es/menu/style.min.css +1 -1
  14. package/es/scrollbar/src/scrollbar.js +33 -0
  15. package/es/style.css +1 -1
  16. package/es/style.min.css +1 -1
  17. package/es/ui/index.js +1 -1
  18. package/es/ui/src/log.js +1 -1
  19. package/es/vxe-layout-aside/style.css +7 -0
  20. package/es/vxe-layout-aside/style.min.css +1 -1
  21. package/es/vxe-layout-body/style.css +5 -0
  22. package/es/vxe-layout-body/style.min.css +1 -1
  23. package/es/vxe-menu/style.css +14 -2
  24. package/es/vxe-menu/style.min.css +1 -1
  25. package/lib/icon/style/style.css +1 -1
  26. package/lib/icon/style/style.min.css +1 -1
  27. package/lib/index.umd.js +118 -28
  28. package/lib/index.umd.min.js +1 -1
  29. package/lib/layout-aside/src/layout-aside.js +20 -8
  30. package/lib/layout-aside/src/layout-aside.min.js +1 -1
  31. package/lib/layout-aside/style/style.css +7 -0
  32. package/lib/layout-aside/style/style.min.css +1 -1
  33. package/lib/layout-body/src/layout-body.js +20 -5
  34. package/lib/layout-body/src/layout-body.min.js +1 -1
  35. package/lib/layout-body/style/style.css +5 -0
  36. package/lib/layout-body/style/style.min.css +1 -1
  37. package/lib/menu/src/menu.js +43 -12
  38. package/lib/menu/src/menu.min.js +1 -1
  39. package/lib/menu/style/style.css +14 -2
  40. package/lib/menu/style/style.min.css +1 -1
  41. package/lib/scrollbar/src/scrollbar.js +33 -0
  42. package/lib/scrollbar/src/scrollbar.min.js +1 -1
  43. package/lib/style.css +1 -1
  44. package/lib/style.min.css +1 -1
  45. package/lib/ui/index.js +1 -1
  46. package/lib/ui/index.min.js +1 -1
  47. package/lib/ui/src/log.js +1 -1
  48. package/lib/ui/src/log.min.js +1 -1
  49. package/lib/vxe-layout-aside/style/style.css +7 -0
  50. package/lib/vxe-layout-aside/style/style.min.css +1 -1
  51. package/lib/vxe-layout-body/style/style.css +5 -0
  52. package/lib/vxe-layout-body/style/style.min.css +1 -1
  53. package/lib/vxe-menu/style/style.css +14 -2
  54. package/lib/vxe-menu/style/style.min.css +1 -1
  55. package/package.json +1 -1
  56. package/packages/layout-aside/src/layout-aside.ts +29 -16
  57. package/packages/layout-body/src/layout-body.ts +31 -15
  58. package/packages/menu/src/menu.ts +46 -18
  59. package/packages/scrollbar/src/scrollbar.ts +33 -0
  60. package/styles/components/layout-aside.scss +7 -0
  61. package/styles/components/layout-body.scss +4 -0
  62. package/styles/components/menu.scss +17 -2
  63. package/types/components/layout-aside.d.ts +2 -0
  64. package/types/components/layout-body.d.ts +2 -0
  65. package/types/components/menu.d.ts +2 -0
  66. package/types/components/scrollbar.d.ts +20 -0
  67. /package/es/icon/{iconfont.1791539010382.ttf → iconfont.1791548059987.ttf} +0 -0
  68. /package/es/icon/{iconfont.1791539010382.woff → iconfont.1791548059987.woff} +0 -0
  69. /package/es/icon/{iconfont.1791539010382.woff2 → iconfont.1791548059987.woff2} +0 -0
  70. /package/es/{iconfont.1791539010382.ttf → iconfont.1791548059987.ttf} +0 -0
  71. /package/es/{iconfont.1791539010382.woff → iconfont.1791548059987.woff} +0 -0
  72. /package/es/{iconfont.1791539010382.woff2 → iconfont.1791548059987.woff2} +0 -0
  73. /package/lib/icon/style/{iconfont.1791539010382.ttf → iconfont.1791548059987.ttf} +0 -0
  74. /package/lib/icon/style/{iconfont.1791539010382.woff → iconfont.1791548059987.woff} +0 -0
  75. /package/lib/icon/style/{iconfont.1791539010382.woff2 → iconfont.1791548059987.woff2} +0 -0
  76. /package/lib/{iconfont.1791539010382.ttf → iconfont.1791548059987.ttf} +0 -0
  77. /package/lib/{iconfont.1791539010382.woff → iconfont.1791548059987.woff} +0 -0
  78. /package/lib/{iconfont.1791539010382.woff2 → iconfont.1791548059987.woff2} +0 -0
package/dist/all.esm.js CHANGED
@@ -101,7 +101,7 @@ function checkDynamic() {
101
101
  }
102
102
 
103
103
  const { log } = VxeUI;
104
- const uiVersion = `ui v${"4.19.0"}`;
104
+ const uiVersion = `ui v${"4.19.2"}`;
105
105
  function createComponentLog(name) {
106
106
  const tableVersion = VxeUI.tableVersion ? `table v${VxeUI.tableVersion}` : '';
107
107
  const ganttVersion = VxeUI.ganttVersion ? `gantt v${VxeUI.ganttVersion}` : '';
@@ -115,7 +115,7 @@ function createComponentLog(name) {
115
115
  const warnLog$i = log.create('warn', uiVersion);
116
116
  log.create('error', uiVersion);
117
117
 
118
- const version = "4.19.0";
118
+ const version = "4.19.2";
119
119
  VxeUI.uiVersion = version;
120
120
  VxeUI.dynamicApp = dynamicApp;
121
121
  function config(options) {
@@ -29013,6 +29013,39 @@ var VxeScrollbarComponent = defineVxeComponent({
29013
29013
  viewEl.scrollIntoView();
29014
29014
  }
29015
29015
  },
29016
+ setScrollTop(top) {
29017
+ const viewEl = refViewElem.value;
29018
+ if (viewEl) {
29019
+ viewEl.scrollTop = top;
29020
+ }
29021
+ },
29022
+ setScrollLeft(left) {
29023
+ const viewEl = refViewElem.value;
29024
+ if (viewEl) {
29025
+ viewEl.scrollLeft = left;
29026
+ }
29027
+ },
29028
+ getScrollTop() {
29029
+ const viewEl = refViewElem.value;
29030
+ if (viewEl) {
29031
+ return viewEl.scrollTop;
29032
+ }
29033
+ return 0;
29034
+ },
29035
+ getScrollLeft() {
29036
+ const viewEl = refViewElem.value;
29037
+ if (viewEl) {
29038
+ return viewEl.scrollLeft;
29039
+ }
29040
+ return 0;
29041
+ },
29042
+ clearScroll() {
29043
+ const viewEl = refViewElem.value;
29044
+ if (viewEl) {
29045
+ viewEl.scrollTop = 0;
29046
+ viewEl.scrollLeft = 0;
29047
+ }
29048
+ },
29016
29049
  recalculate() {
29017
29050
  updateThumbSize();
29018
29051
  updateThumbOffset();
@@ -29389,6 +29422,10 @@ var VxeLayoutAsideComponent = defineVxeComponent({
29389
29422
  loading: Boolean,
29390
29423
  padding: Boolean,
29391
29424
  collapseConfig: Object,
29425
+ useScrollbar: {
29426
+ type: Boolean,
29427
+ default: () => getConfig$4().layoutAside.useScrollbar
29428
+ },
29392
29429
  scrollbarConfig: Object,
29393
29430
  size: {
29394
29431
  type: String,
@@ -29443,7 +29480,7 @@ var VxeLayoutAsideComponent = defineVxeComponent({
29443
29480
  const layoutAsidePrivateMethods = {};
29444
29481
  Object.assign($xeLayoutAside, layoutAsideMethods, layoutAsidePrivateMethods);
29445
29482
  const renderVN = () => {
29446
- const { collapsed, loading, padding } = props;
29483
+ const { collapsed, loading, padding, useScrollbar } = props;
29447
29484
  const varStyle = computeVarStyle.value;
29448
29485
  const vSize = computeSize.value;
29449
29486
  const collapseOpts = computeCollapseOpts.value;
@@ -29461,21 +29498,29 @@ var VxeLayoutAsideComponent = defineVxeComponent({
29461
29498
  }],
29462
29499
  style: varStyle
29463
29500
  }, [
29464
- h(VxeScrollbar, {
29465
- loading,
29466
- native,
29467
- xConfig: {
29468
- visible: 'hidden'
29469
- },
29470
- yConfig,
29471
- className: 'vxe-layout-aside--scrollbar' + (className ? (' ' + className) : ''),
29472
- viewAttrs,
29473
- viewClassName: 'vxe-layout-aside--view' + (viewClassName ? (' ' + viewClassName) : ''),
29474
- viewInnerClassName: 'vxe-layout-aside--inner' + (viewInnerClassName ? (' ' + viewInnerClassName) : '')
29475
- }, {
29476
- default: () => {
29477
- return defaultSlot ? defaultSlot({}) : [];
29478
- }
29501
+ useScrollbar
29502
+ ? h(VxeScrollbar, {
29503
+ native,
29504
+ xConfig: {
29505
+ visible: 'hidden'
29506
+ },
29507
+ yConfig,
29508
+ className: 'vxe-layout-aside--scrollbar' + (className ? (' ' + className) : ''),
29509
+ viewAttrs,
29510
+ viewClassName: 'vxe-layout-aside--scrollbar-view' + (viewClassName ? (' ' + viewClassName) : ''),
29511
+ viewInnerClassName: 'vxe-layout-aside--scrollbar-inner' + (viewInnerClassName ? (' ' + viewInnerClassName) : '')
29512
+ }, {
29513
+ default: () => defaultSlot ? defaultSlot({}) : []
29514
+ })
29515
+ : h('div', {
29516
+ class: 'vxe-layout-aside--inner'
29517
+ }, defaultSlot ? defaultSlot({}) : []),
29518
+ /**
29519
+ * 加载中
29520
+ */
29521
+ h(VxeLoading, {
29522
+ class: 'vxe-layout-aside-view--loading',
29523
+ modelValue: loading
29479
29524
  })
29480
29525
  ]);
29481
29526
  };
@@ -29513,6 +29558,10 @@ var VxeLayoutBodyComponent = defineVxeComponent({
29513
29558
  default: () => getConfig$4().layoutBody.showBacktop
29514
29559
  },
29515
29560
  backtopConfig: Object,
29561
+ useScrollbar: {
29562
+ type: Boolean,
29563
+ default: () => getConfig$4().layoutBody.useScrollbar
29564
+ },
29516
29565
  scrollbarConfig: Object,
29517
29566
  size: {
29518
29567
  type: String,
@@ -29560,7 +29609,7 @@ var VxeLayoutBodyComponent = defineVxeComponent({
29560
29609
  const layoutBodyPrivateMethods = {};
29561
29610
  Object.assign($xeLayoutBody, layoutBodyMethods, layoutBodyPrivateMethods);
29562
29611
  const renderVN = () => {
29563
- const { loading, padding, showBacktop } = props;
29612
+ const { loading, padding, showBacktop, useScrollbar } = props;
29564
29613
  const backtopOpts = computeBacktopOpts.value;
29565
29614
  const scrollbarOpts = computeScrollbarOpts.value;
29566
29615
  const { native, xConfig, yConfig, className, viewAttrs, viewClassName, viewInnerClassName } = scrollbarOpts;
@@ -29587,17 +29636,28 @@ var VxeLayoutBodyComponent = defineVxeComponent({
29587
29636
  'is--padding': padding
29588
29637
  }]
29589
29638
  }, [
29590
- h(VxeScrollbar, {
29591
- loading,
29592
- native,
29593
- xConfig,
29594
- yConfig,
29595
- className: 'vxe-layout-body--scrollbar' + (className ? (' ' + className) : ''),
29596
- viewAttrs: Object.assign(Object.assign({}, viewAttrs), { id: showBacktop ? (backtopId || null) : null }),
29597
- viewClassName: 'vxe-layout-body--view' + (viewClassName ? (' ' + viewClassName) : ''),
29598
- viewInnerClassName: 'vxe-layout-body--inner' + (viewInnerClassName ? (' ' + viewInnerClassName) : '')
29599
- }, {
29600
- default: () => defaultSlot ? defaultSlot({}) : []
29639
+ useScrollbar
29640
+ ? h(VxeScrollbar, {
29641
+ native,
29642
+ xConfig,
29643
+ yConfig,
29644
+ className: 'vxe-layout-body--scrollbar' + (className ? (' ' + className) : ''),
29645
+ viewAttrs: Object.assign(Object.assign({}, viewAttrs), { id: showBacktop ? (backtopId || null) : null }),
29646
+ viewClassName: 'vxe-layout-body--scrollbar-view' + (viewClassName ? (' ' + viewClassName) : ''),
29647
+ viewInnerClassName: 'vxe-layout-body--scrollbar-inner' + (viewInnerClassName ? (' ' + viewInnerClassName) : '')
29648
+ }, {
29649
+ default: () => defaultSlot ? defaultSlot({}) : []
29650
+ })
29651
+ : h('div', {
29652
+ id: showBacktop ? backtopId : '',
29653
+ class: 'vxe-layout-body--inner'
29654
+ }, defaultSlot ? defaultSlot({}) : []),
29655
+ /**
29656
+ * 加载中
29657
+ */
29658
+ h(VxeLoading, {
29659
+ class: 'vxe-layout-body-view--loading',
29660
+ modelValue: loading
29601
29661
  }),
29602
29662
  /**
29603
29663
  * 回到顶部
@@ -30004,6 +30064,10 @@ var VxeMenuComponent = defineVxeComponent({
30004
30064
  default: () => getConfig$1().menu.size || getConfig$1().size
30005
30065
  },
30006
30066
  menuConfig: Object,
30067
+ useScrollbar: {
30068
+ type: Boolean,
30069
+ default: () => getConfig$1().menu.useScrollbar
30070
+ },
30007
30071
  scrollbarConfig: Object,
30008
30072
  appendTo: {
30009
30073
  type: [String, Function],
@@ -30022,6 +30086,8 @@ var VxeMenuComponent = defineVxeComponent({
30022
30086
  const $xeLayoutAside = inject('$xeLayoutAside', null);
30023
30087
  const refElem = ref();
30024
30088
  const refCollapseElem = ref();
30089
+ const refCollapseBodyElem = ref();
30090
+ const refCollapseBodyScrollbar = ref();
30025
30091
  const { computeSize } = useSize(props);
30026
30092
  const reactData = reactive(createReactData$b());
30027
30093
  const internalData = createInternalData$a();
@@ -30186,16 +30252,21 @@ var VxeMenuComponent = defineVxeComponent({
30186
30252
  const isCollapsed = computeIsCollapsed.value;
30187
30253
  const el = refElem.value;
30188
30254
  if (el) {
30189
- const clientRect = el.getBoundingClientRect();
30190
- const parentNode = el.parentNode;
30191
- reactData.collapseStyle = isCollapsed
30192
- ? {
30193
- top: toCssUnit(clientRect.top),
30194
- left: toCssUnit(clientRect.left),
30195
- height: toCssUnit(parentNode.clientHeight),
30196
- zIndex: reactData.collapseZindex
30255
+ let clientRect = el.getBoundingClientRect();
30256
+ const parentElement = el.parentElement;
30257
+ if (parentElement) {
30258
+ if (clientRect.top < 0) {
30259
+ clientRect = parentElement.getBoundingClientRect();
30197
30260
  }
30198
- : {};
30261
+ reactData.collapseStyle = isCollapsed
30262
+ ? {
30263
+ top: toCssUnit(clientRect.top),
30264
+ left: toCssUnit(clientRect.left),
30265
+ height: toCssUnit(parentElement.clientHeight),
30266
+ zIndex: reactData.collapseZindex
30267
+ }
30268
+ : {};
30269
+ }
30199
30270
  }
30200
30271
  });
30201
30272
  }
@@ -30328,6 +30399,14 @@ var VxeMenuComponent = defineVxeComponent({
30328
30399
  }
30329
30400
  };
30330
30401
  const handleMenuMouseleave = () => {
30402
+ const $collapseBodyScrollbar = refCollapseBodyScrollbar.value;
30403
+ const collapseBodyEl = refCollapseBodyElem.value;
30404
+ if (collapseBodyEl) {
30405
+ collapseBodyEl.scrollTop = 0;
30406
+ }
30407
+ if ($collapseBodyScrollbar) {
30408
+ $collapseBodyScrollbar.clearScroll();
30409
+ }
30331
30410
  reactData.isEnterCollapse = false;
30332
30411
  };
30333
30412
  const callSlot = (slotFunc, params) => {
@@ -30540,13 +30619,14 @@ var VxeMenuComponent = defineVxeComponent({
30540
30619
  ]);
30541
30620
  };
30542
30621
  const renderVN = () => {
30543
- const { loading, collapseFixed, appendTo } = props;
30622
+ const { loading, collapseFixed, appendTo, useScrollbar } = props;
30544
30623
  const { initialized, menuList, collapseStyle, isEnterCollapse } = reactData;
30545
30624
  const vSize = computeSize.value;
30546
30625
  const isCollapsed = computeIsCollapsed.value;
30547
30626
  const currBorder = computeCurrBorder.value;
30548
30627
  const varStyle = computeVarStyle.value;
30549
30628
  const scrollbarOpts = computeScrollbarOpts.value;
30629
+ const { viewClassName, viewInnerClassName } = scrollbarOpts;
30550
30630
  const headerSlot = slots.header;
30551
30631
  const footerSlot = slots.footer;
30552
30632
  let ons = {};
@@ -30595,9 +30675,14 @@ var VxeMenuComponent = defineVxeComponent({
30595
30675
  class: 'vxe-menu--header'
30596
30676
  }, headerSlot(stParams))
30597
30677
  : renderEmptyElement$1($xeMenu),
30598
- h(VxeScrollbar, Object.assign({ class: 'vxe-menu--body' }, scrollbarOpts), {
30599
- default: () => menuList.map(child => renderDefaultChildren(child, menuList))
30600
- }),
30678
+ useScrollbar && isEnterCollapse
30679
+ ? h(VxeScrollbar, Object.assign(Object.assign({ ref: refCollapseBodyScrollbar, class: 'vxe-menu--scrollbar-body' }, scrollbarOpts), { viewClassName: 'vxe-menu--scrollbar-body-view' + (viewClassName ? (' ' + viewClassName) : ''), viewInnerClassName: 'vxe-menu--scrollbar-body-inner' + (viewClassName ? (' ' + viewInnerClassName) : '') }), {
30680
+ default: () => menuList.map(child => renderDefaultChildren(child, menuList))
30681
+ })
30682
+ : h('div', {
30683
+ ref: refCollapseBodyElem,
30684
+ class: 'vxe-menu--body'
30685
+ }, menuList.map(child => renderDefaultChildren(child, menuList))),
30601
30686
  footerSlot
30602
30687
  ? h('div', {
30603
30688
  class: 'vxe-menu--footer'