vxe-pc-ui 3.3.67 → 3.3.69

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 (183) hide show
  1. package/es/button/src/button-group.js +3 -2
  2. package/es/button/src/button.js +21 -7
  3. package/es/button/style.css +4 -3
  4. package/es/button/style.min.css +1 -1
  5. package/es/button-group/style.css +8 -2
  6. package/es/button-group/style.min.css +1 -1
  7. package/es/date-picker/src/date-picker.js +103 -22
  8. package/es/date-picker/style.css +37 -12
  9. package/es/date-picker/style.min.css +1 -1
  10. package/es/form/src/form-group.js +2 -2
  11. package/es/form/src/form-item.js +2 -2
  12. package/es/form/src/form.js +2 -2
  13. package/es/icon/style.css +1 -1
  14. package/es/image/src/group.js +2 -2
  15. package/es/image/src/image.js +2 -2
  16. package/es/input/src/input.js +2 -2
  17. package/es/language/ar-EG.js +1 -0
  18. package/es/language/de-DE.js +1 -0
  19. package/es/language/en-US.js +1 -0
  20. package/es/language/es-ES.js +1 -0
  21. package/es/language/fr-FR.js +1 -0
  22. package/es/language/hu-HU.js +1 -0
  23. package/es/language/hy-AM.js +1 -0
  24. package/es/language/it-IT.js +1 -0
  25. package/es/language/ja-JP.js +1 -0
  26. package/es/language/ko-KR.js +1 -0
  27. package/es/language/nb-NO.js +1 -0
  28. package/es/language/pt-BR.js +1 -0
  29. package/es/language/ru-RU.js +1 -0
  30. package/es/language/th-TH.js +1 -0
  31. package/es/language/ug-CN.js +1 -0
  32. package/es/language/uk-UA.js +1 -0
  33. package/es/language/vi-VN.js +1 -0
  34. package/es/language/zh-CHT.js +1 -0
  35. package/es/language/zh-CN.js +1 -0
  36. package/es/layout-aside/src/layout-aside.js +2 -2
  37. package/es/layout-body/src/layout-body.js +2 -2
  38. package/es/layout-container/src/layout-container.js +2 -2
  39. package/es/layout-footer/src/layout-footer.js +2 -2
  40. package/es/layout-header/src/layout-header.js +2 -2
  41. package/es/modal/src/modal.js +2 -2
  42. package/es/pager/src/pager.js +2 -2
  43. package/es/pulldown/src/pulldown.js +2 -2
  44. package/es/select/src/optgroup.js +2 -2
  45. package/es/select/src/option.js +2 -2
  46. package/es/select/src/select.js +2 -2
  47. package/es/style.css +1 -1
  48. package/es/style.min.css +1 -1
  49. package/es/switch/src/switch.js +2 -2
  50. package/es/table-select/src/table-select.js +2 -2
  51. package/es/tabs/src/tab-pane.js +2 -2
  52. package/es/tabs/src/tabs.js +2 -2
  53. package/es/tree/src/tree.js +2 -2
  54. package/es/tree-select/src/tree-select.js +2 -2
  55. package/es/ui/index.js +8 -2
  56. package/es/ui/src/log.js +1 -1
  57. package/es/upload/src/upload.js +2 -2
  58. package/es/vxe-button/style.css +4 -3
  59. package/es/vxe-button/style.min.css +1 -1
  60. package/es/vxe-button-group/style.css +8 -2
  61. package/es/vxe-button-group/style.min.css +1 -1
  62. package/es/vxe-date-picker/style.css +37 -12
  63. package/es/vxe-date-picker/style.min.css +1 -1
  64. package/helper/vetur/attributes.json +1 -1
  65. package/helper/vetur/tags.json +1 -1
  66. package/lib/button/src/button-group.js +1 -0
  67. package/lib/button/src/button-group.min.js +1 -1
  68. package/lib/button/src/button.js +18 -5
  69. package/lib/button/src/button.min.js +1 -1
  70. package/lib/button/style/style.css +4 -3
  71. package/lib/button/style/style.min.css +1 -1
  72. package/lib/button-group/style/style.css +8 -2
  73. package/lib/button-group/style/style.min.css +1 -1
  74. package/lib/date-picker/src/date-picker.js +103 -19
  75. package/lib/date-picker/src/date-picker.min.js +1 -1
  76. package/lib/date-picker/style/style.css +37 -12
  77. package/lib/date-picker/style/style.min.css +1 -1
  78. package/lib/icon/style/style.css +1 -1
  79. package/lib/icon/style/style.min.css +1 -1
  80. package/lib/index.umd.js +132 -27
  81. package/lib/index.umd.min.js +1 -1
  82. package/lib/language/ar-EG.js +1 -0
  83. package/lib/language/ar-EG.min.js +1 -1
  84. package/lib/language/de-DE.js +1 -0
  85. package/lib/language/de-DE.min.js +1 -1
  86. package/lib/language/en-US.js +1 -0
  87. package/lib/language/en-US.min.js +1 -1
  88. package/lib/language/en-US.umd.js +1 -0
  89. package/lib/language/es-ES.js +1 -0
  90. package/lib/language/es-ES.min.js +1 -1
  91. package/lib/language/es-ES.umd.js +1 -0
  92. package/lib/language/fr-FR.js +1 -0
  93. package/lib/language/fr-FR.min.js +1 -1
  94. package/lib/language/hu-HU.js +1 -0
  95. package/lib/language/hu-HU.min.js +1 -1
  96. package/lib/language/hu-HU.umd.js +1 -0
  97. package/lib/language/hy-AM.js +1 -0
  98. package/lib/language/hy-AM.min.js +1 -1
  99. package/lib/language/it-IT.js +1 -0
  100. package/lib/language/it-IT.min.js +1 -1
  101. package/lib/language/ja-JP.js +1 -0
  102. package/lib/language/ja-JP.min.js +1 -1
  103. package/lib/language/ja-JP.umd.js +1 -0
  104. package/lib/language/ko-KR.js +1 -0
  105. package/lib/language/ko-KR.min.js +1 -1
  106. package/lib/language/ko-KR.umd.js +1 -0
  107. package/lib/language/nb-NO.js +1 -0
  108. package/lib/language/nb-NO.min.js +1 -1
  109. package/lib/language/pt-BR.js +1 -0
  110. package/lib/language/pt-BR.min.js +1 -1
  111. package/lib/language/pt-BR.umd.js +1 -0
  112. package/lib/language/ru-RU.js +1 -0
  113. package/lib/language/ru-RU.min.js +1 -1
  114. package/lib/language/ru-RU.umd.js +1 -0
  115. package/lib/language/th-TH.js +1 -0
  116. package/lib/language/th-TH.min.js +1 -1
  117. package/lib/language/ug-CN.js +1 -0
  118. package/lib/language/ug-CN.min.js +1 -1
  119. package/lib/language/uk-UA.js +1 -0
  120. package/lib/language/uk-UA.min.js +1 -1
  121. package/lib/language/uk-UA.umd.js +1 -0
  122. package/lib/language/vi-VN.js +1 -0
  123. package/lib/language/vi-VN.min.js +1 -1
  124. package/lib/language/zh-CHT.js +1 -0
  125. package/lib/language/zh-CHT.min.js +1 -1
  126. package/lib/language/zh-CHT.umd.js +1 -0
  127. package/lib/language/zh-CN.js +1 -0
  128. package/lib/language/zh-CN.min.js +1 -1
  129. package/lib/language/zh-CN.umd.js +1 -0
  130. package/lib/style.css +1 -1
  131. package/lib/style.min.css +1 -1
  132. package/lib/ui/index.js +8 -2
  133. package/lib/ui/index.min.js +1 -1
  134. package/lib/ui/src/log.js +1 -1
  135. package/lib/ui/src/log.min.js +1 -1
  136. package/lib/vxe-button/style/style.css +4 -3
  137. package/lib/vxe-button/style/style.min.css +1 -1
  138. package/lib/vxe-button-group/style/style.css +8 -2
  139. package/lib/vxe-button-group/style/style.min.css +1 -1
  140. package/lib/vxe-date-picker/style/style.css +37 -12
  141. package/lib/vxe-date-picker/style/style.min.css +1 -1
  142. package/package.json +1 -1
  143. package/packages/button/src/button-group.ts +1 -0
  144. package/packages/button/src/button.ts +20 -5
  145. package/packages/date-picker/src/date-picker.ts +104 -21
  146. package/packages/language/ar-EG.ts +1 -0
  147. package/packages/language/de-DE.ts +1 -0
  148. package/packages/language/en-US.ts +1 -0
  149. package/packages/language/es-ES.ts +1 -0
  150. package/packages/language/fr-FR.ts +1 -0
  151. package/packages/language/hu-HU.ts +1 -0
  152. package/packages/language/hy-AM.ts +1 -0
  153. package/packages/language/it-IT.ts +1 -0
  154. package/packages/language/ja-JP.ts +1 -0
  155. package/packages/language/ko-KR.ts +1 -0
  156. package/packages/language/nb-NO.ts +1 -0
  157. package/packages/language/pt-BR.ts +1 -0
  158. package/packages/language/ru-RU.ts +1 -0
  159. package/packages/language/th-TH.ts +1 -0
  160. package/packages/language/ug-CN.ts +1 -0
  161. package/packages/language/uk-UA.ts +1 -0
  162. package/packages/language/vi-VN.ts +1 -0
  163. package/packages/language/zh-CHT.ts +1 -0
  164. package/packages/language/zh-CN.ts +1 -0
  165. package/packages/ui/index.ts +7 -1
  166. package/styles/components/button-group.scss +14 -2
  167. package/styles/components/button.scss +7 -5
  168. package/styles/components/date-picker.scss +33 -11
  169. package/types/components/button-group.d.ts +3 -1
  170. package/types/components/button.d.ts +2 -2
  171. package/types/components/date-picker.d.ts +33 -2
  172. /package/es/icon/{iconfont.1736058590017.ttf → iconfont.1736122964282.ttf} +0 -0
  173. /package/es/icon/{iconfont.1736058590017.woff → iconfont.1736122964282.woff} +0 -0
  174. /package/es/icon/{iconfont.1736058590017.woff2 → iconfont.1736122964282.woff2} +0 -0
  175. /package/es/{iconfont.1736058590017.ttf → iconfont.1736122964282.ttf} +0 -0
  176. /package/es/{iconfont.1736058590017.woff → iconfont.1736122964282.woff} +0 -0
  177. /package/es/{iconfont.1736058590017.woff2 → iconfont.1736122964282.woff2} +0 -0
  178. /package/lib/icon/style/{iconfont.1736058590017.ttf → iconfont.1736122964282.ttf} +0 -0
  179. /package/lib/icon/style/{iconfont.1736058590017.woff → iconfont.1736122964282.woff} +0 -0
  180. /package/lib/icon/style/{iconfont.1736058590017.woff2 → iconfont.1736122964282.woff2} +0 -0
  181. /package/lib/{iconfont.1736058590017.ttf → iconfont.1736122964282.ttf} +0 -0
  182. /package/lib/{iconfont.1736058590017.woff → iconfont.1736122964282.woff} +0 -0
  183. /package/lib/{iconfont.1736058590017.woff2 → iconfont.1736122964282.woff2} +0 -0
@@ -2,7 +2,7 @@ import { defineVxeComponent } from '../../ui/src/comp';
2
2
  import XEUtils from 'xe-utils';
3
3
  import { getConfig, createEvent, globalMixins, renderEmptyElement } from '@vxe-ui/core';
4
4
  import VxeButtonComponent from './button';
5
- export default defineVxeComponent({
5
+ export default {
6
6
  name: 'VxeButtonGroup',
7
7
  mixins: [
8
8
  globalMixins.sizeMixin,
@@ -15,6 +15,7 @@ export default defineVxeComponent({
15
15
  round: Boolean,
16
16
  vertical: Boolean,
17
17
  circle: Boolean,
18
+ align: String,
18
19
  className: [String, Function],
19
20
  disabled: Boolean,
20
21
  permissionCode: [String, Number],
@@ -86,4 +87,4 @@ export default defineVxeComponent({
86
87
  render(h) {
87
88
  return this.renderVN(h);
88
89
  }
89
- });
90
+ };
@@ -5,7 +5,7 @@ import { getAbsolutePos, getEventTargetNode } from '../../ui/src/dom';
5
5
  import { getFuncText, getLastZIndex, nextZIndex } from '../../ui/src/utils';
6
6
  import { warnLog } from '../../ui/src/log';
7
7
  import VxeTooltipComponent from '../../tooltip/src/tooltip';
8
- export default defineVxeComponent({
8
+ export default {
9
9
  name: 'VxeButton',
10
10
  mixins: [
11
11
  globalMixins.sizeMixin,
@@ -200,6 +200,19 @@ export default defineVxeComponent({
200
200
  }
201
201
  return false;
202
202
  },
203
+ computeBtnAlign() {
204
+ const $xeButton = this;
205
+ const props = $xeButton;
206
+ const { align } = props;
207
+ const $xeButtonGroup = $xeButton.$xeButtonGroup;
208
+ if (align) {
209
+ return align;
210
+ }
211
+ if ($xeButtonGroup) {
212
+ return $xeButtonGroup.align;
213
+ }
214
+ return false;
215
+ },
203
216
  computeBtnCircle() {
204
217
  const $xeButton = this;
205
218
  const props = $xeButton;
@@ -572,13 +585,14 @@ export default defineVxeComponent({
572
585
  const props = $xeButton;
573
586
  const slots = $xeButton.$scopedSlots;
574
587
  const reactData = $xeButton.reactData;
575
- const { className, popupClassName, align, trigger, title, routerLink, type, destroyOnClose, name, loading } = props;
588
+ const { className, popupClassName, trigger, title, routerLink, type, destroyOnClose, name, loading } = props;
576
589
  const { initialized, isAniVisible, visiblePanel } = reactData;
577
590
  const isFormBtn = $xeButton.computeIsFormBtn;
578
591
  const btnMode = $xeButton.computeBtnMode;
579
592
  const btnStatus = $xeButton.computeBtnStatus;
580
593
  const btnRound = $xeButton.computeBtnRound;
581
594
  const btnCircle = $xeButton.computeBtnCircle;
595
+ const btnAlign = $xeButton.computeBtnAlign;
582
596
  const btnDisabled = $xeButton.computeBtnDisabled;
583
597
  const permissionInfo = $xeButton.computePermissionInfo;
584
598
  const vSize = $xeButton.computeSize;
@@ -606,7 +620,7 @@ export default defineVxeComponent({
606
620
  routerLink
607
621
  ? h('router-link', {
608
622
  ref: 'refButton',
609
- class: ['vxe-button', 'vxe-button--link', `type--${btnMode}`, align ? `align--${align}` : '', className ? (XEUtils.isFunction(className) ? className({ $button: $xeButton }) : className) : '', {
623
+ class: ['vxe-button', 'vxe-button--link', `type--${btnMode}`, btnAlign ? `align--${btnAlign}` : '', className ? (XEUtils.isFunction(className) ? className({ $button: $xeButton }) : className) : '', {
610
624
  [`size--${vSize}`]: vSize,
611
625
  [`theme--${btnStatus}`]: btnStatus,
612
626
  'is--round': btnRound,
@@ -630,7 +644,7 @@ export default defineVxeComponent({
630
644
  ]))
631
645
  : h('button', {
632
646
  ref: 'refButton',
633
- class: ['vxe-button', `type--${btnMode}`, align ? `align--${align}` : '', className ? (XEUtils.isFunction(className) ? className({ $button: $xeButton }) : className) : '', {
647
+ class: ['vxe-button', `type--${btnMode}`, btnAlign ? `align--${btnAlign}` : '', className ? (XEUtils.isFunction(className) ? className({ $button: $xeButton }) : className) : '', {
634
648
  [`size--${vSize}`]: vSize,
635
649
  [`theme--${btnStatus}`]: btnStatus,
636
650
  'is--round': btnRound,
@@ -678,7 +692,7 @@ export default defineVxeComponent({
678
692
  if (routerLink) {
679
693
  return h('router-link', {
680
694
  ref: 'refButton',
681
- class: ['vxe-button', 'vxe-button--link', `type--${btnMode}`, align ? `align--${align}` : '', className ? (XEUtils.isFunction(className) ? className({ $button: $xeButton }) : className) : '', {
695
+ class: ['vxe-button', 'vxe-button--link', `type--${btnMode}`, btnAlign ? `align--${btnAlign}` : '', className ? (XEUtils.isFunction(className) ? className({ $button: $xeButton }) : className) : '', {
682
696
  [`size--${vSize}`]: vSize,
683
697
  [`theme--${btnStatus}`]: btnStatus,
684
698
  'is--round': btnRound,
@@ -703,7 +717,7 @@ export default defineVxeComponent({
703
717
  }
704
718
  return h('button', {
705
719
  ref: 'refButton',
706
- class: ['vxe-button', `type--${btnMode}`, align ? `align--${align}` : '', className ? (XEUtils.isFunction(className) ? className({ $button: $xeButton }) : className) : '', {
720
+ class: ['vxe-button', `type--${btnMode}`, btnAlign ? `align--${btnAlign}` : '', className ? (XEUtils.isFunction(className) ? className({ $button: $xeButton }) : className) : '', {
707
721
  [`size--${vSize}`]: vSize,
708
722
  [`theme--${btnStatus}`]: btnStatus,
709
723
  'is--round': btnRound,
@@ -751,4 +765,4 @@ export default defineVxeComponent({
751
765
  render(h) {
752
766
  return this.renderVN(h);
753
767
  }
754
- });
768
+ };
@@ -444,6 +444,10 @@
444
444
  margin-left: 0.72em;
445
445
  }
446
446
 
447
+ .vxe-button--dropdown + .vxe-button-wrapper, .vxe-button--dropdown + .vxe-button.type--button, .vxe-button--dropdown + .vxe-button--dropdown {
448
+ margin-left: 0.72em;
449
+ }
450
+
447
451
  .vxe-button--loading-icon,
448
452
  .vxe-button--icon {
449
453
  min-width: var(--vxe-ui-font-size-default);
@@ -470,9 +474,6 @@
470
474
  position: relative;
471
475
  outline: 0;
472
476
  }
473
- .vxe-button--dropdown + .vxe-button-wrapper, .vxe-button--dropdown + .vxe-button.type--button, .vxe-button--dropdown + .vxe-button--dropdown {
474
- margin-left: 12px;
475
- }
476
477
  .vxe-button--dropdown > .vxe-button.type--button.theme--primary {
477
478
  color: #fff;
478
479
  }
@@ -1 +1 @@
1
- .vxe-button{display:inline-flex;flex-direction:row;align-items:center;justify-content:center;vertical-align:middle;position:relative;background-color:var(--vxe-ui-layout-background-color);outline:0;font-size:var(--vxe-ui-font-size-default);max-width:var(--vxe-ui-button-max-width);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;transition:border .2s ease-in-out}.vxe-button.align--left{justify-content:left}.vxe-button.align--center{justify-content:center}.vxe-button.align--right{justify-content:right}.vxe-button:not(.is--disabled){color:var(--vxe-ui-font-color);cursor:pointer}.vxe-button.is--loading{cursor:progress}.vxe-button.is--loading:before{content:"";position:absolute;left:-1px;top:-1px;right:-1px;bottom:-1px;border-radius:inherit;background-color:hsla(0,0%,100%,.35);pointer-events:none}.vxe-button.is--disabled{color:var(--vxe-ui-font-disabled-color)}.vxe-button.is--disabled:not(.is--loading){cursor:no-drop}.vxe-button.type--text{text-decoration:none;border:0;padding:.1em .5em;background-color:transparent;text-decoration:none}.vxe-button.type--text:not(.is--disabled):focus{color:var(--vxe-ui-font-darken-color)}.vxe-button.type--text:not(.is--disabled):hover{color:var(--vxe-ui-font-primary-lighten-color)}.vxe-button.type--text:not(.is--disabled):active{color:var(--vxe-ui-font-primary-darken-color)}.vxe-button.type--text.theme--primary{color:var(--vxe-ui-font-primary-color)}.vxe-button.type--text.theme--primary:not(.is--disabled):focus{color:var(--vxe-ui-font-primary-darken-color)}.vxe-button.type--text.theme--primary:not(.is--disabled):hover{color:var(--vxe-ui-font-primary-lighten-color)}.vxe-button.type--text.theme--primary:not(.is--disabled):active{color:var(--vxe-ui-font-primary-darken-color)}.vxe-button.type--text.theme--primary.is--disabled{color:var(--vxe-ui-font-primary-disabled-color)}.vxe-button.type--text.theme--success{color:var(--vxe-ui-status-success-color)}.vxe-button.type--text.theme--success:not(.is--disabled):focus{color:var(--vxe-ui-status-success-darken-color)}.vxe-button.type--text.theme--success:not(.is--disabled):hover{color:var(--vxe-ui-status-success-lighten-color)}.vxe-button.type--text.theme--success:not(.is--disabled):active{color:var(--vxe-ui-status-success-darken-color)}.vxe-button.type--text.theme--success.is--disabled{color:var(--vxe-ui-status-success-disabled-color)}.vxe-button.type--text.theme--info{color:var(--vxe-ui-status-info-color)}.vxe-button.type--text.theme--info:not(.is--disabled):focus{color:var(--vxe-ui-status-info-darken-color)}.vxe-button.type--text.theme--info:not(.is--disabled):hover{color:var(--vxe-ui-status-info-lighten-color)}.vxe-button.type--text.theme--info:not(.is--disabled):active{color:var(--vxe-ui-status-info-darken-color)}.vxe-button.type--text.theme--info.is--disabled{color:var(--vxe-ui-status-info-disabled-color)}.vxe-button.type--text.theme--warning{color:var(--vxe-ui-status-warning-color)}.vxe-button.type--text.theme--warning:not(.is--disabled):focus{color:var(--vxe-ui-status-warning-darken-color)}.vxe-button.type--text.theme--warning:not(.is--disabled):hover{color:var(--vxe-ui-status-warning-lighten-color)}.vxe-button.type--text.theme--warning:not(.is--disabled):active{color:var(--vxe-ui-status-warning-darken-color)}.vxe-button.type--text.theme--warning.is--disabled{color:var(--vxe-ui-status-warning-disabled-color)}.vxe-button.type--text.theme--danger{color:var(--vxe-ui-status-danger-color)}.vxe-button.type--text.theme--danger:not(.is--disabled):focus{color:var(--vxe-ui-status-danger-darken-color)}.vxe-button.type--text.theme--danger:not(.is--disabled):hover{color:var(--vxe-ui-status-danger-lighten-color)}.vxe-button.type--text.theme--danger:not(.is--disabled):active{color:var(--vxe-ui-status-danger-darken-color)}.vxe-button.type--text.theme--danger.is--disabled{color:var(--vxe-ui-status-danger-disabled-color)}.vxe-button.type--text.theme--error{color:var(--vxe-ui-status-error-color)}.vxe-button.type--text.theme--error:not(.is--disabled):focus{color:var(--vxe-ui-status-error-darken-color)}.vxe-button.type--text.theme--error:not(.is--disabled):hover{color:var(--vxe-ui-status-error-lighten-color)}.vxe-button.type--text.theme--error:not(.is--disabled):active{color:var(--vxe-ui-status-error-darken-color)}.vxe-button.type--text.theme--error.is--disabled{color:var(--vxe-ui-status-error-disabled-color)}.vxe-button.type--text.theme--perfect{color:var(--vxe-ui-table-header-background-color)}.vxe-button.type--text.theme--perfect:not(.is--disabled):focus{color:var(--vxe-ui-table-header-background-color)}.vxe-button.type--text.theme--perfect:not(.is--disabled):hover{color:var(--vxe-ui-table-header-background-color)}.vxe-button.type--text.theme--perfect:not(.is--disabled):active{color:var(--vxe-ui-table-header-background-color)}.vxe-button.type--text.theme--perfect.is--disabled{color:var(--vxe-ui-table-header-background-color)}.vxe-button.type--button{font-family:inherit;height:var(--vxe-ui-button-height-default);line-height:1;border:1px solid var(--vxe-ui-input-border-color);text-decoration:none}.vxe-button.type--button.is--round{border-radius:var(--vxe-ui-button-round-border-radius-default)}.vxe-button.type--button:not(.is--round){border-radius:var(--vxe-ui-base-border-radius)}.vxe-button.type--button.is--circle{padding:0 .5em;text-align:center;justify-content:center;min-width:var(--vxe-ui-button-height-default);border-radius:50%}.vxe-button.type--button:not(.is--circle){padding:0 1em}.vxe-button.type--button:not(.is--disabled):hover{color:var(--vxe-ui-font-primary-lighten-color)}.vxe-button.type--button:not(.is--disabled):focus{border-color:var(--vxe-ui-font-primary-color)}.vxe-button.type--button:not(.is--disabled):active{color:var(--vxe-ui-font-primary-darken-color);border-color:var(--vxe-ui-font-primary-darken-color);background-color:var(--vxe-ui-layout-background-color)}.vxe-button.type--button.theme--primary{color:#fff}.vxe-button.type--button.theme--primary:not(.is--disabled){border-color:var(--vxe-ui-font-primary-color);background-color:var(--vxe-ui-font-primary-color)}.vxe-button.type--button.theme--primary:not(.is--disabled):hover{color:#fff;background-color:var(--vxe-ui-font-primary-lighten-color);border-color:var(--vxe-ui-font-primary-lighten-color)}.vxe-button.type--button.theme--primary:not(.is--disabled):active{color:#fff;background-color:var(--vxe-ui-font-primary-darken-color);border-color:var(--vxe-ui-font-primary-darken-color)}.vxe-button.type--button.theme--primary.is--disabled{border-color:var(--vxe-ui-font-primary-disabled-color);background-color:var(--vxe-ui-font-primary-disabled-color)}.vxe-button.type--button.theme--primary.is--loading{border-color:var(--vxe-ui-font-primary-color);background-color:var(--vxe-ui-font-primary-color)}.vxe-button.type--button.theme--success{color:#fff}.vxe-button.type--button.theme--success:not(.is--disabled){border-color:var(--vxe-ui-status-success-color);background-color:var(--vxe-ui-status-success-color)}.vxe-button.type--button.theme--success:not(.is--disabled):hover{color:#fff;background-color:var(--vxe-ui-status-success-lighten-color);border-color:var(--vxe-ui-status-success-lighten-color)}.vxe-button.type--button.theme--success:not(.is--disabled):active{color:#fff;background-color:var(--vxe-ui-status-success-darken-color);border-color:var(--vxe-ui-status-success-darken-color)}.vxe-button.type--button.theme--success.is--disabled{border-color:var(--vxe-ui-status-success-disabled-color);background-color:var(--vxe-ui-status-success-disabled-color)}.vxe-button.type--button.theme--success.is--loading{border-color:var(--vxe-ui-status-success-color);background-color:var(--vxe-ui-status-success-color)}.vxe-button.type--button.theme--info{color:#fff}.vxe-button.type--button.theme--info:not(.is--disabled){border-color:var(--vxe-ui-status-info-color);background-color:var(--vxe-ui-status-info-color)}.vxe-button.type--button.theme--info:not(.is--disabled):hover{color:#fff;background-color:var(--vxe-ui-status-info-lighten-color);border-color:var(--vxe-ui-status-info-lighten-color)}.vxe-button.type--button.theme--info:not(.is--disabled):active{color:#fff;background-color:var(--vxe-ui-status-info-darken-color);border-color:var(--vxe-ui-status-info-darken-color)}.vxe-button.type--button.theme--info.is--disabled{border-color:var(--vxe-ui-status-info-disabled-color);background-color:var(--vxe-ui-status-info-disabled-color)}.vxe-button.type--button.theme--info.is--loading{border-color:var(--vxe-ui-status-info-color);background-color:var(--vxe-ui-status-info-color)}.vxe-button.type--button.theme--warning{color:#fff}.vxe-button.type--button.theme--warning:not(.is--disabled){border-color:var(--vxe-ui-status-warning-color);background-color:var(--vxe-ui-status-warning-color)}.vxe-button.type--button.theme--warning:not(.is--disabled):hover{color:#fff;background-color:var(--vxe-ui-status-warning-lighten-color);border-color:var(--vxe-ui-status-warning-lighten-color)}.vxe-button.type--button.theme--warning:not(.is--disabled):active{color:#fff;background-color:var(--vxe-ui-status-warning-darken-color);border-color:var(--vxe-ui-status-warning-darken-color)}.vxe-button.type--button.theme--warning.is--disabled{border-color:var(--vxe-ui-status-warning-disabled-color);background-color:var(--vxe-ui-status-warning-disabled-color)}.vxe-button.type--button.theme--warning.is--loading{border-color:var(--vxe-ui-status-warning-color);background-color:var(--vxe-ui-status-warning-color)}.vxe-button.type--button.theme--danger{color:#fff}.vxe-button.type--button.theme--danger:not(.is--disabled){border-color:var(--vxe-ui-status-danger-color);background-color:var(--vxe-ui-status-danger-color)}.vxe-button.type--button.theme--danger:not(.is--disabled):hover{color:#fff;background-color:var(--vxe-ui-status-danger-lighten-color);border-color:var(--vxe-ui-status-danger-lighten-color)}.vxe-button.type--button.theme--danger:not(.is--disabled):active{color:#fff;background-color:var(--vxe-ui-status-danger-darken-color);border-color:var(--vxe-ui-status-danger-darken-color)}.vxe-button.type--button.theme--danger.is--disabled{border-color:var(--vxe-ui-status-danger-disabled-color);background-color:var(--vxe-ui-status-danger-disabled-color)}.vxe-button.type--button.theme--danger.is--loading{border-color:var(--vxe-ui-status-danger-color);background-color:var(--vxe-ui-status-danger-color)}.vxe-button.type--button.theme--error{color:#fff}.vxe-button.type--button.theme--error:not(.is--disabled){border-color:var(--vxe-ui-status-error-color);background-color:var(--vxe-ui-status-error-color)}.vxe-button.type--button.theme--error:not(.is--disabled):hover{color:#fff;background-color:var(--vxe-ui-status-error-lighten-color);border-color:var(--vxe-ui-status-error-lighten-color)}.vxe-button.type--button.theme--error:not(.is--disabled):active{color:#fff;background-color:var(--vxe-ui-status-error-darken-color);border-color:var(--vxe-ui-status-error-darken-color)}.vxe-button.type--button.theme--error.is--disabled{border-color:var(--vxe-ui-status-error-disabled-color);background-color:var(--vxe-ui-status-error-disabled-color)}.vxe-button.type--button.theme--error.is--loading{border-color:var(--vxe-ui-status-error-color);background-color:var(--vxe-ui-status-error-color)}.vxe-button.type--button.theme--perfect{color:var(--vxe-ui-font-color)}.vxe-button.type--button.theme--perfect:not(.is--disabled){border-color:var(--vxe-ui-table-header-background-color);background-color:var(--vxe-ui-table-header-background-color)}.vxe-button.type--button.theme--perfect:not(.is--disabled):hover{color:var(--vxe-ui-font-color);background-color:var(--vxe-ui-table-header-background-color);border-color:var(--vxe-ui-table-header-background-color)}.vxe-button.type--button.theme--perfect:not(.is--disabled):active{color:var(--vxe-ui-font-color);background-color:var(--vxe-ui-table-header-background-color);border-color:var(--vxe-ui-table-header-background-color)}.vxe-button.type--button.theme--perfect.is--disabled{border-color:var(--vxe-ui-table-header-background-color);background-color:var(--vxe-ui-table-header-background-color)}.vxe-button.type--button.theme--perfect.is--loading{border-color:var(--vxe-ui-table-header-background-color);background-color:var(--vxe-ui-table-header-background-color)}.vxe-button.size--medium{font-size:var(--vxe-ui-font-size-medium)}.vxe-button.size--medium.type--button{height:var(--vxe-ui-button-height-medium)}.vxe-button.size--medium.type--button.is--circle{min-width:var(--vxe-ui-button-height-medium)}.vxe-button.size--medium.type--button.is--round{border-radius:var(--vxe-ui-button-round-border-radius-medium)}.vxe-button.size--medium .vxe-button--icon,.vxe-button.size--medium .vxe-button--loading-icon{min-width:var(--vxe-ui-font-size-medium)}.vxe-button.size--small{font-size:var(--vxe-ui-font-size-small)}.vxe-button.size--small.type--button{height:var(--vxe-ui-button-height-small)}.vxe-button.size--small.type--button.is--circle{min-width:var(--vxe-ui-button-height-small)}.vxe-button.size--small.type--button.is--round{border-radius:var(--vxe-ui-button-round-border-radius-small)}.vxe-button.size--small .vxe-button--icon,.vxe-button.size--small .vxe-button--loading-icon{min-width:var(--vxe-ui-font-size-small)}.vxe-button.size--mini{font-size:var(--vxe-ui-font-size-mini)}.vxe-button.size--mini.type--button{height:var(--vxe-ui-button-height-mini)}.vxe-button.size--mini.type--button.is--circle{min-width:var(--vxe-ui-button-height-mini)}.vxe-button.size--mini.type--button.is--round{border-radius:var(--vxe-ui-button-round-border-radius-mini)}.vxe-button.size--mini .vxe-button--icon,.vxe-button.size--mini .vxe-button--loading-icon{min-width:var(--vxe-ui-font-size-mini)}.vxe-button+.vxe-button--dropdown,.vxe-button+.vxe-button-wrapper,.vxe-button+.vxe-button.type--button,.vxe-button-wrapper+.vxe-button--dropdown,.vxe-button-wrapper+.vxe-button-wrapper,.vxe-button-wrapper+.vxe-button.type--button,.vxe-input+.vxe-button--dropdown,.vxe-input+.vxe-button-wrapper,.vxe-input+.vxe-button.type--button{margin-left:.72em}.vxe-button--icon,.vxe-button--loading-icon{min-width:var(--vxe-ui-font-size-default)}.vxe-button--icon+.vxe-button--content,.vxe-button--loading-icon+.vxe-button--content{margin-left:.25em}.vxe-button--tooltip-prefix-icon+.vxe-button--content,.vxe-button--tooltip-prefix-icon+.vxe-button--icon,.vxe-button--tooltip-prefix-icon+.vxe-button--loading-icon{padding-left:.25em}.vxe-button--content+.vxe-button--tooltip-suffix-icon{margin-left:.25em}.vxe-button--dropdown,.vxe-button--wrapper{display:inline-block}.vxe-button--dropdown{position:relative;outline:0}.vxe-button--dropdown+.vxe-button--dropdown,.vxe-button--dropdown+.vxe-button-wrapper,.vxe-button--dropdown+.vxe-button.type--button{margin-left:12px}.vxe-button--dropdown>.vxe-button.type--button.theme--primary{color:#fff}.vxe-button--dropdown>.vxe-button.type--button.theme--success{color:#fff}.vxe-button--dropdown>.vxe-button.type--button.theme--info{color:#fff}.vxe-button--dropdown>.vxe-button.type--button.theme--warning{color:#fff}.vxe-button--dropdown>.vxe-button.type--button.theme--danger{color:#fff}.vxe-button--dropdown>.vxe-button.type--button.theme--error{color:#fff}.vxe-button--dropdown>.vxe-button.type--button.theme--perfect{color:var(--vxe-ui-font-color)}.vxe-button--dropdown.is--active>.vxe-button:not(.is--disabled){color:var(--vxe-ui-font-primary-lighten-color)}.vxe-button--dropdown.is--active>.vxe-button.type--text.theme--primary{color:var(--vxe-ui-font-primary-lighten-color)}.vxe-button--dropdown.is--active>.vxe-button.type--text.theme--success{color:var(--vxe-ui-status-success-lighten-color)}.vxe-button--dropdown.is--active>.vxe-button.type--text.theme--info{color:var(--vxe-ui-status-info-lighten-color)}.vxe-button--dropdown.is--active>.vxe-button.type--text.theme--warning{color:var(--vxe-ui-status-warning-lighten-color)}.vxe-button--dropdown.is--active>.vxe-button.type--text.theme--danger{color:var(--vxe-ui-status-danger-lighten-color)}.vxe-button--dropdown.is--active>.vxe-button.type--text.theme--error{color:var(--vxe-ui-status-error-lighten-color)}.vxe-button--dropdown.is--active>.vxe-button.type--text.theme--perfect{color:var(--vxe-ui-table-header-background-color)}.vxe-button--dropdown.is--active>.vxe-button.type--button.theme--primary{color:#fff;background-color:var(--vxe-ui-font-primary-lighten-color);border-color:var(--vxe-ui-font-primary-lighten-color)}.vxe-button--dropdown.is--active>.vxe-button.type--button.theme--success{color:#fff;background-color:var(--vxe-ui-status-success-lighten-color);border-color:var(--vxe-ui-status-success-lighten-color)}.vxe-button--dropdown.is--active>.vxe-button.type--button.theme--info{color:#fff;background-color:var(--vxe-ui-status-info-lighten-color);border-color:var(--vxe-ui-status-info-lighten-color)}.vxe-button--dropdown.is--active>.vxe-button.type--button.theme--warning{color:#fff;background-color:var(--vxe-ui-status-warning-lighten-color);border-color:var(--vxe-ui-status-warning-lighten-color)}.vxe-button--dropdown.is--active>.vxe-button.type--button.theme--danger{color:#fff;background-color:var(--vxe-ui-status-danger-lighten-color);border-color:var(--vxe-ui-status-danger-lighten-color)}.vxe-button--dropdown.is--active>.vxe-button.type--button.theme--error{color:#fff;background-color:var(--vxe-ui-status-error-lighten-color);border-color:var(--vxe-ui-status-error-lighten-color)}.vxe-button--dropdown.is--active>.vxe-button.type--button.theme--perfect{color:var(--vxe-ui-font-color);background-color:var(--vxe-ui-table-header-background-color);border-color:var(--vxe-ui-table-header-background-color)}.vxe-button--dropdown.is--active .vxe-button--dropdown-arrow{transform:rotate(180deg)}.vxe-button--dropdown-arrow{display:inline-block;font-size:12px;margin-left:4px;transition:transform .2s ease-in-out}.vxe-button--dropdown-panel{display:none;position:absolute;right:0;padding:4px 0}.vxe-button--dropdown-panel.ani--leave{display:block;opacity:0;transform:scaleY(.5);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transform-origin:center top;backface-visibility:hidden;transform-style:preserve-3d}.vxe-button--dropdown-panel.ani--leave[placement=top]{transform-origin:center bottom}.vxe-button--dropdown-panel.ani--enter{opacity:1;transform:scaleY(1)}.vxe-button--dropdown-wrapper{padding:5px;background-color:var(--vxe-ui-layout-background-color);border-radius:var(--vxe-ui-base-border-radius);border:1px solid var(--vxe-ui-input-border-color);box-shadow:0 1px 6px rgba(0,0,0,.2)}.vxe-button--dropdown-wrapper>.vxe-button.type--button,.vxe-button--dropdown-wrapper>.vxe-button.type--text{display:block;width:100%;border:0;margin:.4em 0 0 0}.vxe-button--dropdown-wrapper>.vxe-button.type--text{padding:2px 8px}.vxe-button--dropdown-wrapper>.vxe-button:first-child{margin-top:0}.vxe-button--dropdown-wrapper>.vxe-button:last-child{margin-bottom:0}
1
+ .vxe-button{display:inline-flex;flex-direction:row;align-items:center;justify-content:center;vertical-align:middle;position:relative;background-color:var(--vxe-ui-layout-background-color);outline:0;font-size:var(--vxe-ui-font-size-default);max-width:var(--vxe-ui-button-max-width);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;transition:border .2s ease-in-out}.vxe-button.align--left{justify-content:left}.vxe-button.align--center{justify-content:center}.vxe-button.align--right{justify-content:right}.vxe-button:not(.is--disabled){color:var(--vxe-ui-font-color);cursor:pointer}.vxe-button.is--loading{cursor:progress}.vxe-button.is--loading:before{content:"";position:absolute;left:-1px;top:-1px;right:-1px;bottom:-1px;border-radius:inherit;background-color:hsla(0,0%,100%,.35);pointer-events:none}.vxe-button.is--disabled{color:var(--vxe-ui-font-disabled-color)}.vxe-button.is--disabled:not(.is--loading){cursor:no-drop}.vxe-button.type--text{text-decoration:none;border:0;padding:.1em .5em;background-color:transparent;text-decoration:none}.vxe-button.type--text:not(.is--disabled):focus{color:var(--vxe-ui-font-darken-color)}.vxe-button.type--text:not(.is--disabled):hover{color:var(--vxe-ui-font-primary-lighten-color)}.vxe-button.type--text:not(.is--disabled):active{color:var(--vxe-ui-font-primary-darken-color)}.vxe-button.type--text.theme--primary{color:var(--vxe-ui-font-primary-color)}.vxe-button.type--text.theme--primary:not(.is--disabled):focus{color:var(--vxe-ui-font-primary-darken-color)}.vxe-button.type--text.theme--primary:not(.is--disabled):hover{color:var(--vxe-ui-font-primary-lighten-color)}.vxe-button.type--text.theme--primary:not(.is--disabled):active{color:var(--vxe-ui-font-primary-darken-color)}.vxe-button.type--text.theme--primary.is--disabled{color:var(--vxe-ui-font-primary-disabled-color)}.vxe-button.type--text.theme--success{color:var(--vxe-ui-status-success-color)}.vxe-button.type--text.theme--success:not(.is--disabled):focus{color:var(--vxe-ui-status-success-darken-color)}.vxe-button.type--text.theme--success:not(.is--disabled):hover{color:var(--vxe-ui-status-success-lighten-color)}.vxe-button.type--text.theme--success:not(.is--disabled):active{color:var(--vxe-ui-status-success-darken-color)}.vxe-button.type--text.theme--success.is--disabled{color:var(--vxe-ui-status-success-disabled-color)}.vxe-button.type--text.theme--info{color:var(--vxe-ui-status-info-color)}.vxe-button.type--text.theme--info:not(.is--disabled):focus{color:var(--vxe-ui-status-info-darken-color)}.vxe-button.type--text.theme--info:not(.is--disabled):hover{color:var(--vxe-ui-status-info-lighten-color)}.vxe-button.type--text.theme--info:not(.is--disabled):active{color:var(--vxe-ui-status-info-darken-color)}.vxe-button.type--text.theme--info.is--disabled{color:var(--vxe-ui-status-info-disabled-color)}.vxe-button.type--text.theme--warning{color:var(--vxe-ui-status-warning-color)}.vxe-button.type--text.theme--warning:not(.is--disabled):focus{color:var(--vxe-ui-status-warning-darken-color)}.vxe-button.type--text.theme--warning:not(.is--disabled):hover{color:var(--vxe-ui-status-warning-lighten-color)}.vxe-button.type--text.theme--warning:not(.is--disabled):active{color:var(--vxe-ui-status-warning-darken-color)}.vxe-button.type--text.theme--warning.is--disabled{color:var(--vxe-ui-status-warning-disabled-color)}.vxe-button.type--text.theme--danger{color:var(--vxe-ui-status-danger-color)}.vxe-button.type--text.theme--danger:not(.is--disabled):focus{color:var(--vxe-ui-status-danger-darken-color)}.vxe-button.type--text.theme--danger:not(.is--disabled):hover{color:var(--vxe-ui-status-danger-lighten-color)}.vxe-button.type--text.theme--danger:not(.is--disabled):active{color:var(--vxe-ui-status-danger-darken-color)}.vxe-button.type--text.theme--danger.is--disabled{color:var(--vxe-ui-status-danger-disabled-color)}.vxe-button.type--text.theme--error{color:var(--vxe-ui-status-error-color)}.vxe-button.type--text.theme--error:not(.is--disabled):focus{color:var(--vxe-ui-status-error-darken-color)}.vxe-button.type--text.theme--error:not(.is--disabled):hover{color:var(--vxe-ui-status-error-lighten-color)}.vxe-button.type--text.theme--error:not(.is--disabled):active{color:var(--vxe-ui-status-error-darken-color)}.vxe-button.type--text.theme--error.is--disabled{color:var(--vxe-ui-status-error-disabled-color)}.vxe-button.type--text.theme--perfect{color:var(--vxe-ui-table-header-background-color)}.vxe-button.type--text.theme--perfect:not(.is--disabled):focus{color:var(--vxe-ui-table-header-background-color)}.vxe-button.type--text.theme--perfect:not(.is--disabled):hover{color:var(--vxe-ui-table-header-background-color)}.vxe-button.type--text.theme--perfect:not(.is--disabled):active{color:var(--vxe-ui-table-header-background-color)}.vxe-button.type--text.theme--perfect.is--disabled{color:var(--vxe-ui-table-header-background-color)}.vxe-button.type--button{font-family:inherit;height:var(--vxe-ui-button-height-default);line-height:1;border:1px solid var(--vxe-ui-input-border-color);text-decoration:none}.vxe-button.type--button.is--round{border-radius:var(--vxe-ui-button-round-border-radius-default)}.vxe-button.type--button:not(.is--round){border-radius:var(--vxe-ui-base-border-radius)}.vxe-button.type--button.is--circle{padding:0 .5em;text-align:center;justify-content:center;min-width:var(--vxe-ui-button-height-default);border-radius:50%}.vxe-button.type--button:not(.is--circle){padding:0 1em}.vxe-button.type--button:not(.is--disabled):hover{color:var(--vxe-ui-font-primary-lighten-color)}.vxe-button.type--button:not(.is--disabled):focus{border-color:var(--vxe-ui-font-primary-color)}.vxe-button.type--button:not(.is--disabled):active{color:var(--vxe-ui-font-primary-darken-color);border-color:var(--vxe-ui-font-primary-darken-color);background-color:var(--vxe-ui-layout-background-color)}.vxe-button.type--button.theme--primary{color:#fff}.vxe-button.type--button.theme--primary:not(.is--disabled){border-color:var(--vxe-ui-font-primary-color);background-color:var(--vxe-ui-font-primary-color)}.vxe-button.type--button.theme--primary:not(.is--disabled):hover{color:#fff;background-color:var(--vxe-ui-font-primary-lighten-color);border-color:var(--vxe-ui-font-primary-lighten-color)}.vxe-button.type--button.theme--primary:not(.is--disabled):active{color:#fff;background-color:var(--vxe-ui-font-primary-darken-color);border-color:var(--vxe-ui-font-primary-darken-color)}.vxe-button.type--button.theme--primary.is--disabled{border-color:var(--vxe-ui-font-primary-disabled-color);background-color:var(--vxe-ui-font-primary-disabled-color)}.vxe-button.type--button.theme--primary.is--loading{border-color:var(--vxe-ui-font-primary-color);background-color:var(--vxe-ui-font-primary-color)}.vxe-button.type--button.theme--success{color:#fff}.vxe-button.type--button.theme--success:not(.is--disabled){border-color:var(--vxe-ui-status-success-color);background-color:var(--vxe-ui-status-success-color)}.vxe-button.type--button.theme--success:not(.is--disabled):hover{color:#fff;background-color:var(--vxe-ui-status-success-lighten-color);border-color:var(--vxe-ui-status-success-lighten-color)}.vxe-button.type--button.theme--success:not(.is--disabled):active{color:#fff;background-color:var(--vxe-ui-status-success-darken-color);border-color:var(--vxe-ui-status-success-darken-color)}.vxe-button.type--button.theme--success.is--disabled{border-color:var(--vxe-ui-status-success-disabled-color);background-color:var(--vxe-ui-status-success-disabled-color)}.vxe-button.type--button.theme--success.is--loading{border-color:var(--vxe-ui-status-success-color);background-color:var(--vxe-ui-status-success-color)}.vxe-button.type--button.theme--info{color:#fff}.vxe-button.type--button.theme--info:not(.is--disabled){border-color:var(--vxe-ui-status-info-color);background-color:var(--vxe-ui-status-info-color)}.vxe-button.type--button.theme--info:not(.is--disabled):hover{color:#fff;background-color:var(--vxe-ui-status-info-lighten-color);border-color:var(--vxe-ui-status-info-lighten-color)}.vxe-button.type--button.theme--info:not(.is--disabled):active{color:#fff;background-color:var(--vxe-ui-status-info-darken-color);border-color:var(--vxe-ui-status-info-darken-color)}.vxe-button.type--button.theme--info.is--disabled{border-color:var(--vxe-ui-status-info-disabled-color);background-color:var(--vxe-ui-status-info-disabled-color)}.vxe-button.type--button.theme--info.is--loading{border-color:var(--vxe-ui-status-info-color);background-color:var(--vxe-ui-status-info-color)}.vxe-button.type--button.theme--warning{color:#fff}.vxe-button.type--button.theme--warning:not(.is--disabled){border-color:var(--vxe-ui-status-warning-color);background-color:var(--vxe-ui-status-warning-color)}.vxe-button.type--button.theme--warning:not(.is--disabled):hover{color:#fff;background-color:var(--vxe-ui-status-warning-lighten-color);border-color:var(--vxe-ui-status-warning-lighten-color)}.vxe-button.type--button.theme--warning:not(.is--disabled):active{color:#fff;background-color:var(--vxe-ui-status-warning-darken-color);border-color:var(--vxe-ui-status-warning-darken-color)}.vxe-button.type--button.theme--warning.is--disabled{border-color:var(--vxe-ui-status-warning-disabled-color);background-color:var(--vxe-ui-status-warning-disabled-color)}.vxe-button.type--button.theme--warning.is--loading{border-color:var(--vxe-ui-status-warning-color);background-color:var(--vxe-ui-status-warning-color)}.vxe-button.type--button.theme--danger{color:#fff}.vxe-button.type--button.theme--danger:not(.is--disabled){border-color:var(--vxe-ui-status-danger-color);background-color:var(--vxe-ui-status-danger-color)}.vxe-button.type--button.theme--danger:not(.is--disabled):hover{color:#fff;background-color:var(--vxe-ui-status-danger-lighten-color);border-color:var(--vxe-ui-status-danger-lighten-color)}.vxe-button.type--button.theme--danger:not(.is--disabled):active{color:#fff;background-color:var(--vxe-ui-status-danger-darken-color);border-color:var(--vxe-ui-status-danger-darken-color)}.vxe-button.type--button.theme--danger.is--disabled{border-color:var(--vxe-ui-status-danger-disabled-color);background-color:var(--vxe-ui-status-danger-disabled-color)}.vxe-button.type--button.theme--danger.is--loading{border-color:var(--vxe-ui-status-danger-color);background-color:var(--vxe-ui-status-danger-color)}.vxe-button.type--button.theme--error{color:#fff}.vxe-button.type--button.theme--error:not(.is--disabled){border-color:var(--vxe-ui-status-error-color);background-color:var(--vxe-ui-status-error-color)}.vxe-button.type--button.theme--error:not(.is--disabled):hover{color:#fff;background-color:var(--vxe-ui-status-error-lighten-color);border-color:var(--vxe-ui-status-error-lighten-color)}.vxe-button.type--button.theme--error:not(.is--disabled):active{color:#fff;background-color:var(--vxe-ui-status-error-darken-color);border-color:var(--vxe-ui-status-error-darken-color)}.vxe-button.type--button.theme--error.is--disabled{border-color:var(--vxe-ui-status-error-disabled-color);background-color:var(--vxe-ui-status-error-disabled-color)}.vxe-button.type--button.theme--error.is--loading{border-color:var(--vxe-ui-status-error-color);background-color:var(--vxe-ui-status-error-color)}.vxe-button.type--button.theme--perfect{color:var(--vxe-ui-font-color)}.vxe-button.type--button.theme--perfect:not(.is--disabled){border-color:var(--vxe-ui-table-header-background-color);background-color:var(--vxe-ui-table-header-background-color)}.vxe-button.type--button.theme--perfect:not(.is--disabled):hover{color:var(--vxe-ui-font-color);background-color:var(--vxe-ui-table-header-background-color);border-color:var(--vxe-ui-table-header-background-color)}.vxe-button.type--button.theme--perfect:not(.is--disabled):active{color:var(--vxe-ui-font-color);background-color:var(--vxe-ui-table-header-background-color);border-color:var(--vxe-ui-table-header-background-color)}.vxe-button.type--button.theme--perfect.is--disabled{border-color:var(--vxe-ui-table-header-background-color);background-color:var(--vxe-ui-table-header-background-color)}.vxe-button.type--button.theme--perfect.is--loading{border-color:var(--vxe-ui-table-header-background-color);background-color:var(--vxe-ui-table-header-background-color)}.vxe-button.size--medium{font-size:var(--vxe-ui-font-size-medium)}.vxe-button.size--medium.type--button{height:var(--vxe-ui-button-height-medium)}.vxe-button.size--medium.type--button.is--circle{min-width:var(--vxe-ui-button-height-medium)}.vxe-button.size--medium.type--button.is--round{border-radius:var(--vxe-ui-button-round-border-radius-medium)}.vxe-button.size--medium .vxe-button--icon,.vxe-button.size--medium .vxe-button--loading-icon{min-width:var(--vxe-ui-font-size-medium)}.vxe-button.size--small{font-size:var(--vxe-ui-font-size-small)}.vxe-button.size--small.type--button{height:var(--vxe-ui-button-height-small)}.vxe-button.size--small.type--button.is--circle{min-width:var(--vxe-ui-button-height-small)}.vxe-button.size--small.type--button.is--round{border-radius:var(--vxe-ui-button-round-border-radius-small)}.vxe-button.size--small .vxe-button--icon,.vxe-button.size--small .vxe-button--loading-icon{min-width:var(--vxe-ui-font-size-small)}.vxe-button.size--mini{font-size:var(--vxe-ui-font-size-mini)}.vxe-button.size--mini.type--button{height:var(--vxe-ui-button-height-mini)}.vxe-button.size--mini.type--button.is--circle{min-width:var(--vxe-ui-button-height-mini)}.vxe-button.size--mini.type--button.is--round{border-radius:var(--vxe-ui-button-round-border-radius-mini)}.vxe-button.size--mini .vxe-button--icon,.vxe-button.size--mini .vxe-button--loading-icon{min-width:var(--vxe-ui-font-size-mini)}.vxe-button+.vxe-button--dropdown,.vxe-button+.vxe-button-wrapper,.vxe-button+.vxe-button.type--button,.vxe-button-wrapper+.vxe-button--dropdown,.vxe-button-wrapper+.vxe-button-wrapper,.vxe-button-wrapper+.vxe-button.type--button,.vxe-input+.vxe-button--dropdown,.vxe-input+.vxe-button-wrapper,.vxe-input+.vxe-button.type--button{margin-left:.72em}.vxe-button--dropdown+.vxe-button--dropdown,.vxe-button--dropdown+.vxe-button-wrapper,.vxe-button--dropdown+.vxe-button.type--button{margin-left:.72em}.vxe-button--icon,.vxe-button--loading-icon{min-width:var(--vxe-ui-font-size-default)}.vxe-button--icon+.vxe-button--content,.vxe-button--loading-icon+.vxe-button--content{margin-left:.25em}.vxe-button--tooltip-prefix-icon+.vxe-button--content,.vxe-button--tooltip-prefix-icon+.vxe-button--icon,.vxe-button--tooltip-prefix-icon+.vxe-button--loading-icon{padding-left:.25em}.vxe-button--content+.vxe-button--tooltip-suffix-icon{margin-left:.25em}.vxe-button--dropdown,.vxe-button--wrapper{display:inline-block}.vxe-button--dropdown{position:relative;outline:0}.vxe-button--dropdown>.vxe-button.type--button.theme--primary{color:#fff}.vxe-button--dropdown>.vxe-button.type--button.theme--success{color:#fff}.vxe-button--dropdown>.vxe-button.type--button.theme--info{color:#fff}.vxe-button--dropdown>.vxe-button.type--button.theme--warning{color:#fff}.vxe-button--dropdown>.vxe-button.type--button.theme--danger{color:#fff}.vxe-button--dropdown>.vxe-button.type--button.theme--error{color:#fff}.vxe-button--dropdown>.vxe-button.type--button.theme--perfect{color:var(--vxe-ui-font-color)}.vxe-button--dropdown.is--active>.vxe-button:not(.is--disabled){color:var(--vxe-ui-font-primary-lighten-color)}.vxe-button--dropdown.is--active>.vxe-button.type--text.theme--primary{color:var(--vxe-ui-font-primary-lighten-color)}.vxe-button--dropdown.is--active>.vxe-button.type--text.theme--success{color:var(--vxe-ui-status-success-lighten-color)}.vxe-button--dropdown.is--active>.vxe-button.type--text.theme--info{color:var(--vxe-ui-status-info-lighten-color)}.vxe-button--dropdown.is--active>.vxe-button.type--text.theme--warning{color:var(--vxe-ui-status-warning-lighten-color)}.vxe-button--dropdown.is--active>.vxe-button.type--text.theme--danger{color:var(--vxe-ui-status-danger-lighten-color)}.vxe-button--dropdown.is--active>.vxe-button.type--text.theme--error{color:var(--vxe-ui-status-error-lighten-color)}.vxe-button--dropdown.is--active>.vxe-button.type--text.theme--perfect{color:var(--vxe-ui-table-header-background-color)}.vxe-button--dropdown.is--active>.vxe-button.type--button.theme--primary{color:#fff;background-color:var(--vxe-ui-font-primary-lighten-color);border-color:var(--vxe-ui-font-primary-lighten-color)}.vxe-button--dropdown.is--active>.vxe-button.type--button.theme--success{color:#fff;background-color:var(--vxe-ui-status-success-lighten-color);border-color:var(--vxe-ui-status-success-lighten-color)}.vxe-button--dropdown.is--active>.vxe-button.type--button.theme--info{color:#fff;background-color:var(--vxe-ui-status-info-lighten-color);border-color:var(--vxe-ui-status-info-lighten-color)}.vxe-button--dropdown.is--active>.vxe-button.type--button.theme--warning{color:#fff;background-color:var(--vxe-ui-status-warning-lighten-color);border-color:var(--vxe-ui-status-warning-lighten-color)}.vxe-button--dropdown.is--active>.vxe-button.type--button.theme--danger{color:#fff;background-color:var(--vxe-ui-status-danger-lighten-color);border-color:var(--vxe-ui-status-danger-lighten-color)}.vxe-button--dropdown.is--active>.vxe-button.type--button.theme--error{color:#fff;background-color:var(--vxe-ui-status-error-lighten-color);border-color:var(--vxe-ui-status-error-lighten-color)}.vxe-button--dropdown.is--active>.vxe-button.type--button.theme--perfect{color:var(--vxe-ui-font-color);background-color:var(--vxe-ui-table-header-background-color);border-color:var(--vxe-ui-table-header-background-color)}.vxe-button--dropdown.is--active .vxe-button--dropdown-arrow{transform:rotate(180deg)}.vxe-button--dropdown-arrow{display:inline-block;font-size:12px;margin-left:4px;transition:transform .2s ease-in-out}.vxe-button--dropdown-panel{display:none;position:absolute;right:0;padding:4px 0}.vxe-button--dropdown-panel.ani--leave{display:block;opacity:0;transform:scaleY(.5);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transform-origin:center top;backface-visibility:hidden;transform-style:preserve-3d}.vxe-button--dropdown-panel.ani--leave[placement=top]{transform-origin:center bottom}.vxe-button--dropdown-panel.ani--enter{opacity:1;transform:scaleY(1)}.vxe-button--dropdown-wrapper{padding:5px;background-color:var(--vxe-ui-layout-background-color);border-radius:var(--vxe-ui-base-border-radius);border:1px solid var(--vxe-ui-input-border-color);box-shadow:0 1px 6px rgba(0,0,0,.2)}.vxe-button--dropdown-wrapper>.vxe-button.type--button,.vxe-button--dropdown-wrapper>.vxe-button.type--text{display:block;width:100%;border:0;margin:.4em 0 0 0}.vxe-button--dropdown-wrapper>.vxe-button.type--text{padding:2px 8px}.vxe-button--dropdown-wrapper>.vxe-button:first-child{margin-top:0}.vxe-button--dropdown-wrapper>.vxe-button:last-child{margin-bottom:0}
@@ -4,6 +4,12 @@
4
4
  .vxe-button-group.is--vertical {
5
5
  flex-direction: column;
6
6
  }
7
- .vxe-button-group.is--vertical .vxe-button {
8
- margin: 0;
7
+ .vxe-button-group.is--vertical .vxe-button + .vxe-button-wrapper, .vxe-button-group.is--vertical .vxe-button + .vxe-button, .vxe-button-group.is--vertical .vxe-button + .vxe-button--dropdown,
8
+ .vxe-button-group.is--vertical .vxe-button-wrapper + .vxe-button-wrapper,
9
+ .vxe-button-group.is--vertical .vxe-button-wrapper + .vxe-button,
10
+ .vxe-button-group.is--vertical .vxe-button-wrapper + .vxe-button--dropdown {
11
+ margin-top: 0.5em;
12
+ }
13
+ .vxe-button-group.is--vertical .vxe-button--dropdown + .vxe-button-wrapper, .vxe-button-group.is--vertical .vxe-button--dropdown + .vxe-button, .vxe-button-group.is--vertical .vxe-button--dropdown + .vxe-button--dropdown {
14
+ margin-top: 0.5em;
9
15
  }
@@ -1 +1 @@
1
- .vxe-button-group{display:inline-flex}.vxe-button-group.is--vertical{flex-direction:column}.vxe-button-group.is--vertical .vxe-button{margin:0}
1
+ .vxe-button-group{display:inline-flex}.vxe-button-group.is--vertical{flex-direction:column}.vxe-button-group.is--vertical .vxe-button+.vxe-button,.vxe-button-group.is--vertical .vxe-button+.vxe-button--dropdown,.vxe-button-group.is--vertical .vxe-button+.vxe-button-wrapper,.vxe-button-group.is--vertical .vxe-button-wrapper+.vxe-button,.vxe-button-group.is--vertical .vxe-button-wrapper+.vxe-button--dropdown,.vxe-button-group.is--vertical .vxe-button-wrapper+.vxe-button-wrapper{margin-top:.5em}.vxe-button-group.is--vertical .vxe-button--dropdown+.vxe-button,.vxe-button-group.is--vertical .vxe-button--dropdown+.vxe-button--dropdown,.vxe-button-group.is--vertical .vxe-button--dropdown+.vxe-button-wrapper{margin-top:.5em}
@@ -1,11 +1,12 @@
1
1
  import { defineVxeComponent } from '../../ui/src/comp';
2
2
  import XEUtils from 'xe-utils';
3
3
  import { getConfig, getIcon, getI18n, globalEvents, GLOBAL_EVENT_KEYS, createEvent, globalMixins, renderEmptyElement } from '../../ui';
4
- import { getFuncText, getLastZIndex, nextZIndex } from '../../ui/src/utils';
4
+ import { getFuncText, getLastZIndex, nextZIndex, isEnableConf } from '../../ui/src/utils';
5
5
  import { getAbsolutePos, getEventTargetNode } from '../../ui/src/dom';
6
6
  import { toStringTimeDate, getDateQuarter } from './util';
7
7
  import { getSlotVNs } from '../..//ui/src/vn';
8
- export default defineVxeComponent({
8
+ import VxeButtonGroupComponent from '../../button/src/button-group';
9
+ export default {
9
10
  name: 'VxeDatePicker',
10
11
  mixins: [
11
12
  globalMixins.sizeMixin
@@ -92,6 +93,7 @@ export default defineVxeComponent({
92
93
  type: Boolean,
93
94
  default: null
94
95
  },
96
+ shortcutConfig: Object,
95
97
  // 已废弃 startWeek,被 startDay 替换
96
98
  startWeek: Number,
97
99
  // 已废弃
@@ -629,6 +631,11 @@ export default defineVxeComponent({
629
631
  const props = $xeDatePicker;
630
632
  const { immediate } = props;
631
633
  return immediate;
634
+ },
635
+ computeShortcutOpts() {
636
+ const $xeDatePicker = this;
637
+ const props = $xeDatePicker;
638
+ return Object.assign({}, getConfig().datePicker.shortcutConfig, props.shortcutConfig);
632
639
  } }),
633
640
  methods: {
634
641
  //
@@ -693,10 +700,16 @@ export default defineVxeComponent({
693
700
  parseDate(value, format) {
694
701
  const $xeDatePicker = this;
695
702
  const props = $xeDatePicker;
696
- const { type } = props;
703
+ const { type, multiple } = props;
697
704
  if (type === 'time') {
698
705
  return toStringTimeDate(value);
699
706
  }
707
+ if (XEUtils.isArray(value)) {
708
+ return XEUtils.toStringDate(value[0], format);
709
+ }
710
+ if (XEUtils.isString(value)) {
711
+ return XEUtils.toStringDate(multiple ? XEUtils.last(value.split(',')) : value, format);
712
+ }
700
713
  return XEUtils.toStringDate(value, format);
701
714
  },
702
715
  triggerEvent(evnt) {
@@ -876,7 +889,7 @@ export default defineVxeComponent({
876
889
  reactData.selectMonth = month;
877
890
  }
878
891
  },
879
- dateChange(date) {
892
+ dateChange(date, isReload) {
880
893
  const $xeDatePicker = this;
881
894
  const props = $xeDatePicker;
882
895
  const reactData = $xeDatePicker.reactData;
@@ -900,10 +913,9 @@ export default defineVxeComponent({
900
913
  $xeDatePicker.dateCheckMonth(date);
901
914
  if (multiple) {
902
915
  // 如果为多选
903
- const dateMultipleValue = $xeDatePicker.computeDateMultipleValue;
904
916
  if (isDateTimeType) {
905
917
  // 如果是datetime特殊类型
906
- const dateListValue = [...$xeDatePicker.computeDateListValue];
918
+ const dateListValue = isReload ? [] : [...$xeDatePicker.computeDateListValue];
907
919
  const datetimeRest = [];
908
920
  const eqIndex = XEUtils.findIndexOf(dateListValue, val => XEUtils.isDateSame(date, val, 'yyyyMMdd'));
909
921
  if (eqIndex === -1) {
@@ -925,6 +937,7 @@ export default defineVxeComponent({
925
937
  $xeDatePicker.handleChange(datetimeRest.map(date => XEUtils.toDateString(date, dateValueFormat)).join(','), { type: 'update' });
926
938
  }
927
939
  else {
940
+ const dateMultipleValue = isReload ? [] : $xeDatePicker.computeDateMultipleValue;
928
941
  // 如果是日期类型
929
942
  if (dateMultipleValue.some(val => XEUtils.isEqual(val, inpVal))) {
930
943
  $xeDatePicker.handleChange(dateMultipleValue.filter(val => !XEUtils.isEqual(val, inpVal)).join(','), { type: 'update' });
@@ -1037,8 +1050,23 @@ export default defineVxeComponent({
1037
1050
  },
1038
1051
  dateNowHandle() {
1039
1052
  const $xeDatePicker = this;
1053
+ const props = $xeDatePicker;
1040
1054
  const reactData = $xeDatePicker.reactData;
1041
- const currentDate = XEUtils.getWhatDay(Date.now(), 0, 'first');
1055
+ const { type } = props;
1056
+ const firstDayOfWeek = $xeDatePicker.computeFirstDayOfWeek;
1057
+ let currentDate = new Date();
1058
+ switch (type) {
1059
+ case 'week':
1060
+ currentDate = XEUtils.getWhatWeek(currentDate, 0, firstDayOfWeek);
1061
+ break;
1062
+ case 'datetime':
1063
+ currentDate = new Date();
1064
+ reactData.datetimePanelValue = new Date();
1065
+ break;
1066
+ default:
1067
+ currentDate = XEUtils.getWhatDay(Date.now(), 0, 'first');
1068
+ break;
1069
+ }
1042
1070
  reactData.currentDate = currentDate;
1043
1071
  $xeDatePicker.dateMonthHandle(currentDate, 0);
1044
1072
  },
@@ -1097,8 +1125,8 @@ export default defineVxeComponent({
1097
1125
  const props = $xeDatePicker;
1098
1126
  const reactData = $xeDatePicker.reactData;
1099
1127
  $xeDatePicker.dateNowHandle();
1128
+ $xeDatePicker.dateChange(reactData.currentDate, true);
1100
1129
  if (!props.multiple) {
1101
- $xeDatePicker.dateChange(reactData.currentDate);
1102
1130
  $xeDatePicker.hidePanel();
1103
1131
  }
1104
1132
  $xeDatePicker.dispatchEvent('date-today', { type: props.type }, evnt);
@@ -1423,20 +1451,30 @@ export default defineVxeComponent({
1423
1451
  }
1424
1452
  $xeDatePicker.dateMoveMonth(offsetMonth);
1425
1453
  }
1426
- else {
1454
+ else if (datePanelType === 'week') {
1427
1455
  let offsetDay = datePanelValue || XEUtils.getWhatDay(Date.now(), 0, 'first');
1428
1456
  const firstDayOfWeek = $xeDatePicker.computeFirstDayOfWeek;
1457
+ if (isUpArrow) {
1458
+ offsetDay = XEUtils.getWhatWeek(offsetDay, -1, firstDayOfWeek);
1459
+ }
1460
+ else if (isDwArrow) {
1461
+ offsetDay = XEUtils.getWhatWeek(offsetDay, 1, firstDayOfWeek);
1462
+ }
1463
+ $xeDatePicker.dateMoveDay(offsetDay);
1464
+ }
1465
+ else {
1466
+ let offsetDay = datePanelValue || XEUtils.getWhatDay(Date.now(), 0, 'first');
1429
1467
  if (isLeftArrow) {
1430
1468
  offsetDay = XEUtils.getWhatDay(offsetDay, -1);
1431
1469
  }
1432
1470
  else if (isUpArrow) {
1433
- offsetDay = XEUtils.getWhatWeek(offsetDay, -1, firstDayOfWeek);
1471
+ offsetDay = XEUtils.getWhatWeek(offsetDay, -1, offsetDay.getDay());
1434
1472
  }
1435
1473
  else if (isRightArrow) {
1436
1474
  offsetDay = XEUtils.getWhatDay(offsetDay, 1);
1437
1475
  }
1438
1476
  else if (isDwArrow) {
1439
- offsetDay = XEUtils.getWhatWeek(offsetDay, 1, firstDayOfWeek);
1477
+ offsetDay = XEUtils.getWhatWeek(offsetDay, 1, offsetDay.getDay());
1440
1478
  }
1441
1479
  $xeDatePicker.dateMoveDay(offsetDay);
1442
1480
  }
@@ -1621,6 +1659,23 @@ export default defineVxeComponent({
1621
1659
  const $xeDatePicker = this;
1622
1660
  $xeDatePicker.triggerEvent(evnt);
1623
1661
  },
1662
+ handleShortcutEvent({ option, $event }) {
1663
+ const $xeDatePicker = this;
1664
+ const shortcutOpts = $xeDatePicker.computeShortcutOpts;
1665
+ const { autoClose } = shortcutOpts;
1666
+ const clickMethod = option.clickMethod || shortcutOpts.clickMethod;
1667
+ const shortcutParams = {
1668
+ $datePicker: $xeDatePicker,
1669
+ option: option
1670
+ };
1671
+ if (clickMethod) {
1672
+ clickMethod(shortcutParams);
1673
+ }
1674
+ if (autoClose) {
1675
+ $xeDatePicker.hidePanel();
1676
+ }
1677
+ $xeDatePicker.dispatchEvent('shortcut-click', shortcutParams, $event);
1678
+ },
1624
1679
  // 全局事件
1625
1680
  handleGlobalMousedownEvent(evnt) {
1626
1681
  const $xeDatePicker = this;
@@ -2203,6 +2258,29 @@ export default defineVxeComponent({
2203
2258
  ])
2204
2259
  ];
2205
2260
  },
2261
+ renderShortcutBtn(h, pos, isVertical) {
2262
+ const $xeDatePicker = this;
2263
+ const shortcutOpts = $xeDatePicker.computeShortcutOpts;
2264
+ const { options, position, align, mode } = shortcutOpts;
2265
+ if (isEnableConf(shortcutOpts) && options && options.length && (position || 'left') === pos) {
2266
+ return h('div', {
2267
+ class: `vxe-date-picker--panel-${pos}-wrapper`
2268
+ }, [
2269
+ h(VxeButtonGroupComponent, {
2270
+ props: {
2271
+ options: options,
2272
+ mode,
2273
+ align,
2274
+ vertical: isVertical
2275
+ },
2276
+ on: {
2277
+ click: $xeDatePicker.handleShortcutEvent
2278
+ }
2279
+ })
2280
+ ]);
2281
+ }
2282
+ return renderEmptyElement($xeDatePicker);
2283
+ },
2206
2284
  renderPanel(h) {
2207
2285
  const $xeDatePicker = this;
2208
2286
  const props = $xeDatePicker;
@@ -2212,12 +2290,15 @@ export default defineVxeComponent({
2212
2290
  const { initialized, isAniVisible, visiblePanel, panelPlacement, panelStyle } = reactData;
2213
2291
  const vSize = $xeDatePicker.computeSize;
2214
2292
  const btnTransfer = $xeDatePicker.computeBtnTransfer;
2293
+ const shortcutOpts = $xeDatePicker.computeShortcutOpts;
2294
+ const { options, position } = shortcutOpts;
2215
2295
  const headerSlot = slots.header;
2216
2296
  const footerSlot = slots.footer;
2217
2297
  const topSlot = slots.top;
2218
2298
  const bottomSlot = slots.bottom;
2219
2299
  const leftSlot = slots.left;
2220
2300
  const rightSlot = slots.right;
2301
+ const hasShortcutBtn = options && options.length;
2221
2302
  const renders = [];
2222
2303
  if (type === 'datetime') {
2223
2304
  renders.push(h('div', {
@@ -2254,10 +2335,10 @@ export default defineVxeComponent({
2254
2335
  'is--transfer': btnTransfer,
2255
2336
  'ani--leave': isAniVisible,
2256
2337
  'ani--enter': visiblePanel,
2257
- 'show--top': !!(topSlot || headerSlot),
2258
- 'show--bottom': !!(bottomSlot || footerSlot),
2259
- 'show--left': !!leftSlot,
2260
- 'show--right': !!rightSlot
2338
+ 'show--top': !!(topSlot || headerSlot || (hasShortcutBtn && (position === 'top' || position === 'header'))),
2339
+ 'show--bottom': !!(bottomSlot || footerSlot || (hasShortcutBtn && (position === 'bottom' || position === 'footer'))),
2340
+ 'show--left': !!(leftSlot || (hasShortcutBtn && position === 'left')),
2341
+ 'show--right': !!(rightSlot || (hasShortcutBtn && position === 'right'))
2261
2342
  }],
2262
2343
  attrs: {
2263
2344
  placement: panelPlacement
@@ -2272,7 +2353,7 @@ export default defineVxeComponent({
2272
2353
  ? h('div', {
2273
2354
  class: 'vxe-date-picker--panel-top-wrapper'
2274
2355
  }, topSlot({}))
2275
- : renderEmptyElement($xeDatePicker),
2356
+ : $xeDatePicker.renderShortcutBtn(h, 'top'),
2276
2357
  h('div', {
2277
2358
  class: 'vxe-date-picker--panel-body-layout-wrapper'
2278
2359
  }, [
@@ -2280,7 +2361,7 @@ export default defineVxeComponent({
2280
2361
  ? h('div', {
2281
2362
  class: 'vxe-date-picker--panel-left-wrapper'
2282
2363
  }, leftSlot({}))
2283
- : renderEmptyElement($xeDatePicker),
2364
+ : $xeDatePicker.renderShortcutBtn(h, 'left', true),
2284
2365
  h('div', {
2285
2366
  class: 'vxe-date-picker--panel-body-content-wrapper'
2286
2367
  }, [
@@ -2288,7 +2369,7 @@ export default defineVxeComponent({
2288
2369
  ? h('div', {
2289
2370
  class: 'vxe-date-picker--panel-header-wrapper'
2290
2371
  }, headerSlot({}))
2291
- : renderEmptyElement($xeDatePicker),
2372
+ : $xeDatePicker.renderShortcutBtn(h, 'header'),
2292
2373
  h('div', {
2293
2374
  class: 'vxe-date-picker--panel-body-wrapper'
2294
2375
  }, renders),
@@ -2296,19 +2377,19 @@ export default defineVxeComponent({
2296
2377
  ? h('div', {
2297
2378
  class: 'vxe-date-picker--panel-footer-wrapper'
2298
2379
  }, footerSlot({}))
2299
- : renderEmptyElement($xeDatePicker)
2380
+ : $xeDatePicker.renderShortcutBtn(h, 'footer')
2300
2381
  ]),
2301
2382
  rightSlot
2302
2383
  ? h('div', {
2303
2384
  class: 'vxe-date-picker--panel-right-wrapper'
2304
2385
  }, rightSlot({}))
2305
- : renderEmptyElement($xeDatePicker)
2386
+ : $xeDatePicker.renderShortcutBtn(h, 'right', true)
2306
2387
  ]),
2307
2388
  bottomSlot
2308
2389
  ? h('div', {
2309
2390
  class: 'vxe-date-picker--panel-bottom-wrapper'
2310
2391
  }, bottomSlot({}))
2311
- : renderEmptyElement($xeDatePicker)
2392
+ : $xeDatePicker.renderShortcutBtn(h, 'bottom')
2312
2393
  ])
2313
2394
  ]
2314
2395
  : []);
@@ -2528,4 +2609,4 @@ export default defineVxeComponent({
2528
2609
  render(h) {
2529
2610
  return this.renderVN(h);
2530
2611
  }
2531
- });
2612
+ };
@@ -383,6 +383,10 @@
383
383
  .vxe-date-picker--date-picker-body th {
384
384
  box-shadow: inset 0 -1px 0 0 var(--vxe-ui-base-popup-border-color);
385
385
  }
386
+ .vxe-date-picker--date-picker-body td {
387
+ border: 1px solid transparent;
388
+ border-radius: 1em;
389
+ }
386
390
  .vxe-date-picker--date-picker-body td.is--prev, .vxe-date-picker--date-picker-body td.is--next {
387
391
  color: var(--vxe-ui-font-disabled-color);
388
392
  }
@@ -392,7 +396,7 @@
392
396
  color: var(--vxe-ui-font-disabled-color);
393
397
  }
394
398
  .vxe-date-picker--date-picker-body td.is--now {
395
- box-shadow: inset 0 0 0 1px var(--vxe-ui-base-popup-border-color);
399
+ color: var(--vxe-ui-base-popup-border-color);
396
400
  }
397
401
  .vxe-date-picker--date-picker-body td.is--now:not(.is--selected).is--current {
398
402
  color: var(--vxe-ui-font-primary-color);
@@ -402,14 +406,20 @@
402
406
  color: var(--vxe-ui-font-primary-color);
403
407
  }
404
408
  .vxe-date-picker--date-picker-body td.is--hover {
405
- background-color: var(--vxe-ui-input-date-picker-hover-background-color);
409
+ border-color: var(--vxe-ui-font-primary-color);
410
+ background-color: var(--vxe-ui-font-primary-tinge-color);
406
411
  }
407
412
  .vxe-date-picker--date-picker-body td.is--selected {
408
413
  color: var(--vxe-ui-input-date-picker-selected-color);
409
414
  background-color: var(--vxe-ui-font-primary-color);
410
415
  }
411
- .vxe-date-picker--date-picker-body td.is--selected.is--prev, .vxe-date-picker--date-picker-body td.is--selected.is--next {
412
- background-color: var(--vxe-ui-font-primary-lighten-color);
416
+ .vxe-date-picker--date-picker-body td.is--selected.is--hover {
417
+ box-shadow: 0 0px 6px 1px var(--vxe-ui-font-primary-color);
418
+ }
419
+ .vxe-date-picker--date-picker-body td.is--selected.is--prev .vxe-date-picker--date-label,
420
+ .vxe-date-picker--date-picker-body td.is--selected.is--prev .vxe-date-picker--date-festival, .vxe-date-picker--date-picker-body td.is--selected.is--next .vxe-date-picker--date-label,
421
+ .vxe-date-picker--date-picker-body td.is--selected.is--next .vxe-date-picker--date-festival {
422
+ color: var(--vxe-ui-base-popup-border-color);
413
423
  }
414
424
  .vxe-date-picker--date-picker-body td.is--selected .vxe-date-picker--date-label,
415
425
  .vxe-date-picker--date-picker-body td.is--selected .vxe-date-picker--date-festival {
@@ -434,8 +444,25 @@
434
444
  .vxe-date-picker--date-week-view th:first-child {
435
445
  box-shadow: inset -1px -1px 0 0 var(--vxe-ui-base-popup-border-color);
436
446
  }
447
+ .vxe-date-picker--date-week-view td {
448
+ border-top-left-radius: 0;
449
+ border-top-right-radius: 0;
450
+ border-bottom-left-radius: 0;
451
+ border-bottom-right-radius: 0;
452
+ border-left-width: 0;
453
+ border-right-width: 0;
454
+ }
437
455
  .vxe-date-picker--date-week-view td:first-child {
438
- box-shadow: inset -1px 0 0 0 var(--vxe-ui-base-popup-border-color);
456
+ border-bottom-left-radius: 1em;
457
+ border-top-left-radius: 1em;
458
+ border-left-width: 1px;
459
+ border-right-width: 1px;
460
+ border-right-color: var(--vxe-ui-base-popup-border-color);
461
+ }
462
+ .vxe-date-picker--date-week-view td:last-child {
463
+ border-top-right-radius: 1em;
464
+ border-bottom-right-radius: 1em;
465
+ border-right-width: 1px;
439
466
  }
440
467
 
441
468
  .vxe-date-picker--date-label,
@@ -463,9 +490,8 @@
463
490
  position: absolute;
464
491
  right: 0.1em;
465
492
  top: -0.2em;
466
- font-size: 12px;
467
- line-height: 12px;
468
- transform: scale(0.7);
493
+ font-size: 0.86em;
494
+ transform: scale(0.85);
469
495
  color: var(--vxe-ui-input-date-extra-color);
470
496
  }
471
497
  .vxe-date-picker--date-label--extra.is-important {
@@ -475,7 +501,6 @@
475
501
  .vxe-date-picker--date-festival {
476
502
  color: var(--vxe-ui-input-date-festival-color);
477
503
  height: 14px;
478
- line-height: 1;
479
504
  overflow: hidden;
480
505
  }
481
506
  .vxe-date-picker--date-festival.is-important {
@@ -484,8 +509,8 @@
484
509
 
485
510
  .vxe-date-picker--date-festival--label {
486
511
  display: block;
487
- font-size: 12px;
488
- transform: scale(0.8);
512
+ font-size: 0.86em;
513
+ transform: scale(0.9);
489
514
  }
490
515
 
491
516
  @keyframes festivalOverlap2 {
@@ -509,7 +534,7 @@
509
534
  }
510
535
  .vxe-date-picker--date-festival--overlap {
511
536
  display: block;
512
- font-size: 12px;
537
+ font-size: 0.86em;
513
538
  }
514
539
  .vxe-date-picker--date-festival--overlap.overlap--2 {
515
540
  animation: festivalOverlap2 6s infinite ease-in-out;