UNPKG

vexip-ui

Version:

A Vue 3 UI library, Highly customizability, full TypeScript, performance pretty good

3 lines (2 loc) 26.6 kB
"use strict";const e=require("vue");require("../icon/index.cjs");require("../input/index.cjs");require("../native-scroll/index.cjs");require("../option/index.cjs");require("../overflow/index.cjs");require("../popper/index.cjs");require("../renderer/index.cjs");require("../tag/index.cjs");require("../tooltip/index.cjs");require("../virtual-list/index.cjs");require("../form/index.cjs");const j=require("@vexip-ui/hooks"),d=require("@vexip-ui/config"),v=require("@vexip-ui/utils"),Ct=require("./props.cjs"),yt=require("./symbol.cjs"),kt=require("../form/helper.cjs"),p=require("../renderer/renderer.cjs"),A=require("../icon/icon.cjs"),xt=require("../overflow/overflow.cjs"),de=require("../tag/tag.cjs"),wt=require("../tooltip/tooltip.cjs"),Nt=require("../native-scroll/native-scroll.cjs"),St=require("../popper/popper.vue.cjs"),Vt=require("../input/input.cjs"),Bt=require("../virtual-list/virtual-list.cjs"),Et=require("../option/option.vue2.cjs"),$t=["id","aria-disabled","aria-expanded","aria-labelledby"],zt=["disabled","name"],Pt=["disabled","name"],Tt=["aria-label"],qt=["title"],It=e.defineComponent({name:"Select",__name:"select",props:Ct.selectProps,emits:["update:value","update:visible","update:label"],setup(He,{expose:We,emit:je}){function Ge(t,a){const r=Array.isArray(t),n=Array.isArray(a);if(r!==n)return!1;if(r&&n){if(t.length!==a.length)return!1;for(let i=0,f=t.length;i<f;++i)if(t[i]!==a[i])return!1;return!0}return v.isNull(t)?v.isNull(a):t===a}const{idFor:Ne,labelId:Se,state:Je,disabled:Qe,loading:Ue,size:Xe,validateField:Ve,clearField:Ye,getFieldValue:Ze,setFieldValue:Be}=kt.useFieldStore(ge),o=d.useNameHelper("select"),et=He,l=d.useProps("select",et,{size:d.createSizeProp(Xe),state:d.createStateProp(Je),locale:null,visible:{default:!1,static:!0},options:{default:()=>[],static:!0},disabled:()=>Qe.value,transitionName:()=>o.ns("drop"),outsideClose:!0,placeholder:null,prefix:d.createIconProp(),prefixColor:"",suffix:d.createIconProp(),suffixColor:"",noSuffix:!1,value:{default:()=>Ze(),static:!0},multiple:!1,clearable:!1,maxListHeight:300,listClass:null,placement:{default:"bottom",validator:t=>j.placementWhileList.includes(t)},transfer:!1,optionCheck:!1,emptyText:null,staticSuffix:!1,loading:()=>Ue.value,loadingIcon:d.createIconProp(),loadingLock:!1,loadingEffect:null,keyConfig:()=>({}),filter:!1,ignoreCase:!1,creatable:!1,transparent:!1,maxTagCount:0,noRestTip:!1,tagType:null,noPreview:!1,remote:!1,fitPopper:!1,name:{default:"",static:!0},popperAlive:null,countLimit:0,filterPosition:"in-control",slots:()=>({}),shift:!0}),F=je,G=e.useSlots(),L=d.useLocale("select",e.toRef(l,"locale")),E=d.useIcons(),u=e.ref(l.visible),m=e.ref([]),s=e.ref([]),$=e.ref(-1),tt=e.toRef(l,"placement"),lt=e.toRef(l,"transfer"),Ee=e.ref([]),C=e.ref(""),le=e.ref(0),V=e.ref([]),$e=e.ref(0),y=e.ref(!1),N=e.ref(!1),{isMounted:rt}=j.useMounted(),k=e.reactive({disabled:!1,divided:!1,title:"",value:"",label:"",group:!1,depth:0,parent:null,hidden:!1,hitting:!0,data:""}),re=e.reactive(new Set),ce=e.ref(),M=e.computed(()=>V.value.concat(Ee.value)),z=e.computed(()=>M.value.filter(t=>!t.hidden)),at=e.computed(()=>({...yt.defaultKeyConfig,...l.keyConfig})),P=j.useClickOutside(dt),pe=e.ref(),ze=e.ref(),ae=e.ref(),ne=e.ref(),T=e.ref(),oe=e.ref(),g=e.computed(()=>{var t;return((t=ze.value)==null?void 0:t.input)??pe.value}),{reference:_,transferTo:Pe,updatePopper:J}=j.usePopper({placement:tt,transfer:lt,wrapper:P,popper:e.computed(()=>{var t;return(t=T.value)==null?void 0:t.wrapper}),isDrop:!0,shift:e.toRef(l,"shift")}),{isHover:Te}=j.useHover(_),S=e.reactive(new Map),D=e.ref(new Map);let c=l.value;const qe=e.ref(0);e.watchEffect(()=>{l.keyConfig.value,l.keyConfig.label,l.keyConfig.disabled,l.keyConfig.divided,l.keyConfig.title,l.keyConfig.group,l.keyConfig.children;for(let t=0,a=l.options.length;t<a;++t)l.options[t];qe.value++}),e.watch(qe,nt,{immediate:!0});function nt(){const{value:t,label:a,disabled:r,divided:n,title:i,group:f,children:h}=at.value,fe=D.value,Ce=new Map,Ke=[],ye=l.options.map(w=>({option:w,depth:0,parent:null})).reverse();re.clear();for(const w of V.value)Ce.set(w.value,w),re.add(w.value);for(;ye.length;){const{option:w,depth:Re,parent:pt}=ye.pop(),ee=typeof w=="string"?{[t]:w}:w,ke=!!ee[f],te=ee[t];if(!ke&&v.isNull(te))continue;const vt=ee[a]||String(te),{[r]:mt=!1,[n]:bt=!1,[i]:ht="",[h]:xe=null}=ee,W=fe.get(ee.value),we=e.reactive({disabled:mt,divided:bt,title:ht,value:te,label:vt,group:ke,depth:Re,parent:pt,hidden:(W==null?void 0:W.hidden)??!1,hitting:(W==null?void 0:W.hitting)??!1,data:w});Ke.push(we),ke||(Ce.set(te,we),re.add(String(te))),Array.isArray(xe)&&xe.length&&ye.push(...xe.map(gt=>({option:gt,depth:Re+1,parent:we})).reverse())}D.value=Ce,Ee.value=Ke,Me(c)}j.useModifier({target:P,passive:!1,onKeyDown:(t,a)=>{if(N.value){t.stopPropagation();return}if(!u.value){(a.space||a.enter)&&(t.preventDefault(),t.stopPropagation(),ie());return}if(a.tab||a.escape){q(!1),a.resetAll();return}v.decide([[()=>a.up||a.down,()=>{const r=z.value,n=r.length;if(!n)return;const i=a.down?1:-1;let f=(Math.max(-1,$.value+i)+n)%n,h=r[f];for(let fe=0;(h.disabled||h.group)&&fe<n;++fe)f+=i,f=(f+n)%n,h=r[f];I(f)}],[()=>a.enter||!l.filter&&a.space,()=>{$.value>=0?K(U.value[$.value]):ve.value?K(k):q(!1)}]],{beforeMatchAny:()=>{t.preventDefault(),t.stopPropagation()},afterMatchAny:a.resetAll})}});const ot=e.computed(()=>({[o.b()]:!0,[o.ns("input-vars")]:!0,[o.bs("vars")]:!0,[o.bm("inherit")]:l.inherit,[o.bm("multiple")]:l.multiple,[o.bm("filter")]:l.filter,[o.bm("responsive")]:l.multiple&&l.maxTagCount<=0,[o.bm("disabled")]:l.disabled})),O=e.computed(()=>l.loading&&l.loadingLock),it=e.computed(()=>{const t=o.be("selector");return{[t]:!0,[`${t}--focused`]:!l.disabled&&u.value,[`${t}--disabled`]:l.disabled,[`${t}--readonly`]:O.value,[`${t}--loading`]:l.loading,[`${t}--${l.size}`]:l.size!=="default",[`${t}--${l.state}`]:l.state!=="default",[`${t}--has-prefix`]:Ie.value,[`${t}--has-suffix`]:!l.noSuffix,[`${t}--transparent`]:l.transparent}}),Q=e.computed(()=>!v.isNull(s.value[0])&&(l.multiple||s.value[0]!=="")),Ie=e.computed(()=>!!(G.prefix||l.prefix||l.slots.prefix)),ve=e.computed(()=>!!(l.filter&&l.creatable&&k.value&&!re.has(k.value))),U=e.computed(()=>ve.value?[k].concat(z.value):z.value),X=e.computed(()=>M.value.filter(t=>!t.group)),st=e.computed(()=>{const t=X.value,a=new Map;for(let r=0,n=t.length;r<n;++r){const i=t[r];i.parent&&a.set(i.value,i.parent)}return a}),Ae=e.computed(()=>!l.disabled&&!O.value&&l.clearable&&Te.value&&Q.value),B=e.computed(()=>!l.noPreview&&u.value?ce.value:void 0),Fe=e.computed(()=>l.multiple&&l.countLimit>0&&s.value.length>=l.countLimit),ut=e.computed(()=>l.filterPosition!=="in-control"?!Q.value&&!B.value&&!!(l.placeholder??L.value.placeholder):!N.value&&!(Q.value&&(l.noPreview||l.multiple||!u.value))&&!(!B.value&&!(l.placeholder??L.value.placeholder))&&!(u.value&&C.value));function b(t){return v.isNull(t)?null:D.value.get(t)??S.get(t)??null}function Le(){requestAnimationFrame(()=>{var t;J(),P.value&&((t=T.value)!=null&&t.wrapper)&&(typeof l.fitPopper=="number"?T.value.wrapper.style.width=`${l.fitPopper}px`:l.fitPopper?T.value.wrapper.style.width=`${P.value.offsetWidth}px`:T.value.wrapper.style.minWidth=`${P.value.offsetWidth}px`)})}e.watch(()=>l.visible,t=>{u.value=t}),e.watch(u,t=>{t&&(y.value=!1,me(),Le()),l.filterPosition!=="in-control"?requestAnimationFrame(R):R()}),e.watch(()=>l.value,t=>{(!c||!Ge(t,c))&&(c=t,Me(t),R())}),e.watch(()=>l.disabled,t=>{t&&q(!1)}),e.watch(O,t=>{t&&q(!1)}),e.watch(C,t=>{k.value=t,k.label=t,k.data=t,_e(t)}),We({idFor:Ne,labelId:Se,currentVisible:u,currentValues:s,currentLabels:m,optionStates:M,isHover:Te,currentFilter:C,composing:N,visibleOptions:z,totalOptions:U,wrapper:P,reference:_,popper:T,input:g,device:ae,virtualList:ne,restTip:oe,updatePopper:J,isSelected:x,getOptionFromMap:b,updateHitting:I,handleClear:De,focus:ge,blur:()=>{var t,a;(t=g.value)==null||t.blur(),(a=_.value)==null||a.blur()}}),e.onMounted(()=>{R(),l.visible&&(y.value=!1,me(),Le())});function Me(t){if(v.isNull(t)){s.value=[],m.value=[];return}const a=Array.isArray(t)?t:[t],r=new Set(a),n=[],i=[];r.forEach(f=>{let h=b(f);h?(n.push(h.value),i.push(h.label),S.has(h.value)||S.set(h.value,h)):l.remote&&(h=e.reactive({value:f,disabled:!1,divided:!1,title:"",label:String(f),group:!1,depth:-1,parent:null,hidden:!0,hitting:!1,data:f}),S.set(f,h),n.push(f),i.push(h.label))});for(const f of Array.from(S.keys()))r.has(f)||S.delete(f);s.value=n,m.value=i,me(),_e(C.value)}function me(){const t=s.value[0];if(v.isNull(t))I(-1);else{if(!rt.value)return;I(z.value.findIndex(a=>a.value===t))}}function q(t){u.value!==t&&(u.value=t,F("update:visible",t),d.emitEvent(l.onToggle,t))}function I(t,a=!0){$.value=t,ce.value=void 0;let r=-1;M.value.forEach(n=>{n.hidden?n.hitting=!1:(r+=1,n.hitting=t===r,n.hitting&&(ce.value=n))}),a&&u.value&&ne.value&&ne.value.ensureIndexInView(t)}function x(t){return l.multiple?s.value.includes(t.value):s.value[0]===t.value}function _e(t){const a=l.filter;if(!(!a||l.remote)){if(!t)M.value.forEach(r=>{r.hidden=!1});else{if(M.value.forEach(n=>{n.hidden=!0}),typeof a=="function")X.value.forEach(n=>{n.hidden=!a(t,n)});else if(l.ignoreCase){const n=t.toString().toLocaleLowerCase();X.value.forEach(i=>{var f;i.hidden=!((f=i.label)!=null&&f.toString().toLocaleLowerCase().includes(n))})}else X.value.forEach(n=>{var i;n.hidden=!((i=n.label)!=null&&i.toString().includes(t==null?void 0:t.toString()))});const r=st.value;X.value.forEach(n=>{if(!n.hidden&&n.parent){let i=r.get(n.value)||null;for(;i&&i.hidden;)i.hidden=!1,i=i.parent}})}I($.value)}}function Y(t){l.disabled||O.value||!v.isNull(t)&&K(b(t))}function be(t){var a;Y(t),y.value&&((a=oe.value)==null||a.updatePopper())}function K(t){if(!t)return;const a=x(t),r=t.value;if(a)V.value.find(n=>n.value===r)&&(v.removeArrayItem(V.value,n=>n.value===r),D.value.delete(r)),S.delete(r);else{if(l.multiple||(V.value.length=0),Fe.value)return;if(k.value&&r===k.value){const n={...k};V.value.push(n),D.value.set(r,n)}S.set(t.value,t)}d.emitEvent(l[l.multiple&&a?"onCancel":"onSelect"],r,t.data),ft(t),l.multiple?(l.filterPosition==="in-control"&&(C.value="",R()),requestAnimationFrame(J)):q(!1),le.value=0}function ft(t){if(l.multiple){if(x(t)){const a=s.value.findIndex(r=>r===t.value);~a&&(s.value.splice(a,1),m.value.splice(a,1))}else s.value.push(t.value),m.value.push(t.label);c=Array.from(s.value),F("update:value",c),F("update:label",m.value),Be(c),d.emitEvent(l.onChange,c,c.map(a=>{var r;return((r=b(a))==null?void 0:r.data)??a})),Ve()}else{const a=s.value[0];s.value.length=0,m.value.length=0,s.value.push(t.value),m.value.push(t.label),a!==t.value&&(c=t.value,F("update:value",c),F("update:label",m.value[0]),Be(c),d.emitEvent(l.onChange,c,t.data),Ve())}}function ie(){l.disabled||O.value||q(!u.value)}function dt(){y.value=!1,d.emitEvent(l.onClickOutside),l.outsideClose&&u.value&&(q(!1),d.emitEvent(l.onOutsideClose))}function De(){if(!(l.disabled||O.value)&&l.clearable){for(const t of V.value)D.value.delete(t.value);S.clear(),V.value.length=0,s.value.length=0,m.value.length=0,y.value=!1,c=l.multiple?[]:"",R(),F("update:value",c),d.emitEvent(l.onChange,c,l.multiple?[]:""),d.emitEvent(l.onClear),Ye(c),J()}}let Z=!1;function se(t){Z||(Z=!0,d.emitEvent(l.onFocus,t))}function ue(t){Z&&(Z=!1,setTimeout(()=>{Z||d.emitEvent(l.onBlur,t)},120))}function R(){if(!g.value)return;const t=u.value;l.multiple?g.value.value="":g.value.value=t?"":m.value[0]||"",t?g.value.focus():g.value.blur()}function he(){if(!g.value||N.value)return;let t;C.value=g.value.value,C.value?ve.value||$.value!==-1?t=0:(t=z.value.findIndex(a=>String(a.label)===C.value),t=t===-1?0:t):t=-1,requestAnimationFrame(()=>{t||(t=z.value.findIndex(a=>!s.value.includes(a.value))),t!==$.value&&I(t),l.multiple&&ae.value&&(le.value=v.getRangeWidth(ae.value)),J()}),d.emitEvent(l.onFilterInput,C.value)}function H(){N.value&&(N.value=!1,g.value&&g.value.dispatchEvent(new Event("input")))}function Oe(t){g.value&&l.filterPosition!=="in-list"&&t.key==="Backspace"&&!g.value.value&&!v.isNull(v.getLast(s.value))&&(t.stopPropagation(),Y(v.getLast(s.value)))}function ct(){u.value?(ie(),y.value=!1):(y.value=!y.value,y.value&&e.nextTick(()=>{var t;(t=oe.value)==null||t.updatePopper()}))}function ge(t){var a,r;u.value?(a=g.value||_.value)==null||a.focus(t):(r=_.value)==null||r.focus(t)}return(t,a)=>(e.openBlock(),e.createElementBlock("div",{id:e.unref(Ne),ref_key:"wrapper",ref:P,class:e.normalizeClass(ot.value),role:"group","aria-disabled":e.unref(v.toAttrValue)(e.unref(l).disabled),"aria-expanded":e.unref(v.toAttrValue)(u.value),"aria-haspopup":"listbox","aria-labelledby":e.unref(Se),onClick:ie},[e.createElementVNode("div",{ref_key:"reference",ref:_,class:e.normalizeClass(it.value),tabindex:"0",onFocus:se,onBlur:a[9]||(a[9]=r=>{(!e.unref(l).filter||!u.value)&&ue(r)})},[Ie.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass([e.unref(o).be("icon"),e.unref(o).be("prefix")]),style:e.normalizeStyle({color:e.unref(l).prefixColor})},[e.renderSlot(t.$slots,"prefix",{},()=>[e.createVNode(e.unref(p),{renderer:e.unref(l).slots.prefix},{default:e.withCtx(()=>[e.createVNode(e.unref(A),{icon:e.unref(l).prefix},null,8,["icon"])]),_:1},8,["renderer"])])],6)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(e.unref(o).be("control"))},[e.renderSlot(t.$slots,"control",{},()=>[e.createVNode(e.unref(p),{renderer:e.unref(l).slots.control},{default:e.withCtx(()=>[e.unref(l).multiple?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createVNode(e.unref(xt),{inherit:"",class:e.normalizeClass([e.unref(o).be("tags")]),items:s.value,"max-count":e.unref(l).maxTagCount,style:e.normalizeStyle({maxWidth:e.unref(l).maxTagCount<=0&&`calc(100% - ${le.value}px)`}),onRestChange:a[0]||(a[0]=r=>$e.value=r),onClick:e.withModifiers(ie,["stop"])},{default:e.withCtx(({item:r,index:n})=>[e.renderSlot(t.$slots,"tag",{value:r,option:b(r),handleClose:Y.bind(null,r)},()=>[e.createVNode(e.unref(p),{renderer:e.unref(l).slots.tag,data:{value:r,option:b(r),handleClose:Y.bind(null,r)}},{default:e.withCtx(()=>[e.createVNode(e.unref(de),{inherit:"",class:e.normalizeClass(e.unref(o).be("tag")),type:e.unref(l).tagType,closable:"",disabled:e.unref(l).disabled,onClose:i=>Y(r)},{default:e.withCtx(()=>[e.createElementVNode("span",{class:e.normalizeClass(e.unref(o).be("label"))},[e.renderSlot(t.$slots,"selected",{value:r,option:b(r)},()=>[e.createVNode(e.unref(p),{renderer:e.unref(l).slots.selected,data:{value:r,option:b(r)}},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(m.value[n]),1)]),_:2},1032,["renderer","data"])])],2)]),_:2},1032,["class","type","disabled","onClose"])]),_:2},1032,["renderer","data"])])]),counter:e.withCtx(({count:r})=>[e.unref(l).noRestTip?e.renderSlot(t.$slots,"restTag",{key:0,restCount:r},()=>[e.createVNode(e.unref(p),{renderer:e.unref(l).slots.restTag,data:{restCount:r}},{default:e.withCtx(()=>[e.createVNode(e.unref(de),{inherit:"",class:e.normalizeClass([e.unref(o).be("tag"),e.unref(o).be("counter")]),type:e.unref(l).tagType,disabled:e.unref(l).disabled},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(`+${r}`),1)]),_:2},1032,["class","type","disabled"])]),_:2},1032,["renderer","data"])]):(e.openBlock(),e.createBlock(e.unref(wt),{key:1,ref_key:"restTip",ref:oe,inherit:"",transfer:!1,visible:y.value,trigger:"custom",placement:"top","tip-class":e.unref(o).be("rest-tip"),onClick:e.withModifiers(ct,["stop"])},{trigger:e.withCtx(()=>[e.renderSlot(t.$slots,"restTag",{restCount:r},()=>[e.createVNode(e.unref(p),{renderer:e.unref(l).slots.restTag,data:{restCount:r}},{default:e.withCtx(()=>[e.createVNode(e.unref(de),{inherit:"",class:e.normalizeClass([e.unref(o).be("tag"),e.unref(o).be("counter")]),type:e.unref(l).tagType,disabled:e.unref(l).disabled},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(`+${r}`),1)]),_:2},1032,["class","type","disabled"])]),_:2},1032,["renderer","data"])])]),default:e.withCtx(()=>[e.createVNode(e.unref(Nt),{inherit:"","use-y-bar":""},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.value,(n,i)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:i},[i>=s.value.length-$e.value?e.renderSlot(t.$slots,"tag",{key:0,value:n,option:b(n),handleClose:be.bind(null,n)},()=>[e.createVNode(e.unref(p),{renderer:e.unref(l).slots.tag,data:{value:n,option:b(n),handleClose:be.bind(null,n)}},{default:e.withCtx(()=>[e.createVNode(e.unref(de),{inherit:"",class:e.normalizeClass(e.unref(o).be("tag")),closable:"",type:e.unref(l).tagType,disabled:e.unref(l).disabled,onClose:f=>be(n)},{default:e.withCtx(()=>[e.createElementVNode("span",{class:e.normalizeClass(e.unref(o).be("label"))},[e.renderSlot(t.$slots,"selected",{value:n,option:b(n)},()=>[e.createVNode(e.unref(p),{renderer:e.unref(l).slots.selected,data:{value:n,option:b(n)}},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(m.value[i]),1)]),_:2},1032,["renderer","data"])])],2)]),_:2},1032,["class","type","disabled","onClose"])]),_:2},1032,["renderer","data"])]):e.createCommentVNode("",!0)],64))),128))]),_:3})]),_:2},1032,["visible","tip-class"]))]),_:3},8,["class","items","max-count","style"]),e.unref(l).filter&&e.unref(l).filterPosition==="in-control"?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(o).be("anchor")),style:e.normalizeStyle({width:`${le.value}px`})},[e.createElementVNode("input",{ref_key:"nativeInput",ref:pe,class:e.normalizeClass([e.unref(o).be("input"),e.unref(o).bem("input","multiple"),u.value&&e.unref(o).bem("input","visible")]),disabled:e.unref(l).disabled,autocomplete:"off",tabindex:"-1",role:"combobox","aria-autocomplete":"list",name:e.unref(l).name,onSubmit:a[1]||(a[1]=e.withModifiers(()=>{},["prevent"])),onInput:he,onKeydown:Oe,onFocus:a[2]||(a[2]=r=>se(r)),onBlur:a[3]||(a[3]=r=>ue(r)),onCompositionstart:a[4]||(a[4]=r=>N.value=!0),onCompositionend:H,onChange:H},null,42,zt),e.createElementVNode("span",{ref_key:"device",ref:ae,class:e.normalizeClass(e.unref(o).be("device")),"aria-hidden":"true"},e.toDisplayString(C.value),3)],6)):e.createCommentVNode("",!0)],64)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.unref(l).filter&&e.unref(l).filterPosition==="in-control"?(e.openBlock(),e.createElementBlock("input",{key:0,ref_key:"nativeInput",ref:pe,class:e.normalizeClass([e.unref(o).be("input"),u.value&&e.unref(o).bem("input","visible")]),disabled:e.unref(l).disabled,autocomplete:"off",tabindex:"-1",role:"combobox","aria-autocomplete":"list",name:e.unref(l).name,style:e.normalizeStyle({opacity:u.value?void 0:"0%"}),onSubmit:a[5]||(a[5]=e.withModifiers(()=>{},["prevent"])),onInput:he,onFocus:a[6]||(a[6]=r=>se(r)),onBlur:a[7]||(a[7]=r=>ue(r)),onCompositionstart:a[8]||(a[8]=r=>N.value=!0),onCompositionend:H,onChange:H},null,46,Pt)):e.createCommentVNode("",!0),(e.unref(l).noPreview||!u.value)&&Q.value&&(e.unref(l).filterPosition!=="in-control"||!C.value)?(e.openBlock(),e.createElementBlock("span",{key:1,class:e.normalizeClass({[e.unref(o).be("selected")]:!0,[e.unref(o).bem("selected","placeholder")]:e.unref(l).filter&&u.value&&Q.value})},[b(s.value[0])?e.renderSlot(t.$slots,"selected",{key:0,value:s.value[0],option:b(s.value[0])},()=>[e.createVNode(e.unref(p),{renderer:e.unref(l).slots.selected,data:{value:s.value[0],option:b(s.value[0])}},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(m.value[0]),1)]),_:1},8,["renderer","data"])]):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createTextVNode(e.toDisplayString(m.value[0]),1)],64))],2)):e.createCommentVNode("",!0)],64)),ut.value?(e.openBlock(),e.createElementBlock("span",{key:2,class:e.normalizeClass(e.unref(o).be("placeholder"))},[B.value?e.renderSlot(t.$slots,"selected",{key:0,preview:!0,value:B.value.value,option:B.value},()=>[e.createVNode(e.unref(p),{renderer:e.unref(l).slots.selected,data:{value:B.value.value,preview:!0,option:B.value}},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(B.value.label),1)]),_:1},8,["renderer","data"])]):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createTextVNode(e.toDisplayString(e.unref(l).placeholder??e.unref(L).placeholder),1)],64))],2)):e.createCommentVNode("",!0)]),_:3},8,["renderer"])])],2),e.unref(l).noSuffix?e.unref(l).clearable||e.unref(l).loading?(e.openBlock(),e.createElementBlock("div",{key:2,class:e.normalizeClass([e.unref(o).be("icon"),e.unref(o).bem("icon","placeholder"),e.unref(o).be("suffix")])},null,2)):e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass([e.unref(o).be("icon"),e.unref(o).be("suffix")]),style:e.normalizeStyle({color:e.unref(l).suffixColor,opacity:Ae.value||e.unref(l).loading?"0%":""})},[e.renderSlot(t.$slots,"suffix",{},()=>[e.createVNode(e.unref(p),{renderer:e.unref(l).slots.suffix},{default:e.withCtx(()=>[e.unref(l).suffix?(e.openBlock(),e.createBlock(e.unref(A),{key:0,icon:e.unref(l).suffix,class:e.normalizeClass({[e.unref(o).be("arrow")]:!e.unref(l).staticSuffix})},null,8,["icon","class"])):(e.openBlock(),e.createBlock(e.unref(A),e.mergeProps({key:1},e.unref(E).angleDown,{class:e.unref(o).be("arrow")}),null,16,["class"]))]),_:1},8,["renderer"])])],6)),e.createVNode(e.Transition,{name:e.unref(o).ns("fade"),appear:""},{default:e.withCtx(()=>[Ae.value?(e.openBlock(),e.createElementBlock("button",{key:0,class:e.normalizeClass([e.unref(o).be("icon"),e.unref(o).be("clear")]),type:"button",tabindex:"-1","aria-label":e.unref(L).ariaLabel.clear,onClick:e.withModifiers(De,["stop"])},[e.createVNode(e.unref(A),e.mergeProps(e.unref(E).clear,{label:"clear"}),null,16)],10,Tt)):e.unref(l).loading?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass([e.unref(o).be("icon"),e.unref(o).be("loading")])},[e.createVNode(e.unref(A),e.mergeProps(e.unref(E).loading,{effect:e.unref(l).loadingEffect||e.unref(E).loading.effect,icon:e.unref(l).loadingIcon||e.unref(E).loading.icon,label:"loading"}),null,16,["effect","icon"])],2)):e.createCommentVNode("",!0)]),_:1},8,["name"])],34),e.createVNode(e.unref(St),{ref_key:"popper",ref:T,class:e.normalizeClass([e.unref(o).be("popper"),e.unref(o).bs("vars")]),visible:u.value,to:e.unref(Pe),transition:e.unref(l).transitionName,alive:e.unref(l).popperAlive??!e.unref(Pe),onClick:e.withModifiers(ge,["stop"]),onAfterLeave:a[11]||(a[11]=r=>C.value="")},{default:e.withCtx(()=>[e.renderSlot(t.$slots,"list",{options:U.value,isSelected:x,handleSelect:K},()=>[e.createVNode(e.unref(p),{renderer:e.unref(l).slots.list,data:{options:U.value,isSelected:x,handleSelect:K}},{default:e.withCtx(()=>[e.createElementVNode("div",{class:e.normalizeClass([e.unref(o).be("list"),(G.prepend||G.append)&&e.unref(o).bem("list","with-extra"),e.unref(l).listClass])},[e.unref(l).filter&&e.unref(l).filterPosition==="in-list"?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(o).be("filter"))},[e.createVNode(e.unref(Vt),{ref_key:"filterInput",ref:ze,class:e.normalizeClass(e.unref(o).be("filter-input")),transparent:"",disabled:e.unref(l).disabled,placeholder:e.unref(L).search,autocomplete:!1,tabindex:-1,role:"combobox","aria-autocomplete":"list",onInput:he,onKeydown:Oe,onFocus:se,onBlur:ue,onCompositionstart:a[10]||(a[10]=r=>N.value=!0),onCompositionend:H,onChange:H},{suffix:e.withCtx(()=>[e.createVNode(e.unref(A),e.normalizeProps(e.guardReactiveProps(e.unref(E).search)),null,16)]),_:1},8,["class","disabled","placeholder"])],2)):e.createCommentVNode("",!0),G.prepend||e.unref(l).slots.prepend?e.renderSlot(t.$slots,"prepend",{key:1},()=>[e.createVNode(e.unref(p),{renderer:e.unref(l).slots.prepend},null,8,["renderer"])]):e.createCommentVNode("",!0),e.createVNode(e.unref(Bt),{ref_key:"virtualList",ref:ne,inherit:"",style:e.normalizeStyle({height:void 0,maxHeight:`${e.unref(l).maxListHeight}px`}),items:U.value,"item-size":32,"use-y-bar":"",height:"100%","id-key":"value","items-attrs":{class:[e.unref(o).be("options"),e.unref(l).optionCheck?e.unref(o).bem("options","has-check"):""],role:"listbox",ariaLabel:"options",ariaMultiselectable:e.unref(l).multiple}},{default:e.withCtx(({item:r,index:n})=>[r.group?(e.openBlock(),e.createElementBlock("li",{key:0,class:e.normalizeClass([e.unref(o).ns("option-vars"),e.unref(o).be("group")]),title:r.label},[e.renderSlot(t.$slots,"group",{option:r,index:n},()=>[e.createVNode(e.unref(p),{renderer:e.unref(l).slots.group,data:{option:r,index:n}},{default:e.withCtx(()=>[e.createElementVNode("div",{class:e.normalizeClass([e.unref(o).be("label"),e.unref(o).bem("label","group")]),style:e.normalizeStyle({paddingInlineStart:`${r.depth*6}px`})},e.toDisplayString(r.label),7)]),_:2},1032,["renderer","data"])])],10,qt)):(e.openBlock(),e.createBlock(e.unref(Et),{key:1,label:r.label,value:r.value,disabled:r.disabled||Fe.value&&!x(r),divided:r.divided,"no-title":r.title,hitting:r.hitting,selected:x(r),"no-hover":"",onSelect:i=>K(r),onMousemove:i=>I(n,!1)},{default:e.withCtx(()=>[e.renderSlot(t.$slots,"default",{option:r,index:n,selected:x(r)},()=>[e.createVNode(e.unref(p),{renderer:e.unref(l).slots.default,data:{option:r,index:n,selected:x(r)}},{default:e.withCtx(()=>[e.createElementVNode("span",{class:e.normalizeClass(e.unref(o).be("label")),style:e.normalizeStyle({paddingInlineStart:`${r.depth*6}px`})},e.toDisplayString(r.label),7),e.unref(l).optionCheck?(e.openBlock(),e.createBlock(e.Transition,{key:0,name:e.unref(o).ns("fade"),appear:""},{default:e.withCtx(()=>[x(r)?(e.openBlock(),e.createBlock(e.unref(A),e.mergeProps({key:0},e.unref(E).check,{class:e.unref(o).be("check")}),null,16,["class"])):e.createCommentVNode("",!0)]),_:2},1032,["name"])):e.createCommentVNode("",!0)]),_:2},1032,["renderer","data"])])]),_:2},1032,["label","value","disabled","divided","no-title","hitting","selected","onSelect","onMousemove"]))]),empty:e.withCtx(()=>[e.createElementVNode("div",{class:e.normalizeClass(e.unref(o).be("empty"))},[e.renderSlot(t.$slots,"empty",{},()=>[e.createVNode(e.unref(p),{renderer:e.unref(l).slots.empty},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(l).emptyText??e.unref(L).empty),1)]),_:1},8,["renderer"])])],2)]),_:3},8,["style","items","items-attrs"]),G.append||e.unref(l).slots.append?e.renderSlot(t.$slots,"append",{key:2},()=>[e.createVNode(e.unref(p),{renderer:e.unref(l).slots.append},null,8,["renderer"])]):e.createCommentVNode("",!0)],2)]),_:3},8,["renderer","data"])])]),_:3},8,["class","visible","to","transition","alive"])],10,$t))}});module.exports=It; //# sourceMappingURL=select.vue2.cjs.map