vxe-pc-ui 3.20.9 → 3.20.10
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.
- package/es/date-panel/src/date-panel.js +70 -39
- package/es/date-panel/style.css +22 -20
- package/es/date-panel/style.min.css +1 -1
- package/es/icon/style.css +1 -1
- package/es/icon-picker/src/icon-picker.js +11 -3
- package/es/icon-picker/style.css +9 -3
- package/es/icon-picker/style.min.css +1 -1
- package/es/list/src/list.js +8 -182
- package/es/scrollbar/src/scrollbar.js +24 -188
- package/es/select/src/select.js +273 -8
- package/es/select/style.css +44 -0
- package/es/select/style.min.css +1 -1
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/tooltip/src/tooltip.js +2 -4
- package/es/tooltip/style.css +2 -0
- package/es/tooltip/style.min.css +1 -1
- package/es/tree/src/tree.js +17 -190
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/es/vxe-date-panel/style.css +22 -20
- package/es/vxe-date-panel/style.min.css +1 -1
- package/es/vxe-icon-picker/style.css +9 -3
- package/es/vxe-icon-picker/style.min.css +1 -1
- package/es/vxe-select/style.css +44 -0
- package/es/vxe-select/style.min.css +1 -1
- package/es/vxe-tooltip/style.css +2 -0
- package/es/vxe-tooltip/style.min.css +1 -1
- package/lib/date-panel/src/date-panel.js +74 -43
- package/lib/date-panel/src/date-panel.min.js +1 -1
- package/lib/date-panel/style/style.css +22 -20
- package/lib/date-panel/style/style.min.css +1 -1
- package/lib/icon/style/style.css +1 -1
- package/lib/icon/style/style.min.css +1 -1
- package/lib/icon-picker/src/icon-picker.js +56 -38
- package/lib/icon-picker/src/icon-picker.min.js +1 -1
- package/lib/icon-picker/style/style.css +9 -3
- package/lib/icon-picker/style/style.min.css +1 -1
- package/lib/index.umd.js +715 -741
- package/lib/index.umd.min.js +1 -1
- package/lib/list/src/list.js +6 -188
- package/lib/list/src/list.min.js +1 -1
- package/lib/scrollbar/src/scrollbar.js +21 -192
- package/lib/scrollbar/src/scrollbar.min.js +1 -1
- package/lib/select/src/select.js +322 -69
- package/lib/select/src/select.min.js +1 -1
- package/lib/select/style/style.css +44 -0
- package/lib/select/style/style.min.css +1 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/tooltip/src/tooltip.js +2 -4
- package/lib/tooltip/src/tooltip.min.js +1 -1
- package/lib/tooltip/style/style.css +2 -0
- package/lib/tooltip/style/style.min.css +1 -1
- package/lib/tree/src/tree.js +16 -196
- package/lib/tree/src/tree.min.js +1 -1
- package/lib/ui/index.js +1 -1
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/lib/vxe-date-panel/style/style.css +22 -20
- package/lib/vxe-date-panel/style/style.min.css +1 -1
- package/lib/vxe-icon-picker/style/style.css +9 -3
- package/lib/vxe-icon-picker/style/style.min.css +1 -1
- package/lib/vxe-select/style/style.css +44 -0
- package/lib/vxe-select/style/style.min.css +1 -1
- package/lib/vxe-tooltip/style/style.css +2 -0
- package/lib/vxe-tooltip/style/style.min.css +1 -1
- package/package.json +2 -2
- package/packages/date-panel/src/date-panel.ts +70 -39
- package/packages/icon-picker/src/icon-picker.ts +12 -3
- package/packages/list/src/list.ts +11 -202
- package/packages/scrollbar/src/scrollbar.ts +24 -199
- package/packages/select/src/select.ts +304 -11
- package/packages/tabs/src/tabs.ts +2 -4
- package/packages/tooltip/src/tooltip.ts +2 -4
- package/packages/tree/src/tree.ts +20 -211
- package/styles/components/date-panel.scss +31 -29
- package/styles/components/icon-picker.scss +9 -3
- package/styles/components/select.scss +77 -0
- package/styles/components/tooltip.scss +1 -0
- package/types/components/gantt-module/gantt-view.d.ts +8 -17
- package/types/components/icon-picker.d.ts +21 -1
- package/types/components/list.d.ts +4 -0
- package/types/components/scrollbar.d.ts +7 -14
- package/types/components/select.d.ts +28 -3
- package/types/components/table.d.ts +20 -20
- package/types/components/tree.d.ts +7 -16
- /package/es/icon/{iconfont.1792139429655.ttf → iconfont.1792219842866.ttf} +0 -0
- /package/es/icon/{iconfont.1792139429655.woff → iconfont.1792219842866.woff} +0 -0
- /package/es/icon/{iconfont.1792139429655.woff2 → iconfont.1792219842866.woff2} +0 -0
- /package/es/{iconfont.1792139429655.ttf → iconfont.1792219842866.ttf} +0 -0
- /package/es/{iconfont.1792139429655.woff → iconfont.1792219842866.woff} +0 -0
- /package/es/{iconfont.1792139429655.woff2 → iconfont.1792219842866.woff2} +0 -0
- /package/lib/icon/style/{iconfont.1792139429655.ttf → iconfont.1792219842866.ttf} +0 -0
- /package/lib/icon/style/{iconfont.1792139429655.woff → iconfont.1792219842866.woff} +0 -0
- /package/lib/icon/style/{iconfont.1792139429655.woff2 → iconfont.1792219842866.woff2} +0 -0
- /package/lib/{iconfont.1792139429655.ttf → iconfont.1792219842866.ttf} +0 -0
- /package/lib/{iconfont.1792139429655.woff → iconfont.1792219842866.woff} +0 -0
- /package/lib/{iconfont.1792139429655.woff2 → iconfont.1792219842866.woff2} +0 -0
package/es/select/src/select.js
CHANGED
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import { defineVxeComponent } from '../../ui/src/comp';
|
|
2
2
|
import XEUtils from 'xe-utils';
|
|
3
|
-
import { VxeUI,
|
|
3
|
+
import { VxeUI, globalMixins } from '../../ui';
|
|
4
4
|
import { getEventTargetNode, getPopupAppendElement, toCssUnit, updatePanelPlacement } from '../../ui/src/dom';
|
|
5
5
|
import { getLastZIndex, nextZIndex, getFuncText, eqEmptyValue } from '../../ui/src/utils';
|
|
6
6
|
import { getSlotVNs } from '../../ui/src/vn';
|
|
7
7
|
import { createComponentLog } from '../../ui/src/log';
|
|
8
8
|
import VxeInputComponent from '../../input';
|
|
9
9
|
import VxeButtonComponent from '../../button';
|
|
10
|
+
const { getConfig, getIcon, getI18n, baseUtils, domUtils, globalEvents, GLOBAL_EVENT_KEYS, globalResize, createEvent, renderEmptyElement } = VxeUI;
|
|
11
|
+
const { getDefVal } = baseUtils;
|
|
10
12
|
const { errLog } = createComponentLog('select');
|
|
11
13
|
function isOptionVisible(option) {
|
|
12
14
|
return option.visible !== false;
|
|
@@ -26,6 +28,9 @@ function createReactData() {
|
|
|
26
28
|
currentOption: null,
|
|
27
29
|
searchValue: '',
|
|
28
30
|
searchLoading: false,
|
|
31
|
+
// 滚动条
|
|
32
|
+
yThumbHeight: 0,
|
|
33
|
+
xThumbWidth: 0,
|
|
29
34
|
panelIndex: 0,
|
|
30
35
|
panelStyle: {},
|
|
31
36
|
panelPlacement: null,
|
|
@@ -45,8 +50,14 @@ function createInternalData() {
|
|
|
45
50
|
optGroupKeyMaps: {},
|
|
46
51
|
optFullValMaps: {},
|
|
47
52
|
remoteValMaps: {},
|
|
48
|
-
|
|
53
|
+
// 滚动条
|
|
54
|
+
// scrollObserver: undefined,
|
|
55
|
+
// isThumbDrag: false,
|
|
56
|
+
thumbDragOffset: 0,
|
|
57
|
+
yThumbTop: 0,
|
|
58
|
+
xThumbLeft: 0,
|
|
49
59
|
lastScrollTop: 0,
|
|
60
|
+
lastScrollLeft: 0,
|
|
50
61
|
scrollYStore: {
|
|
51
62
|
startIndex: 0,
|
|
52
63
|
endIndex: 0,
|
|
@@ -61,7 +72,9 @@ function createInternalData() {
|
|
|
61
72
|
export default {
|
|
62
73
|
name: 'VxeSelect',
|
|
63
74
|
mixins: [
|
|
64
|
-
globalMixins.sizeMixin
|
|
75
|
+
globalMixins.sizeMixin,
|
|
76
|
+
globalMixins.vScrollbarMixin,
|
|
77
|
+
globalMixins.initVScrollbarMixin
|
|
65
78
|
],
|
|
66
79
|
model: {
|
|
67
80
|
prop: 'value',
|
|
@@ -176,6 +189,11 @@ export default {
|
|
|
176
189
|
popupConfig: Object,
|
|
177
190
|
virtualYConfig: Object,
|
|
178
191
|
scrollY: Object,
|
|
192
|
+
useScrollbar: {
|
|
193
|
+
type: Boolean,
|
|
194
|
+
default: () => getDefVal(getConfig().select.useScrollbar, getConfig().useScrollbar)
|
|
195
|
+
},
|
|
196
|
+
scrollbarConfig: Object,
|
|
179
197
|
/**
|
|
180
198
|
* 已废弃,被 remote-config.queryMethod 替换
|
|
181
199
|
* @deprecated
|
|
@@ -223,7 +241,7 @@ export default {
|
|
|
223
241
|
const xID = XEUtils.uniqueId();
|
|
224
242
|
const reactData = createReactData();
|
|
225
243
|
return Object.assign(Object.assign({}, {}), { xID,
|
|
226
|
-
reactData });
|
|
244
|
+
reactData, reLayoutFlag: 0, reScrollFlag: 0 });
|
|
227
245
|
},
|
|
228
246
|
computed: Object.assign(Object.assign({}, {}), { computeFormReadonly() {
|
|
229
247
|
const $xeSelect = this;
|
|
@@ -445,6 +463,88 @@ export default {
|
|
|
445
463
|
return `${labels.slice(0, multiMaxCharNum)}...`;
|
|
446
464
|
}
|
|
447
465
|
return labels.join(', ');
|
|
466
|
+
},
|
|
467
|
+
computeScrollbarOpts() {
|
|
468
|
+
const $xeSelect = this;
|
|
469
|
+
const props = $xeSelect;
|
|
470
|
+
return Object.assign({}, getConfig().tree.scrollbarConfig, props.scrollbarConfig);
|
|
471
|
+
},
|
|
472
|
+
computeScrollbarXOpts() {
|
|
473
|
+
const $xeSelect = this;
|
|
474
|
+
const scrollbarOpts = $xeSelect.computeScrollbarOpts;
|
|
475
|
+
return Object.assign({}, getConfig().scrollbar.xConfig, scrollbarOpts.xConfig, {
|
|
476
|
+
visible: false
|
|
477
|
+
});
|
|
478
|
+
},
|
|
479
|
+
computeScrollbarYOpts() {
|
|
480
|
+
const $xeSelect = this;
|
|
481
|
+
const scrollbarOpts = $xeSelect.computeScrollbarOpts;
|
|
482
|
+
return Object.assign({}, getConfig().scrollbar.yConfig, scrollbarOpts.yConfig);
|
|
483
|
+
},
|
|
484
|
+
computeScrollXHeight() {
|
|
485
|
+
const $xeSelect = this;
|
|
486
|
+
const scrollbarOpts = $xeSelect.computeScrollbarOpts;
|
|
487
|
+
const scrollbarXOpts = $xeSelect.computeScrollbarXOpts;
|
|
488
|
+
return getDefVal(getDefVal(scrollbarXOpts.height, scrollbarOpts.height), getConfig().scrollbar.height);
|
|
489
|
+
},
|
|
490
|
+
computeScrollYWidth() {
|
|
491
|
+
const $xeSelect = this;
|
|
492
|
+
const scrollbarOpts = $xeSelect.computeScrollbarOpts;
|
|
493
|
+
const scrollbarYOpts = $xeSelect.computeScrollbarYOpts;
|
|
494
|
+
return getDefVal(getDefVal(scrollbarYOpts.width, scrollbarOpts.width), getConfig().scrollbar.width);
|
|
495
|
+
},
|
|
496
|
+
computeScrollXVisible() {
|
|
497
|
+
const $xeSelect = this;
|
|
498
|
+
const scrollbarOpts = $xeSelect.computeScrollbarOpts;
|
|
499
|
+
const scrollbarXOpts = $xeSelect.computeScrollbarXOpts;
|
|
500
|
+
return getDefVal(scrollbarXOpts.visible, scrollbarOpts.visible);
|
|
501
|
+
},
|
|
502
|
+
computeScrollYVisible() {
|
|
503
|
+
const $xeSelect = this;
|
|
504
|
+
const scrollbarOpts = $xeSelect.computeScrollbarOpts;
|
|
505
|
+
const scrollbarYOpts = $xeSelect.computeScrollbarYOpts;
|
|
506
|
+
return getDefVal(scrollbarYOpts.visible, scrollbarOpts.visible);
|
|
507
|
+
},
|
|
508
|
+
computeScrollXAutoHide() {
|
|
509
|
+
const $xeSelect = this;
|
|
510
|
+
const scrollbarOpts = $xeSelect.computeScrollbarOpts;
|
|
511
|
+
const scrollbarXOpts = $xeSelect.computeScrollbarXOpts;
|
|
512
|
+
return getDefVal(getDefVal(scrollbarXOpts.autoHide, scrollbarOpts.autoHide), getConfig().scrollbar.autoHide);
|
|
513
|
+
},
|
|
514
|
+
computeScrollYAutoHide() {
|
|
515
|
+
const $xeSelect = this;
|
|
516
|
+
const scrollbarOpts = $xeSelect.computeScrollbarOpts;
|
|
517
|
+
const scrollbarYOpts = $xeSelect.computeScrollbarYOpts;
|
|
518
|
+
return getDefVal(getDefVal(scrollbarYOpts.autoHide, scrollbarOpts.autoHide), getConfig().scrollbar.autoHide);
|
|
519
|
+
},
|
|
520
|
+
computeScrollbarWrapperClss() {
|
|
521
|
+
const $xeSelect = this;
|
|
522
|
+
const reactData = $xeSelect.reactData;
|
|
523
|
+
const { yThumbHeight, xThumbWidth } = reactData;
|
|
524
|
+
const scrollbarXToTop = $xeSelect.computeScrollbarXToTop;
|
|
525
|
+
const scrollbarYToLeft = $xeSelect.computeScrollbarYToLeft;
|
|
526
|
+
const scrollXVisible = $xeSelect.computeScrollXVisible;
|
|
527
|
+
const scrollYVisible = $xeSelect.computeScrollYVisible;
|
|
528
|
+
return domUtils.buildClass([
|
|
529
|
+
'vxe-scrollbar is--virtual',
|
|
530
|
+
`ov-x--${scrollXVisible === false ? 'hidden' : 'visible'}`,
|
|
531
|
+
`ov-y--${scrollYVisible === false ? 'hidden' : 'visible'}`,
|
|
532
|
+
`sx-pos--${scrollbarXToTop ? 'top' : 'bottom'}`,
|
|
533
|
+
`sy-pos--${scrollbarYToLeft ? 'left' : 'right'}`
|
|
534
|
+
], {
|
|
535
|
+
'overflow-y': yThumbHeight,
|
|
536
|
+
'overflow-x': xThumbWidth
|
|
537
|
+
});
|
|
538
|
+
},
|
|
539
|
+
computeScrollbarXToTop() {
|
|
540
|
+
const $xeSelect = this;
|
|
541
|
+
const scrollbarXOpts = $xeSelect.computeScrollbarXOpts;
|
|
542
|
+
return scrollbarXOpts.position === 'top';
|
|
543
|
+
},
|
|
544
|
+
computeScrollbarYToLeft() {
|
|
545
|
+
const $xeSelect = this;
|
|
546
|
+
const scrollbarYOpts = $xeSelect.computeScrollbarYOpts;
|
|
547
|
+
return scrollbarYOpts.position === 'left';
|
|
448
548
|
} }),
|
|
449
549
|
methods: {
|
|
450
550
|
//
|
|
@@ -469,6 +569,11 @@ export default {
|
|
|
469
569
|
$xeSelect.emitModel(value);
|
|
470
570
|
$xeSelect.dispatchEvent('default-change', { value }, null);
|
|
471
571
|
},
|
|
572
|
+
getScrollViewElem() {
|
|
573
|
+
const $xeSelect = this;
|
|
574
|
+
const viewEl = $xeSelect.$refs.refVirtualWrapper;
|
|
575
|
+
return viewEl || null;
|
|
576
|
+
},
|
|
472
577
|
isPanelVisible() {
|
|
473
578
|
const $xeSelect = this;
|
|
474
579
|
const reactData = $xeSelect.reactData;
|
|
@@ -1458,6 +1563,17 @@ export default {
|
|
|
1458
1563
|
}
|
|
1459
1564
|
});
|
|
1460
1565
|
},
|
|
1566
|
+
updateScrollbar() {
|
|
1567
|
+
const $xeSelect = this;
|
|
1568
|
+
const isVScrollbar = $xeSelect.computeIsVScrollbar;
|
|
1569
|
+
if (isVScrollbar) {
|
|
1570
|
+
return $xeSelect.$nextTick().then(() => {
|
|
1571
|
+
$xeSelect.updateThumbSize();
|
|
1572
|
+
$xeSelect.updateThumbOffset();
|
|
1573
|
+
});
|
|
1574
|
+
}
|
|
1575
|
+
return Promise.resolve();
|
|
1576
|
+
},
|
|
1461
1577
|
/**
|
|
1462
1578
|
* 重新计算列表
|
|
1463
1579
|
*/
|
|
@@ -1465,7 +1581,9 @@ export default {
|
|
|
1465
1581
|
const $xeSelect = this;
|
|
1466
1582
|
const el = $xeSelect.$refs.refElem;
|
|
1467
1583
|
if (el && el.clientWidth && el.clientHeight) {
|
|
1468
|
-
return $xeSelect.computeScrollLoad()
|
|
1584
|
+
return $xeSelect.computeScrollLoad().then(() => {
|
|
1585
|
+
return $xeSelect.updateScrollbar();
|
|
1586
|
+
});
|
|
1469
1587
|
}
|
|
1470
1588
|
return Promise.resolve();
|
|
1471
1589
|
},
|
|
@@ -1502,6 +1620,7 @@ export default {
|
|
|
1502
1620
|
const scrollBodyElem = evnt.target;
|
|
1503
1621
|
const scrollTop = scrollBodyElem.scrollTop;
|
|
1504
1622
|
const scrollLeft = scrollBodyElem.scrollLeft;
|
|
1623
|
+
$xeSelect.updateThumbOffset();
|
|
1505
1624
|
const isX = scrollLeft !== internalData.lastScrollLeft;
|
|
1506
1625
|
const isY = scrollTop !== internalData.lastScrollTop;
|
|
1507
1626
|
internalData.lastScrollTop = scrollTop;
|
|
@@ -1591,6 +1710,29 @@ export default {
|
|
|
1591
1710
|
const { optGroupKeyMaps } = internalData;
|
|
1592
1711
|
return !!optGroupKeyMaps[optid];
|
|
1593
1712
|
},
|
|
1713
|
+
// 滚动条
|
|
1714
|
+
bindScrollbarResize() {
|
|
1715
|
+
const $xeSelect = this;
|
|
1716
|
+
const internalData = $xeSelect.internalData;
|
|
1717
|
+
const isVScrollbar = $xeSelect.computeIsVScrollbar;
|
|
1718
|
+
const { scrollObserver } = internalData;
|
|
1719
|
+
if (isVScrollbar) {
|
|
1720
|
+
if (!scrollObserver) {
|
|
1721
|
+
const el = $xeSelect.$refs.refElem;
|
|
1722
|
+
const viewInnerEl = $xeSelect.$refs.refVirtualSpaceElem;
|
|
1723
|
+
const scrollObserver = globalResize.create(() => {
|
|
1724
|
+
$xeSelect.reScrollFlag++;
|
|
1725
|
+
});
|
|
1726
|
+
if (el) {
|
|
1727
|
+
scrollObserver.observe(el);
|
|
1728
|
+
}
|
|
1729
|
+
if (viewInnerEl) {
|
|
1730
|
+
scrollObserver.observe(viewInnerEl);
|
|
1731
|
+
}
|
|
1732
|
+
internalData.scrollObserver = scrollObserver;
|
|
1733
|
+
}
|
|
1734
|
+
}
|
|
1735
|
+
},
|
|
1594
1736
|
//
|
|
1595
1737
|
// Render
|
|
1596
1738
|
//
|
|
@@ -1797,8 +1939,9 @@ export default {
|
|
|
1797
1939
|
const slots = $xeSelect.$scopedSlots;
|
|
1798
1940
|
const reactData = $xeSelect.reactData;
|
|
1799
1941
|
const { className, multiple, loading, filterable, showTotalButton, showCheckedButton, showClearButton, showCloseButton } = props;
|
|
1800
|
-
const { initialized, isActivated, isAniVisible, optList, visiblePanel, bodyHeight, topSpaceHeight } = reactData;
|
|
1942
|
+
const { initialized, isActivated, isAniVisible, optList, visiblePanel, bodyHeight, topSpaceHeight, xThumbWidth, yThumbHeight } = reactData;
|
|
1801
1943
|
const vSize = $xeSelect.computeSize;
|
|
1944
|
+
const isVScrollbar = $xeSelect.computeIsVScrollbar;
|
|
1802
1945
|
const isDisabled = $xeSelect.computeIsDisabled;
|
|
1803
1946
|
const selectLabel = $xeSelect.computeSelectLabel;
|
|
1804
1947
|
const fullLabel = $xeSelect.computeFullLabel;
|
|
@@ -1831,6 +1974,14 @@ export default {
|
|
|
1831
1974
|
const footerSlot = slots.footer;
|
|
1832
1975
|
const prefixSlot = slots.prefix;
|
|
1833
1976
|
const ppClassName = popupOpts.className || props.popupClassName;
|
|
1977
|
+
const scrollbarOpts = $xeSelect.computeScrollbarOpts;
|
|
1978
|
+
const scrollXVisible = $xeSelect.computeScrollXVisible;
|
|
1979
|
+
const scrollYVisible = $xeSelect.computeScrollYVisible;
|
|
1980
|
+
const scrollbarXToTop = $xeSelect.computeScrollbarXToTop;
|
|
1981
|
+
const scrollbarYToLeft = $xeSelect.computeScrollbarYToLeft;
|
|
1982
|
+
const scrollXAutoHide = $xeSelect.computeScrollXAutoHide;
|
|
1983
|
+
const scrollYAutoHide = $xeSelect.computeScrollYAutoHide;
|
|
1984
|
+
const scrollbarWrapperClss = $xeSelect.computeScrollbarWrapperClss;
|
|
1834
1985
|
return h('div', {
|
|
1835
1986
|
ref: 'refElem',
|
|
1836
1987
|
class: ['vxe-select', className ? (XEUtils.isFunction(className) ? className({ $select: $xeSelect }) : className) : '', {
|
|
@@ -1956,7 +2107,21 @@ export default {
|
|
|
1956
2107
|
])
|
|
1957
2108
|
: renderEmptyElement($xeSelect),
|
|
1958
2109
|
h('div', {
|
|
1959
|
-
class:
|
|
2110
|
+
class: [
|
|
2111
|
+
'vxe-select--panel-body',
|
|
2112
|
+
isVScrollbar ? `ov-x--${scrollXVisible === false ? 'hidden' : 'visible'}` : '',
|
|
2113
|
+
isVScrollbar ? `ov-y--${scrollYVisible === false ? 'hidden' : 'visible'}` : '',
|
|
2114
|
+
isVScrollbar ? `sx-pos--${scrollbarXToTop ? 'top' : 'bottom'}` : '',
|
|
2115
|
+
isVScrollbar ? `sy-pos--${scrollbarYToLeft ? 'left' : 'right'}` : '',
|
|
2116
|
+
{
|
|
2117
|
+
'is--virtual-scrollbar': isVScrollbar,
|
|
2118
|
+
'ov-padding': isVScrollbar && scrollbarOpts.padding,
|
|
2119
|
+
'ov-x--auto-hide': isVScrollbar && scrollXAutoHide,
|
|
2120
|
+
'ov-y--auto-hide': isVScrollbar && scrollYAutoHide,
|
|
2121
|
+
'overflow-y': yThumbHeight,
|
|
2122
|
+
'overflow-x': xThumbWidth
|
|
2123
|
+
}
|
|
2124
|
+
]
|
|
1960
2125
|
}, [
|
|
1961
2126
|
h('div', {
|
|
1962
2127
|
ref: 'refVirtualWrapper',
|
|
@@ -1966,6 +2131,7 @@ export default {
|
|
|
1966
2131
|
}
|
|
1967
2132
|
}, [
|
|
1968
2133
|
h('div', {
|
|
2134
|
+
ref: 'refVirtualSpaceElem',
|
|
1969
2135
|
class: 'vxe-select--y-space',
|
|
1970
2136
|
style: {
|
|
1971
2137
|
height: bodyHeight ? `${bodyHeight}px` : ''
|
|
@@ -1978,7 +2144,58 @@ export default {
|
|
|
1978
2144
|
transform: `translateY(${topSpaceHeight}px)`
|
|
1979
2145
|
}
|
|
1980
2146
|
}, $xeSelect.renderOpts(h))
|
|
1981
|
-
])
|
|
2147
|
+
]),
|
|
2148
|
+
/**
|
|
2149
|
+
* 滚动条
|
|
2150
|
+
*/
|
|
2151
|
+
isVScrollbar
|
|
2152
|
+
? h('div', {
|
|
2153
|
+
class: scrollbarWrapperClss
|
|
2154
|
+
}, [
|
|
2155
|
+
scrollXVisible === false
|
|
2156
|
+
? renderEmptyElement($xeSelect)
|
|
2157
|
+
: h('div', {
|
|
2158
|
+
ref: 'refTrackXElem',
|
|
2159
|
+
class: 'vxe-scrollbar--track-x',
|
|
2160
|
+
on: {
|
|
2161
|
+
click: $xeSelect.clickTrackXEvent
|
|
2162
|
+
}
|
|
2163
|
+
}, [
|
|
2164
|
+
h('div', {
|
|
2165
|
+
ref: 'refThumbXElem',
|
|
2166
|
+
class: 'vxe-scrollbar--thumb-x',
|
|
2167
|
+
on: {
|
|
2168
|
+
pointerdown: $xeSelect.pointerdownThumbXEvent,
|
|
2169
|
+
pointermove: $xeSelect.pointermoveThumbXEvent,
|
|
2170
|
+
pointerup: $xeSelect.cleatPointerThumbEvent,
|
|
2171
|
+
pointercancel: $xeSelect.cleatPointerThumbEvent,
|
|
2172
|
+
lostpointercapture: $xeSelect.cleatPointerThumbEvent
|
|
2173
|
+
}
|
|
2174
|
+
})
|
|
2175
|
+
]),
|
|
2176
|
+
scrollYVisible === false
|
|
2177
|
+
? renderEmptyElement($xeSelect)
|
|
2178
|
+
: h('div', {
|
|
2179
|
+
ref: 'refTrackYElem',
|
|
2180
|
+
class: 'vxe-scrollbar--track-y',
|
|
2181
|
+
on: {
|
|
2182
|
+
click: $xeSelect.clickTrackYEvent
|
|
2183
|
+
}
|
|
2184
|
+
}, [
|
|
2185
|
+
h('div', {
|
|
2186
|
+
ref: 'refThumbYElem',
|
|
2187
|
+
class: 'vxe-scrollbar--thumb-y',
|
|
2188
|
+
on: {
|
|
2189
|
+
pointerdown: $xeSelect.pointerdownThumbYEvent,
|
|
2190
|
+
pointermove: $xeSelect.pointermoveThumbYEvent,
|
|
2191
|
+
pointerup: $xeSelect.cleatPointerThumbEvent,
|
|
2192
|
+
pointercancel: $xeSelect.cleatPointerThumbEvent,
|
|
2193
|
+
lostpointercapture: $xeSelect.cleatPointerThumbEvent
|
|
2194
|
+
}
|
|
2195
|
+
})
|
|
2196
|
+
])
|
|
2197
|
+
])
|
|
2198
|
+
: renderEmptyElement($xeSelect)
|
|
1982
2199
|
]),
|
|
1983
2200
|
footerSlot || showTotalButton || (showCloseButton && multiple)
|
|
1984
2201
|
? h('div', {
|
|
@@ -2030,6 +2247,47 @@ export default {
|
|
|
2030
2247
|
optionGroups(val) {
|
|
2031
2248
|
const $xeSelect = this;
|
|
2032
2249
|
$xeSelect.loadData(val);
|
|
2250
|
+
},
|
|
2251
|
+
computeIsVScrollbar() {
|
|
2252
|
+
const $xeSelect = this;
|
|
2253
|
+
$xeSelect.$nextTick(() => {
|
|
2254
|
+
$xeSelect.bindScrollbarResize();
|
|
2255
|
+
$xeSelect.$nextTick(() => {
|
|
2256
|
+
$xeSelect.reLayoutFlag++;
|
|
2257
|
+
});
|
|
2258
|
+
});
|
|
2259
|
+
},
|
|
2260
|
+
computeScrollYWidth() {
|
|
2261
|
+
const $xeSelect = this;
|
|
2262
|
+
$xeSelect.reLayoutFlag++;
|
|
2263
|
+
},
|
|
2264
|
+
computeScrollXHeight() {
|
|
2265
|
+
const $xeSelect = this;
|
|
2266
|
+
$xeSelect.reLayoutFlag++;
|
|
2267
|
+
},
|
|
2268
|
+
computeScrollXVisible() {
|
|
2269
|
+
const $xeSelect = this;
|
|
2270
|
+
$xeSelect.$nextTick(() => {
|
|
2271
|
+
$xeSelect.reLayoutFlag++;
|
|
2272
|
+
});
|
|
2273
|
+
},
|
|
2274
|
+
computeScrollYVisible() {
|
|
2275
|
+
const $xeSelect = this;
|
|
2276
|
+
$xeSelect.$nextTick(() => {
|
|
2277
|
+
$xeSelect.reLayoutFlag++;
|
|
2278
|
+
});
|
|
2279
|
+
},
|
|
2280
|
+
reLayoutFlag() {
|
|
2281
|
+
const $xeSelect = this;
|
|
2282
|
+
$xeSelect.recalculate().then(() => {
|
|
2283
|
+
$xeSelect.recalculate();
|
|
2284
|
+
});
|
|
2285
|
+
},
|
|
2286
|
+
reScrollFlag() {
|
|
2287
|
+
const $xeSelect = this;
|
|
2288
|
+
$xeSelect.updateScrollbar().then(() => {
|
|
2289
|
+
$xeSelect.updateScrollbar();
|
|
2290
|
+
});
|
|
2033
2291
|
}
|
|
2034
2292
|
},
|
|
2035
2293
|
created() {
|
|
@@ -2048,6 +2306,8 @@ export default {
|
|
|
2048
2306
|
$xeSelect.loadData(options);
|
|
2049
2307
|
}
|
|
2050
2308
|
});
|
|
2309
|
+
$xeSelect.reLayoutFlag++;
|
|
2310
|
+
$xeSelect.bindScrollbarResize();
|
|
2051
2311
|
globalEvents.on($xeSelect, 'mousedown', $xeSelect.handleGlobalMousedownEvent);
|
|
2052
2312
|
globalEvents.on($xeSelect, 'keydown', $xeSelect.handleGlobalKeydownEvent);
|
|
2053
2313
|
globalEvents.on($xeSelect, 'blur', $xeSelect.handleGlobalBlurEvent);
|
|
@@ -2056,10 +2316,15 @@ export default {
|
|
|
2056
2316
|
},
|
|
2057
2317
|
beforeDestroy() {
|
|
2058
2318
|
const $xeSelect = this;
|
|
2319
|
+
const internalData = $xeSelect.internalData;
|
|
2320
|
+
const { scrollObserver } = internalData;
|
|
2059
2321
|
const panelElem = $xeSelect.$refs.refOptionPanel;
|
|
2060
2322
|
if (panelElem && panelElem.parentNode) {
|
|
2061
2323
|
panelElem.parentNode.removeChild(panelElem);
|
|
2062
2324
|
}
|
|
2325
|
+
if (scrollObserver) {
|
|
2326
|
+
scrollObserver.disconnect();
|
|
2327
|
+
}
|
|
2063
2328
|
globalEvents.off($xeSelect, 'mousedown');
|
|
2064
2329
|
globalEvents.off($xeSelect, 'keydown');
|
|
2065
2330
|
globalEvents.off($xeSelect, 'blur');
|
package/es/select/style.css
CHANGED
|
@@ -144,6 +144,7 @@
|
|
|
144
144
|
}
|
|
145
145
|
|
|
146
146
|
.vxe-select--panel-body {
|
|
147
|
+
position: relative;
|
|
147
148
|
display: flex;
|
|
148
149
|
flex-direction: row;
|
|
149
150
|
flex-grow: 1;
|
|
@@ -379,4 +380,47 @@
|
|
|
379
380
|
.vxe-select--search-loading,
|
|
380
381
|
.vxe-select--empty-placeholder {
|
|
381
382
|
line-height: var(--vxe-ui-select-current-option-height);
|
|
383
|
+
}
|
|
384
|
+
|
|
385
|
+
.vxe-select--panel-body.ov-padding.overflow-x.sx-pos--top {
|
|
386
|
+
padding-top: var(--vxe-ui-scrollbar-x-height);
|
|
387
|
+
}
|
|
388
|
+
.vxe-select--panel-body.ov-padding.overflow-x.sx-pos--bottom {
|
|
389
|
+
padding-bottom: var(--vxe-ui-scrollbar-x-height);
|
|
390
|
+
}
|
|
391
|
+
.vxe-select--panel-body.ov-padding.overflow-y.sy-pos--left {
|
|
392
|
+
padding-left: var(--vxe-ui-scrollbar-y-width);
|
|
393
|
+
}
|
|
394
|
+
.vxe-select--panel-body.ov-padding.overflow-y.sy-pos--right {
|
|
395
|
+
padding-right: var(--vxe-ui-scrollbar-y-width);
|
|
396
|
+
}
|
|
397
|
+
.vxe-select--panel-body.ov-x--hidden > .vxe-select-option--wrapper {
|
|
398
|
+
overflow-x: hidden;
|
|
399
|
+
}
|
|
400
|
+
.vxe-select--panel-body.ov-y--hidden > .vxe-select-option--wrapper {
|
|
401
|
+
overflow-y: hidden;
|
|
402
|
+
}
|
|
403
|
+
.vxe-select--panel-body.is--virtual-scrollbar.ov-x--auto-hide:hover > .vxe-scrollbar > .vxe-scrollbar--track-x {
|
|
404
|
+
opacity: 1;
|
|
405
|
+
}
|
|
406
|
+
.vxe-select--panel-body.is--virtual-scrollbar.ov-x--auto-hide > .vxe-scrollbar > .vxe-scrollbar--track-x {
|
|
407
|
+
opacity: 0;
|
|
408
|
+
transition: opacity 0.8s ease-in-out;
|
|
409
|
+
}
|
|
410
|
+
.vxe-select--panel-body.is--virtual-scrollbar.ov-y--auto-hide:hover > .vxe-scrollbar > .vxe-scrollbar--track-y {
|
|
411
|
+
opacity: 1;
|
|
412
|
+
}
|
|
413
|
+
.vxe-select--panel-body.is--virtual-scrollbar.ov-y--auto-hide > .vxe-scrollbar > .vxe-scrollbar--track-y {
|
|
414
|
+
opacity: 0;
|
|
415
|
+
transition: opacity 0.8s ease-in-out;
|
|
416
|
+
}
|
|
417
|
+
.vxe-select--panel-body > .vxe-scrollbar {
|
|
418
|
+
position: unset;
|
|
419
|
+
}
|
|
420
|
+
.vxe-select--panel-body.is--virtual-scrollbar > .vxe-select-option--wrapper {
|
|
421
|
+
scrollbar-width: none;
|
|
422
|
+
-ms-overflow-style: none;
|
|
423
|
+
}
|
|
424
|
+
.vxe-select--panel-body.is--virtual-scrollbar > .vxe-select-option--wrapper::-webkit-scrollbar {
|
|
425
|
+
display: none;
|
|
382
426
|
}
|
package/es/select/style.min.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.vxe-select,.vxe-select--panel{--vxe-ui-select-current-font-size:var(--vxe-ui-font-size-default);--vxe-ui-select-current-option-height:var(--vxe-ui-select-option-height-default)}.vxe-select--panel.size--xlarge,.vxe-select.size--xlarge{--vxe-ui-select-current-font-size:var(--vxe-ui-font-size-xlarge);--vxe-ui-select-current-option-height:var(--vxe-ui-select-option-height-xlarge)}.vxe-select--panel.size--large,.vxe-select.size--large{--vxe-ui-select-current-font-size:var(--vxe-ui-font-size-large);--vxe-ui-select-current-option-height:var(--vxe-ui-select-option-height-large)}.vxe-select--panel.size--medium,.vxe-select.size--medium{--vxe-ui-select-current-font-size:var(--vxe-ui-font-size-medium);--vxe-ui-select-current-option-height:var(--vxe-ui-select-option-height-medium)}.vxe-select--panel.size--small,.vxe-select.size--small{--vxe-ui-select-current-font-size:var(--vxe-ui-font-size-small);--vxe-ui-select-current-option-height:var(--vxe-ui-select-option-height-small)}.vxe-select--panel.size--mini,.vxe-select.size--mini{--vxe-ui-select-current-font-size:var(--vxe-ui-font-size-mini);--vxe-ui-select-current-option-height:var(--vxe-ui-select-option-height-mini)}.vxe-select,.vxe-select--panel{--vxe-ui-select-current-padding:var(--vxe-ui-layout-padding-default)}.vxe-select--panel.size--mini,.vxe-select--panel.size--small,.vxe-select.size--mini,.vxe-select.size--small{--vxe-ui-select-current-padding:var(--vxe-ui-layout-padding-half)}.vxe-select{position:relative;display:inline-block;width:180px;font-size:var(--vxe-ui-select-current-font-size);color:var(--vxe-ui-font-color);text-align:left}.vxe-select>.vxe-input .vxe-input--inner{cursor:pointer}.vxe-select.is--disabled>.vxe-input .vxe-input--inner{cursor:no-drop}.vxe-select.is--loading>.vxe-input .vxe-input--inner{cursor:progress}.vxe-select>.vxe-input{width:100%}.vxe-select>.vxe-input .vxe-input--suffix-icon>i{display:inline-block;transition:transform .2s ease-in-out}.vxe-select.is--active:not(.is--filter)>.vxe-input{border-color:var(--vxe-ui-font-primary-color)}.vxe-select--readonly{color:var(--vxe-ui-font-color);display:inline-flex}.vxe-select-slots{display:none}.vxe-select--panel{font-size:var(--vxe-ui-select-current-font-size);display:none;position:absolute;left:0;padding:4px 0;color:var(--vxe-ui-font-color);text-align:left}.vxe-select--panel:not(.is--transfer){min-width:100%}.vxe-select--panel.is--transfer{position:fixed}.vxe-select--panel.ani--leave{display:block;opacity:0;transform:scaleY(.5);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transform-origin:center top;backface-visibility:hidden}.vxe-select--panel.ani--leave[placement=top]{transform-origin:center bottom}.vxe-select--panel.ani--enter{opacity:1;transform:scaleY(1)}.vxe-select--panel.ani--enter>div::after{display:none}.vxe-select--panel>div::after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.vxe-select--panel-search{display:block;flex-shrink:0;padding:var(--vxe-ui-layout-padding-default)}.vxe-select--panel-search .vxe-select-search--input{width:100%}.vxe-select--panel-wrapper{display:flex;flex-direction:column;position:relative;max-height:18em;border-radius:var(--vxe-ui-base-border-radius);border:1px solid var(--vxe-ui-base-popup-border-color);box-shadow:var(--vxe-ui-base-popup-box-shadow);background-color:var(--vxe-ui-layout-background-color)}.vxe-select--panel-body{display:flex;flex-direction:row;flex-grow:1;overflow:hidden}.vxe-select--header-button{display:flex;flex-direction:row}.vxe-select--footer-button,.vxe-select--header-button{display:flex;flex-direction:row;white-space:nowrap;align-items:center;min-height:2em}.vxe-select--total-btns{padding-left:var(--vxe-ui-select-current-padding);flex-grow:1}.vxe-select--oper-btns,.vxe-select--total-btns{display:flex;flex-direction:row;align-items:center}.vxe-select--oper-btns{flex-shrink:0}.vxe-select--footer-button{display:flex;flex-direction:row}.vxe-select--panel-header{border-bottom:1px solid var(--vxe-ui-base-popup-border-color)}.vxe-select--panel-footer{border-top:1px solid var(--vxe-ui-base-popup-border-color)}.vxe-select--panel-footer,.vxe-select--panel-header{flex-shrink:0;padding:4px 0}.vxe-select-option--wrapper{flex-grow:1;position:relative;overflow-x:hidden;overflow-y:auto}.vxe-select--y-space{width:0;float:left}.vxe-select--body,.vxe-select-option--wrapper{padding:0;margin:0;border:0;outline:0}.vxe-select-option{position:relative;flex-direction:row;display:flex;padding:0 .6em;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer}.vxe-select-option.is--add{padding-right:2em}.vxe-select-option.is--add:hover .vxe-select-option--add-icon{color:var(--vxe-ui-font-primary-color)}.vxe-select-option.is--add .vxe-select-option--add-icon{display:block}.vxe-select-option.is--selected{color:var(--vxe-ui-font-primary-color)}.vxe-select-option:not(.is--disabled).is--hover{background-color:var(--vxe-ui-select-option-hover-background-color)}.vxe-select-option.is--disabled{color:var(--vxe-ui-font-disabled-color);cursor:no-drop}.vxe-select-optgroup{color:var(--vxe-ui-select-title-color);font-size:12px;cursor:default}.vxe-select-option--label{flex-grow:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vxe-select-option--add-icon{display:none;position:absolute;top:0;right:.6em}.vxe-select-option--checkbox{padding-right:.4em}.vxe-select-option--checkbox{cursor:pointer}.vxe-select-option--checkbox .vxe-checkbox--icon{font-size:1.22em;transition:all .2s ease-in-out}.vxe-select-option--checkbox .vxe-checkbox--icon{color:var(--vxe-ui-input-border-color);vertical-align:middle;font-weight:700;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.vxe-select-option--checkbox.is--checked,.vxe-select-option--checkbox.is--indeterminate{color:var(--vxe-ui-font-primary-color)}.vxe-select-option--checkbox.is--checked .vxe-checkbox--icon,.vxe-select-option--checkbox.is--indeterminate .vxe-checkbox--icon{color:var(--vxe-ui-font-primary-color)}.vxe-select-option--checkbox:not(.is--disabled):hover .vxe-checkbox--icon{color:var(--vxe-ui-font-primary-color)}.vxe-select-option--checkbox.is--hidden{cursor:default}.vxe-select-option--checkbox.is--readonly{cursor:auto}.vxe-select-option--checkbox.is--disabled{color:var(--vxe-ui-font-disabled-color);cursor:not-allowed}.vxe-select-option--checkbox.is--disabled .vxe-checkbox--icon{color:var(--vxe-ui-input-disabled-color)}.vxe-select-option--checkbox .vxe-checkbox--label{padding-left:.4em;vertical-align:middle}.vxe-select-option--radio{padding-right:.4em}.vxe-select-option--radio{cursor:pointer}.vxe-select-option--radio .vxe-radio--icon{font-size:1.26em;transition:all .2s ease-in-out}.vxe-select-option--radio .vxe-radio--icon{color:var(--vxe-ui-input-border-color);border-radius:50%;vertical-align:middle;font-weight:700;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.vxe-select-option--radio.is--checked{color:var(--vxe-ui-font-primary-color)}.vxe-select-option--radio.is--checked .vxe-radio--icon{color:var(--vxe-ui-font-primary-color)}.vxe-select-option--radio:not(.is--disabled):hover .vxe-radio--icon{color:var(--vxe-ui-font-primary-color)}.vxe-select-option--radio.is--readonly{cursor:auto}.vxe-select-option--radio.is--disabled{color:var(--vxe-ui-font-disabled-color);cursor:not-allowed}.vxe-select-option--radio.is--disabled .vxe-radio--icon{color:var(--vxe-ui-input-disabled-color)}.vxe-select-option--radio .vxe-radio--label{padding-left:.4em;vertical-align:middle}.vxe-select--search-icon{margin-right:.5em}.vxe-select--empty-placeholder,.vxe-select--search-loading{padding:0 .6em;text-align:center;color:var(--vxe-ui-select-empty-color)}.vxe-select-option{height:var(--vxe-ui-select-current-option-height)}.vxe-select--empty-placeholder,.vxe-select--search-loading,.vxe-select-option{line-height:var(--vxe-ui-select-current-option-height)}
|
|
1
|
+
.vxe-select,.vxe-select--panel{--vxe-ui-select-current-font-size:var(--vxe-ui-font-size-default);--vxe-ui-select-current-option-height:var(--vxe-ui-select-option-height-default)}.vxe-select--panel.size--xlarge,.vxe-select.size--xlarge{--vxe-ui-select-current-font-size:var(--vxe-ui-font-size-xlarge);--vxe-ui-select-current-option-height:var(--vxe-ui-select-option-height-xlarge)}.vxe-select--panel.size--large,.vxe-select.size--large{--vxe-ui-select-current-font-size:var(--vxe-ui-font-size-large);--vxe-ui-select-current-option-height:var(--vxe-ui-select-option-height-large)}.vxe-select--panel.size--medium,.vxe-select.size--medium{--vxe-ui-select-current-font-size:var(--vxe-ui-font-size-medium);--vxe-ui-select-current-option-height:var(--vxe-ui-select-option-height-medium)}.vxe-select--panel.size--small,.vxe-select.size--small{--vxe-ui-select-current-font-size:var(--vxe-ui-font-size-small);--vxe-ui-select-current-option-height:var(--vxe-ui-select-option-height-small)}.vxe-select--panel.size--mini,.vxe-select.size--mini{--vxe-ui-select-current-font-size:var(--vxe-ui-font-size-mini);--vxe-ui-select-current-option-height:var(--vxe-ui-select-option-height-mini)}.vxe-select,.vxe-select--panel{--vxe-ui-select-current-padding:var(--vxe-ui-layout-padding-default)}.vxe-select--panel.size--mini,.vxe-select--panel.size--small,.vxe-select.size--mini,.vxe-select.size--small{--vxe-ui-select-current-padding:var(--vxe-ui-layout-padding-half)}.vxe-select{position:relative;display:inline-block;width:180px;font-size:var(--vxe-ui-select-current-font-size);color:var(--vxe-ui-font-color);text-align:left}.vxe-select>.vxe-input .vxe-input--inner{cursor:pointer}.vxe-select.is--disabled>.vxe-input .vxe-input--inner{cursor:no-drop}.vxe-select.is--loading>.vxe-input .vxe-input--inner{cursor:progress}.vxe-select>.vxe-input{width:100%}.vxe-select>.vxe-input .vxe-input--suffix-icon>i{display:inline-block;transition:transform .2s ease-in-out}.vxe-select.is--active:not(.is--filter)>.vxe-input{border-color:var(--vxe-ui-font-primary-color)}.vxe-select--readonly{color:var(--vxe-ui-font-color);display:inline-flex}.vxe-select-slots{display:none}.vxe-select--panel{font-size:var(--vxe-ui-select-current-font-size);display:none;position:absolute;left:0;padding:4px 0;color:var(--vxe-ui-font-color);text-align:left}.vxe-select--panel:not(.is--transfer){min-width:100%}.vxe-select--panel.is--transfer{position:fixed}.vxe-select--panel.ani--leave{display:block;opacity:0;transform:scaleY(.5);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transform-origin:center top;backface-visibility:hidden}.vxe-select--panel.ani--leave[placement=top]{transform-origin:center bottom}.vxe-select--panel.ani--enter{opacity:1;transform:scaleY(1)}.vxe-select--panel.ani--enter>div::after{display:none}.vxe-select--panel>div::after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.vxe-select--panel-search{display:block;flex-shrink:0;padding:var(--vxe-ui-layout-padding-default)}.vxe-select--panel-search .vxe-select-search--input{width:100%}.vxe-select--panel-wrapper{display:flex;flex-direction:column;position:relative;max-height:18em;border-radius:var(--vxe-ui-base-border-radius);border:1px solid var(--vxe-ui-base-popup-border-color);box-shadow:var(--vxe-ui-base-popup-box-shadow);background-color:var(--vxe-ui-layout-background-color)}.vxe-select--panel-body{position:relative;display:flex;flex-direction:row;flex-grow:1;overflow:hidden}.vxe-select--header-button{display:flex;flex-direction:row}.vxe-select--footer-button,.vxe-select--header-button{display:flex;flex-direction:row;white-space:nowrap;align-items:center;min-height:2em}.vxe-select--total-btns{padding-left:var(--vxe-ui-select-current-padding);flex-grow:1}.vxe-select--oper-btns,.vxe-select--total-btns{display:flex;flex-direction:row;align-items:center}.vxe-select--oper-btns{flex-shrink:0}.vxe-select--footer-button{display:flex;flex-direction:row}.vxe-select--panel-header{border-bottom:1px solid var(--vxe-ui-base-popup-border-color)}.vxe-select--panel-footer{border-top:1px solid var(--vxe-ui-base-popup-border-color)}.vxe-select--panel-footer,.vxe-select--panel-header{flex-shrink:0;padding:4px 0}.vxe-select-option--wrapper{flex-grow:1;position:relative;overflow-x:hidden;overflow-y:auto}.vxe-select--y-space{width:0;float:left}.vxe-select--body,.vxe-select-option--wrapper{padding:0;margin:0;border:0;outline:0}.vxe-select-option{position:relative;flex-direction:row;display:flex;padding:0 .6em;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer}.vxe-select-option.is--add{padding-right:2em}.vxe-select-option.is--add:hover .vxe-select-option--add-icon{color:var(--vxe-ui-font-primary-color)}.vxe-select-option.is--add .vxe-select-option--add-icon{display:block}.vxe-select-option.is--selected{color:var(--vxe-ui-font-primary-color)}.vxe-select-option:not(.is--disabled).is--hover{background-color:var(--vxe-ui-select-option-hover-background-color)}.vxe-select-option.is--disabled{color:var(--vxe-ui-font-disabled-color);cursor:no-drop}.vxe-select-optgroup{color:var(--vxe-ui-select-title-color);font-size:12px;cursor:default}.vxe-select-option--label{flex-grow:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vxe-select-option--add-icon{display:none;position:absolute;top:0;right:.6em}.vxe-select-option--checkbox{padding-right:.4em}.vxe-select-option--checkbox{cursor:pointer}.vxe-select-option--checkbox .vxe-checkbox--icon{font-size:1.22em;transition:all .2s ease-in-out}.vxe-select-option--checkbox .vxe-checkbox--icon{color:var(--vxe-ui-input-border-color);vertical-align:middle;font-weight:700;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.vxe-select-option--checkbox.is--checked,.vxe-select-option--checkbox.is--indeterminate{color:var(--vxe-ui-font-primary-color)}.vxe-select-option--checkbox.is--checked .vxe-checkbox--icon,.vxe-select-option--checkbox.is--indeterminate .vxe-checkbox--icon{color:var(--vxe-ui-font-primary-color)}.vxe-select-option--checkbox:not(.is--disabled):hover .vxe-checkbox--icon{color:var(--vxe-ui-font-primary-color)}.vxe-select-option--checkbox.is--hidden{cursor:default}.vxe-select-option--checkbox.is--readonly{cursor:auto}.vxe-select-option--checkbox.is--disabled{color:var(--vxe-ui-font-disabled-color);cursor:not-allowed}.vxe-select-option--checkbox.is--disabled .vxe-checkbox--icon{color:var(--vxe-ui-input-disabled-color)}.vxe-select-option--checkbox .vxe-checkbox--label{padding-left:.4em;vertical-align:middle}.vxe-select-option--radio{padding-right:.4em}.vxe-select-option--radio{cursor:pointer}.vxe-select-option--radio .vxe-radio--icon{font-size:1.26em;transition:all .2s ease-in-out}.vxe-select-option--radio .vxe-radio--icon{color:var(--vxe-ui-input-border-color);border-radius:50%;vertical-align:middle;font-weight:700;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.vxe-select-option--radio.is--checked{color:var(--vxe-ui-font-primary-color)}.vxe-select-option--radio.is--checked .vxe-radio--icon{color:var(--vxe-ui-font-primary-color)}.vxe-select-option--radio:not(.is--disabled):hover .vxe-radio--icon{color:var(--vxe-ui-font-primary-color)}.vxe-select-option--radio.is--readonly{cursor:auto}.vxe-select-option--radio.is--disabled{color:var(--vxe-ui-font-disabled-color);cursor:not-allowed}.vxe-select-option--radio.is--disabled .vxe-radio--icon{color:var(--vxe-ui-input-disabled-color)}.vxe-select-option--radio .vxe-radio--label{padding-left:.4em;vertical-align:middle}.vxe-select--search-icon{margin-right:.5em}.vxe-select--empty-placeholder,.vxe-select--search-loading{padding:0 .6em;text-align:center;color:var(--vxe-ui-select-empty-color)}.vxe-select-option{height:var(--vxe-ui-select-current-option-height)}.vxe-select--empty-placeholder,.vxe-select--search-loading,.vxe-select-option{line-height:var(--vxe-ui-select-current-option-height)}.vxe-select--panel-body.ov-padding.overflow-x.sx-pos--top{padding-top:var(--vxe-ui-scrollbar-x-height)}.vxe-select--panel-body.ov-padding.overflow-x.sx-pos--bottom{padding-bottom:var(--vxe-ui-scrollbar-x-height)}.vxe-select--panel-body.ov-padding.overflow-y.sy-pos--left{padding-left:var(--vxe-ui-scrollbar-y-width)}.vxe-select--panel-body.ov-padding.overflow-y.sy-pos--right{padding-right:var(--vxe-ui-scrollbar-y-width)}.vxe-select--panel-body.ov-x--hidden>.vxe-select-option--wrapper{overflow-x:hidden}.vxe-select--panel-body.ov-y--hidden>.vxe-select-option--wrapper{overflow-y:hidden}.vxe-select--panel-body.is--virtual-scrollbar.ov-x--auto-hide:hover>.vxe-scrollbar>.vxe-scrollbar--track-x{opacity:1}.vxe-select--panel-body.is--virtual-scrollbar.ov-x--auto-hide>.vxe-scrollbar>.vxe-scrollbar--track-x{opacity:0;transition:opacity .8s ease-in-out}.vxe-select--panel-body.is--virtual-scrollbar.ov-y--auto-hide:hover>.vxe-scrollbar>.vxe-scrollbar--track-y{opacity:1}.vxe-select--panel-body.is--virtual-scrollbar.ov-y--auto-hide>.vxe-scrollbar>.vxe-scrollbar--track-y{opacity:0;transition:opacity .8s ease-in-out}.vxe-select--panel-body>.vxe-scrollbar{position:unset}.vxe-select--panel-body.is--virtual-scrollbar>.vxe-select-option--wrapper{scrollbar-width:none;-ms-overflow-style:none}.vxe-select--panel-body.is--virtual-scrollbar>.vxe-select-option--wrapper::-webkit-scrollbar{display:none}
|