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
@@ -1,5 +1,31 @@
1
1
  @use "sass:list";
2
2
 
3
+ // 局部变量
4
+ .vxe-password-input {
5
+ --vxe-ui-password-input-current-font-size: var(--vxe-ui-font-size-default);
6
+ --vxe-ui-password-input-current-height: var(--vxe-ui-input-height-default);
7
+ &.size--xlarge {
8
+ --vxe-ui-password-input-current-font-size: var(--vxe-ui-font-size-xlarge);
9
+ --vxe-ui-password-input-current-height: var(--vxe-ui-input-height-xlarge);
10
+ }
11
+ &.size--large {
12
+ --vxe-ui-password-input-current-font-size: var(--vxe-ui-font-size-large);
13
+ --vxe-ui-password-input-current-height: var(--vxe-ui-input-height-large);
14
+ }
15
+ &.size--medium {
16
+ --vxe-ui-password-input-current-font-size: var(--vxe-ui-font-size-medium);
17
+ --vxe-ui-password-input-current-height: var(--vxe-ui-input-height-medium);
18
+ }
19
+ &.size--small {
20
+ --vxe-ui-password-input-current-font-size: var(--vxe-ui-font-size-small);
21
+ --vxe-ui-password-input-current-height: var(--vxe-ui-input-height-small);
22
+ }
23
+ &.size--mini {
24
+ --vxe-ui-password-input-current-font-size: var(--vxe-ui-font-size-mini);
25
+ --vxe-ui-password-input-current-height: var(--vxe-ui-input-height-mini);
26
+ }
27
+ }
28
+
3
29
  .vxe-password-input--wrapper {
4
30
  flex-grow: 1;
5
31
  overflow: hidden;
@@ -198,177 +224,7 @@
198
224
  }
199
225
 
200
226
  .vxe-password-input {
201
- font-size: var(--vxe-ui-font-size-default);
202
- height: var(--vxe-ui-input-height-default);
203
- line-height: var(--vxe-ui-input-height-default);
204
- &.size--medium {
205
- font-size: var(--vxe-ui-font-size-medium);
206
- height: var(--vxe-ui-input-height-medium);
207
- line-height: var(--vxe-ui-input-height-medium);
208
- }
209
- &.size--small {
210
- font-size: var(--vxe-ui-font-size-small);
211
- height: var(--vxe-ui-input-height-small);
212
- line-height: var(--vxe-ui-input-height-small);
213
- }
214
- &.size--mini {
215
- font-size: var(--vxe-ui-font-size-mini);
216
- height: var(--vxe-ui-input-height-mini);
217
- line-height: var(--vxe-ui-input-height-mini);
218
- }
219
- }
220
-
221
- @mixin getPanelStyle ($sizeIndex) {
222
- $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);
223
- $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);
224
- $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);
225
- $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);
226
- $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);
227
-
228
- font-size: list.nth($fontSizeList, $sizeIndex);
229
- .vxe-password-input--panel-wrapper {
230
- max-height: 400px - $sizeIndex * 20;
231
- }
232
- &.type--date,
233
- &.type--time,
234
- &.type--week,
235
- &.type--month,
236
- &.type--quarter,
237
- &.type--year {
238
- .vxe-password-input--panel-wrapper {
239
- padding: 12px - $sizeIndex;
240
- }
241
- }
242
- &.type--date,
243
- &.type--month,
244
- &.type--quarter,
245
- &.type--year {
246
- .vxe-password-input--panel-wrapper {
247
- $widthList: 336px, 336px, 312px, 288px;
248
- width: list.nth($widthList, $sizeIndex);
249
- }
250
- }
251
- &.type--week {
252
- .vxe-password-input--panel-wrapper {
253
- $widthList: 380px, 380px, 354px, 326px;
254
- width: list.nth($widthList, $sizeIndex);
255
- }
256
- }
257
- &.type--time {
258
- .vxe-password-input--panel-wrapper {
259
- $widthList: 170px, 168px, 154px, 146px;
260
- width: list.nth($widthList, $sizeIndex);
261
- }
262
- }
263
- &.type--datetime {
264
- .vxe-password-input--panel-left-wrapper {
265
- $widthList: 336px, 336px, 312px, 288px;
266
- width: list.nth($widthList, $sizeIndex);
267
- }
268
- .vxe-password-input--panel-left-wrapper,
269
- .vxe-password-input--panel-right-wrapper {
270
- padding: 12px - $sizeIndex;
271
- }
272
- }
273
- .vxe-password-input--time-picker-title {
274
- height: 31px - $sizeIndex;
275
- line-height: 31px - $sizeIndex;
276
- padding: 0 12px - $sizeIndex;
277
- }
278
- .vxe-password-input--date-picker-label,
279
- .vxe-password-input--date-picker-btn {
280
- height: 31px - $sizeIndex;
281
- line-height: 31px - $sizeIndex;
282
- }
283
- .vxe-password-input--date-picker-btn-wrapper {
284
- .vxe-password-input--date-picker-btn {
285
- margin-left: 9px - $sizeIndex;
286
- }
287
- .vxe-password-input--date-picker-prev-btn,
288
- .vxe-password-input--date-picker-current-btn,
289
- .vxe-password-input--date-picker-next-btn {
290
- width: 31px - $sizeIndex;
291
- border-radius: var(--vxe-ui-base-border-radius);
292
- border: 1px solid var(--vxe-ui-input-border-color);
293
- }
294
- }
295
- .vxe-password-input--date-picker-type-wrapper {
296
- .vxe-password-input--date-picker-label,
297
- .vxe-password-input--date-picker-btn {
298
- padding: 0 10px - $sizeIndex;
299
- }
300
- }
301
- .vxe-password-input--time-picker-header,
302
- .vxe-password-input--date-picker-header {
303
- $paddingBottomList: 8px, 7px, 6px, 5px;
304
- padding-bottom: list.nth($paddingBottomList, $sizeIndex);
305
- }
306
- .vxe-password-input--date-picker-body table,
307
- .vxe-password-input--time-picker-body {
308
- height: calc(list.nth($timeWeekRowHeightList, $sizeIndex) * 6 + list.nth($titleRowHeightList, $sizeIndex));
309
- }
310
- .vxe-password-input--time-picker-body {
311
- $ulWidthList: 48px, 48px, 44px, 42px;
312
- & > ul {
313
- width: list.nth($ulWidthList, $sizeIndex);
314
- &:before,
315
- &:after {
316
- $heightList: 120px, 120px, 110px, 100px;
317
- height: list.nth($heightList, $sizeIndex);
318
- }
319
- & > li {
320
- height: 26px;
321
- padding-left: 10px - $sizeIndex;
322
- }
323
- }
324
- .vxe-password-input--time-picker-minute-list {
325
- left: list.nth($ulWidthList, $sizeIndex);
326
- }
327
- .vxe-password-input--time-picker-second-list {
328
- left: calc(list.nth($ulWidthList, $sizeIndex) * 2);
329
- }
330
- }
331
- .vxe-password-input--date-day-view,
332
- .vxe-password-input--date-week-view {
333
- td {
334
- height: list.nth($timeWeekRowHeightList, $sizeIndex);
335
- }
336
- }
337
- .vxe-password-input--date-quarter-view {
338
- td {
339
- height: list.nth($quarterRowHeightList, $sizeIndex);
340
- }
341
- }
342
- .vxe-password-input--date-month-view,
343
- .vxe-password-input--date-year-view {
344
- td {
345
- height: list.nth($monthYearRowHeightList, $sizeIndex);
346
- }
347
- }
348
- .vxe-password-input--date-picker-body {
349
- th {
350
- height: list.nth($titleRowHeightList, $sizeIndex);
351
- }
352
- }
353
- .vxe-password-input--time-picker-confirm,
354
- .vxe-password-input--date-picker-confirm {
355
- height: 31px - $sizeIndex;
356
- padding: 0 10px - $sizeIndex;
357
- }
358
- .vxe-password-input--date-label {
359
- line-height: calc(list.nth($fontSizeList, $sizeIndex) + 1px);
360
- }
361
- }
362
-
363
- .vxe-password-input--panel {
364
- @include getPanelStyle(1);
365
- &.size--medium {
366
- @include getPanelStyle(2);
367
- }
368
- &.size--small {
369
- @include getPanelStyle(3);
370
- }
371
- &.size--mini {
372
- @include getPanelStyle(4);
373
- }
227
+ font-size: var(--vxe-ui-password-input-current-font-size);
228
+ height: var(--vxe-ui-password-input-current-height);
229
+ line-height: var(--vxe-ui-password-input-current-height);
374
230
  }
@@ -8,6 +8,12 @@
8
8
  // 局部变量
9
9
  .vxe-radio--button {
10
10
  --vxe-ui-radio--button-current-margin-left: var(--vxe-ui-base-margin-gap-default);
11
+ &.size--xlarge {
12
+ --vxe-ui-radio--button-current-margin-left: var(--vxe-ui-base-margin-gap-xlarge);
13
+ }
14
+ &.size--large {
15
+ --vxe-ui-radio--button-current-margin-left: var(--vxe-ui-base-margin-gap-large);
16
+ }
11
17
  &.size--medium {
12
18
  --vxe-ui-radio--button-current-margin-left: var(--vxe-ui-base-margin-gap-medium);
13
19
  }
@@ -4,6 +4,14 @@
4
4
  .vxe-radio {
5
5
  --vxe-ui-radio-current-font-size: var(--vxe-ui-font-size-default);
6
6
  --vxe-ui-radio-current-margin-right: var(--vxe-ui-base-margin-gap-default);
7
+ &.size--xlarge {
8
+ --vxe-ui-radio-current-font-size: var(--vxe-ui-font-size-xlarge);
9
+ --vxe-ui-radio-current-margin-right: var(--vxe-ui-base-margin-gap-xlarge);
10
+ }
11
+ &.size--large {
12
+ --vxe-ui-radio-current-font-size: var(--vxe-ui-font-size-large);
13
+ --vxe-ui-radio-current-margin-right: var(--vxe-ui-base-margin-gap-large);
14
+ }
7
15
  &.size--medium {
8
16
  --vxe-ui-radio-current-font-size: var(--vxe-ui-font-size-medium);
9
17
  --vxe-ui-radio-current-margin-right: var(--vxe-ui-base-margin-gap-medium);
@@ -24,6 +32,9 @@
24
32
  vertical-align: middle;
25
33
  line-height: 1;
26
34
  font-size: 0;
35
+ &.type--button {
36
+ border-radius: var(--vxe-ui-base-border-radius);
37
+ }
27
38
  }
28
39
 
29
40
  .vxe-radio--readonly {
@@ -6,6 +6,14 @@
6
6
  .vxe-select--panel {
7
7
  --vxe-ui-select-current-font-size: var(--vxe-ui-font-size-default);
8
8
  --vxe-ui-select-current-option-height: var(--vxe-ui-select-option-height-default);
9
+ &.size--xlarge {
10
+ --vxe-ui-select-current-font-size: var(--vxe-ui-font-size-xlarge);
11
+ --vxe-ui-select-current-option-height: var(--vxe-ui-select-option-height-xlarge);
12
+ }
13
+ &.size--large {
14
+ --vxe-ui-select-current-font-size: var(--vxe-ui-font-size-large);
15
+ --vxe-ui-select-current-option-height: var(--vxe-ui-select-option-height-large);
16
+ }
9
17
  &.size--medium {
10
18
  --vxe-ui-select-current-font-size: var(--vxe-ui-font-size-medium);
11
19
  --vxe-ui-select-current-option-height: var(--vxe-ui-select-option-height-medium);
@@ -1,8 +1,35 @@
1
+ // 局部变量
2
+ .vxe-switch {
3
+ --vxe-ui-switch-current-font-size: var(--vxe-ui-font-size-default);
4
+ --vxe-ui-switch-current-height: var(--vxe-ui-switch-height-default);
5
+ &.size--xlarge {
6
+ --vxe-ui-switch-current-font-size: var(--vxe-ui-font-size-xlarge);
7
+ --vxe-ui-switch-current-height: var(--vxe-ui-switch-height-xlarge);
8
+ }
9
+ &.size--large {
10
+ --vxe-ui-switch-current-font-size: var(--vxe-ui-font-size-large);
11
+ --vxe-ui-switch-current-height: var(--vxe-ui-switch-height-large);
12
+ }
13
+ &.size--medium {
14
+ --vxe-ui-switch-current-font-size: var(--vxe-ui-font-size-medium);
15
+ --vxe-ui-switch-current-height: var(--vxe-ui-switch-height-medium);
16
+ }
17
+ &.size--small {
18
+ --vxe-ui-switch-current-font-size: var(--vxe-ui-font-size-small);
19
+ --vxe-ui-switch-current-height: var(--vxe-ui-switch-height-small);
20
+ }
21
+ &.size--mini {
22
+ --vxe-ui-switch-current-font-size: var(--vxe-ui-font-size-mini);
23
+ --vxe-ui-switch-current-height: var(--vxe-ui-switch-height-mini);
24
+ }
25
+ }
26
+
1
27
  .vxe-switch {
2
28
  display: inline-block;
3
29
  color: var(--vxe-ui-font-color);
30
+ font-size: var(--vxe-ui-switch-current-font-size);
4
31
  vertical-align: middle;
5
- padding: 0.4em;
32
+ padding: 0.2em;
6
33
  user-select: none;
7
34
  text-align: center;
8
35
  &.is--animat {
@@ -20,7 +47,7 @@
20
47
  }
21
48
  .vxe-switch--icon {
22
49
  left: 100%;
23
- transform: translateX(-1.4em);
50
+ transform: translateY(-50%) translateX(calc(var(--vxe-ui-switch-current-height) * -1));
24
51
  color: var(--vxe-primary-color);
25
52
  }
26
53
  }
@@ -30,8 +57,8 @@
30
57
  background-color: var(--vxe-ui-switch-close-background-color);
31
58
  }
32
59
  .vxe-switch--icon {
33
- left: 0.2em;
34
- transform: translateX(0);
60
+ left: 0.25em;
61
+ transform: translateY(-50%) translateX(0);
35
62
  color: var(--vxe-switch-close-background-color);
36
63
  }
37
64
  }
@@ -84,9 +111,9 @@
84
111
  .vxe-switch--button {
85
112
  display: block;
86
113
  position: relative;
87
- height: 1.6em;
114
+ height: var(--vxe-ui-switch-current-height);
88
115
  line-height: 1;
89
- min-width: 3.2em;
116
+ min-width: calc(var(--vxe-ui-switch-current-height) * 2);
90
117
  padding: 0 0.6em;
91
118
  border-radius: 1em;
92
119
  border: 0;
@@ -100,11 +127,12 @@
100
127
  }
101
128
  .vxe-switch--icon {
102
129
  position: absolute;
103
- top: 0.2em;
130
+ top: 50%;
104
131
  left: 0;
105
- width: 1.2em;
106
- height: 1.2em;
132
+ width: calc(var(--vxe-ui-switch-current-height) - 4px);
133
+ height: calc(var(--vxe-ui-switch-current-height) - 4px);
107
134
  line-height: 1.4em;
135
+ transform: translateY(-50%);
108
136
  text-align: center;
109
137
  border-radius: 50%;
110
138
  background-color: var(--vxe-ui-switch-icon-background-color);
@@ -113,16 +141,3 @@
113
141
  margin-right: 0.25em;
114
142
  }
115
143
  }
116
-
117
- .vxe-switch {
118
- font-size: var(--vxe-ui-font-size-default);
119
- &.size--medium {
120
- font-size: var(--vxe-ui-font-size-medium);
121
- }
122
- &.size--small {
123
- font-size: var(--vxe-ui-font-size-small);
124
- }
125
- &.size--mini {
126
- font-size: var(--vxe-ui-font-size-mini);
127
- }
128
- }
@@ -1,6 +1,26 @@
1
1
  @use "sass:map";
2
2
  @use "sass:list";
3
3
 
4
+ // 局部变量
5
+ .vxe-tag {
6
+ --vxe-ui-tag-current-font-size: inherit;
7
+ &.size--xlarge {
8
+ --vxe-ui-tag-current-font-size: var(--vxe-ui-font-size-xlarge);
9
+ }
10
+ &.size--large {
11
+ --vxe-ui-tag-current-font-size: var(--vxe-ui-font-size-large);
12
+ }
13
+ &.size--medium {
14
+ --vxe-ui-tag-current-font-size: var(--vxe-ui-font-size-medium);
15
+ }
16
+ &.size--small {
17
+ --vxe-ui-tag-current-font-size: var(--vxe-ui-font-size-small);
18
+ }
19
+ &.size--mini {
20
+ --vxe-ui-tag-current-font-size: var(--vxe-ui-font-size-mini);
21
+ }
22
+ }
23
+
4
24
  $tagThemeList: (
5
25
  (
6
26
  name: "primary",
@@ -94,6 +114,7 @@ $tagThemeList: (
94
114
  flex-direction: row;
95
115
  align-items: center;
96
116
  padding: 0.25em 0.5em;
117
+ font-size: var(--vxe-ui-tag-current-font-size);
97
118
  color: var(--vxe-ui-font-color);
98
119
  border-radius: var(--vxe-ui-base-border-radius);
99
120
  @for $index from 0 to list.length($tagThemeList) {
@@ -117,15 +138,6 @@ $tagThemeList: (
117
138
  &.is--round {
118
139
  border-radius: 1em;
119
140
  }
120
- &.size--medium {
121
- font-size: var(--vxe-ui-font-size-medium);
122
- }
123
- &.size--small {
124
- font-size: var(--vxe-ui-font-size-small);
125
- }
126
- &.size--mini {
127
- font-size: var(--vxe-ui-font-size-mini);
128
- }
129
141
  & + .vxe-tag {
130
142
  margin-left: 8px;
131
143
  }
@@ -170,16 +182,4 @@ $tagThemeList: (
170
182
  .vxe-tag--close,
171
183
  .vxe-tag--loading {
172
184
  user-select: none;
173
- }
174
-
175
- .vxe-tag {
176
- &.size--medium {
177
- font-size: var(--vxe-ui-font-size-medium);
178
- }
179
- &.size--small {
180
- font-size: var(--vxe-ui-font-size-small);
181
- }
182
- &.size--mini {
183
- font-size: var(--vxe-ui-font-size-mini);
184
- }
185
185
  }
@@ -296,10 +296,12 @@
296
296
  }
297
297
 
298
298
  .vxe-tree--empty-placeholder {
299
+ color: var(--vxe-ui-input-placeholder-color);
300
+ }
301
+ .vxe-tree--empty-placeholder-content {
299
302
  margin-top: 1.4em;
300
303
  text-align: center;
301
304
  height: var(--vxe-ui-tree-node-height);
302
- color: var(--vxe-ui-input-placeholder-color);
303
305
  }
304
306
 
305
307
  .vxe-tree--y-space {
@@ -4,6 +4,14 @@
4
4
  .vxe-upload--more-popup {
5
5
  --vxe-ui-upload-current-font-size: var(--vxe-ui-font-size-default);
6
6
  --vxe-ui-upload-current-image-wh: var(--vxe-ui-upload-image-wh-default);
7
+ &.size--xlarge {
8
+ --vxe-ui-upload-current-font-size: var(--vxe-ui-font-size-xlarge);
9
+ --vxe-ui-upload-current-image-wh: var(--vxe-ui-upload-image-wh-xlarge);
10
+ }
11
+ &.size--large {
12
+ --vxe-ui-upload-current-font-size: var(--vxe-ui-font-size-large);
13
+ --vxe-ui-upload-current-image-wh: var(--vxe-ui-upload-image-wh-large);
14
+ }
7
15
  &.size--medium {
8
16
  --vxe-ui-upload-current-font-size: var(--vxe-ui-font-size-medium);
9
17
  --vxe-ui-upload-current-image-wh: var(--vxe-ui-upload-image-wh-medium);
@@ -3,6 +3,7 @@
3
3
  --vxe-ui-font-family: -apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;
4
4
 
5
5
  /*font size*/
6
+ --vxe-ui-font-size-xlarge: 18px;
6
7
  --vxe-ui-font-size-large: 16px;
7
8
  --vxe-ui-font-size-default: 14px;
8
9
  --vxe-ui-font-size-medium: 14px;
@@ -15,6 +16,8 @@
15
16
 
16
17
  /*base*/
17
18
  --vxe-ui-base-border-radius: 4px;
19
+ --vxe-ui-base-margin-gap-xlarge: 10px;
20
+ --vxe-ui-base-margin-gap-large: 9px;
18
21
  --vxe-ui-base-margin-gap-default: 8px;
19
22
  --vxe-ui-base-margin-gap-medium: 7px;
20
23
  --vxe-ui-base-margin-gap-small: 6px;
@@ -28,12 +31,16 @@
28
31
  --vxe-ui-layout-aside-default-width: 300px;
29
32
  --vxe-ui-layout-aside-collapse-width: 60px;
30
33
 
34
+ --vxe-ui-layout-padding-xlarge: 10px;
35
+ --vxe-ui-layout-padding-large: 9px;
31
36
  --vxe-ui-layout-padding-default: 8px;
32
37
  --vxe-ui-layout-padding-medium: 7px;
33
38
  --vxe-ui-layout-padding-small: 6px;
34
39
  --vxe-ui-layout-padding-mini: 5px;
35
40
 
36
41
  /*menu*/
42
+ --vxe-ui-menu-item-height-xlarge: 52px;
43
+ --vxe-ui-menu-item-height-large: 48px;
37
44
  --vxe-ui-menu-item-height-default: 44px;
38
45
  --vxe-ui-menu-item-height-medium: 40px;
39
46
  --vxe-ui-menu-item-height-small: 36px;
@@ -43,10 +50,14 @@
43
50
 
44
51
  /*button*/
45
52
  --vxe-ui-button-max-width: 500px;
53
+ --vxe-ui-button-height-xlarge: 40px;
54
+ --vxe-ui-button-height-large: 36px;
46
55
  --vxe-ui-button-height-default: 34px;
47
56
  --vxe-ui-button-height-medium: 32px;
48
57
  --vxe-ui-button-height-small: 30px;
49
58
  --vxe-ui-button-height-mini: 28px;
59
+ --vxe-ui-button-round-border-radius-xlarge: 20px;
60
+ --vxe-ui-button-round-border-radius-large: 18px;
50
61
  --vxe-ui-button-round-border-radius-default: 17px;
51
62
  --vxe-ui-button-round-border-radius-medium: 16px;
52
63
  --vxe-ui-button-round-border-radius-small: 15px;
@@ -65,22 +76,32 @@
65
76
  --vxe-ui-input-date-picker-notice-selected-background-color: var(--vxe-ui-input-date-picker-selected-color);
66
77
  --vxe-ui-input-date-extra-color: #67c23a;
67
78
  --vxe-ui-input-date-extra-important-color: #fd2222;
79
+ --vxe-ui-input-date-title-height-xlarge: 32px;
80
+ --vxe-ui-input-date-title-height-large: 31px;
68
81
  --vxe-ui-input-date-title-height-default: 30px;
69
82
  --vxe-ui-input-date-title-height-medium: 29px;
70
83
  --vxe-ui-input-date-title-height-small: 28px;
71
84
  --vxe-ui-input-date-title-height-mini: 26px;
85
+ --vxe-ui-input-date-time-week-row-height-xlarge: 42px;
86
+ --vxe-ui-input-date-time-week-row-height-large: 40px;
72
87
  --vxe-ui-input-date-time-week-row-height-default: 38px;
73
88
  --vxe-ui-input-date-time-week-row-height-medium: 36px;
74
89
  --vxe-ui-input-date-time-week-row-height-small: 34px;
75
90
  --vxe-ui-input-date-time-week-row-height-mini: 32px;
91
+ --vxe-ui-input-date-month-year-row-height-xlarge: 52px;
92
+ --vxe-ui-input-date-month-year-row-height-large: 50px;
76
93
  --vxe-ui-input-date-month-year-row-height-default: 48px;
77
94
  --vxe-ui-input-date-month-year-row-height-medium: 46px;
78
95
  --vxe-ui-input-date-month-year-row-height-small: 44px;
79
96
  --vxe-ui-input-date-month-year-row-height-mini: 42px;
97
+ --vxe-ui-input-date-quarter-row-height-xlarge: 64px;
98
+ --vxe-ui-input-date-quarter-row-height-large: 62px;
80
99
  --vxe-ui-input-date-quarter-row-height-default: 60px;
81
100
  --vxe-ui-input-date-quarter-row-height-medium: 58px;
82
101
  --vxe-ui-input-date-quarter-row-height-small: 56px;
83
102
  --vxe-ui-input-date-quarter-row-height-mini: 54px;
103
+ --vxe-ui-input-height-xlarge: var(--vxe-ui-button-height-xlarge);
104
+ --vxe-ui-input-height-large: var(--vxe-ui-button-height-large);
84
105
  --vxe-ui-input-height-default: var(--vxe-ui-button-height-default);
85
106
  --vxe-ui-input-height-medium: var(--vxe-ui-button-height-medium);
86
107
  --vxe-ui-input-height-small: var(--vxe-ui-button-height-small);
@@ -104,11 +125,15 @@
104
125
  --vxe-ui-tooltip-dark-background-color: #303133;
105
126
 
106
127
  /*form*/
128
+ --vxe-ui-form-item-min-height-xlarge: 64px;
129
+ --vxe-ui-form-item-min-height-large: 60px;
107
130
  --vxe-ui-form-item-min-height-default: 56px;
108
131
  --vxe-ui-form-item-min-height-medium: 52px;
109
132
  --vxe-ui-form-item-min-height-small: 48px;
110
133
  --vxe-ui-form-item-min-height-mini: 44px;
111
134
  --vxe-ui-form-validate-error-color: var(--vxe-ui-status-error-color);
135
+ --vxe-ui-form-item-padding-xlarge: 10px;
136
+ --vxe-ui-form-item-padding-large: 9px;
112
137
  --vxe-ui-form-item-padding-default: 8px;
113
138
  --vxe-ui-form-item-padding-medium: 7px;
114
139
  --vxe-ui-form-item-padding-small: 6px;
@@ -121,6 +146,8 @@
121
146
  --vxe-ui-form-design-widget-item-font-size: 0.9em;
122
147
 
123
148
  /*checkbox*/
149
+ --vxe-ui-checkbox-font-size-xlarge: 18px;
150
+ --vxe-ui-checkbox-font-size-large: 16px;
124
151
  --vxe-ui-checkbox-font-size-default: 15px;
125
152
  --vxe-ui-checkbox-font-size-medium: 14px;
126
153
  --vxe-ui-checkbox-font-size-small: 13px;
@@ -136,6 +163,8 @@
136
163
  --vxe-ui-checkbox-indeterminate-icon-background-color: #fff;
137
164
 
138
165
  /*radio*/
166
+ --vxe-ui-radio-font-size-xlarge: 18px;
167
+ --vxe-ui-radio-font-size-large: 16px;
139
168
  --vxe-ui-radio-font-size-default: 15px;
140
169
  --vxe-ui-radio-font-size-medium: 14px;
141
170
  --vxe-ui-radio-font-size-small: 13px;
@@ -146,6 +175,8 @@
146
175
  --vxe-ui-radio-indeterminate-icon-background-color: #fff;
147
176
 
148
177
  /*select*/
178
+ --vxe-ui-select-option-height-xlarge: 36px;
179
+ --vxe-ui-select-option-height-large: 32px;
149
180
  --vxe-ui-select-option-height-default: 30px;
150
181
  --vxe-ui-select-option-height-medium: 28px;
151
182
  --vxe-ui-select-option-height-small: 26px;
@@ -154,12 +185,20 @@
154
185
  --vxe-ui-select-title-color: #909399;
155
186
 
156
187
  /*pulldown*/
188
+ --vxe-ui-pulldown-option-height-xlarge: var(--vxe-ui-select-option-height-xlarge);
189
+ --vxe-ui-pulldown-option-height-large: var(--vxe-ui-select-option-height-large);
157
190
  --vxe-ui-pulldown-option-height-default: var(--vxe-ui-select-option-height-default);
158
191
  --vxe-ui-pulldown-option-height-medium: var(--vxe-ui-select-option-height-medium);
159
192
  --vxe-ui-pulldown-option-height-small: var(--vxe-ui-select-option-height-small);
160
193
  --vxe-ui-pulldown-option-height-mini: var(--vxe-ui-select-option-height-mini);
161
194
 
162
195
  /*switch*/
196
+ --vxe-ui-switch-height-xlarge: 26px;
197
+ --vxe-ui-switch-height-large: 24px;
198
+ --vxe-ui-switch-height-default: 22px;
199
+ --vxe-ui-switch-height-medium: 20px;
200
+ --vxe-ui-switch-height-small: 18px;
201
+ --vxe-ui-switch-height-mini: 16px;
163
202
  --vxe-ui-switch-font-color: #fff;
164
203
  --vxe-ui-switch-icon-background-color: #fff;
165
204
  --vxe-ui-switch-open-background-color: var(--vxe-ui-font-primary-color);
@@ -168,12 +207,16 @@
168
207
  /*upload*/
169
208
  --vxe-ui-upload-file-button-border-style: dashed;
170
209
  --vxe-ui-upload-image-button-border-style: dashed;
210
+ --vxe-ui-upload-image-wh-xlarge: 148px;
211
+ --vxe-ui-upload-image-wh-large: 136px;
171
212
  --vxe-ui-upload-image-wh-default: 120px;
172
213
  --vxe-ui-upload-image-wh-medium: 104px;
173
214
  --vxe-ui-upload-image-wh-small: 88px;
174
215
  --vxe-ui-upload-image-wh-mini: 72px;
175
216
 
176
217
  /*card*/
218
+ --vxe-ui-card-padding-xlarge: 16px;
219
+ --vxe-ui-card-padding-large: 14px;
177
220
  --vxe-ui-card-padding-default: 12px;
178
221
  --vxe-ui-card-padding-medium: 10px;
179
222
  --vxe-ui-card-padding-small: 8px;
@@ -191,6 +234,8 @@
191
234
  --vxe-ui-tree-node-checkbox-checked-color: inherit;
192
235
 
193
236
  /*tabs*/
237
+ --vxe-ui-tabs-header-height-xlarge: 46px;
238
+ --vxe-ui-tabs-header-height-large: 42px;
194
239
  --vxe-ui-tabs-header-height-default: 40px;
195
240
  --vxe-ui-tabs-header-height-medium: 38px;
196
241
  --vxe-ui-tabs-header-height-small: 36px;
@@ -229,6 +274,8 @@
229
274
  --vxe-ui-cascader-node-checkbox-checked-color: var(--vxe-ui-font-primary-color);
230
275
 
231
276
  /*collapse*/
277
+ --vxe-ui-collapse-min-height-xlarge: 46px;
278
+ --vxe-ui-collapse-min-height-large: 42px;
232
279
  --vxe-ui-collapse-min-height-default: 40px;
233
280
  --vxe-ui-collapse-min-height-medium: 38px;
234
281
  --vxe-ui-collapse-min-height-small: 36px;
@@ -250,6 +250,7 @@ export interface CascaderInternalData {
250
250
  selectCheckboxMaps: Record<string, any>
251
251
  treeExpandedMaps: Record<string, boolean>
252
252
  treeExpandLazyLoadedMaps: Record<string, boolean>
253
+ isUpdateMode?: boolean
253
254
  }
254
255
 
255
256
  export interface CascaderMethods {
@@ -38,6 +38,7 @@ export namespace VxeCheckboxGroupPropTypes {
38
38
  export type Max = string | number
39
39
  export type Disabled = boolean
40
40
  export type Readonly = boolean
41
+ export type Type = 'button' | 'default' | '' | null
41
42
  export interface DefaultConfig {
42
43
  /**
43
44
  * 默认选择模式,默认选中行为只会在初始化时触发一次
@@ -61,6 +62,7 @@ export interface VxeCheckboxGroupProps {
61
62
  */
62
63
  disabled?: VxeCheckboxGroupPropTypes.Disabled
63
64
  readonly?: VxeCheckboxGroupPropTypes.Readonly
65
+ type?: VxeCheckboxGroupPropTypes.Type
64
66
  defaultConfig?: VxeCheckboxGroupPropTypes.DefaultConfig
65
67
  }
66
68