vxe-pc-ui 3.17.29 → 3.18.0

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 (106) hide show
  1. package/es/button/src/button.js +12 -10
  2. package/es/cascader/src/cascader.js +10 -19
  3. package/es/color-picker/src/color-picker.js +10 -19
  4. package/es/date-picker/src/date-picker.js +10 -19
  5. package/es/date-range-picker/src/date-range-picker.js +11 -20
  6. package/es/icon/style.css +1 -1
  7. package/es/icon-picker/src/icon-picker.js +20 -19
  8. package/es/number-input/src/number-input.js +1 -1
  9. package/es/pulldown/src/pulldown.js +10 -25
  10. package/es/select/src/select.js +10 -19
  11. package/es/slider/src/slider.js +87 -3
  12. package/es/slider/style.css +53 -6
  13. package/es/slider/style.min.css +1 -1
  14. package/es/space/src/space.js +39 -3
  15. package/es/space/style.css +7 -0
  16. package/es/space/style.min.css +1 -1
  17. package/es/style.css +1 -1
  18. package/es/style.min.css +1 -1
  19. package/es/table-select/src/table-select.js +10 -19
  20. package/es/tree-select/src/tree-select.js +10 -19
  21. package/es/ui/index.js +5 -2
  22. package/es/ui/src/dom.js +1 -1
  23. package/es/ui/src/log.js +1 -1
  24. package/es/vxe-slider/style.css +53 -6
  25. package/es/vxe-slider/style.min.css +1 -1
  26. package/es/vxe-space/style.css +7 -0
  27. package/es/vxe-space/style.min.css +1 -1
  28. package/lib/button/src/button.js +12 -10
  29. package/lib/button/src/button.min.js +1 -1
  30. package/lib/cascader/src/cascader.js +10 -18
  31. package/lib/cascader/src/cascader.min.js +1 -1
  32. package/lib/color-picker/src/color-picker.js +10 -18
  33. package/lib/color-picker/src/color-picker.min.js +1 -1
  34. package/lib/date-picker/src/date-picker.js +10 -18
  35. package/lib/date-picker/src/date-picker.min.js +1 -1
  36. package/lib/date-range-picker/src/date-range-picker.js +11 -19
  37. package/lib/date-range-picker/src/date-range-picker.min.js +1 -1
  38. package/lib/icon/style/style.css +1 -1
  39. package/lib/icon/style/style.min.css +1 -1
  40. package/lib/icon-picker/src/icon-picker.js +20 -18
  41. package/lib/icon-picker/src/icon-picker.min.js +1 -1
  42. package/lib/index.umd.js +269 -191
  43. package/lib/index.umd.min.js +1 -1
  44. package/lib/number-input/src/number-input.js +1 -1
  45. package/lib/number-input/src/number-input.min.js +1 -1
  46. package/lib/pulldown/src/pulldown.js +10 -25
  47. package/lib/pulldown/src/pulldown.min.js +1 -1
  48. package/lib/select/src/select.js +10 -18
  49. package/lib/select/src/select.min.js +1 -1
  50. package/lib/slider/src/slider.js +91 -3
  51. package/lib/slider/src/slider.min.js +1 -1
  52. package/lib/slider/style/style.css +53 -6
  53. package/lib/slider/style/style.min.css +1 -1
  54. package/lib/space/src/space.js +55 -3
  55. package/lib/space/src/space.min.js +1 -1
  56. package/lib/space/style/style.css +7 -0
  57. package/lib/space/style/style.min.css +1 -1
  58. package/lib/style.css +1 -1
  59. package/lib/style.min.css +1 -1
  60. package/lib/table-select/src/table-select.js +10 -18
  61. package/lib/table-select/src/table-select.min.js +1 -1
  62. package/lib/tree-select/src/tree-select.js +10 -18
  63. package/lib/tree-select/src/tree-select.min.js +1 -1
  64. package/lib/ui/index.js +5 -2
  65. package/lib/ui/index.min.js +1 -1
  66. package/lib/ui/src/dom.js +1 -1
  67. package/lib/ui/src/dom.min.js +1 -1
  68. package/lib/ui/src/log.js +1 -1
  69. package/lib/ui/src/log.min.js +1 -1
  70. package/lib/vxe-slider/style/style.css +53 -6
  71. package/lib/vxe-slider/style/style.min.css +1 -1
  72. package/lib/vxe-space/style/style.css +7 -0
  73. package/lib/vxe-space/style/style.min.css +1 -1
  74. package/package.json +1 -1
  75. package/packages/button/src/button.ts +15 -11
  76. package/packages/cascader/src/cascader.ts +11 -19
  77. package/packages/color-picker/src/color-picker.ts +11 -19
  78. package/packages/date-picker/src/date-picker.ts +11 -19
  79. package/packages/date-range-picker/src/date-range-picker.ts +12 -20
  80. package/packages/icon-picker/src/icon-picker.ts +22 -19
  81. package/packages/number-input/src/number-input.ts +1 -1
  82. package/packages/pulldown/src/pulldown.ts +11 -25
  83. package/packages/select/src/select.ts +11 -19
  84. package/packages/slider/src/slider.ts +94 -3
  85. package/packages/space/src/space.ts +39 -3
  86. package/packages/table-select/src/table-select.ts +11 -19
  87. package/packages/tree-select/src/tree-select.ts +11 -19
  88. package/packages/ui/index.ts +4 -1
  89. package/packages/ui/src/dom.ts +1 -1
  90. package/styles/components/slider.scss +15 -1
  91. package/styles/components/space.scss +9 -0
  92. package/types/components/number-input.d.ts +1 -1
  93. package/types/components/slider.d.ts +12 -0
  94. package/types/components/space.d.ts +10 -0
  95. /package/es/icon/{iconfont.1788486212224.ttf → iconfont.1788505321817.ttf} +0 -0
  96. /package/es/icon/{iconfont.1788486212224.woff → iconfont.1788505321817.woff} +0 -0
  97. /package/es/icon/{iconfont.1788486212224.woff2 → iconfont.1788505321817.woff2} +0 -0
  98. /package/es/{iconfont.1788486212224.ttf → iconfont.1788505321817.ttf} +0 -0
  99. /package/es/{iconfont.1788486212224.woff → iconfont.1788505321817.woff} +0 -0
  100. /package/es/{iconfont.1788486212224.woff2 → iconfont.1788505321817.woff2} +0 -0
  101. /package/lib/icon/style/{iconfont.1788486212224.ttf → iconfont.1788505321817.ttf} +0 -0
  102. /package/lib/icon/style/{iconfont.1788486212224.woff → iconfont.1788505321817.woff} +0 -0
  103. /package/lib/icon/style/{iconfont.1788486212224.woff2 → iconfont.1788505321817.woff2} +0 -0
  104. /package/lib/{iconfont.1788486212224.ttf → iconfont.1788505321817.ttf} +0 -0
  105. /package/lib/{iconfont.1788486212224.woff → iconfont.1788505321817.woff} +0 -0
  106. /package/lib/{iconfont.1788486212224.woff2 → iconfont.1788505321817.woff2} +0 -0
@@ -976,23 +976,6 @@ export default {
976
976
  }
977
977
  reactData.reactFlag++;
978
978
  },
979
- handleGlobalMousewheelEvent(evnt) {
980
- const $xeSelect = this;
981
- const reactData = $xeSelect.reactData;
982
- const { visiblePanel } = reactData;
983
- const isDisabled = $xeSelect.computeIsDisabled;
984
- if (!isDisabled) {
985
- if (visiblePanel) {
986
- const panelElem = $xeSelect.$refs.refOptionPanel;
987
- if (getEventTargetNode(evnt, panelElem).flag) {
988
- $xeSelect.updatePlacement();
989
- }
990
- else {
991
- $xeSelect.hideOptionPanel(evnt);
992
- }
993
- }
994
- }
995
- },
996
979
  handleGlobalMousedownEvent(evnt) {
997
980
  const $xeSelect = this;
998
981
  const reactData = $xeSelect.reactData;
@@ -1169,6 +1152,14 @@ export default {
1169
1152
  $xeSelect.updatePlacement();
1170
1153
  }
1171
1154
  },
1155
+ handleGlobalScrollEvent() {
1156
+ const $xeSelect = this;
1157
+ const reactData = $xeSelect.reactData;
1158
+ const { visiblePanel } = reactData;
1159
+ if (visiblePanel) {
1160
+ $xeSelect.updatePlacement();
1161
+ }
1162
+ },
1172
1163
  handleFocusSearch() {
1173
1164
  const $xeSelect = this;
1174
1165
  const props = $xeSelect;
@@ -2043,11 +2034,11 @@ export default {
2043
2034
  $xeSelect.loadData(options);
2044
2035
  }
2045
2036
  });
2046
- globalEvents.on($xeSelect, 'mousewheel', $xeSelect.handleGlobalMousewheelEvent);
2047
2037
  globalEvents.on($xeSelect, 'mousedown', $xeSelect.handleGlobalMousedownEvent);
2048
2038
  globalEvents.on($xeSelect, 'keydown', $xeSelect.handleGlobalKeydownEvent);
2049
2039
  globalEvents.on($xeSelect, 'blur', $xeSelect.handleGlobalBlurEvent);
2050
2040
  globalEvents.on($xeSelect, 'resize', $xeSelect.handleGlobalResizeEvent);
2041
+ globalEvents.on($xeSelect, 'scroll', $xeSelect.handleGlobalScrollEvent);
2051
2042
  },
2052
2043
  beforeDestroy() {
2053
2044
  const $xeSelect = this;
@@ -2055,11 +2046,11 @@ export default {
2055
2046
  if (panelElem && panelElem.parentNode) {
2056
2047
  panelElem.parentNode.removeChild(panelElem);
2057
2048
  }
2058
- globalEvents.off($xeSelect, 'mousewheel');
2059
2049
  globalEvents.off($xeSelect, 'mousedown');
2060
2050
  globalEvents.off($xeSelect, 'keydown');
2061
2051
  globalEvents.off($xeSelect, 'blur');
2062
2052
  globalEvents.off($xeSelect, 'resize');
2053
+ globalEvents.off($xeSelect, 'scroll');
2063
2054
  },
2064
2055
  destroyed() {
2065
2056
  const $xeSelect = this;
@@ -1,9 +1,12 @@
1
1
  import { defineVxeComponent } from '../../ui/src/comp';
2
2
  import XEUtils from 'xe-utils';
3
- import { getConfig, createEvent, renderEmptyElement } from '../../ui';
3
+ import { VxeUI, getConfig, createEvent, renderEmptyElement } from '../../ui';
4
+ import { getText } from '../../ui/src/utils';
4
5
  function createInternalData() {
5
6
  return {
6
7
  // _isUp: false,
8
+ isDragStatus: false,
9
+ isBtnActive: false,
7
10
  currValue: 0,
8
11
  startValue: 0,
9
12
  endValue: 0
@@ -51,10 +54,19 @@ export default {
51
54
  type: Boolean,
52
55
  default: null
53
56
  },
57
+ status: {
58
+ type: String,
59
+ default: () => getConfig().slider.status
60
+ },
54
61
  immediate: {
55
62
  type: Boolean,
56
63
  default: () => getConfig().slider.immediate
57
- }
64
+ },
65
+ showTooltip: {
66
+ type: Boolean,
67
+ default: () => getConfig().slider.showTooltip
68
+ },
69
+ tooltipConfig: Object
58
70
  },
59
71
  inject: {
60
72
  $xeForm: {
@@ -112,6 +124,11 @@ export default {
112
124
  const props = $xeSlider;
113
125
  const { range, startValue, endValue } = props;
114
126
  return range ? `${startValue || ''}${endValue || ''}` : '';
127
+ },
128
+ computeTooltipOpts() {
129
+ const $xeSlider = this;
130
+ const props = $xeSlider;
131
+ return Object.assign({}, getConfig().slider.tooltipConfig, props.tooltipConfig);
115
132
  } }),
116
133
  methods: {
117
134
  //
@@ -287,6 +304,43 @@ export default {
287
304
  const raw = minNum + ratio * (maxNum - minNum);
288
305
  return Math.floor(raw);
289
306
  },
307
+ handleShowTip(btnElem) {
308
+ const $xeSlider = this;
309
+ const props = $xeSlider;
310
+ const internalData = $xeSlider.internalData;
311
+ const { showTooltip } = props;
312
+ if (showTooltip) {
313
+ if (VxeUI.tooltip) {
314
+ const { currValue } = internalData;
315
+ const tooltipOpts = $xeSlider.computeTooltipOpts;
316
+ const { contentMethod } = tooltipOpts;
317
+ const content = getText(contentMethod
318
+ ? contentMethod({
319
+ $slider: $xeSlider,
320
+ value: currValue
321
+ })
322
+ : '' + currValue);
323
+ if (content) {
324
+ VxeUI.tooltip.open(btnElem, Object.assign({}, Object.assign(Object.assign({}, tooltipOpts), { content }), {
325
+ contentMethod: undefined
326
+ }));
327
+ }
328
+ else {
329
+ VxeUI.tooltip.close();
330
+ }
331
+ }
332
+ }
333
+ },
334
+ handleHideTip() {
335
+ const $xeSlider = this;
336
+ const props = $xeSlider;
337
+ const { showTooltip } = props;
338
+ if (showTooltip) {
339
+ if (VxeUI.tooltip) {
340
+ VxeUI.tooltip.close();
341
+ }
342
+ }
343
+ },
290
344
  handleBtnMousedownEvent(evnt) {
291
345
  const $xeSlider = this;
292
346
  const props = $xeSlider;
@@ -327,10 +381,12 @@ export default {
327
381
  $xeSlider.changeEvent(evnt);
328
382
  }
329
383
  $xeSlider.updateTrackStyle();
384
+ $xeSlider.handleShowTip(btnElem);
330
385
  };
331
386
  document.onmouseup = (evnt) => {
332
387
  document.onmousemove = null;
333
388
  document.onmouseup = null;
389
+ internalData.isDragStatus = false;
334
390
  $xeSlider.dispatchEvent('track-dragend', {
335
391
  currentValue: internalData.currValue,
336
392
  startValue: internalData.startValue,
@@ -338,12 +394,35 @@ export default {
338
394
  }, evnt);
339
395
  $xeSlider.changeEvent(evnt);
340
396
  $xeSlider.updateTrackStyle();
397
+ if (!internalData.isBtnActive) {
398
+ $xeSlider.handleHideTip();
399
+ }
341
400
  };
342
401
  $xeSlider.dispatchEvent('track-dragstart', {
343
402
  currentValue: internalData.currValue,
344
403
  startValue: internalData.startValue,
345
404
  endValue: internalData.endValue
346
405
  }, evnt);
406
+ internalData.isDragStatus = false;
407
+ }
408
+ },
409
+ handleBtnMouseenterEvent(evnt) {
410
+ const $xeSlider = this;
411
+ const internalData = $xeSlider.internalData;
412
+ const { startValue, endValue } = internalData;
413
+ const btnElem = evnt.currentTarget;
414
+ const btnType = btnElem.getAttribute('data-type');
415
+ internalData.currValue = btnType === '1' ? startValue : endValue;
416
+ internalData.isBtnActive = true;
417
+ $xeSlider.handleShowTip(btnElem);
418
+ },
419
+ handleBtnMouseleaveEvent() {
420
+ const $xeSlider = this;
421
+ const internalData = $xeSlider.internalData;
422
+ const { isDragStatus } = internalData;
423
+ internalData.isBtnActive = false;
424
+ if (!isDragStatus) {
425
+ $xeSlider.handleHideTip();
347
426
  }
348
427
  },
349
428
  //
@@ -352,7 +431,7 @@ export default {
352
431
  renderVN(h) {
353
432
  const $xeSlider = this;
354
433
  const props = $xeSlider;
355
- const { vertical, range } = props;
434
+ const { status, vertical, range } = props;
356
435
  const vSize = $xeSlider.computeSize;
357
436
  const formReadonly = $xeSlider.computeFormReadonly;
358
437
  const isDisabled = $xeSlider.computeIsDisabled;
@@ -360,6 +439,7 @@ export default {
360
439
  ref: 'refElem',
361
440
  class: ['vxe-slider', {
362
441
  [`size--${vSize}`]: vSize,
442
+ [`theme--${status}`]: status,
363
443
  'is--vertical': vertical,
364
444
  'is--readonly': formReadonly,
365
445
  'is--disabled': isDisabled
@@ -385,6 +465,8 @@ export default {
385
465
  'data-type': '1'
386
466
  },
387
467
  on: {
468
+ mouseenter: $xeSlider.handleBtnMouseenterEvent,
469
+ mouseleave: $xeSlider.handleBtnMouseleaveEvent,
388
470
  mousedown: $xeSlider.handleBtnMousedownEvent
389
471
  }
390
472
  }),
@@ -397,6 +479,8 @@ export default {
397
479
  'data-type': '2'
398
480
  },
399
481
  on: {
482
+ mouseenter: $xeSlider.handleBtnMouseenterEvent,
483
+ mouseleave: $xeSlider.handleBtnMouseleaveEvent,
400
484
  mousedown: $xeSlider.handleBtnMousedownEvent
401
485
  }
402
486
  })
@@ -13,7 +13,14 @@
13
13
  background-color: var(--vxe-ui-font-primary-darken-color);
14
14
  }
15
15
  .vxe-slider.theme--primary .vxe-slider--bar-btn {
16
- background-color: var(--vxe-ui-font-primary-color);
16
+ border-color: var(--vxe-ui-font-primary-color);
17
+ }
18
+ .vxe-slider.theme--primary.is--disabled .vxe-slider--bar-track {
19
+ background-color: var(--vxe-ui-font-primary-disabled-color);
20
+ }
21
+ .vxe-slider.theme--primary.is--disabled .vxe-slider--bar-btn {
22
+ border-color: var(--vxe-ui-font-primary-disabled-color);
23
+ cursor: not-allowed;
17
24
  }
18
25
  .vxe-slider.theme--success .vxe-slider--bar-track {
19
26
  background-color: var(--vxe-ui-status-success-color);
@@ -25,7 +32,14 @@
25
32
  background-color: var(--vxe-ui-status-success-darken-color);
26
33
  }
27
34
  .vxe-slider.theme--success .vxe-slider--bar-btn {
28
- background-color: var(--vxe-ui-status-success-color);
35
+ border-color: var(--vxe-ui-status-success-color);
36
+ }
37
+ .vxe-slider.theme--success.is--disabled .vxe-slider--bar-track {
38
+ background-color: var(--vxe-ui-status-success-disabled-color);
39
+ }
40
+ .vxe-slider.theme--success.is--disabled .vxe-slider--bar-btn {
41
+ border-color: var(--vxe-ui-status-success-disabled-color);
42
+ cursor: not-allowed;
29
43
  }
30
44
  .vxe-slider.theme--info .vxe-slider--bar-track {
31
45
  background-color: var(--vxe-ui-status-info-color);
@@ -37,7 +51,14 @@
37
51
  background-color: var(--vxe-ui-status-info-darken-color);
38
52
  }
39
53
  .vxe-slider.theme--info .vxe-slider--bar-btn {
40
- background-color: var(--vxe-ui-status-info-color);
54
+ border-color: var(--vxe-ui-status-info-color);
55
+ }
56
+ .vxe-slider.theme--info.is--disabled .vxe-slider--bar-track {
57
+ background-color: var(--vxe-ui-status-info-disabled-color);
58
+ }
59
+ .vxe-slider.theme--info.is--disabled .vxe-slider--bar-btn {
60
+ border-color: var(--vxe-ui-status-info-disabled-color);
61
+ cursor: not-allowed;
41
62
  }
42
63
  .vxe-slider.theme--warning .vxe-slider--bar-track {
43
64
  background-color: var(--vxe-ui-status-warning-color);
@@ -49,7 +70,14 @@
49
70
  background-color: var(--vxe-ui-status-warning-darken-color);
50
71
  }
51
72
  .vxe-slider.theme--warning .vxe-slider--bar-btn {
52
- background-color: var(--vxe-ui-status-warning-color);
73
+ border-color: var(--vxe-ui-status-warning-color);
74
+ }
75
+ .vxe-slider.theme--warning.is--disabled .vxe-slider--bar-track {
76
+ background-color: var(--vxe-ui-status-warning-disabled-color);
77
+ }
78
+ .vxe-slider.theme--warning.is--disabled .vxe-slider--bar-btn {
79
+ border-color: var(--vxe-ui-status-warning-disabled-color);
80
+ cursor: not-allowed;
53
81
  }
54
82
  .vxe-slider.theme--danger .vxe-slider--bar-track {
55
83
  background-color: var(--vxe-ui-status-danger-color);
@@ -61,7 +89,14 @@
61
89
  background-color: var(--vxe-ui-status-danger-darken-color);
62
90
  }
63
91
  .vxe-slider.theme--danger .vxe-slider--bar-btn {
64
- background-color: var(--vxe-ui-status-danger-color);
92
+ border-color: var(--vxe-ui-status-danger-color);
93
+ }
94
+ .vxe-slider.theme--danger.is--disabled .vxe-slider--bar-track {
95
+ background-color: var(--vxe-ui-status-danger-disabled-color);
96
+ }
97
+ .vxe-slider.theme--danger.is--disabled .vxe-slider--bar-btn {
98
+ border-color: var(--vxe-ui-status-danger-disabled-color);
99
+ cursor: not-allowed;
65
100
  }
66
101
  .vxe-slider.theme--error .vxe-slider--bar-track {
67
102
  background-color: var(--vxe-ui-status-error-color);
@@ -73,9 +108,20 @@
73
108
  background-color: var(--vxe-ui-status-error-darken-color);
74
109
  }
75
110
  .vxe-slider.theme--error .vxe-slider--bar-btn {
76
- background-color: var(--vxe-ui-status-error-color);
111
+ border-color: var(--vxe-ui-status-error-color);
112
+ }
113
+ .vxe-slider.theme--error.is--disabled .vxe-slider--bar-track {
114
+ background-color: var(--vxe-ui-status-error-disabled-color);
115
+ }
116
+ .vxe-slider.theme--error.is--disabled .vxe-slider--bar-btn {
117
+ border-color: var(--vxe-ui-status-error-disabled-color);
118
+ cursor: not-allowed;
119
+ }
120
+ .vxe-slider.is--disabled .vxe-slider--bar-track {
121
+ background-color: var(--vxe-ui-font-primary-disabled-color);
77
122
  }
78
123
  .vxe-slider.is--disabled .vxe-slider--bar-btn {
124
+ border-color: var(--vxe-ui-font-primary-disabled-color);
79
125
  cursor: not-allowed;
80
126
  }
81
127
  .vxe-slider:not(.is--disabled) .vxe-slider--bar-wrapper,
@@ -87,6 +133,7 @@
87
133
  }
88
134
  .vxe-slider:not(.is--disabled) .vxe-slider--bar-btn:active {
89
135
  transform: translate(-50%, -50%) scale(1.1);
136
+ cursor: grab;
90
137
  }
91
138
  .vxe-slider.is--readonly .vxe-slider--bar-wrapper,
92
139
  .vxe-slider.is--readonly .vxe-slider--inner {
@@ -1 +1 @@
1
- .vxe-slider{position:relative;display:block;padding:.8em}.vxe-slider.theme--primary .vxe-slider--bar-track{background-color:var(--vxe-ui-font-primary-color)}.vxe-slider.theme--primary .vxe-slider--bar-track:hover{background-color:var(--vxe-ui-font-primary-lighten-color)}.vxe-slider.theme--primary .vxe-slider--bar-track:hover{background-color:var(--vxe-ui-font-primary-darken-color)}.vxe-slider.theme--primary .vxe-slider--bar-btn{background-color:var(--vxe-ui-font-primary-color)}.vxe-slider.theme--success .vxe-slider--bar-track{background-color:var(--vxe-ui-status-success-color)}.vxe-slider.theme--success .vxe-slider--bar-track:hover{background-color:var(--vxe-ui-status-success-lighten-color)}.vxe-slider.theme--success .vxe-slider--bar-track:hover{background-color:var(--vxe-ui-status-success-darken-color)}.vxe-slider.theme--success .vxe-slider--bar-btn{background-color:var(--vxe-ui-status-success-color)}.vxe-slider.theme--info .vxe-slider--bar-track{background-color:var(--vxe-ui-status-info-color)}.vxe-slider.theme--info .vxe-slider--bar-track:hover{background-color:var(--vxe-ui-status-info-lighten-color)}.vxe-slider.theme--info .vxe-slider--bar-track:hover{background-color:var(--vxe-ui-status-info-darken-color)}.vxe-slider.theme--info .vxe-slider--bar-btn{background-color:var(--vxe-ui-status-info-color)}.vxe-slider.theme--warning .vxe-slider--bar-track{background-color:var(--vxe-ui-status-warning-color)}.vxe-slider.theme--warning .vxe-slider--bar-track:hover{background-color:var(--vxe-ui-status-warning-lighten-color)}.vxe-slider.theme--warning .vxe-slider--bar-track:hover{background-color:var(--vxe-ui-status-warning-darken-color)}.vxe-slider.theme--warning .vxe-slider--bar-btn{background-color:var(--vxe-ui-status-warning-color)}.vxe-slider.theme--danger .vxe-slider--bar-track{background-color:var(--vxe-ui-status-danger-color)}.vxe-slider.theme--danger .vxe-slider--bar-track:hover{background-color:var(--vxe-ui-status-danger-lighten-color)}.vxe-slider.theme--danger .vxe-slider--bar-track:hover{background-color:var(--vxe-ui-status-danger-darken-color)}.vxe-slider.theme--danger .vxe-slider--bar-btn{background-color:var(--vxe-ui-status-danger-color)}.vxe-slider.theme--error .vxe-slider--bar-track{background-color:var(--vxe-ui-status-error-color)}.vxe-slider.theme--error .vxe-slider--bar-track:hover{background-color:var(--vxe-ui-status-error-lighten-color)}.vxe-slider.theme--error .vxe-slider--bar-track:hover{background-color:var(--vxe-ui-status-error-darken-color)}.vxe-slider.theme--error .vxe-slider--bar-btn{background-color:var(--vxe-ui-status-error-color)}.vxe-slider.is--disabled .vxe-slider--bar-btn{cursor:not-allowed}.vxe-slider:not(.is--disabled) .vxe-slider--bar-wrapper,.vxe-slider:not(.is--disabled) .vxe-slider--inner{cursor:pointer}.vxe-slider:not(.is--disabled) .vxe-slider--bar-btn:hover{transform:translate(-50%,-50%) scale(1.2)}.vxe-slider:not(.is--disabled) .vxe-slider--bar-btn:active{transform:translate(-50%,-50%) scale(1.1)}.vxe-slider.is--readonly .vxe-slider--bar-wrapper,.vxe-slider.is--readonly .vxe-slider--inner{cursor:default}.vxe-slider--inner{position:relative}.vxe-slider--bar-wrapper{background-color:#e4e7ed}.vxe-slider--bar-track{position:absolute;left:0;top:0;z-index:1;background-color:var(--vxe-ui-font-primary-color)}.vxe-slider--bar-track:hover{background-color:var(--vxe-ui-font-primary-lighten-color)}.vxe-slider--bar-track:active{background-color:var(--vxe-ui-font-primary-darken-color)}.vxe-slider--bar-track,.vxe-slider--bar-wrapper{height:.3em;border-radius:var(--vxe-ui-base-border-radius)}.vxe-slider--bar-btn{position:absolute;width:1.2em;height:1.2em;top:50%;transform:translate(-50%,-50%);border-radius:50%;border:2px solid var(--vxe-ui-font-primary-color);background-color:#fff;cursor:pointer;z-index:1;transition:transform .1s ease-in-out}
1
+ .vxe-slider{position:relative;display:block;padding:.8em}.vxe-slider.theme--primary .vxe-slider--bar-track{background-color:var(--vxe-ui-font-primary-color)}.vxe-slider.theme--primary .vxe-slider--bar-track:hover{background-color:var(--vxe-ui-font-primary-lighten-color)}.vxe-slider.theme--primary .vxe-slider--bar-track:hover{background-color:var(--vxe-ui-font-primary-darken-color)}.vxe-slider.theme--primary .vxe-slider--bar-btn{border-color:var(--vxe-ui-font-primary-color)}.vxe-slider.theme--primary.is--disabled .vxe-slider--bar-track{background-color:var(--vxe-ui-font-primary-disabled-color)}.vxe-slider.theme--primary.is--disabled .vxe-slider--bar-btn{border-color:var(--vxe-ui-font-primary-disabled-color);cursor:not-allowed}.vxe-slider.theme--success .vxe-slider--bar-track{background-color:var(--vxe-ui-status-success-color)}.vxe-slider.theme--success .vxe-slider--bar-track:hover{background-color:var(--vxe-ui-status-success-lighten-color)}.vxe-slider.theme--success .vxe-slider--bar-track:hover{background-color:var(--vxe-ui-status-success-darken-color)}.vxe-slider.theme--success .vxe-slider--bar-btn{border-color:var(--vxe-ui-status-success-color)}.vxe-slider.theme--success.is--disabled .vxe-slider--bar-track{background-color:var(--vxe-ui-status-success-disabled-color)}.vxe-slider.theme--success.is--disabled .vxe-slider--bar-btn{border-color:var(--vxe-ui-status-success-disabled-color);cursor:not-allowed}.vxe-slider.theme--info .vxe-slider--bar-track{background-color:var(--vxe-ui-status-info-color)}.vxe-slider.theme--info .vxe-slider--bar-track:hover{background-color:var(--vxe-ui-status-info-lighten-color)}.vxe-slider.theme--info .vxe-slider--bar-track:hover{background-color:var(--vxe-ui-status-info-darken-color)}.vxe-slider.theme--info .vxe-slider--bar-btn{border-color:var(--vxe-ui-status-info-color)}.vxe-slider.theme--info.is--disabled .vxe-slider--bar-track{background-color:var(--vxe-ui-status-info-disabled-color)}.vxe-slider.theme--info.is--disabled .vxe-slider--bar-btn{border-color:var(--vxe-ui-status-info-disabled-color);cursor:not-allowed}.vxe-slider.theme--warning .vxe-slider--bar-track{background-color:var(--vxe-ui-status-warning-color)}.vxe-slider.theme--warning .vxe-slider--bar-track:hover{background-color:var(--vxe-ui-status-warning-lighten-color)}.vxe-slider.theme--warning .vxe-slider--bar-track:hover{background-color:var(--vxe-ui-status-warning-darken-color)}.vxe-slider.theme--warning .vxe-slider--bar-btn{border-color:var(--vxe-ui-status-warning-color)}.vxe-slider.theme--warning.is--disabled .vxe-slider--bar-track{background-color:var(--vxe-ui-status-warning-disabled-color)}.vxe-slider.theme--warning.is--disabled .vxe-slider--bar-btn{border-color:var(--vxe-ui-status-warning-disabled-color);cursor:not-allowed}.vxe-slider.theme--danger .vxe-slider--bar-track{background-color:var(--vxe-ui-status-danger-color)}.vxe-slider.theme--danger .vxe-slider--bar-track:hover{background-color:var(--vxe-ui-status-danger-lighten-color)}.vxe-slider.theme--danger .vxe-slider--bar-track:hover{background-color:var(--vxe-ui-status-danger-darken-color)}.vxe-slider.theme--danger .vxe-slider--bar-btn{border-color:var(--vxe-ui-status-danger-color)}.vxe-slider.theme--danger.is--disabled .vxe-slider--bar-track{background-color:var(--vxe-ui-status-danger-disabled-color)}.vxe-slider.theme--danger.is--disabled .vxe-slider--bar-btn{border-color:var(--vxe-ui-status-danger-disabled-color);cursor:not-allowed}.vxe-slider.theme--error .vxe-slider--bar-track{background-color:var(--vxe-ui-status-error-color)}.vxe-slider.theme--error .vxe-slider--bar-track:hover{background-color:var(--vxe-ui-status-error-lighten-color)}.vxe-slider.theme--error .vxe-slider--bar-track:hover{background-color:var(--vxe-ui-status-error-darken-color)}.vxe-slider.theme--error .vxe-slider--bar-btn{border-color:var(--vxe-ui-status-error-color)}.vxe-slider.theme--error.is--disabled .vxe-slider--bar-track{background-color:var(--vxe-ui-status-error-disabled-color)}.vxe-slider.theme--error.is--disabled .vxe-slider--bar-btn{border-color:var(--vxe-ui-status-error-disabled-color);cursor:not-allowed}.vxe-slider.is--disabled .vxe-slider--bar-track{background-color:var(--vxe-ui-font-primary-disabled-color)}.vxe-slider.is--disabled .vxe-slider--bar-btn{border-color:var(--vxe-ui-font-primary-disabled-color);cursor:not-allowed}.vxe-slider:not(.is--disabled) .vxe-slider--bar-wrapper,.vxe-slider:not(.is--disabled) .vxe-slider--inner{cursor:pointer}.vxe-slider:not(.is--disabled) .vxe-slider--bar-btn:hover{transform:translate(-50%,-50%) scale(1.2)}.vxe-slider:not(.is--disabled) .vxe-slider--bar-btn:active{transform:translate(-50%,-50%) scale(1.1);cursor:grab}.vxe-slider.is--readonly .vxe-slider--bar-wrapper,.vxe-slider.is--readonly .vxe-slider--inner{cursor:default}.vxe-slider--inner{position:relative}.vxe-slider--bar-wrapper{background-color:#e4e7ed}.vxe-slider--bar-track{position:absolute;left:0;top:0;z-index:1;background-color:var(--vxe-ui-font-primary-color)}.vxe-slider--bar-track:hover{background-color:var(--vxe-ui-font-primary-lighten-color)}.vxe-slider--bar-track:active{background-color:var(--vxe-ui-font-primary-darken-color)}.vxe-slider--bar-track,.vxe-slider--bar-wrapper{height:.3em;border-radius:var(--vxe-ui-base-border-radius)}.vxe-slider--bar-btn{position:absolute;width:1.2em;height:1.2em;top:50%;transform:translate(-50%,-50%);border-radius:50%;border:2px solid var(--vxe-ui-font-primary-color);background-color:#fff;cursor:pointer;z-index:1;transition:transform .1s ease-in-out}
@@ -41,6 +41,26 @@ export default {
41
41
  align: {
42
42
  type: String,
43
43
  default: () => getConfig().space.align
44
+ },
45
+ fill: {
46
+ type: Boolean,
47
+ default: () => getConfig().space.fill
48
+ },
49
+ itemWidth: {
50
+ type: [String, Number],
51
+ default: () => getConfig().space.itemWidth
52
+ },
53
+ itemMinWidth: {
54
+ type: [String, Number],
55
+ default: () => getConfig().space.itemMinWidth
56
+ },
57
+ itemMaxWidth: {
58
+ type: [String, Number],
59
+ default: () => getConfig().space.itemMaxWidth
60
+ },
61
+ separatorWidth: {
62
+ type: [String, Number],
63
+ default: () => getConfig().space.separatorWidth
44
64
  }
45
65
  },
46
66
  data() {
@@ -100,10 +120,24 @@ export default {
100
120
  const $xeSpace = this;
101
121
  const props = $xeSpace;
102
122
  const slots = $xeSpace.$scopedSlots;
103
- const { separator, itemClassName } = props;
123
+ const { separator, itemClassName, itemWidth, itemMinWidth, itemMaxWidth, separatorWidth } = props;
104
124
  const itemVNs = [];
105
125
  const defaultSlot = slots.default;
106
126
  const separatorSlot = slots.separator;
127
+ const srStys = {};
128
+ if (separatorWidth) {
129
+ srStys.width = toCssUnit(itemWidth);
130
+ }
131
+ const itemStys = {};
132
+ if (itemWidth) {
133
+ itemStys.width = toCssUnit(itemWidth);
134
+ }
135
+ if (itemMinWidth) {
136
+ itemStys.minWidth = toCssUnit(itemMinWidth);
137
+ }
138
+ if (itemMaxWidth) {
139
+ itemStys.maxWidth = toCssUnit(itemMaxWidth);
140
+ }
107
141
  if (defaultSlot) {
108
142
  XEUtils.each(defaultSlot({}), (itemVN, index, items) => {
109
143
  itemVNs.push(h('div', {
@@ -123,7 +157,7 @@ export default {
123
157
  renderVN(h) {
124
158
  const $xeSpace = this;
125
159
  const props = $xeSpace;
126
- const { vertical, wrap, className } = props;
160
+ const { vertical, wrap, className, fill, itemWidth, itemMinWidth, itemMaxWidth } = props;
127
161
  const wrapperStyle = $xeSpace.computeWrapperStyle;
128
162
  const vSize = $xeSpace.computeSize;
129
163
  return h('div', {
@@ -131,7 +165,9 @@ export default {
131
165
  class: ['vxe-space', getPropClass(className, {}), {
132
166
  [`size--${vSize}`]: vSize,
133
167
  'is--wrap': wrap,
134
- 'is--vertical': vertical
168
+ 'is--vertical': vertical,
169
+ 'is--fill': fill,
170
+ 'is--width': itemWidth || itemMinWidth || itemMaxWidth
135
171
  }],
136
172
  style: wrapperStyle
137
173
  }, $xeSpace.renderItems(h));
@@ -34,4 +34,11 @@
34
34
  }
35
35
  .vxe-space.is--vertical {
36
36
  flex-direction: column;
37
+ }
38
+ .vxe-space.is--fill > .vxe-space--item {
39
+ flex-grow: 1;
40
+ }
41
+
42
+ .vxe-space--separator {
43
+ flex-shrink: 0;
37
44
  }
@@ -1 +1 @@
1
- .vxe-space{--vxe-ui-space-current-row-gap:var(--vxe-ui-space-row-gap-default);--vxe-ui-space-current-column-gap:var(--vxe-ui-space-column-gap-default)}.vxe-space.size--xlarge{--vxe-ui-space-current-row-gap:var(--vxe-ui-space-row-gap-xlarge);--vxe-ui-space-current-column-gap:var(--vxe-ui-space-column-gap-xlarge)}.vxe-space.size--large{--vxe-ui-space-current-row-gap:var(--vxe-ui-space-row-gap-large);--vxe-ui-space-current-column-gap:var(--vxe-ui-space-column-gap-large)}.vxe-space.size--medium{--vxe-ui-space-current-row-gap:var(--vxe-ui-space-row-gap-medium);--vxe-ui-space-current-column-gap:var(--vxe-ui-space-column-gap-medium)}.vxe-space.size--small{--vxe-ui-space-current-row-gap:var(--vxe-ui-space-row-gap-small);--vxe-ui-space-current-column-gap:var(--vxe-ui-space-column-gap-small)}.vxe-space.size--mini{--vxe-ui-space-current-row-gap:var(--vxe-ui-space-row-gap-mini);--vxe-ui-space-current-column-gap:var(--vxe-ui-space-column-gap-mini)}.vxe-space{display:inline-flex;flex-direction:row;align-items:center;gap:var(--vxe-ui-space-current-row-gap) var(--vxe-ui-space-current-column-gap)}.vxe-space.is--wrap{flex-wrap:wrap}.vxe-space.is--vertical{flex-direction:column}
1
+ .vxe-space{--vxe-ui-space-current-row-gap:var(--vxe-ui-space-row-gap-default);--vxe-ui-space-current-column-gap:var(--vxe-ui-space-column-gap-default)}.vxe-space.size--xlarge{--vxe-ui-space-current-row-gap:var(--vxe-ui-space-row-gap-xlarge);--vxe-ui-space-current-column-gap:var(--vxe-ui-space-column-gap-xlarge)}.vxe-space.size--large{--vxe-ui-space-current-row-gap:var(--vxe-ui-space-row-gap-large);--vxe-ui-space-current-column-gap:var(--vxe-ui-space-column-gap-large)}.vxe-space.size--medium{--vxe-ui-space-current-row-gap:var(--vxe-ui-space-row-gap-medium);--vxe-ui-space-current-column-gap:var(--vxe-ui-space-column-gap-medium)}.vxe-space.size--small{--vxe-ui-space-current-row-gap:var(--vxe-ui-space-row-gap-small);--vxe-ui-space-current-column-gap:var(--vxe-ui-space-column-gap-small)}.vxe-space.size--mini{--vxe-ui-space-current-row-gap:var(--vxe-ui-space-row-gap-mini);--vxe-ui-space-current-column-gap:var(--vxe-ui-space-column-gap-mini)}.vxe-space{display:inline-flex;flex-direction:row;align-items:center;gap:var(--vxe-ui-space-current-row-gap) var(--vxe-ui-space-current-column-gap)}.vxe-space.is--wrap{flex-wrap:wrap}.vxe-space.is--vertical{flex-direction:column}.vxe-space.is--fill>.vxe-space--item{flex-grow:1}.vxe-space--separator{flex-shrink:0}