vxe-pc-ui 3.14.17 → 3.14.19
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/language/ar-EG.js +4 -2
- package/es/language/de-DE.js +4 -2
- package/es/language/en-US.js +4 -2
- package/es/language/es-ES.js +4 -2
- package/es/language/fr-FR.js +4 -2
- package/es/language/hu-HU.js +4 -2
- package/es/language/hy-AM.js +4 -2
- package/es/language/id-ID.js +4 -2
- package/es/language/it-IT.js +4 -2
- package/es/language/ja-JP.js +4 -2
- package/es/language/ko-KR.js +4 -2
- package/es/language/ms-MY.js +4 -2
- package/es/language/nb-NO.js +4 -2
- package/es/language/pt-BR.js +4 -2
- package/es/language/ru-RU.js +4 -2
- package/es/language/th-TH.js +4 -2
- package/es/language/ug-CN.js +4 -2
- package/es/language/uk-UA.js +4 -2
- package/es/language/uz-UZ.js +4 -2
- package/es/language/vi-VN.js +4 -2
- package/es/language/zh-CHT.js +4 -2
- package/es/language/zh-CN.js +4 -2
- package/es/select/src/select.js +192 -48
- package/es/select/style.css +121 -10
- package/es/select/style.min.css +1 -1
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/tree-select/src/tree-select.js +63 -20
- package/es/tree-select/style.css +8 -0
- package/es/tree-select/style.min.css +1 -1
- package/es/ui/index.js +10 -2
- package/es/ui/src/log.js +1 -1
- package/es/vxe-select/style.css +121 -10
- package/es/vxe-select/style.min.css +1 -1
- package/es/vxe-tree-select/style.css +8 -0
- package/es/vxe-tree-select/style.min.css +1 -1
- package/lib/index.umd.js +278 -69
- package/lib/index.umd.min.js +1 -1
- package/lib/language/ar-EG.js +4 -2
- package/lib/language/ar-EG.min.js +1 -1
- package/lib/language/ar-EG.umd.js +4 -2
- package/lib/language/de-DE.js +4 -2
- package/lib/language/de-DE.min.js +1 -1
- package/lib/language/de-DE.umd.js +4 -2
- package/lib/language/en-US.js +4 -2
- package/lib/language/en-US.min.js +1 -1
- package/lib/language/en-US.umd.js +4 -2
- package/lib/language/es-ES.js +4 -2
- package/lib/language/es-ES.min.js +1 -1
- package/lib/language/es-ES.umd.js +4 -2
- package/lib/language/fr-FR.js +4 -2
- package/lib/language/fr-FR.min.js +1 -1
- package/lib/language/fr-FR.umd.js +4 -2
- package/lib/language/hu-HU.js +4 -2
- package/lib/language/hu-HU.min.js +1 -1
- package/lib/language/hu-HU.umd.js +4 -2
- package/lib/language/hy-AM.js +4 -2
- package/lib/language/hy-AM.min.js +1 -1
- package/lib/language/hy-AM.umd.js +4 -2
- package/lib/language/id-ID.js +4 -2
- package/lib/language/id-ID.min.js +1 -1
- package/lib/language/id-ID.umd.js +4 -2
- package/lib/language/it-IT.js +4 -2
- package/lib/language/it-IT.min.js +1 -1
- package/lib/language/it-IT.umd.js +4 -2
- package/lib/language/ja-JP.js +4 -2
- package/lib/language/ja-JP.min.js +1 -1
- package/lib/language/ja-JP.umd.js +4 -2
- package/lib/language/ko-KR.js +4 -2
- package/lib/language/ko-KR.min.js +1 -1
- package/lib/language/ko-KR.umd.js +4 -2
- package/lib/language/ms-MY.js +4 -2
- package/lib/language/ms-MY.min.js +1 -1
- package/lib/language/ms-MY.umd.js +4 -2
- package/lib/language/nb-NO.js +4 -2
- package/lib/language/nb-NO.min.js +1 -1
- package/lib/language/nb-NO.umd.js +4 -2
- package/lib/language/pt-BR.js +4 -2
- package/lib/language/pt-BR.min.js +1 -1
- package/lib/language/pt-BR.umd.js +4 -2
- package/lib/language/ru-RU.js +4 -2
- package/lib/language/ru-RU.min.js +1 -1
- package/lib/language/ru-RU.umd.js +4 -2
- package/lib/language/th-TH.js +4 -2
- package/lib/language/th-TH.min.js +1 -1
- package/lib/language/th-TH.umd.js +4 -2
- package/lib/language/ug-CN.js +4 -2
- package/lib/language/ug-CN.min.js +1 -1
- package/lib/language/ug-CN.umd.js +4 -2
- package/lib/language/uk-UA.js +4 -2
- package/lib/language/uk-UA.min.js +1 -1
- package/lib/language/uk-UA.umd.js +4 -2
- package/lib/language/uz-UZ.js +4 -2
- package/lib/language/uz-UZ.min.js +1 -1
- package/lib/language/uz-UZ.umd.js +4 -2
- package/lib/language/vi-VN.js +4 -2
- package/lib/language/vi-VN.min.js +1 -1
- package/lib/language/vi-VN.umd.js +4 -2
- package/lib/language/zh-CHT.js +4 -2
- package/lib/language/zh-CHT.min.js +1 -1
- package/lib/language/zh-CHT.umd.js +4 -2
- package/lib/language/zh-CN.js +4 -2
- package/lib/language/zh-CN.min.js +1 -1
- package/lib/language/zh-CN.umd.js +4 -2
- package/lib/select/src/select.js +192 -44
- package/lib/select/src/select.min.js +1 -1
- package/lib/select/style/style.css +121 -10
- package/lib/select/style/style.min.css +1 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/tree-select/src/tree-select.js +71 -20
- package/lib/tree-select/src/tree-select.min.js +1 -1
- package/lib/tree-select/style/style.css +8 -0
- package/lib/tree-select/style/style.min.css +1 -1
- package/lib/ui/index.js +10 -2
- 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-select/style/style.css +121 -10
- package/lib/vxe-select/style/style.min.css +1 -1
- package/lib/vxe-tree-select/style/style.css +8 -0
- package/lib/vxe-tree-select/style/style.min.css +1 -1
- package/package.json +1 -1
- package/packages/language/ar-EG.ts +4 -2
- package/packages/language/de-DE.ts +4 -2
- package/packages/language/en-US.ts +4 -2
- package/packages/language/es-ES.ts +4 -2
- package/packages/language/fr-FR.ts +4 -2
- package/packages/language/hu-HU.ts +4 -2
- package/packages/language/hy-AM.ts +4 -2
- package/packages/language/id-ID.ts +4 -2
- package/packages/language/it-IT.ts +4 -2
- package/packages/language/ja-JP.ts +4 -2
- package/packages/language/ko-KR.ts +4 -2
- package/packages/language/ms-MY.ts +4 -2
- package/packages/language/nb-NO.ts +4 -2
- package/packages/language/pt-BR.ts +4 -2
- package/packages/language/ru-RU.ts +4 -2
- package/packages/language/th-TH.ts +4 -2
- package/packages/language/ug-CN.ts +4 -2
- package/packages/language/uk-UA.ts +4 -2
- package/packages/language/uz-UZ.ts +4 -2
- package/packages/language/vi-VN.ts +4 -2
- package/packages/language/zh-CHT.ts +4 -2
- package/packages/language/zh-CN.ts +4 -2
- package/packages/select/src/select.ts +210 -49
- package/packages/tree-select/src/tree-select.ts +65 -21
- package/packages/ui/index.ts +9 -1
- package/styles/components/select.scss +40 -10
- package/styles/components/tree-select.scss +7 -0
- package/styles/theme/dark.scss +3 -0
- package/styles/theme/light.scss +3 -0
- package/styles/variable.scss +3 -0
- package/types/components/select.d.ts +20 -0
- package/types/components/table.d.ts +4 -0
- package/types/components/tree-select.d.ts +22 -1
- /package/es/icon/{iconfont.1779331536287.ttf → iconfont.1779445582657.ttf} +0 -0
- /package/es/icon/{iconfont.1779331536287.woff → iconfont.1779445582657.woff} +0 -0
- /package/es/icon/{iconfont.1779331536287.woff2 → iconfont.1779445582657.woff2} +0 -0
- /package/es/{iconfont.1779331536287.ttf → iconfont.1779445582657.ttf} +0 -0
- /package/es/{iconfont.1779331536287.woff → iconfont.1779445582657.woff} +0 -0
- /package/es/{iconfont.1779331536287.woff2 → iconfont.1779445582657.woff2} +0 -0
- /package/lib/icon/style/{iconfont.1779331536287.ttf → iconfont.1779445582657.ttf} +0 -0
- /package/lib/icon/style/{iconfont.1779331536287.woff → iconfont.1779445582657.woff} +0 -0
- /package/lib/icon/style/{iconfont.1779331536287.woff2 → iconfont.1779445582657.woff2} +0 -0
- /package/lib/{iconfont.1779331536287.ttf → iconfont.1779445582657.ttf} +0 -0
- /package/lib/{iconfont.1779331536287.woff → iconfont.1779445582657.woff} +0 -0
- /package/lib/{iconfont.1779331536287.woff2 → iconfont.1779445582657.woff2} +0 -0
package/es/select/src/select.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { defineVxeComponent } from '../../ui/src/comp';
|
|
2
2
|
import XEUtils from 'xe-utils';
|
|
3
|
-
import { getConfig, getIcon, getI18n, globalEvents, GLOBAL_EVENT_KEYS, createEvent, globalMixins, renderEmptyElement } from '../../ui';
|
|
3
|
+
import { VxeUI, getConfig, getIcon, getI18n, globalEvents, GLOBAL_EVENT_KEYS, createEvent, globalMixins, renderEmptyElement } from '../../ui';
|
|
4
4
|
import { getEventTargetNode, 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';
|
|
@@ -86,6 +86,16 @@ export default {
|
|
|
86
86
|
type: [String, Number],
|
|
87
87
|
default: null
|
|
88
88
|
},
|
|
89
|
+
showRadio: {
|
|
90
|
+
type: Boolean,
|
|
91
|
+
default: () => getConfig().select.showRadio
|
|
92
|
+
},
|
|
93
|
+
radioConfig: Object,
|
|
94
|
+
showCheckbox: {
|
|
95
|
+
type: Boolean,
|
|
96
|
+
default: () => getConfig().select.showCheckedButoon
|
|
97
|
+
},
|
|
98
|
+
checkboxConfig: Object,
|
|
89
99
|
/**
|
|
90
100
|
* 已废弃,请使用 popupConfig.zIndex
|
|
91
101
|
* @deprecated
|
|
@@ -105,6 +115,18 @@ export default {
|
|
|
105
115
|
remote: Boolean,
|
|
106
116
|
remoteConfig: Object,
|
|
107
117
|
emptyText: String,
|
|
118
|
+
checkedClosable: {
|
|
119
|
+
type: Boolean,
|
|
120
|
+
default: () => getConfig().select.checkedClosable
|
|
121
|
+
},
|
|
122
|
+
clearClosable: {
|
|
123
|
+
type: Boolean,
|
|
124
|
+
default: () => getConfig().select.clearClosable
|
|
125
|
+
},
|
|
126
|
+
showCloseButton: {
|
|
127
|
+
type: Boolean,
|
|
128
|
+
default: () => getConfig().select.showCloseButton
|
|
129
|
+
},
|
|
108
130
|
showTotalButoon: {
|
|
109
131
|
type: Boolean,
|
|
110
132
|
default: () => getConfig().select.showTotalButoon
|
|
@@ -322,6 +344,16 @@ export default {
|
|
|
322
344
|
const props = $xeSelect;
|
|
323
345
|
return Object.assign({}, getConfig().select.optionConfig, props.optionConfig);
|
|
324
346
|
},
|
|
347
|
+
computeRadioOpts() {
|
|
348
|
+
const $xeSelect = this;
|
|
349
|
+
const props = $xeSelect;
|
|
350
|
+
return Object.assign({}, getConfig().select.radioConfig, props.radioConfig);
|
|
351
|
+
},
|
|
352
|
+
computeCheckboxOpts() {
|
|
353
|
+
const $xeSelect = this;
|
|
354
|
+
const props = $xeSelect;
|
|
355
|
+
return Object.assign({}, getConfig().select.checkboxConfig, props.checkboxConfig);
|
|
356
|
+
},
|
|
325
357
|
computeIsGroup() {
|
|
326
358
|
const $xeSelect = this;
|
|
327
359
|
const reactData = $xeSelect.reactData;
|
|
@@ -788,7 +820,7 @@ export default {
|
|
|
788
820
|
$xeSelect.dispatchEvent('visible-change', { visible: true }, null);
|
|
789
821
|
}
|
|
790
822
|
},
|
|
791
|
-
hideOptionPanel() {
|
|
823
|
+
hideOptionPanel(evnt) {
|
|
792
824
|
const $xeSelect = this;
|
|
793
825
|
const props = $xeSelect;
|
|
794
826
|
const reactData = $xeSelect.reactData;
|
|
@@ -814,7 +846,7 @@ export default {
|
|
|
814
846
|
internalData.hpTimeout = setTimeout(() => {
|
|
815
847
|
reactData.isAniVisible = false;
|
|
816
848
|
}, 350);
|
|
817
|
-
$xeSelect.dispatchEvent('visible-change', { visible: false }, null);
|
|
849
|
+
$xeSelect.dispatchEvent('visible-change', { visible: false }, evnt || null);
|
|
818
850
|
},
|
|
819
851
|
changeEvent(evnt, selectValue, option) {
|
|
820
852
|
const $xeSelect = this;
|
|
@@ -841,14 +873,14 @@ export default {
|
|
|
841
873
|
const $xeSelect = this;
|
|
842
874
|
const { $event } = params;
|
|
843
875
|
$xeSelect.clearValueEvent($event, null);
|
|
844
|
-
$xeSelect.hideOptionPanel();
|
|
876
|
+
$xeSelect.hideOptionPanel($event);
|
|
845
877
|
},
|
|
846
878
|
allCheckedPanelEvent(params) {
|
|
847
879
|
const $xeSelect = this;
|
|
848
880
|
const props = $xeSelect;
|
|
849
881
|
const reactData = $xeSelect.reactData;
|
|
850
882
|
const { $event } = params;
|
|
851
|
-
const { multiple } = props;
|
|
883
|
+
const { multiple, max, checkedClosable } = props;
|
|
852
884
|
const { optList } = reactData;
|
|
853
885
|
const valueField = $xeSelect.computeValueField;
|
|
854
886
|
if (multiple) {
|
|
@@ -859,6 +891,12 @@ export default {
|
|
|
859
891
|
const selectValue = option[valueField];
|
|
860
892
|
// 检测是否超过最大可选数量
|
|
861
893
|
if ($xeSelect.checkMaxLimit(currVlas)) {
|
|
894
|
+
if (VxeUI) {
|
|
895
|
+
VxeUI.modal.message({
|
|
896
|
+
content: getI18n('vxe.select.overSizeErr', [max]),
|
|
897
|
+
status: 'warning'
|
|
898
|
+
});
|
|
899
|
+
}
|
|
862
900
|
break;
|
|
863
901
|
}
|
|
864
902
|
if (!currVlas.some(val => val === selectValue)) {
|
|
@@ -866,14 +904,26 @@ export default {
|
|
|
866
904
|
}
|
|
867
905
|
}
|
|
868
906
|
$xeSelect.changeEvent($event, currVlas, optList[0]);
|
|
907
|
+
if (checkedClosable) {
|
|
908
|
+
$xeSelect.hideOptionPanel($event);
|
|
909
|
+
}
|
|
869
910
|
$xeSelect.dispatchEvent('all-change', { value: currVlas }, $event);
|
|
870
911
|
}
|
|
871
912
|
},
|
|
872
913
|
clearCheckedPanelEvent(params) {
|
|
873
914
|
const $xeSelect = this;
|
|
915
|
+
const props = $xeSelect;
|
|
916
|
+
const { clearClosable } = props;
|
|
874
917
|
const { $event } = params;
|
|
875
918
|
$xeSelect.clearValueEvent($event, null);
|
|
876
|
-
|
|
919
|
+
if (clearClosable) {
|
|
920
|
+
$xeSelect.hideOptionPanel($event);
|
|
921
|
+
}
|
|
922
|
+
},
|
|
923
|
+
closePanelEvent(params) {
|
|
924
|
+
const $xeSelect = this;
|
|
925
|
+
const { $event } = params;
|
|
926
|
+
$xeSelect.hideOptionPanel($event);
|
|
877
927
|
},
|
|
878
928
|
changeOptionEvent(evnt, option) {
|
|
879
929
|
const $xeSelect = this;
|
|
@@ -912,7 +962,7 @@ export default {
|
|
|
912
962
|
}
|
|
913
963
|
else {
|
|
914
964
|
$xeSelect.changeEvent(evnt, selectValue, option);
|
|
915
|
-
$xeSelect.hideOptionPanel();
|
|
965
|
+
$xeSelect.hideOptionPanel(evnt);
|
|
916
966
|
}
|
|
917
967
|
reactData.reactFlag++;
|
|
918
968
|
},
|
|
@@ -928,7 +978,7 @@ export default {
|
|
|
928
978
|
$xeSelect.updatePlacement();
|
|
929
979
|
}
|
|
930
980
|
else {
|
|
931
|
-
$xeSelect.hideOptionPanel();
|
|
981
|
+
$xeSelect.hideOptionPanel(evnt);
|
|
932
982
|
}
|
|
933
983
|
}
|
|
934
984
|
}
|
|
@@ -946,7 +996,7 @@ export default {
|
|
|
946
996
|
reactData.isActivated = getEventTargetNode(evnt, el).flag || getEventTargetNode(evnt, panelElem).flag;
|
|
947
997
|
if (visiblePanel && !reactData.isActivated) {
|
|
948
998
|
if (trigger !== 'manual') {
|
|
949
|
-
$xeSelect.hideOptionPanel();
|
|
999
|
+
$xeSelect.hideOptionPanel(evnt);
|
|
950
1000
|
}
|
|
951
1001
|
}
|
|
952
1002
|
}
|
|
@@ -1046,7 +1096,7 @@ export default {
|
|
|
1046
1096
|
if (visiblePanel) {
|
|
1047
1097
|
if (isEsc || isTab) {
|
|
1048
1098
|
if (trigger !== 'manual') {
|
|
1049
|
-
$xeSelect.hideOptionPanel();
|
|
1099
|
+
$xeSelect.hideOptionPanel(evnt);
|
|
1050
1100
|
}
|
|
1051
1101
|
}
|
|
1052
1102
|
else if (isEnter) {
|
|
@@ -1080,7 +1130,7 @@ export default {
|
|
|
1080
1130
|
}
|
|
1081
1131
|
}
|
|
1082
1132
|
},
|
|
1083
|
-
handleGlobalBlurEvent() {
|
|
1133
|
+
handleGlobalBlurEvent(evnt) {
|
|
1084
1134
|
const $xeSelect = this;
|
|
1085
1135
|
const reactData = $xeSelect.reactData;
|
|
1086
1136
|
const { visiblePanel, isActivated } = reactData;
|
|
@@ -1088,7 +1138,7 @@ export default {
|
|
|
1088
1138
|
const { trigger } = popupOpts;
|
|
1089
1139
|
if (visiblePanel) {
|
|
1090
1140
|
if (trigger !== 'manual') {
|
|
1091
|
-
$xeSelect.hideOptionPanel();
|
|
1141
|
+
$xeSelect.hideOptionPanel(evnt);
|
|
1092
1142
|
}
|
|
1093
1143
|
}
|
|
1094
1144
|
if (isActivated) {
|
|
@@ -1213,7 +1263,7 @@ export default {
|
|
|
1213
1263
|
}
|
|
1214
1264
|
else {
|
|
1215
1265
|
if (reactData.visiblePanel) {
|
|
1216
|
-
$xeSelect.hideOptionPanel();
|
|
1266
|
+
$xeSelect.hideOptionPanel($event);
|
|
1217
1267
|
}
|
|
1218
1268
|
else {
|
|
1219
1269
|
$xeSelect.showOptionPanel();
|
|
@@ -1531,13 +1581,69 @@ export default {
|
|
|
1531
1581
|
//
|
|
1532
1582
|
// Render
|
|
1533
1583
|
//
|
|
1584
|
+
renderRadio(h, option, isOptGroup, isChecked, isDisabled) {
|
|
1585
|
+
const $xeSelect = this;
|
|
1586
|
+
const radioOpts = $xeSelect.computeRadioOpts;
|
|
1587
|
+
const { showIcon, trigger } = radioOpts;
|
|
1588
|
+
if (isOptGroup || showIcon === false) {
|
|
1589
|
+
return renderEmptyElement($xeSelect);
|
|
1590
|
+
}
|
|
1591
|
+
const ons = {};
|
|
1592
|
+
if (!trigger || trigger === 'default') {
|
|
1593
|
+
ons.click = (evnt) => {
|
|
1594
|
+
if (!isDisabled && !isOptGroup) {
|
|
1595
|
+
$xeSelect.changeOptionEvent(evnt, option);
|
|
1596
|
+
}
|
|
1597
|
+
};
|
|
1598
|
+
}
|
|
1599
|
+
return h('div', {
|
|
1600
|
+
key: 2,
|
|
1601
|
+
class: ['vxe-select-option--radio', {
|
|
1602
|
+
'is--checked': isChecked,
|
|
1603
|
+
'is--disabled': isDisabled
|
|
1604
|
+
}],
|
|
1605
|
+
on: ons
|
|
1606
|
+
}, [
|
|
1607
|
+
h('span', {
|
|
1608
|
+
class: ['vxe-radio--icon', isChecked ? getIcon().RADIO_CHECKED : getIcon().RADIO_UNCHECKED]
|
|
1609
|
+
})
|
|
1610
|
+
]);
|
|
1611
|
+
},
|
|
1612
|
+
renderCheckbox(h, option, isOptGroup, isChecked, isDisabled) {
|
|
1613
|
+
const $xeSelect = this;
|
|
1614
|
+
const checkboxOpts = $xeSelect.computeCheckboxOpts;
|
|
1615
|
+
const { showIcon, trigger } = checkboxOpts;
|
|
1616
|
+
if (isOptGroup || showIcon === false) {
|
|
1617
|
+
return renderEmptyElement($xeSelect);
|
|
1618
|
+
}
|
|
1619
|
+
const ons = {};
|
|
1620
|
+
if (!trigger || trigger === 'default') {
|
|
1621
|
+
ons.click = (evnt) => {
|
|
1622
|
+
if (!isDisabled && !isOptGroup) {
|
|
1623
|
+
$xeSelect.changeOptionEvent(evnt, option);
|
|
1624
|
+
}
|
|
1625
|
+
};
|
|
1626
|
+
}
|
|
1627
|
+
return h('div', {
|
|
1628
|
+
key: 3,
|
|
1629
|
+
class: ['vxe-select-option--checkbox', {
|
|
1630
|
+
'is--checked': isChecked,
|
|
1631
|
+
'is--disabled': isDisabled
|
|
1632
|
+
}],
|
|
1633
|
+
on: ons
|
|
1634
|
+
}, [
|
|
1635
|
+
h('span', {
|
|
1636
|
+
class: ['vxe-checkbox--icon', isChecked ? getIcon().CHECKBOX_CHECKED : getIcon().CHECKBOX_UNCHECKED]
|
|
1637
|
+
})
|
|
1638
|
+
]);
|
|
1639
|
+
},
|
|
1534
1640
|
renderOption(h, list) {
|
|
1535
1641
|
const $xeSelect = this;
|
|
1536
1642
|
const props = $xeSelect;
|
|
1537
1643
|
const slots = $xeSelect.$scopedSlots;
|
|
1538
1644
|
const reactData = $xeSelect.reactData;
|
|
1539
1645
|
const internalData = $xeSelect.internalData;
|
|
1540
|
-
const { allowCreate, optionKey } = props;
|
|
1646
|
+
const { allowCreate, optionKey, multiple, showRadio, showCheckbox } = props;
|
|
1541
1647
|
const { currentOption } = reactData;
|
|
1542
1648
|
const { optAddMaps } = internalData;
|
|
1543
1649
|
const optionOpts = $xeSelect.computeOptionOpts;
|
|
@@ -1545,8 +1651,12 @@ export default {
|
|
|
1545
1651
|
const valueField = $xeSelect.computeValueField;
|
|
1546
1652
|
const groupLabelField = $xeSelect.computeGroupLabelField;
|
|
1547
1653
|
const selectVals = $xeSelect.computeSelectVals;
|
|
1654
|
+
const radioOpts = $xeSelect.computeRadioOpts;
|
|
1655
|
+
const checkboxOpts = $xeSelect.computeCheckboxOpts;
|
|
1548
1656
|
const { useKey, height } = optionOpts;
|
|
1549
1657
|
const optionSlot = slots.option;
|
|
1658
|
+
const isCheckboxMode = showCheckbox && multiple;
|
|
1659
|
+
const isRadioMode = showRadio && !multiple;
|
|
1550
1660
|
return list.map((option, cIndex) => {
|
|
1551
1661
|
const { slots, className } = option;
|
|
1552
1662
|
const optid = $xeSelect.getOptId(option);
|
|
@@ -1557,18 +1667,47 @@ export default {
|
|
|
1557
1667
|
const isVisible = isAdd || (!isOptGroup || isOptionVisible(option));
|
|
1558
1668
|
const isDisabled = !isAdd && $xeSelect.checkOptionDisabled(isSelected, option);
|
|
1559
1669
|
const defaultSlot = slots ? slots.default : null;
|
|
1670
|
+
const optSlot = defaultSlot || optionSlot;
|
|
1560
1671
|
const optParams = { option, group: isOptGroup ? option : null, $select: $xeSelect };
|
|
1561
1672
|
let optLabel = '';
|
|
1562
|
-
|
|
1563
|
-
if (
|
|
1564
|
-
optVNs
|
|
1673
|
+
const optVNs = [];
|
|
1674
|
+
if (isCheckboxMode) {
|
|
1675
|
+
optVNs.push($xeSelect.renderCheckbox(h, option, isOptGroup, isSelected, isDisabled));
|
|
1565
1676
|
}
|
|
1566
|
-
else if (
|
|
1567
|
-
optVNs
|
|
1677
|
+
else if (isRadioMode) {
|
|
1678
|
+
optVNs.push($xeSelect.renderRadio(h, option, isOptGroup, isSelected, isDisabled));
|
|
1679
|
+
}
|
|
1680
|
+
let otlbVNs = [];
|
|
1681
|
+
if (optSlot) {
|
|
1682
|
+
otlbVNs = $xeSelect.callSlot(optSlot, optParams, h);
|
|
1568
1683
|
}
|
|
1569
1684
|
else {
|
|
1570
1685
|
optLabel = getFuncText(option[(isOptGroup ? groupLabelField : labelField)] || optionValue);
|
|
1571
|
-
|
|
1686
|
+
otlbVNs = [optLabel];
|
|
1687
|
+
}
|
|
1688
|
+
optVNs.push(h('div', {
|
|
1689
|
+
key: 1,
|
|
1690
|
+
class: 'vxe-select-option--label'
|
|
1691
|
+
}, otlbVNs));
|
|
1692
|
+
const ons = {
|
|
1693
|
+
mousedown: (evnt) => {
|
|
1694
|
+
const isLeftBtn = evnt.button === 0;
|
|
1695
|
+
if (isLeftBtn) {
|
|
1696
|
+
evnt.stopPropagation();
|
|
1697
|
+
}
|
|
1698
|
+
},
|
|
1699
|
+
mouseenter: () => {
|
|
1700
|
+
if (!isDisabled && !isOptGroup && !$xeSelect.isVMScrollProcess()) {
|
|
1701
|
+
$xeSelect.setCurrentOption(option);
|
|
1702
|
+
}
|
|
1703
|
+
}
|
|
1704
|
+
};
|
|
1705
|
+
if (isCheckboxMode ? checkboxOpts.trigger === 'option' : (isRadioMode ? radioOpts.trigger === 'option' : true)) {
|
|
1706
|
+
ons.click = (evnt) => {
|
|
1707
|
+
if (!isDisabled && !isOptGroup) {
|
|
1708
|
+
$xeSelect.changeOptionEvent(evnt, option);
|
|
1709
|
+
}
|
|
1710
|
+
};
|
|
1572
1711
|
}
|
|
1573
1712
|
return isVisible
|
|
1574
1713
|
? h('div', {
|
|
@@ -1589,29 +1728,12 @@ export default {
|
|
|
1589
1728
|
height: toCssUnit(height)
|
|
1590
1729
|
}
|
|
1591
1730
|
: undefined,
|
|
1592
|
-
on:
|
|
1593
|
-
mousedown: (evnt) => {
|
|
1594
|
-
const isLeftBtn = evnt.button === 0;
|
|
1595
|
-
if (isLeftBtn) {
|
|
1596
|
-
evnt.stopPropagation();
|
|
1597
|
-
}
|
|
1598
|
-
},
|
|
1599
|
-
click: (evnt) => {
|
|
1600
|
-
if (!isDisabled && !isOptGroup) {
|
|
1601
|
-
$xeSelect.changeOptionEvent(evnt, option);
|
|
1602
|
-
}
|
|
1603
|
-
},
|
|
1604
|
-
mouseenter: () => {
|
|
1605
|
-
if (!isDisabled && !isOptGroup && !$xeSelect.isVMScrollProcess()) {
|
|
1606
|
-
$xeSelect.setCurrentOption(option);
|
|
1607
|
-
}
|
|
1608
|
-
}
|
|
1609
|
-
}
|
|
1731
|
+
on: ons
|
|
1610
1732
|
}, allowCreate
|
|
1611
1733
|
? [
|
|
1612
1734
|
h('span', {
|
|
1613
1735
|
key: 1,
|
|
1614
|
-
class: 'vxe-select-option--label'
|
|
1736
|
+
class: 'vxe-select-option--add-label'
|
|
1615
1737
|
}, optVNs),
|
|
1616
1738
|
isAdd
|
|
1617
1739
|
? h('span', {
|
|
@@ -1661,7 +1783,7 @@ export default {
|
|
|
1661
1783
|
const props = $xeSelect;
|
|
1662
1784
|
const slots = $xeSelect.$scopedSlots;
|
|
1663
1785
|
const reactData = $xeSelect.reactData;
|
|
1664
|
-
const { className, multiple, loading, filterable, showTotalButoon, showCheckedButoon, showClearButton } = props;
|
|
1786
|
+
const { className, multiple, loading, filterable, showTotalButoon, showCheckedButoon, showClearButton, showCloseButton } = props;
|
|
1665
1787
|
const { initialized, isActivated, isAniVisible, optList, visiblePanel, bodyHeight, topSpaceHeight } = reactData;
|
|
1666
1788
|
const vSize = $xeSelect.computeSize;
|
|
1667
1789
|
const isDisabled = $xeSelect.computeIsDisabled;
|
|
@@ -1780,7 +1902,7 @@ export default {
|
|
|
1780
1902
|
})
|
|
1781
1903
|
])
|
|
1782
1904
|
: renderEmptyElement($xeSelect),
|
|
1783
|
-
|
|
1905
|
+
(showCheckedButoon && multiple) || showClearButton || headerSlot
|
|
1784
1906
|
? h('div', {
|
|
1785
1907
|
class: 'vxe-select--panel-header'
|
|
1786
1908
|
}, headerSlot
|
|
@@ -1789,11 +1911,6 @@ export default {
|
|
|
1789
1911
|
h('div', {
|
|
1790
1912
|
class: 'vxe-tree-select--header-button'
|
|
1791
1913
|
}, [
|
|
1792
|
-
showTotalButoon
|
|
1793
|
-
? h('div', {
|
|
1794
|
-
class: 'vxe-tree-select--header-total'
|
|
1795
|
-
}, getI18n('vxe.select.total', [selectVals.length, optList.length]))
|
|
1796
|
-
: renderEmptyElement($xeSelect),
|
|
1797
1914
|
h('div', {
|
|
1798
1915
|
class: 'vxe-tree-select--header-btns'
|
|
1799
1916
|
}, [
|
|
@@ -1848,10 +1965,37 @@ export default {
|
|
|
1848
1965
|
}, $xeSelect.renderOpts(h))
|
|
1849
1966
|
])
|
|
1850
1967
|
]),
|
|
1851
|
-
footerSlot
|
|
1968
|
+
footerSlot || showTotalButoon || (showCloseButton && multiple)
|
|
1852
1969
|
? h('div', {
|
|
1853
1970
|
class: 'vxe-select--panel-footer'
|
|
1854
|
-
},
|
|
1971
|
+
}, footerSlot
|
|
1972
|
+
? $xeSelect.callSlot(footerSlot, {}, h)
|
|
1973
|
+
: [
|
|
1974
|
+
h('div', {
|
|
1975
|
+
class: 'vxe-select--footer-button'
|
|
1976
|
+
}, [
|
|
1977
|
+
showTotalButoon
|
|
1978
|
+
? h('div', {
|
|
1979
|
+
class: 'vxe-select--total-btns'
|
|
1980
|
+
}, getI18n('vxe.select.total', [selectVals.length, optList.length]))
|
|
1981
|
+
: renderEmptyElement($xeSelect),
|
|
1982
|
+
showCloseButton && multiple
|
|
1983
|
+
? h('div', {
|
|
1984
|
+
class: 'vxe-select--oper-btns'
|
|
1985
|
+
}, [
|
|
1986
|
+
h(VxeButtonComponent, {
|
|
1987
|
+
props: {
|
|
1988
|
+
content: getI18n('vxe.select.close'),
|
|
1989
|
+
mode: 'text'
|
|
1990
|
+
},
|
|
1991
|
+
on: {
|
|
1992
|
+
click: $xeSelect.closePanelEvent
|
|
1993
|
+
}
|
|
1994
|
+
})
|
|
1995
|
+
])
|
|
1996
|
+
: renderEmptyElement($xeSelect)
|
|
1997
|
+
])
|
|
1998
|
+
])
|
|
1855
1999
|
: renderEmptyElement($xeSelect)
|
|
1856
2000
|
])
|
|
1857
2001
|
]
|
package/es/select/style.css
CHANGED
|
@@ -112,22 +112,30 @@
|
|
|
112
112
|
flex-direction: row;
|
|
113
113
|
}
|
|
114
114
|
|
|
115
|
-
.vxe-select--header-
|
|
115
|
+
.vxe-select--header-button,
|
|
116
|
+
.vxe-select--footer-button {
|
|
116
117
|
display: flex;
|
|
117
118
|
flex-direction: row;
|
|
118
|
-
|
|
119
|
-
|
|
119
|
+
white-space: nowrap;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
.vxe-select--total-btns {
|
|
123
|
+
padding-left: var(--vxe-ui-current-padding);
|
|
120
124
|
flex-shrink: 0;
|
|
121
|
-
padding-left: 0.8em;
|
|
122
125
|
}
|
|
123
126
|
|
|
124
|
-
.vxe-select--
|
|
127
|
+
.vxe-select--oper-btns {
|
|
125
128
|
display: flex;
|
|
126
129
|
flex-direction: row;
|
|
127
130
|
flex-grow: 1;
|
|
128
131
|
justify-content: right;
|
|
129
132
|
}
|
|
130
133
|
|
|
134
|
+
.vxe-select--footer-button {
|
|
135
|
+
display: flex;
|
|
136
|
+
flex-direction: row;
|
|
137
|
+
}
|
|
138
|
+
|
|
131
139
|
.vxe-select--panel-header {
|
|
132
140
|
border-bottom: 1px solid var(--vxe-ui-base-popup-border-color);
|
|
133
141
|
}
|
|
@@ -164,11 +172,9 @@
|
|
|
164
172
|
|
|
165
173
|
.vxe-select-option {
|
|
166
174
|
position: relative;
|
|
175
|
+
flex-direction: row;
|
|
176
|
+
display: flex;
|
|
167
177
|
padding: 0 0.6em;
|
|
168
|
-
white-space: nowrap;
|
|
169
|
-
overflow: hidden;
|
|
170
|
-
text-overflow: ellipsis;
|
|
171
|
-
white-space: nowrap;
|
|
172
178
|
-webkit-user-select: none;
|
|
173
179
|
-moz-user-select: none;
|
|
174
180
|
-ms-user-select: none;
|
|
@@ -188,7 +194,7 @@
|
|
|
188
194
|
color: var(--vxe-ui-font-primary-color);
|
|
189
195
|
}
|
|
190
196
|
.vxe-select-option:not(.is--disabled).is--hover {
|
|
191
|
-
background-color: var(--vxe-ui-
|
|
197
|
+
background-color: var(--vxe-ui-select-option-hover-background-color);
|
|
192
198
|
}
|
|
193
199
|
.vxe-select-option.is--disabled {
|
|
194
200
|
color: var(--vxe-ui-font-disabled-color);
|
|
@@ -201,6 +207,13 @@
|
|
|
201
207
|
cursor: default;
|
|
202
208
|
}
|
|
203
209
|
|
|
210
|
+
.vxe-select-option--label {
|
|
211
|
+
flex-grow: 1;
|
|
212
|
+
overflow: hidden;
|
|
213
|
+
text-overflow: ellipsis;
|
|
214
|
+
white-space: nowrap;
|
|
215
|
+
}
|
|
216
|
+
|
|
204
217
|
.vxe-select-option--add-icon {
|
|
205
218
|
display: none;
|
|
206
219
|
position: absolute;
|
|
@@ -208,6 +221,94 @@
|
|
|
208
221
|
right: 0.6em;
|
|
209
222
|
}
|
|
210
223
|
|
|
224
|
+
.vxe-select-option--checkbox {
|
|
225
|
+
padding-right: 0.4em;
|
|
226
|
+
}
|
|
227
|
+
.vxe-select-option--checkbox {
|
|
228
|
+
cursor: pointer;
|
|
229
|
+
}
|
|
230
|
+
.vxe-select-option--checkbox .vxe-checkbox--icon {
|
|
231
|
+
font-size: 1.22em;
|
|
232
|
+
}
|
|
233
|
+
.vxe-select-option--checkbox .vxe-checkbox--icon {
|
|
234
|
+
color: var(--vxe-ui-input-border-color);
|
|
235
|
+
vertical-align: middle;
|
|
236
|
+
font-weight: 700;
|
|
237
|
+
-webkit-user-select: none;
|
|
238
|
+
-moz-user-select: none;
|
|
239
|
+
-ms-user-select: none;
|
|
240
|
+
user-select: none;
|
|
241
|
+
}
|
|
242
|
+
.vxe-select-option--checkbox.is--checked, .vxe-select-option--checkbox.is--indeterminate {
|
|
243
|
+
color: var(--vxe-ui-font-primary-color);
|
|
244
|
+
}
|
|
245
|
+
.vxe-select-option--checkbox.is--checked .vxe-checkbox--icon, .vxe-select-option--checkbox.is--indeterminate .vxe-checkbox--icon {
|
|
246
|
+
color: var(--vxe-ui-font-primary-color);
|
|
247
|
+
}
|
|
248
|
+
.vxe-select-option--checkbox:not(.is--disabled):hover .vxe-checkbox--icon {
|
|
249
|
+
color: var(--vxe-ui-font-primary-color);
|
|
250
|
+
}
|
|
251
|
+
.vxe-select-option--checkbox.is--hidden {
|
|
252
|
+
cursor: default;
|
|
253
|
+
}
|
|
254
|
+
.vxe-select-option--checkbox.is--readonly {
|
|
255
|
+
cursor: auto;
|
|
256
|
+
}
|
|
257
|
+
.vxe-select-option--checkbox.is--disabled {
|
|
258
|
+
color: var(--vxe-ui-font-disabled-color);
|
|
259
|
+
cursor: not-allowed;
|
|
260
|
+
}
|
|
261
|
+
.vxe-select-option--checkbox.is--disabled .vxe-checkbox--icon {
|
|
262
|
+
color: var(--vxe-ui-input-disabled-color);
|
|
263
|
+
}
|
|
264
|
+
.vxe-select-option--checkbox .vxe-checkbox--label {
|
|
265
|
+
padding-left: 0.5em;
|
|
266
|
+
vertical-align: middle;
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
.vxe-select-option--radio {
|
|
270
|
+
padding-right: 0.4em;
|
|
271
|
+
}
|
|
272
|
+
.vxe-select-option--radio {
|
|
273
|
+
cursor: pointer;
|
|
274
|
+
}
|
|
275
|
+
.vxe-select-option--radio .vxe-radio--icon {
|
|
276
|
+
font-size: 1.26em;
|
|
277
|
+
}
|
|
278
|
+
.vxe-select-option--radio .vxe-radio--icon {
|
|
279
|
+
color: var(--vxe-ui-input-border-color);
|
|
280
|
+
border-radius: 50%;
|
|
281
|
+
vertical-align: middle;
|
|
282
|
+
font-weight: 700;
|
|
283
|
+
-webkit-user-select: none;
|
|
284
|
+
-moz-user-select: none;
|
|
285
|
+
-ms-user-select: none;
|
|
286
|
+
user-select: none;
|
|
287
|
+
}
|
|
288
|
+
.vxe-select-option--radio.is--checked {
|
|
289
|
+
color: var(--vxe-ui-font-primary-color);
|
|
290
|
+
}
|
|
291
|
+
.vxe-select-option--radio.is--checked .vxe-radio--icon {
|
|
292
|
+
color: var(--vxe-ui-font-primary-color);
|
|
293
|
+
}
|
|
294
|
+
.vxe-select-option--radio:not(.is--disabled):hover .vxe-radio--icon {
|
|
295
|
+
color: var(--vxe-ui-font-primary-color);
|
|
296
|
+
}
|
|
297
|
+
.vxe-select-option--radio.is--readonly {
|
|
298
|
+
cursor: auto;
|
|
299
|
+
}
|
|
300
|
+
.vxe-select-option--radio.is--disabled {
|
|
301
|
+
color: var(--vxe-ui-font-disabled-color);
|
|
302
|
+
cursor: not-allowed;
|
|
303
|
+
}
|
|
304
|
+
.vxe-select-option--radio.is--disabled .vxe-radio--icon {
|
|
305
|
+
color: var(--vxe-ui-input-disabled-color);
|
|
306
|
+
}
|
|
307
|
+
.vxe-select-option--radio .vxe-radio--label {
|
|
308
|
+
padding-left: 0.5em;
|
|
309
|
+
vertical-align: middle;
|
|
310
|
+
}
|
|
311
|
+
|
|
211
312
|
.vxe-select--search-icon {
|
|
212
313
|
margin-right: 0.5em;
|
|
213
314
|
}
|
|
@@ -236,6 +337,16 @@
|
|
|
236
337
|
font-size: var(--vxe-ui-font-size-mini);
|
|
237
338
|
}
|
|
238
339
|
|
|
340
|
+
.vxe-select,
|
|
341
|
+
.vxe-select--panel {
|
|
342
|
+
--vxe-ui-current-padding: var(--vxe-ui-layout-padding-default);
|
|
343
|
+
}
|
|
344
|
+
.vxe-select.size--small, .vxe-select.size--mini,
|
|
345
|
+
.vxe-select--panel.size--small,
|
|
346
|
+
.vxe-select--panel.size--mini {
|
|
347
|
+
--vxe-ui-current-padding: var(--vxe-ui-layout-padding-half);
|
|
348
|
+
}
|
|
349
|
+
|
|
239
350
|
.vxe-select--panel .vxe-select-option {
|
|
240
351
|
height: var(--vxe-ui-select-option-height-default);
|
|
241
352
|
}
|
package/es/select/style.min.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.vxe-select{position:relative;display:inline-block;width:180px;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{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--header-
|
|
1
|
+
.vxe-select{position:relative;display:inline-block;width:180px;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{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}.vxe-select--total-btns{padding-left:var(--vxe-ui-current-padding);flex-shrink:0}.vxe-select--oper-btns{display:flex;flex-direction:row;flex-grow:1;justify-content:right}.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}.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:.5em;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}.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:.5em;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,.vxe-select--panel{font-size:var(--vxe-ui-font-size-default)}.vxe-select--panel.size--medium,.vxe-select.size--medium{font-size:var(--vxe-ui-font-size-medium)}.vxe-select--panel.size--small,.vxe-select.size--small{font-size:var(--vxe-ui-font-size-small)}.vxe-select--panel.size--mini,.vxe-select.size--mini{font-size:var(--vxe-ui-font-size-mini)}.vxe-select,.vxe-select--panel{--vxe-ui-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-current-padding:var(--vxe-ui-layout-padding-half)}.vxe-select--panel .vxe-select-option{height:var(--vxe-ui-select-option-height-default)}.vxe-select--panel .vxe-select--empty-placeholder,.vxe-select--panel .vxe-select--search-loading,.vxe-select--panel .vxe-select-option{line-height:var(--vxe-ui-select-option-height-default)}.vxe-select--panel.size--medium .vxe-select-option{height:var(--vxe-ui-select-option-height-medium)}.vxe-select--panel.size--medium .vxe-select--empty-placeholder,.vxe-select--panel.size--medium .vxe-select--search-loading,.vxe-select--panel.size--medium .vxe-select-option{line-height:var(--vxe-ui-select-option-height-medium)}.vxe-select--panel.size--small .vxe-select-option{height:var(--vxe-ui-select-option-height-small)}.vxe-select--panel.size--small .vxe-select--empty-placeholder,.vxe-select--panel.size--small .vxe-select--search-loading,.vxe-select--panel.size--small .vxe-select-option{line-height:var(--vxe-ui-select-option-height-small)}.vxe-select--panel.size--mini .vxe-select-option{height:var(--vxe-ui-select-option-height-mini)}.vxe-select--panel.size--mini .vxe-select--empty-placeholder,.vxe-select--panel.size--mini .vxe-select--search-loading,.vxe-select--panel.size--mini .vxe-select-option{line-height:var(--vxe-ui-select-option-height-mini)}
|