vxe-pc-ui 4.11.30 → 4.11.32

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 (202) hide show
  1. package/es/backtop/src/backtop.js +1 -3
  2. package/es/button/src/button.js +21 -12
  3. package/es/components.js +3 -0
  4. package/es/context-menu/index.js +46 -0
  5. package/es/context-menu/src/context-menu.js +343 -0
  6. package/es/context-menu/style.css +112 -0
  7. package/es/context-menu/style.min.css +1 -0
  8. package/es/dynamics/index.js +29 -3
  9. package/es/icon/style.css +1 -1
  10. package/es/language/ar-EG.js +3 -0
  11. package/es/language/de-DE.js +3 -0
  12. package/es/language/en-US.js +3 -0
  13. package/es/language/es-ES.js +3 -0
  14. package/es/language/fr-FR.js +3 -0
  15. package/es/language/hu-HU.js +3 -0
  16. package/es/language/hy-AM.js +4 -1
  17. package/es/language/id-ID.js +3 -0
  18. package/es/language/it-IT.js +3 -0
  19. package/es/language/ja-JP.js +3 -0
  20. package/es/language/ko-KR.js +3 -0
  21. package/es/language/ms-MY.js +3 -0
  22. package/es/language/nb-NO.js +3 -0
  23. package/es/language/pt-BR.js +3 -0
  24. package/es/language/ru-RU.js +3 -0
  25. package/es/language/th-TH.js +3 -0
  26. package/es/language/ug-CN.js +3 -0
  27. package/es/language/uk-UA.js +3 -0
  28. package/es/language/uz-UZ.js +3 -0
  29. package/es/language/vi-VN.js +3 -0
  30. package/es/language/zh-CHT.js +3 -0
  31. package/es/language/zh-CN.js +4 -1
  32. package/es/print/src/print.js +24 -1
  33. package/es/print/src/util.js +8 -1
  34. package/es/style.css +1 -1
  35. package/es/style.min.css +1 -1
  36. package/es/tree/src/tree.js +69 -21
  37. package/es/ui/index.js +8 -3
  38. package/es/ui/src/log.js +1 -1
  39. package/es/vxe-context-menu/index.js +3 -0
  40. package/es/vxe-context-menu/style.css +112 -0
  41. package/es/vxe-context-menu/style.min.css +1 -0
  42. package/lib/backtop/src/backtop.js +0 -2
  43. package/lib/backtop/src/backtop.min.js +1 -1
  44. package/lib/button/src/button.js +12 -6
  45. package/lib/button/src/button.min.js +1 -1
  46. package/lib/components.js +13 -1
  47. package/lib/components.min.js +1 -1
  48. package/lib/context-menu/index.js +56 -0
  49. package/lib/context-menu/index.min.js +1 -0
  50. package/lib/context-menu/src/context-menu.js +362 -0
  51. package/lib/context-menu/src/context-menu.min.js +1 -0
  52. package/lib/context-menu/style/index.js +1 -0
  53. package/lib/context-menu/style/style.css +112 -0
  54. package/lib/context-menu/style/style.min.css +1 -0
  55. package/lib/dynamics/index.js +33 -3
  56. package/lib/dynamics/index.min.js +1 -1
  57. package/lib/icon/style/style.css +1 -1
  58. package/lib/icon/style/style.min.css +1 -1
  59. package/lib/index.umd.js +603 -40
  60. package/lib/index.umd.min.js +1 -1
  61. package/lib/language/ar-EG.js +3 -0
  62. package/lib/language/ar-EG.min.js +1 -1
  63. package/lib/language/ar-EG.umd.js +3 -0
  64. package/lib/language/de-DE.js +3 -0
  65. package/lib/language/de-DE.min.js +1 -1
  66. package/lib/language/de-DE.umd.js +3 -0
  67. package/lib/language/en-US.js +3 -0
  68. package/lib/language/en-US.min.js +1 -1
  69. package/lib/language/en-US.umd.js +3 -0
  70. package/lib/language/es-ES.js +3 -0
  71. package/lib/language/es-ES.min.js +1 -1
  72. package/lib/language/es-ES.umd.js +3 -0
  73. package/lib/language/fr-FR.js +3 -0
  74. package/lib/language/fr-FR.min.js +1 -1
  75. package/lib/language/fr-FR.umd.js +3 -0
  76. package/lib/language/hu-HU.js +3 -0
  77. package/lib/language/hu-HU.min.js +1 -1
  78. package/lib/language/hu-HU.umd.js +3 -0
  79. package/lib/language/hy-AM.js +4 -1
  80. package/lib/language/hy-AM.min.js +1 -1
  81. package/lib/language/hy-AM.umd.js +4 -1
  82. package/lib/language/id-ID.js +3 -0
  83. package/lib/language/id-ID.min.js +1 -1
  84. package/lib/language/id-ID.umd.js +3 -0
  85. package/lib/language/it-IT.js +3 -0
  86. package/lib/language/it-IT.min.js +1 -1
  87. package/lib/language/it-IT.umd.js +3 -0
  88. package/lib/language/ja-JP.js +3 -0
  89. package/lib/language/ja-JP.min.js +1 -1
  90. package/lib/language/ja-JP.umd.js +3 -0
  91. package/lib/language/ko-KR.js +3 -0
  92. package/lib/language/ko-KR.min.js +1 -1
  93. package/lib/language/ko-KR.umd.js +3 -0
  94. package/lib/language/ms-MY.js +3 -0
  95. package/lib/language/ms-MY.min.js +1 -1
  96. package/lib/language/ms-MY.umd.js +3 -0
  97. package/lib/language/nb-NO.js +3 -0
  98. package/lib/language/nb-NO.min.js +1 -1
  99. package/lib/language/nb-NO.umd.js +3 -0
  100. package/lib/language/pt-BR.js +3 -0
  101. package/lib/language/pt-BR.min.js +1 -1
  102. package/lib/language/pt-BR.umd.js +3 -0
  103. package/lib/language/ru-RU.js +3 -0
  104. package/lib/language/ru-RU.min.js +1 -1
  105. package/lib/language/ru-RU.umd.js +3 -0
  106. package/lib/language/th-TH.js +3 -0
  107. package/lib/language/th-TH.min.js +1 -1
  108. package/lib/language/th-TH.umd.js +3 -0
  109. package/lib/language/ug-CN.js +3 -0
  110. package/lib/language/ug-CN.min.js +1 -1
  111. package/lib/language/ug-CN.umd.js +3 -0
  112. package/lib/language/uk-UA.js +3 -0
  113. package/lib/language/uk-UA.min.js +1 -1
  114. package/lib/language/uk-UA.umd.js +3 -0
  115. package/lib/language/uz-UZ.js +3 -0
  116. package/lib/language/uz-UZ.min.js +1 -1
  117. package/lib/language/uz-UZ.umd.js +3 -0
  118. package/lib/language/vi-VN.js +3 -0
  119. package/lib/language/vi-VN.min.js +1 -1
  120. package/lib/language/vi-VN.umd.js +3 -0
  121. package/lib/language/zh-CHT.js +3 -0
  122. package/lib/language/zh-CHT.min.js +1 -1
  123. package/lib/language/zh-CHT.umd.js +3 -0
  124. package/lib/language/zh-CN.js +4 -1
  125. package/lib/language/zh-CN.min.js +1 -1
  126. package/lib/language/zh-CN.umd.js +4 -1
  127. package/lib/print/src/print.js +42 -1
  128. package/lib/print/src/print.min.js +1 -1
  129. package/lib/print/src/util.js +9 -2
  130. package/lib/print/src/util.min.js +1 -1
  131. package/lib/style.css +1 -1
  132. package/lib/style.min.css +1 -1
  133. package/lib/tree/src/tree.js +78 -20
  134. package/lib/tree/src/tree.min.js +1 -1
  135. package/lib/ui/index.js +8 -3
  136. package/lib/ui/index.min.js +1 -1
  137. package/lib/ui/src/log.js +1 -1
  138. package/lib/ui/src/log.min.js +1 -1
  139. package/lib/vxe-context-menu/index.js +22 -0
  140. package/lib/vxe-context-menu/index.min.js +1 -0
  141. package/lib/vxe-context-menu/style/index.js +1 -0
  142. package/lib/vxe-context-menu/style/style.css +112 -0
  143. package/lib/vxe-context-menu/style/style.min.css +1 -0
  144. package/package.json +1 -1
  145. package/packages/backtop/src/backtop.ts +1 -4
  146. package/packages/button/src/button.ts +22 -13
  147. package/packages/components.ts +3 -0
  148. package/packages/context-menu/index.ts +54 -0
  149. package/packages/context-menu/src/context-menu.ts +388 -0
  150. package/packages/dynamics/index.ts +36 -9
  151. package/packages/language/ar-EG.ts +3 -0
  152. package/packages/language/de-DE.ts +3 -0
  153. package/packages/language/en-US.ts +3 -0
  154. package/packages/language/es-ES.ts +3 -0
  155. package/packages/language/fr-FR.ts +3 -0
  156. package/packages/language/hu-HU.ts +3 -0
  157. package/packages/language/hy-AM.ts +4 -1
  158. package/packages/language/id-ID.ts +3 -0
  159. package/packages/language/it-IT.ts +3 -0
  160. package/packages/language/ja-JP.ts +3 -0
  161. package/packages/language/ko-KR.ts +3 -0
  162. package/packages/language/ms-MY.ts +3 -0
  163. package/packages/language/nb-NO.ts +3 -0
  164. package/packages/language/pt-BR.ts +3 -0
  165. package/packages/language/ru-RU.ts +3 -0
  166. package/packages/language/th-TH.ts +3 -0
  167. package/packages/language/ug-CN.ts +3 -0
  168. package/packages/language/uk-UA.ts +3 -0
  169. package/packages/language/uz-UZ.ts +3 -0
  170. package/packages/language/vi-VN.ts +3 -0
  171. package/packages/language/zh-CHT.ts +3 -0
  172. package/packages/language/zh-CN.ts +4 -1
  173. package/packages/print/src/print.ts +24 -1
  174. package/packages/print/src/util.ts +9 -1
  175. package/packages/tree/src/tree.ts +73 -22
  176. package/packages/ui/index.ts +8 -2
  177. package/styles/all.scss +1 -0
  178. package/styles/components/backtop.scss +1 -1
  179. package/styles/components/context-menu.scss +113 -0
  180. package/styles/theme/base.scss +3 -0
  181. package/types/all.d.ts +3 -0
  182. package/types/components/button.d.ts +3 -1
  183. package/types/components/context-menu.d.ts +286 -0
  184. package/types/components/password-input.d.ts +2 -0
  185. package/types/components/print.d.ts +8 -0
  186. package/types/components/table.d.ts +8 -0
  187. package/types/components/tree.d.ts +46 -1
  188. package/types/ui/global-config.d.ts +2 -0
  189. package/types/ui/global-icon.d.ts +4 -0
  190. package/types/ui/index.d.ts +3 -0
  191. /package/es/icon/{iconfont.1767491587367.ttf → iconfont.1767614230277.ttf} +0 -0
  192. /package/es/icon/{iconfont.1767491587367.woff → iconfont.1767614230277.woff} +0 -0
  193. /package/es/icon/{iconfont.1767491587367.woff2 → iconfont.1767614230277.woff2} +0 -0
  194. /package/es/{iconfont.1767491587367.ttf → iconfont.1767614230277.ttf} +0 -0
  195. /package/es/{iconfont.1767491587367.woff → iconfont.1767614230277.woff} +0 -0
  196. /package/es/{iconfont.1767491587367.woff2 → iconfont.1767614230277.woff2} +0 -0
  197. /package/lib/icon/style/{iconfont.1767491587367.ttf → iconfont.1767614230277.ttf} +0 -0
  198. /package/lib/icon/style/{iconfont.1767491587367.woff → iconfont.1767614230277.woff} +0 -0
  199. /package/lib/icon/style/{iconfont.1767491587367.woff2 → iconfont.1767614230277.woff2} +0 -0
  200. /package/lib/{iconfont.1767491587367.ttf → iconfont.1767614230277.ttf} +0 -0
  201. /package/lib/{iconfont.1767491587367.woff → iconfont.1767614230277.woff} +0 -0
  202. /package/lib/{iconfont.1767491587367.woff2 → iconfont.1767614230277.woff2} +0 -0
package/lib/index.umd.js CHANGED
@@ -1909,6 +1909,8 @@ __webpack_require__.d(__webpack_exports__, {
1909
1909
  Collapse: function() { return /* reexport */ Collapse; },
1910
1910
  CollapsePane: function() { return /* reexport */ CollapsePane; },
1911
1911
  ColorPicker: function() { return /* reexport */ ColorPicker; },
1912
+ ContextMenu: function() { return /* reexport */ ContextMenu; },
1913
+ ContextMenuController: function() { return /* reexport */ ContextMenuController; },
1912
1914
  Countdown: function() { return /* reexport */ Countdown; },
1913
1915
  DatePanel: function() { return /* reexport */ DatePanel; },
1914
1916
  DatePicker: function() { return /* reexport */ DatePicker; },
@@ -2001,6 +2003,7 @@ __webpack_require__.d(__webpack_exports__, {
2001
2003
  VxeCollapse: function() { return /* reexport */ VxeCollapse; },
2002
2004
  VxeCollapsePane: function() { return /* reexport */ VxeCollapsePane; },
2003
2005
  VxeColorPicker: function() { return /* reexport */ VxeColorPicker; },
2006
+ VxeContextMenu: function() { return /* reexport */ VxeContextMenu; },
2004
2007
  VxeCore: function() { return /* reexport */ VxeCore; },
2005
2008
  VxeCountdown: function() { return /* reexport */ VxeCountdown; },
2006
2009
  VxeDatePanel: function() { return /* reexport */ VxeDatePanel; },
@@ -2150,6 +2153,8 @@ __webpack_require__.d(components_namespaceObject, {
2150
2153
  Collapse: function() { return Collapse; },
2151
2154
  CollapsePane: function() { return CollapsePane; },
2152
2155
  ColorPicker: function() { return ColorPicker; },
2156
+ ContextMenu: function() { return ContextMenu; },
2157
+ ContextMenuController: function() { return ContextMenuController; },
2153
2158
  Countdown: function() { return Countdown; },
2154
2159
  DatePanel: function() { return DatePanel; },
2155
2160
  DatePicker: function() { return DatePicker; },
@@ -2242,6 +2247,7 @@ __webpack_require__.d(components_namespaceObject, {
2242
2247
  VxeCollapse: function() { return VxeCollapse; },
2243
2248
  VxeCollapsePane: function() { return VxeCollapsePane; },
2244
2249
  VxeColorPicker: function() { return VxeColorPicker; },
2250
+ VxeContextMenu: function() { return VxeContextMenu; },
2245
2251
  VxeCore: function() { return VxeCore; },
2246
2252
  VxeCountdown: function() { return VxeCountdown; },
2247
2253
  VxeDatePanel: function() { return VxeDatePanel; },
@@ -3584,7 +3590,8 @@ const dynamicStore = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.reactive)(
3584
3590
  modals: [],
3585
3591
  drawers: [],
3586
3592
  globalLoading: null,
3587
- globalWatermark: null
3593
+ globalWatermark: null,
3594
+ globalContextMenu: null
3588
3595
  });
3589
3596
  /**
3590
3597
  * 动态组件
@@ -3595,20 +3602,49 @@ const VxeDynamics = defineVxeComponent({
3595
3602
  const VxeUIDrawerComponent = index_esm_VxeUI.getComponent('vxe-drawer');
3596
3603
  const VxeUILoadingComponent = index_esm_VxeUI.getComponent('vxe-loading');
3597
3604
  const VxeUIWatermarkComponent = index_esm_VxeUI.getComponent('vxe-watermark');
3605
+ const VxeUIContextMenuComponent = index_esm_VxeUI.getComponent('vxe-context-menu');
3598
3606
  return () => {
3599
3607
  const {
3600
3608
  modals,
3601
3609
  drawers,
3602
3610
  globalWatermark,
3603
- globalLoading
3611
+ globalLoading,
3612
+ globalContextMenu
3604
3613
  } = dynamicStore;
3614
+ let cmOpts = globalContextMenu;
3615
+ if (globalContextMenu) {
3616
+ const events = globalContextMenu.events || {};
3617
+ const {
3618
+ optionClick,
3619
+ show,
3620
+ hide
3621
+ } = events;
3622
+ cmOpts = Object.assign({}, globalContextMenu, {
3623
+ onShow(params) {
3624
+ if (show) {
3625
+ show(params);
3626
+ }
3627
+ },
3628
+ onHide(params) {
3629
+ if (hide) {
3630
+ hide(params);
3631
+ }
3632
+ dynamicStore.globalContextMenu = null;
3633
+ },
3634
+ onOptionClick(params) {
3635
+ if (optionClick) {
3636
+ optionClick(params);
3637
+ }
3638
+ }
3639
+ });
3640
+ }
3605
3641
  return [modals.length ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
3606
3642
  key: 1,
3607
3643
  class: 'vxe-dynamics--modal'
3608
3644
  }, modals.map(item => (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(VxeUIModalComponent, item))) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createCommentVNode)(), drawers.length ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
3609
3645
  key: 2,
3610
3646
  class: 'vxe-dynamics--drawer'
3611
- }, drawers.map(item => (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(VxeUIDrawerComponent, item))) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createCommentVNode)(), globalWatermark ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(VxeUIWatermarkComponent, globalWatermark) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createCommentVNode)(), globalLoading ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(VxeUILoadingComponent, globalLoading) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createCommentVNode)()];
3647
+ }, drawers.map(item => (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(VxeUIDrawerComponent, item))) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createCommentVNode)(), globalWatermark ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(VxeUIWatermarkComponent, globalWatermark) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createCommentVNode)(), globalLoading ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(VxeUILoadingComponent, globalLoading) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createCommentVNode)(), globalContextMenu ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(VxeUIContextMenuComponent, cmOpts) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_.createCommentVNode)()];
3612
3648
  };
3613
3649
  }
3614
3650
  });
@@ -3623,14 +3659,14 @@ function checkDynamic() {
3623
3659
  }
3624
3660
  ;// CONCATENATED MODULE: ./packages/ui/src/log.ts
3625
3661
 
3626
- const log_version = `ui v${"4.11.30"}`;
3662
+ const log_version = `ui v${"4.11.32"}`;
3627
3663
  const warnLog = log.create('warn', log_version);
3628
3664
  const errLog = log.create('error', log_version);
3629
3665
  ;// CONCATENATED MODULE: ./packages/ui/index.ts
3630
3666
 
3631
3667
 
3632
3668
 
3633
- const ui_version = "4.11.30";
3669
+ const ui_version = "4.11.32";
3634
3670
  index_esm_VxeUI.uiVersion = ui_version;
3635
3671
  index_esm_VxeUI.dynamicApp = dynamicApp;
3636
3672
  function config(options) {
@@ -3666,7 +3702,8 @@ setConfig({
3666
3702
  },
3667
3703
  suffixTooltip: {
3668
3704
  enterable: true
3669
- }
3705
+ },
3706
+ showDropdownIcon: true
3670
3707
  },
3671
3708
  buttonGroup: {},
3672
3709
  calendar: {
@@ -3699,6 +3736,7 @@ setConfig({
3699
3736
  }
3700
3737
  },
3701
3738
  collapsePane: {},
3739
+ contextMenu: {},
3702
3740
  countdown: {},
3703
3741
  colorPicker: {
3704
3742
  type: 'rgb',
@@ -4255,7 +4293,10 @@ setIcon({
4255
4293
  SPLIT_LEFT_ACTION: iconPrefix + 'arrow-left',
4256
4294
  SPLIT_RIGHT_ACTION: iconPrefix + 'arrow-right',
4257
4295
  // backtop
4258
- BACKTOP_TOP: iconPrefix + 'top'
4296
+ BACKTOP_TOP: iconPrefix + 'top',
4297
+ // context-menu
4298
+ CONTEXT_MENU_OPTION_LOADING: iconPrefix + 'spinner roll',
4299
+ CONTEXT_MENU_CHILDREN: iconPrefix + 'arrow-right'
4259
4300
  });
4260
4301
 
4261
4302
  /* harmony default export */ var ui = ((/* unused pure expression or super */ null && (VxeUI)));
@@ -4368,7 +4409,7 @@ setIcon({
4368
4409
  allChecked: '全选',
4369
4410
  total: '{0} / {1}',
4370
4411
  search: '搜索',
4371
- loadingText: '加载中',
4412
+ loadingText: '加载中...',
4372
4413
  emptyText: '暂无数据',
4373
4414
  maxSize: '最大可选择的数量不能超过 {0} 个',
4374
4415
  overSizeErr: '已超出最大可选数量 {0} 个,超出部分将被忽略!',
@@ -4801,6 +4842,9 @@ setIcon({
4801
4842
  ss: '秒'
4802
4843
  }
4803
4844
  },
4845
+ contextMenu: {
4846
+ loadingText: '加载中...'
4847
+ },
4804
4848
  gantt: {
4805
4849
  tFullFormat: {
4806
4850
  year: '{yyyy}年',
@@ -6248,8 +6292,6 @@ function createReactData() {
6248
6292
  (0,external_commonjs_vue_commonjs2_vue_root_Vue_.onBeforeUnmount)(() => {
6249
6293
  removeScrollEvent();
6250
6294
  external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().assign(reactData, createReactData());
6251
- });
6252
- (0,external_commonjs_vue_commonjs2_vue_root_Vue_.onUnmounted)(() => {
6253
6295
  external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().assign(internalData, createInternalData());
6254
6296
  });
6255
6297
  $xeBacktop.renderVN = renderVN;
@@ -7274,6 +7316,10 @@ const VxeButtonComponent = defineVxeComponent({
7274
7316
  prefixTooltip: Object,
7275
7317
  suffixTooltip: Object,
7276
7318
  options: Array,
7319
+ showDropdownIcon: {
7320
+ type: Boolean,
7321
+ default: () => getConfig().button.showDropdownIcon
7322
+ },
7277
7323
  /**
7278
7324
  * 在下拉面板关闭时销毁内容
7279
7325
  */
@@ -7298,6 +7344,7 @@ const VxeButtonComponent = defineVxeComponent({
7298
7344
  const $xeModal = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.inject)('$xeModal', null);
7299
7345
  const $xeDrawer = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.inject)('$xeDrawer', null);
7300
7346
  const $xeTable = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.inject)('$xeTable', null);
7347
+ const $xeTree = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.inject)('$xeTree', null);
7301
7348
  const $xeForm = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.inject)('$xeForm', null);
7302
7349
  const $xeButtonGroup = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.inject)('$xeButtonGroup', null);
7303
7350
  const xID = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().uniqueId();
@@ -7344,7 +7391,7 @@ const VxeButtonComponent = defineVxeComponent({
7344
7391
  if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isBoolean(globalTransfer)) {
7345
7392
  return globalTransfer;
7346
7393
  }
7347
- if ($xeTable || $xeModal || $xeDrawer || $xeForm) {
7394
+ if ($xeTable || $xeTree || $xeModal || $xeDrawer || $xeForm) {
7348
7395
  return true;
7349
7396
  }
7350
7397
  }
@@ -7778,7 +7825,8 @@ const VxeButtonComponent = defineVxeComponent({
7778
7825
  type,
7779
7826
  destroyOnClose,
7780
7827
  name,
7781
- loading
7828
+ loading,
7829
+ showDropdownIcon
7782
7830
  } = props;
7783
7831
  const {
7784
7832
  initialized,
@@ -7839,9 +7887,9 @@ const VxeButtonComponent = defineVxeComponent({
7839
7887
  ...btnOns
7840
7888
  }, {
7841
7889
  default() {
7842
- return renderContent().concat([(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('i', {
7890
+ return renderContent().concat(showDropdownIcon ? [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('i', {
7843
7891
  class: `vxe-button--dropdown-arrow ${getIcon().BUTTON_DROPDOWN}`
7844
- })]);
7892
+ })] : []);
7845
7893
  }
7846
7894
  }) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('button', {
7847
7895
  ref: refButton,
@@ -7861,9 +7909,9 @@ const VxeButtonComponent = defineVxeComponent({
7861
7909
  disabled: btnDisabled || loading,
7862
7910
  onClick: clickTargetEvent,
7863
7911
  ...btnOns
7864
- }, renderContent().concat([(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('i', {
7912
+ }, renderContent().concat(showDropdownIcon ? [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('i', {
7865
7913
  class: `vxe-button--dropdown-arrow ${getIcon().BUTTON_DROPDOWN}`
7866
- })])), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(external_commonjs_vue_commonjs2_vue_root_Vue_.Teleport, {
7914
+ })] : [])), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(external_commonjs_vue_commonjs2_vue_root_Vue_.Teleport, {
7867
7915
  to: 'body',
7868
7916
  disabled: btnTransfer ? !initialized : true
7869
7917
  }, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
@@ -17368,6 +17416,413 @@ dynamicApp.use(VxeColorPicker);
17368
17416
  index_esm_VxeUI.component(color_picker);
17369
17417
  const ColorPicker = VxeColorPicker;
17370
17418
  /* harmony default export */ var packages_color_picker = (VxeColorPicker);
17419
+ ;// CONCATENATED MODULE: ./packages/context-menu/src/context-menu.ts
17420
+
17421
+
17422
+
17423
+
17424
+
17425
+
17426
+
17427
+
17428
+ function context_menu_createInternalData() {
17429
+ return {};
17430
+ }
17431
+ function context_menu_createReactData() {
17432
+ return {
17433
+ visible: false,
17434
+ activeOption: null,
17435
+ activeChildOption: null,
17436
+ popupStyle: {
17437
+ top: '',
17438
+ left: '',
17439
+ zIndex: 0
17440
+ },
17441
+ childPos: ''
17442
+ };
17443
+ }
17444
+ /* harmony default export */ var context_menu = (defineVxeComponent({
17445
+ name: 'VxeContextMenu',
17446
+ props: {
17447
+ modelValue: Boolean,
17448
+ className: String,
17449
+ size: {
17450
+ type: String,
17451
+ default: () => getConfig().contextMenu.size || getConfig().size
17452
+ },
17453
+ options: Array,
17454
+ x: [Number, String],
17455
+ y: [Number, String],
17456
+ zIndex: [Number, String],
17457
+ position: {
17458
+ type: String,
17459
+ default: () => getConfig().contextMenu.position
17460
+ },
17461
+ destroyOnClose: {
17462
+ type: Boolean,
17463
+ default: () => getConfig().contextMenu.destroyOnClose
17464
+ },
17465
+ transfer: {
17466
+ type: Boolean,
17467
+ default: () => getConfig().contextMenu.transfer
17468
+ }
17469
+ },
17470
+ emits: ['update:modelValue', 'option-click', 'change', 'show', 'hide'],
17471
+ setup(props, context) {
17472
+ const {
17473
+ emit
17474
+ } = context;
17475
+ const xID = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().uniqueId();
17476
+ const refElem = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
17477
+ const {
17478
+ computeSize
17479
+ } = useSize(props);
17480
+ const internalData = context_menu_createInternalData();
17481
+ const reactData = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.reactive)(context_menu_createReactData());
17482
+ const refMaps = {
17483
+ refElem
17484
+ };
17485
+ const computeMenuGroups = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
17486
+ const {
17487
+ options
17488
+ } = props;
17489
+ return options || [];
17490
+ });
17491
+ const computeTopAndLeft = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
17492
+ const {
17493
+ x,
17494
+ y
17495
+ } = props;
17496
+ return `${x}${y}`;
17497
+ });
17498
+ const computeMaps = {};
17499
+ const $xeContextMenu = {
17500
+ xID,
17501
+ props,
17502
+ context,
17503
+ reactData,
17504
+ getRefMaps: () => refMaps,
17505
+ getComputeMaps: () => computeMaps
17506
+ };
17507
+ const dispatchEvent = (type, params, evnt) => {
17508
+ emit(type, createEvent(evnt, {
17509
+ $contextMenu: $xeContextMenu
17510
+ }, params));
17511
+ };
17512
+ const emitModel = value => {
17513
+ emit('update:modelValue', value);
17514
+ };
17515
+ const open = () => {
17516
+ const {
17517
+ modelValue
17518
+ } = props;
17519
+ const {
17520
+ visible
17521
+ } = reactData;
17522
+ const value = true;
17523
+ reactData.visible = value;
17524
+ updateLocate();
17525
+ updateZindex();
17526
+ if (modelValue !== value) {
17527
+ emitModel(value);
17528
+ dispatchEvent('change', {
17529
+ value
17530
+ }, null);
17531
+ }
17532
+ if (visible !== value) {
17533
+ dispatchEvent('show', {
17534
+ visible: value
17535
+ }, null);
17536
+ }
17537
+ return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();
17538
+ };
17539
+ const close = () => {
17540
+ const {
17541
+ modelValue
17542
+ } = props;
17543
+ const {
17544
+ visible
17545
+ } = reactData;
17546
+ const value = false;
17547
+ reactData.visible = value;
17548
+ if (modelValue !== value) {
17549
+ emitModel(value);
17550
+ dispatchEvent('change', {
17551
+ value
17552
+ }, null);
17553
+ }
17554
+ if (visible !== value) {
17555
+ dispatchEvent('hide', {
17556
+ visible: value
17557
+ }, null);
17558
+ }
17559
+ return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();
17560
+ };
17561
+ const updateLocate = () => {
17562
+ const {
17563
+ x,
17564
+ y
17565
+ } = props;
17566
+ const {
17567
+ popupStyle
17568
+ } = reactData;
17569
+ popupStyle.left = toCssUnit(x || 0);
17570
+ popupStyle.top = toCssUnit(y || 0);
17571
+ };
17572
+ const updateZindex = () => {
17573
+ const {
17574
+ zIndex,
17575
+ transfer
17576
+ } = props;
17577
+ const {
17578
+ popupStyle
17579
+ } = reactData;
17580
+ const menuZIndex = popupStyle.zIndex;
17581
+ if (zIndex) {
17582
+ popupStyle.zIndex = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(zIndex);
17583
+ } else {
17584
+ if (menuZIndex < getLastZIndex()) {
17585
+ popupStyle.zIndex = transfer ? nextSubZIndex() : nextZIndex();
17586
+ }
17587
+ }
17588
+ };
17589
+ const handleVisible = () => {
17590
+ const {
17591
+ modelValue
17592
+ } = props;
17593
+ if (modelValue) {
17594
+ open();
17595
+ } else {
17596
+ close();
17597
+ }
17598
+ };
17599
+ const tagMethods = {
17600
+ dispatchEvent,
17601
+ open,
17602
+ close
17603
+ };
17604
+ const hasChildMenu = item => {
17605
+ const {
17606
+ children
17607
+ } = item;
17608
+ return children && children.some(child => child.visible !== false);
17609
+ };
17610
+ const handleItemClickEvent = (evnt, item) => {
17611
+ if (!hasChildMenu(item)) {
17612
+ dispatchEvent('option-click', {
17613
+ option: item
17614
+ }, evnt);
17615
+ close();
17616
+ }
17617
+ };
17618
+ const handleItemMouseenterEvent = (evnt, item, parentitem) => {
17619
+ reactData.activeOption = parentitem || item;
17620
+ reactData.activeChildOption = parentitem ? item : null;
17621
+ };
17622
+ const handleItemMouseleaveEvent = () => {
17623
+ reactData.activeOption = null;
17624
+ reactData.activeChildOption = null;
17625
+ };
17626
+ const handleGlobalMousedownEvent = evnt => {
17627
+ const {
17628
+ visible
17629
+ } = reactData;
17630
+ if (visible) {
17631
+ const el = refElem.value;
17632
+ if (!getEventTargetNode(evnt, el, '').flag) {
17633
+ close();
17634
+ }
17635
+ }
17636
+ };
17637
+ const tagPrivateMethods = {};
17638
+ Object.assign($xeContextMenu, tagMethods, tagPrivateMethods);
17639
+ const renderMenuItem = (item, parentItem, hasChildMenus) => {
17640
+ const {
17641
+ visible,
17642
+ disabled,
17643
+ loading
17644
+ } = item;
17645
+ if (visible === false) {
17646
+ return renderEmptyElement($xeContextMenu);
17647
+ }
17648
+ const prefixOpts = Object.assign({}, item.prefixConfig);
17649
+ const prefixIcon = prefixOpts.icon || item.prefixIcon;
17650
+ const suffixOpts = Object.assign({}, item.suffixConfig);
17651
+ const suffixIcon = suffixOpts.icon || item.suffixIcon;
17652
+ const menuContent = loading ? getI18n('vxe.contextMenu.loadingText') : getFuncText(item.name);
17653
+ return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
17654
+ class: ['vxe-context-menu--item-inner', {
17655
+ 'is--disabled': disabled,
17656
+ 'is--loading': loading
17657
+ }],
17658
+ onClick(evnt) {
17659
+ handleItemClickEvent(evnt, item);
17660
+ },
17661
+ onMouseenter(evnt) {
17662
+ handleItemMouseenterEvent(evnt, item, parentItem);
17663
+ },
17664
+ onMouseleave: handleItemMouseleaveEvent
17665
+ }, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
17666
+ class: ['vxe-context-menu--item-prefix', prefixOpts.className || '']
17667
+ }, loading ? [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('span', {
17668
+ key: '1'
17669
+ }, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('i', {
17670
+ class: getIcon().CONTEXT_MENU_OPTION_LOADING
17671
+ })])] : [prefixIcon && external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(prefixIcon) ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('span', {
17672
+ key: '2'
17673
+ }, vn_getSlotVNs(prefixIcon({}))) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('span', {
17674
+ key: '3'
17675
+ }, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('i', {
17676
+ class: prefixIcon
17677
+ })]), prefixOpts.content ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('span', {
17678
+ key: '4'
17679
+ }, `${prefixOpts.content || ''}`) : renderEmptyElement($xeContextMenu)]), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
17680
+ class: 'vxe-context-menu--item-label'
17681
+ }, menuContent), !loading && (suffixIcon || suffixOpts.content) ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
17682
+ class: ['vxe-context-menu--item-suffix', suffixOpts.className || '']
17683
+ }, [suffixIcon && external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(suffixIcon) ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('span', {
17684
+ key: '2'
17685
+ }, vn_getSlotVNs(suffixIcon({}))) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('span', {
17686
+ key: '3'
17687
+ }, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('i', {
17688
+ class: suffixIcon
17689
+ })]), suffixOpts.content ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('span', {
17690
+ key: '4'
17691
+ }, `${suffixOpts.content || ''}`) : renderEmptyElement($xeContextMenu)]) : renderEmptyElement($xeContextMenu), hasChildMenus ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
17692
+ class: 'vxe-context-menu--item-subicon'
17693
+ }, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('i', {
17694
+ class: getIcon().CONTEXT_MENU_CHILDREN
17695
+ })]) : renderEmptyElement($xeContextMenu)]);
17696
+ };
17697
+ const renderMenus = () => {
17698
+ const {
17699
+ activeOption,
17700
+ activeChildOption
17701
+ } = reactData;
17702
+ const menuGroups = computeMenuGroups.value;
17703
+ const mgVNs = [];
17704
+ menuGroups.forEach((menuList, gIndex) => {
17705
+ const moVNs = [];
17706
+ menuList.forEach((firstItem, i) => {
17707
+ const {
17708
+ children
17709
+ } = firstItem;
17710
+ const hasChildMenus = children && children.some(child => child.visible !== false);
17711
+ moVNs.push((0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
17712
+ key: `${gIndex}_${i}`,
17713
+ class: ['vxe-context-menu--item-wrapper vxe-context-menu--first-item', firstItem.className || '', {
17714
+ 'is--active': activeOption === firstItem
17715
+ }]
17716
+ }, [hasChildMenus ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
17717
+ class: 'vxe-context-menu--children-wrapper'
17718
+ }, children.map(twoItem => {
17719
+ return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
17720
+ class: ['vxe-context-menu--item-wrapper vxe-context-menu--child-item', twoItem.className || '', {
17721
+ 'is--active': activeChildOption === twoItem
17722
+ }]
17723
+ }, [renderMenuItem(twoItem, firstItem)]);
17724
+ })) : renderEmptyElement($xeContextMenu), renderMenuItem(firstItem, null, hasChildMenus)]));
17725
+ });
17726
+ mgVNs.push((0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
17727
+ key: gIndex,
17728
+ class: 'vxe-context-menu--group-wrapper'
17729
+ }, moVNs));
17730
+ });
17731
+ return mgVNs;
17732
+ };
17733
+ const renderVN = () => {
17734
+ const {
17735
+ className,
17736
+ position,
17737
+ destroyOnClose
17738
+ } = props;
17739
+ const {
17740
+ visible,
17741
+ popupStyle,
17742
+ childPos
17743
+ } = reactData;
17744
+ const vSize = computeSize.value;
17745
+ return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
17746
+ ref: refElem,
17747
+ class: ['vxe-context-menu vxe-context-menu--wrapper', position === 'absolute' ? 'is--' + position : 'is--fixed', `cp--${childPos === 'left' ? childPos : 'right'}`, className || '', {
17748
+ [`size--${vSize}`]: vSize,
17749
+ 'is--visible': visible
17750
+ }],
17751
+ style: popupStyle
17752
+ }, (destroyOnClose ? visible : true) ? renderMenus() : []);
17753
+ };
17754
+ (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(computeTopAndLeft, () => {
17755
+ updateLocate();
17756
+ });
17757
+ (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(() => props.modelValue, () => {
17758
+ handleVisible();
17759
+ });
17760
+ handleVisible();
17761
+ (0,external_commonjs_vue_commonjs2_vue_root_Vue_.onMounted)(() => {
17762
+ globalEvents.on($xeContextMenu, 'mousedown', handleGlobalMousedownEvent);
17763
+ });
17764
+ (0,external_commonjs_vue_commonjs2_vue_root_Vue_.onBeforeUnmount)(() => {
17765
+ globalEvents.off($xeContextMenu, 'mousedown');
17766
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().assign(reactData, context_menu_createReactData());
17767
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().assign(internalData, context_menu_createInternalData());
17768
+ });
17769
+ $xeContextMenu.renderVN = renderVN;
17770
+ return $xeContextMenu;
17771
+ },
17772
+ render() {
17773
+ return this.renderVN();
17774
+ }
17775
+ }));
17776
+ ;// CONCATENATED MODULE: ./packages/context-menu/index.ts
17777
+
17778
+
17779
+
17780
+ const VxeContextMenu = Object.assign({}, context_menu, {
17781
+ install(app) {
17782
+ app.component(context_menu.name, context_menu);
17783
+ }
17784
+ });
17785
+ function openMenu(opts, x, y) {
17786
+ dynamicStore.globalContextMenu = {
17787
+ modelValue: true,
17788
+ options: opts.options,
17789
+ className: opts.className,
17790
+ size: opts.size,
17791
+ zIndex: opts.zIndex,
17792
+ x,
17793
+ y,
17794
+ position: 'fixed',
17795
+ destroyOnClose: true,
17796
+ transfer: false,
17797
+ events: opts.events
17798
+ };
17799
+ checkDynamic();
17800
+ }
17801
+ const ContextMenuController = {
17802
+ open(options) {
17803
+ const opts = Object.assign({
17804
+ x: 0,
17805
+ y: 0
17806
+ }, options);
17807
+ openMenu(opts, opts.x, opts.y);
17808
+ },
17809
+ openByEvent(evnt, options) {
17810
+ evnt.preventDefault();
17811
+ evnt.stopPropagation();
17812
+ const opts = Object.assign({}, options);
17813
+ const x = evnt.clientX;
17814
+ const y = evnt.clientY;
17815
+ openMenu(opts, x, y);
17816
+ },
17817
+ close() {
17818
+ dynamicStore.globalContextMenu = null;
17819
+ }
17820
+ };
17821
+ dynamicApp.use(VxeContextMenu);
17822
+ index_esm_VxeUI.component(context_menu);
17823
+ index_esm_VxeUI.contextMenu = ContextMenuController;
17824
+ const ContextMenu = VxeContextMenu;
17825
+ /* harmony default export */ var packages_context_menu = (VxeContextMenu);
17371
17826
  ;// CONCATENATED MODULE: ./packages/text/src/text.ts
17372
17827
 
17373
17828
 
@@ -33897,10 +34352,17 @@ function parsePageStyle(val) {
33897
34352
  }
33898
34353
  };
33899
34354
  }
34355
+ function createCssLink(urls) {
34356
+ if (urls) {
34357
+ return urls.map(url => `<link rel="stylesheet" href="${url}">`).join('\n');
34358
+ }
34359
+ return '';
34360
+ }
33900
34361
  function createHtmlPage(opts, printHtml) {
33901
34362
  const {
33902
34363
  pageStyle,
33903
- customStyle
34364
+ customStyle,
34365
+ styleUrls
33904
34366
  } = opts;
33905
34367
  const pageStyObj = parsePageStyle(pageStyle);
33906
34368
  const headStyOpts = pageStyObj.header;
@@ -33908,7 +34370,7 @@ function createHtmlPage(opts, printHtml) {
33908
34370
  const footStyOpts = pageStyObj.header;
33909
34371
  const pnStyOpts = pageStyObj.pageNumber;
33910
34372
  const isPbMode = opts._pageBreaks || opts.pageBreaks && opts.pageBreaks.length;
33911
- return ['<!DOCTYPE html><html>', '<head>', '<meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no,minimal-ui">', `<title>${opts.title || ''}</title>`, `<style media="print">@page{size:auto;${isPbMode ? 'margin: 0mm;' : ''}}</style>`, `<style>body{font-size:${pageStyObj.fontSize || '14px'};color:${pageStyObj.color || defaultFontColor};text-align:${pageStyObj.textAlign || 'left'};}</style>`, '<style>', '.vxe-print-slots{display:none;}', '.vxe-print-page-break.align--center{text-align:center;}', '.vxe-print-page-break.align--left{text-align:left;}', '.vxe-print-page-break.align--right{text-align:right;}', '.vxe-print-page-break{break-before:always;page-break-before:always;display:flex;flex-direction:column;height:100vh;overflow:hidden;}', '.vxe-print-page-break--body{display:flex;flex-direction:row;flex-grow:1;overflow:hidden;}', '.vxe-print-page-break--left,.vxe-print-page-break--right{flex-shrink:0;height:100%;}', `.vxe-print-page-break--left{width:${pageStyObj.marginLeft};}`, `.vxe-print-page-break--right{width:${pageStyObj.marginRight};}`, '.vxe-print-page-break--header,.vxe-print-page-break--footer{display:flex;justify-content:center;flex-direction:column;flex-shrink:0;width:100%;}', `.vxe-print-page-break--header{height:${headStyOpts.height || pageStyObj.marginTop};padding:0 ${pageStyObj.marginLeft} 0 ${pageStyObj.marginRight};text-align:${headStyOpts.textAlign || 'left'};}`, `.vxe-print-page-break--header-title{font-size:${titStyOpts.fontSize || '1.6em'};color:${titStyOpts.color || defaultFontColor};text-align:${opts.headerAlign || pnStyOpts.textAlign || 'center'};}`, `.vxe-print-page-break--footer{height:${footStyOpts.height || pageStyObj.marginBottom};padding:0 ${pageStyObj.marginLeft} 0 ${pageStyObj.marginRight};text-align:${footStyOpts.textAlign || 'left'};}`, '.vxe-print-page-break--content{flex-grow:1;overflow:hidden;}', `.vxe-print-page-break--footer-page-number{font-size:${pnStyOpts.fontSize || '1.2em'};color:${pnStyOpts.color || defaultFontColor};text-align:${opts.footerAlign || pnStyOpts.textAlign || 'center'};}`, '</style>', '<style>.vxe-table{white-space:pre;}</style>', `<style>${defaultHtmlStyle}</style>`, isPbMode ? '<style>body{margin:0;}</style>' : '', customStyle ? `<style>${customStyle}</style>` : '', '</head>', '<body>', `${printHtml}`, '</body>', '</html>'].join('');
34373
+ return ['<!DOCTYPE html><html>', '<head>', '<meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no,minimal-ui">', `<title>${opts.title || ''}</title>`, createCssLink(styleUrls), `<style media="print">@page{size:auto;${isPbMode ? 'margin: 0mm;' : ''}}</style>`, `<style>body{font-size:${pageStyObj.fontSize || '14px'};color:${pageStyObj.color || defaultFontColor};text-align:${pageStyObj.textAlign || 'left'};}</style>`, '<style>', '.vxe-print-slots{display:none;}', '.vxe-print-page-break.align--center{text-align:center;}', '.vxe-print-page-break.align--left{text-align:left;}', '.vxe-print-page-break.align--right{text-align:right;}', '.vxe-print-page-break{break-before:always;page-break-before:always;display:flex;flex-direction:column;height:100vh;overflow:hidden;}', '.vxe-print-page-break--body{display:flex;flex-direction:row;flex-grow:1;overflow:hidden;}', '.vxe-print-page-break--left,.vxe-print-page-break--right{flex-shrink:0;height:100%;}', `.vxe-print-page-break--left{width:${pageStyObj.marginLeft};}`, `.vxe-print-page-break--right{width:${pageStyObj.marginRight};}`, '.vxe-print-page-break--header,.vxe-print-page-break--footer{display:flex;justify-content:center;flex-direction:column;flex-shrink:0;width:100%;}', `.vxe-print-page-break--header{height:${headStyOpts.height || pageStyObj.marginTop};padding:0 ${pageStyObj.marginLeft} 0 ${pageStyObj.marginRight};text-align:${headStyOpts.textAlign || 'left'};}`, `.vxe-print-page-break--header-title{font-size:${titStyOpts.fontSize || '1.6em'};color:${titStyOpts.color || defaultFontColor};text-align:${opts.headerAlign || pnStyOpts.textAlign || 'center'};}`, `.vxe-print-page-break--footer{height:${footStyOpts.height || pageStyObj.marginBottom};padding:0 ${pageStyObj.marginLeft} 0 ${pageStyObj.marginRight};text-align:${footStyOpts.textAlign || 'left'};}`, '.vxe-print-page-break--content{flex-grow:1;overflow:hidden;}', `.vxe-print-page-break--footer-page-number{font-size:${pnStyOpts.fontSize || '1.2em'};color:${pnStyOpts.color || defaultFontColor};text-align:${opts.footerAlign || pnStyOpts.textAlign || 'center'};}`, '</style>', '<style>.vxe-table{white-space:pre;}</style>', `<style>${defaultHtmlStyle}</style>`, isPbMode ? '<style>body{margin:0;}</style>' : '', customStyle ? `<style>${customStyle}</style>` : '', '</head>', '<body>', `${printHtml}`, '</body>', '</html>'].join('');
33912
34374
  }
33913
34375
  function handlePrint(opts, printHtml = '') {
33914
34376
  const {
@@ -34157,6 +34619,10 @@ const PrintPageBreak = VxePrintPageBreak;
34157
34619
  type: String,
34158
34620
  default: () => getConfig().print.customStyle
34159
34621
  },
34622
+ styleUrls: {
34623
+ type: Array,
34624
+ default: () => getConfig().print.styleUrls
34625
+ },
34160
34626
  beforeMethod: Function
34161
34627
  },
34162
34628
  emits: [],
@@ -34190,8 +34656,45 @@ const PrintPageBreak = VxePrintPageBreak;
34190
34656
  const printMethods = {
34191
34657
  dispatchEvent,
34192
34658
  print() {
34659
+ const {
34660
+ align,
34661
+ title,
34662
+ headerAlign,
34663
+ footerAlign,
34664
+ showPageNumber,
34665
+ customLayout,
34666
+ pageBreaks,
34667
+ content,
34668
+ headerHtml,
34669
+ footerHtml,
34670
+ leftHtml,
34671
+ rightHtml,
34672
+ showAllPageTitle,
34673
+ pageStyle,
34674
+ customStyle,
34675
+ styleUrls,
34676
+ beforeMethod
34677
+ } = props;
34193
34678
  const elem = refElem.value;
34194
- return printHtml(Object.assign({}, props, {
34679
+ return printHtml(Object.assign({}, {
34680
+ align,
34681
+ title,
34682
+ headerAlign,
34683
+ footerAlign,
34684
+ showPageNumber,
34685
+ customLayout,
34686
+ pageBreaks,
34687
+ content,
34688
+ headerHtml,
34689
+ footerHtml,
34690
+ leftHtml,
34691
+ rightHtml,
34692
+ showAllPageTitle,
34693
+ pageStyle,
34694
+ customStyle,
34695
+ styleUrls,
34696
+ beforeMethod
34697
+ }, {
34195
34698
  _pageBreaks: !!reactData.staticPageBreaks.length,
34196
34699
  html: trimHtml(elem ? elem.outerHTML : '') || props.html || props.content || ''
34197
34700
  }));
@@ -41021,6 +41524,7 @@ function clearColAnimate(elem, clss) {
41021
41524
 
41022
41525
 
41023
41526
 
41527
+
41024
41528
  /**
41025
41529
  * 生成节点的唯一主键
41026
41530
  */
@@ -41055,6 +41559,24 @@ function tree_createInternalData() {
41055
41559
  // hpTimeout: undefined
41056
41560
  };
41057
41561
  }
41562
+ function tree_createReactData() {
41563
+ return {
41564
+ parentHeight: 0,
41565
+ customHeight: 0,
41566
+ customMinHeight: 0,
41567
+ customMaxHeight: 0,
41568
+ currentNode: null,
41569
+ scrollYLoad: false,
41570
+ bodyHeight: 0,
41571
+ topSpaceHeight: 0,
41572
+ selectRadioKey: null,
41573
+ treeList: [],
41574
+ updateExpandedFlag: 1,
41575
+ updateCheckboxFlag: 1,
41576
+ dragNode: null,
41577
+ dragTipText: ''
41578
+ };
41579
+ }
41058
41580
  // let crossTreeDragNodeObj: {
41059
41581
  // $oldTree: VxeTreeConstructor & VxeTreePrivateMethods
41060
41582
  // $newTree: (VxeTreeConstructor & VxeTreePrivateMethods) | null
@@ -41153,6 +41675,7 @@ function tree_createInternalData() {
41153
41675
  default: () => getConfig().tree.drag
41154
41676
  },
41155
41677
  dragConfig: Object,
41678
+ menuConfig: Object,
41156
41679
  showIcon: {
41157
41680
  type: Boolean,
41158
41681
  default: true
@@ -41177,7 +41700,7 @@ function tree_createInternalData() {
41177
41700
  },
41178
41701
  virtualYConfig: Object
41179
41702
  },
41180
- emits: ['update:modelValue', 'update:checkNodeKey', 'update:checkNodeKeys', 'node-click', 'node-dblclick', 'current-change', 'radio-change', 'checkbox-change', 'load-success', 'load-error', 'scroll', 'node-dragstart', 'node-dragover', 'node-dragend'],
41703
+ emits: ['update:modelValue', 'update:checkNodeKey', 'update:checkNodeKeys', 'node-click', 'node-dblclick', 'current-change', 'radio-change', 'checkbox-change', 'load-success', 'load-error', 'scroll', 'node-dragstart', 'node-dragover', 'node-dragend', 'node-expand', 'node-menu', 'menu-click'],
41181
41704
  setup(props, context) {
41182
41705
  const {
41183
41706
  emit,
@@ -41195,23 +41718,8 @@ function tree_createInternalData() {
41195
41718
  const refDragNodeLineElem = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
41196
41719
  const refDragTipElem = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
41197
41720
  const crossTreeDragNodeInfo = getCrossTreeDragNodeInfo();
41198
- const reactData = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.reactive)({
41199
- parentHeight: 0,
41200
- customHeight: 0,
41201
- customMinHeight: 0,
41202
- customMaxHeight: 0,
41203
- currentNode: null,
41204
- scrollYLoad: false,
41205
- bodyHeight: 0,
41206
- topSpaceHeight: 0,
41207
- selectRadioKey: enNodeValue(props.checkNodeKey),
41208
- treeList: [],
41209
- updateExpandedFlag: 1,
41210
- updateCheckboxFlag: 1,
41211
- dragNode: null,
41212
- dragTipText: ''
41213
- });
41214
41721
  const internalData = tree_createInternalData();
41722
+ const reactData = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.reactive)(tree_createReactData());
41215
41723
  const refMaps = {
41216
41724
  refElem
41217
41725
  };
@@ -41279,6 +41787,9 @@ function tree_createInternalData() {
41279
41787
  const computeDragOpts = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
41280
41788
  return Object.assign({}, getConfig().tree.dragConfig, props.dragConfig);
41281
41789
  });
41790
+ const computeMenuOpts = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
41791
+ return Object.assign({}, getConfig().tree.menuConfig, props.menuConfig);
41792
+ });
41282
41793
  const computeTreeStyle = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
41283
41794
  const {
41284
41795
  customHeight,
@@ -42048,6 +42559,45 @@ function tree_createInternalData() {
42048
42559
  node
42049
42560
  }, evnt);
42050
42561
  };
42562
+ const handleContextmenuEvent = (evnt, node) => {
42563
+ const {
42564
+ menuConfig
42565
+ } = props;
42566
+ const isRowCurrent = computeIsRowCurrent.value;
42567
+ const menuOpts = computeMenuOpts.value;
42568
+ if (menuConfig ? isEnableConf(menuOpts) : menuOpts.enabled) {
42569
+ const {
42570
+ options,
42571
+ visibleMethod
42572
+ } = menuOpts;
42573
+ if (!visibleMethod || visibleMethod({
42574
+ $tree: $xeTree,
42575
+ options,
42576
+ node
42577
+ })) {
42578
+ if (isRowCurrent) {
42579
+ changeCurrentEvent(evnt, node);
42580
+ } else if (reactData.currentNode) {
42581
+ reactData.currentNode = null;
42582
+ }
42583
+ if (index_esm_VxeUI.contextMenu) {
42584
+ index_esm_VxeUI.contextMenu.openByEvent(evnt, {
42585
+ options,
42586
+ events: {
42587
+ optionClick(eventParams) {
42588
+ dispatchEvent('menu-click', Object.assign({
42589
+ node
42590
+ }, eventParams), eventParams.$event);
42591
+ }
42592
+ }
42593
+ });
42594
+ }
42595
+ }
42596
+ }
42597
+ dispatchEvent('node-menu', {
42598
+ node
42599
+ }, evnt);
42600
+ };
42051
42601
  const handleAsyncTreeExpandChilds = node => {
42052
42602
  const checkboxOpts = computeCheckboxOpts.value;
42053
42603
  const {
@@ -43670,6 +44220,9 @@ function tree_createInternalData() {
43670
44220
  },
43671
44221
  onDblclick(evnt) {
43672
44222
  handleNodeDblclickEvent(evnt, node);
44223
+ },
44224
+ onContextmenu(evnt) {
44225
+ handleContextmenuEvent(evnt, node);
43673
44226
  }
43674
44227
  };
43675
44228
  // 拖拽行事件
@@ -43846,7 +44399,7 @@ function tree_createInternalData() {
43846
44399
  /**
43847
44400
  * 加载中
43848
44401
  */
43849
- (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(src_loading, {
44402
+ (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(packages_loading, {
43850
44403
  class: 'vxe-tree--loading',
43851
44404
  modelValue: loading,
43852
44405
  icon: loadingOpts.icon,
@@ -43899,7 +44452,8 @@ function tree_createInternalData() {
43899
44452
  (0,external_commonjs_vue_commonjs2_vue_root_Vue_.onMounted)(() => {
43900
44453
  const {
43901
44454
  transform,
43902
- drag
44455
+ drag,
44456
+ menuConfig
43903
44457
  } = props;
43904
44458
  const dragOpts = computeDragOpts.value;
43905
44459
  if (drag && !transform) {
@@ -43908,6 +44462,10 @@ function tree_createInternalData() {
43908
44462
  if (dragOpts.isCrossTreeDrag) {
43909
44463
  errLog('vxe.error.notProp', ['drag-config.isCrossTreeDrag']);
43910
44464
  }
44465
+ const VxeUIContextMenu = index_esm_VxeUI.getComponent('VxeContextMenu');
44466
+ if (menuConfig && !VxeUIContextMenu) {
44467
+ errLog('vxe.error.reqComp', ['vxe-context-menu']);
44468
+ }
43911
44469
  if (props.autoResize) {
43912
44470
  const el = refElem.value;
43913
44471
  const parentEl = getParentElem();
@@ -43926,7 +44484,7 @@ function tree_createInternalData() {
43926
44484
  }
43927
44485
  globalEvents.on($xeTree, 'resize', handleGlobalResizeEvent);
43928
44486
  });
43929
- (0,external_commonjs_vue_commonjs2_vue_root_Vue_.onUnmounted)(() => {
44487
+ (0,external_commonjs_vue_commonjs2_vue_root_Vue_.onBeforeUnmount)(() => {
43930
44488
  const {
43931
44489
  resizeObserver
43932
44490
  } = internalData;
@@ -43934,10 +44492,13 @@ function tree_createInternalData() {
43934
44492
  resizeObserver.disconnect();
43935
44493
  }
43936
44494
  globalEvents.off($xeTree, 'resize');
44495
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().assign(reactData, tree_createReactData());
43937
44496
  external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().assign(internalData, tree_createInternalData());
43938
44497
  });
44498
+ reactData.selectRadioKey = enNodeValue(props.checkNodeKey);
43939
44499
  loadData(props.data || []);
43940
44500
  $xeTree.renderVN = renderVN;
44501
+ (0,external_commonjs_vue_commonjs2_vue_root_Vue_.provide)('$xeTree', $xeTree);
43941
44502
  return $xeTree;
43942
44503
  },
43943
44504
  render() {
@@ -47252,6 +47813,7 @@ const Watermark = VxeWatermark;
47252
47813
 
47253
47814
 
47254
47815
 
47816
+
47255
47817
 
47256
47818
 
47257
47819
  const {
@@ -47260,7 +47822,7 @@ const {
47260
47822
  setTheme: components_setTheme,
47261
47823
  setConfig: components_setConfig
47262
47824
  } = index_esm_VxeUI;
47263
- const components_components = [packages_alert, packages_anchor, packages_anchor_link, packages_avatar, packages_backtop, packages_badge, packages_breadcrumb, packages_breadcrumb_item, packages_button, packages_button_group, packages_calendar, packages_card, packages_carousel, packages_carousel_item, packages_cascader, packages_checkbox, checkbox_button, checkbox_group, packages_col, packages_collapse, packages_collapse_pane, packages_color_picker, packages_countdown, packages_date_panel, packages_date_picker, packages_date_range_picker, packages_drawer, packages_empty, packages_form, form_gather, packages_form_group, packages_form_item, packages_icon, packages_icon_picker, packages_image, image_group, image_preview, packages_input, packages_layout_aside, packages_layout_body, packages_layout_container, packages_layout_footer, packages_layout_header, packages_link, packages_list, packages_loading, packages_menu, packages_modal, packages_notice_bar, packages_number_input, packages_optgroup, packages_option, packages_pager, packages_password_input, print_page_break, packages_print, packages_pulldown, packages_radio, radio_button, radio_group, packages_rate, packages_result, packages_row, packages_segmented, packages_select, packages_splitter, packages_splitter_panel, split, split_pane, packages_slider, packages_steps, packages_switch, packages_tab_pane, packages_table_select, packages_tabs, packages_tag, packages_text_ellipsis, packages_text, packages_textarea, packages_timeline, packages_timeline_item, packages_tip, packages_tooltip, packages_tour, packages_tree, packages_tree_select, packages_upload, packages_watermark];
47825
+ const components_components = [packages_alert, packages_anchor, packages_anchor_link, packages_avatar, packages_backtop, packages_badge, packages_breadcrumb, packages_breadcrumb_item, packages_button, packages_button_group, packages_calendar, packages_card, packages_carousel, packages_carousel_item, packages_cascader, packages_checkbox, checkbox_button, checkbox_group, packages_col, packages_collapse, packages_collapse_pane, packages_color_picker, packages_context_menu, packages_countdown, packages_date_panel, packages_date_picker, packages_date_range_picker, packages_drawer, packages_empty, packages_form, form_gather, packages_form_group, packages_form_item, packages_icon, packages_icon_picker, packages_image, image_group, image_preview, packages_input, packages_layout_aside, packages_layout_body, packages_layout_container, packages_layout_footer, packages_layout_header, packages_link, packages_list, packages_loading, packages_menu, packages_modal, packages_notice_bar, packages_number_input, packages_optgroup, packages_option, packages_pager, packages_password_input, print_page_break, packages_print, packages_pulldown, packages_radio, radio_button, radio_group, packages_rate, packages_result, packages_row, packages_segmented, packages_select, packages_splitter, packages_splitter_panel, split, split_pane, packages_slider, packages_steps, packages_switch, packages_tab_pane, packages_table_select, packages_tabs, packages_tag, packages_text_ellipsis, packages_text, packages_textarea, packages_timeline, packages_timeline_item, packages_tip, packages_tooltip, packages_tour, packages_tree, packages_tree_select, packages_upload, packages_watermark];
47264
47826
  function install(app, options) {
47265
47827
  components_setConfig(options);
47266
47828
  components_components.forEach(component => app.use(component));
@@ -47366,6 +47928,7 @@ const readFile = readLocalFile;
47366
47928
 
47367
47929
 
47368
47930
 
47931
+
47369
47932
 
47370
47933
 
47371
47934
  ;// CONCATENATED MODULE: ./index.ts