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
@@ -1,13 +1,16 @@
1
1
  import { CreateElement, VNode, PropType } from 'vue'
2
2
  import { defineVxeComponent } from '../../ui/src/comp'
3
3
  import XEUtils from 'xe-utils'
4
- import { getConfig, createEvent, renderEmptyElement } from '../../ui'
4
+ import { VxeUI, getConfig, createEvent, renderEmptyElement } from '../../ui'
5
+ import { getText } from '../../ui/src/utils'
5
6
 
6
7
  import type { SliderReactData, SliderInternalData, VxeSliderEmits, ValueOf, VxeSliderPropTypes, VxeFormDefines, VxeComponentSizeType, VxeFormConstructor, VxeFormPrivateMethods } from '../../../types'
7
8
 
8
9
  function createInternalData (): SliderInternalData {
9
10
  return {
10
11
  // _isUp: false,
12
+ isDragStatus: false,
13
+ isBtnActive: false,
11
14
  currValue: 0,
12
15
  startValue: 0,
13
16
  endValue: 0
@@ -58,10 +61,19 @@ export default /* define-vxe-component start */ defineVxeComponent({
58
61
  type: Boolean as PropType<VxeSliderPropTypes.Disabled>,
59
62
  default: null
60
63
  },
64
+ status: {
65
+ type: String as PropType<VxeSliderPropTypes.Status>,
66
+ default: () => getConfig().slider.status
67
+ },
61
68
  immediate: {
62
69
  type: Boolean as PropType<VxeSliderPropTypes.Immediate>,
63
70
  default: () => getConfig().slider.immediate
64
- }
71
+ },
72
+ showTooltip: {
73
+ type: Boolean as PropType<VxeSliderPropTypes.ShowTooltip>,
74
+ default: () => getConfig().slider.showTooltip
75
+ },
76
+ tooltipConfig: Object as PropType<VxeSliderPropTypes.TooltipConfig>
65
77
  },
66
78
  inject: {
67
79
  $xeForm: {
@@ -135,6 +147,12 @@ export default /* define-vxe-component start */ defineVxeComponent({
135
147
 
136
148
  const { range, startValue, endValue } = props
137
149
  return range ? `${startValue || ''}${endValue || ''}` : ''
150
+ },
151
+ computeTooltipOpts () {
152
+ const $xeSlider = this
153
+ const props = $xeSlider
154
+
155
+ return Object.assign({}, getConfig().slider.tooltipConfig, props.tooltipConfig)
138
156
  }
139
157
  },
140
158
  methods: {
@@ -312,6 +330,47 @@ export default /* define-vxe-component start */ defineVxeComponent({
312
330
  const raw = minNum + ratio * (maxNum - minNum)
313
331
  return Math.floor(raw)
314
332
  },
333
+ handleShowTip (btnElem: HTMLDivElement) {
334
+ const $xeSlider = this
335
+ const props = $xeSlider
336
+ const internalData = $xeSlider.internalData
337
+
338
+ const { showTooltip } = props
339
+ if (showTooltip) {
340
+ if (VxeUI.tooltip) {
341
+ const { currValue } = internalData
342
+ const tooltipOpts = $xeSlider.computeTooltipOpts
343
+ const { contentMethod } = tooltipOpts
344
+ const content = getText(contentMethod
345
+ ? contentMethod({
346
+ $slider: $xeSlider,
347
+ value: currValue
348
+ })
349
+ : '' + currValue)
350
+ if (content) {
351
+ VxeUI.tooltip.open(btnElem, Object.assign({}, {
352
+ ...tooltipOpts,
353
+ content
354
+ }, {
355
+ contentMethod: undefined
356
+ }))
357
+ } else {
358
+ VxeUI.tooltip.close()
359
+ }
360
+ }
361
+ }
362
+ },
363
+ handleHideTip () {
364
+ const $xeSlider = this
365
+ const props = $xeSlider
366
+
367
+ const { showTooltip } = props
368
+ if (showTooltip) {
369
+ if (VxeUI.tooltip) {
370
+ VxeUI.tooltip.close()
371
+ }
372
+ }
373
+ },
315
374
  handleBtnMousedownEvent (evnt: MouseEvent) {
316
375
  const $xeSlider = this
317
376
  const props = $xeSlider
@@ -352,10 +411,12 @@ export default /* define-vxe-component start */ defineVxeComponent({
352
411
  $xeSlider.changeEvent(evnt)
353
412
  }
354
413
  $xeSlider.updateTrackStyle()
414
+ $xeSlider.handleShowTip(btnElem)
355
415
  }
356
416
  document.onmouseup = (evnt: MouseEvent) => {
357
417
  document.onmousemove = null
358
418
  document.onmouseup = null
419
+ internalData.isDragStatus = false
359
420
  $xeSlider.dispatchEvent('track-dragend', {
360
421
  currentValue: internalData.currValue,
361
422
  startValue: internalData.startValue,
@@ -363,12 +424,37 @@ export default /* define-vxe-component start */ defineVxeComponent({
363
424
  }, evnt)
364
425
  $xeSlider.changeEvent(evnt)
365
426
  $xeSlider.updateTrackStyle()
427
+ if (!internalData.isBtnActive) {
428
+ $xeSlider.handleHideTip()
429
+ }
366
430
  }
367
431
  $xeSlider.dispatchEvent('track-dragstart', {
368
432
  currentValue: internalData.currValue,
369
433
  startValue: internalData.startValue,
370
434
  endValue: internalData.endValue
371
435
  }, evnt)
436
+ internalData.isDragStatus = false
437
+ }
438
+ },
439
+ handleBtnMouseenterEvent (evnt: MouseEvent) {
440
+ const $xeSlider = this
441
+ const internalData = $xeSlider.internalData
442
+
443
+ const { startValue, endValue } = internalData
444
+ const btnElem = evnt.currentTarget as HTMLDivElement
445
+ const btnType = btnElem.getAttribute('data-type')
446
+ internalData.currValue = btnType === '1' ? startValue : endValue
447
+ internalData.isBtnActive = true
448
+ $xeSlider.handleShowTip(btnElem)
449
+ },
450
+ handleBtnMouseleaveEvent () {
451
+ const $xeSlider = this
452
+ const internalData = $xeSlider.internalData
453
+
454
+ const { isDragStatus } = internalData
455
+ internalData.isBtnActive = false
456
+ if (!isDragStatus) {
457
+ $xeSlider.handleHideTip()
372
458
  }
373
459
  },
374
460
 
@@ -379,7 +465,7 @@ export default /* define-vxe-component start */ defineVxeComponent({
379
465
  const $xeSlider = this
380
466
  const props = $xeSlider
381
467
 
382
- const { vertical, range } = props
468
+ const { status, vertical, range } = props
383
469
  const vSize = $xeSlider.computeSize
384
470
  const formReadonly = $xeSlider.computeFormReadonly
385
471
  const isDisabled = $xeSlider.computeIsDisabled
@@ -387,6 +473,7 @@ export default /* define-vxe-component start */ defineVxeComponent({
387
473
  ref: 'refElem',
388
474
  class: ['vxe-slider', {
389
475
  [`size--${vSize}`]: vSize,
476
+ [`theme--${status}`]: status,
390
477
  'is--vertical': vertical,
391
478
  'is--readonly': formReadonly,
392
479
  'is--disabled': isDisabled
@@ -412,6 +499,8 @@ export default /* define-vxe-component start */ defineVxeComponent({
412
499
  'data-type': '1'
413
500
  },
414
501
  on: {
502
+ mouseenter: $xeSlider.handleBtnMouseenterEvent,
503
+ mouseleave: $xeSlider.handleBtnMouseleaveEvent,
415
504
  mousedown: $xeSlider.handleBtnMousedownEvent
416
505
  }
417
506
  }),
@@ -424,6 +513,8 @@ export default /* define-vxe-component start */ defineVxeComponent({
424
513
  'data-type': '2'
425
514
  },
426
515
  on: {
516
+ mouseenter: $xeSlider.handleBtnMouseenterEvent,
517
+ mouseleave: $xeSlider.handleBtnMouseleaveEvent,
427
518
  mousedown: $xeSlider.handleBtnMousedownEvent
428
519
  }
429
520
  })
@@ -45,6 +45,26 @@ export default /* define-vxe-component start */ defineVxeComponent({
45
45
  align: {
46
46
  type: String as PropType<VxeSpacePropTypes.Align>,
47
47
  default: () => getConfig().space.align
48
+ },
49
+ fill: {
50
+ type: Boolean as PropType<VxeSpacePropTypes.Fill>,
51
+ default: () => getConfig().space.fill
52
+ },
53
+ itemWidth: {
54
+ type: [String, Number] as PropType<VxeSpacePropTypes.ItemWidth>,
55
+ default: () => getConfig().space.itemWidth
56
+ },
57
+ itemMinWidth: {
58
+ type: [String, Number] as PropType<VxeSpacePropTypes.ItemMinWidth>,
59
+ default: () => getConfig().space.itemMinWidth
60
+ },
61
+ itemMaxWidth: {
62
+ type: [String, Number] as PropType<VxeSpacePropTypes.ItemMaxWidth>,
63
+ default: () => getConfig().space.itemMaxWidth
64
+ },
65
+ separatorWidth: {
66
+ type: [String, Number] as PropType<VxeSpacePropTypes.SeparatorWidth>,
67
+ default: () => getConfig().space.separatorWidth
48
68
  }
49
69
  },
50
70
  data () {
@@ -111,10 +131,24 @@ export default /* define-vxe-component start */ defineVxeComponent({
111
131
  const props = $xeSpace
112
132
  const slots = $xeSpace.$scopedSlots
113
133
 
114
- const { separator, itemClassName } = props
134
+ const { separator, itemClassName, itemWidth, itemMinWidth, itemMaxWidth, separatorWidth } = props
115
135
  const itemVNs: VNode[] = []
116
136
  const defaultSlot = slots.default
117
137
  const separatorSlot = slots.separator
138
+ const srStys: VxeComponentStyleType = {}
139
+ if (separatorWidth) {
140
+ srStys.width = toCssUnit(itemWidth)
141
+ }
142
+ const itemStys: VxeComponentStyleType = {}
143
+ if (itemWidth) {
144
+ itemStys.width = toCssUnit(itemWidth)
145
+ }
146
+ if (itemMinWidth) {
147
+ itemStys.minWidth = toCssUnit(itemMinWidth)
148
+ }
149
+ if (itemMaxWidth) {
150
+ itemStys.maxWidth = toCssUnit(itemMaxWidth)
151
+ }
118
152
  if (defaultSlot) {
119
153
  XEUtils.each(defaultSlot({}), (itemVN, index, items) => {
120
154
  itemVNs.push(
@@ -139,7 +173,7 @@ export default /* define-vxe-component start */ defineVxeComponent({
139
173
  const $xeSpace = this
140
174
  const props = $xeSpace
141
175
 
142
- const { vertical, wrap, className } = props
176
+ const { vertical, wrap, className, fill, itemWidth, itemMinWidth, itemMaxWidth } = props
143
177
  const wrapperStyle = $xeSpace.computeWrapperStyle
144
178
  const vSize = $xeSpace.computeSize
145
179
  return h('div', {
@@ -147,7 +181,9 @@ export default /* define-vxe-component start */ defineVxeComponent({
147
181
  class: ['vxe-space', getPropClass(className, {}), {
148
182
  [`size--${vSize}`]: vSize,
149
183
  'is--wrap': wrap,
150
- 'is--vertical': vertical
184
+ 'is--vertical': vertical,
185
+ 'is--fill': fill,
186
+ 'is--width': itemWidth || itemMinWidth || itemMaxWidth
151
187
  }],
152
188
  style: wrapperStyle
153
189
  }, $xeSpace.renderItems(h))
@@ -569,23 +569,6 @@ export default /* define-vxe-component start */ defineVxeComponent({
569
569
  $xeTableSelect.clearValueEvent(evnt, null)
570
570
  $xeTableSelect.hideOptionPanel()
571
571
  },
572
- handleGlobalMousewheelEvent (evnt: MouseEvent) {
573
- const $xeTableSelect = this
574
- const reactData = $xeTableSelect.reactData
575
-
576
- const { visiblePanel } = reactData
577
- const isDisabled = $xeTableSelect.computeIsDisabled
578
- if (!isDisabled) {
579
- if (visiblePanel) {
580
- const panelElem = $xeTableSelect.$refs.refOptionPanel as HTMLDivElement
581
- if (getEventTargetNode(evnt, panelElem).flag) {
582
- $xeTableSelect.updatePlacement()
583
- } else {
584
- $xeTableSelect.hideOptionPanel()
585
- }
586
- }
587
- }
588
- },
589
572
  handleGlobalMousedownEvent (evnt: MouseEvent) {
590
573
  const $xeTableSelect = this
591
574
  const reactData = $xeTableSelect.reactData
@@ -628,6 +611,15 @@ export default /* define-vxe-component start */ defineVxeComponent({
628
611
  $xeTableSelect.updatePlacement()
629
612
  }
630
613
  },
614
+ handleGlobalScrollEvent () {
615
+ const $xeTableSelect = this
616
+ const reactData = $xeTableSelect.reactData
617
+
618
+ const { visiblePanel } = reactData
619
+ if (visiblePanel) {
620
+ $xeTableSelect.updatePlacement()
621
+ }
622
+ },
631
623
  focusEvent (evnt: FocusEvent) {
632
624
  const $xeTableSelect = this
633
625
  const reactData = $xeTableSelect.reactData
@@ -898,10 +890,10 @@ export default /* define-vxe-component start */ defineVxeComponent({
898
890
  reactData.initialized = true
899
891
  }
900
892
  }
901
- globalEvents.on($xeTableSelect, 'mousewheel', $xeTableSelect.handleGlobalMousewheelEvent)
902
893
  globalEvents.on($xeTableSelect, 'mousedown', $xeTableSelect.handleGlobalMousedownEvent)
903
894
  globalEvents.on($xeTableSelect, 'blur', $xeTableSelect.handleGlobalBlurEvent)
904
895
  globalEvents.on($xeTableSelect, 'resize', $xeTableSelect.handleGlobalResizeEvent)
896
+ globalEvents.on($xeTableSelect, 'scroll', $xeTableSelect.handleGlobalScrollEvent)
905
897
  },
906
898
  beforeDestroy () {
907
899
  const $xeTableSelect = this
@@ -912,10 +904,10 @@ export default /* define-vxe-component start */ defineVxeComponent({
912
904
  if (panelElem && panelElem.parentNode) {
913
905
  panelElem.parentNode.removeChild(panelElem)
914
906
  }
915
- globalEvents.off($xeTableSelect, 'mousewheel')
916
907
  globalEvents.off($xeTableSelect, 'mousedown')
917
908
  globalEvents.off($xeTableSelect, 'blur')
918
909
  globalEvents.off($xeTableSelect, 'resize')
910
+ globalEvents.off($xeTableSelect, 'scroll')
919
911
  XEUtils.assign(reactData, createReactData())
920
912
  XEUtils.assign(internalData, createInternalData())
921
913
  },
@@ -729,23 +729,6 @@ export default /* define-vxe-component start */ defineVxeComponent({
729
729
  $tree.clearAllExpandNode()
730
730
  }
731
731
  },
732
- handleGlobalMousewheelEvent (evnt: MouseEvent) {
733
- const $xeTreeSelect = this
734
- const reactData = $xeTreeSelect.reactData
735
-
736
- const { visiblePanel } = reactData
737
- const isDisabled = $xeTreeSelect.computeIsDisabled
738
- if (!isDisabled) {
739
- if (visiblePanel) {
740
- const panelElem = $xeTreeSelect.$refs.refOptionPanel as HTMLElement
741
- if (getEventTargetNode(evnt, panelElem).flag) {
742
- $xeTreeSelect.updatePlacement()
743
- } else {
744
- $xeTreeSelect.hideOptionPanel(evnt)
745
- }
746
- }
747
- }
748
- },
749
732
  handleGlobalMousedownEvent (evnt: MouseEvent) {
750
733
  const $xeTreeSelect = this
751
734
  const reactData = $xeTreeSelect.reactData
@@ -788,6 +771,15 @@ export default /* define-vxe-component start */ defineVxeComponent({
788
771
  $xeTreeSelect.updatePlacement()
789
772
  }
790
773
  },
774
+ handleGlobalScrollEvent () {
775
+ const $xeTreeSelect = this
776
+ const reactData = $xeTreeSelect.reactData
777
+
778
+ const { visiblePanel } = reactData
779
+ if (visiblePanel) {
780
+ $xeTreeSelect.updatePlacement()
781
+ }
782
+ },
791
783
  handleFocusSearch () {
792
784
  const $xeSelect = this
793
785
  const props = $xeSelect
@@ -1233,10 +1225,10 @@ export default /* define-vxe-component start */ defineVxeComponent({
1233
1225
  if (XEUtils.isBoolean(props.autoClose)) {
1234
1226
  warnLog('vxe.error.delProp', ['auto-close', 'checked-closable | clear-closable'])
1235
1227
  }
1236
- globalEvents.on($xeTreeSelect, 'mousewheel', $xeTreeSelect.handleGlobalMousewheelEvent)
1237
1228
  globalEvents.on($xeTreeSelect, 'mousedown', $xeTreeSelect.handleGlobalMousedownEvent)
1238
1229
  globalEvents.on($xeTreeSelect, 'blur', $xeTreeSelect.handleGlobalBlurEvent)
1239
1230
  globalEvents.on($xeTreeSelect, 'resize', $xeTreeSelect.handleGlobalResizeEvent)
1231
+ globalEvents.on($xeTreeSelect, 'scroll', $xeTreeSelect.handleGlobalScrollEvent)
1240
1232
  },
1241
1233
  beforeDestroy () {
1242
1234
  const $xeTreeSelect = this
@@ -1247,10 +1239,10 @@ export default /* define-vxe-component start */ defineVxeComponent({
1247
1239
  if (panelElem && panelElem.parentNode) {
1248
1240
  panelElem.parentNode.removeChild(panelElem)
1249
1241
  }
1250
- globalEvents.off($xeTreeSelect, 'mousewheel')
1251
1242
  globalEvents.off($xeTreeSelect, 'mousedown')
1252
1243
  globalEvents.off($xeTreeSelect, 'blur')
1253
1244
  globalEvents.off($xeTreeSelect, 'resize')
1245
+ globalEvents.off($xeTreeSelect, 'scroll')
1254
1246
  XEUtils.assign(reactData, createReactData())
1255
1247
  XEUtils.assign(internalData, createInternalData())
1256
1248
  },
@@ -390,7 +390,10 @@ setConfig({
390
390
  splitterPanel: {},
391
391
  slider: {
392
392
  max: 100,
393
- min: 0
393
+ min: 0,
394
+ tooltipConfig: {
395
+ enterDelay: 0
396
+ }
394
397
  },
395
398
  space: {},
396
399
  steps: {},
@@ -223,7 +223,7 @@ export function updatePanelPlacement (targetElem: HTMLElement | null | undefined
223
223
  minWidth = targetElem.offsetWidth
224
224
 
225
225
  if (teleportTo) {
226
- left = defaultLeft || (targetLeft)
226
+ left = defaultLeft || (targetLeft - (panelWidth - targetWidth) / 2)
227
227
  top = defaultTop || (targetTop + targetHeight)
228
228
  if (placement === 'top') {
229
229
  panelPlacement = 'top'
@@ -64,12 +64,25 @@ $sliderThemeList: (
64
64
  }
65
65
  }
66
66
  .vxe-slider--bar-btn {
67
- background-color: map.get($item, textColor);
67
+ border-color: map.get($item, textColor);
68
+ }
69
+ &.is--disabled {
70
+ .vxe-slider--bar-track {
71
+ background-color: map.get($item, disabledColor);
72
+ }
73
+ .vxe-slider--bar-btn {
74
+ border-color: map.get($item, disabledColor);
75
+ cursor: not-allowed;
76
+ }
68
77
  }
69
78
  }
70
79
  }
71
80
  &.is--disabled {
81
+ .vxe-slider--bar-track {
82
+ background-color: var(--vxe-ui-font-primary-disabled-color);
83
+ }
72
84
  .vxe-slider--bar-btn {
85
+ border-color: var(--vxe-ui-font-primary-disabled-color);
73
86
  cursor: not-allowed;
74
87
  }
75
88
  }
@@ -84,6 +97,7 @@ $sliderThemeList: (
84
97
  }
85
98
  &:active {
86
99
  transform: translate(-50%, -50%) scale(1.1);
100
+ cursor: grab;
87
101
  }
88
102
  }
89
103
  }
@@ -35,4 +35,13 @@
35
35
  &.is--vertical {
36
36
  flex-direction: column;
37
37
  }
38
+ &.is--fill {
39
+ & > .vxe-space--item {
40
+ flex-grow: 1;
41
+ }
42
+ }
43
+ }
44
+
45
+ .vxe-space--separator{
46
+ flex-shrink: 0;
38
47
  }
@@ -94,7 +94,7 @@ export namespace VxeNumberInputPropTypes {
94
94
  export type ShowTooltip = boolean
95
95
  export interface TooltipConfig extends Omit<VxeTooltipProps, 'content' | 'transfer' | 'appendTo'> {
96
96
  contentMethod?: (params: {
97
- $mumberInput: VxeNumberInputConstructor
97
+ $numberInput: VxeNumberInputConstructor
98
98
  type: VxeNumberInputPropTypes.Type
99
99
  value: VxeNumberInputPropTypes.ModelValue
100
100
  label: string
@@ -1,4 +1,5 @@
1
1
  import { DefineVxeComponentApp, DefineVxeComponentOptions, DefineVxeComponentInstance, VxeComponentSizeType, VxeComponentStatusType, VxeComponentEventParams } from '@vxe-ui/core'
2
+ import { VxeTooltipProps } from './tooltip'
2
3
 
3
4
  /* eslint-disable @typescript-eslint/no-empty-interface,no-use-before-define,@typescript-eslint/ban-types */
4
5
 
@@ -30,6 +31,13 @@ export namespace VxeSliderPropTypes {
30
31
  export type Readonly = boolean
31
32
  export type Disabled = boolean
32
33
  export type Immediate = boolean
34
+ export type ShowTooltip = boolean
35
+ export interface TooltipConfig extends Omit<VxeTooltipProps, 'content' | 'transfer' | 'appendTo'> {
36
+ contentMethod?: (params: {
37
+ $slider: VxeSliderConstructor
38
+ value: number
39
+ }) => string | number | null | undefined
40
+ }
33
41
  }
34
42
 
35
43
  export interface VxeSliderProps {
@@ -46,6 +54,8 @@ export interface VxeSliderProps {
46
54
  readonly?: VxeSliderPropTypes.Readonly
47
55
  disabled?: VxeSliderPropTypes.Disabled
48
56
  immediate?: VxeSliderPropTypes.Immediate
57
+ showTooltip?: VxeSliderPropTypes.ShowTooltip
58
+ tooltipConfig?: VxeSliderPropTypes.TooltipConfig
49
59
  }
50
60
 
51
61
  export interface SliderPrivateComputed {
@@ -56,6 +66,8 @@ export interface SliderReactData {
56
66
  }
57
67
  export interface SliderInternalData {
58
68
  _isUp?: boolean
69
+ isDragStatus: boolean
70
+ isBtnActive: boolean
59
71
  currValue: number
60
72
  startValue: number
61
73
  endValue: number
@@ -24,6 +24,11 @@ export namespace VxeSpacePropTypes {
24
24
  export type ItemClassName = string
25
25
  export type Separator = string
26
26
  export type Align = 'stretch' | 'start' | 'end' | 'center' | 'baseline' | '' | null
27
+ export type Fill = boolean
28
+ export type ItemWidth = string | number
29
+ export type ItemMinWidth = string | number
30
+ export type ItemMaxWidth = string | number
31
+ export type SeparatorWidth = string | number
27
32
  }
28
33
 
29
34
  export interface VxeSpaceProps {
@@ -47,6 +52,11 @@ export interface VxeSpaceProps {
47
52
  */
48
53
  separator?: VxeSpacePropTypes.Separator
49
54
  align?: VxeSpacePropTypes.Align
55
+ fill?: VxeSpacePropTypes.Fill
56
+ itemWidth?: VxeSpacePropTypes.ItemWidth
57
+ itemMinWidth?: VxeSpacePropTypes.ItemMinWidth
58
+ itemMaxWidth?: VxeSpacePropTypes.ItemMaxWidth
59
+ separatorWidth?: VxeSpacePropTypes.SeparatorWidth
50
60
  }
51
61
 
52
62
  export interface SpacePrivateComputed {