vxe-pc-ui 3.16.7 → 3.16.9

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 (210) hide show
  1. package/es/button/style.css +14 -0
  2. package/es/button/style.min.css +1 -1
  3. package/es/cascader/src/cascader.js +66 -24
  4. package/es/cascader/style.css +9 -9
  5. package/es/cascader/style.min.css +1 -1
  6. package/es/checkbox/src/group.js +7 -4
  7. package/es/checkbox/style.css +11 -0
  8. package/es/checkbox/style.min.css +1 -1
  9. package/es/checkbox-button/style.css +6 -0
  10. package/es/checkbox-button/style.min.css +1 -1
  11. package/es/date-range-picker/src/date-range-picker.js +25 -9
  12. package/es/form/style.css +19 -11
  13. package/es/form/style.min.css +1 -1
  14. package/es/icon/style.css +7 -1
  15. package/es/icon/style.min.css +1 -1
  16. package/es/input/style.css +276 -66
  17. package/es/input/style.min.css +1 -1
  18. package/es/menu/src/menu.js +4 -3
  19. package/es/menu/style.css +10 -0
  20. package/es/menu/style.min.css +1 -1
  21. package/es/number-input/style.css +28 -21
  22. package/es/number-input/style.min.css +1 -1
  23. package/es/password-input/src/password-input.js +1 -0
  24. package/es/password-input/style.css +28 -399
  25. package/es/password-input/style.min.css +1 -1
  26. package/es/radio/src/group.js +3 -3
  27. package/es/radio/style.css +11 -0
  28. package/es/radio/style.min.css +1 -1
  29. package/es/radio-button/style.css +6 -0
  30. package/es/radio-button/style.min.css +1 -1
  31. package/es/select/style.css +10 -0
  32. package/es/select/style.min.css +1 -1
  33. package/es/style.css +1 -1
  34. package/es/style.min.css +1 -1
  35. package/es/switch/style.css +36 -22
  36. package/es/switch/style.min.css +1 -1
  37. package/es/tag/style.css +20 -19
  38. package/es/tag/style.min.css +1 -1
  39. package/es/tree/src/tree.js +14 -2
  40. package/es/tree/style.css +4 -1
  41. package/es/tree/style.min.css +1 -1
  42. package/es/ui/index.js +1 -1
  43. package/es/ui/src/log.js +1 -1
  44. package/es/upload/style.css +10 -0
  45. package/es/upload/style.min.css +1 -1
  46. package/es/vxe-button/style.css +14 -0
  47. package/es/vxe-button/style.min.css +1 -1
  48. package/es/vxe-cascader/style.css +9 -9
  49. package/es/vxe-cascader/style.min.css +1 -1
  50. package/es/vxe-checkbox/style.css +11 -0
  51. package/es/vxe-checkbox/style.min.css +1 -1
  52. package/es/vxe-checkbox-button/style.css +6 -0
  53. package/es/vxe-checkbox-button/style.min.css +1 -1
  54. package/es/vxe-form/style.css +19 -11
  55. package/es/vxe-form/style.min.css +1 -1
  56. package/es/vxe-icon/style.css +6 -0
  57. package/es/vxe-icon/style.min.css +1 -1
  58. package/es/vxe-input/style.css +276 -66
  59. package/es/vxe-input/style.min.css +1 -1
  60. package/es/vxe-menu/style.css +10 -0
  61. package/es/vxe-menu/style.min.css +1 -1
  62. package/es/vxe-number-input/style.css +28 -21
  63. package/es/vxe-number-input/style.min.css +1 -1
  64. package/es/vxe-password-input/style.css +28 -399
  65. package/es/vxe-password-input/style.min.css +1 -1
  66. package/es/vxe-radio/style.css +11 -0
  67. package/es/vxe-radio/style.min.css +1 -1
  68. package/es/vxe-radio-button/style.css +6 -0
  69. package/es/vxe-radio-button/style.min.css +1 -1
  70. package/es/vxe-select/style.css +10 -0
  71. package/es/vxe-select/style.min.css +1 -1
  72. package/es/vxe-switch/style.css +36 -22
  73. package/es/vxe-switch/style.min.css +1 -1
  74. package/es/vxe-tag/style.css +20 -19
  75. package/es/vxe-tag/style.min.css +1 -1
  76. package/es/vxe-tree/style.css +4 -1
  77. package/es/vxe-tree/style.min.css +1 -1
  78. package/es/vxe-upload/style.css +10 -0
  79. package/es/vxe-upload/style.min.css +1 -1
  80. package/lib/button/style/style.css +14 -0
  81. package/lib/button/style/style.min.css +1 -1
  82. package/lib/cascader/src/cascader.js +89 -29
  83. package/lib/cascader/src/cascader.min.js +1 -1
  84. package/lib/cascader/style/style.css +9 -9
  85. package/lib/cascader/style/style.min.css +1 -1
  86. package/lib/checkbox/src/group.js +8 -4
  87. package/lib/checkbox/src/group.min.js +1 -1
  88. package/lib/checkbox/style/style.css +11 -0
  89. package/lib/checkbox/style/style.min.css +1 -1
  90. package/lib/checkbox-button/style/style.css +6 -0
  91. package/lib/checkbox-button/style/style.min.css +1 -1
  92. package/lib/date-range-picker/src/date-range-picker.js +23 -9
  93. package/lib/date-range-picker/src/date-range-picker.min.js +1 -1
  94. package/lib/form/style/style.css +19 -11
  95. package/lib/form/style/style.min.css +1 -1
  96. package/lib/icon/style/style.css +7 -1
  97. package/lib/icon/style/style.min.css +7 -1
  98. package/lib/index.umd.js +145 -52
  99. package/lib/index.umd.min.js +1 -1
  100. package/lib/input/style/style.css +276 -66
  101. package/lib/input/style/style.min.css +1 -1
  102. package/lib/menu/src/menu.js +4 -3
  103. package/lib/menu/src/menu.min.js +1 -1
  104. package/lib/menu/style/style.css +10 -0
  105. package/lib/menu/style/style.min.css +1 -1
  106. package/lib/number-input/style/style.css +28 -21
  107. package/lib/number-input/style/style.min.css +1 -1
  108. package/lib/password-input/src/password-input.js +1 -0
  109. package/lib/password-input/src/password-input.min.js +1 -1
  110. package/lib/password-input/style/style.css +28 -399
  111. package/lib/password-input/style/style.min.css +1 -1
  112. package/lib/radio/src/group.js +4 -4
  113. package/lib/radio/src/group.min.js +1 -1
  114. package/lib/radio/style/style.css +11 -0
  115. package/lib/radio/style/style.min.css +1 -1
  116. package/lib/radio-button/style/style.css +6 -0
  117. package/lib/radio-button/style/style.min.css +1 -1
  118. package/lib/select/style/style.css +10 -0
  119. package/lib/select/style/style.min.css +1 -1
  120. package/lib/style.css +1 -1
  121. package/lib/style.min.css +1 -1
  122. package/lib/switch/style/style.css +36 -22
  123. package/lib/switch/style/style.min.css +1 -1
  124. package/lib/tag/style/style.css +20 -19
  125. package/lib/tag/style/style.min.css +1 -1
  126. package/lib/tree/src/tree.js +13 -2
  127. package/lib/tree/src/tree.min.js +1 -1
  128. package/lib/tree/style/style.css +4 -1
  129. package/lib/tree/style/style.min.css +1 -1
  130. package/lib/ui/index.js +1 -1
  131. package/lib/ui/index.min.js +1 -1
  132. package/lib/ui/src/log.js +1 -1
  133. package/lib/ui/src/log.min.js +1 -1
  134. package/lib/upload/style/style.css +10 -0
  135. package/lib/upload/style/style.min.css +1 -1
  136. package/lib/vxe-button/style/style.css +14 -0
  137. package/lib/vxe-button/style/style.min.css +1 -1
  138. package/lib/vxe-cascader/style/style.css +9 -9
  139. package/lib/vxe-cascader/style/style.min.css +1 -1
  140. package/lib/vxe-checkbox/style/style.css +11 -0
  141. package/lib/vxe-checkbox/style/style.min.css +1 -1
  142. package/lib/vxe-checkbox-button/style/style.css +6 -0
  143. package/lib/vxe-checkbox-button/style/style.min.css +1 -1
  144. package/lib/vxe-form/style/style.css +19 -11
  145. package/lib/vxe-form/style/style.min.css +1 -1
  146. package/lib/vxe-icon/style/style.css +6 -0
  147. package/lib/vxe-icon/style/style.min.css +1 -1
  148. package/lib/vxe-input/style/style.css +276 -66
  149. package/lib/vxe-input/style/style.min.css +1 -1
  150. package/lib/vxe-menu/style/style.css +10 -0
  151. package/lib/vxe-menu/style/style.min.css +1 -1
  152. package/lib/vxe-number-input/style/style.css +28 -21
  153. package/lib/vxe-number-input/style/style.min.css +1 -1
  154. package/lib/vxe-password-input/style/style.css +28 -399
  155. package/lib/vxe-password-input/style/style.min.css +1 -1
  156. package/lib/vxe-radio/style/style.css +11 -0
  157. package/lib/vxe-radio/style/style.min.css +1 -1
  158. package/lib/vxe-radio-button/style/style.css +6 -0
  159. package/lib/vxe-radio-button/style/style.min.css +1 -1
  160. package/lib/vxe-select/style/style.css +10 -0
  161. package/lib/vxe-select/style/style.min.css +1 -1
  162. package/lib/vxe-switch/style/style.css +36 -22
  163. package/lib/vxe-switch/style/style.min.css +1 -1
  164. package/lib/vxe-tag/style/style.css +20 -19
  165. package/lib/vxe-tag/style/style.min.css +1 -1
  166. package/lib/vxe-tree/style/style.css +4 -1
  167. package/lib/vxe-tree/style/style.min.css +1 -1
  168. package/lib/vxe-upload/style/style.css +10 -0
  169. package/lib/vxe-upload/style/style.min.css +1 -1
  170. package/package.json +3 -3
  171. package/packages/cascader/src/cascader.ts +66 -23
  172. package/packages/checkbox/src/group.ts +7 -4
  173. package/packages/date-range-picker/src/date-range-picker.ts +23 -9
  174. package/packages/menu/src/menu.ts +4 -3
  175. package/packages/password-input/src/password-input.ts +1 -0
  176. package/packages/radio/src/group.ts +3 -3
  177. package/packages/tree/src/tree.ts +14 -2
  178. package/styles/components/button.scss +12 -0
  179. package/styles/components/cascader.scss +9 -9
  180. package/styles/components/checkbox-button.scss +6 -0
  181. package/styles/components/checkbox.scss +11 -0
  182. package/styles/components/form.scss +28 -22
  183. package/styles/components/icon.scss +6 -0
  184. package/styles/components/input.scss +52 -28
  185. package/styles/components/menu.scss +8 -0
  186. package/styles/components/number-input.scss +29 -23
  187. package/styles/components/password-input.scss +29 -173
  188. package/styles/components/radio-button.scss +6 -0
  189. package/styles/components/radio.scss +11 -0
  190. package/styles/components/select.scss +8 -0
  191. package/styles/components/switch.scss +37 -22
  192. package/styles/components/tag.scss +21 -21
  193. package/styles/components/tree.scss +3 -1
  194. package/styles/components/upload.scss +8 -0
  195. package/styles/theme/base.scss +47 -0
  196. package/types/components/cascader.d.ts +1 -0
  197. package/types/components/checkbox-group.d.ts +2 -0
  198. package/types/components/tree.d.ts +7 -0
  199. /package/es/icon/{iconfont.1783873707609.ttf → iconfont.1783939819897.ttf} +0 -0
  200. /package/es/icon/{iconfont.1783873707609.woff → iconfont.1783939819897.woff} +0 -0
  201. /package/es/icon/{iconfont.1783873707609.woff2 → iconfont.1783939819897.woff2} +0 -0
  202. /package/es/{iconfont.1783873707609.ttf → iconfont.1783939819897.ttf} +0 -0
  203. /package/es/{iconfont.1783873707609.woff → iconfont.1783939819897.woff} +0 -0
  204. /package/es/{iconfont.1783873707609.woff2 → iconfont.1783939819897.woff2} +0 -0
  205. /package/lib/icon/style/{iconfont.1783873707609.ttf → iconfont.1783939819897.ttf} +0 -0
  206. /package/lib/icon/style/{iconfont.1783873707609.woff → iconfont.1783939819897.woff} +0 -0
  207. /package/lib/icon/style/{iconfont.1783873707609.woff2 → iconfont.1783939819897.woff2} +0 -0
  208. /package/lib/{iconfont.1783873707609.ttf → iconfont.1783939819897.ttf} +0 -0
  209. /package/lib/{iconfont.1783873707609.woff → iconfont.1783939819897.woff} +0 -0
  210. /package/lib/{iconfont.1783873707609.woff2 → iconfont.1783939819897.woff2} +0 -0
@@ -2,7 +2,8 @@ import { PropType, CreateElement, VNode } from 'vue'
2
2
  import { defineVxeComponent } from '../../ui/src/comp'
3
3
  import XEUtils from 'xe-utils'
4
4
  import { getConfig, createEvent, globalMixins } from '../../ui'
5
- import VxeCheckboxComponent from './checkbox'
5
+ import VxeCheckboxComponent from '../../checkbox'
6
+ import VxeCheckboxButtonComponent from '../../checkbox-button'
6
7
 
7
8
  import type { VxeCheckboxGroupEmits, CheckboxGroupInternalData, VxeCheckboxPropTypes, ValueOf, CheckboxGroupReactData, VxeComponentSizeType, VxeCheckboxGroupPropTypes, VxeFormConstructor, VxeFormPrivateMethods, VxeFormDefines } from '../../../types'
8
9
 
@@ -29,6 +30,7 @@ export default /* define-vxe-component start */ defineVxeComponent({
29
30
  type: Boolean as PropType<VxeCheckboxGroupPropTypes.Readonly>,
30
31
  default: null
31
32
  },
33
+ type: String as PropType<VxeCheckboxGroupPropTypes.Type>,
32
34
  disabled: {
33
35
  type: Boolean as PropType<VxeCheckboxGroupPropTypes.Disabled>,
34
36
  default: null
@@ -250,7 +252,7 @@ export default /* define-vxe-component start */ defineVxeComponent({
250
252
  const props = $xeCheckboxGroup
251
253
  const slots = $xeCheckboxGroup.$scopedSlots
252
254
 
253
- const { status, options } = props
255
+ const { status, options, type } = props
254
256
  const defaultSlot = slots.default
255
257
  const valueField = $xeCheckboxGroup.computeValueField
256
258
  const labelField = $xeCheckboxGroup.computeLabelField
@@ -259,8 +261,9 @@ export default /* define-vxe-component start */ defineVxeComponent({
259
261
  const titleField = $xeCheckboxGroup.computeTitleField
260
262
  const isReadonly = $xeCheckboxGroup.computeIsReadonly
261
263
  const isDisabled = $xeCheckboxGroup.computeIsDisabled
264
+ const btnComp = type === 'button' ? VxeCheckboxButtonComponent : VxeCheckboxComponent
262
265
  return h('div', {
263
- class: ['vxe-checkbox-group', {
266
+ class: ['vxe-checkbox-group', `type--${type === 'button' ? type : ''}`, {
264
267
  [`theme--${status}`]: status,
265
268
  'is--readonly': isReadonly,
266
269
  'is--disabled': isDisabled
@@ -269,7 +272,7 @@ export default /* define-vxe-component start */ defineVxeComponent({
269
272
  ? defaultSlot({})
270
273
  : (options
271
274
  ? options.map(item => {
272
- return h(VxeCheckboxComponent, {
275
+ return h(btnComp, {
273
276
  key: item[valueField],
274
277
  props: {
275
278
  checkedValue: item[valueField],
@@ -803,17 +803,24 @@ export default /* define-vxe-component start */ defineVxeComponent({
803
803
  const reactData = $xeDateRangePicker.reactData
804
804
  const internalData = $xeDateRangePicker.internalData
805
805
 
806
+ const { paneStartVal } = reactData
806
807
  const { selectStatus } = internalData
807
808
  const { value, currValue, $event } = params
808
809
  const paneVals = value ? (XEUtils.isString(value) ? value.split(',') : [value]) : []
809
810
  let startValue = ''
810
811
  let endValue = ''
811
812
  if (selectStatus) {
812
- startValue = paneVals[0]
813
- if (paneVals[1]) {
814
- endValue = paneVals[1]
813
+ // 如果选择同一天
814
+ if (!value && currValue === paneStartVal[0]) {
815
+ startValue = currValue
816
+ endValue = currValue
815
817
  } else {
816
- endValue = reactData.selectEdValue
818
+ startValue = paneVals[0]
819
+ if (paneVals[1]) {
820
+ endValue = paneVals[1]
821
+ } else {
822
+ endValue = reactData.selectEdValue
823
+ }
817
824
  }
818
825
  } else {
819
826
  startValue = currValue || XEUtils.last(paneVals)
@@ -838,18 +845,25 @@ export default /* define-vxe-component start */ defineVxeComponent({
838
845
  const reactData = $xeDateRangePicker.reactData
839
846
  const internalData = $xeDateRangePicker.internalData
840
847
 
848
+ const { paneEndVal } = reactData
841
849
  const { selectStatus } = internalData
842
850
  const { value, currValue, $event } = params
843
851
  const paneVals = value ? (XEUtils.isString(value) ? value.split(',') : [value]) : []
844
852
  let startValue = ''
845
853
  let endValue = ''
846
854
  if (selectStatus) {
847
- endValue = paneVals[0]
848
- if (paneVals[1]) {
849
- startValue = paneVals[0]
850
- endValue = paneVals[1]
855
+ // 如果选择同一天
856
+ if (!value && currValue === paneEndVal[1]) {
857
+ startValue = currValue
858
+ endValue = currValue
851
859
  } else {
852
- startValue = reactData.selectStValue
860
+ endValue = paneVals[0]
861
+ if (paneVals[1]) {
862
+ startValue = paneVals[0]
863
+ endValue = paneVals[1]
864
+ } else {
865
+ startValue = reactData.selectStValue
866
+ }
853
867
  }
854
868
  } else {
855
869
  endValue = currValue || XEUtils.last(paneVals)
@@ -272,6 +272,7 @@ export default /* define-vxe-component start */ defineVxeComponent({
272
272
  const { accordion } = props
273
273
  const { menuEffectMaps } = internalData
274
274
  const { itemId, hasChild, isExpand } = item
275
+ const isCollapsed = $xeMenu.computeIsCollapsed
275
276
  const expanded = !isExpand
276
277
  if (hasChild) {
277
278
  evnt.stopPropagation()
@@ -290,9 +291,9 @@ export default /* define-vxe-component start */ defineVxeComponent({
290
291
  }
291
292
  item.isExpand = expanded
292
293
 
293
- const el = $xeMenu.$refs.refElem as HTMLDivElement
294
- if (el) {
295
- const nemuEl = el.querySelector<HTMLDivElement>(`.vxe-menu--item-wrapper[data-menu-id="${itemId}"]`)
294
+ const wrapperEl = isCollapsed ? $xeMenu.$refs.refCollapseElem as HTMLDivElement : $xeMenu.$refs.refElem as HTMLDivElement
295
+ if (wrapperEl) {
296
+ const nemuEl = wrapperEl.querySelector<HTMLDivElement>(`.vxe-menu--item-wrapper[data-menu-id="${itemId}"]`)
296
297
  const groupEl = nemuEl ? nemuEl.querySelector<HTMLDivElement>('.vxe-menu--item-group') : null
297
298
  if (groupEl) {
298
299
  if (expanded) {
@@ -239,6 +239,7 @@ export default /* define-vxe-component start */ defineVxeComponent({
239
239
 
240
240
  const { inputValue } = reactData
241
241
  const value = inputValue
242
+ reactData.isActivated = false
242
243
  $xePasswordInput.dispatchEvent('blur', { value }, evnt)
243
244
  // 自动更新校验状态
244
245
  if ($xeForm && formItemInfo) {
@@ -2,8 +2,8 @@ import { PropType, CreateElement, VNode } from 'vue'
2
2
  import { defineVxeComponent } from '../../ui/src/comp'
3
3
  import XEUtils from 'xe-utils'
4
4
  import { getConfig, createEvent, globalMixins } from '../../ui'
5
- import VxeRadioComponent from './radio'
6
- import VxeRadioButtonComponent from './button'
5
+ import VxeRadioComponent from '../../radio'
6
+ import VxeRadioButtonComponent from '../../radio-button'
7
7
 
8
8
  import type { VxeRadioGroupPropTypes, RadioGroupInternalData, VxeRadioGroupEmits, VxeFormDefines, VxeFormConstructor, VxeFormPrivateMethods, VxeComponentPermissionInfo, VxeComponentSizeType, RadioGroupReactData, ValueOf } from '../../../types'
9
9
 
@@ -243,7 +243,7 @@ export default /* define-vxe-component start */ defineVxeComponent({
243
243
  const btnComp = type === 'button' ? VxeRadioButtonComponent : VxeRadioComponent
244
244
 
245
245
  return h('div', {
246
- class: ['vxe-radio-group', {
246
+ class: ['vxe-radio-group', `type--${type === 'button' ? type : ''}`, {
247
247
  [`theme--${status}`]: status,
248
248
  [`size--${vSize}`]: vSize
249
249
  }]
@@ -620,6 +620,10 @@ export default /* define-vxe-component start */ defineVxeComponent({
620
620
  type: [String, Number] as PropType<VxeTreePropTypes.MinHeight>,
621
621
  default: () => getConfig().tree.minHeight
622
622
  },
623
+ emptyText: {
624
+ type: [String, Number] as PropType<VxeTreePropTypes.EmptyText>,
625
+ default: () => getConfig().tree.emptyText
626
+ },
623
627
  loading: Boolean as PropType<VxeTreePropTypes.Loading>,
624
628
  loadingConfig: Object as PropType<VxeTreePropTypes.LoadingConfig>,
625
629
  accordion: {
@@ -3582,16 +3586,24 @@ export default /* define-vxe-component start */ defineVxeComponent({
3582
3586
  renderList (h: CreateElement, treeList: any[]) {
3583
3587
  const $xeTree = this
3584
3588
  const props = $xeTree
3589
+ const slots = $xeTree.$scopedSlots
3585
3590
  const internalData = $xeTree.internalData
3586
3591
 
3587
- const { transform } = props
3592
+ const { transform, emptyText } = props
3588
3593
  const { treeExpandedMaps } = internalData
3589
3594
  const childrenField = $xeTree.computeChildrenField
3595
+ const emptySlot = slots.empty
3590
3596
  if (!treeList.length) {
3591
3597
  return [
3592
3598
  h('div', {
3593
3599
  class: 'vxe-tree--empty-placeholder'
3594
- }, getI18n('vxe.tree.searchEmpty'))
3600
+ }, emptySlot
3601
+ ? emptySlot({})
3602
+ : [
3603
+ h('div', {
3604
+ class: 'vxe-tree--empty-placeholder-content'
3605
+ }, getText(emptyText || getI18n('vxe.tree.searchEmpty')))
3606
+ ])
3595
3607
  ]
3596
3608
  }
3597
3609
  const nodeVNs: VNode[] = []
@@ -11,6 +11,18 @@
11
11
  --vxe-ui-button-current-margin-left: var(--vxe-ui-base-margin-gap-default);
12
12
  --vxe-ui-button-current-height: var(--vxe-ui-button-height-default);
13
13
  --vxe-ui-button-current-border-radius: var(--vxe-ui-button-round-border-radius-default);
14
+ &.size--xlarge {
15
+ --vxe-ui-button-current-font-size: var(--vxe-ui-font-size-xlarge);
16
+ --vxe-ui-button-current-margin-left: var(--vxe-ui-base-margin-gap-xlarge);
17
+ --vxe-ui-button-current-height: var(--vxe-ui-button-height-xlarge);
18
+ --vxe-ui-button-current-border-radius: var(--vxe-ui-button-round-border-radius-xlarge);
19
+ }
20
+ &.size--large {
21
+ --vxe-ui-button-current-font-size: var(--vxe-ui-font-size-large);
22
+ --vxe-ui-button-current-margin-left: var(--vxe-ui-base-margin-gap-large);
23
+ --vxe-ui-button-current-height: var(--vxe-ui-button-height-large);
24
+ --vxe-ui-button-current-border-radius: var(--vxe-ui-button-round-border-radius-large);
25
+ }
14
26
  &.size--medium {
15
27
  --vxe-ui-button-current-font-size: var(--vxe-ui-font-size-medium);
16
28
  --vxe-ui-button-current-margin-left: var(--vxe-ui-base-margin-gap-medium);
@@ -5,18 +5,18 @@
5
5
  .vxe-cascader,
6
6
  .vxe-cascader--panel {
7
7
  --vxe-ui-cascader-current-font-size: var(--vxe-ui-font-size-default);
8
- --vxe-ui-cascader-current-font-size: var(--vxe-ui-layout-padding-default);
8
+ --vxe-ui-cascader-current-padding: var(--vxe-ui-layout-padding-default);
9
9
  &.size--medium {
10
10
  --vxe-ui-cascader-current-font-size: var(--vxe-ui-font-size-medium);
11
- --vxe-ui-cascader-current-font-size: var(--vxe-ui-layout-padding-medium);
11
+ --vxe-ui-cascader-current-padding: var(--vxe-ui-layout-padding-medium);
12
12
  }
13
13
  &.size--small {
14
14
  --vxe-ui-cascader-current-font-size: var(--vxe-ui-font-size-small);
15
- --vxe-ui-cascader-current-font-size: var(--vxe-ui-layout-padding-small);
15
+ --vxe-ui-cascader-current-padding: var(--vxe-ui-layout-padding-small);
16
16
  }
17
17
  &.size--mini {
18
18
  --vxe-ui-cascader-current-font-size: var(--vxe-ui-font-size-mini);
19
- --vxe-ui-cascader-current-font-size: var(--vxe-ui-layout-padding-mini);
19
+ --vxe-ui-cascader-current-padding: var(--vxe-ui-layout-padding-mini);
20
20
  }
21
21
  }
22
22
 
@@ -83,8 +83,8 @@
83
83
 
84
84
  .vxe-cascader--panel-search {
85
85
  display: block;
86
- padding: var(--vxe-ui-cascader-current-font-size);
87
- width: calc(var(--vxe-ui-cascader-node-width) * var(--vxe-ui-cascader-chunk-size));
86
+ padding: var(--vxe-ui-cascader-current-padding);
87
+ width: 100%;
88
88
  .vxe-cascader-search--input {
89
89
  width: 100%;
90
90
  }
@@ -99,7 +99,7 @@
99
99
  min-height: 2em;
100
100
  }
101
101
  .vxe-cascader--total-btns {
102
- padding-left: var(--vxe-ui-cascader-current-font-size);
102
+ padding-left: var(--vxe-ui-cascader-current-padding);
103
103
  flex-grow: 1;
104
104
  }
105
105
  .vxe-cascader--total-btns,
@@ -166,7 +166,7 @@
166
166
  .vxe-cascader-chunk--item-wrapper {
167
167
  flex-shrink: 0;
168
168
  border-left: 1px solid var(--vxe-ui-base-popup-border-color);
169
- padding: var(--vxe-ui-cascader-current-font-size) 0;
169
+ padding: var(--vxe-ui-cascader-current-padding) 0;
170
170
  &:first-child {
171
171
  border-left: 0;
172
172
  }
@@ -190,7 +190,7 @@
190
190
  flex-direction: row;
191
191
  height: var(--vxe-ui-cascader-node-height);
192
192
  line-height: var(--vxe-ui-cascader-node-height);
193
- padding: 0 calc(var(--vxe-ui-cascader-current-font-size) + 18px) 0 var(--vxe-ui-cascader-current-font-size);
193
+ padding: 0 calc(var(--vxe-ui-cascader-current-padding) + 18px) 0 var(--vxe-ui-cascader-current-padding);
194
194
  cursor: pointer;
195
195
  &:hover {
196
196
  background-color: var(--vxe-ui-cascader-node-hover-background-color);
@@ -7,6 +7,12 @@
7
7
  // 局部变量
8
8
  .vxe-checkbox--button {
9
9
  --vxe-ui-checkbox--button-current-margin-left: var(--vxe-ui-base-margin-gap-default);
10
+ &.size--xlarge {
11
+ --vxe-ui-checkbox--button-current-margin-left: var(--vxe-ui-base-margin-gap-xlarge);
12
+ }
13
+ &.size--large {
14
+ --vxe-ui-checkbox--button-current-margin-left: var(--vxe-ui-base-margin-gap-large);
15
+ }
10
16
  &.size--medium {
11
17
  --vxe-ui-checkbox--button-current-margin-left: var(--vxe-ui-base-margin-gap-medium);
12
18
  }
@@ -4,6 +4,14 @@
4
4
  .vxe-checkbox {
5
5
  --vxe-ui-checkbox-current-font-size: var(--vxe-ui-font-size-default);
6
6
  --vxe-ui-checkbox-current-margin-right: var(--vxe-ui-base-margin-gap-default);
7
+ &.size--xlarge {
8
+ --vxe-ui-checkbox-current-font-size: var(--vxe-ui-font-size-xlarge);
9
+ --vxe-ui-checkbox-current-margin-right: var(--vxe-ui-base-margin-gap-xlarge);
10
+ }
11
+ &.size--large {
12
+ --vxe-ui-checkbox-current-font-size: var(--vxe-ui-font-size-large);
13
+ --vxe-ui-checkbox-current-margin-right: var(--vxe-ui-base-margin-gap-large);
14
+ }
7
15
  &.size--medium {
8
16
  --vxe-ui-checkbox-current-font-size: var(--vxe-ui-font-size-medium);
9
17
  --vxe-ui-checkbox-current-margin-right: var(--vxe-ui-base-margin-gap-medium);
@@ -23,6 +31,9 @@
23
31
  display: inline-flex;
24
32
  vertical-align: middle;
25
33
  line-height: 1;
34
+ &.type--button {
35
+ border-radius: var(--vxe-ui-base-border-radius);
36
+ }
26
37
  }
27
38
 
28
39
  .vxe-checkbox-slots {
@@ -10,6 +10,18 @@
10
10
  --vxe-ui-form-current-font-size: var(--vxe-ui-font-size-default);
11
11
  --vxe-ui-form-current-padding: var(--vxe-ui-form-item-padding-default);
12
12
  --vxe-ui-form-current-item-min-height: var(--vxe-ui-form-item-min-height-default);
13
+ &.size--xlarge {
14
+ --vxe-ui-form-current-font-size: var(--vxe-ui-font-size-xlarge);
15
+ --vxe-ui-form-current-padding: var(--vxe-ui-form-item-padding-xlarge);
16
+ --vxe-ui-form-current-item-min-height: var(--vxe-ui-form-item-min-height-xlarge);
17
+ --vxe-ui-form-current-button-height: var(--vxe-ui-button-height-xlarge)
18
+ }
19
+ &.size--large {
20
+ --vxe-ui-form-current-font-size: var(--vxe-ui-font-size-large);
21
+ --vxe-ui-form-current-padding: var(--vxe-ui-form-item-padding-large);
22
+ --vxe-ui-form-current-item-min-height: var(--vxe-ui-form-item-min-height-large);
23
+ --vxe-ui-form-current-button-height: var(--vxe-ui-button-height-large)
24
+ }
13
25
  &.size--medium {
14
26
  --vxe-ui-form-current-font-size: var(--vxe-ui-font-size-medium);
15
27
  --vxe-ui-form-current-padding: var(--vxe-ui-form-item-padding-medium);
@@ -557,17 +569,15 @@
557
569
  }
558
570
  }
559
571
 
560
- .vxe-form {
561
- .vxe-form--item {
562
- &:not(.is--vertical) {
563
- .vxe-form--item-title {
564
- min-height: var(--vxe-ui-form-current-item-min-height);
565
- }
566
- }
567
- .vxe-form--item-content {
572
+ .vxe-form--item {
573
+ &:not(.is--vertical) {
574
+ .vxe-form--item-title {
568
575
  min-height: var(--vxe-ui-form-current-item-min-height);
569
576
  }
570
577
  }
578
+ .vxe-form--item-content {
579
+ min-height: var(--vxe-ui-form-current-item-min-height);
580
+ }
571
581
  }
572
582
 
573
583
  .vxe-form--item {
@@ -581,19 +591,15 @@
581
591
  }
582
592
 
583
593
  .vxe-form--item {
584
- &.size--small,
585
- &.size--small,
586
- &.size--mini {
587
- .vxe-default-input[type="submit"],
588
- .vxe-default-input[type="reset"] {
589
- line-height: calc(var(--vxe-ui-form-current-button-height) - 2px);
590
- }
591
- .vxe-default-input,
592
- .vxe-default-select {
593
- height: var(--vxe-ui-form-current-button-height);
594
- }
595
- .vxe-default-textarea {
596
- height: calc(var(--vxe-ui-form-current-button-height) * 2);
597
- }
594
+ .vxe-default-input[type="submit"],
595
+ .vxe-default-input[type="reset"] {
596
+ line-height: calc(var(--vxe-ui-form-current-button-height) - 2px);
597
+ }
598
+ .vxe-default-input,
599
+ .vxe-default-select {
600
+ height: var(--vxe-ui-form-current-button-height);
601
+ }
602
+ .vxe-default-textarea {
603
+ height: calc(var(--vxe-ui-form-current-button-height) * 2);
598
604
  }
599
605
  }
@@ -83,6 +83,12 @@ $btnThemeList: (
83
83
  }
84
84
 
85
85
  .vxe-icon {
86
+ &.size--xlarge {
87
+ font-size: var(--vxe-ui-font-size-xlarge);
88
+ }
89
+ &.size--large {
90
+ font-size: var(--vxe-ui-font-size-large);
91
+ }
86
92
  &.size--medium {
87
93
  font-size: var(--vxe-ui-font-size-medium);
88
94
  }
@@ -1,5 +1,32 @@
1
1
  @use "sass:list";
2
2
 
3
+ // 局部变量
4
+ .vxe-input,
5
+ .vxe-input--panel {
6
+ --vxe-ui-input-current-font-size: var(--vxe-ui-font-size-default);
7
+ --vxe-ui-input-current-height-default: var(--vxe-ui-input-height-default);
8
+ &.size--xlarge {
9
+ --vxe-ui-input-current-font-size: var(--vxe-ui-font-size-xlarge);
10
+ --vxe-ui-input-current-height-default: var(--vxe-ui-input-height-xlarge);
11
+ }
12
+ &.size--large {
13
+ --vxe-ui-input-current-font-size: var(--vxe-ui-font-size-large);
14
+ --vxe-ui-input-current-height-default: var(--vxe-ui-input-height-large);
15
+ }
16
+ &.size--medium {
17
+ --vxe-ui-input-current-font-size: var(--vxe-ui-font-size-medium);
18
+ --vxe-ui-input-current-height-default: var(--vxe-ui-input-height-medium);
19
+ }
20
+ &.size--small {
21
+ --vxe-ui-input-current-font-size: var(--vxe-ui-font-size-small);
22
+ --vxe-ui-input-current-height-default: var(--vxe-ui-input-height-small);
23
+ }
24
+ &.size--mini {
25
+ --vxe-ui-input-current-font-size: var(--vxe-ui-font-size-mini);
26
+ --vxe-ui-input-current-height-default: var(--vxe-ui-input-height-mini);
27
+ }
28
+ }
29
+
3
30
  .vxe-input--readonly {
4
31
  color: var(--vxe-ui-font-color);
5
32
  display: inline-flex;
@@ -634,9 +661,9 @@
634
661
  }
635
662
 
636
663
  .vxe-input {
637
- font-size: var(--vxe-ui-font-size-default);
638
- height: var(--vxe-ui-input-height-default);
639
- line-height: var(--vxe-ui-input-height-default);
664
+ font-size: var(--vxe-ui-input-current-font-size);
665
+ height: var(--vxe-ui-input-current-height-default);
666
+ line-height: var(--vxe-ui-input-current-height-default);
640
667
  .vxe-input--inner {
641
668
  &[type="date"]::-webkit-inner-spin-button,
642
669
  &[type="month"]::-webkit-inner-spin-button,
@@ -651,9 +678,6 @@
651
678
  }
652
679
  }
653
680
  &.size--medium {
654
- font-size: var(--vxe-ui-font-size-medium);
655
- height: var(--vxe-ui-input-height-medium);
656
- line-height: var(--vxe-ui-input-height-medium);
657
681
  .vxe-input--inner {
658
682
  &[type="date"]::-webkit-inner-spin-button,
659
683
  &[type="month"]::-webkit-inner-spin-button,
@@ -663,9 +687,6 @@
663
687
  }
664
688
  }
665
689
  &.size--small {
666
- font-size: var(--vxe-ui-font-size-small);
667
- height: var(--vxe-ui-input-height-small);
668
- line-height: var(--vxe-ui-input-height-small);
669
690
  .vxe-input--inner {
670
691
  &[type="date"]::-webkit-inner-spin-button,
671
692
  &[type="month"]::-webkit-inner-spin-button,
@@ -675,9 +696,6 @@
675
696
  }
676
697
  }
677
698
  &.size--mini {
678
- font-size: var(--vxe-ui-font-size-mini);
679
- height: var(--vxe-ui-input-height-mini);
680
- line-height: var(--vxe-ui-input-height-mini);
681
699
  .vxe-input--inner {
682
700
  &[type="date"]::-webkit-inner-spin-button,
683
701
  &[type="month"]::-webkit-inner-spin-button,
@@ -689,11 +707,11 @@
689
707
  }
690
708
 
691
709
  @mixin getPanelStyle ($sizeIndex) {
692
- $fontSizeList: var(--vxe-ui-font-size-default), var(--vxe-ui-font-size-medium), var(--vxe-ui-font-size-small), var(--vxe-ui-font-size-mini);
693
- $timeWeekRowHeightList: var(--vxe-ui-input-date-time-week-row-height-default), var(--vxe-ui-input-date-time-week-row-height-medium), var(--vxe-ui-input-date-time-week-row-height-small), var(--vxe-ui-input-date-time-week-row-height-mini);
694
- $monthYearRowHeightList: var(--vxe-ui-input-date-month-year-row-height-default), var(--vxe-ui-input-date-month-year-row-height-medium), var(--vxe-ui-input-date-month-year-row-height-small), var(--vxe-ui-input-date-month-year-row-height-mini);
695
- $quarterRowHeightList: var(--vxe-ui-input-date-quarter-row-height-default), var(--vxe-ui-input-date-quarter-row-height-medium), var(--vxe-ui-input-date-quarter-row-height-small), var(--vxe-ui-input-date-quarter-row-height-mini);
696
- $titleRowHeightList: var(--vxe-ui-input-date-title-height-default), var(--vxe-ui-input-date-title-height-medium), var(--vxe-ui-input-date-title-height-small), var(--vxe-ui-input-date-title-height-mini);
710
+ $fontSizeList: var(--vxe-ui-font-size-xlarge), var(--vxe-ui-font-size-large), var(--vxe-ui-font-size-default), var(--vxe-ui-font-size-medium), var(--vxe-ui-font-size-small), var(--vxe-ui-font-size-mini);
711
+ $timeWeekRowHeightList: var(--vxe-ui-input-date-time-week-row-height-xlarge), var(--vxe-ui-input-date-time-week-row-height-large), var(--vxe-ui-input-date-time-week-row-height-default), var(--vxe-ui-input-date-time-week-row-height-medium), var(--vxe-ui-input-date-time-week-row-height-small), var(--vxe-ui-input-date-time-week-row-height-mini);
712
+ $monthYearRowHeightList: var(--vxe-ui-input-date-month-year-row-height-xlarge), var(--vxe-ui-input-date-month-year-row-height-large), var(--vxe-ui-input-date-month-year-row-height-default), var(--vxe-ui-input-date-month-year-row-height-medium), var(--vxe-ui-input-date-month-year-row-height-small), var(--vxe-ui-input-date-month-year-row-height-mini);
713
+ $quarterRowHeightList: var(--vxe-ui-input-date-quarter-row-height-xlarge), var(--vxe-ui-input-date-quarter-row-height-large), var(--vxe-ui-input-date-quarter-row-height-default), var(--vxe-ui-input-date-quarter-row-height-medium), var(--vxe-ui-input-date-quarter-row-height-small), var(--vxe-ui-input-date-quarter-row-height-mini);
714
+ $titleRowHeightList: var(--vxe-ui-input-date-title-height-xlarge), var(--vxe-ui-input-date-title-height-large), var(--vxe-ui-input-date-title-height-default), var(--vxe-ui-input-date-title-height-medium), var(--vxe-ui-input-date-title-height-small), var(--vxe-ui-input-date-title-height-mini);
697
715
 
698
716
  font-size: list.nth($fontSizeList, $sizeIndex);
699
717
  .vxe-input--panel-wrapper {
@@ -714,13 +732,13 @@
714
732
  &.type--quarter,
715
733
  &.type--year {
716
734
  .vxe-input--panel-wrapper {
717
- $widthList: 336px, 336px, 312px, 288px;
735
+ $widthList: 336px, 336px, 336px, 336px, 312px, 288px;
718
736
  width: list.nth($widthList, $sizeIndex);
719
737
  }
720
738
  }
721
739
  &.type--week {
722
740
  .vxe-input--panel-wrapper {
723
- $widthList: 380px, 380px, 354px, 326px;
741
+ $widthList: 380px, 380px, 380px, 380px, 354px, 326px;
724
742
  width: list.nth($widthList, $sizeIndex);
725
743
  }
726
744
  }
@@ -728,12 +746,12 @@
728
746
  .vxe-input--panel-wrapper {
729
747
  display: inline-flex;
730
748
  flex-direction: column;
731
- $widthList: 170px, 168px, 154px, 146px;
749
+ $widthList: 170px, 170px, 170px, 168px, 154px, 146px;
732
750
  }
733
751
  }
734
752
  &.type--datetime {
735
753
  .vxe-input--panel-left-wrapper {
736
- $widthList: 336px, 336px, 312px, 288px;
754
+ $widthList: 336px, 336px, 336px, 336px, 312px, 288px;
737
755
  width: list.nth($widthList, $sizeIndex);
738
756
  }
739
757
  .vxe-input--panel-left-wrapper,
@@ -773,7 +791,7 @@
773
791
  }
774
792
  .vxe-input--time-picker-header,
775
793
  .vxe-input--date-picker-header {
776
- $paddingBottomList: 8px, 7px, 6px, 5px;
794
+ $paddingBottomList: 10px, 9px, 8px, 7px, 6px, 5px;
777
795
  padding-bottom: list.nth($paddingBottomList, $sizeIndex);
778
796
  }
779
797
  .vxe-input--date-picker-body table,
@@ -781,12 +799,12 @@
781
799
  height: calc(list.nth($timeWeekRowHeightList, $sizeIndex) * 6 + list.nth($titleRowHeightList, $sizeIndex));
782
800
  }
783
801
  .vxe-input--time-picker-body {
784
- $ulWidthList: 48px, 48px, 44px, 42px;
802
+ $ulWidthList: 48px, 48px, 48px, 48px, 44px, 42px;
785
803
  & > ul {
786
804
  width: list.nth($ulWidthList, $sizeIndex);
787
805
  &:before,
788
806
  &:after {
789
- $heightList: 120px, 120px, 110px, 100px;
807
+ $heightList: 120px, 120px, 120px, 120px, 110px, 100px;
790
808
  height: list.nth($heightList, $sizeIndex);
791
809
  }
792
810
  & > li {
@@ -833,14 +851,20 @@
833
851
  }
834
852
 
835
853
  .vxe-input--panel {
836
- @include getPanelStyle(1);
837
- &.size--medium {
854
+ @include getPanelStyle(3);
855
+ &.size--xlarge {
856
+ @include getPanelStyle(1);
857
+ }
858
+ &.size--large {
838
859
  @include getPanelStyle(2);
839
860
  }
861
+ &.size--medium {
862
+ @include getPanelStyle(4);
863
+ }
840
864
  &.size--small {
841
- @include getPanelStyle(3);
865
+ @include getPanelStyle(5);
842
866
  }
843
867
  &.size--mini {
844
- @include getPanelStyle(4);
868
+ @include getPanelStyle(6);
845
869
  }
846
870
  }
@@ -5,6 +5,14 @@
5
5
  .vxe-menu--collapse-wrapper {
6
6
  --vxe-ui-menu-current-font-size: var(--vxe-ui-font-size-default);
7
7
  --vxe-ui-menu-current-item-height: var(--vxe-ui-menu-item-height-default);
8
+ &.size--xlarge {
9
+ --vxe-ui-menu-current-font-size: var(--vxe-ui-font-size-xlarge);
10
+ --vxe-ui-menu-current-item-height: var(--vxe-ui-menu-item-height-xlarge);
11
+ }
12
+ &.size--large {
13
+ --vxe-ui-menu-current-font-size: var(--vxe-ui-font-size-large);
14
+ --vxe-ui-menu-current-item-height: var(--vxe-ui-menu-item-height-large);
15
+ }
8
16
  &.size--medium {
9
17
  --vxe-ui-menu-current-font-size: var(--vxe-ui-font-size-medium);
10
18
  --vxe-ui-menu-current-item-height: var(--vxe-ui-menu-item-height-medium);
@@ -1,6 +1,32 @@
1
1
  @use "sass:list";
2
2
  @use '../helpers/baseMixin.scss';
3
3
 
4
+ // 局部变量
5
+ .vxe-number-input {
6
+ --vxe-ui-number-input-current-font-size: var(--vxe-ui-font-size-default);
7
+ --vxe-ui-number-input-current-height: var(--vxe-ui-input-height-default);
8
+ &.size--xlarge {
9
+ --vxe-ui-number-input-current-font-size: var(--vxe-ui-font-size-xlarge);
10
+ --vxe-ui-number-input-current-height: var(--vxe-ui-input-height-xlarge);
11
+ }
12
+ &.size--large {
13
+ --vxe-ui-number-input-current-font-size: var(--vxe-ui-font-size-large);
14
+ --vxe-ui-number-input-current-height: var(--vxe-ui-input-height-large);
15
+ }
16
+ &.size--medium {
17
+ --vxe-ui-number-input-current-font-size: var(--vxe-ui-font-size-medium);
18
+ --vxe-ui-number-input-current-height: var(--vxe-ui-input-height-medium);
19
+ }
20
+ &.size--small {
21
+ --vxe-ui-number-input-current-font-size: var(--vxe-ui-font-size-small);
22
+ --vxe-ui-number-input-current-height: var(--vxe-ui-input-height-small);
23
+ }
24
+ &.size--mini {
25
+ --vxe-ui-number-input-current-font-size: var(--vxe-ui-font-size-mini);
26
+ --vxe-ui-number-input-current-height: var(--vxe-ui-input-height-mini);
27
+ }
28
+ }
29
+
4
30
  .vxe-number-input--readonly {
5
31
  color: var(--vxe-ui-font-color);
6
32
  display: inline-flex;
@@ -257,27 +283,7 @@
257
283
  }
258
284
 
259
285
  .vxe-number-input {
260
- font-size: var(--vxe-ui-font-size-default);
261
- height: var(--vxe-ui-input-height-default);
262
- line-height: var(--vxe-ui-input-height-default);
263
- .vxe-number-input--input {
264
- &[type="number"]::-webkit-inner-spin-button {
265
- height: 24px;
266
- }
267
- }
268
- &.size--medium {
269
- font-size: var(--vxe-ui-font-size-medium);
270
- height: var(--vxe-ui-input-height-medium);
271
- line-height: var(--vxe-ui-input-height-medium);
272
- }
273
- &.size--small {
274
- font-size: var(--vxe-ui-font-size-small);
275
- height: var(--vxe-ui-input-height-small);
276
- line-height: var(--vxe-ui-input-height-small);
277
- }
278
- &.size--mini {
279
- font-size: var(--vxe-ui-font-size-mini);
280
- height: var(--vxe-ui-input-height-mini);
281
- line-height: var(--vxe-ui-input-height-mini);
282
- }
286
+ font-size: var(--vxe-ui-number-input-current-font-size);
287
+ height: var(--vxe-ui-number-input-current-height);
288
+ line-height: var(--vxe-ui-number-input-current-height);
283
289
  }