vxe-pc-ui 4.10.39 → 4.10.41

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 (45) hide show
  1. package/es/checkbox/src/group.js +63 -4
  2. package/es/icon/style.css +1 -1
  3. package/es/radio/src/group.js +58 -4
  4. package/es/select/src/select.js +20 -2
  5. package/es/style.css +1 -1
  6. package/es/style.min.css +1 -1
  7. package/es/ui/index.js +1 -1
  8. package/es/ui/src/log.js +1 -1
  9. package/lib/checkbox/src/group.js +68 -3
  10. package/lib/checkbox/src/group.min.js +1 -1
  11. package/lib/icon/style/style.css +1 -1
  12. package/lib/icon/style/style.min.css +1 -1
  13. package/lib/index.umd.js +165 -17
  14. package/lib/index.umd.min.js +1 -1
  15. package/lib/radio/src/group.js +64 -3
  16. package/lib/radio/src/group.min.js +1 -1
  17. package/lib/select/src/select.js +22 -3
  18. package/lib/select/src/select.min.js +1 -1
  19. package/lib/style.css +1 -1
  20. package/lib/style.min.css +1 -1
  21. package/lib/ui/index.js +1 -1
  22. package/lib/ui/index.min.js +1 -1
  23. package/lib/ui/src/log.js +1 -1
  24. package/lib/ui/src/log.min.js +1 -1
  25. package/package.json +1 -1
  26. package/packages/checkbox/src/group.ts +72 -5
  27. package/packages/radio/src/group.ts +68 -5
  28. package/packages/select/src/select.ts +19 -2
  29. package/types/components/checkbox-group.d.ts +13 -2
  30. package/types/components/gantt.d.ts +14 -4
  31. package/types/components/radio-group.d.ts +12 -1
  32. package/types/components/select.d.ts +2 -1
  33. package/types/components/table.d.ts +2 -2
  34. /package/es/icon/{iconfont.1764581342290.ttf → iconfont.1764747215178.ttf} +0 -0
  35. /package/es/icon/{iconfont.1764581342290.woff → iconfont.1764747215178.woff} +0 -0
  36. /package/es/icon/{iconfont.1764581342290.woff2 → iconfont.1764747215178.woff2} +0 -0
  37. /package/es/{iconfont.1764581342290.ttf → iconfont.1764747215178.ttf} +0 -0
  38. /package/es/{iconfont.1764581342290.woff → iconfont.1764747215178.woff} +0 -0
  39. /package/es/{iconfont.1764581342290.woff2 → iconfont.1764747215178.woff2} +0 -0
  40. /package/lib/icon/style/{iconfont.1764581342290.ttf → iconfont.1764747215178.ttf} +0 -0
  41. /package/lib/icon/style/{iconfont.1764581342290.woff → iconfont.1764747215178.woff} +0 -0
  42. /package/lib/icon/style/{iconfont.1764581342290.woff2 → iconfont.1764747215178.woff2} +0 -0
  43. /package/lib/{iconfont.1764581342290.ttf → iconfont.1764747215178.ttf} +0 -0
  44. /package/lib/{iconfont.1764581342290.woff → iconfont.1764747215178.woff} +0 -0
  45. /package/lib/{iconfont.1764581342290.woff2 → iconfont.1764747215178.woff2} +0 -0
@@ -11,6 +11,11 @@ var _ui = require("../../ui");
11
11
  var _radio = _interopRequireDefault(require("./radio"));
12
12
  var _button = _interopRequireDefault(require("./button"));
13
13
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
+ function createInternalData() {
15
+ return {
16
+ // isLoaded: false
17
+ };
18
+ }
14
19
  var _default = exports.default = (0, _comp.defineVxeComponent)({
15
20
  name: 'VxeRadioGroup',
16
21
  props: {
@@ -29,9 +34,10 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
29
34
  size: {
30
35
  type: String,
31
36
  default: () => (0, _ui.getConfig)().radioGroup.size || (0, _ui.getConfig)().size
32
- }
37
+ },
38
+ defaultConfig: Object
33
39
  },
34
- emits: ['update:modelValue', 'change'],
40
+ emits: ['update:modelValue', 'change', 'default-change'],
35
41
  setup(props, context) {
36
42
  const {
37
43
  slots,
@@ -44,6 +50,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
44
50
  computeSize
45
51
  } = (0, _ui.useSize)(props);
46
52
  const reactData = (0, _vue.reactive)({});
53
+ const internalData = createInternalData();
47
54
  const computeIsDisabled = (0, _vue.computed)(() => {
48
55
  const {
49
56
  disabled
@@ -56,6 +63,9 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
56
63
  }
57
64
  return disabled;
58
65
  });
66
+ const computeDefaultOpts = (0, _vue.computed)(() => {
67
+ return Object.assign({}, props.defaultConfig);
68
+ });
59
69
  const computeMaps = {
60
70
  computeIsDisabled
61
71
  };
@@ -82,6 +92,15 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
82
92
  const propsOpts = computePropsOpts.value;
83
93
  return propsOpts.disabled || 'disabled';
84
94
  });
95
+ const emitModel = value => {
96
+ emit('update:modelValue', value);
97
+ };
98
+ const emitDefaultValue = value => {
99
+ emitModel(value);
100
+ dispatchEvent('default-change', {
101
+ value
102
+ }, null);
103
+ };
85
104
  const dispatchEvent = (type, params, evnt) => {
86
105
  emit(type, (0, _ui.createEvent)(evnt, {
87
106
  $radioGroup: $xeRadioGroup
@@ -93,7 +112,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
93
112
  const radioGroupPrivateMethods = {
94
113
  handleChecked(params, evnt) {
95
114
  const value = params.checkedValue;
96
- emit('update:modelValue', value);
115
+ emitModel(value);
97
116
  dispatchEvent('change', {
98
117
  value,
99
118
  label: value,
@@ -105,6 +124,32 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
105
124
  }
106
125
  }
107
126
  };
127
+ const loadData = datas => {
128
+ const {
129
+ isLoaded
130
+ } = internalData;
131
+ const defaultOpts = computeDefaultOpts.value;
132
+ const valueField = computeValueField.value;
133
+ if (!isLoaded) {
134
+ const {
135
+ selectMode
136
+ } = defaultOpts;
137
+ if (datas.length > 0 && _xeUtils.default.eqNull(props.modelValue)) {
138
+ if (selectMode === 'first' || selectMode === 'last') {
139
+ const selectItem = _xeUtils.default[selectMode](datas);
140
+ if (selectItem) {
141
+ (0, _vue.nextTick)(() => {
142
+ if (_xeUtils.default.eqNull(props.modelValue)) {
143
+ emitDefaultValue(selectItem[valueField]);
144
+ }
145
+ });
146
+ }
147
+ }
148
+ internalData.isLoaded = true;
149
+ }
150
+ }
151
+ return (0, _vue.nextTick)();
152
+ };
108
153
  Object.assign($xeRadioGroup, radioGroupMethods, radioGroupPrivateMethods);
109
154
  const renderVN = () => {
110
155
  const {
@@ -130,6 +175,22 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
130
175
  });
131
176
  }) : []);
132
177
  };
178
+ (0, _vue.watch)(() => props.options, val => {
179
+ loadData(val || []);
180
+ });
181
+ (0, _vue.onMounted)(() => {
182
+ (0, _vue.nextTick)(() => {
183
+ const {
184
+ options
185
+ } = props;
186
+ if (options) {
187
+ loadData(options);
188
+ }
189
+ });
190
+ });
191
+ (0, _vue.onUnmounted)(() => {
192
+ _xeUtils.default.assign(internalData, createInternalData());
193
+ });
133
194
  (0, _vue.provide)('$xeRadioGroup', $xeRadioGroup);
134
195
  $xeRadioGroup.renderVN = renderVN;
135
196
  return $xeRadioGroup;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_radio=_interopRequireDefault(require("./radio")),_button=_interopRequireDefault(require("./button"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeRadioGroup",props:{modelValue:[String,Number,Boolean],disabled:{type:Boolean,default:null},type:String,options:Array,optionProps:Object,strict:{type:Boolean,default:()=>(0,_ui.getConfig)().radioGroup.strict},size:{type:String,default:()=>(0,_ui.getConfig)().radioGroup.size||(0,_ui.getConfig)().size}},emits:["update:modelValue","change"],setup(n,e){const{slots:d,emit:r}=e,u=(0,_vue.inject)("$xeForm",null),o=(0,_vue.inject)("xeFormItemInfo",null);var t=_xeUtils.default.uniqueId();const p=(0,_ui.useSize)(n)["computeSize"];var i=(0,_vue.reactive)({});const a={computeIsDisabled:(0,_vue.computed)(()=>{var e=n["disabled"];return null===e?!!u&&(u.props.readonly||u.props.disabled):e})},l={xID:t,props:n,context:e,reactData:i,name:_xeUtils.default.uniqueId("xe_group_"),getComputeMaps:()=>a},s=(0,_vue.computed)(()=>Object.assign({},n.optionProps)),c=(0,_vue.computed)(()=>{return s.value.label||"label"}),v=(0,_vue.computed)(()=>{return s.value.value||"value"}),_=(0,_vue.computed)(()=>{return s.value.disabled||"disabled"}),m=(e,t,u)=>{r(e,(0,_ui.createEvent)(u,{$radioGroup:l},t))};t={dispatchEvent:m};Object.assign(l,t,{handleChecked(e,t){e=e.checkedValue;r("update:modelValue",e),m("change",{value:e,label:e,checkedValue:e},t),u&&o&&u.triggerItemEvent(t,o.itemConfig.field,e)}});return(0,_vue.provide)("$xeRadioGroup",l),l.renderVN=()=>{var{options:e,type:t}=n,u=p.value,r=d.default;const o=v.value,i=c.value,a=_.value,l=("button"===t?_button:_radio).default;return(0,_vue.h)("div",{class:["vxe-radio-group",{["size--"+u]:u}]},r?r({}):e?e.map(e=>(0,_vue.h)(l,{key:e[o],checkedValue:e[o],content:e[i],disabled:e[a]})):[])},l},render(){return this.renderVN()}});
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_radio=_interopRequireDefault(require("./radio")),_button=_interopRequireDefault(require("./button"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function createInternalData(){return{}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeRadioGroup",props:{modelValue:[String,Number,Boolean],disabled:{type:Boolean,default:null},type:String,options:Array,optionProps:Object,strict:{type:Boolean,default:()=>(0,_ui.getConfig)().radioGroup.strict},size:{type:String,default:()=>(0,_ui.getConfig)().radioGroup.size||(0,_ui.getConfig)().size},defaultConfig:Object},emits:["update:modelValue","change","default-change"],setup(n,e){const{slots:d,emit:a}=e,u=(0,_vue.inject)("$xeForm",null),r=(0,_vue.inject)("xeFormItemInfo",null);var t=_xeUtils.default.uniqueId();const s=(0,_ui.useSize)(n)["computeSize"];var o=(0,_vue.reactive)({});const i=createInternalData();var l=(0,_vue.computed)(()=>{var e=n["disabled"];return null===e?!!u&&(u.props.readonly||u.props.disabled):e});const c=(0,_vue.computed)(()=>Object.assign({},n.defaultConfig)),p={computeIsDisabled:l},v={xID:t,props:n,context:e,reactData:o,name:_xeUtils.default.uniqueId("xe_group_"),getComputeMaps:()=>p},_=(0,_vue.computed)(()=>Object.assign({},n.optionProps)),f=(0,_vue.computed)(()=>{return _.value.label||"label"}),m=(0,_vue.computed)(()=>{return _.value.value||"value"}),g=(0,_vue.computed)(()=>{return _.value.disabled||"disabled"}),x=e=>{a("update:modelValue",e)},b=(e,t,u)=>{a(e,(0,_ui.createEvent)(u,{$radioGroup:v},t))};l={dispatchEvent:b};const h=e=>{var t=i["isLoaded"],u=c.value;const a=m.value;if(!t){t=u["selectMode"];if(0<e.length&&_xeUtils.default.eqNull(n.modelValue)){if("first"===t||"last"===t){const r=_xeUtils.default[t](e);r&&(0,_vue.nextTick)(()=>{var e;_xeUtils.default.eqNull(n.modelValue)&&(e=r[a],x(e),b("default-change",{value:e},null))})}i.isLoaded=!0}}return(0,_vue.nextTick)()};Object.assign(v,l,{handleChecked(e,t){e=e.checkedValue;x(e),b("change",{value:e,label:e,checkedValue:e},t),u&&r&&u.triggerItemEvent(t,r.itemConfig.field,e)}});return(0,_vue.watch)(()=>n.options,e=>{h(e||[])}),(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var e=n["options"];e&&h(e)})}),(0,_vue.onUnmounted)(()=>{_xeUtils.default.assign(i,createInternalData())}),(0,_vue.provide)("$xeRadioGroup",v),v.renderVN=()=>{var{options:e,type:t}=n,u=s.value,a=d.default;const r=m.value,o=f.value,i=g.value,l=("button"===t?_button:_radio).default;return(0,_vue.h)("div",{class:["vxe-radio-group",{["size--"+u]:u}]},a?a({}):e?e.map(e=>(0,_vue.h)(l,{key:e[r],checkedValue:e[r],content:e[o],disabled:e[i]})):[])},v},render(){return this.renderVN()}});
@@ -11,6 +11,7 @@ var _ui = require("../../ui");
11
11
  var _dom = require("../../ui/src/dom");
12
12
  var _utils = require("../../ui/src/utils");
13
13
  var _vn = require("../../ui/src/vn");
14
+ var _log = require("../../ui/src/log");
14
15
  var _input = _interopRequireDefault(require("../../input/src/input"));
15
16
  var _button = _interopRequireDefault(require("../../button/src/button"));
16
17
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -22,6 +23,7 @@ function getOptUniqueId() {
22
23
  }
23
24
  function createInternalData() {
24
25
  return {
26
+ // isLoaded: false,
25
27
  synchData: [],
26
28
  fullData: [],
27
29
  afterVisibleList: [],
@@ -128,7 +130,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
128
130
  */
129
131
  optionKey: Boolean
130
132
  },
131
- emits: ['update:modelValue', 'change', 'all-change', 'clear', 'blur', 'focus', 'click', 'scroll', 'visible-change'],
133
+ emits: ['update:modelValue', 'change', 'default-change', 'all-change', 'clear', 'blur', 'focus', 'click', 'scroll', 'visible-change'],
132
134
  setup(props, context) {
133
135
  const {
134
136
  slots,
@@ -343,6 +345,12 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
343
345
  const emitModel = value => {
344
346
  emit('update:modelValue', value);
345
347
  };
348
+ const emitDefaultValue = value => {
349
+ emitModel(value);
350
+ dispatchEvent('default-change', {
351
+ value
352
+ }, null);
353
+ };
346
354
  const getOptKey = () => {
347
355
  const optionOpts = computeOptionOpts.value;
348
356
  return optionOpts.keyField || props.optionId || '_X_OPTION_KEY';
@@ -1228,6 +1236,9 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
1228
1236
  */
1229
1237
  const loadData = datas => {
1230
1238
  cacheItemMap(datas || []);
1239
+ const {
1240
+ multiple
1241
+ } = props;
1231
1242
  const {
1232
1243
  isLoaded,
1233
1244
  fullData,
@@ -1250,12 +1261,20 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
1250
1261
  selectMode
1251
1262
  } = defaultOpts;
1252
1263
  if (datas.length > 0 && _xeUtils.default.eqNull(props.modelValue)) {
1253
- if (selectMode === 'first' || selectMode === 'last') {
1264
+ if (selectMode === 'all') {
1265
+ if (multiple) {
1266
+ (0, _vue.nextTick)(() => {
1267
+ emitDefaultValue(datas.map(item => item[valueField]));
1268
+ });
1269
+ } else {
1270
+ (0, _log.errLog)('vxe.error.notConflictProp', ['default-config.selectMode=all', 'multiple=true']);
1271
+ }
1272
+ } else if (selectMode === 'first' || selectMode === 'last') {
1254
1273
  const selectItem = _xeUtils.default[selectMode](datas);
1255
1274
  if (selectItem) {
1256
1275
  (0, _vue.nextTick)(() => {
1257
1276
  if (_xeUtils.default.eqNull(props.modelValue)) {
1258
- emitModel(selectItem[valueField]);
1277
+ emitDefaultValue(selectItem[valueField]);
1259
1278
  }
1260
1279
  });
1261
1280
  }
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_vn=require("../../ui/src/vn"),_input=_interopRequireDefault(require("../../input/src/input")),_button=_interopRequireDefault(require("../../button/src/button"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function isOptionVisible(e){return!1!==e.visible}function getOptUniqueId(){return _xeUtils.default.uniqueId("opt_")}function createInternalData(){return{synchData:[],fullData:[],afterVisibleList:[],optAddMaps:{},optGroupKeyMaps:{},optFullValMaps:{},remoteValMaps:{},lastScrollLeft:0,lastScrollTop:0,scrollYStore:{startIndex:0,endIndex:0,visibleSize:0,offsetSize:0,rowHeight:0},lastScrollTime:0,hpTimeout:void 0}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeSelect",props:{modelValue:[String,Number,Boolean,Array],defaultConfig:Object,clearable:Boolean,placeholder:String,readonly:{type:Boolean,default:null},loading:Boolean,disabled:{type:Boolean,default:null},multiple:Boolean,multiCharOverflow:{type:[Number,String],default:()=>(0,_ui.getConfig)().select.multiCharOverflow},prefixIcon:String,allowCreate:{type:Boolean,default:()=>(0,_ui.getConfig)().select.allowCreate},placement:String,lazyOptions:Array,options:Array,optionProps:Object,optionGroups:Array,optionGroupProps:Object,optionConfig:Object,className:[String,Function],popupClassName:[String,Function],max:{type:[String,Number],default:null},zIndex:Number,size:{type:String,default:()=>(0,_ui.getConfig)().select.size||(0,_ui.getConfig)().size},filterable:Boolean,filterMethod:Function,remote:Boolean,remoteConfig:Object,emptyText:String,showTotalButoon:{type:Boolean,default:()=>(0,_ui.getConfig)().select.showTotalButoon},showCheckedButoon:{type:Boolean,default:()=>(0,_ui.getConfig)().select.showCheckedButoon},showClearButton:{type:Boolean,default:()=>(0,_ui.getConfig)().select.showClearButton},transfer:{type:Boolean,default:null},virtualYConfig:Object,scrollY:Object,remoteMethod:Function,optionId:{type:String,default:()=>(0,_ui.getConfig)().select.optionId},optionKey:Boolean},emits:["update:modelValue","change","all-change","clear","blur","focus","click","scroll","visible-change"],setup(V,e){const{slots:C,emit:a}=e,b=(0,_vue.inject)("$xeModal",null),T=(0,_vue.inject)("$xeDrawer",null),E=(0,_vue.inject)("$xeTable",null),i=(0,_vue.inject)("$xeForm",null),o=(0,_vue.inject)("xeFormItemInfo",null);var t=_xeUtils.default.uniqueId();const L=(0,_vue.ref)(),O=(0,_vue.ref)(),P=(0,_vue.ref)(),w=(0,_vue.ref)(),A=(0,_vue.ref)(),k=(0,_vue.ref)(),z=(0,_ui.useSize)(V)["computeSize"],M=(0,_vue.reactive)({initialized:!1,scrollYLoad:!1,bodyHeight:0,topSpaceHeight:0,optList:[],staticOptions:[],reactFlag:0,currentOption:null,searchValue:"",searchLoading:!1,panelIndex:0,panelStyle:{},panelPlacement:null,triggerFocusPanel:!1,visiblePanel:!1,isAniVisible:!1,isActivated:!1}),I=createInternalData(),y={refElem:L},F={xID:t,props:V,context:e,reactData:M,internalData:I,getRefMaps:()=>y},H=(0,_vue.computed)(()=>{var e=V["readonly"];return null===e?!!i&&i.props.readonly:e}),B=(0,_vue.computed)(()=>{var e=V["disabled"];return null===e?!!i&&i.props.disabled:e}),j=(0,_vue.computed)(()=>{var e=V["transfer"];if(null===e){var t=(0,_ui.getConfig)().select.transfer;if(_xeUtils.default.isBoolean(t))return t;if(E||b||T||i)return!0}return e}),q=(0,_vue.computed)(()=>{var e=V["placeholder"];return(e=e||(0,_ui.getConfig)().select.placeholder)?(0,_utils.getFuncText)(e):(0,_ui.getI18n)("vxe.base.pleaseSelect")}),S=(0,_vue.computed)(()=>Object.assign({},V.defaultConfig)),K=(0,_vue.computed)(()=>Object.assign({},V.optionProps)),$=(0,_vue.computed)(()=>Object.assign({},V.optionGroupProps)),c=(0,_vue.computed)(()=>{return K.value.label||"label"}),D=(0,_vue.computed)(()=>{return K.value.value||"value"}),G=(0,_vue.computed)(()=>{return $.value.label||"label"}),R=(0,_vue.computed)(()=>{return $.value.options||"options"}),W=(0,_vue.computed)(()=>{var e=N.value;return ae(e)}),X=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().select.virtualYConfig||(0,_ui.getConfig)().select.scrollY,V.virtualYConfig||V.scrollY)),Z=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().select.remoteConfig,V.remoteConfig)),J=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().select.optionConfig,V.optionConfig)),Q=(0,_vue.computed)(()=>_xeUtils.default.toNumber(V.multiCharOverflow)),N=(0,_vue.computed)(()=>{var{modelValue:e,multiple:t}=V;let l=[];return _xeUtils.default.isArray(e)?l=e:t?(0,_utils.eqEmptyValue)(e)||(l=-1<(""+e).indexOf(",")?(""+e).split(","):[e]):l=null==e?[]:[e],l}),ee=(0,_vue.computed)(()=>{var e=V["remote"],t=M["reactFlag"],l=N.value;return(e&&t?l.map(e=>ie(e)):l.map(e=>oe(e))).join(", ")}),te=(0,_vue.computed)(()=>{var{remote:e,multiple:t}=V,l=M["reactFlag"],a=Q.value,i=N.value;return e&&l?i.map(e=>ie(e)).join(", "):(e=i.map(e=>oe(e)),t&&0<a&&e.length>a?e.slice(0,a)+"...":e.join(", "))}),U=(e,t)=>e&&(_xeUtils.default.isString(e)&&(e=C[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e(t)):[],r=(e,t,l)=>{a(e,(0,_ui.createEvent)(l,{$select:F},t))},le=e=>{a("update:modelValue",e)},_=()=>{return J.value.keyField||V.optionId||"_X_OPTION_KEY"},Y=e=>{e=e[_()];return e?encodeURIComponent(e):""},ae=e=>{var{multiple:t,max:l}=V;return!(!t||!l)&&e.length>=_xeUtils.default.toNumber(l)},ie=t=>{var e=V["lazyOptions"],{remoteValMaps:l,optFullValMaps:a}=I;const i=D.value;var o=c.value,l=l[t]||a[t],a=l?l.item:null;if(a)return _xeUtils.default.toValueString(a[o]);if(e){l=e.find(e=>e[i]===t);if(l)return l[o]}return t},oe=t=>{var e=V["lazyOptions"],l=I["optFullValMaps"];const a=D.value;var i=c.value,l=M.reactFlag?l[t]:null;if(l)return l.item[i];if(e){l=e.find(e=>e[a]===t);if(l)return l[i]}return t},g=()=>{const{modelValue:t,filterable:e,filterMethod:l}=V,a=M["searchValue"],{fullData:i,optFullValMaps:o}=I,n=c.value,r=D.value,u=(""+(a||"")).toLowerCase();let s=[];return(s=e&&l?i.filter(e=>isOptionVisible(e)&&l({$select:F,group:null,option:e,searchValue:a,value:t})):e?i.filter(e=>isOptionVisible(e)&&(!u||-1<(""+(e[n]||e[r])).toLowerCase().indexOf(u))):i.filter(isOptionVisible)).forEach((e,t)=>{e=o[e[r]];e&&(e._index=t)}),I.afterVisibleList=s,(0,_vue.nextTick)()},ne=e=>{e&&(M.currentOption=e)},u=()=>{const l=V["placement"],a=M["panelIndex"],i=L.value,o=A.value,n=j.value;var e=()=>{var e=(0,_dom.updatePanelPlacement)(i,o,{placement:l,teleportTo:n}),t=Object.assign(e.style,{zIndex:a});M.panelStyle=t,M.panelPlacement=e.placement};return e(),(0,_vue.nextTick)().then(e)},v=()=>{var{loading:e,filterable:t,remote:l}=V,{fullData:a,hpTimeout:i}=I,o=B.value,n=Z.value;e||o||(i&&(clearTimeout(i),I.hpTimeout=void 0),M.initialized||(M.initialized=!0),M.isActivated=!0,M.isAniVisible=!0,t&&(l&&n.enabled&&n.autoLoad&&!a.length?ye:(g(),f))(),setTimeout(()=>{M.visiblePanel=!0,V.filterable&&(0,_vue.nextTick)(()=>{var e=P.value;e&&e.focus()});x().then(()=>{(0,_vue.nextTick)(()=>{var{isAniVisible:e,visiblePanel:t}=M,l=I["optFullValMaps"],a=N.value;a.length&&e&&t&&(e=M.reactFlag?l[""+a[0]]:null)&&Oe(e.item)}),m()})},10),setTimeout(()=>{x().then(()=>m())},100),(e=V.zIndex)?M.panelIndex=e:M.panelIndex<(0,_utils.getLastZIndex)()&&(M.panelIndex=(0,_utils.nextZIndex)()),u(),r("visible-change",{visible:!0},null))},d=()=>{M.searchValue="",M.searchLoading=!1,M.visiblePanel=!1,I.hpTimeout=setTimeout(()=>{M.isAniVisible=!1},350),r("visible-change",{visible:!1},null)},s=(e,t,l)=>{le(t),t!==V.modelValue&&(r("change",{value:t,option:l},e),i)&&o&&i.triggerItemEvent(e,o.itemConfig.field,t)},p=(e,t)=>{I.remoteValMaps={},s(e,t,null),r("clear",{value:t},e)},re=e=>{e=e.$event;p(e,null),d()},ue=e=>{var e=e["$event"],{multiple:t,max:l}=V,a=M["optList"],i=D.value;if(t){var o=N.value.slice(0);for(let e=0;e<a.length;e++){const n=a[e][i];if(ae(o)){_ui.VxeUI&&_ui.VxeUI.modal.message({content:(0,_ui.getI18n)("vxe.select.overSizeErr",[l]),status:"warning"});break}o.some(e=>e===n)||o.push(n)}s(e,o,a[0]),r("all-change",{value:o},e)}},se=e=>{e=e.$event;p(e,null),d()},ce=(t,l)=>{var e=V["multiple"],a=I["remoteValMaps"];const i=l[D.value];var o=a[i];if(M.visiblePanel){if(o?o.item=l:a[i]={key:Y(l),item:l,_index:-1},e){let e=[];o=N.value,a=_xeUtils.default.findIndexOf(o,e=>e===i);e=-1===a?o.concat([i]):o.filter(e=>e!==i),s(t,e,l)}else s(t,i,l),d();M.reactFlag++}},ve=e=>{var t=M["visiblePanel"];B.value||t&&(t=A.value,((0,_dom.getEventTargetNode)(e,t).flag?u:d)())},de=e=>{var t,l,a=M["visiblePanel"];B.value||(t=L.value,l=A.value,M.isActivated=(0,_dom.getEventTargetNode)(e,t).flag||(0,_dom.getEventTargetNode)(e,l).flag,a&&!M.isActivated&&d())},h=e=>{var t=e.disabled,e=Y(e);return!t&&!ke(e)},pe=(e,t)=>{var l=V["allowCreate"],a=M["optList"],{optFullValMaps:i,optAddMaps:o,afterVisibleList:n}=I,r=D.value;let u=n,s=0;if(l&&a.length&&(n=a[0],o[l=Y(n)])&&(s=1,u=[o[l]].concat(u)),!e)if(t)for(let e=0;e<u.length;e++){var c=u[e];if(h(c))return c}else for(let e=u.length-1;0<=e;e--){var v=u[e];if(h(v))return v}let d=0;a=e?i[e[r]]:null;if(-1<(d=a?a._index+s:d))if(t)for(let e=d+1;e<=u.length-1;e++){var p=u[e];if(h(p))return p}else if(0<d)for(let e=d-1;0<=e;e--){var f=u[e];if(h(f))return f}return null},fe=t=>{var e=V["clearable"],{visiblePanel:l,currentOption:a}=M;if(!B.value){var i=_ui.globalEvents.hasKey(t,_ui.GLOBAL_EVENT_KEYS.TAB),o=_ui.globalEvents.hasKey(t,_ui.GLOBAL_EVENT_KEYS.ENTER),n=_ui.globalEvents.hasKey(t,_ui.GLOBAL_EVENT_KEYS.ESCAPE),r=_ui.globalEvents.hasKey(t,_ui.GLOBAL_EVENT_KEYS.ARROW_UP),u=_ui.globalEvents.hasKey(t,_ui.GLOBAL_EVENT_KEYS.ARROW_DOWN),s=_ui.globalEvents.hasKey(t,_ui.GLOBAL_EVENT_KEYS.DELETE);if(i&&(M.isActivated=!1),l){if(n||i)d();else if(o)a&&(t.preventDefault(),t.stopPropagation(),ce(t,a));else if(r||u){t.preventDefault();let e=pe(a,u);(e=e||pe(null,u))&&(ne(e),Oe(e,u))}}else(r||u||o)&&M.isActivated&&(t.preventDefault(),v());M.isActivated&&s&&e&&p(t,null)}},_e=()=>{var{visiblePanel:e,isActivated:t}=M;e&&d(),t&&(M.isActivated=!1),(e||t)&&(e=O.value)&&e.blur()},ge=()=>{var e=M["visiblePanel"];e&&u()},he=e=>{B.value||M.visiblePanel||(M.triggerFocusPanel=!0,v(),setTimeout(()=>{M.triggerFocusPanel=!1},500)),r("focus",{},e)},me=e=>{Ie(e),r("click",{triggerButton:!1,visible:M.visiblePanel},e)},xe=e=>{M.isActivated=!1,r("blur",{},e)},be=e=>{Ie(e),r("click",{triggerButton:!0,visible:M.visiblePanel},e)},Te=e=>{M.searchValue=e},Ee=()=>{M.isActivated=!0},ye=()=>{var{modelValue:e,remote:t,remoteMethod:l}=V,a=M["searchValue"],i=Z.value,l=i.queryMethod||l;t&&l&&i.enabled?(M.searchLoading=!0,Promise.resolve(l({$select:F,searchValue:a,value:e})).then(()=>(0,_vue.nextTick)()).catch(()=>(0,_vue.nextTick)()).finally(()=>{M.searchLoading=!1,g(),f()})):(g(),f())},Se=_xeUtils.default.debounce(ye,350,{trailing:!0}),Ie=e=>{e=e.$event;e.preventDefault(),M.triggerFocusPanel?M.triggerFocusPanel=!1:(M.visiblePanel?d:v)()},Ve=()=>{var e=M["scrollYLoad"],{scrollYStore:t,afterVisibleList:l}=I;M.bodyHeight=e?l.length*t.rowHeight:0,M.topSpaceHeight=e?Math.max(t.startIndex*t.rowHeight,0):0},Ce=()=>{var{filterable:e,allowCreate:t}=V;const{scrollYLoad:l,searchValue:a}=M;var{optAddMaps:i,scrollYStore:o,afterVisibleList:n}=I;const r=c.value;var u=D.value,o=l?n.slice(o.startIndex,o.endIndex):n.slice(0);return e&&t&&a&&(o.some(e=>e[r]===a)||(n=i[a]||(0,_vue.reactive)({[_()]:a,[r]:a,[u]:a}),i[a]=n,o.unshift(n))),M.optList=o,(0,_vue.nextTick)()},f=()=>{Ce(),Ve()},Le=()=>(0,_vue.nextTick)().then(()=>{var e=M["scrollYLoad"],t=I["scrollYStore"],l=k.value,a=X.value;let i=0,o;(o=l?o||l.children[0]:o)&&(i=o.offsetHeight),i=Math.max(20,i),t.rowHeight=i,(e?(l=w.value,e=Math.max(8,l?Math.ceil(l.clientHeight/i):0),l=Math.max(0,Math.min(2,_xeUtils.default.toNumber(a.oSize))),t.offsetSize=l,t.visibleSize=e,t.endIndex=Math.max(t.startIndex,e+l,t.endIndex),f):Ve)()}),Oe=(e,t)=>{var l,a,i=M["scrollYLoad"],{optFullValMaps:o,scrollYStore:n}=I,o=o[e[D.value]];o&&(e=o.key,-1<(o=o._index))&&(l=w.value,a=A.value)&&(a=a.querySelector(`[optid='${e}']`),l)&&(a?(e=l.offsetHeight,t?a.offsetTop+a.offsetHeight-l.scrollTop>e?l.scrollTop=a.offsetTop+a.offsetHeight-e:(a.offsetTop+1<l.scrollTop||a.offsetTop+1>l.scrollTop+l.clientHeight)&&(l.scrollTop=a.offsetTop-1):a.offsetTop+1<l.scrollTop||a.offsetTop+1>l.scrollTop+l.clientHeight?l.scrollTop=a.offsetTop-1:a.offsetTop+a.offsetHeight-l.scrollTop>e&&(l.scrollTop=a.offsetTop+a.offsetHeight-e)):i&&(l.scrollTop=t?o*n.rowHeight-l.clientHeight+n.rowHeight:o*n.rowHeight))},Pe=(e,t)=>{var l=w.value;return l&&(_xeUtils.default.isNumber(e)&&(l.scrollLeft=e),_xeUtils.default.isNumber(t))&&(l.scrollTop=t),M.scrollYLoad?new Promise(e=>{setTimeout(()=>{(0,_vue.nextTick)(()=>{e()})},50)}):(0,_vue.nextTick)()},m=()=>{const{lastScrollLeft:e,lastScrollTop:t}=I;return n().then(()=>{if(e||t)return I.lastScrollLeft=0,I.lastScrollTop=0,Pe(e,t)})},x=()=>{var e=L.value;return e&&e.clientWidth&&e.clientHeight?Le():Promise.resolve()},we=e=>{var t=I["scrollYStore"],{startIndex:l,endIndex:a,visibleSize:i,offsetSize:o,rowHeight:n}=t,e=e.target.scrollTop,e=Math.floor(e/n),n=Math.max(0,e-1-o),o=e+i+o;!(e<=l||a-i-1<=e)||l===n&&a===o||(t.startIndex=n,t.endIndex=o,f())},Ae=e=>{var t=e.target,l=t.scrollTop,t=t.scrollLeft,a=t!==I.lastScrollLeft,i=l!==I.lastScrollTop;I.lastScrollTop=l,I.lastScrollLeft=t,M.scrollYLoad&&we(e),I.lastScrollTime=Date.now(),r("scroll",{scrollLeft:t,scrollTop:l,isX:a,isY:i},e)},l=e=>{{var t=e||[];const r=R.value,u=D.value,s=_(),c={},v={},d=[],p=e=>{d.push(e);let t=Y(e);t||(t=getOptUniqueId(),e[s]=t),v[e[u]]={key:t,item:e,_index:-1}};t.forEach(e=>{p(e),e[r]&&(c[e[s]]=e)[r].forEach(p)}),I.fullData=d,I.optGroupKeyMaps=c,I.optFullValMaps=v,M.reactFlag++,g()}var{isLoaded:t,fullData:l,scrollYStore:a}=I,i=S.value,o=X.value;const n=D.value;if(Object.assign(a,{startIndex:0,endIndex:1,visibleSize:0}),I.synchData=e||[],M.scrollYLoad=!!o.enabled&&-1<o.gt&&(0===o.gt||o.gt<=l.length),Ce(),!t){a=i["selectMode"];if(0<e.length&&_xeUtils.default.eqNull(V.modelValue)){if("first"===a||"last"===a){const f=_xeUtils.default[a](e);f&&(0,_vue.nextTick)(()=>{_xeUtils.default.eqNull(V.modelValue)&&le(f[n])})}I.isLoaded=!0}}return Le().then(()=>{m()})},n=()=>{var e=w.value;return e&&(e.scrollTop=0,e.scrollLeft=0),I.lastScrollTop=0,(I.lastScrollLeft=0,_vue.nextTick)()},ke=e=>{var t=I["optGroupKeyMaps"];return!!t[e]};t={dispatchEvent:r,loadData:l,reloadData(e){return I.isLoaded=!1,n(),l(e)},isPanelVisible(){return M.visiblePanel},togglePanel(){return(M.visiblePanel?d:v)(),(0,_vue.nextTick)()},hidePanel(){return M.visiblePanel&&d(),(0,_vue.nextTick)()},showPanel(){return M.visiblePanel||v(),(0,_vue.nextTick)()},refreshOption(){return g(),f(),(0,_vue.nextTick)()},focus(){var e=O.value;return e&&e.blur(),M.isActivated=!0,(0,_vue.nextTick)()},blur(){var e=O.value;return e&&e.blur(),(M.isActivated=!1,_vue.nextTick)()},recalculate:x,clearScroll:n};Object.assign(F,t);const Me=e=>{const{allowCreate:f,optionKey:_}=V,g=M["currentOption"],h=I["optAddMaps"];var t=J.value;const m=c.value,x=D.value,b=G.value,T=N.value,{useKey:E,height:y}=t,S=C.option;return e.map((t,e)=>{var{slots:l,className:a}=t,i=Y(t),o=t[x];const n=ke(i);var r=!(!f||!h[i]),u=!r&&-1<T.indexOf(o),s=r||!n||isOptionVisible(t);const c=!r&&(v=u,!!t.disabled||!(!W.value||v));var v=l?l.default:null,l={option:t,group:n?t:null,$select:F};let d="",p=[];return p=S?U(S,l):v?U(v,l):d=(0,_utils.getFuncText)(t[n?b:m]||o),s?(0,_vue.h)("div",{key:E||_?i:e,class:["vxe-select-option",a?_xeUtils.default.isFunction(a)?a(l):a:"",{"vxe-select-optgroup":n,"is--disabled":c,"is--selected":u,"is--add":r,"is--hover":g&&Y(g)===i}],optid:i,title:d||null,style:y?{height:(0,_dom.toCssUnit)(y)}:void 0,onMousedown:e=>{0===e.button&&e.stopPropagation()},onClick:e=>{c||n||ce(e,t)},onMouseenter:()=>{var e;c||n||(e=I.lastScrollTime)&&Date.now()<e+250||ne(t)}},f?[(0,_vue.h)("span",{key:1,class:"vxe-select-option--label"},p),r?(0,_vue.h)("span",{key:2,class:"vxe-select-option--add-icon"},[(0,_vue.h)("i",{class:(0,_ui.getIcon)().SELECT_ADD_OPTION})]):(0,_ui.renderEmptyElement)(F)]:p):(0,_ui.renderEmptyElement)(F)})};return(0,_vue.watch)(()=>M.staticOptions,e=>{l(e)}),(0,_vue.watch)(()=>V.options,e=>{l(e||[])}),(0,_vue.watch)(()=>V.optionGroups,e=>{l(e||[])}),(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var{options:e,optionGroups:t}=V;t?l(t):e&&l(e)}),_ui.globalEvents.on(F,"mousewheel",ve),_ui.globalEvents.on(F,"mousedown",de),_ui.globalEvents.on(F,"keydown",fe),_ui.globalEvents.on(F,"blur",_e),_ui.globalEvents.on(F,"resize",ge)}),(0,_vue.onUnmounted)(()=>{_ui.globalEvents.off(F,"mousewheel"),_ui.globalEvents.off(F,"mousedown"),_ui.globalEvents.off(F,"keydown"),_ui.globalEvents.off(F,"blur"),_ui.globalEvents.off(F,"resize"),_xeUtils.default.assign(I,createInternalData())}),(0,_vue.provide)("$xeSelect",F),F.renderVN=()=>{var{className:e,popupClassName:t,multiple:l,loading:a,filterable:i,showTotalButoon:o,showCheckedButoon:n,showClearButton:r}=V,{initialized:u,isActivated:s,isAniVisible:c,optList:v,visiblePanel:d,bodyHeight:p,topSpaceHeight:f}=M,_=z.value,g=B.value,h=te.value,m=ee.value,x=j.value,b=H.value,T=q.value,E=C.default,y=C.header,S=C.footer;const I=C.prefix;return b?(0,_vue.h)("div",{ref:L,class:["vxe-select--readonly",e]},[(0,_vue.h)("div",{class:"vxe-select-slots",ref:"hideOption"},E?E({}):[]),(0,_vue.h)("span",{class:"vxe-select-label",title:m},h)]):(b=N.value,(0,_vue.h)("div",{ref:L,class:["vxe-select",e?_xeUtils.default.isFunction(e)?e({$select:F}):e:"",{["size--"+_]:_,"is--visible":d,"is--disabled":g,"is--filter":i,"is--loading":a,"is--active":s}]},[(0,_vue.h)("div",{class:"vxe-select-slots",ref:"hideOption"},E?E({}):[]),(0,_vue.h)(_input.default,{ref:O,clearable:V.clearable,placeholder:T,readonly:!0,disabled:g,type:"text",prefixIcon:V.prefixIcon,suffixIcon:a?(0,_ui.getIcon)().SELECT_LOADED:d?(0,_ui.getIcon)().SELECT_OPEN:(0,_ui.getIcon)().SELECT_CLOSE,autoFocus:!1,title:m,modelValue:h,onClear:re,onClick:me,onFocus:he,onBlur:xe,onSuffixClick:be},I?{prefix:()=>I({})}:{}),(0,_vue.h)(_vue.Teleport,{to:"body",disabled:!x||!u},[(0,_vue.h)("div",{ref:A,class:["vxe-table--ignore-clear vxe-select--panel",t?_xeUtils.default.isFunction(t)?t({$select:F}):t:"",{["size--"+_]:_,"is--transfer":x,"ani--leave":!a&&c,"ani--enter":!a&&d}],placement:M.panelPlacement,style:M.panelStyle},u&&(d||c)?[(0,_vue.h)("div",{class:"vxe-select--panel-wrapper"},[i?(0,_vue.h)("div",{class:"vxe-select--panel-search"},[(0,_vue.h)(_input.default,{ref:P,class:"vxe-select-search--input",modelValue:M.searchValue,type:"text",clearable:!0,disabled:!1,readonly:!1,placeholder:(0,_ui.getI18n)("vxe.select.search"),prefixIcon:(0,_ui.getIcon)().INPUT_SEARCH,"onUpdate:modelValue":Te,onFocus:Ee,onChange:Se,onSearch:Se})]):(0,_ui.renderEmptyElement)(F),o||n&&l||r||y?(0,_vue.h)("div",{class:"vxe-select--panel-header"},y?U(y,{}):[(0,_vue.h)("div",{class:"vxe-select--header-button"},[o?(0,_vue.h)("div",{class:"vxe-select--header-total"},(0,_ui.getI18n)("vxe.select.total",[b.length,v.length])):(0,_ui.renderEmptyElement)(F),(0,_vue.h)("div",{class:"vxe-select--header-btns"},[n&&l?(0,_vue.h)(_button.default,{content:(0,_ui.getI18n)("vxe.select.allChecked"),mode:"text",onClick:ue}):(0,_ui.renderEmptyElement)(F),r?(0,_vue.h)(_button.default,{content:(0,_ui.getI18n)("vxe.select.clear"),mode:"text",onClick:se}):(0,_ui.renderEmptyElement)(F)])])]):(0,_ui.renderEmptyElement)(F),(0,_vue.h)("div",{class:"vxe-select--panel-body"},[(0,_vue.h)("div",{ref:w,class:"vxe-select-option--wrapper",onScroll:Ae},[(0,_vue.h)("div",{class:"vxe-select--y-space",style:{height:p?p+"px":""}}),(0,_vue.h)("div",{ref:k,class:"vxe-select--body",style:{transform:`translateY(${f}px)`}},(()=>{var{optList:e,searchLoading:t}=M;return t?[(0,_vue.h)("div",{class:"vxe-select--search-loading"},[(0,_vue.h)("i",{class:["vxe-select--search-icon",(0,_ui.getIcon)().SELECT_LOADED]}),(0,_vue.h)("span",{class:"vxe-select--search-text"},(0,_ui.getI18n)("vxe.select.loadingText"))])]:e.length?Me(e):[(0,_vue.h)("div",{class:"vxe-select--empty-placeholder"},V.emptyText||(0,_ui.getI18n)("vxe.select.emptyText"))]})())])]),S?(0,_vue.h)("div",{class:"vxe-select--panel-footer"},U(S,{})):(0,_ui.renderEmptyElement)(F)])]:[])])]))},F},render(){return this.renderVN()}});
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log"),_input=_interopRequireDefault(require("../../input/src/input")),_button=_interopRequireDefault(require("../../button/src/button"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function isOptionVisible(e){return!1!==e.visible}function getOptUniqueId(){return _xeUtils.default.uniqueId("opt_")}function createInternalData(){return{synchData:[],fullData:[],afterVisibleList:[],optAddMaps:{},optGroupKeyMaps:{},optFullValMaps:{},remoteValMaps:{},lastScrollLeft:0,lastScrollTop:0,scrollYStore:{startIndex:0,endIndex:0,visibleSize:0,offsetSize:0,rowHeight:0},lastScrollTime:0,hpTimeout:void 0}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeSelect",props:{modelValue:[String,Number,Boolean,Array],defaultConfig:Object,clearable:Boolean,placeholder:String,readonly:{type:Boolean,default:null},loading:Boolean,disabled:{type:Boolean,default:null},multiple:Boolean,multiCharOverflow:{type:[Number,String],default:()=>(0,_ui.getConfig)().select.multiCharOverflow},prefixIcon:String,allowCreate:{type:Boolean,default:()=>(0,_ui.getConfig)().select.allowCreate},placement:String,lazyOptions:Array,options:Array,optionProps:Object,optionGroups:Array,optionGroupProps:Object,optionConfig:Object,className:[String,Function],popupClassName:[String,Function],max:{type:[String,Number],default:null},zIndex:Number,size:{type:String,default:()=>(0,_ui.getConfig)().select.size||(0,_ui.getConfig)().size},filterable:Boolean,filterMethod:Function,remote:Boolean,remoteConfig:Object,emptyText:String,showTotalButoon:{type:Boolean,default:()=>(0,_ui.getConfig)().select.showTotalButoon},showCheckedButoon:{type:Boolean,default:()=>(0,_ui.getConfig)().select.showCheckedButoon},showClearButton:{type:Boolean,default:()=>(0,_ui.getConfig)().select.showClearButton},transfer:{type:Boolean,default:null},virtualYConfig:Object,scrollY:Object,remoteMethod:Function,optionId:{type:String,default:()=>(0,_ui.getConfig)().select.optionId},optionKey:Boolean},emits:["update:modelValue","change","default-change","all-change","clear","blur","focus","click","scroll","visible-change"],setup(I,e){const{slots:V,emit:a}=e,b=(0,_vue.inject)("$xeModal",null),T=(0,_vue.inject)("$xeDrawer",null),E=(0,_vue.inject)("$xeTable",null),i=(0,_vue.inject)("$xeForm",null),o=(0,_vue.inject)("xeFormItemInfo",null);var t=_xeUtils.default.uniqueId();const L=(0,_vue.ref)(),O=(0,_vue.ref)(),P=(0,_vue.ref)(),w=(0,_vue.ref)(),k=(0,_vue.ref)(),A=(0,_vue.ref)(),z=(0,_ui.useSize)(I)["computeSize"],M=(0,_vue.reactive)({initialized:!1,scrollYLoad:!1,bodyHeight:0,topSpaceHeight:0,optList:[],staticOptions:[],reactFlag:0,currentOption:null,searchValue:"",searchLoading:!1,panelIndex:0,panelStyle:{},panelPlacement:null,triggerFocusPanel:!1,visiblePanel:!1,isAniVisible:!1,isActivated:!1}),C=createInternalData(),y={refElem:L},F={xID:t,props:I,context:e,reactData:M,internalData:C,getRefMaps:()=>y},H=(0,_vue.computed)(()=>{var e=I["readonly"];return null===e?!!i&&i.props.readonly:e}),B=(0,_vue.computed)(()=>{var e=I["disabled"];return null===e?!!i&&i.props.disabled:e}),j=(0,_vue.computed)(()=>{var e=I["transfer"];if(null===e){var t=(0,_ui.getConfig)().select.transfer;if(_xeUtils.default.isBoolean(t))return t;if(E||b||T||i)return!0}return e}),q=(0,_vue.computed)(()=>{var e=I["placeholder"];return(e=e||(0,_ui.getConfig)().select.placeholder)?(0,_utils.getFuncText)(e):(0,_ui.getI18n)("vxe.base.pleaseSelect")}),S=(0,_vue.computed)(()=>Object.assign({},I.defaultConfig)),K=(0,_vue.computed)(()=>Object.assign({},I.optionProps)),$=(0,_vue.computed)(()=>Object.assign({},I.optionGroupProps)),c=(0,_vue.computed)(()=>{return K.value.label||"label"}),D=(0,_vue.computed)(()=>{return K.value.value||"value"}),G=(0,_vue.computed)(()=>{return $.value.label||"label"}),R=(0,_vue.computed)(()=>{return $.value.options||"options"}),W=(0,_vue.computed)(()=>{var e=N.value;return ie(e)}),X=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().select.virtualYConfig||(0,_ui.getConfig)().select.scrollY,I.virtualYConfig||I.scrollY)),Z=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().select.remoteConfig,I.remoteConfig)),J=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().select.optionConfig,I.optionConfig)),Q=(0,_vue.computed)(()=>_xeUtils.default.toNumber(I.multiCharOverflow)),N=(0,_vue.computed)(()=>{var{modelValue:e,multiple:t}=I;let l=[];return _xeUtils.default.isArray(e)?l=e:t?(0,_utils.eqEmptyValue)(e)||(l=-1<(""+e).indexOf(",")?(""+e).split(","):[e]):l=null==e?[]:[e],l}),ee=(0,_vue.computed)(()=>{var e=I["remote"],t=M["reactFlag"],l=N.value;return(e&&t?l.map(e=>oe(e)):l.map(e=>ne(e))).join(", ")}),te=(0,_vue.computed)(()=>{var{remote:e,multiple:t}=I,l=M["reactFlag"],a=Q.value,i=N.value;return e&&l?i.map(e=>oe(e)).join(", "):(e=i.map(e=>ne(e)),t&&0<a&&e.length>a?e.slice(0,a)+"...":e.join(", "))}),U=(e,t)=>e&&(_xeUtils.default.isString(e)&&(e=V[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e(t)):[],r=(e,t,l)=>{a(e,(0,_ui.createEvent)(l,{$select:F},t))},le=e=>{a("update:modelValue",e)},ae=e=>{le(e),r("default-change",{value:e},null)},g=()=>{return J.value.keyField||I.optionId||"_X_OPTION_KEY"},Y=e=>{e=e[g()];return e?encodeURIComponent(e):""},ie=e=>{var{multiple:t,max:l}=I;return!(!t||!l)&&e.length>=_xeUtils.default.toNumber(l)},oe=t=>{var e=I["lazyOptions"],{remoteValMaps:l,optFullValMaps:a}=C;const i=D.value;var o=c.value,l=l[t]||a[t],a=l?l.item:null;if(a)return _xeUtils.default.toValueString(a[o]);if(e){l=e.find(e=>e[i]===t);if(l)return l[o]}return t},ne=t=>{var e=I["lazyOptions"],l=C["optFullValMaps"];const a=D.value;var i=c.value,l=M.reactFlag?l[t]:null;if(l)return l.item[i];if(e){l=e.find(e=>e[a]===t);if(l)return l[i]}return t},h=()=>{const{modelValue:t,filterable:e,filterMethod:l}=I,a=M["searchValue"],{fullData:i,optFullValMaps:o}=C,n=c.value,r=D.value,u=(""+(a||"")).toLowerCase();let s=[];return(s=e&&l?i.filter(e=>isOptionVisible(e)&&l({$select:F,group:null,option:e,searchValue:a,value:t})):e?i.filter(e=>isOptionVisible(e)&&(!u||-1<(""+(e[n]||e[r])).toLowerCase().indexOf(u))):i.filter(isOptionVisible)).forEach((e,t)=>{e=o[e[r]];e&&(e._index=t)}),C.afterVisibleList=s,(0,_vue.nextTick)()},re=e=>{e&&(M.currentOption=e)},u=()=>{const l=I["placement"],a=M["panelIndex"],i=L.value,o=k.value,n=j.value;var e=()=>{var e=(0,_dom.updatePanelPlacement)(i,o,{placement:l,teleportTo:n}),t=Object.assign(e.style,{zIndex:a});M.panelStyle=t,M.panelPlacement=e.placement};return e(),(0,_vue.nextTick)().then(e)},v=()=>{var{loading:e,filterable:t,remote:l}=I,{fullData:a,hpTimeout:i}=C,o=B.value,n=Z.value;e||o||(i&&(clearTimeout(i),C.hpTimeout=void 0),M.initialized||(M.initialized=!0),M.isActivated=!0,M.isAniVisible=!0,t&&(l&&n.enabled&&n.autoLoad&&!a.length?Se:(h(),f))(),setTimeout(()=>{M.visiblePanel=!0,I.filterable&&(0,_vue.nextTick)(()=>{var e=P.value;e&&e.focus()});x().then(()=>{(0,_vue.nextTick)(()=>{var{isAniVisible:e,visiblePanel:t}=M,l=C["optFullValMaps"],a=N.value;a.length&&e&&t&&(e=M.reactFlag?l[""+a[0]]:null)&&Pe(e.item)}),m()})},10),setTimeout(()=>{x().then(()=>m())},100),(e=I.zIndex)?M.panelIndex=e:M.panelIndex<(0,_utils.getLastZIndex)()&&(M.panelIndex=(0,_utils.nextZIndex)()),u(),r("visible-change",{visible:!0},null))},d=()=>{M.searchValue="",M.searchLoading=!1,M.visiblePanel=!1,C.hpTimeout=setTimeout(()=>{M.isAniVisible=!1},350),r("visible-change",{visible:!1},null)},s=(e,t,l)=>{le(t),t!==I.modelValue&&(r("change",{value:t,option:l},e),i)&&o&&i.triggerItemEvent(e,o.itemConfig.field,t)},p=(e,t)=>{C.remoteValMaps={},s(e,t,null),r("clear",{value:t},e)},ue=e=>{e=e.$event;p(e,null),d()},se=e=>{var e=e["$event"],{multiple:t,max:l}=I,a=M["optList"],i=D.value;if(t){var o=N.value.slice(0);for(let e=0;e<a.length;e++){const n=a[e][i];if(ie(o)){_ui.VxeUI&&_ui.VxeUI.modal.message({content:(0,_ui.getI18n)("vxe.select.overSizeErr",[l]),status:"warning"});break}o.some(e=>e===n)||o.push(n)}s(e,o,a[0]),r("all-change",{value:o},e)}},ce=e=>{e=e.$event;p(e,null),d()},ve=(t,l)=>{var e=I["multiple"],a=C["remoteValMaps"];const i=l[D.value];var o=a[i];if(M.visiblePanel){if(o?o.item=l:a[i]={key:Y(l),item:l,_index:-1},e){let e=[];o=N.value,a=_xeUtils.default.findIndexOf(o,e=>e===i);e=-1===a?o.concat([i]):o.filter(e=>e!==i),s(t,e,l)}else s(t,i,l),d();M.reactFlag++}},de=e=>{var t=M["visiblePanel"];B.value||t&&(t=k.value,((0,_dom.getEventTargetNode)(e,t).flag?u:d)())},pe=e=>{var t,l,a=M["visiblePanel"];B.value||(t=L.value,l=k.value,M.isActivated=(0,_dom.getEventTargetNode)(e,t).flag||(0,_dom.getEventTargetNode)(e,l).flag,a&&!M.isActivated&&d())},_=e=>{var t=e.disabled,e=Y(e);return!t&&!Me(e)},fe=(e,t)=>{var l=I["allowCreate"],a=M["optList"],{optFullValMaps:i,optAddMaps:o,afterVisibleList:n}=C,r=D.value;let u=n,s=0;if(l&&a.length&&(n=a[0],o[l=Y(n)])&&(s=1,u=[o[l]].concat(u)),!e)if(t)for(let e=0;e<u.length;e++){var c=u[e];if(_(c))return c}else for(let e=u.length-1;0<=e;e--){var v=u[e];if(_(v))return v}let d=0;a=e?i[e[r]]:null;if(-1<(d=a?a._index+s:d))if(t)for(let e=d+1;e<=u.length-1;e++){var p=u[e];if(_(p))return p}else if(0<d)for(let e=d-1;0<=e;e--){var f=u[e];if(_(f))return f}return null},_e=t=>{var e=I["clearable"],{visiblePanel:l,currentOption:a}=M;if(!B.value){var i=_ui.globalEvents.hasKey(t,_ui.GLOBAL_EVENT_KEYS.TAB),o=_ui.globalEvents.hasKey(t,_ui.GLOBAL_EVENT_KEYS.ENTER),n=_ui.globalEvents.hasKey(t,_ui.GLOBAL_EVENT_KEYS.ESCAPE),r=_ui.globalEvents.hasKey(t,_ui.GLOBAL_EVENT_KEYS.ARROW_UP),u=_ui.globalEvents.hasKey(t,_ui.GLOBAL_EVENT_KEYS.ARROW_DOWN),s=_ui.globalEvents.hasKey(t,_ui.GLOBAL_EVENT_KEYS.DELETE);if(i&&(M.isActivated=!1),l){if(n||i)d();else if(o)a&&(t.preventDefault(),t.stopPropagation(),ve(t,a));else if(r||u){t.preventDefault();let e=fe(a,u);(e=e||fe(null,u))&&(re(e),Pe(e,u))}}else(r||u||o)&&M.isActivated&&(t.preventDefault(),v());M.isActivated&&s&&e&&p(t,null)}},ge=()=>{var{visiblePanel:e,isActivated:t}=M;e&&d(),t&&(M.isActivated=!1),(e||t)&&(e=O.value)&&e.blur()},he=()=>{var e=M["visiblePanel"];e&&u()},me=e=>{B.value||M.visiblePanel||(M.triggerFocusPanel=!0,v(),setTimeout(()=>{M.triggerFocusPanel=!1},500)),r("focus",{},e)},xe=e=>{Ie(e),r("click",{triggerButton:!1,visible:M.visiblePanel},e)},be=e=>{M.isActivated=!1,r("blur",{},e)},Te=e=>{Ie(e),r("click",{triggerButton:!0,visible:M.visiblePanel},e)},Ee=e=>{M.searchValue=e},ye=()=>{M.isActivated=!0},Se=()=>{var{modelValue:e,remote:t,remoteMethod:l}=I,a=M["searchValue"],i=Z.value,l=i.queryMethod||l;t&&l&&i.enabled?(M.searchLoading=!0,Promise.resolve(l({$select:F,searchValue:a,value:e})).then(()=>(0,_vue.nextTick)()).catch(()=>(0,_vue.nextTick)()).finally(()=>{M.searchLoading=!1,h(),f()})):(h(),f())},Ce=_xeUtils.default.debounce(Se,350,{trailing:!0}),Ie=e=>{e=e.$event;e.preventDefault(),M.triggerFocusPanel?M.triggerFocusPanel=!1:(M.visiblePanel?d:v)()},Ve=()=>{var e=M["scrollYLoad"],{scrollYStore:t,afterVisibleList:l}=C;M.bodyHeight=e?l.length*t.rowHeight:0,M.topSpaceHeight=e?Math.max(t.startIndex*t.rowHeight,0):0},Le=()=>{var{filterable:e,allowCreate:t}=I;const{scrollYLoad:l,searchValue:a}=M;var{optAddMaps:i,scrollYStore:o,afterVisibleList:n}=C;const r=c.value;var u=D.value,o=l?n.slice(o.startIndex,o.endIndex):n.slice(0);return e&&t&&a&&(o.some(e=>e[r]===a)||(n=i[a]||(0,_vue.reactive)({[g()]:a,[r]:a,[u]:a}),i[a]=n,o.unshift(n))),M.optList=o,(0,_vue.nextTick)()},f=()=>{Le(),Ve()},Oe=()=>(0,_vue.nextTick)().then(()=>{var e=M["scrollYLoad"],t=C["scrollYStore"],l=A.value,a=X.value;let i=0,o;(o=l?o||l.children[0]:o)&&(i=o.offsetHeight),i=Math.max(20,i),t.rowHeight=i,(e?(l=w.value,e=Math.max(8,l?Math.ceil(l.clientHeight/i):0),l=Math.max(0,Math.min(2,_xeUtils.default.toNumber(a.oSize))),t.offsetSize=l,t.visibleSize=e,t.endIndex=Math.max(t.startIndex,e+l,t.endIndex),f):Ve)()}),Pe=(e,t)=>{var l,a,i=M["scrollYLoad"],{optFullValMaps:o,scrollYStore:n}=C,o=o[e[D.value]];o&&(e=o.key,-1<(o=o._index))&&(l=w.value,a=k.value)&&(a=a.querySelector(`[optid='${e}']`),l)&&(a?(e=l.offsetHeight,t?a.offsetTop+a.offsetHeight-l.scrollTop>e?l.scrollTop=a.offsetTop+a.offsetHeight-e:(a.offsetTop+1<l.scrollTop||a.offsetTop+1>l.scrollTop+l.clientHeight)&&(l.scrollTop=a.offsetTop-1):a.offsetTop+1<l.scrollTop||a.offsetTop+1>l.scrollTop+l.clientHeight?l.scrollTop=a.offsetTop-1:a.offsetTop+a.offsetHeight-l.scrollTop>e&&(l.scrollTop=a.offsetTop+a.offsetHeight-e)):i&&(l.scrollTop=t?o*n.rowHeight-l.clientHeight+n.rowHeight:o*n.rowHeight))},we=(e,t)=>{var l=w.value;return l&&(_xeUtils.default.isNumber(e)&&(l.scrollLeft=e),_xeUtils.default.isNumber(t))&&(l.scrollTop=t),M.scrollYLoad?new Promise(e=>{setTimeout(()=>{(0,_vue.nextTick)(()=>{e()})},50)}):(0,_vue.nextTick)()},m=()=>{const{lastScrollLeft:e,lastScrollTop:t}=C;return n().then(()=>{if(e||t)return C.lastScrollLeft=0,C.lastScrollTop=0,we(e,t)})},x=()=>{var e=L.value;return e&&e.clientWidth&&e.clientHeight?Oe():Promise.resolve()},ke=e=>{var t=C["scrollYStore"],{startIndex:l,endIndex:a,visibleSize:i,offsetSize:o,rowHeight:n}=t,e=e.target.scrollTop,e=Math.floor(e/n),n=Math.max(0,e-1-o),o=e+i+o;!(e<=l||a-i-1<=e)||l===n&&a===o||(t.startIndex=n,t.endIndex=o,f())},Ae=e=>{var t=e.target,l=t.scrollTop,t=t.scrollLeft,a=t!==C.lastScrollLeft,i=l!==C.lastScrollTop;C.lastScrollTop=l,C.lastScrollLeft=t,M.scrollYLoad&&ke(e),C.lastScrollTime=Date.now(),r("scroll",{scrollLeft:t,scrollTop:l,isX:a,isY:i},e)},l=e=>{{var t=e||[];const u=R.value,s=D.value,c=g(),v={},d={},p=[],f=e=>{p.push(e);let t=Y(e);t||(t=getOptUniqueId(),e[c]=t),d[e[s]]={key:t,item:e,_index:-1}};t.forEach(e=>{f(e),e[u]&&(v[e[c]]=e)[u].forEach(f)}),C.fullData=p,C.optGroupKeyMaps=v,C.optFullValMaps=d,M.reactFlag++,h()}var t=I["multiple"],{isLoaded:l,fullData:a,scrollYStore:i}=C,o=S.value,n=X.value;const r=D.value;if(Object.assign(i,{startIndex:0,endIndex:1,visibleSize:0}),C.synchData=e||[],M.scrollYLoad=!!n.enabled&&-1<n.gt&&(0===n.gt||n.gt<=a.length),Le(),!l){i=o["selectMode"];if(0<e.length&&_xeUtils.default.eqNull(I.modelValue)){if("all"===i)t?(0,_vue.nextTick)(()=>{ae(e.map(e=>e[r]))}):(0,_log.errLog)("vxe.error.notConflictProp",["default-config.selectMode=all","multiple=true"]);else if("first"===i||"last"===i){const _=_xeUtils.default[i](e);_&&(0,_vue.nextTick)(()=>{_xeUtils.default.eqNull(I.modelValue)&&ae(_[r])})}C.isLoaded=!0}}return Oe().then(()=>{m()})},n=()=>{var e=w.value;return e&&(e.scrollTop=0,e.scrollLeft=0),C.lastScrollTop=0,(C.lastScrollLeft=0,_vue.nextTick)()},Me=e=>{var t=C["optGroupKeyMaps"];return!!t[e]};t={dispatchEvent:r,loadData:l,reloadData(e){return C.isLoaded=!1,n(),l(e)},isPanelVisible(){return M.visiblePanel},togglePanel(){return(M.visiblePanel?d:v)(),(0,_vue.nextTick)()},hidePanel(){return M.visiblePanel&&d(),(0,_vue.nextTick)()},showPanel(){return M.visiblePanel||v(),(0,_vue.nextTick)()},refreshOption(){return h(),f(),(0,_vue.nextTick)()},focus(){var e=O.value;return e&&e.blur(),M.isActivated=!0,(0,_vue.nextTick)()},blur(){var e=O.value;return e&&e.blur(),(M.isActivated=!1,_vue.nextTick)()},recalculate:x,clearScroll:n};Object.assign(F,t);const Fe=e=>{const{allowCreate:f,optionKey:_}=I,g=M["currentOption"],h=C["optAddMaps"];var t=J.value;const m=c.value,x=D.value,b=G.value,T=N.value,{useKey:E,height:y}=t,S=V.option;return e.map((t,e)=>{var{slots:l,className:a}=t,i=Y(t),o=t[x];const n=Me(i);var r=!(!f||!h[i]),u=!r&&-1<T.indexOf(o),s=r||!n||isOptionVisible(t);const c=!r&&(v=u,!!t.disabled||!(!W.value||v));var v=l?l.default:null,l={option:t,group:n?t:null,$select:F};let d="",p=[];return p=S?U(S,l):v?U(v,l):d=(0,_utils.getFuncText)(t[n?b:m]||o),s?(0,_vue.h)("div",{key:E||_?i:e,class:["vxe-select-option",a?_xeUtils.default.isFunction(a)?a(l):a:"",{"vxe-select-optgroup":n,"is--disabled":c,"is--selected":u,"is--add":r,"is--hover":g&&Y(g)===i}],optid:i,title:d||null,style:y?{height:(0,_dom.toCssUnit)(y)}:void 0,onMousedown:e=>{0===e.button&&e.stopPropagation()},onClick:e=>{c||n||ve(e,t)},onMouseenter:()=>{var e;c||n||(e=C.lastScrollTime)&&Date.now()<e+250||re(t)}},f?[(0,_vue.h)("span",{key:1,class:"vxe-select-option--label"},p),r?(0,_vue.h)("span",{key:2,class:"vxe-select-option--add-icon"},[(0,_vue.h)("i",{class:(0,_ui.getIcon)().SELECT_ADD_OPTION})]):(0,_ui.renderEmptyElement)(F)]:p):(0,_ui.renderEmptyElement)(F)})};return(0,_vue.watch)(()=>M.staticOptions,e=>{l(e)}),(0,_vue.watch)(()=>I.options,e=>{l(e||[])}),(0,_vue.watch)(()=>I.optionGroups,e=>{l(e||[])}),(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var{options:e,optionGroups:t}=I;t?l(t):e&&l(e)}),_ui.globalEvents.on(F,"mousewheel",de),_ui.globalEvents.on(F,"mousedown",pe),_ui.globalEvents.on(F,"keydown",_e),_ui.globalEvents.on(F,"blur",ge),_ui.globalEvents.on(F,"resize",he)}),(0,_vue.onUnmounted)(()=>{_ui.globalEvents.off(F,"mousewheel"),_ui.globalEvents.off(F,"mousedown"),_ui.globalEvents.off(F,"keydown"),_ui.globalEvents.off(F,"blur"),_ui.globalEvents.off(F,"resize"),_xeUtils.default.assign(C,createInternalData())}),(0,_vue.provide)("$xeSelect",F),F.renderVN=()=>{var{className:e,popupClassName:t,multiple:l,loading:a,filterable:i,showTotalButoon:o,showCheckedButoon:n,showClearButton:r}=I,{initialized:u,isActivated:s,isAniVisible:c,optList:v,visiblePanel:d,bodyHeight:p,topSpaceHeight:f}=M,_=z.value,g=B.value,h=te.value,m=ee.value,x=j.value,b=H.value,T=q.value,E=V.default,y=V.header,S=V.footer;const C=V.prefix;return b?(0,_vue.h)("div",{ref:L,class:["vxe-select--readonly",e]},[(0,_vue.h)("div",{class:"vxe-select-slots",ref:"hideOption"},E?E({}):[]),(0,_vue.h)("span",{class:"vxe-select-label",title:m},h)]):(b=N.value,(0,_vue.h)("div",{ref:L,class:["vxe-select",e?_xeUtils.default.isFunction(e)?e({$select:F}):e:"",{["size--"+_]:_,"is--visible":d,"is--disabled":g,"is--filter":i,"is--loading":a,"is--active":s}]},[(0,_vue.h)("div",{class:"vxe-select-slots",ref:"hideOption"},E?E({}):[]),(0,_vue.h)(_input.default,{ref:O,clearable:I.clearable,placeholder:T,readonly:!0,disabled:g,type:"text",prefixIcon:I.prefixIcon,suffixIcon:a?(0,_ui.getIcon)().SELECT_LOADED:d?(0,_ui.getIcon)().SELECT_OPEN:(0,_ui.getIcon)().SELECT_CLOSE,autoFocus:!1,title:m,modelValue:h,onClear:ue,onClick:xe,onFocus:me,onBlur:be,onSuffixClick:Te},C?{prefix:()=>C({})}:{}),(0,_vue.h)(_vue.Teleport,{to:"body",disabled:!x||!u},[(0,_vue.h)("div",{ref:k,class:["vxe-table--ignore-clear vxe-select--panel",t?_xeUtils.default.isFunction(t)?t({$select:F}):t:"",{["size--"+_]:_,"is--transfer":x,"ani--leave":!a&&c,"ani--enter":!a&&d}],placement:M.panelPlacement,style:M.panelStyle},u&&(d||c)?[(0,_vue.h)("div",{class:"vxe-select--panel-wrapper"},[i?(0,_vue.h)("div",{class:"vxe-select--panel-search"},[(0,_vue.h)(_input.default,{ref:P,class:"vxe-select-search--input",modelValue:M.searchValue,type:"text",clearable:!0,disabled:!1,readonly:!1,placeholder:(0,_ui.getI18n)("vxe.select.search"),prefixIcon:(0,_ui.getIcon)().INPUT_SEARCH,"onUpdate:modelValue":Ee,onFocus:ye,onChange:Ce,onSearch:Ce})]):(0,_ui.renderEmptyElement)(F),o||n&&l||r||y?(0,_vue.h)("div",{class:"vxe-select--panel-header"},y?U(y,{}):[(0,_vue.h)("div",{class:"vxe-select--header-button"},[o?(0,_vue.h)("div",{class:"vxe-select--header-total"},(0,_ui.getI18n)("vxe.select.total",[b.length,v.length])):(0,_ui.renderEmptyElement)(F),(0,_vue.h)("div",{class:"vxe-select--header-btns"},[n&&l?(0,_vue.h)(_button.default,{content:(0,_ui.getI18n)("vxe.select.allChecked"),mode:"text",onClick:se}):(0,_ui.renderEmptyElement)(F),r?(0,_vue.h)(_button.default,{content:(0,_ui.getI18n)("vxe.select.clear"),mode:"text",onClick:ce}):(0,_ui.renderEmptyElement)(F)])])]):(0,_ui.renderEmptyElement)(F),(0,_vue.h)("div",{class:"vxe-select--panel-body"},[(0,_vue.h)("div",{ref:w,class:"vxe-select-option--wrapper",onScroll:Ae},[(0,_vue.h)("div",{class:"vxe-select--y-space",style:{height:p?p+"px":""}}),(0,_vue.h)("div",{ref:A,class:"vxe-select--body",style:{transform:`translateY(${f}px)`}},(()=>{var{optList:e,searchLoading:t}=M;return t?[(0,_vue.h)("div",{class:"vxe-select--search-loading"},[(0,_vue.h)("i",{class:["vxe-select--search-icon",(0,_ui.getIcon)().SELECT_LOADED]}),(0,_vue.h)("span",{class:"vxe-select--search-text"},(0,_ui.getI18n)("vxe.select.loadingText"))])]:e.length?Fe(e):[(0,_vue.h)("div",{class:"vxe-select--empty-placeholder"},I.emptyText||(0,_ui.getI18n)("vxe.select.emptyText"))]})())])]),S?(0,_vue.h)("div",{class:"vxe-select--panel-footer"},U(S,{})):(0,_ui.renderEmptyElement)(F)])]:[])])]))},F},render(){return this.renderVN()}});