vxe-pc-ui 4.1.19 → 4.1.21

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 (259) hide show
  1. package/README.md +83 -2
  2. package/es/anchor/src/anchor-link.js +1 -1
  3. package/es/anchor/src/anchor.js +1 -1
  4. package/es/breadcrumb/src/breadcrumb.js +1 -1
  5. package/es/button/src/button-group.js +4 -1
  6. package/es/button/src/button.js +2 -1
  7. package/es/calendar/src/calendar.js +64 -32
  8. package/es/card/src/card.js +4 -3
  9. package/es/carousel/src/carousel-item.js +13 -3
  10. package/es/carousel/src/carousel.js +16 -8
  11. package/es/checkbox/src/checkbox.js +30 -14
  12. package/es/checkbox/src/group.js +17 -8
  13. package/es/collapse-pane/index.js +1 -1
  14. package/es/countdown/src/countdown.js +17 -8
  15. package/es/date-picker/src/date-picker.js +148 -69
  16. package/es/drawer/src/drawer.js +86 -46
  17. package/es/form/render/index.js +1 -2
  18. package/es/form/src/form-config-item.js +4 -3
  19. package/es/form/src/form-gather.js +5 -3
  20. package/es/form/src/form-item.js +15 -10
  21. package/es/form/src/form.js +11 -8
  22. package/es/form/src/render.js +2 -1
  23. package/es/form/src/util.js +2 -1
  24. package/es/icon/src/icon.js +3 -0
  25. package/es/icon/style.css +1 -1
  26. package/es/icon-picker/src/icon-picker.js +24 -11
  27. package/es/image/src/group.js +4 -1
  28. package/es/image/src/preview.js +1 -1
  29. package/es/input/src/input.js +131 -66
  30. package/es/layout-aside/src/layout-aside.js +1 -1
  31. package/es/list/src/list.js +7 -5
  32. package/es/list-design/src/list-design.js +1 -1
  33. package/es/list-design/src/list-view.js +1 -1
  34. package/es/loading/src/loading.js +4 -1
  35. package/es/menu/src/menu.js +4 -3
  36. package/es/number-input/src/number-input.js +100 -77
  37. package/es/pager/src/pager.js +85 -45
  38. package/es/password-input/src/password-input.js +2 -2
  39. package/es/print/src/page-break.js +11 -2
  40. package/es/print/src/print.js +6 -4
  41. package/es/pulldown/src/pulldown.js +19 -13
  42. package/es/radio/src/button.js +2 -2
  43. package/es/radio/src/group.js +8 -4
  44. package/es/row/src/row.js +1 -1
  45. package/es/select/src/optgroup.js +19 -10
  46. package/es/select/src/option.js +17 -9
  47. package/es/select/src/select.js +64 -41
  48. package/es/select/src/util.js +2 -2
  49. package/es/style.css +1 -1
  50. package/es/style.min.css +1 -1
  51. package/es/tabs/src/tab-pane.js +13 -3
  52. package/es/tabs/src/tabs.js +57 -47
  53. package/es/textarea/src/textarea.js +28 -10
  54. package/es/tooltip/src/tooltip.js +107 -78
  55. package/es/tree/src/tree.js +6 -3
  56. package/es/tree-select/src/tree-select.js +18 -10
  57. package/es/ui/index.js +1 -7
  58. package/es/ui/src/log.js +1 -1
  59. package/es/upload/src/upload.js +5 -5
  60. package/lib/anchor/src/anchor-link.js +1 -1
  61. package/lib/anchor/src/anchor-link.min.js +1 -1
  62. package/lib/anchor/src/anchor.js +1 -1
  63. package/lib/anchor/src/anchor.min.js +1 -1
  64. package/lib/breadcrumb/src/breadcrumb.js +1 -1
  65. package/lib/breadcrumb/src/breadcrumb.min.js +1 -1
  66. package/lib/button/src/button-group.js +4 -1
  67. package/lib/button/src/button-group.min.js +1 -1
  68. package/lib/button/src/button.js +2 -1
  69. package/lib/button/src/button.min.js +1 -1
  70. package/lib/calendar/src/calendar.js +42 -24
  71. package/lib/calendar/src/calendar.min.js +1 -1
  72. package/lib/card/src/card.js +6 -5
  73. package/lib/card/src/card.min.js +1 -1
  74. package/lib/carousel/src/carousel-item.js +16 -3
  75. package/lib/carousel/src/carousel-item.min.js +1 -1
  76. package/lib/carousel/src/carousel.js +18 -8
  77. package/lib/carousel/src/carousel.min.js +1 -1
  78. package/lib/checkbox/src/checkbox.js +16 -12
  79. package/lib/checkbox/src/checkbox.min.js +1 -1
  80. package/lib/checkbox/src/group.js +10 -7
  81. package/lib/checkbox/src/group.min.js +1 -1
  82. package/lib/collapse-pane/index.js +1 -1
  83. package/lib/collapse-pane/index.min.js +1 -1
  84. package/lib/countdown/src/countdown.js +15 -7
  85. package/lib/countdown/src/countdown.min.js +1 -1
  86. package/lib/date-picker/src/date-picker.js +124 -62
  87. package/lib/date-picker/src/date-picker.min.js +1 -1
  88. package/lib/drawer/src/drawer.js +15 -30
  89. package/lib/drawer/src/drawer.min.js +1 -1
  90. package/lib/form/render/index.js +1 -4
  91. package/lib/form/render/index.min.js +1 -1
  92. package/lib/form/src/form-config-item.js +4 -5
  93. package/lib/form/src/form-config-item.min.js +1 -1
  94. package/lib/form/src/form-gather.js +11 -9
  95. package/lib/form/src/form-gather.min.js +1 -1
  96. package/lib/form/src/form-item.js +11 -12
  97. package/lib/form/src/form-item.min.js +1 -1
  98. package/lib/form/src/form.js +7 -7
  99. package/lib/form/src/form.min.js +1 -1
  100. package/lib/form/src/render.js +2 -1
  101. package/lib/form/src/util.js +2 -1
  102. package/lib/icon/src/icon.js +3 -0
  103. package/lib/icon/src/icon.min.js +1 -1
  104. package/lib/icon/style/style.css +1 -1
  105. package/lib/icon/style/style.min.css +1 -1
  106. package/lib/icon-picker/src/icon-picker.js +22 -12
  107. package/lib/icon-picker/src/icon-picker.min.js +1 -1
  108. package/lib/image/src/group.js +4 -1
  109. package/lib/image/src/group.min.js +1 -1
  110. package/lib/image/src/preview.js +1 -1
  111. package/lib/image/src/preview.min.js +1 -1
  112. package/lib/index.umd.js +884 -649
  113. package/lib/index.umd.min.js +1 -1
  114. package/lib/input/src/input.js +79 -51
  115. package/lib/input/src/input.min.js +1 -1
  116. package/lib/layout-aside/src/layout-aside.js +1 -1
  117. package/lib/layout-aside/src/layout-aside.min.js +1 -1
  118. package/lib/list/src/list.js +9 -5
  119. package/lib/list/src/list.min.js +1 -1
  120. package/lib/list-design/src/list-design.js +1 -1
  121. package/lib/list-design/src/list-design.min.js +1 -1
  122. package/lib/list-design/src/list-view.js +1 -1
  123. package/lib/list-design/src/list-view.min.js +1 -1
  124. package/lib/loading/src/loading.js +4 -1
  125. package/lib/loading/src/loading.min.js +1 -1
  126. package/lib/menu/src/menu.js +4 -3
  127. package/lib/menu/src/menu.min.js +1 -1
  128. package/lib/number-input/src/number-input.js +67 -69
  129. package/lib/number-input/src/number-input.min.js +1 -1
  130. package/lib/pager/src/pager.js +40 -39
  131. package/lib/pager/src/pager.min.js +1 -1
  132. package/lib/password-input/src/password-input.js +2 -2
  133. package/lib/print/src/page-break.js +14 -2
  134. package/lib/print/src/page-break.min.js +1 -1
  135. package/lib/print/src/print.js +8 -6
  136. package/lib/print/src/print.min.js +1 -1
  137. package/lib/pulldown/src/pulldown.js +19 -13
  138. package/lib/pulldown/src/pulldown.min.js +1 -1
  139. package/lib/radio/src/button.js +2 -2
  140. package/lib/radio/src/group.js +8 -4
  141. package/lib/radio/src/group.min.js +1 -1
  142. package/lib/row/src/row.js +1 -1
  143. package/lib/row/src/row.min.js +1 -1
  144. package/lib/select/src/optgroup.js +12 -9
  145. package/lib/select/src/optgroup.min.js +1 -1
  146. package/lib/select/src/option.js +9 -7
  147. package/lib/select/src/option.min.js +1 -1
  148. package/lib/select/src/select.js +52 -41
  149. package/lib/select/src/select.min.js +1 -1
  150. package/lib/select/src/util.js +2 -2
  151. package/lib/select/src/util.min.js +1 -1
  152. package/lib/style.css +1 -1
  153. package/lib/style.min.css +1 -1
  154. package/lib/tabs/src/tab-pane.js +16 -3
  155. package/lib/tabs/src/tab-pane.min.js +1 -1
  156. package/lib/tabs/src/tabs.js +62 -50
  157. package/lib/tabs/src/tabs.min.js +1 -1
  158. package/lib/textarea/src/textarea.js +4 -4
  159. package/lib/tooltip/src/tooltip.js +96 -88
  160. package/lib/tooltip/src/tooltip.min.js +1 -1
  161. package/lib/tree/src/tree.js +2 -2
  162. package/lib/tree/src/tree.min.js +1 -1
  163. package/lib/tree-select/src/tree-select.js +13 -8
  164. package/lib/tree-select/src/tree-select.min.js +1 -1
  165. package/lib/ui/index.js +3 -10
  166. package/lib/ui/index.min.js +1 -1
  167. package/lib/ui/src/log.js +1 -1
  168. package/lib/ui/src/log.min.js +1 -1
  169. package/lib/upload/src/upload.js +5 -5
  170. package/lib/upload/src/upload.min.js +1 -1
  171. package/package.json +2 -2
  172. package/packages/anchor/src/anchor-link.ts +2 -2
  173. package/packages/anchor/src/anchor.ts +2 -2
  174. package/packages/breadcrumb/src/breadcrumb.ts +2 -2
  175. package/packages/button/src/button-group.ts +4 -1
  176. package/packages/button/src/button.ts +6 -5
  177. package/packages/calendar/src/calendar.ts +67 -35
  178. package/packages/card/src/card.ts +6 -4
  179. package/packages/carousel/src/carousel-item.ts +19 -4
  180. package/packages/carousel/src/carousel.ts +19 -11
  181. package/packages/checkbox/src/checkbox.ts +34 -15
  182. package/packages/checkbox/src/group.ts +22 -10
  183. package/packages/collapse-pane/index.ts +1 -1
  184. package/packages/countdown/src/countdown.ts +20 -11
  185. package/packages/date-picker/src/date-picker.ts +160 -80
  186. package/packages/drawer/src/drawer.ts +91 -50
  187. package/packages/form/render/index.ts +1 -3
  188. package/packages/form/src/form-config-item.ts +4 -3
  189. package/packages/form/src/form-gather.ts +5 -3
  190. package/packages/form/src/form-item.ts +15 -10
  191. package/packages/form/src/form.ts +12 -10
  192. package/packages/form/src/render.ts +2 -1
  193. package/packages/form/src/util.ts +2 -1
  194. package/packages/icon/src/icon.ts +3 -0
  195. package/packages/icon-picker/src/icon-picker.ts +31 -17
  196. package/packages/image/src/group.ts +4 -1
  197. package/packages/image/src/preview.ts +2 -2
  198. package/packages/input/src/input.ts +138 -75
  199. package/packages/layout-aside/src/layout-aside.ts +2 -2
  200. package/packages/list/src/list.ts +12 -11
  201. package/packages/list-design/src/list-design.ts +2 -2
  202. package/packages/list-design/src/list-view.ts +2 -2
  203. package/packages/loading/src/loading.ts +5 -2
  204. package/packages/menu/src/menu.ts +5 -4
  205. package/packages/number-input/src/number-input.ts +102 -79
  206. package/packages/pager/src/pager.ts +91 -50
  207. package/packages/password-input/src/password-input.ts +2 -2
  208. package/packages/print/src/page-break.ts +18 -4
  209. package/packages/print/src/print.ts +10 -5
  210. package/packages/pulldown/src/pulldown.ts +28 -22
  211. package/packages/radio/src/button.ts +2 -2
  212. package/packages/radio/src/group.ts +9 -5
  213. package/packages/row/src/row.ts +2 -2
  214. package/packages/select/src/optgroup.ts +22 -13
  215. package/packages/select/src/option.ts +18 -10
  216. package/packages/select/src/select.ts +79 -52
  217. package/packages/select/src/util.ts +3 -3
  218. package/packages/tabs/src/tab-pane.ts +20 -5
  219. package/packages/tabs/src/tabs.ts +59 -49
  220. package/packages/textarea/src/textarea.ts +28 -10
  221. package/packages/tooltip/src/tooltip.ts +118 -84
  222. package/packages/tree/src/tree.ts +7 -4
  223. package/packages/tree-select/src/tree-select.ts +25 -16
  224. package/packages/ui/index.ts +0 -7
  225. package/packages/upload/src/upload.ts +6 -6
  226. package/types/components/calendar.d.ts +6 -0
  227. package/types/components/carousel.d.ts +5 -0
  228. package/types/components/countdown.d.ts +4 -0
  229. package/types/components/date-picker.d.ts +23 -5
  230. package/types/components/drawer.d.ts +0 -1
  231. package/types/components/form.d.ts +4 -2
  232. package/types/components/icon-picker.d.ts +4 -0
  233. package/types/components/input.d.ts +9 -1
  234. package/types/components/list.d.ts +1 -0
  235. package/types/components/number-input.d.ts +6 -2
  236. package/types/components/optgroup.d.ts +10 -4
  237. package/types/components/pulldown.d.ts +5 -1
  238. package/types/components/select.d.ts +4 -0
  239. package/types/components/tabs.d.ts +4 -0
  240. package/types/components/toolbar.d.ts +5 -0
  241. package/types/components/tooltip.d.ts +4 -0
  242. package/types/components/tree-select.d.ts +4 -0
  243. package/types/ui/index.d.ts +0 -22
  244. /package/es/{collapse-pane → collapse}/src/collapse-pane.js +0 -0
  245. /package/es/icon/style/{iconfont.1725597808239.ttf → iconfont.1725941866604.ttf} +0 -0
  246. /package/es/icon/style/{iconfont.1725597808239.woff → iconfont.1725941866604.woff} +0 -0
  247. /package/es/icon/style/{iconfont.1725597808239.woff2 → iconfont.1725941866604.woff2} +0 -0
  248. /package/es/{iconfont.1725597808239.ttf → iconfont.1725941866604.ttf} +0 -0
  249. /package/es/{iconfont.1725597808239.woff → iconfont.1725941866604.woff} +0 -0
  250. /package/es/{iconfont.1725597808239.woff2 → iconfont.1725941866604.woff2} +0 -0
  251. /package/lib/{collapse-pane → collapse}/src/collapse-pane.js +0 -0
  252. /package/lib/{collapse-pane → collapse}/src/collapse-pane.min.js +0 -0
  253. /package/lib/icon/style/{iconfont.1725597808239.ttf → iconfont.1725941866604.ttf} +0 -0
  254. /package/lib/icon/style/{iconfont.1725597808239.woff → iconfont.1725941866604.woff} +0 -0
  255. /package/lib/icon/style/{iconfont.1725597808239.woff2 → iconfont.1725941866604.woff2} +0 -0
  256. /package/lib/{iconfont.1725597808239.ttf → iconfont.1725941866604.ttf} +0 -0
  257. /package/lib/{iconfont.1725597808239.woff → iconfont.1725941866604.woff} +0 -0
  258. /package/lib/{iconfont.1725597808239.woff2 → iconfont.1725941866604.woff2} +0 -0
  259. /package/packages/{collapse-pane → collapse}/src/collapse-pane.ts +0 -0
@@ -1,4 +1,4 @@
1
- import { defineComponent, ref, computed, h, nextTick, inject, reactive, Teleport, createCommentVNode, onMounted, onUnmounted, watch } from 'vue';
1
+ import { defineComponent, ref, computed, h, nextTick, inject, provide, reactive, Teleport, createCommentVNode, onMounted, onUnmounted, watch } from 'vue';
2
2
  import { getConfig, getI18n, getIcon, globalEvents, createEvent, useSize } from '../../ui';
3
3
  import { getEventTargetNode, getAbsolutePos } from '../../ui/src/dom';
4
4
  import { getLastZIndex, nextZIndex } from '../../ui/src/utils';
@@ -33,7 +33,10 @@ export default defineComponent({
33
33
  placement: String,
34
34
  options: Array,
35
35
  optionProps: Object,
36
- size: { type: String, default: () => getConfig().select.size || getConfig().size },
36
+ size: {
37
+ type: String,
38
+ default: () => getConfig().select.size || getConfig().size
39
+ },
37
40
  remote: Boolean,
38
41
  remoteMethod: Function,
39
42
  treeConfig: Object,
@@ -54,6 +57,7 @@ export default defineComponent({
54
57
  setup(props, context) {
55
58
  const { emit, slots } = context;
56
59
  const $xeModal = inject('$xeModal', null);
60
+ const $xeDrawer = inject('$xeDrawer', null);
57
61
  const $xeTable = inject('$xeTable', null);
58
62
  const $xeForm = inject('$xeForm', null);
59
63
  const formItemInfo = inject('xeFormItemInfo', null);
@@ -76,6 +80,9 @@ export default defineComponent({
76
80
  visibleAnimate: false,
77
81
  isActivated: false
78
82
  });
83
+ const internalData = {
84
+ hpTimeout: undefined
85
+ };
79
86
  const refMaps = {
80
87
  refElem
81
88
  };
@@ -106,7 +113,7 @@ export default defineComponent({
106
113
  if (XEUtils.isBoolean(globalTransfer)) {
107
114
  return globalTransfer;
108
115
  }
109
- if ($xeTable || $xeModal || $xeForm) {
116
+ if ($xeTable || $xeModal || $xeDrawer || $xeForm) {
110
117
  return true;
111
118
  }
112
119
  }
@@ -161,9 +168,9 @@ export default defineComponent({
161
168
  const computeSelectLabel = computed(() => {
162
169
  const { modelValue } = props;
163
170
  const { fullNodeMaps } = reactData;
171
+ const labelField = computeLabelField.value;
164
172
  return (XEUtils.isArray(modelValue) ? modelValue : [modelValue]).map(value => {
165
173
  const cacheItem = fullNodeMaps[value];
166
- const labelField = computeLabelField.value;
167
174
  return cacheItem ? cacheItem.item[labelField] : value;
168
175
  }).join(', ');
169
176
  });
@@ -173,6 +180,7 @@ export default defineComponent({
173
180
  props,
174
181
  context,
175
182
  reactData,
183
+ internalData,
176
184
  getRefMaps: () => refMaps,
177
185
  getComputeMaps: () => computeMaps
178
186
  };
@@ -197,7 +205,7 @@ export default defineComponent({
197
205
  const valueField = computeValueField.value;
198
206
  const childrenField = computeChildrenField.value;
199
207
  const nodeMaps = {};
200
- XEUtils.eachTree(options, (item, index, items, parent, nodes) => {
208
+ XEUtils.eachTree(options, (item, index, items, path, parent, nodes) => {
201
209
  let nodeid = getOptid(item);
202
210
  if (!nodeid) {
203
211
  nodeid = getOptUniqueId();
@@ -287,12 +295,11 @@ export default defineComponent({
287
295
  }
288
296
  });
289
297
  };
290
- let hidePanelTimeout;
291
298
  const showOptionPanel = () => {
292
299
  const { loading } = props;
293
300
  const isDisabled = computeIsDisabled.value;
294
301
  if (!loading && !isDisabled) {
295
- clearTimeout(hidePanelTimeout);
302
+ clearTimeout(internalData.hpTimeout);
296
303
  if (!reactData.initialized) {
297
304
  reactData.initialized = true;
298
305
  }
@@ -307,15 +314,15 @@ export default defineComponent({
307
314
  };
308
315
  const hideOptionPanel = () => {
309
316
  reactData.visiblePanel = false;
310
- hidePanelTimeout = window.setTimeout(() => {
317
+ internalData.hpTimeout = window.setTimeout(() => {
311
318
  reactData.visibleAnimate = false;
312
319
  }, 350);
313
320
  };
314
321
  const changeEvent = (evnt, selectValue) => {
315
322
  const { fullNodeMaps } = reactData;
323
+ emit('update:modelValue', selectValue);
316
324
  if (selectValue !== props.modelValue) {
317
325
  const cacheItem = fullNodeMaps[selectValue];
318
- emit('update:modelValue', selectValue);
319
326
  treeSelectMethods.dispatchEvent('change', { value: selectValue, option: cacheItem ? cacheItem.item : null }, evnt);
320
327
  // 自动更新校验状态
321
328
  if ($xeForm && formItemInfo) {
@@ -553,7 +560,6 @@ export default defineComponent({
553
560
  ])
554
561
  ]);
555
562
  };
556
- $xeTreeSelect.renderVN = renderVN;
557
563
  watch(() => props.options, () => {
558
564
  cacheItemMap();
559
565
  });
@@ -568,6 +574,8 @@ export default defineComponent({
568
574
  globalEvents.off($xeTreeSelect, 'mousedown');
569
575
  globalEvents.off($xeTreeSelect, 'blur');
570
576
  });
577
+ provide('$xeTreeSelect', $xeTreeSelect);
578
+ $xeTreeSelect.renderVN = renderVN;
571
579
  return $xeTreeSelect;
572
580
  },
573
581
  render() {
package/es/ui/index.js CHANGED
@@ -2,7 +2,7 @@ import { VxeUI, setConfig, setIcon } from '@vxe-ui/core';
2
2
  import { dynamicApp } from '../dynamics';
3
3
  import { getFuncText } from './src/utils';
4
4
  import { warnLog } from './src/log';
5
- export const version = "4.1.19";
5
+ export const version = "4.1.21";
6
6
  VxeUI.version = version;
7
7
  VxeUI.uiVersion = version;
8
8
  VxeUI.tableVersion = '';
@@ -23,12 +23,6 @@ export function setup(options) {
23
23
  }
24
24
  VxeUI.config = config;
25
25
  VxeUI.setup = setup;
26
- /**
27
- * 已废弃
28
- * @deprecated
29
- */
30
- export const globalStore = {};
31
- VxeUI.globalStore = globalStore;
32
26
  setConfig({
33
27
  alert: {},
34
28
  anchor: {},
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.1.19"}`;
2
+ const version = `ui v${"4.1.21"}`;
3
3
  export const warnLog = log.create('warn', version);
4
4
  export const errLog = log.create('error', version);
@@ -337,7 +337,7 @@ export default defineComponent({
337
337
  const dispatchEvent = (type, params, evnt) => {
338
338
  emit(type, createEvent(evnt, { $upload: $xeUpload }, params));
339
339
  };
340
- const emitModel = (value) => {
340
+ const handleChange = (value) => {
341
341
  const { singleMode, urlMode } = props;
342
342
  const urlProp = computeUrlProp.value;
343
343
  let restList = value ? value.slice(0) : [];
@@ -492,7 +492,7 @@ export default defineComponent({
492
492
  cacheItem.percent = 0;
493
493
  handleUploadResult(item, file).then(() => {
494
494
  if (urlMode) {
495
- emitModel(reactData.fileList);
495
+ handleChange(reactData.fileList);
496
496
  }
497
497
  });
498
498
  }
@@ -598,7 +598,7 @@ export default defineComponent({
598
598
  reactData.fileList = newFileList;
599
599
  reactData.fileCacheMaps = cacheMaps;
600
600
  Promise.all(urlMode ? uploadPromiseRests : []).then(() => {
601
- emitModel(newFileList);
601
+ handleChange(newFileList);
602
602
  // 自动更新校验状态
603
603
  if ($xeForm && formItemInfo) {
604
604
  $xeForm.triggerItemEvent(evnt, formItemInfo.itemConfig.field, newFileList);
@@ -632,7 +632,7 @@ export default defineComponent({
632
632
  const handleRemoveEvent = (evnt, item, index) => {
633
633
  const { fileList } = reactData;
634
634
  fileList.splice(index, 1);
635
- emitModel(fileList);
635
+ handleChange(fileList);
636
636
  // 自动更新校验状态
637
637
  if ($xeForm && formItemInfo) {
638
638
  $xeForm.triggerItemEvent(evnt, formItemInfo.itemConfig.field, fileList);
@@ -1192,7 +1192,6 @@ export default defineComponent({
1192
1192
  : createCommentVNode()
1193
1193
  ]);
1194
1194
  };
1195
- $xeUpload.renderVN = renderVN;
1196
1195
  const listFlag = ref(0);
1197
1196
  watch(() => props.modelValue ? props.modelValue.length : 0, () => {
1198
1197
  listFlag.value++;
@@ -1214,6 +1213,7 @@ export default defineComponent({
1214
1213
  reactData.isDrag = false;
1215
1214
  });
1216
1215
  updateFileList();
1216
+ $xeUpload.renderVN = renderVN;
1217
1217
  return $xeUpload;
1218
1218
  },
1219
1219
  render() {
@@ -97,8 +97,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
97
97
  class: 'vxe-anchor-link--sub-items'
98
98
  }, subSlot({})) : (0, _vue.createCommentVNode)()]);
99
99
  };
100
- $xeAnchorLink.renderVN = renderVN;
101
100
  (0, _vue.provide)('$xeAnchorLink', $xeAnchorLink);
101
+ $xeAnchorLink.renderVN = renderVN;
102
102
  return $xeAnchorLink;
103
103
  },
104
104
  render() {
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_util=require("./util");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_vue.defineComponent)({name:"VxeAnchorLink",props:{content:[String,Number],title:[String,Number],href:String},emits:[],setup(l,e){const a=e["slots"],r=(0,_vue.inject)("$xeAnchor",null),t=(0,_vue.inject)("$xeAnchorLink",null);var n=_xeUtils.default.uniqueId();const o=(0,_vue.ref)();var u=(0,_vue.reactive)({});const i=(0,_vue.reactive)({id:n,href:l.href,children:[]}),v={refElem:o},s=(0,_vue.computed)(()=>{var e=l["href"];return r?r.reactData.activeHref===e:null}),c={};n={xID:n,props:l,context:e,reactData:u,linkConfig:i,getRefMaps:()=>v,getComputeMaps:()=>c};const _=e=>{var t=l["href"];r&&r.handleClickLink(e,t)};(0,_vue.watch)(()=>l.href,e=>{i.href=e}),(0,_vue.onMounted)(()=>{var e=o.value;r&&e&&(0,_util.assembleAnchorLink)(r,e,i,t)}),(0,_vue.onUnmounted)(()=>{r&&(0,_util.destroyAnchorLink)(r,i)});return n.renderVN=()=>{var{href:e,content:t,title:r}=l,n=a.default,u=a.sub,i=s.value;return(0,_vue.h)("div",{ref:o,class:["vxe-anchor-link",{"is--active":i}]},[(0,_vue.h)("a",{class:"vxe-anchor-link--item",href:e,title:r,onClick:_},n?n({}):_xeUtils.default.toValueString(t)),u?(0,_vue.h)("div",{class:"vxe-anchor-link--sub-items"},u({})):(0,_vue.createCommentVNode)()])},(0,_vue.provide)("$xeAnchorLink",n),n},render(){return this.renderVN()}});
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_util=require("./util");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_vue.defineComponent)({name:"VxeAnchorLink",props:{content:[String,Number],title:[String,Number],href:String},emits:[],setup(l,e){const a=e["slots"],r=(0,_vue.inject)("$xeAnchor",null),t=(0,_vue.inject)("$xeAnchorLink",null);var n=_xeUtils.default.uniqueId();const o=(0,_vue.ref)();var u=(0,_vue.reactive)({});const i=(0,_vue.reactive)({id:n,href:l.href,children:[]}),v={refElem:o},s=(0,_vue.computed)(()=>{var e=l["href"];return r?r.reactData.activeHref===e:null}),c={};n={xID:n,props:l,context:e,reactData:u,linkConfig:i,getRefMaps:()=>v,getComputeMaps:()=>c};const _=e=>{var t=l["href"];r&&r.handleClickLink(e,t)};(0,_vue.watch)(()=>l.href,e=>{i.href=e}),(0,_vue.onMounted)(()=>{var e=o.value;r&&e&&(0,_util.assembleAnchorLink)(r,e,i,t)}),(0,_vue.onUnmounted)(()=>{r&&(0,_util.destroyAnchorLink)(r,i)});return(0,_vue.provide)("$xeAnchorLink",n),n.renderVN=()=>{var{href:e,content:t,title:r}=l,n=a.default,u=a.sub,i=s.value;return(0,_vue.h)("div",{ref:o,class:["vxe-anchor-link",{"is--active":i}]},[(0,_vue.h)("a",{class:"vxe-anchor-link--item",href:e,title:r,onClick:_},n?n({}):_xeUtils.default.toValueString(t)),u?(0,_vue.h)("div",{class:"vxe-anchor-link--sub-items"},u({})):(0,_vue.createCommentVNode)()])},n},render(){return this.renderVN()}});
@@ -217,8 +217,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
217
217
  (0, _vue.onBeforeUnmount)(() => {
218
218
  removeContainerElemScroll();
219
219
  });
220
- $xeAnchor.renderVN = renderVN;
221
220
  (0, _vue.provide)('$xeAnchor', $xeAnchor);
221
+ $xeAnchor.renderVN = renderVN;
222
222
  return $xeAnchor;
223
223
  },
224
224
  render() {
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_core=require("@vxe-ui/core"),_dom=require("../../ui/src/dom"),_anchorLink=_interopRequireDefault(require("./anchor-link"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_vue.defineComponent)({name:"VxeAnchor",props:{modelValue:String,options:Array,container:[String,Object,Function],showMarker:{type:Boolean,default:!0}},emits:["update:modelValue","change","click"],setup(n,e){const{slots:i,emit:a}=e;var t=_xeUtils.default.uniqueId();const o=(0,_vue.ref)(),u=(0,_vue.ref)(),l=(0,_vue.reactive)({activeHref:null,staticLinks:[],containerElem:null}),r={refElem:o},c=(0,_vue.computed)(()=>{const t=[];return _xeUtils.default.eachTree(l.staticLinks,e=>{t.push(e.href||"")},{children:"children"}),t}),s={},v={xID:t,props:n,context:e,reactData:l,getRefMaps:()=>r,getComputeMaps:()=>s},d={dispatchEvent(e,t,r){a(e,(0,_core.createEvent)(r,{$anchor:v},t))}},f=()=>{var e=c.value,t=l["containerElem"];if(t){var r=t.querySelectorAll(e.map(e=>""+e).join(","));for(let e=0;e<r.length;e++){var n=r[e];if(0<n.getBoundingClientRect().top){n=n.id;l.activeHref="#"+n;break}}}},h=()=>{var e=l["containerElem"];e&&e.removeEventListener("scroll",f)},_=()=>{var e=(()=>{var e=n["container"];if(e){if(_xeUtils.default.isElement(e))return e;if(_xeUtils.default.isString(e))return document.querySelector(e);if(_xeUtils.default.isFunction(e))return e({$anchor:v})}return null})();(l.containerElem=e)&&e.addEventListener("scroll",f,{passive:!1})},p=(Object.assign(v,d,{handleClickLink(e,t){e.preventDefault();var r=document.getElementById((""+t).replace("#",""));r&&r.scrollIntoView({behavior:"smooth"}),r=t,l.activeHref=r,a("update:modelValue",r),d.dispatchEvent("click",{href:t},e)}}),e=>{const r=[];return e&&e.forEach(e=>{const t=e.children;t&&t.length?r.push((0,_vue.h)(_anchorLink.default,{content:e.content,title:e.title,href:e.href},{sub:()=>p(t)})):r.push((0,_vue.h)(_anchorLink.default,{content:e.content,title:e.title,href:e.href}))}),r});return(0,_vue.watch)(()=>n.modelValue,e=>{l.activeHref=e}),(0,_vue.watch)(()=>l.activeHref,()=>{(0,_vue.nextTick)(()=>{var e=l["activeHref"],t=o.value,r=u.value;t&&r&&e&&(e=t.querySelector(`[href="${e}"]`))&&(e=(0,_dom.getOffsetPos)(e,t)["top"],r.style.top=e+"px")})}),(0,_vue.watch)(()=>n.container,()=>{h(),_()}),(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{_()})}),(0,_vue.onBeforeUnmount)(()=>{h()}),v.renderVN=()=>{var{options:e,showMarker:t}=n,r=i.default;return(0,_vue.h)("div",{ref:o,class:["vxe-anchor",{"is--marker":t}]},[(0,_vue.h)("div",{class:"vxe-anchor--list"},r?r({}):p(e)),t?(0,_vue.h)("div",{ref:u,class:"vxe-anchor--marker"}):(0,_vue.createCommentVNode)()])},(0,_vue.provide)("$xeAnchor",v),v},render(){return this.renderVN()}});
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_core=require("@vxe-ui/core"),_dom=require("../../ui/src/dom"),_anchorLink=_interopRequireDefault(require("./anchor-link"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_vue.defineComponent)({name:"VxeAnchor",props:{modelValue:String,options:Array,container:[String,Object,Function],showMarker:{type:Boolean,default:!0}},emits:["update:modelValue","change","click"],setup(n,e){const{slots:i,emit:a}=e;var t=_xeUtils.default.uniqueId();const o=(0,_vue.ref)(),u=(0,_vue.ref)(),l=(0,_vue.reactive)({activeHref:null,staticLinks:[],containerElem:null}),r={refElem:o},c=(0,_vue.computed)(()=>{const t=[];return _xeUtils.default.eachTree(l.staticLinks,e=>{t.push(e.href||"")},{children:"children"}),t}),s={},v={xID:t,props:n,context:e,reactData:l,getRefMaps:()=>r,getComputeMaps:()=>s},d={dispatchEvent(e,t,r){a(e,(0,_core.createEvent)(r,{$anchor:v},t))}},f=()=>{var e=c.value,t=l["containerElem"];if(t){var r=t.querySelectorAll(e.map(e=>""+e).join(","));for(let e=0;e<r.length;e++){var n=r[e];if(0<n.getBoundingClientRect().top){n=n.id;l.activeHref="#"+n;break}}}},h=()=>{var e=l["containerElem"];e&&e.removeEventListener("scroll",f)},_=()=>{var e=(()=>{var e=n["container"];if(e){if(_xeUtils.default.isElement(e))return e;if(_xeUtils.default.isString(e))return document.querySelector(e);if(_xeUtils.default.isFunction(e))return e({$anchor:v})}return null})();(l.containerElem=e)&&e.addEventListener("scroll",f,{passive:!1})},p=(Object.assign(v,d,{handleClickLink(e,t){e.preventDefault();var r=document.getElementById((""+t).replace("#",""));r&&r.scrollIntoView({behavior:"smooth"}),r=t,l.activeHref=r,a("update:modelValue",r),d.dispatchEvent("click",{href:t},e)}}),e=>{const r=[];return e&&e.forEach(e=>{const t=e.children;t&&t.length?r.push((0,_vue.h)(_anchorLink.default,{content:e.content,title:e.title,href:e.href},{sub:()=>p(t)})):r.push((0,_vue.h)(_anchorLink.default,{content:e.content,title:e.title,href:e.href}))}),r});return(0,_vue.watch)(()=>n.modelValue,e=>{l.activeHref=e}),(0,_vue.watch)(()=>l.activeHref,()=>{(0,_vue.nextTick)(()=>{var e=l["activeHref"],t=o.value,r=u.value;t&&r&&e&&(e=t.querySelector(`[href="${e}"]`))&&(e=(0,_dom.getOffsetPos)(e,t)["top"],r.style.top=e+"px")})}),(0,_vue.watch)(()=>n.container,()=>{h(),_()}),(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{_()})}),(0,_vue.onBeforeUnmount)(()=>{h()}),(0,_vue.provide)("$xeAnchor",v),v.renderVN=()=>{var{options:e,showMarker:t}=n,r=i.default;return(0,_vue.h)("div",{ref:o,class:["vxe-anchor",{"is--marker":t}]},[(0,_vue.h)("div",{class:"vxe-anchor--list"},r?r({}):p(e)),t?(0,_vue.h)("div",{ref:u,class:"vxe-anchor--marker"}):(0,_vue.createCommentVNode)()])},v},render(){return this.renderVN()}});
@@ -75,8 +75,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
75
75
  class: 'vxe-breadcrumb'
76
76
  }, defaultSlot ? defaultSlot({}) : renderItems());
77
77
  };
78
- $xeBreadcrumb.renderVN = renderVN;
79
78
  (0, _vue.provide)('$xeBreadcrumb', $xeBreadcrumb);
79
+ $xeBreadcrumb.renderVN = renderVN;
80
80
  return $xeBreadcrumb;
81
81
  },
82
82
  render() {
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_ui=require("../../ui"),_xeUtils=_interopRequireDefault(require("xe-utils")),_breadcrumbItem=_interopRequireDefault(require("./breadcrumb-item"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_vue.defineComponent)({name:"VxeBreadcrumb",props:{separator:{type:String,default:()=>(0,_ui.getConfig)().breadcrumb.separator},options:Array},emits:["click"],setup(r,e){const{emit:u,slots:t}=e;var i=_xeUtils.default.uniqueId();const a=(0,_vue.ref)();var n=(0,_vue.reactive)({});const o={refElem:a},s={},d={xID:i,props:r,context:e,reactData:n,getRefMaps:()=>o,getComputeMaps:()=>s},c={dispatchEvent(e,r,t){u(e,(0,_ui.createEvent)(t,{$breadcrumb:d},r))}};Object.assign(d,c,{handleClickLink(e,r){c.dispatchEvent("click",{option:r},e)}});return d.renderVN=()=>{var e=t.default;return(0,_vue.h)("div",{ref:a,class:"vxe-breadcrumb"},e?e({}):(e=r.options)&&e.length?e.map(e=>(0,_vue.h)(_breadcrumbItem.default,{title:e.title,routerLink:e.routerLink})):[])},(0,_vue.provide)("$xeBreadcrumb",d),d},render(){return this.renderVN()}});
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_ui=require("../../ui"),_xeUtils=_interopRequireDefault(require("xe-utils")),_breadcrumbItem=_interopRequireDefault(require("./breadcrumb-item"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_vue.defineComponent)({name:"VxeBreadcrumb",props:{separator:{type:String,default:()=>(0,_ui.getConfig)().breadcrumb.separator},options:Array},emits:["click"],setup(r,e){const{emit:u,slots:t}=e;var i=_xeUtils.default.uniqueId();const a=(0,_vue.ref)();var n=(0,_vue.reactive)({});const o={refElem:a},s={},d={xID:i,props:r,context:e,reactData:n,getRefMaps:()=>o,getComputeMaps:()=>s},c={dispatchEvent(e,r,t){u(e,(0,_ui.createEvent)(t,{$breadcrumb:d},r))}};Object.assign(d,c,{handleClickLink(e,r){c.dispatchEvent("click",{option:r},e)}});return(0,_vue.provide)("$xeBreadcrumb",d),d.renderVN=()=>{var e=t.default;return(0,_vue.h)("div",{ref:a,class:"vxe-breadcrumb"},e?e({}):(e=r.options)&&e.length?e.map(e=>(0,_vue.h)(_breadcrumbItem.default,{title:e.title,routerLink:e.routerLink})):[])},d},render(){return this.renderVN()}});
@@ -87,6 +87,9 @@ var _default = exports.default = (0, _vue.defineComponent)({
87
87
  };
88
88
  $xeButtonGroup.renderVN = renderVN;
89
89
  (0, _vue.provide)('$xeButtonGroup', $xeButtonGroup);
90
- return renderVN;
90
+ return $xeButtonGroup;
91
+ },
92
+ render() {
93
+ return this.renderVN();
91
94
  }
92
95
  });
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_core=require("@vxe-ui/core"),_xeUtils=_interopRequireDefault(require("xe-utils")),_button=_interopRequireDefault(require("./button"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_vue.defineComponent)({name:"VxeButtonGroup",props:{options:Array,mode:String,status:String,round:Boolean,circle:Boolean,className:[String,Function],disabled:Boolean,permissionCode:[String,Number],size:{type:String,default:()=>(0,_core.getConfig)().buttonGroup.size||(0,_core.getConfig)().size}},emits:["click"],setup(n,e){const{slots:r,emit:u}=e;var t=_xeUtils.default.uniqueId();const o={},i={xID:t,props:n,context:e,getComputeMaps:()=>o},s=((0,_core.useSize)(n),(0,_core.usePermission)(n))["computePermissionInfo"],a={dispatchEvent(e,t,o){u(e,(0,_core.createEvent)(o,{$buttonGroup:i},t))}};Object.assign(i,a,{handleClick(e,t){var o=n["options"];const u=e["name"];o=o?o.find(e=>e.name===u):null;a.dispatchEvent("click",Object.assign(Object.assign({},e),{option:o}),t)}});t=()=>{var{className:e,options:t}=n,o=s.value,u=r.default;return o.visible?(0,_vue.h)("div",{class:["vxe-button-group",e?_xeUtils.default.isFunction(e)?e({$buttonGroup:i}):e:""]},u?u({}):t?t.map((e,t)=>(0,_vue.h)(_button.default,Object.assign({key:t},e))):[]):(0,_vue.createCommentVNode)()};return i.renderVN=t,(0,_vue.provide)("$xeButtonGroup",i),t}});
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_core=require("@vxe-ui/core"),_xeUtils=_interopRequireDefault(require("xe-utils")),_button=_interopRequireDefault(require("./button"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_vue.defineComponent)({name:"VxeButtonGroup",props:{options:Array,mode:String,status:String,round:Boolean,circle:Boolean,className:[String,Function],disabled:Boolean,permissionCode:[String,Number],size:{type:String,default:()=>(0,_core.getConfig)().buttonGroup.size||(0,_core.getConfig)().size}},emits:["click"],setup(n,e){const{slots:u,emit:r}=e;var t=_xeUtils.default.uniqueId();const o={},i={xID:t,props:n,context:e,getComputeMaps:()=>o},s=((0,_core.useSize)(n),(0,_core.usePermission)(n))["computePermissionInfo"],a={dispatchEvent(e,t,o){r(e,(0,_core.createEvent)(o,{$buttonGroup:i},t))}};Object.assign(i,a,{handleClick(e,t){var o=n["options"];const r=e["name"];o=o?o.find(e=>e.name===r):null;a.dispatchEvent("click",Object.assign(Object.assign({},e),{option:o}),t)}});return i.renderVN=()=>{var{className:e,options:t}=n,o=s.value,r=u.default;return o.visible?(0,_vue.h)("div",{class:["vxe-button-group",e?_xeUtils.default.isFunction(e)?e({$buttonGroup:i}):e:""]},r?r({}):t?t.map((e,t)=>(0,_vue.h)(_button.default,Object.assign({key:t},e))):[]):(0,_vue.createCommentVNode)()},(0,_vue.provide)("$xeButtonGroup",i),i},render(){return this.renderVN()}});
@@ -100,6 +100,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
100
100
  emit
101
101
  } = context;
102
102
  const $xeModal = (0, _vue.inject)('$xeModal', null);
103
+ const $xeDrawer = (0, _vue.inject)('$xeDrawer', null);
103
104
  const $xeTable = (0, _vue.inject)('$xeTable', null);
104
105
  const $xeForm = (0, _vue.inject)('$xeForm', null);
105
106
  const $xeButtonGroup = (0, _vue.inject)('$xeButtonGroup', null);
@@ -146,7 +147,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
146
147
  if (_xeUtils.default.isBoolean(globalTransfer)) {
147
148
  return globalTransfer;
148
149
  }
149
- if ($xeTable || $xeModal || $xeForm) {
150
+ if ($xeTable || $xeModal || $xeDrawer || $xeForm) {
150
151
  return true;
151
152
  }
152
153
  }
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_vue.defineComponent)({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},name:[String,Number],routerLink:Object,permissionCode:[String,Number],content:String,placement:String,status:String,title:String,icon:String,round:Boolean,circle:Boolean,disabled:Boolean,loading:Boolean,trigger:{type:String,default:()=>(0,_ui.getConfig)().button.trigger},align:String,destroyOnClose:{type:Boolean,default:()=>(0,_ui.getConfig)().button.destroyOnClose},transfer:{type:Boolean,default:null}},emits:["click","mouseenter","mouseleave","dropdown-click"],setup(k,e){const{slots:N,emit:i}=e,n=(0,_vue.inject)("$xeModal",null),o=(0,_vue.inject)("$xeTable",null),u=(0,_vue.inject)("$xeForm",null),a=(0,_vue.inject)("$xeButtonGroup",null);var t=_xeUtils.default.uniqueId();const P=(0,_ui.useSize)(k)["computeSize"],C=(0,_ui.usePermission)(k)["computePermissionInfo"],w=(0,_vue.reactive)({initialized:!1,visiblePanel:!1,visibleAnimate:!1,isActivated:!1,panelIndex:0,panelStyle:{},panelPlacement:""}),l={showTime:null},O=(0,_vue.ref)(),S=(0,_vue.ref)(),z=(0,_vue.ref)(),s={refElem:O},E={xID:t,props:k,context:e,reactData:w,internalData:l,getRefMaps:()=>s};const I=(0,_vue.computed)(()=>{var e=k["transfer"];if(null===e){var t=(0,_ui.getConfig)().button.transfer;if(_xeUtils.default.isBoolean(t))return t;if(o||n||u)return!0}return e}),M=(0,_vue.computed)(()=>{var e=k["disabled"],t=C.value;return e||t.disabled}),A=(0,_vue.computed)(()=>{var e=k["type"];return!!e&&-1<["submit","reset","button"].indexOf(e)}),U=(0,_vue.computed)(()=>{var{type:e,mode:t}=k;return"text"===t||"text"===e||a&&"text"===a.props.mode?"text":"button"}),$=(0,_vue.computed)(()=>{var e=k["status"];return e||(a?a.props.status:"")}),B=(0,_vue.computed)(()=>{var e=k["round"];return e||!!a&&a.props.round}),j=(0,_vue.computed)(()=>{var e=k["circle"];return e||!!a&&a.props.circle}),r=()=>{w.panelIndex<(0,_utils.getLastZIndex)()&&(w.panelIndex=(0,_utils.nextZIndex)())},v=()=>(0,_vue.nextTick)().then(()=>{var i=k["placement"],o=w["panelIndex"],u=S.value,a=z.value,e=I.value;if(a&&u){var l=u.offsetHeight,s=u.offsetWidth,r=a.offsetHeight,a=a.offsetWidth,o={zIndex:o},{top:u,left:v,boundingTop:d,visibleHeight:c,visibleWidth:p}=(0,_dom.getAbsolutePos)(u);let n="bottom";if(e){let e=v+s-a,t=u+l;"top"===i?(n="top",t=u-r):i||(c<d+l+r+5&&(n="top",t=u-r),t<5&&(n="bottom",t=u+l)),e+a+5>p&&(e-=e+a+5-p),e<5&&(e=5),Object.assign(o,{left:e+"px",right:"auto",top:t+"px",minWidth:s+"px"})}else"top"===i?(n="top",o.bottom=l+"px"):i||c<d+l+r&&5<d-l-r&&(n="top",o.bottom=l+"px");return w.panelStyle=o,w.panelPlacement=n,(0,_vue.nextTick)()}}),D=e=>{a?a.handleClick({name:k.name},e):p("click",{$event:e},e)},R=e=>{0===e.button&&e.stopPropagation()},V=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"),w.visiblePanel=!1,setTimeout(()=>{n&&"Y"===n.dataset.active||(w.visibleAnimate=!1)},350),p("dropdown-click",{name:i.getAttribute("name"),$event:e},e))},F=()=>{const e=z.value;e&&(e.dataset.active="Y",w.visibleAnimate=!0,setTimeout(()=>{"Y"===e.dataset.active&&(w.visiblePanel=!0,r(),v(),setTimeout(()=>{w.visiblePanel&&v()},50))},20))},H=e=>{d(),q(e)},G=e=>{c(),Y(e)},q=e=>{p("mouseenter",{},e)},Y=e=>{p("mouseleave",{},e)},W=e=>{var t=k["trigger"];"click"===t&&(w.visiblePanel?c:d)(),D(e)},d=()=>{var e=k["trigger"];const t=z.value;return t&&(t.dataset.active="Y",w.initialized||(w.initialized=!0),l.showTime=setTimeout(()=>{"Y"===t.dataset.active?F():w.visibleAnimate=!1},"click"===e?50:250)),(0,_vue.nextTick)()},c=()=>{const e=z.value;return clearTimeout(l.showTime),e?(e.dataset.active="N",setTimeout(()=>{"Y"!==e.dataset.active&&(w.visiblePanel=!1,setTimeout(()=>{"Y"!==e.dataset.active&&(w.visibleAnimate=!1)},350))},100)):(w.visibleAnimate=!1,w.visiblePanel=!1),(0,_vue.nextTick)()},Z=()=>{c()},L=()=>{var{content:e,icon:t,loading:n}=k,i=N.icon,o=N.default,u=[];return n?u.push((0,_vue.h)("i",{class:["vxe-button--loading-icon",(0,_ui.getIcon)().BUTTON_LOADING]})):i?u.push((0,_vue.h)("span",{class:"vxe-button--custom-icon"},i({}))):t&&u.push((0,_vue.h)("i",{class:["vxe-button--icon",t]})),o?u.push((0,_vue.h)("span",{class:"vxe-button--content"},o({}))):e&&u.push((0,_vue.h)("span",{class:"vxe-button--content"},(0,_utils.getFuncText)(e))),u},p=(e,t,n)=>{i(e,(0,_ui.createEvent)(n,{$button:E},t))},b=(t={dispatchEvent:p,openPanel:d,closePanel:c,focus(){var e=S.value;return e&&e.focus(),(0,_vue.nextTick)()},blur(){var e=S.value;return e&&e.blur(),(0,_vue.nextTick)()}},e=>{var t=z.value;w.visiblePanel&&!(0,_dom.getEventTargetNode)(e,t).flag&&c()}),m=e=>{var t,n=M.value,i=w["visiblePanel"];n||(n=O.value,t=z.value,w.isActivated=(0,_dom.getEventTargetNode)(e,n).flag||(0,_dom.getEventTargetNode)(e,t).flag,i&&!w.isActivated&&c())};Object.assign(E,t);return E.renderVN=()=>{var e,{className:t,popupClassName:n,align:i,trigger:o,title:u,routerLink:a,type:l,destroyOnClose:s,name:r,loading:v}=k,{initialized:d,visiblePanel:c}=w,p=A.value,b=U.value,m=$.value,_=B.value,g=j.value,f=I.value,x=M.value,h=C.value,T=P.value,y=N.dropdowns;return h.visible?y?(h={},e={},"hover"===o&&(h.onMouseenter=H,h.onMouseleave=G,e.onMouseenter=F,e.onMouseleave=Z),(0,_vue.h)("div",{ref:O,class:["vxe-button--dropdown",t?_xeUtils.default.isFunction(t)?t({$button:E}):t:"",{["size--"+T]:T,"is--active":c}]},[a?(0,_vue.h)((0,_vue.resolveComponent)("router-link"),Object.assign({ref:S,class:["vxe-button","vxe-button--link","type--"+b,i?"align--"+i:"",t?_xeUtils.default.isFunction(t)?t({$button:E}):t:"",{["size--"+T]:T,["theme--"+m]:m,"is--round":_,"is--circle":g,"is--disabled":x||v,"is--loading":v}],title:u,name:r,type:p?l:"button",disabled:x||v,to:a,onClick:W},h),{default(){return L().concat([(0,_vue.h)("i",{class:"vxe-button--dropdown-arrow "+(0,_ui.getIcon)().BUTTON_DROPDOWN})])}}):(0,_vue.h)("button",Object.assign({ref:S,class:["vxe-button","type--"+b,i?"align--"+i:"",t?_xeUtils.default.isFunction(t)?t({$button:E}):t:"",{["size--"+T]:T,["theme--"+m]:m,"is--round":_,"is--circle":g,"is--disabled":x||v,"is--loading":v}],title:u,name:r,type:p?l:"button",disabled:x||v,onClick:W},h),L().concat([(0,_vue.h)("i",{class:"vxe-button--dropdown-arrow "+(0,_ui.getIcon)().BUTTON_DROPDOWN})])),(0,_vue.h)(_vue.Teleport,{to:"body",disabled:!f||!d},[(0,_vue.h)("div",Object.assign({ref:z,class:["vxe-button--dropdown-panel",n?_xeUtils.default.isFunction(n)?n({$button:E}):n:"",{["size--"+T]:T,"ani--leave":w.visibleAnimate,"ani--enter":c}],placement:w.panelPlacement,style:w.panelStyle},e),d?[(0,_vue.h)("div",{class:"vxe-button--dropdown-wrapper",onMousedown:R,onClick:V},s&&!c?[]:y({}))]:[])])])):a?(0,_vue.h)((0,_vue.resolveComponent)("router-link"),{ref:S,class:["vxe-button","vxe-button--link","type--"+b,i?"align--"+i:"",t?_xeUtils.default.isFunction(t)?t({$button:E}):t:"",{["size--"+T]:T,["theme--"+m]:m,"is--round":_,"is--circle":g,"is--disabled":x||v,"is--loading":v}],title:u,name:r,type:p?l:"button",disabled:x||v,to:a,onClick:D,onMouseenter:q,onMouseleave:Y},{default(){return L()}}):(0,_vue.h)("button",{ref:S,class:["vxe-button","type--"+b,i?"align--"+i:"",t?_xeUtils.default.isFunction(t)?t({$button:E}):t:"",{["size--"+T]:T,["theme--"+m]:m,"is--round":_,"is--circle":g,"is--disabled":x||v,"is--loading":v}],title:u,name:r,type:p?l:"button",disabled:x||v,onClick:D,onMouseenter:q,onMouseleave:Y},L()):(0,_vue.createCommentVNode)()},(0,_vue.onMounted)(()=>{"development"===process.env.NODE_ENV&&"text"===k.type&&(0,_log.warnLog)("vxe.error.delProp",["type=text","mode=text"]),_ui.globalEvents.on(E,"mousewheel",b),_ui.globalEvents.on(E,"mousedown",m)}),(0,_vue.onUnmounted)(()=>{_ui.globalEvents.off(E,"mousewheel"),_ui.globalEvents.off(E,"mousedown")}),E},render(){return this.renderVN()}});
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_vue.defineComponent)({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},name:[String,Number],routerLink:Object,permissionCode:[String,Number],content:String,placement:String,status:String,title:String,icon:String,round:Boolean,circle:Boolean,disabled:Boolean,loading:Boolean,trigger:{type:String,default:()=>(0,_ui.getConfig)().button.trigger},align:String,destroyOnClose:{type:Boolean,default:()=>(0,_ui.getConfig)().button.destroyOnClose},transfer:{type:Boolean,default:null}},emits:["click","mouseenter","mouseleave","dropdown-click"],setup(k,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),a=(0,_vue.inject)("$xeForm",null),l=(0,_vue.inject)("$xeButtonGroup",null);var t=_xeUtils.default.uniqueId();const P=(0,_ui.useSize)(k)["computeSize"],w=(0,_ui.usePermission)(k)["computePermissionInfo"],C=(0,_vue.reactive)({initialized:!1,visiblePanel:!1,visibleAnimate:!1,isActivated:!1,panelIndex:0,panelStyle:{},panelPlacement:""}),s={showTime:null},O=(0,_vue.ref)(),S=(0,_vue.ref)(),z=(0,_vue.ref)(),r={refElem:O},E={xID:t,props:k,context:e,reactData:C,internalData:s,getRefMaps:()=>r};const I=(0,_vue.computed)(()=>{var e=k["transfer"];if(null===e){var t=(0,_ui.getConfig)().button.transfer;if(_xeUtils.default.isBoolean(t))return t;if(u||n||o||a)return!0}return e}),M=(0,_vue.computed)(()=>{var e=k["disabled"],t=w.value;return e||t.disabled}),$=(0,_vue.computed)(()=>{var e=k["type"];return!!e&&-1<["submit","reset","button"].indexOf(e)}),A=(0,_vue.computed)(()=>{var{type:e,mode:t}=k;return"text"===t||"text"===e||l&&"text"===l.props.mode?"text":"button"}),U=(0,_vue.computed)(()=>{var e=k["status"];return e||(l?l.props.status:"")}),j=(0,_vue.computed)(()=>{var e=k["round"];return e||!!l&&l.props.round}),B=(0,_vue.computed)(()=>{var e=k["circle"];return e||!!l&&l.props.circle}),b=()=>{C.panelIndex<(0,_utils.getLastZIndex)()&&(C.panelIndex=(0,_utils.nextZIndex)())},v=()=>(0,_vue.nextTick)().then(()=>{var i=k["placement"],o=C["panelIndex"],u=S.value,a=z.value,e=I.value;if(a&&u){var l=u.offsetHeight,s=u.offsetWidth,r=a.offsetHeight,a=a.offsetWidth,o={zIndex:o},{top:u,left:v,boundingTop:d,visibleHeight:c,visibleWidth:p}=(0,_dom.getAbsolutePos)(u);let n="bottom";if(e){let e=v+s-a,t=u+l;"top"===i?(n="top",t=u-r):i||(c<d+l+r+5&&(n="top",t=u-r),t<5&&(n="bottom",t=u+l)),e+a+5>p&&(e-=e+a+5-p),e<5&&(e=5),Object.assign(o,{left:e+"px",right:"auto",top:t+"px",minWidth:s+"px"})}else"top"===i?(n="top",o.bottom=l+"px"):i||c<d+l+r&&5<d-l-r&&(n="top",o.bottom=l+"px");return C.panelStyle=o,C.panelPlacement=n,(0,_vue.nextTick)()}}),D=e=>{l?l.handleClick({name:k.name},e):p("click",{$event:e},e)},R=e=>{0===e.button&&e.stopPropagation()},V=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"),C.visiblePanel=!1,setTimeout(()=>{n&&"Y"===n.dataset.active||(C.visibleAnimate=!1)},350),p("dropdown-click",{name:i.getAttribute("name"),$event:e},e))},F=()=>{const e=z.value;e&&(e.dataset.active="Y",C.visibleAnimate=!0,setTimeout(()=>{"Y"===e.dataset.active&&(C.visiblePanel=!0,b(),v(),setTimeout(()=>{C.visiblePanel&&v()},50))},20))},H=e=>{d(),q(e)},G=e=>{c(),Y(e)},q=e=>{p("mouseenter",{},e)},Y=e=>{p("mouseleave",{},e)},W=e=>{var t=k["trigger"];"click"===t&&(C.visiblePanel?c:d)(),D(e)},d=()=>{var e=k["trigger"];const t=z.value;return t&&(t.dataset.active="Y",C.initialized||(C.initialized=!0),s.showTime=setTimeout(()=>{"Y"===t.dataset.active?F():C.visibleAnimate=!1},"click"===e?50:250)),(0,_vue.nextTick)()},c=()=>{const e=z.value;return clearTimeout(s.showTime),e?(e.dataset.active="N",setTimeout(()=>{"Y"!==e.dataset.active&&(C.visiblePanel=!1,setTimeout(()=>{"Y"!==e.dataset.active&&(C.visibleAnimate=!1)},350))},100)):(C.visibleAnimate=!1,C.visiblePanel=!1),(0,_vue.nextTick)()},Z=()=>{c()},L=()=>{var{content:e,icon:t,loading:n}=k,i=N.icon,o=N.default,u=[];return n?u.push((0,_vue.h)("i",{class:["vxe-button--loading-icon",(0,_ui.getIcon)().BUTTON_LOADING]})):i?u.push((0,_vue.h)("span",{class:"vxe-button--custom-icon"},i({}))):t&&u.push((0,_vue.h)("i",{class:["vxe-button--icon",t]})),o?u.push((0,_vue.h)("span",{class:"vxe-button--content"},o({}))):e&&u.push((0,_vue.h)("span",{class:"vxe-button--content"},(0,_utils.getFuncText)(e))),u},p=(e,t,n)=>{i(e,(0,_ui.createEvent)(n,{$button:E},t))},m=(t={dispatchEvent:p,openPanel:d,closePanel:c,focus(){var e=S.value;return e&&e.focus(),(0,_vue.nextTick)()},blur(){var e=S.value;return e&&e.blur(),(0,_vue.nextTick)()}},e=>{var t=z.value;C.visiblePanel&&!(0,_dom.getEventTargetNode)(e,t).flag&&c()}),_=e=>{var t,n=M.value,i=C["visiblePanel"];n||(n=O.value,t=z.value,C.isActivated=(0,_dom.getEventTargetNode)(e,n).flag||(0,_dom.getEventTargetNode)(e,t).flag,i&&!C.isActivated&&c())};Object.assign(E,t);return E.renderVN=()=>{var e,{className:t,popupClassName:n,align:i,trigger:o,title:u,routerLink:a,type:l,destroyOnClose:s,name:r,loading:v}=k,{initialized:d,visiblePanel:c}=C,p=$.value,b=A.value,m=U.value,_=j.value,g=B.value,f=I.value,x=M.value,h=w.value,T=P.value,y=N.dropdowns;return h.visible?y?(h={},e={},"hover"===o&&(h.onMouseenter=H,h.onMouseleave=G,e.onMouseenter=F,e.onMouseleave=Z),(0,_vue.h)("div",{ref:O,class:["vxe-button--dropdown",t?_xeUtils.default.isFunction(t)?t({$button:E}):t:"",{["size--"+T]:T,"is--active":c}]},[a?(0,_vue.h)((0,_vue.resolveComponent)("router-link"),Object.assign({ref:S,class:["vxe-button","vxe-button--link","type--"+b,i?"align--"+i:"",t?_xeUtils.default.isFunction(t)?t({$button:E}):t:"",{["size--"+T]:T,["theme--"+m]:m,"is--round":_,"is--circle":g,"is--disabled":x||v,"is--loading":v}],title:u,name:r,type:p?l:"button",disabled:x||v,to:a,onClick:W},h),{default(){return L().concat([(0,_vue.h)("i",{class:"vxe-button--dropdown-arrow "+(0,_ui.getIcon)().BUTTON_DROPDOWN})])}}):(0,_vue.h)("button",Object.assign({ref:S,class:["vxe-button","type--"+b,i?"align--"+i:"",t?_xeUtils.default.isFunction(t)?t({$button:E}):t:"",{["size--"+T]:T,["theme--"+m]:m,"is--round":_,"is--circle":g,"is--disabled":x||v,"is--loading":v}],title:u,name:r,type:p?l:"button",disabled:x||v,onClick:W},h),L().concat([(0,_vue.h)("i",{class:"vxe-button--dropdown-arrow "+(0,_ui.getIcon)().BUTTON_DROPDOWN})])),(0,_vue.h)(_vue.Teleport,{to:"body",disabled:!f||!d},[(0,_vue.h)("div",Object.assign({ref:z,class:["vxe-button--dropdown-panel",n?_xeUtils.default.isFunction(n)?n({$button:E}):n:"",{["size--"+T]:T,"ani--leave":C.visibleAnimate,"ani--enter":c}],placement:C.panelPlacement,style:C.panelStyle},e),d?[(0,_vue.h)("div",{class:"vxe-button--dropdown-wrapper",onMousedown:R,onClick:V},s&&!c?[]:y({}))]:[])])])):a?(0,_vue.h)((0,_vue.resolveComponent)("router-link"),{ref:S,class:["vxe-button","vxe-button--link","type--"+b,i?"align--"+i:"",t?_xeUtils.default.isFunction(t)?t({$button:E}):t:"",{["size--"+T]:T,["theme--"+m]:m,"is--round":_,"is--circle":g,"is--disabled":x||v,"is--loading":v}],title:u,name:r,type:p?l:"button",disabled:x||v,to:a,onClick:D,onMouseenter:q,onMouseleave:Y},{default(){return L()}}):(0,_vue.h)("button",{ref:S,class:["vxe-button","type--"+b,i?"align--"+i:"",t?_xeUtils.default.isFunction(t)?t({$button:E}):t:"",{["size--"+T]:T,["theme--"+m]:m,"is--round":_,"is--circle":g,"is--disabled":x||v,"is--loading":v}],title:u,name:r,type:p?l:"button",disabled:x||v,onClick:D,onMouseenter:q,onMouseleave:Y},L()):(0,_vue.createCommentVNode)()},(0,_vue.onMounted)(()=>{"development"===process.env.NODE_ENV&&"text"===k.type&&(0,_log.warnLog)("vxe.error.delProp",["type=text","mode=text"]),_ui.globalEvents.on(E,"mousewheel",m),_ui.globalEvents.on(E,"mousedown",_)}),(0,_vue.onUnmounted)(()=>{_ui.globalEvents.off(E,"mousewheel"),_ui.globalEvents.off(E,"mousedown")}),E},render(){return this.renderVN()}});
@@ -65,9 +65,6 @@ var _default = exports.default = (0, _vue.defineComponent)({
65
65
  const {
66
66
  computeSize
67
67
  } = (0, _ui.useSize)(props);
68
- const yearSize = 12;
69
- const monthSize = 20;
70
- const quarterSize = 8;
71
68
  const reactData = (0, _vue.reactive)({
72
69
  selectValue: props.modelValue,
73
70
  inputValue: props.modelValue,
@@ -77,7 +74,24 @@ var _default = exports.default = (0, _vue.defineComponent)({
77
74
  selectMonth: null,
78
75
  currentDate: null
79
76
  });
77
+ const internalData = {
78
+ yearSize: 12,
79
+ monthSize: 20,
80
+ quarterSize: 8
81
+ };
80
82
  const refElem = (0, _vue.ref)();
83
+ const refMaps = {
84
+ refElem
85
+ };
86
+ const $xeCalendar = {
87
+ xID,
88
+ props,
89
+ context,
90
+ reactData,
91
+ internalData,
92
+ getRefMaps: () => refMaps
93
+ };
94
+ let calendarMethods = {};
81
95
  const computeCalendarStyle = (0, _vue.computed)(() => {
82
96
  const {
83
97
  height,
@@ -92,20 +106,6 @@ var _default = exports.default = (0, _vue.defineComponent)({
92
106
  }
93
107
  return stys;
94
108
  });
95
- const refMaps = {
96
- refElem
97
- };
98
- const $xeCalendar = {
99
- xID,
100
- props,
101
- context,
102
- reactData,
103
- getRefMaps: () => refMaps
104
- };
105
- let calendarMethods = {};
106
- const parseDate = (value, format) => {
107
- return _xeUtils.default.toStringDate(value, format);
108
- };
109
109
  const computeIsDisabled = (0, _vue.computed)(() => {
110
110
  return false;
111
111
  });
@@ -215,6 +215,9 @@ var _default = exports.default = (0, _vue.defineComponent)({
215
215
  selectMonth,
216
216
  currentDate
217
217
  } = reactData;
218
+ const {
219
+ yearSize
220
+ } = internalData;
218
221
  const years = [];
219
222
  if (selectMonth && currentDate) {
220
223
  const currFullYear = currentDate.getFullYear();
@@ -315,6 +318,9 @@ var _default = exports.default = (0, _vue.defineComponent)({
315
318
  selectMonth,
316
319
  currentDate
317
320
  } = reactData;
321
+ const {
322
+ quarterSize
323
+ } = internalData;
318
324
  const quarters = [];
319
325
  if (selectMonth && currentDate) {
320
326
  const currFullYear = currentDate.getFullYear();
@@ -347,6 +353,9 @@ var _default = exports.default = (0, _vue.defineComponent)({
347
353
  selectMonth,
348
354
  currentDate
349
355
  } = reactData;
356
+ const {
357
+ monthSize
358
+ } = internalData;
350
359
  const months = [];
351
360
  if (selectMonth && currentDate) {
352
361
  const currFullYear = currentDate.getFullYear();
@@ -429,7 +438,10 @@ var _default = exports.default = (0, _vue.defineComponent)({
429
438
  return [item].concat(list);
430
439
  });
431
440
  });
432
- const emitModel = (value, evnt) => {
441
+ const parseDate = (value, format) => {
442
+ return _xeUtils.default.toStringDate(value, format);
443
+ };
444
+ const handleChange = (value, evnt) => {
433
445
  reactData.inputValue = value;
434
446
  emit('update:modelValue', value);
435
447
  if (_xeUtils.default.toValueString(props.modelValue) !== value) {
@@ -522,18 +534,18 @@ var _default = exports.default = (0, _vue.defineComponent)({
522
534
  const dateMultipleValue = computeDateMultipleValue.value;
523
535
  // 如果是日期类型
524
536
  if (dateMultipleValue.some(val => _xeUtils.default.isEqual(val, inpVal))) {
525
- emitModel(dateMultipleValue.filter(val => !_xeUtils.default.isEqual(val, inpVal)).join(','), {
537
+ handleChange(dateMultipleValue.filter(val => !_xeUtils.default.isEqual(val, inpVal)).join(','), {
526
538
  type: 'update'
527
539
  });
528
540
  } else {
529
- emitModel(dateMultipleValue.concat([inpVal]).join(','), {
541
+ handleChange(dateMultipleValue.concat([inpVal]).join(','), {
530
542
  type: 'update'
531
543
  });
532
544
  }
533
545
  } else {
534
546
  // 如果为单选
535
547
  if (!_xeUtils.default.isEqual(modelValue, inpVal)) {
536
- emitModel(inpVal, {
548
+ handleChange(inpVal, {
537
549
  type: 'update'
538
550
  });
539
551
  }
@@ -566,6 +578,9 @@ var _default = exports.default = (0, _vue.defineComponent)({
566
578
  datePanelType,
567
579
  selectMonth
568
580
  } = reactData;
581
+ const {
582
+ yearSize
583
+ } = internalData;
569
584
  const isDisabledPrevDateBtn = computeIsDisabledPrevDateBtn.value;
570
585
  if (!isDisabledPrevDateBtn) {
571
586
  if (type === 'year') {
@@ -607,6 +622,9 @@ var _default = exports.default = (0, _vue.defineComponent)({
607
622
  datePanelType,
608
623
  selectMonth
609
624
  } = reactData;
625
+ const {
626
+ yearSize
627
+ } = internalData;
610
628
  const isDisabledNextDateBtn = computeIsDisabledNextDateBtn.value;
611
629
  if (!isDisabledNextDateBtn) {
612
630
  if (type === 'year') {
@@ -788,10 +806,10 @@ var _default = exports.default = (0, _vue.defineComponent)({
788
806
  class: ['vxe-calendar--date-label', {
789
807
  'is-notice': festivalItem.notice
790
808
  }]
791
- }, extraItem && extraItem.label ? [(0, _vue.h)('span', label), (0, _vue.h)('span', {
809
+ }, extraItem && extraItem.label ? [(0, _vue.h)('span', `${label || ''}`), (0, _vue.h)('span', {
792
810
  class: ['vxe-calendar--date-label--extra', extraItem.important ? 'is-important' : '', extraItem.className],
793
811
  style: extraItem.style
794
- }, _xeUtils.default.toValueString(extraItem.label))] : label)];
812
+ }, _xeUtils.default.toValueString(extraItem.label))] : [`${label || ''}`])];
795
813
  const festivalLabel = festivalItem.label;
796
814
  if (festivalLabel) {
797
815
  // 默认最多支持3个节日重叠
@@ -807,7 +825,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
807
825
  }
808
826
  return labels;
809
827
  }
810
- return label;
828
+ return `${label || ''}`;
811
829
  };
812
830
  const renderDateDayTable = () => {
813
831
  const {
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_ui=require("../../ui"),_util=require("../../date-picker/src/util"),_dom=require("../..//ui/src/dom"),_button=_interopRequireDefault(require("../../button/src/button")),_xeUtils=_interopRequireDefault(require("xe-utils"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_vue.defineComponent)({name:"VxeCalendar",props:{modelValue:[String,Number,Date],type:{type:String,default:"date"},className:String,size:{type:String,default:()=>(0,_ui.getConfig)().calendar.size||(0,_ui.getConfig)().size},multiple:Boolean,width:[String,Number],height:[String,Number],minDate:{type:[String,Number,Date],default:()=>(0,_ui.getConfig)().calendar.minDate},maxDate:{type:[String,Number,Date],default:()=>(0,_ui.getConfig)().calendar.maxDate},startDay:{type:[String,Number],default:()=>(0,_ui.getConfig)().calendar.startDay},labelFormat:String,valueFormat:String,festivalMethod:{type:Function,default:()=>(0,_ui.getConfig)().calendar.festivalMethod},disabledMethod:{type:Function,default:()=>(0,_ui.getConfig)().calendar.disabledMethod},selectDay:{type:[String,Number],default:()=>(0,_ui.getConfig)().calendar.selectDay}},emits:["update:modelValue","change","click","date-prev","date-today","date-next"],setup(T,e){const l=e["emit"];var P=_xeUtils.default.uniqueId();const S=(0,_ui.useSize)(T)["computeSize"],n=12,F=(0,_vue.reactive)({selectValue:T.modelValue,inputValue:T.modelValue,datePanelValue:null,datePanelLabel:"",datePanelType:"day",selectMonth:null,currentDate:null}),r=(0,_vue.ref)(),N=(0,_vue.computed)(()=>{var{height:e,width:t}=T,a={};return t&&(a.width=(0,_dom.toCssUnit)(t)),e&&(a.height=(0,_dom.toCssUnit)(e)),a}),V={refElem:r},u={xID:P,props:T,context:e,reactData:F,getRefMaps:()=>V};let i;const s=(e,t)=>_xeUtils.default.toStringDate(e,t),q=(0,_vue.computed)(()=>!1),d=(0,_vue.computed)(()=>-1<["date","week","month","quarter","year"].indexOf(T.type)),C=(0,_vue.computed)(()=>T.minDate?_xeUtils.default.toStringDate(T.minDate):null),Y=(0,_vue.computed)(()=>T.maxDate?_xeUtils.default.toStringDate(T.maxDate):null),k=(0,_vue.computed)(()=>-1<["date","week","month","quarter","year"].indexOf(T.type)),I=(0,_vue.computed)(()=>{var e=T["multiple"],t=F["selectValue"],a=d.value;const l=v.value;return e&&t&&a?_xeUtils.default.toValueString(t).split(",").map(e=>{e=s(e,l);return _xeUtils.default.isValidDate(e)?e:null}):[]}),W=(0,_vue.computed)(()=>{var e=I.value;const t=v.value;return e.map(e=>_xeUtils.default.toDateString(e,t))}),a=(0,_vue.computed)(()=>{var e=I.value;const t=p.value;return e.map(e=>_xeUtils.default.toDateString(e,t)).join(", ")}),v=(0,_vue.computed)(()=>{var e=T["valueFormat"];return e||"yyyy-MM-dd"}),E=(0,_vue.computed)(()=>{var e=F["selectValue"],t=d.value,a=v.value;let l=null;return l=e&&t&&(t=s(e,a),_xeUtils.default.isValidDate(t))?t:l}),o=(0,_vue.computed)(()=>{var e=C.value,t=F["selectMonth"];return!(!t||!e)&&t<=e}),c=(0,_vue.computed)(()=>{var e=Y.value,t=F["selectMonth"];return!(!t||!e)&&e<=t}),Q=(0,_vue.computed)(()=>{var e=E.value;return e?1e3*(3600*e.getHours()+60*e.getMinutes()+e.getSeconds()):0}),p=(0,_vue.computed)(()=>{var e=T["labelFormat"],t=d.value,a=v.value;return t?e||a||(0,_ui.getI18n)("vxe.input.date.labelFormat."+T.type):null}),_=(0,_vue.computed)(()=>{var{selectMonth:e,currentDate:t}=F,a=[];if(e&&t){var l=t.getFullYear(),t=e.getFullYear(),u=new Date(t-t%n,0,1);for(let e=-4;e<16;e++){var r=_xeUtils.default.getWhatYear(u,e,"first"),i=r.getFullYear();a.push({date:r,isCurrent:!0,isPrev:e<0,isNow:l===i,isNext:e>=n,year:i})}}return a}),B=(0,_vue.computed)(()=>{if(d.value){var{datePanelType:a,selectMonth:l}=F,u=_.value;let e="",t;return l&&(e=l.getFullYear(),t=l.getMonth()+1),"quarter"===a?(0,_ui.getI18n)("vxe.input.date.quarterLabel",[e]):"month"===a?(0,_ui.getI18n)("vxe.input.date.monthLabel",[e]):"year"===a?u.length?u[0].year+" - "+u[u.length-1].year:"":(0,_ui.getI18n)("vxe.input.date.dayLabel",[e,t?(0,_ui.getI18n)("vxe.input.date.m"+t):"-"])}return""}),m=(0,_vue.computed)(()=>{var e=T["startDay"];return _xeUtils.default.toNumber(e)}),h=(0,_vue.computed)(()=>{var a=[];if(d.value){let t=m.value;a.push(t);for(let e=0;e<6;e++)6<=t?t=0:t++,a.push(t)}return a}),L=(0,_vue.computed)(()=>{return d.value?h.value.map(e=>({value:e,label:(0,_ui.getI18n)("vxe.input.date.weeks.w"+e)})):[]}),H=(0,_vue.computed)(()=>{var e;return d.value?(e=L.value,[{label:(0,_ui.getI18n)("vxe.input.date.weeks.w")}].concat(e)):[]}),A=(0,_vue.computed)(()=>{var e=_.value;return _xeUtils.default.chunk(e,4)}),f=(0,_vue.computed)(()=>{var{selectMonth:e,currentDate:t}=F,a=[];if(e&&t){var l=t.getFullYear(),u=(0,_util.getDateQuarter)(t),r=_xeUtils.default.getWhatYear(e,0,"first"),i=r.getFullYear();for(let e=-2;e<6;e++){var n=_xeUtils.default.getWhatQuarter(r,e),s=n.getFullYear(),d=(0,_util.getDateQuarter)(n),v=s<i;a.push({date:n,isPrev:v,isCurrent:s===i,isNow:s===l&&d===u,isNext:!v&&i<s,quarter:d})}}return a}),G=(0,_vue.computed)(()=>{var e=f.value;return _xeUtils.default.chunk(e,2)}),y=(0,_vue.computed)(()=>{var{selectMonth:t,currentDate:e}=F,a=[];if(t&&e){var l=e.getFullYear(),u=e.getMonth(),r=_xeUtils.default.getWhatYear(t,0,"first").getFullYear();for(let e=-4;e<16;e++){var i=_xeUtils.default.getWhatYear(t,0,e),n=i.getFullYear(),s=i.getMonth(),d=n<r;a.push({date:i,isPrev:d,isCurrent:n===r,isNow:n===l&&s===u,isNext:!d&&r<n,month:s})}}return a}),J=(0,_vue.computed)(()=>{var e=y.value;return _xeUtils.default.chunk(e,4)}),x=(0,_vue.computed)(()=>{var{selectMonth:t,currentDate:e}=F,a=[];if(t&&e){var l=Q.value,u=h.value,r=e.getFullYear(),i=e.getMonth(),n=e.getDate(),s=t.getFullYear(),d=t.getMonth(),e=t.getDay(),u=-u.indexOf(e),v=new Date(_xeUtils.default.getWhatDay(t,u).getTime()+l);for(let e=0;e<42;e++){var o=_xeUtils.default.getWhatDay(v,e),c=o.getFullYear(),p=o.getMonth(),_=o.getDate(),m=o<t;a.push({date:o,isPrev:m,isCurrent:c===s&&p===d,isNow:c===r&&p===i&&_===n,isNext:!m&&d!==p,label:_})}}return a}),O=(0,_vue.computed)(()=>{var e=x.value;return _xeUtils.default.chunk(e,7)}),K=(0,_vue.computed)(()=>{var e=O.value;const a=m.value;return e.map(e=>{var t=e[0];return[{date:t.date,isWeekNumber:!0,isPrev:!1,isCurrent:!1,isNow:!1,isNext:!1,label:_xeUtils.default.getYearWeek(t.date,a)}].concat(e)})}),g=(e,t)=>{F.inputValue=e,l("update:modelValue",e),_xeUtils.default.toValueString(T.modelValue)!==e&&i.dispatchEvent("change",{value:e},t)},b=e=>{var t=T["type"],a=p.value,l=v.value,u=m.value;let r=null,i="";e&&(r=s(e,l)),_xeUtils.default.isValidDate(r)?(i=_xeUtils.default.toDateString(r,a,{firstDay:u}),a&&"week"===t&&_xeUtils.default.getWhatWeek(r,0,u,u).getFullYear()<r.getFullYear()&&-1<(e=a.indexOf("yyyy"))&&(l=Number(i.substring(e,e+4)))&&!isNaN(l)&&(i=i.replace(""+l,""+(l-1)))):r=null,F.datePanelValue=r,F.datePanelLabel=i},t=()=>{var e=d.value,t=F["inputValue"];e&&(b(t),F.inputValue=T.multiple?a.value:F.datePanelLabel)},D=()=>{d.value&&t()},U=e=>{e=_xeUtils.default.getWhatMonth(e,0,"first");_xeUtils.default.isEqual(e,F.selectMonth)||(F.selectMonth=e)},M=e=>{var t,{modelValue:a,multiple:l}=T,u=v.value,r=m.value;"week"===T.type&&(t=_xeUtils.default.toNumber(T.selectDay),e=_xeUtils.default.getWhatWeek(e,0,t,r));const i=_xeUtils.default.toDateString(e,u,{firstDay:r});U(e),F.selectValue=e,l?(t=W.value).some(e=>_xeUtils.default.isEqual(e,i))?g(t.filter(e=>!_xeUtils.default.isEqual(e,i)).join(","),{type:"update"}):g(t.concat([i]).join(","),{type:"update"}):_xeUtils.default.isEqual(a,i)||g(i,{type:"update"})},w=(e,t)=>{F.selectMonth=_xeUtils.default.getWhatMonth(e,t,"first")},X=()=>{var e=_xeUtils.default.getWhatDay(Date.now(),0,"first");F.currentDate=e,w(e,0)},Z=()=>{let e=F["datePanelType"];e="month"===e||"quarter"===e?"year":"month",F.datePanelType=e},ee=e=>{var t=T["type"],{datePanelType:a,selectMonth:l}=F;o.value||(F.selectMonth="year"===t?_xeUtils.default.getWhatYear(l,-n,"first"):"month"===t||"quarter"===t?"year"===a?_xeUtils.default.getWhatYear(l,-n,"first"):_xeUtils.default.getWhatYear(l,-1,"first"):"year"===a?_xeUtils.default.getWhatYear(l,-n,"first"):"month"===a?_xeUtils.default.getWhatYear(l,-1,"first"):_xeUtils.default.getWhatMonth(l,-1,"first"),i.dispatchEvent("date-prev",{type:t},e))},te=e=>{X(),T.multiple||M(F.currentDate),i.dispatchEvent("date-today",{type:T.type},e)},ae=e=>{var t=T["type"],{datePanelType:a,selectMonth:l}=F;c.value||(F.selectMonth="year"===t?_xeUtils.default.getWhatYear(l,n,"first"):"month"===t||"quarter"===t?"year"===a?_xeUtils.default.getWhatYear(l,n,"first"):_xeUtils.default.getWhatYear(l,1,"first"):"year"===a?_xeUtils.default.getWhatYear(l,n,"first"):"month"===a?_xeUtils.default.getWhatYear(l,1,"first"):_xeUtils.default.getWhatMonth(l,1,"first"),i.dispatchEvent("date-next",{type:t},e))},$=e=>{var t=T["disabledMethod"],a=F["datePanelType"];return t&&t({type:a,viewType:a,date:e.date,$calendar:u})},j=e=>{var t,a;$(e)||(e=e.date,t=T.type,a=F.datePanelType,("month"===t?"year"===a?(F.datePanelType="month",U):M:"year"===t?M:"quarter"===t?"year"===a?(F.datePanelType="quarter",U):M:"month"===a?(F.datePanelType="week"===t?t:"day",U):"year"===a?(F.datePanelType="month",U):M)(e))},z=e=>{var t,a,l,u,r;$(e)||(t=F["datePanelType"],"month"===t?(r=e.date,$({date:r})||(y.value.some(e=>_xeUtils.default.isDateSame(e.date,r,"yyyyMM"))||U(r),b(r))):"quarter"===t?(u=e.date,$({date:u})||(f.value.some(e=>_xeUtils.default.isDateSame(e.date,u,"yyyyq"))||U(u),b(u))):"year"===t?(l=e.date,$({date:l})||(_.value.some(e=>_xeUtils.default.isDateSame(e.date,l,"yyyy"))||U(l),b(l))):(a=e.date,$({date:a})||(x.value.some(e=>_xeUtils.default.isDateSame(e.date,a,"yyyyMMdd"))||U(a),b(a))))},le=()=>{},ue=()=>{var e=T["type"],t=E.value;-1<["year","quarter","month","week"].indexOf(e)?F.datePanelType=e:F.datePanelType="day",F.currentDate=_xeUtils.default.getWhatDay(Date.now(),0,"first"),t?(w(t,0),b(t)):X()},R=(e,t)=>{var a,l=T["festivalMethod"];return l?(a=F["datePanelType"],e=(a=(l=l({type:a,viewType:a,date:e.date,$calendar:u}))?_xeUtils.default.isString(l)?{label:l}:l:{}).extra?_xeUtils.default.isString(a.extra)?{label:a.extra}:a.extra:null,l=[(0,_vue.h)("span",{class:["vxe-calendar--date-label",{"is-notice":a.notice}]},e&&e.label?[(0,_vue.h)("span",t),(0,_vue.h)("span",{class:["vxe-calendar--date-label--extra",e.important?"is-important":"",e.className],style:e.style},_xeUtils.default.toValueString(e.label))]:t)],(e=a.label)&&(e=_xeUtils.default.toValueString(e).split(","),l.push((0,_vue.h)("span",{class:["vxe-calendar--date-festival",a.important?"is-important":"",a.className],style:a.style},[1<e.length?(0,_vue.h)("span",{class:["vxe-calendar--date-festival--overlap","overlap--"+e.length]},e.map(e=>(0,_vue.h)("span",e.substring(0,3)))):(0,_vue.h)("span",{class:"vxe-calendar--date-festival--label"},e[0].substring(0,3))]))),l):t},re=()=>{var e=F["datePanelType"];switch(e){case"week":{const r=T["multiple"],{datePanelType:i,datePanelValue:n}=F,s=E.value;var t=H.value,a=K.value;const d=I.value,v="yyyyMMdd";return[(0,_vue.h)("table",{class:`vxe-calendar--date-${i}-view`,cellspacing:0,cellpadding:0,border:0},[(0,_vue.h)("tr",t.map(e=>(0,_vue.h)("td",{class:"vxe-calendar--view-th"},e.label))),...a.map(e=>{const t=r?e.some(t=>d.some(e=>_xeUtils.default.isDateSame(e,t.date,v))):e.some(e=>_xeUtils.default.isDateSame(s,e.date,v)),a=e.some(e=>_xeUtils.default.isDateSame(n,e.date,v));return(0,_vue.h)("tr",e.map(e=>(0,_vue.h)("td",{class:["vxe-calendar--view-td",{"is--prev":e.isPrev,"is--current":e.isCurrent,"is--now":e.isNow,"is--next":e.isNext,"is--disabled":$(e),"is--selected":t,"is--hover":a}],onClick:()=>j(e),onMouseenter:()=>z(e)},R(e,e.label))))})])];return}case"month":{const o=T["multiple"],{datePanelType:c,datePanelValue:p}=F,_=E.value;t=J.value;const m=I.value,h="yyyyMM";return[(0,_vue.h)("table",{class:`vxe-calendar--date-${c}-view`,cellspacing:0,cellpadding:0,border:0},[(0,_vue.h)("tbody",t.map(e=>(0,_vue.h)("tr",e.map(t=>(0,_vue.h)("td",{class:["vxe-calendar--view-td",{"is--prev":t.isPrev,"is--current":t.isCurrent,"is--now":t.isNow,"is--next":t.isNext,"is--disabled":$(t),"is--selected":o?m.some(e=>_xeUtils.default.isDateSame(e,t.date,h)):_xeUtils.default.isDateSame(_,t.date,h),"is--hover":_xeUtils.default.isDateSame(p,t.date,h)}],onClick:()=>j(t),onMouseenter:()=>z(t)},R(t,(0,_ui.getI18n)("vxe.input.date.months.m"+t.month)))))))])];return}case"quarter":{const f=T["multiple"],{datePanelType:y,datePanelValue:x}=F,g=E.value;a=G.value;const b=I.value,D="yyyyq";return[(0,_vue.h)("table",{class:`vxe-calendar--date-${y}-view`,cellspacing:0,cellpadding:0,border:0},[(0,_vue.h)("tbody",a.map(e=>(0,_vue.h)("tr",e.map(t=>(0,_vue.h)("td",{class:["vxe-calendar--view-td",{"is--prev":t.isPrev,"is--current":t.isCurrent,"is--now":t.isNow,"is--next":t.isNext,"is--disabled":$(t),"is--selected":f?b.some(e=>_xeUtils.default.isDateSame(e,t.date,D)):_xeUtils.default.isDateSame(g,t.date,D),"is--hover":_xeUtils.default.isDateSame(x,t.date,D)}],onClick:()=>j(t),onMouseenter:()=>z(t)},R(t,(0,_ui.getI18n)("vxe.input.date.quarters.q"+t.quarter)))))))])];return}case"year":{const U=T["multiple"],{datePanelType:M,datePanelValue:w}=F,P=E.value;var l=A.value;const S=I.value,N="yyyy";return[(0,_vue.h)("table",{class:`vxe-calendar--date-${M}-view`,cellspacing:0,cellpadding:0,border:0},[(0,_vue.h)("tbody",l.map(e=>(0,_vue.h)("tr",e.map(t=>(0,_vue.h)("td",{class:["vxe-calendar--view-td",{"is--prev":t.isPrev,"is--current":t.isCurrent,"is--now":t.isNow,"is--next":t.isNext,"is--disabled":$(t),"is--selected":U?S.some(e=>_xeUtils.default.isDateSame(e,t.date,N)):_xeUtils.default.isDateSame(P,t.date,N),"is--hover":_xeUtils.default.isDateSame(w,t.date,N)}],onClick:()=>j(t),onMouseenter:()=>z(t)},R(t,t.year))))))])];return}}{const V=T["multiple"],{datePanelType:q,datePanelValue:C}=F,Y=E.value;var e=L.value,u=O.value;const k=I.value,W="yyyyMMdd";return[(0,_vue.h)("table",{class:`vxe-calendar--date-${q}-view`,cellspacing:0,cellpadding:0,border:0},[(0,_vue.h)("tr",e.map(e=>(0,_vue.h)("th",{class:"vxe-calendar--view-th"},e.label))),...u.map(e=>(0,_vue.h)("tr",e.map(t=>(0,_vue.h)("td",{class:["vxe-calendar--view-td",{"is--prev":t.isPrev,"is--current":t.isCurrent,"is--now":t.isNow,"is--next":t.isNext,"is--disabled":$(t),"is--selected":V?k.some(e=>_xeUtils.default.isDateSame(e,t.date,W)):_xeUtils.default.isDateSame(Y,t.date,W),"is--hover":_xeUtils.default.isDateSame(C,t.date,W)}],onClick:()=>j(t),onMouseenter:()=>z(t)},R(t,t.label)))))])]}};i={dispatchEvent(e,t,a){l(e,(0,_ui.createEvent)(a,{$input:u},t))}},Object.assign(u,i);return u.renderVN=()=>{var{className:e,type:t}=T,a=S.value,l=q.value,u=N.value;return(0,_vue.h)("div",{ref:r,class:["vxe-calendar","type--"+t,e,{["size--"+a]:a,"is--disabled":l}],style:u},[(t=T.multiple,e=F.datePanelType,a=o.value,l=c.value,u=B.value,[(0,_vue.h)("div",{class:"vxe-calendar--header"},[(0,_vue.h)("div",{class:"vxe-calendar--type-wrapper"},[(0,_vue.h)(_button.default,{disabled:"year"===e,content:u,onClick:Z})]),(0,_vue.h)("div",{class:"vxe-calendar--btn-wrapper"},[(0,_vue.h)(_button.default,{disabled:a,icon:"vxe-icon-caret-left",onClick:ee}),(0,_vue.h)(_button.default,{icon:"vxe-icon-dot",onClick:te}),(0,_vue.h)(_button.default,{disabled:l,icon:"vxe-icon-caret-right",onClick:ae}),t&&k.value?(0,_vue.h)("span",{class:"vxe-calendar--btn vxe-calendar--confirm-btn"},[(0,_vue.h)("button",{class:"vxe-calendar--confirm",type:"button",onClick:le},(0,_ui.getI18n)("vxe.button.confirm"))]):null])]),(0,_vue.h)("div",{class:"vxe-calendar--body"},re())])])},(0,_vue.watch)(()=>T.modelValue,e=>{F.inputValue=e,t()}),(0,_vue.watch)(()=>T.type,()=>{Object.assign(F,{selectValue:null,inputValue:null,datePanelValue:null,datePanelLabel:"",datePanelType:"day",selectMonth:null,currentDate:null}),D(),ue()}),(0,_vue.watch)(p,()=>{d.value&&(b(F.datePanelValue),F.inputValue=T.multiple?a.value:F.datePanelLabel)}),(0,_vue.onMounted)(()=>{ue()}),D(),u},render(){return this.renderVN()}});
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_ui=require("../../ui"),_util=require("../../date-picker/src/util"),_dom=require("../..//ui/src/dom"),_button=_interopRequireDefault(require("../../button/src/button")),_xeUtils=_interopRequireDefault(require("xe-utils"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_vue.defineComponent)({name:"VxeCalendar",props:{modelValue:[String,Number,Date],type:{type:String,default:"date"},className:String,size:{type:String,default:()=>(0,_ui.getConfig)().calendar.size||(0,_ui.getConfig)().size},multiple:Boolean,width:[String,Number],height:[String,Number],minDate:{type:[String,Number,Date],default:()=>(0,_ui.getConfig)().calendar.minDate},maxDate:{type:[String,Number,Date],default:()=>(0,_ui.getConfig)().calendar.maxDate},startDay:{type:[String,Number],default:()=>(0,_ui.getConfig)().calendar.startDay},labelFormat:String,valueFormat:String,festivalMethod:{type:Function,default:()=>(0,_ui.getConfig)().calendar.festivalMethod},disabledMethod:{type:Function,default:()=>(0,_ui.getConfig)().calendar.disabledMethod},selectDay:{type:[String,Number],default:()=>(0,_ui.getConfig)().calendar.selectDay}},emits:["update:modelValue","change","click","date-prev","date-today","date-next"],setup(T,e){const l=e["emit"];var w=_xeUtils.default.uniqueId();const P=(0,_ui.useSize)(T)["computeSize"],F=(0,_vue.reactive)({selectValue:T.modelValue,inputValue:T.modelValue,datePanelValue:null,datePanelLabel:"",datePanelType:"day",selectMonth:null,currentDate:null}),c={yearSize:12,monthSize:20,quarterSize:8},r=(0,_vue.ref)(),N={refElem:r},u={xID:w,props:T,context:e,reactData:F,internalData:c,getRefMaps:()=>N};let i;const V=(0,_vue.computed)(()=>{var{height:e,width:t}=T,a={};return t&&(a.width=(0,_dom.toCssUnit)(t)),e&&(a.height=(0,_dom.toCssUnit)(e)),a}),q=(0,_vue.computed)(()=>!1),n=(0,_vue.computed)(()=>-1<["date","week","month","quarter","year"].indexOf(T.type)),C=(0,_vue.computed)(()=>T.minDate?_xeUtils.default.toStringDate(T.minDate):null),Y=(0,_vue.computed)(()=>T.maxDate?_xeUtils.default.toStringDate(T.maxDate):null),k=(0,_vue.computed)(()=>-1<["date","week","month","quarter","year"].indexOf(T.type)),z=(0,_vue.computed)(()=>{var e=T["multiple"],t=F["selectValue"],a=n.value;const l=s.value;return e&&t&&a?_xeUtils.default.toValueString(t).split(",").map(e=>{e=x(e,l);return _xeUtils.default.isValidDate(e)?e:null}):[]}),W=(0,_vue.computed)(()=>{var e=z.value;const t=s.value;return e.map(e=>_xeUtils.default.toDateString(e,t))}),a=(0,_vue.computed)(()=>{var e=z.value;const t=o.value;return e.map(e=>_xeUtils.default.toDateString(e,t)).join(", ")}),s=(0,_vue.computed)(()=>{var e=T["valueFormat"];return e||"yyyy-MM-dd"}),I=(0,_vue.computed)(()=>{var e=F["selectValue"],t=n.value,a=s.value;let l=null;return l=e&&t&&(t=x(e,a),_xeUtils.default.isValidDate(t))?t:l}),d=(0,_vue.computed)(()=>{var e=C.value,t=F["selectMonth"];return!(!t||!e)&&t<=e}),v=(0,_vue.computed)(()=>{var e=Y.value,t=F["selectMonth"];return!(!t||!e)&&e<=t}),Q=(0,_vue.computed)(()=>{var e=I.value;return e?1e3*(3600*e.getHours()+60*e.getMinutes()+e.getSeconds()):0}),o=(0,_vue.computed)(()=>{var e=T["labelFormat"],t=n.value,a=s.value;return t?e||a||(0,_ui.getI18n)("vxe.input.date.labelFormat."+T.type):null}),p=(0,_vue.computed)(()=>{var{selectMonth:e,currentDate:t}=F,a=c["yearSize"],l=[];if(e&&t){var u=t.getFullYear(),t=e.getFullYear(),r=new Date(t-t%a,0,1);for(let e=-4;e<a+4;e++){var i=_xeUtils.default.getWhatYear(r,e,"first"),n=i.getFullYear();l.push({date:i,isCurrent:!0,isPrev:e<0,isNow:u===n,isNext:e>=a,year:n})}}return l}),B=(0,_vue.computed)(()=>{if(n.value){var{datePanelType:a,selectMonth:l}=F,u=p.value;let e="",t;return l&&(e=l.getFullYear(),t=l.getMonth()+1),"quarter"===a?(0,_ui.getI18n)("vxe.input.date.quarterLabel",[e]):"month"===a?(0,_ui.getI18n)("vxe.input.date.monthLabel",[e]):"year"===a?u.length?u[0].year+" - "+u[u.length-1].year:"":(0,_ui.getI18n)("vxe.input.date.dayLabel",[e,t?(0,_ui.getI18n)("vxe.input.date.m"+t):"-"])}return""}),_=(0,_vue.computed)(()=>{var e=T["startDay"];return _xeUtils.default.toNumber(e)}),h=(0,_vue.computed)(()=>{var a=[];if(n.value){let t=_.value;a.push(t);for(let e=0;e<6;e++)6<=t?t=0:t++,a.push(t)}return a}),E=(0,_vue.computed)(()=>{return n.value?h.value.map(e=>({value:e,label:(0,_ui.getI18n)("vxe.input.date.weeks.w"+e)})):[]}),H=(0,_vue.computed)(()=>{var e;return n.value?(e=E.value,[{label:(0,_ui.getI18n)("vxe.input.date.weeks.w")}].concat(e)):[]}),A=(0,_vue.computed)(()=>{var e=p.value;return _xeUtils.default.chunk(e,4)}),m=(0,_vue.computed)(()=>{var{selectMonth:e,currentDate:t}=F,a=c["quarterSize"],l=[];if(e&&t){var u=t.getFullYear(),r=(0,_util.getDateQuarter)(t),i=_xeUtils.default.getWhatYear(e,0,"first"),n=i.getFullYear();for(let e=-2;e<a-2;e++){var s=_xeUtils.default.getWhatQuarter(i,e),d=s.getFullYear(),v=(0,_util.getDateQuarter)(s),o=d<n;l.push({date:s,isPrev:o,isCurrent:d===n,isNow:d===u&&v===r,isNext:!o&&n<d,quarter:v})}}return l}),G=(0,_vue.computed)(()=>{var e=m.value;return _xeUtils.default.chunk(e,2)}),y=(0,_vue.computed)(()=>{var{selectMonth:t,currentDate:e}=F,a=c["monthSize"],l=[];if(t&&e){var u=e.getFullYear(),r=e.getMonth(),i=_xeUtils.default.getWhatYear(t,0,"first").getFullYear();for(let e=-4;e<a-4;e++){var n=_xeUtils.default.getWhatYear(t,0,e),s=n.getFullYear(),d=n.getMonth(),v=s<i;l.push({date:n,isPrev:v,isCurrent:s===i,isNow:s===u&&d===r,isNext:!v&&i<s,month:d})}}return l}),J=(0,_vue.computed)(()=>{var e=y.value;return _xeUtils.default.chunk(e,4)}),f=(0,_vue.computed)(()=>{var{selectMonth:t,currentDate:e}=F,a=[];if(t&&e){var l=Q.value,u=h.value,r=e.getFullYear(),i=e.getMonth(),n=e.getDate(),s=t.getFullYear(),d=t.getMonth(),e=t.getDay(),u=-u.indexOf(e),v=new Date(_xeUtils.default.getWhatDay(t,u).getTime()+l);for(let e=0;e<42;e++){var o=_xeUtils.default.getWhatDay(v,e),c=o.getFullYear(),p=o.getMonth(),_=o.getDate(),m=o<t;a.push({date:o,isPrev:m,isCurrent:c===s&&p===d,isNow:c===r&&p===i&&_===n,isNext:!m&&d!==p,label:_})}}return a}),L=(0,_vue.computed)(()=>{var e=f.value;return _xeUtils.default.chunk(e,7)}),K=(0,_vue.computed)(()=>{var e=L.value;const a=_.value;return e.map(e=>{var t=e[0];return[{date:t.date,isWeekNumber:!0,isPrev:!1,isCurrent:!1,isNow:!1,isNext:!1,label:_xeUtils.default.getYearWeek(t.date,a)}].concat(e)})}),x=(e,t)=>_xeUtils.default.toStringDate(e,t),g=(e,t)=>{F.inputValue=e,l("update:modelValue",e),_xeUtils.default.toValueString(T.modelValue)!==e&&i.dispatchEvent("change",{value:e},t)},b=e=>{var t=T["type"],a=o.value,l=s.value,u=_.value;let r=null,i="";e&&(r=x(e,l)),_xeUtils.default.isValidDate(r)?(i=_xeUtils.default.toDateString(r,a,{firstDay:u}),a&&"week"===t&&_xeUtils.default.getWhatWeek(r,0,u,u).getFullYear()<r.getFullYear()&&-1<(e=a.indexOf("yyyy"))&&(l=Number(i.substring(e,e+4)))&&!isNaN(l)&&(i=i.replace(""+l,""+(l-1)))):r=null,F.datePanelValue=r,F.datePanelLabel=i},t=()=>{var e=n.value,t=F["inputValue"];e&&(b(t),F.inputValue=T.multiple?a.value:F.datePanelLabel)},D=()=>{n.value&&t()},U=e=>{e=_xeUtils.default.getWhatMonth(e,0,"first");_xeUtils.default.isEqual(e,F.selectMonth)||(F.selectMonth=e)},S=e=>{var t,{modelValue:a,multiple:l}=T,u=s.value,r=_.value;"week"===T.type&&(t=_xeUtils.default.toNumber(T.selectDay),e=_xeUtils.default.getWhatWeek(e,0,t,r));const i=_xeUtils.default.toDateString(e,u,{firstDay:r});U(e),F.selectValue=e,l?(t=W.value).some(e=>_xeUtils.default.isEqual(e,i))?g(t.filter(e=>!_xeUtils.default.isEqual(e,i)).join(","),{type:"update"}):g(t.concat([i]).join(","),{type:"update"}):_xeUtils.default.isEqual(a,i)||g(i,{type:"update"})},M=(e,t)=>{F.selectMonth=_xeUtils.default.getWhatMonth(e,t,"first")},X=()=>{var e=_xeUtils.default.getWhatDay(Date.now(),0,"first");F.currentDate=e,M(e,0)},Z=()=>{let e=F["datePanelType"];e="month"===e||"quarter"===e?"year":"month",F.datePanelType=e},ee=e=>{var t=T["type"],{datePanelType:a,selectMonth:l}=F,u=c["yearSize"];d.value||(F.selectMonth="year"===t?_xeUtils.default.getWhatYear(l,-u,"first"):"month"===t||"quarter"===t?"year"===a?_xeUtils.default.getWhatYear(l,-u,"first"):_xeUtils.default.getWhatYear(l,-1,"first"):"year"===a?_xeUtils.default.getWhatYear(l,-u,"first"):"month"===a?_xeUtils.default.getWhatYear(l,-1,"first"):_xeUtils.default.getWhatMonth(l,-1,"first"),i.dispatchEvent("date-prev",{type:t},e))},te=e=>{X(),T.multiple||S(F.currentDate),i.dispatchEvent("date-today",{type:T.type},e)},ae=e=>{var t=T["type"],{datePanelType:a,selectMonth:l}=F,u=c["yearSize"];v.value||(F.selectMonth="year"===t?_xeUtils.default.getWhatYear(l,u,"first"):"month"===t||"quarter"===t?"year"===a?_xeUtils.default.getWhatYear(l,u,"first"):_xeUtils.default.getWhatYear(l,1,"first"):"year"===a?_xeUtils.default.getWhatYear(l,u,"first"):"month"===a?_xeUtils.default.getWhatYear(l,1,"first"):_xeUtils.default.getWhatMonth(l,1,"first"),i.dispatchEvent("date-next",{type:t},e))},O=e=>{var t=T["disabledMethod"],a=F["datePanelType"];return t&&t({type:a,viewType:a,date:e.date,$calendar:u})},$=e=>{var t,a;O(e)||(e=e.date,t=T.type,a=F.datePanelType,("month"===t?"year"===a?(F.datePanelType="month",U):S:"year"===t?S:"quarter"===t?"year"===a?(F.datePanelType="quarter",U):S:"month"===a?(F.datePanelType="week"===t?t:"day",U):"year"===a?(F.datePanelType="month",U):S)(e))},j=e=>{var t,a,l,u,r;O(e)||(t=F["datePanelType"],"month"===t?(r=e.date,O({date:r})||(y.value.some(e=>_xeUtils.default.isDateSame(e.date,r,"yyyyMM"))||U(r),b(r))):"quarter"===t?(u=e.date,O({date:u})||(m.value.some(e=>_xeUtils.default.isDateSame(e.date,u,"yyyyq"))||U(u),b(u))):"year"===t?(l=e.date,O({date:l})||(p.value.some(e=>_xeUtils.default.isDateSame(e.date,l,"yyyy"))||U(l),b(l))):(a=e.date,O({date:a})||(f.value.some(e=>_xeUtils.default.isDateSame(e.date,a,"yyyyMMdd"))||U(a),b(a))))},le=()=>{},ue=()=>{var e=T["type"],t=I.value;-1<["year","quarter","month","week"].indexOf(e)?F.datePanelType=e:F.datePanelType="day",F.currentDate=_xeUtils.default.getWhatDay(Date.now(),0,"first"),t?(M(t,0),b(t)):X()},R=(e,t)=>{var a,l=T["festivalMethod"];return l?(a=F["datePanelType"],e=(a=(l=l({type:a,viewType:a,date:e.date,$calendar:u}))?_xeUtils.default.isString(l)?{label:l}:l:{}).extra?_xeUtils.default.isString(a.extra)?{label:a.extra}:a.extra:null,l=[(0,_vue.h)("span",{class:["vxe-calendar--date-label",{"is-notice":a.notice}]},e&&e.label?[(0,_vue.h)("span",""+(t||"")),(0,_vue.h)("span",{class:["vxe-calendar--date-label--extra",e.important?"is-important":"",e.className],style:e.style},_xeUtils.default.toValueString(e.label))]:[""+(t||"")])],(e=a.label)&&(e=_xeUtils.default.toValueString(e).split(","),l.push((0,_vue.h)("span",{class:["vxe-calendar--date-festival",a.important?"is-important":"",a.className],style:a.style},[1<e.length?(0,_vue.h)("span",{class:["vxe-calendar--date-festival--overlap","overlap--"+e.length]},e.map(e=>(0,_vue.h)("span",e.substring(0,3)))):(0,_vue.h)("span",{class:"vxe-calendar--date-festival--label"},e[0].substring(0,3))]))),l):""+(t||"")},re=()=>{var e=F["datePanelType"];switch(e){case"week":{const r=T["multiple"],{datePanelType:i,datePanelValue:n}=F,s=I.value;var t=H.value,a=K.value;const d=z.value,v="yyyyMMdd";return[(0,_vue.h)("table",{class:`vxe-calendar--date-${i}-view`,cellspacing:0,cellpadding:0,border:0},[(0,_vue.h)("tr",t.map(e=>(0,_vue.h)("td",{class:"vxe-calendar--view-th"},e.label))),...a.map(e=>{const t=r?e.some(t=>d.some(e=>_xeUtils.default.isDateSame(e,t.date,v))):e.some(e=>_xeUtils.default.isDateSame(s,e.date,v)),a=e.some(e=>_xeUtils.default.isDateSame(n,e.date,v));return(0,_vue.h)("tr",e.map(e=>(0,_vue.h)("td",{class:["vxe-calendar--view-td",{"is--prev":e.isPrev,"is--current":e.isCurrent,"is--now":e.isNow,"is--next":e.isNext,"is--disabled":O(e),"is--selected":t,"is--hover":a}],onClick:()=>$(e),onMouseenter:()=>j(e)},R(e,e.label))))})])];return}case"month":{const o=T["multiple"],{datePanelType:c,datePanelValue:p}=F,_=I.value;t=J.value;const m=z.value,h="yyyyMM";return[(0,_vue.h)("table",{class:`vxe-calendar--date-${c}-view`,cellspacing:0,cellpadding:0,border:0},[(0,_vue.h)("tbody",t.map(e=>(0,_vue.h)("tr",e.map(t=>(0,_vue.h)("td",{class:["vxe-calendar--view-td",{"is--prev":t.isPrev,"is--current":t.isCurrent,"is--now":t.isNow,"is--next":t.isNext,"is--disabled":O(t),"is--selected":o?m.some(e=>_xeUtils.default.isDateSame(e,t.date,h)):_xeUtils.default.isDateSame(_,t.date,h),"is--hover":_xeUtils.default.isDateSame(p,t.date,h)}],onClick:()=>$(t),onMouseenter:()=>j(t)},R(t,(0,_ui.getI18n)("vxe.input.date.months.m"+t.month)))))))])];return}case"quarter":{const y=T["multiple"],{datePanelType:f,datePanelValue:x}=F,g=I.value;a=G.value;const b=z.value,D="yyyyq";return[(0,_vue.h)("table",{class:`vxe-calendar--date-${f}-view`,cellspacing:0,cellpadding:0,border:0},[(0,_vue.h)("tbody",a.map(e=>(0,_vue.h)("tr",e.map(t=>(0,_vue.h)("td",{class:["vxe-calendar--view-td",{"is--prev":t.isPrev,"is--current":t.isCurrent,"is--now":t.isNow,"is--next":t.isNext,"is--disabled":O(t),"is--selected":y?b.some(e=>_xeUtils.default.isDateSame(e,t.date,D)):_xeUtils.default.isDateSame(g,t.date,D),"is--hover":_xeUtils.default.isDateSame(x,t.date,D)}],onClick:()=>$(t),onMouseenter:()=>j(t)},R(t,(0,_ui.getI18n)("vxe.input.date.quarters.q"+t.quarter)))))))])];return}case"year":{const U=T["multiple"],{datePanelType:S,datePanelValue:M}=F,w=I.value;var l=A.value;const P=z.value,N="yyyy";return[(0,_vue.h)("table",{class:`vxe-calendar--date-${S}-view`,cellspacing:0,cellpadding:0,border:0},[(0,_vue.h)("tbody",l.map(e=>(0,_vue.h)("tr",e.map(t=>(0,_vue.h)("td",{class:["vxe-calendar--view-td",{"is--prev":t.isPrev,"is--current":t.isCurrent,"is--now":t.isNow,"is--next":t.isNext,"is--disabled":O(t),"is--selected":U?P.some(e=>_xeUtils.default.isDateSame(e,t.date,N)):_xeUtils.default.isDateSame(w,t.date,N),"is--hover":_xeUtils.default.isDateSame(M,t.date,N)}],onClick:()=>$(t),onMouseenter:()=>j(t)},R(t,t.year))))))])];return}}{const V=T["multiple"],{datePanelType:q,datePanelValue:C}=F,Y=I.value;var e=E.value,u=L.value;const k=z.value,W="yyyyMMdd";return[(0,_vue.h)("table",{class:`vxe-calendar--date-${q}-view`,cellspacing:0,cellpadding:0,border:0},[(0,_vue.h)("tr",e.map(e=>(0,_vue.h)("th",{class:"vxe-calendar--view-th"},e.label))),...u.map(e=>(0,_vue.h)("tr",e.map(t=>(0,_vue.h)("td",{class:["vxe-calendar--view-td",{"is--prev":t.isPrev,"is--current":t.isCurrent,"is--now":t.isNow,"is--next":t.isNext,"is--disabled":O(t),"is--selected":V?k.some(e=>_xeUtils.default.isDateSame(e,t.date,W)):_xeUtils.default.isDateSame(Y,t.date,W),"is--hover":_xeUtils.default.isDateSame(C,t.date,W)}],onClick:()=>$(t),onMouseenter:()=>j(t)},R(t,t.label)))))])]}};i={dispatchEvent(e,t,a){l(e,(0,_ui.createEvent)(a,{$input:u},t))}},Object.assign(u,i);return u.renderVN=()=>{var{className:e,type:t}=T,a=P.value,l=q.value,u=V.value;return(0,_vue.h)("div",{ref:r,class:["vxe-calendar","type--"+t,e,{["size--"+a]:a,"is--disabled":l}],style:u},[(t=T.multiple,e=F.datePanelType,a=d.value,l=v.value,u=B.value,[(0,_vue.h)("div",{class:"vxe-calendar--header"},[(0,_vue.h)("div",{class:"vxe-calendar--type-wrapper"},[(0,_vue.h)(_button.default,{disabled:"year"===e,content:u,onClick:Z})]),(0,_vue.h)("div",{class:"vxe-calendar--btn-wrapper"},[(0,_vue.h)(_button.default,{disabled:a,icon:"vxe-icon-caret-left",onClick:ee}),(0,_vue.h)(_button.default,{icon:"vxe-icon-dot",onClick:te}),(0,_vue.h)(_button.default,{disabled:l,icon:"vxe-icon-caret-right",onClick:ae}),t&&k.value?(0,_vue.h)("span",{class:"vxe-calendar--btn vxe-calendar--confirm-btn"},[(0,_vue.h)("button",{class:"vxe-calendar--confirm",type:"button",onClick:le},(0,_ui.getI18n)("vxe.button.confirm"))]):null])]),(0,_vue.h)("div",{class:"vxe-calendar--body"},re())])])},(0,_vue.watch)(()=>T.modelValue,e=>{F.inputValue=e,t()}),(0,_vue.watch)(()=>T.type,()=>{Object.assign(F,{selectValue:null,inputValue:null,datePanelValue:null,datePanelLabel:"",datePanelType:"day",selectMonth:null,currentDate:null}),D(),ue()}),(0,_vue.watch)(o,()=>{n.value&&(b(F.datePanelValue),F.inputValue=T.multiple?a.value:F.datePanelLabel)}),(0,_vue.onMounted)(()=>{ue()}),D(),u},render(){return this.renderVN()}});
@@ -70,12 +70,13 @@ var _default = exports.default = (0, _vue.defineComponent)({
70
70
  getRefMaps: () => refMaps,
71
71
  getComputeMaps: () => computeMaps
72
72
  };
73
+ const dispatchEvent = (type, params, evnt) => {
74
+ emit(type, (0, _ui.createEvent)(evnt, {
75
+ $card: $xeCard
76
+ }, params));
77
+ };
73
78
  const cardMethods = {
74
- dispatchEvent(type, params, evnt) {
75
- emit(type, (0, _ui.createEvent)(evnt, {
76
- $card: $xeCard
77
- }, params));
78
- }
79
+ dispatchEvent
79
80
  };
80
81
  const cardPrivateMethods = {};
81
82
  Object.assign($xeCard, cardMethods, cardPrivateMethods);