vxe-pc-ui 4.11.30 → 4.11.31

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 +344 -0
  6. package/es/context-menu/style.css +104 -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 +104 -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 +361 -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 +104 -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 +602 -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 +104 -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 +105 -0
  180. package/styles/theme/base.scss +3 -0
  181. package/types/all.d.ts +3 -0
  182. package/types/components/button.d.ts +2 -0
  183. package/types/components/context-menu.d.ts +284 -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.1767605241010.ttf} +0 -0
  192. /package/es/icon/{iconfont.1767491587367.woff → iconfont.1767605241010.woff} +0 -0
  193. /package/es/icon/{iconfont.1767491587367.woff2 → iconfont.1767605241010.woff2} +0 -0
  194. /package/es/{iconfont.1767491587367.ttf → iconfont.1767605241010.ttf} +0 -0
  195. /package/es/{iconfont.1767491587367.woff → iconfont.1767605241010.woff} +0 -0
  196. /package/es/{iconfont.1767491587367.woff2 → iconfont.1767605241010.woff2} +0 -0
  197. /package/lib/icon/style/{iconfont.1767491587367.ttf → iconfont.1767605241010.ttf} +0 -0
  198. /package/lib/icon/style/{iconfont.1767491587367.woff → iconfont.1767605241010.woff} +0 -0
  199. /package/lib/icon/style/{iconfont.1767491587367.woff2 → iconfont.1767605241010.woff2} +0 -0
  200. /package/lib/{iconfont.1767491587367.ttf → iconfont.1767605241010.ttf} +0 -0
  201. /package/lib/{iconfont.1767491587367.woff → iconfont.1767605241010.woff} +0 -0
  202. /package/lib/{iconfont.1767491587367.woff2 → iconfont.1767605241010.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.31"}`;
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.31";
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,412 @@ 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 handleItemClickEvent = (evnt, item) => {
17605
+ dispatchEvent('option-click', {
17606
+ option: item
17607
+ }, evnt);
17608
+ close();
17609
+ };
17610
+ const handleItemMouseenterEvent = (evnt, item, parentitem) => {
17611
+ reactData.activeOption = parentitem || item;
17612
+ reactData.activeChildOption = parentitem ? item : null;
17613
+ };
17614
+ const handleItemMouseleaveEvent = () => {
17615
+ reactData.activeOption = null;
17616
+ reactData.activeChildOption = null;
17617
+ };
17618
+ const handleGlobalMousedownEvent = evnt => {
17619
+ const {
17620
+ visible
17621
+ } = reactData;
17622
+ if (visible) {
17623
+ const el = refElem.value;
17624
+ if (!getEventTargetNode(evnt, el, '').flag) {
17625
+ close();
17626
+ }
17627
+ }
17628
+ };
17629
+ const tagPrivateMethods = {};
17630
+ Object.assign($xeContextMenu, tagMethods, tagPrivateMethods);
17631
+ const renderMenuItem = (item, hasChildMenus) => {
17632
+ const {
17633
+ visible,
17634
+ disabled,
17635
+ loading
17636
+ } = item;
17637
+ if (visible === false) {
17638
+ return renderEmptyElement($xeContextMenu);
17639
+ }
17640
+ const prefixOpts = Object.assign({}, item.prefixConfig);
17641
+ const prefixIcon = prefixOpts.icon || item.prefixIcon;
17642
+ const suffixOpts = Object.assign({}, item.suffixConfig);
17643
+ const suffixIcon = suffixOpts.icon || item.suffixIcon;
17644
+ const menuContent = loading ? getI18n('vxe.contextMenu.loadingText') : getFuncText(item.name);
17645
+ return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
17646
+ class: ['vxe-context-menu--item-inner', {
17647
+ 'is--disabled': disabled,
17648
+ 'is--loading': loading
17649
+ }]
17650
+ }, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
17651
+ class: ['vxe-context-menu--item-prefix', prefixOpts.className || '']
17652
+ }, loading ? [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('span', {
17653
+ key: '1'
17654
+ }, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('i', {
17655
+ class: getIcon().CONTEXT_MENU_OPTION_LOADING
17656
+ })])] : [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', {
17657
+ key: '2'
17658
+ }, vn_getSlotVNs(prefixIcon({}))) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('span', {
17659
+ key: '3'
17660
+ }, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('i', {
17661
+ class: prefixIcon
17662
+ })]), prefixOpts.content ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('span', {
17663
+ key: '4'
17664
+ }, `${prefixOpts.content || ''}`) : renderEmptyElement($xeContextMenu)]), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
17665
+ class: 'vxe-context-menu--item-label'
17666
+ }, menuContent), !loading && (suffixIcon || suffixOpts.content) ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
17667
+ class: ['vxe-context-menu--item-suffix', suffixOpts.className || '']
17668
+ }, [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', {
17669
+ key: '2'
17670
+ }, vn_getSlotVNs(suffixIcon({}))) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('span', {
17671
+ key: '3'
17672
+ }, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('i', {
17673
+ class: suffixIcon
17674
+ })]), suffixOpts.content ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('span', {
17675
+ key: '4'
17676
+ }, `${suffixOpts.content || ''}`) : renderEmptyElement($xeContextMenu)]) : renderEmptyElement($xeContextMenu), hasChildMenus ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
17677
+ class: 'vxe-context-menu--item-subicon'
17678
+ }, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('i', {
17679
+ class: getIcon().CONTEXT_MENU_CHILDREN
17680
+ })]) : renderEmptyElement($xeContextMenu)]);
17681
+ };
17682
+ const renderMenus = () => {
17683
+ const {
17684
+ activeOption,
17685
+ activeChildOption
17686
+ } = reactData;
17687
+ const menuGroups = computeMenuGroups.value;
17688
+ const mgVNs = [];
17689
+ menuGroups.forEach((menuList, gIndex) => {
17690
+ const moVNs = [];
17691
+ menuList.forEach((firstItem, i) => {
17692
+ const {
17693
+ children
17694
+ } = firstItem;
17695
+ const hasChildMenus = children && children.some(child => child.visible !== false);
17696
+ moVNs.push((0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
17697
+ key: `${gIndex}_${i}`,
17698
+ class: ['vxe-context-menu--item-wrapper vxe-context-menu--first-item', {
17699
+ 'is--active': activeOption === firstItem
17700
+ }],
17701
+ onClick(evnt) {
17702
+ handleItemClickEvent(evnt, firstItem);
17703
+ },
17704
+ onMouseenter(evnt) {
17705
+ handleItemMouseenterEvent(evnt, firstItem);
17706
+ },
17707
+ onMouseleave: handleItemMouseleaveEvent
17708
+ }, [hasChildMenus ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
17709
+ class: 'vxe-context-menu--children-wrapper'
17710
+ }, children.map(twoItem => {
17711
+ return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
17712
+ class: ['vxe-context-menu--item-wrapper vxe-context-menu--child-item', {
17713
+ 'is--active': activeChildOption === twoItem
17714
+ }],
17715
+ onClick(evnt) {
17716
+ handleItemClickEvent(evnt, twoItem);
17717
+ },
17718
+ onMouseenter(evnt) {
17719
+ handleItemMouseenterEvent(evnt, twoItem, firstItem);
17720
+ },
17721
+ onMouseleave: handleItemMouseleaveEvent
17722
+ }, [renderMenuItem(twoItem)]);
17723
+ })) : renderEmptyElement($xeContextMenu), renderMenuItem(firstItem, hasChildMenus)]));
17724
+ });
17725
+ mgVNs.push((0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
17726
+ key: gIndex,
17727
+ class: 'vxe-context-menu--group-wrapper'
17728
+ }, moVNs));
17729
+ });
17730
+ return mgVNs;
17731
+ };
17732
+ const renderVN = () => {
17733
+ const {
17734
+ className,
17735
+ position,
17736
+ destroyOnClose
17737
+ } = props;
17738
+ const {
17739
+ visible,
17740
+ popupStyle,
17741
+ childPos
17742
+ } = reactData;
17743
+ const vSize = computeSize.value;
17744
+ return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
17745
+ ref: refElem,
17746
+ class: ['vxe-context-menu vxe-context-menu--wrapper', position === 'fixed' ? 'is--' + position : 'is--absolute', `cp--${childPos === 'left' ? childPos : 'right'}`, className || '', {
17747
+ [`size--${vSize}`]: vSize,
17748
+ 'is--visible': visible
17749
+ }],
17750
+ style: popupStyle
17751
+ }, (destroyOnClose ? visible : true) ? renderMenus() : []);
17752
+ };
17753
+ (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(computeTopAndLeft, () => {
17754
+ updateLocate();
17755
+ });
17756
+ (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(() => props.modelValue, () => {
17757
+ handleVisible();
17758
+ });
17759
+ handleVisible();
17760
+ (0,external_commonjs_vue_commonjs2_vue_root_Vue_.onMounted)(() => {
17761
+ globalEvents.on($xeContextMenu, 'mousedown', handleGlobalMousedownEvent);
17762
+ });
17763
+ (0,external_commonjs_vue_commonjs2_vue_root_Vue_.onBeforeUnmount)(() => {
17764
+ globalEvents.off($xeContextMenu, 'mousedown');
17765
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().assign(reactData, context_menu_createReactData());
17766
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().assign(internalData, context_menu_createInternalData());
17767
+ });
17768
+ $xeContextMenu.renderVN = renderVN;
17769
+ return $xeContextMenu;
17770
+ },
17771
+ render() {
17772
+ return this.renderVN();
17773
+ }
17774
+ }));
17775
+ ;// CONCATENATED MODULE: ./packages/context-menu/index.ts
17776
+
17777
+
17778
+
17779
+ const VxeContextMenu = Object.assign({}, context_menu, {
17780
+ install(app) {
17781
+ app.component(context_menu.name, context_menu);
17782
+ }
17783
+ });
17784
+ function openMenu(opts, x, y) {
17785
+ dynamicStore.globalContextMenu = {
17786
+ modelValue: true,
17787
+ options: opts.options,
17788
+ className: opts.className,
17789
+ size: opts.size,
17790
+ zIndex: opts.zIndex,
17791
+ x,
17792
+ y,
17793
+ position: 'fixed',
17794
+ destroyOnClose: true,
17795
+ transfer: false,
17796
+ events: opts.events
17797
+ };
17798
+ checkDynamic();
17799
+ }
17800
+ const ContextMenuController = {
17801
+ open(options) {
17802
+ const opts = Object.assign({
17803
+ x: 0,
17804
+ y: 0
17805
+ }, options);
17806
+ openMenu(opts, opts.x, opts.y);
17807
+ },
17808
+ openByEvent(evnt, options) {
17809
+ evnt.preventDefault();
17810
+ evnt.stopPropagation();
17811
+ const opts = Object.assign({}, options);
17812
+ const x = evnt.clientX;
17813
+ const y = evnt.clientY;
17814
+ openMenu(opts, x, y);
17815
+ },
17816
+ close() {
17817
+ dynamicStore.globalContextMenu = null;
17818
+ }
17819
+ };
17820
+ dynamicApp.use(VxeContextMenu);
17821
+ index_esm_VxeUI.component(context_menu);
17822
+ index_esm_VxeUI.contextMenu = ContextMenuController;
17823
+ const ContextMenu = VxeContextMenu;
17824
+ /* harmony default export */ var packages_context_menu = (VxeContextMenu);
17371
17825
  ;// CONCATENATED MODULE: ./packages/text/src/text.ts
17372
17826
 
17373
17827
 
@@ -33897,10 +34351,17 @@ function parsePageStyle(val) {
33897
34351
  }
33898
34352
  };
33899
34353
  }
34354
+ function createCssLink(urls) {
34355
+ if (urls) {
34356
+ return urls.map(url => `<link rel="stylesheet" href="${url}">`).join('\n');
34357
+ }
34358
+ return '';
34359
+ }
33900
34360
  function createHtmlPage(opts, printHtml) {
33901
34361
  const {
33902
34362
  pageStyle,
33903
- customStyle
34363
+ customStyle,
34364
+ styleUrls
33904
34365
  } = opts;
33905
34366
  const pageStyObj = parsePageStyle(pageStyle);
33906
34367
  const headStyOpts = pageStyObj.header;
@@ -33908,7 +34369,7 @@ function createHtmlPage(opts, printHtml) {
33908
34369
  const footStyOpts = pageStyObj.header;
33909
34370
  const pnStyOpts = pageStyObj.pageNumber;
33910
34371
  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('');
34372
+ 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
34373
  }
33913
34374
  function handlePrint(opts, printHtml = '') {
33914
34375
  const {
@@ -34157,6 +34618,10 @@ const PrintPageBreak = VxePrintPageBreak;
34157
34618
  type: String,
34158
34619
  default: () => getConfig().print.customStyle
34159
34620
  },
34621
+ styleUrls: {
34622
+ type: Array,
34623
+ default: () => getConfig().print.styleUrls
34624
+ },
34160
34625
  beforeMethod: Function
34161
34626
  },
34162
34627
  emits: [],
@@ -34190,8 +34655,45 @@ const PrintPageBreak = VxePrintPageBreak;
34190
34655
  const printMethods = {
34191
34656
  dispatchEvent,
34192
34657
  print() {
34658
+ const {
34659
+ align,
34660
+ title,
34661
+ headerAlign,
34662
+ footerAlign,
34663
+ showPageNumber,
34664
+ customLayout,
34665
+ pageBreaks,
34666
+ content,
34667
+ headerHtml,
34668
+ footerHtml,
34669
+ leftHtml,
34670
+ rightHtml,
34671
+ showAllPageTitle,
34672
+ pageStyle,
34673
+ customStyle,
34674
+ styleUrls,
34675
+ beforeMethod
34676
+ } = props;
34193
34677
  const elem = refElem.value;
34194
- return printHtml(Object.assign({}, props, {
34678
+ return printHtml(Object.assign({}, {
34679
+ align,
34680
+ title,
34681
+ headerAlign,
34682
+ footerAlign,
34683
+ showPageNumber,
34684
+ customLayout,
34685
+ pageBreaks,
34686
+ content,
34687
+ headerHtml,
34688
+ footerHtml,
34689
+ leftHtml,
34690
+ rightHtml,
34691
+ showAllPageTitle,
34692
+ pageStyle,
34693
+ customStyle,
34694
+ styleUrls,
34695
+ beforeMethod
34696
+ }, {
34195
34697
  _pageBreaks: !!reactData.staticPageBreaks.length,
34196
34698
  html: trimHtml(elem ? elem.outerHTML : '') || props.html || props.content || ''
34197
34699
  }));
@@ -41021,6 +41523,7 @@ function clearColAnimate(elem, clss) {
41021
41523
 
41022
41524
 
41023
41525
 
41526
+
41024
41527
  /**
41025
41528
  * 生成节点的唯一主键
41026
41529
  */
@@ -41055,6 +41558,24 @@ function tree_createInternalData() {
41055
41558
  // hpTimeout: undefined
41056
41559
  };
41057
41560
  }
41561
+ function tree_createReactData() {
41562
+ return {
41563
+ parentHeight: 0,
41564
+ customHeight: 0,
41565
+ customMinHeight: 0,
41566
+ customMaxHeight: 0,
41567
+ currentNode: null,
41568
+ scrollYLoad: false,
41569
+ bodyHeight: 0,
41570
+ topSpaceHeight: 0,
41571
+ selectRadioKey: null,
41572
+ treeList: [],
41573
+ updateExpandedFlag: 1,
41574
+ updateCheckboxFlag: 1,
41575
+ dragNode: null,
41576
+ dragTipText: ''
41577
+ };
41578
+ }
41058
41579
  // let crossTreeDragNodeObj: {
41059
41580
  // $oldTree: VxeTreeConstructor & VxeTreePrivateMethods
41060
41581
  // $newTree: (VxeTreeConstructor & VxeTreePrivateMethods) | null
@@ -41153,6 +41674,7 @@ function tree_createInternalData() {
41153
41674
  default: () => getConfig().tree.drag
41154
41675
  },
41155
41676
  dragConfig: Object,
41677
+ menuConfig: Object,
41156
41678
  showIcon: {
41157
41679
  type: Boolean,
41158
41680
  default: true
@@ -41177,7 +41699,7 @@ function tree_createInternalData() {
41177
41699
  },
41178
41700
  virtualYConfig: Object
41179
41701
  },
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'],
41702
+ 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
41703
  setup(props, context) {
41182
41704
  const {
41183
41705
  emit,
@@ -41195,23 +41717,8 @@ function tree_createInternalData() {
41195
41717
  const refDragNodeLineElem = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
41196
41718
  const refDragTipElem = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
41197
41719
  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
41720
  const internalData = tree_createInternalData();
41721
+ const reactData = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.reactive)(tree_createReactData());
41215
41722
  const refMaps = {
41216
41723
  refElem
41217
41724
  };
@@ -41279,6 +41786,9 @@ function tree_createInternalData() {
41279
41786
  const computeDragOpts = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
41280
41787
  return Object.assign({}, getConfig().tree.dragConfig, props.dragConfig);
41281
41788
  });
41789
+ const computeMenuOpts = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
41790
+ return Object.assign({}, getConfig().tree.menuConfig, props.menuConfig);
41791
+ });
41282
41792
  const computeTreeStyle = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
41283
41793
  const {
41284
41794
  customHeight,
@@ -42048,6 +42558,45 @@ function tree_createInternalData() {
42048
42558
  node
42049
42559
  }, evnt);
42050
42560
  };
42561
+ const handleContextmenuEvent = (evnt, node) => {
42562
+ const {
42563
+ menuConfig
42564
+ } = props;
42565
+ const isRowCurrent = computeIsRowCurrent.value;
42566
+ const menuOpts = computeMenuOpts.value;
42567
+ if (menuConfig ? isEnableConf(menuOpts) : menuOpts.enabled) {
42568
+ const {
42569
+ options,
42570
+ visibleMethod
42571
+ } = menuOpts;
42572
+ if (!visibleMethod || visibleMethod({
42573
+ $tree: $xeTree,
42574
+ options,
42575
+ node
42576
+ })) {
42577
+ if (isRowCurrent) {
42578
+ changeCurrentEvent(evnt, node);
42579
+ } else if (reactData.currentNode) {
42580
+ reactData.currentNode = null;
42581
+ }
42582
+ if (index_esm_VxeUI.contextMenu) {
42583
+ index_esm_VxeUI.contextMenu.openByEvent(evnt, {
42584
+ options,
42585
+ events: {
42586
+ optionClick(eventParams) {
42587
+ dispatchEvent('menu-click', Object.assign({
42588
+ node
42589
+ }, eventParams), eventParams.$event);
42590
+ }
42591
+ }
42592
+ });
42593
+ }
42594
+ }
42595
+ }
42596
+ dispatchEvent('node-menu', {
42597
+ node
42598
+ }, evnt);
42599
+ };
42051
42600
  const handleAsyncTreeExpandChilds = node => {
42052
42601
  const checkboxOpts = computeCheckboxOpts.value;
42053
42602
  const {
@@ -43670,6 +44219,9 @@ function tree_createInternalData() {
43670
44219
  },
43671
44220
  onDblclick(evnt) {
43672
44221
  handleNodeDblclickEvent(evnt, node);
44222
+ },
44223
+ onContextmenu(evnt) {
44224
+ handleContextmenuEvent(evnt, node);
43673
44225
  }
43674
44226
  };
43675
44227
  // 拖拽行事件
@@ -43846,7 +44398,7 @@ function tree_createInternalData() {
43846
44398
  /**
43847
44399
  * 加载中
43848
44400
  */
43849
- (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(src_loading, {
44401
+ (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(packages_loading, {
43850
44402
  class: 'vxe-tree--loading',
43851
44403
  modelValue: loading,
43852
44404
  icon: loadingOpts.icon,
@@ -43899,7 +44451,8 @@ function tree_createInternalData() {
43899
44451
  (0,external_commonjs_vue_commonjs2_vue_root_Vue_.onMounted)(() => {
43900
44452
  const {
43901
44453
  transform,
43902
- drag
44454
+ drag,
44455
+ menuConfig
43903
44456
  } = props;
43904
44457
  const dragOpts = computeDragOpts.value;
43905
44458
  if (drag && !transform) {
@@ -43908,6 +44461,10 @@ function tree_createInternalData() {
43908
44461
  if (dragOpts.isCrossTreeDrag) {
43909
44462
  errLog('vxe.error.notProp', ['drag-config.isCrossTreeDrag']);
43910
44463
  }
44464
+ const VxeUIContextMenu = index_esm_VxeUI.getComponent('VxeContextMenu');
44465
+ if (menuConfig && !VxeUIContextMenu) {
44466
+ errLog('vxe.error.reqComp', ['vxe-context-menu']);
44467
+ }
43911
44468
  if (props.autoResize) {
43912
44469
  const el = refElem.value;
43913
44470
  const parentEl = getParentElem();
@@ -43926,7 +44483,7 @@ function tree_createInternalData() {
43926
44483
  }
43927
44484
  globalEvents.on($xeTree, 'resize', handleGlobalResizeEvent);
43928
44485
  });
43929
- (0,external_commonjs_vue_commonjs2_vue_root_Vue_.onUnmounted)(() => {
44486
+ (0,external_commonjs_vue_commonjs2_vue_root_Vue_.onBeforeUnmount)(() => {
43930
44487
  const {
43931
44488
  resizeObserver
43932
44489
  } = internalData;
@@ -43934,10 +44491,13 @@ function tree_createInternalData() {
43934
44491
  resizeObserver.disconnect();
43935
44492
  }
43936
44493
  globalEvents.off($xeTree, 'resize');
44494
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().assign(reactData, tree_createReactData());
43937
44495
  external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().assign(internalData, tree_createInternalData());
43938
44496
  });
44497
+ reactData.selectRadioKey = enNodeValue(props.checkNodeKey);
43939
44498
  loadData(props.data || []);
43940
44499
  $xeTree.renderVN = renderVN;
44500
+ (0,external_commonjs_vue_commonjs2_vue_root_Vue_.provide)('$xeTree', $xeTree);
43941
44501
  return $xeTree;
43942
44502
  },
43943
44503
  render() {
@@ -47252,6 +47812,7 @@ const Watermark = VxeWatermark;
47252
47812
 
47253
47813
 
47254
47814
 
47815
+
47255
47816
 
47256
47817
 
47257
47818
  const {
@@ -47260,7 +47821,7 @@ const {
47260
47821
  setTheme: components_setTheme,
47261
47822
  setConfig: components_setConfig
47262
47823
  } = 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];
47824
+ 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
47825
  function install(app, options) {
47265
47826
  components_setConfig(options);
47266
47827
  components_components.forEach(component => app.use(component));
@@ -47366,6 +47927,7 @@ const readFile = readLocalFile;
47366
47927
 
47367
47928
 
47368
47929
 
47930
+
47369
47931
 
47370
47932
 
47371
47933
  ;// CONCATENATED MODULE: ./index.ts