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/lib/index.umd.js CHANGED
@@ -4745,7 +4745,7 @@ function checkDynamic() {
4745
4745
  const {
4746
4746
  log: log_log
4747
4747
  } = VxeUI;
4748
- const uiVersion = `ui v${"4.19.0"}`;
4748
+ const uiVersion = `ui v${"4.19.2"}`;
4749
4749
  function createComponentLog(name) {
4750
4750
  const tableVersion = VxeUI.tableVersion ? `table v${VxeUI.tableVersion}` : '';
4751
4751
  const ganttVersion = VxeUI.ganttVersion ? `gantt v${VxeUI.ganttVersion}` : '';
@@ -4763,7 +4763,7 @@ const errLog = log_log.create('error', uiVersion);
4763
4763
 
4764
4764
 
4765
4765
 
4766
- const ui_version = "4.19.0";
4766
+ const ui_version = "4.19.2";
4767
4767
  VxeUI.uiVersion = ui_version;
4768
4768
  VxeUI.dynamicApp = dynamicApp;
4769
4769
  function config(options) {
@@ -36798,6 +36798,39 @@ function scrollbar_createInternalData() {
36798
36798
  viewEl.scrollIntoView();
36799
36799
  }
36800
36800
  },
36801
+ setScrollTop(top) {
36802
+ const viewEl = refViewElem.value;
36803
+ if (viewEl) {
36804
+ viewEl.scrollTop = top;
36805
+ }
36806
+ },
36807
+ setScrollLeft(left) {
36808
+ const viewEl = refViewElem.value;
36809
+ if (viewEl) {
36810
+ viewEl.scrollLeft = left;
36811
+ }
36812
+ },
36813
+ getScrollTop() {
36814
+ const viewEl = refViewElem.value;
36815
+ if (viewEl) {
36816
+ return viewEl.scrollTop;
36817
+ }
36818
+ return 0;
36819
+ },
36820
+ getScrollLeft() {
36821
+ const viewEl = refViewElem.value;
36822
+ if (viewEl) {
36823
+ return viewEl.scrollLeft;
36824
+ }
36825
+ return 0;
36826
+ },
36827
+ clearScroll() {
36828
+ const viewEl = refViewElem.value;
36829
+ if (viewEl) {
36830
+ viewEl.scrollTop = 0;
36831
+ viewEl.scrollLeft = 0;
36832
+ }
36833
+ },
36801
36834
  recalculate() {
36802
36835
  updateThumbSize();
36803
36836
  updateThumbOffset();
@@ -37206,6 +37239,7 @@ const Scrollbar = VxeScrollbar;
37206
37239
 
37207
37240
 
37208
37241
 
37242
+
37209
37243
  /* harmony default export */ var layout_aside = (defineVxeComponent({
37210
37244
  name: 'VxeLayoutAside',
37211
37245
  props: {
@@ -37215,6 +37249,10 @@ const Scrollbar = VxeScrollbar;
37215
37249
  loading: Boolean,
37216
37250
  padding: Boolean,
37217
37251
  collapseConfig: Object,
37252
+ useScrollbar: {
37253
+ type: Boolean,
37254
+ default: () => getConfig().layoutAside.useScrollbar
37255
+ },
37218
37256
  scrollbarConfig: Object,
37219
37257
  size: {
37220
37258
  type: String,
@@ -37282,7 +37320,8 @@ const Scrollbar = VxeScrollbar;
37282
37320
  const {
37283
37321
  collapsed,
37284
37322
  loading,
37285
- padding
37323
+ padding,
37324
+ useScrollbar
37286
37325
  } = props;
37287
37326
  const varStyle = computeVarStyle.value;
37288
37327
  const vSize = computeSize.value;
@@ -37307,8 +37346,7 @@ const Scrollbar = VxeScrollbar;
37307
37346
  'is--loading': loading
37308
37347
  }],
37309
37348
  style: varStyle
37310
- }, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(packages_scrollbar, {
37311
- loading,
37349
+ }, [useScrollbar ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(packages_scrollbar, {
37312
37350
  native,
37313
37351
  xConfig: {
37314
37352
  visible: 'hidden'
@@ -37316,12 +37354,19 @@ const Scrollbar = VxeScrollbar;
37316
37354
  yConfig,
37317
37355
  className: 'vxe-layout-aside--scrollbar' + (className ? ' ' + className : ''),
37318
37356
  viewAttrs,
37319
- viewClassName: 'vxe-layout-aside--view' + (viewClassName ? ' ' + viewClassName : ''),
37320
- viewInnerClassName: 'vxe-layout-aside--inner' + (viewInnerClassName ? ' ' + viewInnerClassName : '')
37357
+ viewClassName: 'vxe-layout-aside--scrollbar-view' + (viewClassName ? ' ' + viewClassName : ''),
37358
+ viewInnerClassName: 'vxe-layout-aside--scrollbar-inner' + (viewInnerClassName ? ' ' + viewInnerClassName : '')
37321
37359
  }, {
37322
- default: () => {
37323
- return defaultSlot ? defaultSlot({}) : [];
37324
- }
37360
+ default: () => defaultSlot ? defaultSlot({}) : []
37361
+ }) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
37362
+ class: 'vxe-layout-aside--inner'
37363
+ }, defaultSlot ? defaultSlot({}) : []),
37364
+ /**
37365
+ * 加载中
37366
+ */
37367
+ (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(packages_loading, {
37368
+ class: 'vxe-layout-aside-view--loading',
37369
+ modelValue: loading
37325
37370
  })]);
37326
37371
  };
37327
37372
  (0,external_commonjs_vue_commonjs2_vue_root_Vue_.provide)('$xeLayoutAside', $xeLayoutAside);
@@ -37352,6 +37397,7 @@ const LayoutAside = VxeLayoutAside;
37352
37397
 
37353
37398
 
37354
37399
 
37400
+
37355
37401
  function layout_body_createInternalData() {
37356
37402
  return {};
37357
37403
  }
@@ -37368,6 +37414,10 @@ function layout_body_createReactData() {
37368
37414
  default: () => getConfig().layoutBody.showBacktop
37369
37415
  },
37370
37416
  backtopConfig: Object,
37417
+ useScrollbar: {
37418
+ type: Boolean,
37419
+ default: () => getConfig().layoutBody.useScrollbar
37420
+ },
37371
37421
  scrollbarConfig: Object,
37372
37422
  size: {
37373
37423
  type: String,
@@ -37425,7 +37475,8 @@ function layout_body_createReactData() {
37425
37475
  const {
37426
37476
  loading,
37427
37477
  padding,
37428
- showBacktop
37478
+ showBacktop,
37479
+ useScrollbar
37429
37480
  } = props;
37430
37481
  const backtopOpts = computeBacktopOpts.value;
37431
37482
  const scrollbarOpts = computeScrollbarOpts.value;
@@ -37460,8 +37511,7 @@ function layout_body_createReactData() {
37460
37511
  'is--loading': loading,
37461
37512
  'is--padding': padding
37462
37513
  }]
37463
- }, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(packages_scrollbar, {
37464
- loading,
37514
+ }, [useScrollbar ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(packages_scrollbar, {
37465
37515
  native,
37466
37516
  xConfig,
37467
37517
  yConfig,
@@ -37470,10 +37520,20 @@ function layout_body_createReactData() {
37470
37520
  ...viewAttrs,
37471
37521
  id: showBacktop ? backtopId || null : null
37472
37522
  },
37473
- viewClassName: 'vxe-layout-body--view' + (viewClassName ? ' ' + viewClassName : ''),
37474
- viewInnerClassName: 'vxe-layout-body--inner' + (viewInnerClassName ? ' ' + viewInnerClassName : '')
37523
+ viewClassName: 'vxe-layout-body--scrollbar-view' + (viewClassName ? ' ' + viewClassName : ''),
37524
+ viewInnerClassName: 'vxe-layout-body--scrollbar-inner' + (viewInnerClassName ? ' ' + viewInnerClassName : '')
37475
37525
  }, {
37476
37526
  default: () => defaultSlot ? defaultSlot({}) : []
37527
+ }) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
37528
+ id: showBacktop ? backtopId : '',
37529
+ class: 'vxe-layout-body--inner'
37530
+ }, defaultSlot ? defaultSlot({}) : []),
37531
+ /**
37532
+ * 加载中
37533
+ */
37534
+ (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(packages_loading, {
37535
+ class: 'vxe-layout-body-view--loading',
37536
+ modelValue: loading
37477
37537
  }),
37478
37538
  /**
37479
37539
  * 回到顶部
@@ -37966,6 +38026,10 @@ let nemuUniqueKey = 100000000;
37966
38026
  default: () => menu_getConfig().menu.size || menu_getConfig().size
37967
38027
  },
37968
38028
  menuConfig: Object,
38029
+ useScrollbar: {
38030
+ type: Boolean,
38031
+ default: () => menu_getConfig().menu.useScrollbar
38032
+ },
37969
38033
  scrollbarConfig: Object,
37970
38034
  appendTo: {
37971
38035
  type: [String, Function],
@@ -37982,6 +38046,8 @@ let nemuUniqueKey = 100000000;
37982
38046
  const $xeLayoutAside = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.inject)('$xeLayoutAside', null);
37983
38047
  const refElem = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
37984
38048
  const refCollapseElem = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
38049
+ const refCollapseBodyElem = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
38050
+ const refCollapseBodyScrollbar = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
37985
38051
  const {
37986
38052
  computeSize
37987
38053
  } = useSize(props);
@@ -38168,14 +38234,19 @@ let nemuUniqueKey = 100000000;
38168
38234
  const isCollapsed = computeIsCollapsed.value;
38169
38235
  const el = refElem.value;
38170
38236
  if (el) {
38171
- const clientRect = el.getBoundingClientRect();
38172
- const parentNode = el.parentNode;
38173
- reactData.collapseStyle = isCollapsed ? {
38174
- top: toCssUnit(clientRect.top),
38175
- left: toCssUnit(clientRect.left),
38176
- height: toCssUnit(parentNode.clientHeight),
38177
- zIndex: reactData.collapseZindex
38178
- } : {};
38237
+ let clientRect = el.getBoundingClientRect();
38238
+ const parentElement = el.parentElement;
38239
+ if (parentElement) {
38240
+ if (clientRect.top < 0) {
38241
+ clientRect = parentElement.getBoundingClientRect();
38242
+ }
38243
+ reactData.collapseStyle = isCollapsed ? {
38244
+ top: toCssUnit(clientRect.top),
38245
+ left: toCssUnit(clientRect.left),
38246
+ height: toCssUnit(parentElement.clientHeight),
38247
+ zIndex: reactData.collapseZindex
38248
+ } : {};
38249
+ }
38179
38250
  }
38180
38251
  });
38181
38252
  }
@@ -38345,6 +38416,14 @@ let nemuUniqueKey = 100000000;
38345
38416
  }
38346
38417
  };
38347
38418
  const handleMenuMouseleave = () => {
38419
+ const $collapseBodyScrollbar = refCollapseBodyScrollbar.value;
38420
+ const collapseBodyEl = refCollapseBodyElem.value;
38421
+ if (collapseBodyEl) {
38422
+ collapseBodyEl.scrollTop = 0;
38423
+ }
38424
+ if ($collapseBodyScrollbar) {
38425
+ $collapseBodyScrollbar.clearScroll();
38426
+ }
38348
38427
  reactData.isEnterCollapse = false;
38349
38428
  };
38350
38429
  const callSlot = (slotFunc, params) => {
@@ -38600,7 +38679,8 @@ let nemuUniqueKey = 100000000;
38600
38679
  const {
38601
38680
  loading,
38602
38681
  collapseFixed,
38603
- appendTo
38682
+ appendTo,
38683
+ useScrollbar
38604
38684
  } = props;
38605
38685
  const {
38606
38686
  initialized,
@@ -38613,6 +38693,10 @@ let nemuUniqueKey = 100000000;
38613
38693
  const currBorder = computeCurrBorder.value;
38614
38694
  const varStyle = computeVarStyle.value;
38615
38695
  const scrollbarOpts = computeScrollbarOpts.value;
38696
+ const {
38697
+ viewClassName,
38698
+ viewInnerClassName
38699
+ } = scrollbarOpts;
38616
38700
  const headerSlot = slots.header;
38617
38701
  const footerSlot = slots.footer;
38618
38702
  let ons = {};
@@ -38654,12 +38738,18 @@ let nemuUniqueKey = 100000000;
38654
38738
  ...ons
38655
38739
  }, isCollapsed ? [headerSlot ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
38656
38740
  class: 'vxe-menu--header'
38657
- }, headerSlot(stParams)) : renderEmptyElement($xeMenu), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(packages_scrollbar, {
38658
- class: 'vxe-menu--body',
38659
- ...scrollbarOpts
38741
+ }, headerSlot(stParams)) : renderEmptyElement($xeMenu), useScrollbar && isEnterCollapse ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(packages_scrollbar, {
38742
+ ref: refCollapseBodyScrollbar,
38743
+ class: 'vxe-menu--scrollbar-body',
38744
+ ...scrollbarOpts,
38745
+ viewClassName: 'vxe-menu--scrollbar-body-view' + (viewClassName ? ' ' + viewClassName : ''),
38746
+ viewInnerClassName: 'vxe-menu--scrollbar-body-inner' + (viewClassName ? ' ' + viewInnerClassName : '')
38660
38747
  }, {
38661
38748
  default: () => menuList.map(child => renderDefaultChildren(child, menuList))
38662
- }), footerSlot ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
38749
+ }) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
38750
+ ref: refCollapseBodyElem,
38751
+ class: 'vxe-menu--body'
38752
+ }, menuList.map(child => renderDefaultChildren(child, menuList))), footerSlot ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
38663
38753
  class: 'vxe-menu--footer'
38664
38754
  }, footerSlot(stParams)) : renderEmptyElement($xeMenu)] : [])]),
38665
38755
  /**