vxe-pc-ui 4.11.30 → 4.11.32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (202) hide show
  1. package/es/backtop/src/backtop.js +1 -3
  2. package/es/button/src/button.js +21 -12
  3. package/es/components.js +3 -0
  4. package/es/context-menu/index.js +46 -0
  5. package/es/context-menu/src/context-menu.js +343 -0
  6. package/es/context-menu/style.css +112 -0
  7. package/es/context-menu/style.min.css +1 -0
  8. package/es/dynamics/index.js +29 -3
  9. package/es/icon/style.css +1 -1
  10. package/es/language/ar-EG.js +3 -0
  11. package/es/language/de-DE.js +3 -0
  12. package/es/language/en-US.js +3 -0
  13. package/es/language/es-ES.js +3 -0
  14. package/es/language/fr-FR.js +3 -0
  15. package/es/language/hu-HU.js +3 -0
  16. package/es/language/hy-AM.js +4 -1
  17. package/es/language/id-ID.js +3 -0
  18. package/es/language/it-IT.js +3 -0
  19. package/es/language/ja-JP.js +3 -0
  20. package/es/language/ko-KR.js +3 -0
  21. package/es/language/ms-MY.js +3 -0
  22. package/es/language/nb-NO.js +3 -0
  23. package/es/language/pt-BR.js +3 -0
  24. package/es/language/ru-RU.js +3 -0
  25. package/es/language/th-TH.js +3 -0
  26. package/es/language/ug-CN.js +3 -0
  27. package/es/language/uk-UA.js +3 -0
  28. package/es/language/uz-UZ.js +3 -0
  29. package/es/language/vi-VN.js +3 -0
  30. package/es/language/zh-CHT.js +3 -0
  31. package/es/language/zh-CN.js +4 -1
  32. package/es/print/src/print.js +24 -1
  33. package/es/print/src/util.js +8 -1
  34. package/es/style.css +1 -1
  35. package/es/style.min.css +1 -1
  36. package/es/tree/src/tree.js +69 -21
  37. package/es/ui/index.js +8 -3
  38. package/es/ui/src/log.js +1 -1
  39. package/es/vxe-context-menu/index.js +3 -0
  40. package/es/vxe-context-menu/style.css +112 -0
  41. package/es/vxe-context-menu/style.min.css +1 -0
  42. package/lib/backtop/src/backtop.js +0 -2
  43. package/lib/backtop/src/backtop.min.js +1 -1
  44. package/lib/button/src/button.js +12 -6
  45. package/lib/button/src/button.min.js +1 -1
  46. package/lib/components.js +13 -1
  47. package/lib/components.min.js +1 -1
  48. package/lib/context-menu/index.js +56 -0
  49. package/lib/context-menu/index.min.js +1 -0
  50. package/lib/context-menu/src/context-menu.js +362 -0
  51. package/lib/context-menu/src/context-menu.min.js +1 -0
  52. package/lib/context-menu/style/index.js +1 -0
  53. package/lib/context-menu/style/style.css +112 -0
  54. package/lib/context-menu/style/style.min.css +1 -0
  55. package/lib/dynamics/index.js +33 -3
  56. package/lib/dynamics/index.min.js +1 -1
  57. package/lib/icon/style/style.css +1 -1
  58. package/lib/icon/style/style.min.css +1 -1
  59. package/lib/index.umd.js +603 -40
  60. package/lib/index.umd.min.js +1 -1
  61. package/lib/language/ar-EG.js +3 -0
  62. package/lib/language/ar-EG.min.js +1 -1
  63. package/lib/language/ar-EG.umd.js +3 -0
  64. package/lib/language/de-DE.js +3 -0
  65. package/lib/language/de-DE.min.js +1 -1
  66. package/lib/language/de-DE.umd.js +3 -0
  67. package/lib/language/en-US.js +3 -0
  68. package/lib/language/en-US.min.js +1 -1
  69. package/lib/language/en-US.umd.js +3 -0
  70. package/lib/language/es-ES.js +3 -0
  71. package/lib/language/es-ES.min.js +1 -1
  72. package/lib/language/es-ES.umd.js +3 -0
  73. package/lib/language/fr-FR.js +3 -0
  74. package/lib/language/fr-FR.min.js +1 -1
  75. package/lib/language/fr-FR.umd.js +3 -0
  76. package/lib/language/hu-HU.js +3 -0
  77. package/lib/language/hu-HU.min.js +1 -1
  78. package/lib/language/hu-HU.umd.js +3 -0
  79. package/lib/language/hy-AM.js +4 -1
  80. package/lib/language/hy-AM.min.js +1 -1
  81. package/lib/language/hy-AM.umd.js +4 -1
  82. package/lib/language/id-ID.js +3 -0
  83. package/lib/language/id-ID.min.js +1 -1
  84. package/lib/language/id-ID.umd.js +3 -0
  85. package/lib/language/it-IT.js +3 -0
  86. package/lib/language/it-IT.min.js +1 -1
  87. package/lib/language/it-IT.umd.js +3 -0
  88. package/lib/language/ja-JP.js +3 -0
  89. package/lib/language/ja-JP.min.js +1 -1
  90. package/lib/language/ja-JP.umd.js +3 -0
  91. package/lib/language/ko-KR.js +3 -0
  92. package/lib/language/ko-KR.min.js +1 -1
  93. package/lib/language/ko-KR.umd.js +3 -0
  94. package/lib/language/ms-MY.js +3 -0
  95. package/lib/language/ms-MY.min.js +1 -1
  96. package/lib/language/ms-MY.umd.js +3 -0
  97. package/lib/language/nb-NO.js +3 -0
  98. package/lib/language/nb-NO.min.js +1 -1
  99. package/lib/language/nb-NO.umd.js +3 -0
  100. package/lib/language/pt-BR.js +3 -0
  101. package/lib/language/pt-BR.min.js +1 -1
  102. package/lib/language/pt-BR.umd.js +3 -0
  103. package/lib/language/ru-RU.js +3 -0
  104. package/lib/language/ru-RU.min.js +1 -1
  105. package/lib/language/ru-RU.umd.js +3 -0
  106. package/lib/language/th-TH.js +3 -0
  107. package/lib/language/th-TH.min.js +1 -1
  108. package/lib/language/th-TH.umd.js +3 -0
  109. package/lib/language/ug-CN.js +3 -0
  110. package/lib/language/ug-CN.min.js +1 -1
  111. package/lib/language/ug-CN.umd.js +3 -0
  112. package/lib/language/uk-UA.js +3 -0
  113. package/lib/language/uk-UA.min.js +1 -1
  114. package/lib/language/uk-UA.umd.js +3 -0
  115. package/lib/language/uz-UZ.js +3 -0
  116. package/lib/language/uz-UZ.min.js +1 -1
  117. package/lib/language/uz-UZ.umd.js +3 -0
  118. package/lib/language/vi-VN.js +3 -0
  119. package/lib/language/vi-VN.min.js +1 -1
  120. package/lib/language/vi-VN.umd.js +3 -0
  121. package/lib/language/zh-CHT.js +3 -0
  122. package/lib/language/zh-CHT.min.js +1 -1
  123. package/lib/language/zh-CHT.umd.js +3 -0
  124. package/lib/language/zh-CN.js +4 -1
  125. package/lib/language/zh-CN.min.js +1 -1
  126. package/lib/language/zh-CN.umd.js +4 -1
  127. package/lib/print/src/print.js +42 -1
  128. package/lib/print/src/print.min.js +1 -1
  129. package/lib/print/src/util.js +9 -2
  130. package/lib/print/src/util.min.js +1 -1
  131. package/lib/style.css +1 -1
  132. package/lib/style.min.css +1 -1
  133. package/lib/tree/src/tree.js +78 -20
  134. package/lib/tree/src/tree.min.js +1 -1
  135. package/lib/ui/index.js +8 -3
  136. package/lib/ui/index.min.js +1 -1
  137. package/lib/ui/src/log.js +1 -1
  138. package/lib/ui/src/log.min.js +1 -1
  139. package/lib/vxe-context-menu/index.js +22 -0
  140. package/lib/vxe-context-menu/index.min.js +1 -0
  141. package/lib/vxe-context-menu/style/index.js +1 -0
  142. package/lib/vxe-context-menu/style/style.css +112 -0
  143. package/lib/vxe-context-menu/style/style.min.css +1 -0
  144. package/package.json +1 -1
  145. package/packages/backtop/src/backtop.ts +1 -4
  146. package/packages/button/src/button.ts +22 -13
  147. package/packages/components.ts +3 -0
  148. package/packages/context-menu/index.ts +54 -0
  149. package/packages/context-menu/src/context-menu.ts +388 -0
  150. package/packages/dynamics/index.ts +36 -9
  151. package/packages/language/ar-EG.ts +3 -0
  152. package/packages/language/de-DE.ts +3 -0
  153. package/packages/language/en-US.ts +3 -0
  154. package/packages/language/es-ES.ts +3 -0
  155. package/packages/language/fr-FR.ts +3 -0
  156. package/packages/language/hu-HU.ts +3 -0
  157. package/packages/language/hy-AM.ts +4 -1
  158. package/packages/language/id-ID.ts +3 -0
  159. package/packages/language/it-IT.ts +3 -0
  160. package/packages/language/ja-JP.ts +3 -0
  161. package/packages/language/ko-KR.ts +3 -0
  162. package/packages/language/ms-MY.ts +3 -0
  163. package/packages/language/nb-NO.ts +3 -0
  164. package/packages/language/pt-BR.ts +3 -0
  165. package/packages/language/ru-RU.ts +3 -0
  166. package/packages/language/th-TH.ts +3 -0
  167. package/packages/language/ug-CN.ts +3 -0
  168. package/packages/language/uk-UA.ts +3 -0
  169. package/packages/language/uz-UZ.ts +3 -0
  170. package/packages/language/vi-VN.ts +3 -0
  171. package/packages/language/zh-CHT.ts +3 -0
  172. package/packages/language/zh-CN.ts +4 -1
  173. package/packages/print/src/print.ts +24 -1
  174. package/packages/print/src/util.ts +9 -1
  175. package/packages/tree/src/tree.ts +73 -22
  176. package/packages/ui/index.ts +8 -2
  177. package/styles/all.scss +1 -0
  178. package/styles/components/backtop.scss +1 -1
  179. package/styles/components/context-menu.scss +113 -0
  180. package/styles/theme/base.scss +3 -0
  181. package/types/all.d.ts +3 -0
  182. package/types/components/button.d.ts +3 -1
  183. package/types/components/context-menu.d.ts +286 -0
  184. package/types/components/password-input.d.ts +2 -0
  185. package/types/components/print.d.ts +8 -0
  186. package/types/components/table.d.ts +8 -0
  187. package/types/components/tree.d.ts +46 -1
  188. package/types/ui/global-config.d.ts +2 -0
  189. package/types/ui/global-icon.d.ts +4 -0
  190. package/types/ui/index.d.ts +3 -0
  191. /package/es/icon/{iconfont.1767491587367.ttf → iconfont.1767614230277.ttf} +0 -0
  192. /package/es/icon/{iconfont.1767491587367.woff → iconfont.1767614230277.woff} +0 -0
  193. /package/es/icon/{iconfont.1767491587367.woff2 → iconfont.1767614230277.woff2} +0 -0
  194. /package/es/{iconfont.1767491587367.ttf → iconfont.1767614230277.ttf} +0 -0
  195. /package/es/{iconfont.1767491587367.woff → iconfont.1767614230277.woff} +0 -0
  196. /package/es/{iconfont.1767491587367.woff2 → iconfont.1767614230277.woff2} +0 -0
  197. /package/lib/icon/style/{iconfont.1767491587367.ttf → iconfont.1767614230277.ttf} +0 -0
  198. /package/lib/icon/style/{iconfont.1767491587367.woff → iconfont.1767614230277.woff} +0 -0
  199. /package/lib/icon/style/{iconfont.1767491587367.woff2 → iconfont.1767614230277.woff2} +0 -0
  200. /package/lib/{iconfont.1767491587367.ttf → iconfont.1767614230277.ttf} +0 -0
  201. /package/lib/{iconfont.1767491587367.woff → iconfont.1767614230277.woff} +0 -0
  202. /package/lib/{iconfont.1767491587367.woff2 → iconfont.1767614230277.woff2} +0 -0
@@ -1,4 +1,4 @@
1
- import { ref, h, reactive, computed, watch, onUnmounted, nextTick, onMounted } from 'vue';
1
+ import { ref, h, reactive, computed, watch, onBeforeUnmount, nextTick, onMounted, provide } from 'vue';
2
2
  import { defineVxeComponent } from '../../ui/src/comp';
3
3
  import { VxeUI, getI18n, createEvent, getIcon, getConfig, useSize, globalEvents, globalResize, renderEmptyElement } from '../../ui';
4
4
  import { calcTreeLine, enNodeValue, deNodeValue } from './util';
@@ -7,8 +7,9 @@ import { getCrossTreeDragNodeInfo } from './store';
7
7
  import XEUtils from 'xe-utils';
8
8
  import { getSlotVNs } from '../../ui/src/vn';
9
9
  import { toCssUnit, isScale, getPaddingTopBottomSize, addClass, removeClass, getTpImg, hasControlKey, getEventTargetNode } from '../../ui/src/dom';
10
+ import { isEnableConf } from '../../ui/src/utils';
10
11
  import { moveRowAnimateToTb, clearRowAnimate } from '../../ui/src/anime';
11
- import VxeLoadingComponent from '../../loading/src/loading';
12
+ import VxeLoadingComponent from '../../loading';
12
13
  /**
13
14
  * 生成节点的唯一主键
14
15
  */
@@ -43,6 +44,24 @@ function createInternalData() {
43
44
  // hpTimeout: undefined
44
45
  };
45
46
  }
47
+ function createReactData() {
48
+ return {
49
+ parentHeight: 0,
50
+ customHeight: 0,
51
+ customMinHeight: 0,
52
+ customMaxHeight: 0,
53
+ currentNode: null,
54
+ scrollYLoad: false,
55
+ bodyHeight: 0,
56
+ topSpaceHeight: 0,
57
+ selectRadioKey: null,
58
+ treeList: [],
59
+ updateExpandedFlag: 1,
60
+ updateCheckboxFlag: 1,
61
+ dragNode: null,
62
+ dragTipText: ''
63
+ };
64
+ }
46
65
  // let crossTreeDragNodeObj: {
47
66
  // $oldTree: VxeTreeConstructor & VxeTreePrivateMethods
48
67
  // $newTree: (VxeTreeConstructor & VxeTreePrivateMethods) | null
@@ -141,6 +160,7 @@ export default defineVxeComponent({
141
160
  default: () => getConfig().tree.drag
142
161
  },
143
162
  dragConfig: Object,
163
+ menuConfig: Object,
144
164
  showIcon: {
145
165
  type: Boolean,
146
166
  default: true
@@ -179,7 +199,10 @@ export default defineVxeComponent({
179
199
  'scroll',
180
200
  'node-dragstart',
181
201
  'node-dragover',
182
- 'node-dragend'
202
+ 'node-dragend',
203
+ 'node-expand',
204
+ 'node-menu',
205
+ 'menu-click'
183
206
  ],
184
207
  setup(props, context) {
185
208
  const { emit, slots } = context;
@@ -193,23 +216,8 @@ export default defineVxeComponent({
193
216
  const refDragNodeLineElem = ref();
194
217
  const refDragTipElem = ref();
195
218
  const crossTreeDragNodeInfo = getCrossTreeDragNodeInfo();
196
- const reactData = reactive({
197
- parentHeight: 0,
198
- customHeight: 0,
199
- customMinHeight: 0,
200
- customMaxHeight: 0,
201
- currentNode: null,
202
- scrollYLoad: false,
203
- bodyHeight: 0,
204
- topSpaceHeight: 0,
205
- selectRadioKey: enNodeValue(props.checkNodeKey),
206
- treeList: [],
207
- updateExpandedFlag: 1,
208
- updateCheckboxFlag: 1,
209
- dragNode: null,
210
- dragTipText: ''
211
- });
212
219
  const internalData = createInternalData();
220
+ const reactData = reactive(createReactData());
213
221
  const refMaps = {
214
222
  refElem
215
223
  };
@@ -269,6 +277,9 @@ export default defineVxeComponent({
269
277
  const computeDragOpts = computed(() => {
270
278
  return Object.assign({}, getConfig().tree.dragConfig, props.dragConfig);
271
279
  });
280
+ const computeMenuOpts = computed(() => {
281
+ return Object.assign({}, getConfig().tree.menuConfig, props.menuConfig);
282
+ });
272
283
  const computeTreeStyle = computed(() => {
273
284
  const { customHeight, customMinHeight, customMaxHeight } = reactData;
274
285
  const stys = {};
@@ -909,6 +920,33 @@ export default defineVxeComponent({
909
920
  const handleNodeDblclickEvent = (evnt, node) => {
910
921
  dispatchEvent('node-dblclick', { node }, evnt);
911
922
  };
923
+ const handleContextmenuEvent = (evnt, node) => {
924
+ const { menuConfig } = props;
925
+ const isRowCurrent = computeIsRowCurrent.value;
926
+ const menuOpts = computeMenuOpts.value;
927
+ if (menuConfig ? isEnableConf(menuOpts) : menuOpts.enabled) {
928
+ const { options, visibleMethod } = menuOpts;
929
+ if (!visibleMethod || visibleMethod({ $tree: $xeTree, options, node })) {
930
+ if (isRowCurrent) {
931
+ changeCurrentEvent(evnt, node);
932
+ }
933
+ else if (reactData.currentNode) {
934
+ reactData.currentNode = null;
935
+ }
936
+ if (VxeUI.contextMenu) {
937
+ VxeUI.contextMenu.openByEvent(evnt, {
938
+ options,
939
+ events: {
940
+ optionClick(eventParams) {
941
+ dispatchEvent('menu-click', Object.assign({ node }, eventParams), eventParams.$event);
942
+ }
943
+ }
944
+ });
945
+ }
946
+ }
947
+ }
948
+ dispatchEvent('node-menu', { node }, evnt);
949
+ };
912
950
  const handleAsyncTreeExpandChilds = (node) => {
913
951
  const checkboxOpts = computeCheckboxOpts.value;
914
952
  const { loadMethod } = props;
@@ -2284,6 +2322,9 @@ export default defineVxeComponent({
2284
2322
  },
2285
2323
  onDblclick(evnt) {
2286
2324
  handleNodeDblclickEvent(evnt, node);
2325
+ },
2326
+ onContextmenu(evnt) {
2327
+ handleContextmenuEvent(evnt, node);
2287
2328
  }
2288
2329
  };
2289
2330
  // 拖拽行事件
@@ -2540,7 +2581,7 @@ export default defineVxeComponent({
2540
2581
  recalculate();
2541
2582
  });
2542
2583
  onMounted(() => {
2543
- const { transform, drag } = props;
2584
+ const { transform, drag, menuConfig } = props;
2544
2585
  const dragOpts = computeDragOpts.value;
2545
2586
  if (drag && !transform) {
2546
2587
  errLog('vxe.error.notSupportProp', ['drag', 'transform=false', 'transform=true']);
@@ -2548,6 +2589,10 @@ export default defineVxeComponent({
2548
2589
  if (dragOpts.isCrossTreeDrag) {
2549
2590
  errLog('vxe.error.notProp', ['drag-config.isCrossTreeDrag']);
2550
2591
  }
2592
+ const VxeUIContextMenu = VxeUI.getComponent('VxeContextMenu');
2593
+ if (menuConfig && !VxeUIContextMenu) {
2594
+ errLog('vxe.error.reqComp', ['vxe-context-menu']);
2595
+ }
2551
2596
  if (props.autoResize) {
2552
2597
  const el = refElem.value;
2553
2598
  const parentEl = getParentElem();
@@ -2566,16 +2611,19 @@ export default defineVxeComponent({
2566
2611
  }
2567
2612
  globalEvents.on($xeTree, 'resize', handleGlobalResizeEvent);
2568
2613
  });
2569
- onUnmounted(() => {
2614
+ onBeforeUnmount(() => {
2570
2615
  const { resizeObserver } = internalData;
2571
2616
  if (resizeObserver) {
2572
2617
  resizeObserver.disconnect();
2573
2618
  }
2574
2619
  globalEvents.off($xeTree, 'resize');
2620
+ XEUtils.assign(reactData, createReactData());
2575
2621
  XEUtils.assign(internalData, createInternalData());
2576
2622
  });
2623
+ reactData.selectRadioKey = enNodeValue(props.checkNodeKey);
2577
2624
  loadData(props.data || []);
2578
2625
  $xeTree.renderVN = renderVN;
2626
+ provide('$xeTree', $xeTree);
2579
2627
  return $xeTree;
2580
2628
  },
2581
2629
  render() {
package/es/ui/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { VxeUI, setConfig, setIcon } from '@vxe-ui/core';
2
2
  import { dynamicApp } from '../dynamics';
3
3
  import { warnLog } from './src/log';
4
- export const version = "4.11.30";
4
+ export const version = "4.11.32";
5
5
  VxeUI.uiVersion = version;
6
6
  VxeUI.dynamicApp = dynamicApp;
7
7
  export function config(options) {
@@ -37,7 +37,8 @@ setConfig({
37
37
  },
38
38
  suffixTooltip: {
39
39
  enterable: true
40
- }
40
+ },
41
+ showDropdownIcon: true
41
42
  },
42
43
  buttonGroup: {},
43
44
  calendar: {
@@ -70,6 +71,7 @@ setConfig({
70
71
  }
71
72
  },
72
73
  collapsePane: {},
74
+ contextMenu: {},
73
75
  countdown: {},
74
76
  colorPicker: {
75
77
  type: 'rgb',
@@ -626,7 +628,10 @@ setIcon({
626
628
  SPLIT_LEFT_ACTION: iconPrefix + 'arrow-left',
627
629
  SPLIT_RIGHT_ACTION: iconPrefix + 'arrow-right',
628
630
  // backtop
629
- BACKTOP_TOP: iconPrefix + 'top'
631
+ BACKTOP_TOP: iconPrefix + 'top',
632
+ // context-menu
633
+ CONTEXT_MENU_OPTION_LOADING: iconPrefix + 'spinner roll',
634
+ CONTEXT_MENU_CHILDREN: iconPrefix + 'arrow-right'
630
635
  });
631
636
  export * from '@vxe-ui/core';
632
637
  export default VxeUI;
package/es/ui/src/log.js CHANGED
@@ -1,4 +1,4 @@
1
1
  import { log } from '@vxe-ui/core';
2
- const version = `ui v${"4.11.30"}`;
2
+ const version = `ui v${"4.11.32"}`;
3
3
  export const warnLog = log.create('warn', version);
4
4
  export const errLog = log.create('error', version);
@@ -0,0 +1,3 @@
1
+ import VxeContextMenu from '../context-menu';
2
+ export * from '../context-menu';
3
+ export default VxeContextMenu;
@@ -0,0 +1,112 @@
1
+ .vxe-context-menu {
2
+ display: none;
3
+ top: 0;
4
+ left: 0;
5
+ -webkit-user-select: none;
6
+ -moz-user-select: none;
7
+ user-select: none;
8
+ }
9
+ .vxe-context-menu.is--visible {
10
+ display: block;
11
+ }
12
+ .vxe-context-menu.is--fixed {
13
+ position: fixed;
14
+ }
15
+ .vxe-context-menu.is--absolute {
16
+ position: absolute;
17
+ }
18
+ .vxe-context-menu.cp--left .vxe-context-menu--children-wrapper {
19
+ left: calc(-100% + 2px);
20
+ }
21
+ .vxe-context-menu.cp--right .vxe-context-menu--children-wrapper {
22
+ left: calc(100% - 2px);
23
+ }
24
+
25
+ .vxe-context-menu--group-wrapper {
26
+ border-top: 1px solid var(--vxe-ui-base-popup-border-color);
27
+ }
28
+ .vxe-context-menu--group-wrapper:first-child {
29
+ border: 0;
30
+ }
31
+
32
+ .vxe-context-menu--wrapper,
33
+ .vxe-context-menu--children-wrapper {
34
+ padding: 0;
35
+ color: var(--vxe-ui-font-color);
36
+ font-family: var(--vxe-ui-font-family);
37
+ border: 1px solid var(--vxe-ui-base-popup-border-color);
38
+ background-color: var(--vxe-ui-layout-background-color);
39
+ border-radius: var(--vxe-ui-base-border-radius);
40
+ box-shadow: 0 0 12px 0 rgba(0, 0, 0, 0.3);
41
+ }
42
+
43
+ .vxe-context-menu--children-wrapper {
44
+ display: none;
45
+ position: absolute;
46
+ transform: translateY(-5px);
47
+ }
48
+
49
+ .vxe-context-menu--item-wrapper {
50
+ position: relative;
51
+ min-width: 12em;
52
+ max-width: 20em;
53
+ -webkit-user-select: none;
54
+ -moz-user-select: none;
55
+ user-select: none;
56
+ }
57
+ .vxe-context-menu--item-wrapper.is--active {
58
+ background-color: rgba(0, 0, 0, 0.1);
59
+ }
60
+
61
+ .vxe-context-menu--first-item.is--active .vxe-context-menu--children-wrapper {
62
+ display: block;
63
+ }
64
+
65
+ .vxe-context-menu--item-inner {
66
+ height: var(--vxe-ui-context-menu-option-height);
67
+ display: flex;
68
+ align-items: center;
69
+ padding: 0 0.8em;
70
+ cursor: pointer;
71
+ }
72
+ .vxe-context-menu--item-inner.is--loading {
73
+ opacity: 0.5;
74
+ cursor: progress;
75
+ }
76
+ .vxe-context-menu--item-inner.is--disabled {
77
+ color: var(--vxe-ui-font-disabled-color);
78
+ cursor: no-drop;
79
+ }
80
+
81
+ .vxe-context-menu--item-prefix {
82
+ min-width: 1em;
83
+ text-align: center;
84
+ }
85
+
86
+ .vxe-context-menu--item-prefix,
87
+ .vxe-context-menu--item-suffix {
88
+ flex-shrink: 0;
89
+ font-size: 0.9em;
90
+ }
91
+
92
+ .vxe-context-menu--item-label {
93
+ font-size: 0.9em;
94
+ padding: 0 0.5em;
95
+ flex-grow: 1;
96
+ overflow: hidden;
97
+ text-overflow: ellipsis;
98
+ white-space: nowrap;
99
+ }
100
+
101
+ .vxe-context-menu {
102
+ font-size: var(--vxe-ui-font-size-default);
103
+ }
104
+ .vxe-context-menu.size--medium {
105
+ font-size: var(--vxe-ui-font-size-medium);
106
+ }
107
+ .vxe-context-menu.size--small {
108
+ font-size: var(--vxe-ui-font-size-small);
109
+ }
110
+ .vxe-context-menu.size--mini {
111
+ font-size: var(--vxe-ui-font-size-mini);
112
+ }
@@ -0,0 +1 @@
1
+ .vxe-context-menu{display:none;top:0;left:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vxe-context-menu.is--visible{display:block}.vxe-context-menu.is--fixed{position:fixed}.vxe-context-menu.is--absolute{position:absolute}.vxe-context-menu.cp--left .vxe-context-menu--children-wrapper{left:calc(-100% + 2px)}.vxe-context-menu.cp--right .vxe-context-menu--children-wrapper{left:calc(100% - 2px)}.vxe-context-menu--group-wrapper{border-top:1px solid var(--vxe-ui-base-popup-border-color)}.vxe-context-menu--group-wrapper:first-child{border:0}.vxe-context-menu--children-wrapper,.vxe-context-menu--wrapper{padding:0;color:var(--vxe-ui-font-color);font-family:var(--vxe-ui-font-family);border:1px solid var(--vxe-ui-base-popup-border-color);background-color:var(--vxe-ui-layout-background-color);border-radius:var(--vxe-ui-base-border-radius);box-shadow:0 0 12px 0 rgba(0,0,0,.3)}.vxe-context-menu--children-wrapper{display:none;position:absolute;transform:translateY(-5px)}.vxe-context-menu--item-wrapper{position:relative;min-width:12em;max-width:20em;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vxe-context-menu--item-wrapper.is--active{background-color:rgba(0,0,0,.1)}.vxe-context-menu--first-item.is--active .vxe-context-menu--children-wrapper{display:block}.vxe-context-menu--item-inner{height:var(--vxe-ui-context-menu-option-height);display:flex;align-items:center;padding:0 .8em;cursor:pointer}.vxe-context-menu--item-inner.is--loading{opacity:.5;cursor:progress}.vxe-context-menu--item-inner.is--disabled{color:var(--vxe-ui-font-disabled-color);cursor:no-drop}.vxe-context-menu--item-prefix{min-width:1em;text-align:center}.vxe-context-menu--item-prefix,.vxe-context-menu--item-suffix{flex-shrink:0;font-size:.9em}.vxe-context-menu--item-label{font-size:.9em;padding:0 .5em;flex-grow:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vxe-context-menu{font-size:var(--vxe-ui-font-size-default)}.vxe-context-menu.size--medium{font-size:var(--vxe-ui-font-size-medium)}.vxe-context-menu.size--small{font-size:var(--vxe-ui-font-size-small)}.vxe-context-menu.size--mini{font-size:var(--vxe-ui-font-size-mini)}
@@ -243,8 +243,6 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
243
243
  (0, _vue.onBeforeUnmount)(() => {
244
244
  removeScrollEvent();
245
245
  _xeUtils.default.assign(reactData, createReactData());
246
- });
247
- (0, _vue.onUnmounted)(() => {
248
246
  _xeUtils.default.assign(internalData, createInternalData());
249
247
  });
250
248
  $xeBacktop.renderVN = renderVN;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_log=require("../../ui/src/log"),_dom=require("../../ui/src/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function createInternalData(){return{targetEl:null}}function createReactData(){return{showBtn:!1}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeBacktop",props:{target:String,size:{type:String,default:()=>(0,_ui.getConfig)().backtop.size||(0,_ui.getConfig)().size},circle:{type:Boolean,default:()=>(0,_ui.getConfig)().backtop.circle},right:{type:[String,Number],default:()=>(0,_ui.getConfig)().backtop.right},bottom:{type:[String,Number],default:()=>(0,_ui.getConfig)().backtop.bottom},status:{type:[String,Number],default:()=>(0,_ui.getConfig)().backtop.status},icon:{type:String,default:()=>(0,_ui.getConfig)().backtop.icon},showIcon:{type:Boolean,default:()=>(0,_ui.getConfig)().backtop.showIcon},content:{type:[String,Number],default:()=>(0,_ui.getConfig)().backtop.content},showContent:{type:Boolean,default:()=>(0,_ui.getConfig)().backtop.showContent},zIndex:{type:[String,Number],default:()=>(0,_ui.getConfig)().backtop.zIndex},threshold:{type:[String,Number],default:()=>(0,_ui.getConfig)().backtop.threshold},position:{type:String,default:()=>(0,_ui.getConfig)().backtop.position}},emits:["click"],setup(g,e){const{slots:p,emit:o}=e;var t=_xeUtils.default.uniqueId();const d=(0,_vue.ref)(),_=(0,_ui.useSize)(g)["computeSize"],r=createInternalData(),f=(0,_vue.reactive)(createReactData()),i={refElem:d},v=(0,_vue.computed)(()=>{var{right:e,bottom:t,zIndex:r}=g,o={};return e&&(o.right=(0,_dom.toCssUnit)(e)),t&&(o.bottom=(0,_dom.toCssUnit)(t)),r&&(o.zIndex=r),o}),a={},m={xID:t,props:g,context:e,internalData:r,reactData:f,getRefMaps:()=>i,getComputeMaps:()=>a},n=(e,t,r)=>{o(e,(0,_ui.createEvent)(r,{$backtop:m},t))},u=e=>{var t=g["threshold"],e=e.currentTarget.scrollTop;f.showBtn=e>Math.max(1,_xeUtils.default.toNumber(t))},s=()=>{var e,t=r["targetEl"];t&&0<(e=t.scrollTop)&&(requestAnimationFrame(s),e=e-Math.max(12,e/6),t.scrollTop=10<e?e:0)},c=()=>{var e=r["targetEl"];e&&e.removeEventListener("scroll",u)},l=()=>{(0,_vue.nextTick)(()=>{var e,t=g["target"];t?_xeUtils.default.isString(t)&&(t=((e=document.querySelector(t))||(0,_log.errLog)("vxe.error.errProp",["target="+t,"body"]),r)["targetEl"],t!==e)&&(c(),r.targetEl=e,t=r.targetEl)&&t.addEventListener("scroll",u,{passive:!0}):(c(),(0,_log.errLog)("vxe.error.reqProp",["target"]))})},b=e=>{s(),n("click",{},e)};t={dispatchEvent:n};Object.assign(m,t,{});return(0,_vue.watch)(()=>g.target,()=>{l()}),(0,_vue.onMounted)(()=>{l()}),(0,_vue.onBeforeUnmount)(()=>{c(),_xeUtils.default.assign(f,createReactData())}),(0,_vue.onUnmounted)(()=>{_xeUtils.default.assign(r,createInternalData())}),m.renderVN=()=>{var{circle:e,position:t,status:r,icon:o,showIcon:i,content:a,showContent:n}=g,u=f["showBtn"],s=v.value,c=_.value,l=p.default;return(0,_vue.h)("div",{ref:d,class:["vxe-backtop","fixed"===t?"is--"+t:"is--absolute",{["size--"+c]:c,["theme--"+r]:r,"is--circle":e,"is--visible":u}],style:s,onClick:b},[(0,_vue.h)("div",{class:"vxe-backtop--inner"},[l?l({}):[i?(0,_vue.h)("div",{class:"vxe-backtop--icon"},[(0,_vue.h)("i",{class:o||(0,_ui.getIcon)().BACKTOP_TOP})]):(0,_ui.renderEmptyElement)(m),n?(0,_vue.h)("div",{class:"vxe-backtop--content"},""+(a||"")):(0,_ui.renderEmptyElement)(m)]])])},m},render(){return this.renderVN()}});
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_log=require("../../ui/src/log"),_dom=require("../../ui/src/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function createInternalData(){return{targetEl:null}}function createReactData(){return{showBtn:!1}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeBacktop",props:{target:String,size:{type:String,default:()=>(0,_ui.getConfig)().backtop.size||(0,_ui.getConfig)().size},circle:{type:Boolean,default:()=>(0,_ui.getConfig)().backtop.circle},right:{type:[String,Number],default:()=>(0,_ui.getConfig)().backtop.right},bottom:{type:[String,Number],default:()=>(0,_ui.getConfig)().backtop.bottom},status:{type:[String,Number],default:()=>(0,_ui.getConfig)().backtop.status},icon:{type:String,default:()=>(0,_ui.getConfig)().backtop.icon},showIcon:{type:Boolean,default:()=>(0,_ui.getConfig)().backtop.showIcon},content:{type:[String,Number],default:()=>(0,_ui.getConfig)().backtop.content},showContent:{type:Boolean,default:()=>(0,_ui.getConfig)().backtop.showContent},zIndex:{type:[String,Number],default:()=>(0,_ui.getConfig)().backtop.zIndex},threshold:{type:[String,Number],default:()=>(0,_ui.getConfig)().backtop.threshold},position:{type:String,default:()=>(0,_ui.getConfig)().backtop.position}},emits:["click"],setup(g,e){const{slots:p,emit:o}=e;var t=_xeUtils.default.uniqueId();const d=(0,_vue.ref)(),_=(0,_ui.useSize)(g)["computeSize"],r=createInternalData(),f=(0,_vue.reactive)(createReactData()),i={refElem:d},v=(0,_vue.computed)(()=>{var{right:e,bottom:t,zIndex:r}=g,o={};return e&&(o.right=(0,_dom.toCssUnit)(e)),t&&(o.bottom=(0,_dom.toCssUnit)(t)),r&&(o.zIndex=r),o}),a={},m={xID:t,props:g,context:e,internalData:r,reactData:f,getRefMaps:()=>i,getComputeMaps:()=>a},n=(e,t,r)=>{o(e,(0,_ui.createEvent)(r,{$backtop:m},t))},u=e=>{var t=g["threshold"],e=e.currentTarget.scrollTop;f.showBtn=e>Math.max(1,_xeUtils.default.toNumber(t))},s=()=>{var e,t=r["targetEl"];t&&0<(e=t.scrollTop)&&(requestAnimationFrame(s),e=e-Math.max(12,e/6),t.scrollTop=10<e?e:0)},c=()=>{var e=r["targetEl"];e&&e.removeEventListener("scroll",u)},l=()=>{(0,_vue.nextTick)(()=>{var e,t=g["target"];t?_xeUtils.default.isString(t)&&(t=((e=document.querySelector(t))||(0,_log.errLog)("vxe.error.errProp",["target="+t,"body"]),r)["targetEl"],t!==e)&&(c(),r.targetEl=e,t=r.targetEl)&&t.addEventListener("scroll",u,{passive:!0}):(c(),(0,_log.errLog)("vxe.error.reqProp",["target"]))})},b=e=>{s(),n("click",{},e)};t={dispatchEvent:n};Object.assign(m,t,{});return(0,_vue.watch)(()=>g.target,()=>{l()}),(0,_vue.onMounted)(()=>{l()}),(0,_vue.onBeforeUnmount)(()=>{c(),_xeUtils.default.assign(f,createReactData()),_xeUtils.default.assign(r,createInternalData())}),m.renderVN=()=>{var{circle:e,position:t,status:r,icon:o,showIcon:i,content:a,showContent:n}=g,u=f["showBtn"],s=v.value,c=_.value,l=p.default;return(0,_vue.h)("div",{ref:d,class:["vxe-backtop","fixed"===t?"is--"+t:"is--absolute",{["size--"+c]:c,["theme--"+r]:r,"is--circle":e,"is--visible":u}],style:s,onClick:b},[(0,_vue.h)("div",{class:"vxe-backtop--inner"},[l?l({}):[i?(0,_vue.h)("div",{class:"vxe-backtop--icon"},[(0,_vue.h)("i",{class:o||(0,_ui.getIcon)().BACKTOP_TOP})]):(0,_ui.renderEmptyElement)(m),n?(0,_vue.h)("div",{class:"vxe-backtop--content"},""+(a||"")):(0,_ui.renderEmptyElement)(m)]])])},m},render(){return this.renderVN()}});
@@ -96,6 +96,10 @@ const VxeButtonComponent = (0, _comp.defineVxeComponent)({
96
96
  prefixTooltip: Object,
97
97
  suffixTooltip: Object,
98
98
  options: Array,
99
+ showDropdownIcon: {
100
+ type: Boolean,
101
+ default: () => (0, _ui.getConfig)().button.showDropdownIcon
102
+ },
99
103
  /**
100
104
  * 在下拉面板关闭时销毁内容
101
105
  */
@@ -120,6 +124,7 @@ const VxeButtonComponent = (0, _comp.defineVxeComponent)({
120
124
  const $xeModal = (0, _vue.inject)('$xeModal', null);
121
125
  const $xeDrawer = (0, _vue.inject)('$xeDrawer', null);
122
126
  const $xeTable = (0, _vue.inject)('$xeTable', null);
127
+ const $xeTree = (0, _vue.inject)('$xeTree', null);
123
128
  const $xeForm = (0, _vue.inject)('$xeForm', null);
124
129
  const $xeButtonGroup = (0, _vue.inject)('$xeButtonGroup', null);
125
130
  const xID = _xeUtils.default.uniqueId();
@@ -166,7 +171,7 @@ const VxeButtonComponent = (0, _comp.defineVxeComponent)({
166
171
  if (_xeUtils.default.isBoolean(globalTransfer)) {
167
172
  return globalTransfer;
168
173
  }
169
- if ($xeTable || $xeModal || $xeDrawer || $xeForm) {
174
+ if ($xeTable || $xeTree || $xeModal || $xeDrawer || $xeForm) {
170
175
  return true;
171
176
  }
172
177
  }
@@ -600,7 +605,8 @@ const VxeButtonComponent = (0, _comp.defineVxeComponent)({
600
605
  type,
601
606
  destroyOnClose,
602
607
  name,
603
- loading
608
+ loading,
609
+ showDropdownIcon
604
610
  } = props;
605
611
  const {
606
612
  initialized,
@@ -660,9 +666,9 @@ const VxeButtonComponent = (0, _comp.defineVxeComponent)({
660
666
  onClick: clickTargetEvent
661
667
  }, btnOns), {
662
668
  default() {
663
- return renderContent().concat([(0, _vue.h)('i', {
669
+ return renderContent().concat(showDropdownIcon ? [(0, _vue.h)('i', {
664
670
  class: `vxe-button--dropdown-arrow ${(0, _ui.getIcon)().BUTTON_DROPDOWN}`
665
- })]);
671
+ })] : []);
666
672
  }
667
673
  }) : (0, _vue.h)('button', Object.assign({
668
674
  ref: refButton,
@@ -681,9 +687,9 @@ const VxeButtonComponent = (0, _comp.defineVxeComponent)({
681
687
  type: isFormBtn ? type : 'button',
682
688
  disabled: btnDisabled || loading,
683
689
  onClick: clickTargetEvent
684
- }, btnOns), renderContent().concat([(0, _vue.h)('i', {
690
+ }, btnOns), renderContent().concat(showDropdownIcon ? [(0, _vue.h)('i', {
685
691
  class: `vxe-button--dropdown-arrow ${(0, _ui.getIcon)().BUTTON_DROPDOWN}`
686
- })])), (0, _vue.h)(_vue.Teleport, {
692
+ })] : [])), (0, _vue.h)(_vue.Teleport, {
687
693
  to: 'body',
688
694
  disabled: btnTransfer ? !initialized : true
689
695
  }, [(0, _vue.h)('div', Object.assign({
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log"),_tooltip=_interopRequireDefault(require("../../tooltip/src/tooltip"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const VxeButtonComponent=(0,_comp.defineVxeComponent)({name:"VxeButton",props:{type:String,mode:String,className:[String,Function],popupClassName:[String,Function],size:{type:String,default:()=>(0,_ui.getConfig)().button.size||(0,_ui.getConfig)().size},zIndex:Number,name:[String,Number],routerLink:Object,permissionCode:[String,Number],content:String,placement:String,status:String,title:String,icon:String,iconRender:Object,prefixIcon:String,prefixRender:Object,suffixIcon:String,suffixRender:Object,round:Boolean,circle:Boolean,disabled:Boolean,loading:Boolean,trigger:{type:String,default:()=>(0,_ui.getConfig)().button.trigger},align:String,prefixTooltip:Object,suffixTooltip:Object,options:Array,destroyOnClose:{type:Boolean,default:()=>(0,_ui.getConfig)().button.destroyOnClose},transfer:{type:Boolean,default:null}},emits:["click","mouseenter","mouseleave","dropdown-click","dropdownClick"],setup(O,e){const{slots:N,emit:i}=e,n=(0,_vue.inject)("$xeModal",null),o=(0,_vue.inject)("$xeDrawer",null),u=(0,_vue.inject)("$xeTable",null),s=(0,_vue.inject)("$xeForm",null),l=(0,_vue.inject)("$xeButtonGroup",null);var t=_xeUtils.default.uniqueId();const P=(0,_ui.useSize)(O)["computeSize"],w=(0,_ui.usePermission)(O)["computePermissionInfo"],I=(0,_vue.reactive)({initialized:!1,visiblePanel:!1,isAniVisible:!1,isActivated:!1,panelIndex:0,panelStyle:{},panelPlacement:""}),a={showTime:void 0,tooltipTimeout:void 0},S=(0,_vue.ref)(),z=(0,_vue.ref)(),B=(0,_vue.ref)(),r={refElem:S},j={xID:t,props:O,context:e,reactData:I,internalData:a,getRefMaps:()=>r};const V=(0,_vue.computed)(()=>{var e=O["transfer"];if(null===e){var t=(0,_ui.getConfig)().button.transfer;if(_xeUtils.default.isBoolean(t))return t;if(u||n||o||s)return!0}return e}),$=(0,_vue.computed)(()=>{var e=O["disabled"],t=w.value;return e||t.disabled}),E=(0,_vue.computed)(()=>{var e=O["type"];return!!e&&-1<["submit","reset","button"].indexOf(e)}),M=(0,_vue.computed)(()=>{var{type:e,mode:t}=O;return"text"===t||"text"===e||l&&"text"===l.props.mode?"text":"button"}),U=(0,_vue.computed)(()=>{var e=O["status"];return e||(l?l.props.status:"")}),q=(0,_vue.computed)(()=>{var e=O["align"];return e||!!l&&l.props.align}),W=(0,_vue.computed)(()=>{var e=O["round"];return e||!!l&&l.props.round}),Z=(0,_vue.computed)(()=>{var e=O["circle"];return e||!!l&&l.props.circle}),J=(0,_vue.computed)(()=>{var e=O["options"];return e?e.filter(e=>{e=e.permissionCode;return!e||_ui.permission.checkVisible(e)}):[]}),b=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().button.prefixTooltip,O.prefixTooltip)),_=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().button.suffixTooltip,O.suffixTooltip)),d=()=>{var e=O["zIndex"];e?I.panelIndex=e:I.panelIndex<(0,_utils.getLastZIndex)()&&(I.panelIndex=(0,_utils.nextZIndex)())},v=()=>{const n=O["placement"],i=I["panelIndex"],o=z.value,u=B.value,s=V.value;var e=()=>{var e=(0,_dom.updatePanelPlacement)(o,u,{placement:n,teleportTo:s}),t=Object.assign(e.style,{zIndex:i});I.panelStyle=t,I.panelPlacement=e.placement};return e(),(0,_vue.nextTick)().then(e)},A=e=>{l&&l.handleClick({name:O.name},e),H("click",{$event:e},e)},K=e=>{0===e.button&&e.stopPropagation()},Q=e=>{var t=e.currentTarget;const n=B.value;var{flag:t,targetElem:i}=(0,_dom.getEventTargetNode)(e,t,"vxe-button");t&&(n&&(n.dataset.active="N"),I.visiblePanel=!1,setTimeout(()=>{n&&"Y"===n.dataset.active||(I.isAniVisible=!1)},350),H("dropdown-click",{name:i.getAttribute("name"),option:null},e))},D=()=>{const e=B.value;e&&(e.dataset.active="Y",I.isAniVisible=!0,setTimeout(()=>{"Y"===e.dataset.active&&(I.visiblePanel=!0,d(),v(),setTimeout(()=>{I.visiblePanel&&v()},50))},20))},X=e=>{var t=O["loading"];$.value||t||(c(),R(e))},ee=e=>{Y(),F(e)},R=e=>{H("mouseenter",{},e)},F=e=>{H("mouseleave",{},e)},L=e=>{var{loading:t,trigger:n}=O;$.value||t||("click"===n&&(I.visiblePanel?Y:c)(),A(e))},c=()=>{var e=O["trigger"];const t=B.value;return t&&(t.dataset.active="Y",I.initialized||(I.initialized=!0),a.showTime=setTimeout(()=>{"Y"===t.dataset.active?D():I.isAniVisible=!1},"click"===e?50:250)),(0,_vue.nextTick)()},Y=()=>{const e=B.value;return clearTimeout(a.showTime),e?(e.dataset.active="N",setTimeout(()=>{"Y"!==e.dataset.active&&(I.visiblePanel=!1,setTimeout(()=>{"Y"!==e.dataset.active&&(I.isAniVisible=!1)},350))},100)):(I.isAniVisible=!1,I.visiblePanel=!1),(0,_vue.nextTick)()},te=()=>{Y()},m=(e,t)=>(0,_vue.h)(_tooltip.default,{useHTML:e.useHTML,content:e.content,enterable:e.enterable,theme:e.theme},{default(){return(0,_vue.h)("span",{class:`vxe-button--item vxe-button--tooltip-${t}-icon`},[(0,_vue.h)("i",{class:e.icon||(0,_ui.getIcon)().BUTTON_TOOLTIP_ICON})])}}),G=()=>{var{content:e,suffixIcon:t,loading:n,prefixTooltip:i,suffixTooltip:o,suffixRender:u}=O,s=O.prefixIcon||O.icon,l=O.prefixRender||O.iconRender,a=b.value,r=_.value,v=N.prefix||N.icon,c=N.suffix,d=N.default,p=[];return i&&p.push(m(a,"prefix")),n?p.push((0,_vue.h)("i",{class:["vxe-button--item vxe-button--loading-icon",(0,_ui.getIcon)().BUTTON_LOADING]})):v?p.push((0,_vue.h)("span",{class:"vxe-button--item vxe-button--custom-prefix-icon"},v({}))):l?(a=(i=_ui.renderer.get(l.name))?i.renderButtonPrefix:null,p.push((0,_vue.h)("span",{class:["vxe-button--item vxe-button--custom-prefix-icon"]},a?(0,_vn.getSlotVNs)(a(l,{$button:j})):[]))):s&&p.push((0,_vue.h)("i",{class:["vxe-button--item vxe-button--prefix-icon",s]})),d?p.push((0,_vue.h)("span",{class:"vxe-button--item vxe-button--content"},d({}))):e&&p.push((0,_vue.h)("span",{class:"vxe-button--item vxe-button--content"},(0,_utils.getFuncText)(e))),c?p.push((0,_vue.h)("span",{class:"vxe-button--item vxe-button--custom-suffix-icon"},c({}))):u?(v=(n=_ui.renderer.get(u.name))?n.renderButtonSuffix:null,p.push((0,_vue.h)("span",{class:["vxe-button--item vxe-button--custom-suffix-icon"]},v?(0,_vn.getSlotVNs)(v(u,{$button:j})):[]))):t&&p.push((0,_vue.h)("i",{class:["vxe-button--item vxe-button--suffix-icon",t]})),o&&p.push(m(r,"suffix")),p},H=(e,t,n)=>{i(e,(0,_ui.createEvent)(n,{$button:j},t))},p=(t={dispatchEvent:H,openPanel:c,closePanel:Y,focus(){var e=z.value;return e&&e.focus(),(0,_vue.nextTick)()},blur(){var e=z.value;return e&&e.blur(),(0,_vue.nextTick)()}},e=>{var t=B.value;I.visiblePanel&&!(0,_dom.getEventTargetNode)(e,t).flag&&Y()}),x=e=>{var t,n=$.value,i=I["visiblePanel"];n||(n=S.value,t=B.value,I.isActivated=(0,_dom.getEventTargetNode)(e,n).flag||(0,_dom.getEventTargetNode)(e,t).flag,i&&!I.isActivated&&Y())},f=()=>{var e=I["visiblePanel"];e&&v()};Object.assign(j,t);return j.renderVN=()=>{var{className:e,popupClassName:t,trigger:n,title:i,routerLink:o,type:u,destroyOnClose:s,name:l,loading:a}=O,{initialized:r,isAniVisible:v,visiblePanel:c}=I,d=E.value;const p=M.value;var m=U.value;const b=W.value;var _=q.value;const x=Z.value;var f,g=V.value,h=$.value,T=w.value,y=J.value,C=P.value,k=N.dropdowns;return T.visible?k||y.length?(T={},f={},"hover"===n&&(T.onMouseenter=X,T.onMouseleave=ee,f.onMouseenter=D,f.onMouseleave=te),(0,_vue.h)("div",{ref:S,class:["vxe-button--dropdown",e?_xeUtils.default.isFunction(e)?e({$button:j}):e:"",{["size--"+C]:C,"is--active":c}]},[o?(0,_vue.h)((0,_vue.resolveComponent)("router-link"),Object.assign({ref:z,class:["vxe-button","vxe-button--link","type--"+p,_?"align--"+_:"",e?_xeUtils.default.isFunction(e)?e({$button:j}):e:"",{["size--"+C]:C,["theme--"+m]:m,"is--round":b,"is--circle":x,"is--disabled":h||a,"is--loading":a}],title:i,name:l,type:d?u:"button",disabled:h||a,to:o,onClick:L},T),{default(){return G().concat([(0,_vue.h)("i",{class:"vxe-button--dropdown-arrow "+(0,_ui.getIcon)().BUTTON_DROPDOWN})])}}):(0,_vue.h)("button",Object.assign({ref:z,class:["vxe-button","type--"+p,_?"align--"+_:"",e?_xeUtils.default.isFunction(e)?e({$button:j}):e:"",{["size--"+C]:C,["theme--"+m]:m,"is--round":b,"is--circle":x,"is--disabled":h||a,"is--loading":a}],title:i,name:l,type:d?u:"button",disabled:h||a,onClick:L},T),G().concat([(0,_vue.h)("i",{class:"vxe-button--dropdown-arrow "+(0,_ui.getIcon)().BUTTON_DROPDOWN})])),(0,_vue.h)(_vue.Teleport,{to:"body",disabled:!g||!r},[(0,_vue.h)("div",Object.assign({ref:B,class:["vxe-button--dropdown-panel",t?_xeUtils.default.isFunction(t)?t({$button:j}):t:"",{["size--"+C]:C,"is--transfer":g,"ani--leave":v,"ani--enter":c}],placement:I.panelPlacement,style:I.panelStyle},f),r&&(c||v)?[k?(0,_vue.h)("div",{class:"vxe-button--dropdown-wrapper",onMousedown:K,onClick:Q},r&&(!s||c||v)?k({}):[]):(0,_vue.h)("div",{class:"vxe-button--dropdown-wrapper"},r&&(!s||c||v)?y.map((i,e)=>(0,_vue.h)(VxeButtonComponent,{key:e,type:i.type,mode:i.mode||p,className:i.className,name:i.name,routerLink:i.routerLink,permissionCode:i.permissionCode,title:i.title,content:i.content,status:i.status,icon:i.icon,round:_xeUtils.default.isBoolean(i.round)?i.round:"text"!==p&&b,circle:_xeUtils.default.isBoolean(i.circle)?i.circle:"text"!==p&&x,disabled:i.disabled,loading:i.loading,align:i.align,onClick(e){var t=e,n=i;t=e.$event,Y(),H("dropdown-click",{name:n.name,option:n},t)}})):[])]:[])])])):o?(0,_vue.h)((0,_vue.resolveComponent)("router-link"),{ref:z,class:["vxe-button","vxe-button--link","type--"+p,_?"align--"+_:"",e?_xeUtils.default.isFunction(e)?e({$button:j}):e:"",{["size--"+C]:C,["theme--"+m]:m,"is--round":b,"is--circle":x,"is--disabled":h||a,"is--loading":a}],title:i,name:l,type:d?u:"button",disabled:h||a,to:o,onClick:A,onMouseenter:R,onMouseleave:F},{default(){return G()}}):(0,_vue.h)("button",{ref:z,class:["vxe-button","type--"+p,_?"align--"+_:"",e?_xeUtils.default.isFunction(e)?e({$button:j}):e:"",{["size--"+C]:C,["theme--"+m]:m,"is--round":b,"is--circle":x,"is--disabled":h||a,"is--loading":a}],title:i,name:l,type:d?u:"button",disabled:h||a,onClick:A,onMouseenter:R,onMouseleave:F},G()):(0,_ui.renderEmptyElement)(j)},(0,_vue.onMounted)(()=>{"text"===O.type&&(0,_log.warnLog)("vxe.error.delProp",["[button] type=text","mode=text"]),_ui.globalEvents.on(j,"mousewheel",p),_ui.globalEvents.on(j,"mousedown",x),_ui.globalEvents.on(j,"resize",f)}),(0,_vue.onUnmounted)(()=>{_ui.globalEvents.off(j,"mousewheel"),_ui.globalEvents.off(j,"mousedown"),_ui.globalEvents.off(j,"resize")}),j},render(){return this.renderVN()}});var _default=exports.default=VxeButtonComponent;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log"),_tooltip=_interopRequireDefault(require("../../tooltip/src/tooltip"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const VxeButtonComponent=(0,_comp.defineVxeComponent)({name:"VxeButton",props:{type:String,mode:String,className:[String,Function],popupClassName:[String,Function],size:{type:String,default:()=>(0,_ui.getConfig)().button.size||(0,_ui.getConfig)().size},zIndex:Number,name:[String,Number],routerLink:Object,permissionCode:[String,Number],content:String,placement:String,status:String,title:String,icon:String,iconRender:Object,prefixIcon:String,prefixRender:Object,suffixIcon:String,suffixRender:Object,round:Boolean,circle:Boolean,disabled:Boolean,loading:Boolean,trigger:{type:String,default:()=>(0,_ui.getConfig)().button.trigger},align:String,prefixTooltip:Object,suffixTooltip:Object,options:Array,showDropdownIcon:{type:Boolean,default:()=>(0,_ui.getConfig)().button.showDropdownIcon},destroyOnClose:{type:Boolean,default:()=>(0,_ui.getConfig)().button.destroyOnClose},transfer:{type:Boolean,default:null}},emits:["click","mouseenter","mouseleave","dropdown-click","dropdownClick"],setup(O,e){const{slots:I,emit:i}=e,n=(0,_vue.inject)("$xeModal",null),o=(0,_vue.inject)("$xeDrawer",null),u=(0,_vue.inject)("$xeTable",null),s=(0,_vue.inject)("$xeTree",null),l=(0,_vue.inject)("$xeForm",null),a=(0,_vue.inject)("$xeButtonGroup",null);var t=_xeUtils.default.uniqueId();const N=(0,_ui.useSize)(O)["computeSize"],P=(0,_ui.usePermission)(O)["computePermissionInfo"],S=(0,_vue.reactive)({initialized:!1,visiblePanel:!1,isAniVisible:!1,isActivated:!1,panelIndex:0,panelStyle:{},panelPlacement:""}),r={showTime:void 0,tooltipTimeout:void 0},B=(0,_vue.ref)(),j=(0,_vue.ref)(),z=(0,_vue.ref)(),c={refElem:B},$={xID:t,props:O,context:e,reactData:S,internalData:r,getRefMaps:()=>c};const V=(0,_vue.computed)(()=>{var e=O["transfer"];if(null===e){var t=(0,_ui.getConfig)().button.transfer;if(_xeUtils.default.isBoolean(t))return t;if(u||s||n||o||l)return!0}return e}),E=(0,_vue.computed)(()=>{var e=O["disabled"],t=P.value;return e||t.disabled}),M=(0,_vue.computed)(()=>{var e=O["type"];return!!e&&-1<["submit","reset","button"].indexOf(e)}),U=(0,_vue.computed)(()=>{var{type:e,mode:t}=O;return"text"===t||"text"===e||a&&"text"===a.props.mode?"text":"button"}),D=(0,_vue.computed)(()=>{var e=O["status"];return e||(a?a.props.status:"")}),W=(0,_vue.computed)(()=>{var e=O["align"];return e||!!a&&a.props.align}),Z=(0,_vue.computed)(()=>{var e=O["round"];return e||!!a&&a.props.round}),J=(0,_vue.computed)(()=>{var e=O["circle"];return e||!!a&&a.props.circle}),K=(0,_vue.computed)(()=>{var e=O["options"];return e?e.filter(e=>{e=e.permissionCode;return!e||_ui.permission.checkVisible(e)}):[]}),_=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().button.prefixTooltip,O.prefixTooltip)),b=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().button.suffixTooltip,O.suffixTooltip)),p=()=>{var e=O["zIndex"];e?S.panelIndex=e:S.panelIndex<(0,_utils.getLastZIndex)()&&(S.panelIndex=(0,_utils.nextZIndex)())},v=()=>{const n=O["placement"],i=S["panelIndex"],o=j.value,u=z.value,s=V.value;var e=()=>{var e=(0,_dom.updatePanelPlacement)(o,u,{placement:n,teleportTo:s}),t=Object.assign(e.style,{zIndex:i});S.panelStyle=t,S.panelPlacement=e.placement};return e(),(0,_vue.nextTick)().then(e)},q=e=>{a&&a.handleClick({name:O.name},e),H("click",{$event:e},e)},Q=e=>{0===e.button&&e.stopPropagation()},X=e=>{var t=e.currentTarget;const n=z.value;var{flag:t,targetElem:i}=(0,_dom.getEventTargetNode)(e,t,"vxe-button");t&&(n&&(n.dataset.active="N"),S.visiblePanel=!1,setTimeout(()=>{n&&"Y"===n.dataset.active||(S.isAniVisible=!1)},350),H("dropdown-click",{name:i.getAttribute("name"),option:null},e))},A=()=>{const e=z.value;e&&(e.dataset.active="Y",S.isAniVisible=!0,setTimeout(()=>{"Y"===e.dataset.active&&(S.visiblePanel=!0,p(),v(),setTimeout(()=>{S.visiblePanel&&v()},50))},20))},ee=e=>{var t=O["loading"];E.value||t||(d(),R(e))},te=e=>{Y(),F(e)},R=e=>{H("mouseenter",{},e)},F=e=>{H("mouseleave",{},e)},L=e=>{var{loading:t,trigger:n}=O;E.value||t||("click"===n&&(S.visiblePanel?Y:d)(),q(e))},d=()=>{var e=O["trigger"];const t=z.value;return t&&(t.dataset.active="Y",S.initialized||(S.initialized=!0),r.showTime=setTimeout(()=>{"Y"===t.dataset.active?A():S.isAniVisible=!1},"click"===e?50:250)),(0,_vue.nextTick)()},Y=()=>{const e=z.value;return clearTimeout(r.showTime),e?(e.dataset.active="N",setTimeout(()=>{"Y"!==e.dataset.active&&(S.visiblePanel=!1,setTimeout(()=>{"Y"!==e.dataset.active&&(S.isAniVisible=!1)},350))},100)):(S.isAniVisible=!1,S.visiblePanel=!1),(0,_vue.nextTick)()},ne=()=>{Y()},m=(e,t)=>(0,_vue.h)(_tooltip.default,{useHTML:e.useHTML,content:e.content,enterable:e.enterable,theme:e.theme},{default(){return(0,_vue.h)("span",{class:`vxe-button--item vxe-button--tooltip-${t}-icon`},[(0,_vue.h)("i",{class:e.icon||(0,_ui.getIcon)().BUTTON_TOOLTIP_ICON})])}}),G=()=>{var{content:e,suffixIcon:t,loading:n,prefixTooltip:i,suffixTooltip:o,suffixRender:u}=O,s=O.prefixIcon||O.icon,l=O.prefixRender||O.iconRender,a=_.value,r=b.value,c=I.prefix||I.icon,v=I.suffix,d=I.default,p=[];return i&&p.push(m(a,"prefix")),n?p.push((0,_vue.h)("i",{class:["vxe-button--item vxe-button--loading-icon",(0,_ui.getIcon)().BUTTON_LOADING]})):c?p.push((0,_vue.h)("span",{class:"vxe-button--item vxe-button--custom-prefix-icon"},c({}))):l?(a=(i=_ui.renderer.get(l.name))?i.renderButtonPrefix:null,p.push((0,_vue.h)("span",{class:["vxe-button--item vxe-button--custom-prefix-icon"]},a?(0,_vn.getSlotVNs)(a(l,{$button:$})):[]))):s&&p.push((0,_vue.h)("i",{class:["vxe-button--item vxe-button--prefix-icon",s]})),d?p.push((0,_vue.h)("span",{class:"vxe-button--item vxe-button--content"},d({}))):e&&p.push((0,_vue.h)("span",{class:"vxe-button--item vxe-button--content"},(0,_utils.getFuncText)(e))),v?p.push((0,_vue.h)("span",{class:"vxe-button--item vxe-button--custom-suffix-icon"},v({}))):u?(c=(n=_ui.renderer.get(u.name))?n.renderButtonSuffix:null,p.push((0,_vue.h)("span",{class:["vxe-button--item vxe-button--custom-suffix-icon"]},c?(0,_vn.getSlotVNs)(c(u,{$button:$})):[]))):t&&p.push((0,_vue.h)("i",{class:["vxe-button--item vxe-button--suffix-icon",t]})),o&&p.push(m(r,"suffix")),p},H=(e,t,n)=>{i(e,(0,_ui.createEvent)(n,{$button:$},t))},x=(t={dispatchEvent:H,openPanel:d,closePanel:Y,focus(){var e=j.value;return e&&e.focus(),(0,_vue.nextTick)()},blur(){var e=j.value;return e&&e.blur(),(0,_vue.nextTick)()}},e=>{var t=z.value;S.visiblePanel&&!(0,_dom.getEventTargetNode)(e,t).flag&&Y()}),f=e=>{var t,n=E.value,i=S["visiblePanel"];n||(n=B.value,t=z.value,S.isActivated=(0,_dom.getEventTargetNode)(e,n).flag||(0,_dom.getEventTargetNode)(e,t).flag,i&&!S.isActivated&&Y())},g=()=>{var e=S["visiblePanel"];e&&v()};Object.assign($,t);return $.renderVN=()=>{const{className:e,popupClassName:t,trigger:n,title:i,routerLink:o,type:u,destroyOnClose:s,name:l,loading:a,showDropdownIcon:r}=O;var{initialized:c,isAniVisible:v,visiblePanel:d}=S,p=M.value;const m=U.value;var _=D.value;const b=Z.value;var x=W.value;const f=J.value;var g,h=V.value,T=E.value,y=P.value,C=K.value,w=N.value,k=I.dropdowns;return y.visible?k||C.length?(y={},g={},"hover"===n&&(y.onMouseenter=ee,y.onMouseleave=te,g.onMouseenter=A,g.onMouseleave=ne),(0,_vue.h)("div",{ref:B,class:["vxe-button--dropdown",e?_xeUtils.default.isFunction(e)?e({$button:$}):e:"",{["size--"+w]:w,"is--active":d}]},[o?(0,_vue.h)((0,_vue.resolveComponent)("router-link"),Object.assign({ref:j,class:["vxe-button","vxe-button--link","type--"+m,x?"align--"+x:"",e?_xeUtils.default.isFunction(e)?e({$button:$}):e:"",{["size--"+w]:w,["theme--"+_]:_,"is--round":b,"is--circle":f,"is--disabled":T||a,"is--loading":a}],title:i,name:l,type:p?u:"button",disabled:T||a,to:o,onClick:L},y),{default(){return G().concat(r?[(0,_vue.h)("i",{class:"vxe-button--dropdown-arrow "+(0,_ui.getIcon)().BUTTON_DROPDOWN})]:[])}}):(0,_vue.h)("button",Object.assign({ref:j,class:["vxe-button","type--"+m,x?"align--"+x:"",e?_xeUtils.default.isFunction(e)?e({$button:$}):e:"",{["size--"+w]:w,["theme--"+_]:_,"is--round":b,"is--circle":f,"is--disabled":T||a,"is--loading":a}],title:i,name:l,type:p?u:"button",disabled:T||a,onClick:L},y),G().concat(r?[(0,_vue.h)("i",{class:"vxe-button--dropdown-arrow "+(0,_ui.getIcon)().BUTTON_DROPDOWN})]:[])),(0,_vue.h)(_vue.Teleport,{to:"body",disabled:!h||!c},[(0,_vue.h)("div",Object.assign({ref:z,class:["vxe-button--dropdown-panel",t?_xeUtils.default.isFunction(t)?t({$button:$}):t:"",{["size--"+w]:w,"is--transfer":h,"ani--leave":v,"ani--enter":d}],placement:S.panelPlacement,style:S.panelStyle},g),c&&(d||v)?[k?(0,_vue.h)("div",{class:"vxe-button--dropdown-wrapper",onMousedown:Q,onClick:X},c&&(!s||d||v)?k({}):[]):(0,_vue.h)("div",{class:"vxe-button--dropdown-wrapper"},c&&(!s||d||v)?C.map((i,e)=>(0,_vue.h)(VxeButtonComponent,{key:e,type:i.type,mode:i.mode||m,className:i.className,name:i.name,routerLink:i.routerLink,permissionCode:i.permissionCode,title:i.title,content:i.content,status:i.status,icon:i.icon,round:_xeUtils.default.isBoolean(i.round)?i.round:"text"!==m&&b,circle:_xeUtils.default.isBoolean(i.circle)?i.circle:"text"!==m&&f,disabled:i.disabled,loading:i.loading,align:i.align,onClick(e){var t=e,n=i;t=e.$event,Y(),H("dropdown-click",{name:n.name,option:n},t)}})):[])]:[])])])):o?(0,_vue.h)((0,_vue.resolveComponent)("router-link"),{ref:j,class:["vxe-button","vxe-button--link","type--"+m,x?"align--"+x:"",e?_xeUtils.default.isFunction(e)?e({$button:$}):e:"",{["size--"+w]:w,["theme--"+_]:_,"is--round":b,"is--circle":f,"is--disabled":T||a,"is--loading":a}],title:i,name:l,type:p?u:"button",disabled:T||a,to:o,onClick:q,onMouseenter:R,onMouseleave:F},{default(){return G()}}):(0,_vue.h)("button",{ref:j,class:["vxe-button","type--"+m,x?"align--"+x:"",e?_xeUtils.default.isFunction(e)?e({$button:$}):e:"",{["size--"+w]:w,["theme--"+_]:_,"is--round":b,"is--circle":f,"is--disabled":T||a,"is--loading":a}],title:i,name:l,type:p?u:"button",disabled:T||a,onClick:q,onMouseenter:R,onMouseleave:F},G()):(0,_ui.renderEmptyElement)($)},(0,_vue.onMounted)(()=>{"text"===O.type&&(0,_log.warnLog)("vxe.error.delProp",["[button] type=text","mode=text"]),_ui.globalEvents.on($,"mousewheel",x),_ui.globalEvents.on($,"mousedown",f),_ui.globalEvents.on($,"resize",g)}),(0,_vue.onUnmounted)(()=>{_ui.globalEvents.off($,"mousewheel"),_ui.globalEvents.off($,"mousedown"),_ui.globalEvents.off($,"resize")}),$},render(){return this.renderVN()}});var _default=exports.default=VxeButtonComponent;
package/lib/components.js CHANGED
@@ -293,6 +293,18 @@ Object.keys(_colorPicker).forEach(function (key) {
293
293
  }
294
294
  });
295
295
  });
296
+ var _contextMenu = _interopRequireWildcard(require("./context-menu"));
297
+ Object.keys(_contextMenu).forEach(function (key) {
298
+ if (key === "default" || key === "__esModule") return;
299
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
300
+ if (key in exports && exports[key] === _contextMenu[key]) return;
301
+ Object.defineProperty(exports, key, {
302
+ enumerable: true,
303
+ get: function () {
304
+ return _contextMenu[key];
305
+ }
306
+ });
307
+ });
296
308
  var _countdown = _interopRequireWildcard(require("./countdown"));
297
309
  Object.keys(_countdown).forEach(function (key) {
298
310
  if (key === "default" || key === "__esModule") return;
@@ -1096,7 +1108,7 @@ const {
1096
1108
  setTheme,
1097
1109
  setConfig
1098
1110
  } = _ui.VxeUI;
1099
- const components = [_alert.default, _anchor.default, _anchorLink.default, _avatar.default, _backtop.default, _badge.default, _breadcrumb.default, _breadcrumbItem.default, _button.default, _buttonGroup.default, _calendar.default, _card.default, _carousel.default, _carouselItem.default, _cascader.default, _checkbox.default, _checkboxButton.default, _checkboxGroup.default, _col.default, _collapse.default, _collapsePane.default, _colorPicker.default, _countdown.default, _datePanel.default, _datePicker.default, _dateRangePicker.default, _drawer.default, _empty.default, _form.default, _formGather.default, _formGroup.default, _formItem.default, _icon.default, _iconPicker.default, _image.default, _imageGroup.default, _imagePreview.default, _input.default, _layoutAside.default, _layoutBody.default, _layoutContainer.default, _layoutFooter.default, _layoutHeader.default, _link.default, _list.default, _loading.default, _menu.default, _modal.default, _noticeBar.default, _numberInput.default, _optgroup.default, _option.default, _pager.default, _passwordInput.default, _printPageBreak.default, _print.default, _pulldown.default, _radio.default, _radioButton.default, _radioGroup.default, _rate.default, _result.default, _row.default, _segmented.default, _select.default, _splitter.default, _splitterPanel.default, _split.default, _splitPane.default, _slider.default, _steps.default, _switch.default, _tabPane.default, _tableSelect.default, _tabs.default, _tag.default, _textEllipsis.default, _text.default, _textarea.default, _timeline.default, _timelineItem.default, _tip.default, _tooltip.default, _tour.default, _tree.default, _treeSelect.default, _upload.default, _watermark.default];
1111
+ const components = [_alert.default, _anchor.default, _anchorLink.default, _avatar.default, _backtop.default, _badge.default, _breadcrumb.default, _breadcrumbItem.default, _button.default, _buttonGroup.default, _calendar.default, _card.default, _carousel.default, _carouselItem.default, _cascader.default, _checkbox.default, _checkboxButton.default, _checkboxGroup.default, _col.default, _collapse.default, _collapsePane.default, _colorPicker.default, _contextMenu.default, _countdown.default, _datePanel.default, _datePicker.default, _dateRangePicker.default, _drawer.default, _empty.default, _form.default, _formGather.default, _formGroup.default, _formItem.default, _icon.default, _iconPicker.default, _image.default, _imageGroup.default, _imagePreview.default, _input.default, _layoutAside.default, _layoutBody.default, _layoutContainer.default, _layoutFooter.default, _layoutHeader.default, _link.default, _list.default, _loading.default, _menu.default, _modal.default, _noticeBar.default, _numberInput.default, _optgroup.default, _option.default, _pager.default, _passwordInput.default, _printPageBreak.default, _print.default, _pulldown.default, _radio.default, _radioButton.default, _radioGroup.default, _rate.default, _result.default, _row.default, _segmented.default, _select.default, _splitter.default, _splitterPanel.default, _split.default, _splitPane.default, _slider.default, _steps.default, _switch.default, _tabPane.default, _tableSelect.default, _tabs.default, _tag.default, _textEllipsis.default, _text.default, _textarea.default, _timeline.default, _timelineItem.default, _tip.default, _tooltip.default, _tour.default, _tree.default, _treeSelect.default, _upload.default, _watermark.default];
1100
1112
  function install(app, options) {
1101
1113
  setConfig(options);
1102
1114
  components.forEach(component => app.use(component));