vxe-pc-ui 4.11.29 → 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 (215) 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/segmented/src/segmented.js +12 -2
  35. package/es/segmented/style.css +5 -3
  36. package/es/segmented/style.min.css +1 -1
  37. package/es/style.css +1 -1
  38. package/es/style.min.css +1 -1
  39. package/es/tree/src/tree.js +69 -21
  40. package/es/ui/index.js +8 -3
  41. package/es/ui/src/log.js +1 -1
  42. package/es/vxe-context-menu/index.js +3 -0
  43. package/es/vxe-context-menu/style.css +104 -0
  44. package/es/vxe-context-menu/style.min.css +1 -0
  45. package/es/vxe-segmented/style.css +5 -3
  46. package/es/vxe-segmented/style.min.css +1 -1
  47. package/lib/backtop/src/backtop.js +0 -2
  48. package/lib/backtop/src/backtop.min.js +1 -1
  49. package/lib/button/src/button.js +12 -6
  50. package/lib/button/src/button.min.js +1 -1
  51. package/lib/components.js +13 -1
  52. package/lib/components.min.js +1 -1
  53. package/lib/context-menu/index.js +56 -0
  54. package/lib/context-menu/index.min.js +1 -0
  55. package/lib/context-menu/src/context-menu.js +361 -0
  56. package/lib/context-menu/src/context-menu.min.js +1 -0
  57. package/lib/context-menu/style/index.js +1 -0
  58. package/lib/context-menu/style/style.css +104 -0
  59. package/lib/context-menu/style/style.min.css +1 -0
  60. package/lib/dynamics/index.js +33 -3
  61. package/lib/dynamics/index.min.js +1 -1
  62. package/lib/icon/style/style.css +1 -1
  63. package/lib/icon/style/style.min.css +1 -1
  64. package/lib/index.umd.js +612 -42
  65. package/lib/index.umd.min.js +1 -1
  66. package/lib/language/ar-EG.js +3 -0
  67. package/lib/language/ar-EG.min.js +1 -1
  68. package/lib/language/ar-EG.umd.js +3 -0
  69. package/lib/language/de-DE.js +3 -0
  70. package/lib/language/de-DE.min.js +1 -1
  71. package/lib/language/de-DE.umd.js +3 -0
  72. package/lib/language/en-US.js +3 -0
  73. package/lib/language/en-US.min.js +1 -1
  74. package/lib/language/en-US.umd.js +3 -0
  75. package/lib/language/es-ES.js +3 -0
  76. package/lib/language/es-ES.min.js +1 -1
  77. package/lib/language/es-ES.umd.js +3 -0
  78. package/lib/language/fr-FR.js +3 -0
  79. package/lib/language/fr-FR.min.js +1 -1
  80. package/lib/language/fr-FR.umd.js +3 -0
  81. package/lib/language/hu-HU.js +3 -0
  82. package/lib/language/hu-HU.min.js +1 -1
  83. package/lib/language/hu-HU.umd.js +3 -0
  84. package/lib/language/hy-AM.js +4 -1
  85. package/lib/language/hy-AM.min.js +1 -1
  86. package/lib/language/hy-AM.umd.js +4 -1
  87. package/lib/language/id-ID.js +3 -0
  88. package/lib/language/id-ID.min.js +1 -1
  89. package/lib/language/id-ID.umd.js +3 -0
  90. package/lib/language/it-IT.js +3 -0
  91. package/lib/language/it-IT.min.js +1 -1
  92. package/lib/language/it-IT.umd.js +3 -0
  93. package/lib/language/ja-JP.js +3 -0
  94. package/lib/language/ja-JP.min.js +1 -1
  95. package/lib/language/ja-JP.umd.js +3 -0
  96. package/lib/language/ko-KR.js +3 -0
  97. package/lib/language/ko-KR.min.js +1 -1
  98. package/lib/language/ko-KR.umd.js +3 -0
  99. package/lib/language/ms-MY.js +3 -0
  100. package/lib/language/ms-MY.min.js +1 -1
  101. package/lib/language/ms-MY.umd.js +3 -0
  102. package/lib/language/nb-NO.js +3 -0
  103. package/lib/language/nb-NO.min.js +1 -1
  104. package/lib/language/nb-NO.umd.js +3 -0
  105. package/lib/language/pt-BR.js +3 -0
  106. package/lib/language/pt-BR.min.js +1 -1
  107. package/lib/language/pt-BR.umd.js +3 -0
  108. package/lib/language/ru-RU.js +3 -0
  109. package/lib/language/ru-RU.min.js +1 -1
  110. package/lib/language/ru-RU.umd.js +3 -0
  111. package/lib/language/th-TH.js +3 -0
  112. package/lib/language/th-TH.min.js +1 -1
  113. package/lib/language/th-TH.umd.js +3 -0
  114. package/lib/language/ug-CN.js +3 -0
  115. package/lib/language/ug-CN.min.js +1 -1
  116. package/lib/language/ug-CN.umd.js +3 -0
  117. package/lib/language/uk-UA.js +3 -0
  118. package/lib/language/uk-UA.min.js +1 -1
  119. package/lib/language/uk-UA.umd.js +3 -0
  120. package/lib/language/uz-UZ.js +3 -0
  121. package/lib/language/uz-UZ.min.js +1 -1
  122. package/lib/language/uz-UZ.umd.js +3 -0
  123. package/lib/language/vi-VN.js +3 -0
  124. package/lib/language/vi-VN.min.js +1 -1
  125. package/lib/language/vi-VN.umd.js +3 -0
  126. package/lib/language/zh-CHT.js +3 -0
  127. package/lib/language/zh-CHT.min.js +1 -1
  128. package/lib/language/zh-CHT.umd.js +3 -0
  129. package/lib/language/zh-CN.js +4 -1
  130. package/lib/language/zh-CN.min.js +1 -1
  131. package/lib/language/zh-CN.umd.js +4 -1
  132. package/lib/print/src/print.js +42 -1
  133. package/lib/print/src/print.min.js +1 -1
  134. package/lib/print/src/util.js +9 -2
  135. package/lib/print/src/util.min.js +1 -1
  136. package/lib/segmented/src/segmented.js +10 -2
  137. package/lib/segmented/src/segmented.min.js +1 -1
  138. package/lib/segmented/style/style.css +5 -3
  139. package/lib/segmented/style/style.min.css +1 -1
  140. package/lib/style.css +1 -1
  141. package/lib/style.min.css +1 -1
  142. package/lib/tree/src/tree.js +78 -20
  143. package/lib/tree/src/tree.min.js +1 -1
  144. package/lib/ui/index.js +8 -3
  145. package/lib/ui/index.min.js +1 -1
  146. package/lib/ui/src/log.js +1 -1
  147. package/lib/ui/src/log.min.js +1 -1
  148. package/lib/vxe-context-menu/index.js +22 -0
  149. package/lib/vxe-context-menu/index.min.js +1 -0
  150. package/lib/vxe-context-menu/style/index.js +1 -0
  151. package/lib/vxe-context-menu/style/style.css +104 -0
  152. package/lib/vxe-context-menu/style/style.min.css +1 -0
  153. package/lib/vxe-segmented/style/style.css +5 -3
  154. package/lib/vxe-segmented/style/style.min.css +1 -1
  155. package/package.json +1 -1
  156. package/packages/backtop/src/backtop.ts +1 -4
  157. package/packages/button/src/button.ts +22 -13
  158. package/packages/components.ts +3 -0
  159. package/packages/context-menu/index.ts +54 -0
  160. package/packages/context-menu/src/context-menu.ts +388 -0
  161. package/packages/dynamics/index.ts +36 -9
  162. package/packages/language/ar-EG.ts +3 -0
  163. package/packages/language/de-DE.ts +3 -0
  164. package/packages/language/en-US.ts +3 -0
  165. package/packages/language/es-ES.ts +3 -0
  166. package/packages/language/fr-FR.ts +3 -0
  167. package/packages/language/hu-HU.ts +3 -0
  168. package/packages/language/hy-AM.ts +4 -1
  169. package/packages/language/id-ID.ts +3 -0
  170. package/packages/language/it-IT.ts +3 -0
  171. package/packages/language/ja-JP.ts +3 -0
  172. package/packages/language/ko-KR.ts +3 -0
  173. package/packages/language/ms-MY.ts +3 -0
  174. package/packages/language/nb-NO.ts +3 -0
  175. package/packages/language/pt-BR.ts +3 -0
  176. package/packages/language/ru-RU.ts +3 -0
  177. package/packages/language/th-TH.ts +3 -0
  178. package/packages/language/ug-CN.ts +3 -0
  179. package/packages/language/uk-UA.ts +3 -0
  180. package/packages/language/uz-UZ.ts +3 -0
  181. package/packages/language/vi-VN.ts +3 -0
  182. package/packages/language/zh-CHT.ts +3 -0
  183. package/packages/language/zh-CN.ts +4 -1
  184. package/packages/print/src/print.ts +24 -1
  185. package/packages/print/src/util.ts +9 -1
  186. package/packages/segmented/src/segmented.ts +12 -2
  187. package/packages/tree/src/tree.ts +73 -22
  188. package/packages/ui/index.ts +8 -2
  189. package/styles/all.scss +1 -0
  190. package/styles/components/backtop.scss +1 -1
  191. package/styles/components/context-menu.scss +105 -0
  192. package/styles/components/segmented.scss +5 -3
  193. package/styles/theme/base.scss +3 -0
  194. package/types/all.d.ts +3 -0
  195. package/types/components/button.d.ts +2 -0
  196. package/types/components/context-menu.d.ts +284 -0
  197. package/types/components/password-input.d.ts +2 -0
  198. package/types/components/print.d.ts +8 -0
  199. package/types/components/table.d.ts +8 -0
  200. package/types/components/tree.d.ts +46 -1
  201. package/types/ui/global-config.d.ts +2 -0
  202. package/types/ui/global-icon.d.ts +4 -0
  203. package/types/ui/index.d.ts +3 -0
  204. /package/es/icon/{iconfont.1767441272505.ttf → iconfont.1767605241010.ttf} +0 -0
  205. /package/es/icon/{iconfont.1767441272505.woff → iconfont.1767605241010.woff} +0 -0
  206. /package/es/icon/{iconfont.1767441272505.woff2 → iconfont.1767605241010.woff2} +0 -0
  207. /package/es/{iconfont.1767441272505.ttf → iconfont.1767605241010.ttf} +0 -0
  208. /package/es/{iconfont.1767441272505.woff → iconfont.1767605241010.woff} +0 -0
  209. /package/es/{iconfont.1767441272505.woff2 → iconfont.1767605241010.woff2} +0 -0
  210. /package/lib/icon/style/{iconfont.1767441272505.ttf → iconfont.1767605241010.ttf} +0 -0
  211. /package/lib/icon/style/{iconfont.1767441272505.woff → iconfont.1767605241010.woff} +0 -0
  212. /package/lib/icon/style/{iconfont.1767441272505.woff2 → iconfont.1767605241010.woff2} +0 -0
  213. /package/lib/{iconfont.1767441272505.ttf → iconfont.1767605241010.ttf} +0 -0
  214. /package/lib/{iconfont.1767441272505.woff → iconfont.1767605241010.woff} +0 -0
  215. /package/lib/{iconfont.1767441272505.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.29"}`;
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.29";
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
  }));
@@ -35925,7 +36427,11 @@ function segmented_createReactData() {
35925
36427
  const defaultSlot = slots.default;
35926
36428
  const itemVNs = [];
35927
36429
  itemList.forEach((item, i) => {
35928
- const itemWidth = item.width || optionOpts.width;
36430
+ const {
36431
+ icon,
36432
+ width
36433
+ } = item;
36434
+ const itemWidth = width || optionOpts.width;
35929
36435
  itemVNs.push((0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('label', {
35930
36436
  key: i,
35931
36437
  class: ['vxe-segmented--item', {
@@ -35943,7 +36449,11 @@ function segmented_createReactData() {
35943
36449
  }
35944
36450
  }), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
35945
36451
  class: 'vxe-segmented--content'
35946
- }, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
36452
+ }, [icon ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
36453
+ class: 'vxe-segmented--icon'
36454
+ }, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('i', {
36455
+ class: icon
36456
+ })]) : renderEmptyElement($xeSegmented), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
35947
36457
  class: 'vxe-segmented--label'
35948
36458
  }, defaultSlot ? defaultSlot({
35949
36459
  option: item
@@ -41013,6 +41523,7 @@ function clearColAnimate(elem, clss) {
41013
41523
 
41014
41524
 
41015
41525
 
41526
+
41016
41527
  /**
41017
41528
  * 生成节点的唯一主键
41018
41529
  */
@@ -41047,6 +41558,24 @@ function tree_createInternalData() {
41047
41558
  // hpTimeout: undefined
41048
41559
  };
41049
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
+ }
41050
41579
  // let crossTreeDragNodeObj: {
41051
41580
  // $oldTree: VxeTreeConstructor & VxeTreePrivateMethods
41052
41581
  // $newTree: (VxeTreeConstructor & VxeTreePrivateMethods) | null
@@ -41145,6 +41674,7 @@ function tree_createInternalData() {
41145
41674
  default: () => getConfig().tree.drag
41146
41675
  },
41147
41676
  dragConfig: Object,
41677
+ menuConfig: Object,
41148
41678
  showIcon: {
41149
41679
  type: Boolean,
41150
41680
  default: true
@@ -41169,7 +41699,7 @@ function tree_createInternalData() {
41169
41699
  },
41170
41700
  virtualYConfig: Object
41171
41701
  },
41172
- 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'],
41173
41703
  setup(props, context) {
41174
41704
  const {
41175
41705
  emit,
@@ -41187,23 +41717,8 @@ function tree_createInternalData() {
41187
41717
  const refDragNodeLineElem = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
41188
41718
  const refDragTipElem = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
41189
41719
  const crossTreeDragNodeInfo = getCrossTreeDragNodeInfo();
41190
- const reactData = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.reactive)({
41191
- parentHeight: 0,
41192
- customHeight: 0,
41193
- customMinHeight: 0,
41194
- customMaxHeight: 0,
41195
- currentNode: null,
41196
- scrollYLoad: false,
41197
- bodyHeight: 0,
41198
- topSpaceHeight: 0,
41199
- selectRadioKey: enNodeValue(props.checkNodeKey),
41200
- treeList: [],
41201
- updateExpandedFlag: 1,
41202
- updateCheckboxFlag: 1,
41203
- dragNode: null,
41204
- dragTipText: ''
41205
- });
41206
41720
  const internalData = tree_createInternalData();
41721
+ const reactData = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.reactive)(tree_createReactData());
41207
41722
  const refMaps = {
41208
41723
  refElem
41209
41724
  };
@@ -41271,6 +41786,9 @@ function tree_createInternalData() {
41271
41786
  const computeDragOpts = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
41272
41787
  return Object.assign({}, getConfig().tree.dragConfig, props.dragConfig);
41273
41788
  });
41789
+ const computeMenuOpts = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
41790
+ return Object.assign({}, getConfig().tree.menuConfig, props.menuConfig);
41791
+ });
41274
41792
  const computeTreeStyle = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
41275
41793
  const {
41276
41794
  customHeight,
@@ -42040,6 +42558,45 @@ function tree_createInternalData() {
42040
42558
  node
42041
42559
  }, evnt);
42042
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
+ };
42043
42600
  const handleAsyncTreeExpandChilds = node => {
42044
42601
  const checkboxOpts = computeCheckboxOpts.value;
42045
42602
  const {
@@ -43662,6 +44219,9 @@ function tree_createInternalData() {
43662
44219
  },
43663
44220
  onDblclick(evnt) {
43664
44221
  handleNodeDblclickEvent(evnt, node);
44222
+ },
44223
+ onContextmenu(evnt) {
44224
+ handleContextmenuEvent(evnt, node);
43665
44225
  }
43666
44226
  };
43667
44227
  // 拖拽行事件
@@ -43838,7 +44398,7 @@ function tree_createInternalData() {
43838
44398
  /**
43839
44399
  * 加载中
43840
44400
  */
43841
- (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(src_loading, {
44401
+ (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(packages_loading, {
43842
44402
  class: 'vxe-tree--loading',
43843
44403
  modelValue: loading,
43844
44404
  icon: loadingOpts.icon,
@@ -43891,7 +44451,8 @@ function tree_createInternalData() {
43891
44451
  (0,external_commonjs_vue_commonjs2_vue_root_Vue_.onMounted)(() => {
43892
44452
  const {
43893
44453
  transform,
43894
- drag
44454
+ drag,
44455
+ menuConfig
43895
44456
  } = props;
43896
44457
  const dragOpts = computeDragOpts.value;
43897
44458
  if (drag && !transform) {
@@ -43900,6 +44461,10 @@ function tree_createInternalData() {
43900
44461
  if (dragOpts.isCrossTreeDrag) {
43901
44462
  errLog('vxe.error.notProp', ['drag-config.isCrossTreeDrag']);
43902
44463
  }
44464
+ const VxeUIContextMenu = index_esm_VxeUI.getComponent('VxeContextMenu');
44465
+ if (menuConfig && !VxeUIContextMenu) {
44466
+ errLog('vxe.error.reqComp', ['vxe-context-menu']);
44467
+ }
43903
44468
  if (props.autoResize) {
43904
44469
  const el = refElem.value;
43905
44470
  const parentEl = getParentElem();
@@ -43918,7 +44483,7 @@ function tree_createInternalData() {
43918
44483
  }
43919
44484
  globalEvents.on($xeTree, 'resize', handleGlobalResizeEvent);
43920
44485
  });
43921
- (0,external_commonjs_vue_commonjs2_vue_root_Vue_.onUnmounted)(() => {
44486
+ (0,external_commonjs_vue_commonjs2_vue_root_Vue_.onBeforeUnmount)(() => {
43922
44487
  const {
43923
44488
  resizeObserver
43924
44489
  } = internalData;
@@ -43926,10 +44491,13 @@ function tree_createInternalData() {
43926
44491
  resizeObserver.disconnect();
43927
44492
  }
43928
44493
  globalEvents.off($xeTree, 'resize');
44494
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().assign(reactData, tree_createReactData());
43929
44495
  external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().assign(internalData, tree_createInternalData());
43930
44496
  });
44497
+ reactData.selectRadioKey = enNodeValue(props.checkNodeKey);
43931
44498
  loadData(props.data || []);
43932
44499
  $xeTree.renderVN = renderVN;
44500
+ (0,external_commonjs_vue_commonjs2_vue_root_Vue_.provide)('$xeTree', $xeTree);
43933
44501
  return $xeTree;
43934
44502
  },
43935
44503
  render() {
@@ -47244,6 +47812,7 @@ const Watermark = VxeWatermark;
47244
47812
 
47245
47813
 
47246
47814
 
47815
+
47247
47816
 
47248
47817
 
47249
47818
  const {
@@ -47252,7 +47821,7 @@ const {
47252
47821
  setTheme: components_setTheme,
47253
47822
  setConfig: components_setConfig
47254
47823
  } = index_esm_VxeUI;
47255
- 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];
47256
47825
  function install(app, options) {
47257
47826
  components_setConfig(options);
47258
47827
  components_components.forEach(component => app.use(component));
@@ -47358,6 +47927,7 @@ const readFile = readLocalFile;
47358
47927
 
47359
47928
 
47360
47929
 
47930
+
47361
47931
 
47362
47932
 
47363
47933
  ;// CONCATENATED MODULE: ./index.ts