UNPKG

vue-ex-ui

Version:

赛博朋克美学风格 Vue 3 组件库

1 lines 144 kB
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),W=require("vue-i18n"),Ee=e.defineComponent({__name:"ExTypography",props:{variant:{default:"text"},size:{default:"base"},color:{default:"text-primary"},weight:{default:"normal"},align:{default:"left"},truncate:{type:Boolean,default:!1},selectable:{type:Boolean,default:!0},gradient:{type:Boolean,default:!1},neon:{type:Boolean,default:!1},glow:{type:Boolean,default:!1},customStyle:{}},setup(f){const w=f,{t:n}=W.useI18n(),t=e.computed(()=>{switch(w.variant){case"heading":switch(w.size){case"6xl":case"5xl":return"h1";case"4xl":case"3xl":return"h2";case"2xl":case"xl":return"h3";case"lg":return"h4";case"base":return"h5";case"sm":case"xs":return"h6";default:return"h3"}case"paragraph":return"p";case"code":return"code";case"quote":return"blockquote";case"caption":return"span";default:return"span"}}),r=e.computed(()=>{const v={...w.customStyle};if(w.align&&(v.textAlign=w.align),w.color&&(w.color.startsWith("text-")?v.color=`var(--ex-color-${w.color})`:v.color=`var(--ex-color-${w.color})`),w.weight&&(v.fontWeight=`var(--ex-font-${w.weight})`),w.gradient)switch(w.color){case"primary":v.background="linear-gradient(135deg, var(--ex-color-primary-500), var(--ex-color-primary-700))",v.webkitBackgroundClip="text",v.webkitTextFillColor="transparent",v.backgroundClip="text";break;case"secondary":v.background="linear-gradient(135deg, var(--ex-color-secondary-500), var(--ex-color-secondary-700))",v.webkitBackgroundClip="text",v.webkitTextFillColor="transparent",v.backgroundClip="text";break;case"accent":v.background="linear-gradient(135deg, var(--ex-color-accent-500), var(--ex-color-accent-700))",v.webkitBackgroundClip="text",v.webkitTextFillColor="transparent",v.backgroundClip="text";break}return v});return(v,s)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.value),e.mergeProps({class:["ex-typography",`ex-typography--${v.variant}`,`ex-typography--${v.size}`,{"ex-typography--truncate":v.truncate,"ex-typography--selectable":v.selectable,"ex-typography--gradient":v.gradient,"ex-typography--neon":v.neon,"ex-typography--glow":v.glow}],style:r.value},v.$attrs),{default:e.withCtx(()=>[e.renderSlot(v.$slots,"default",{},void 0,!0)]),_:3},16,["class","style"]))}}),Y=(f,w)=>{const n=f.__vccOpts||f;for(const[t,r]of w)n[t]=r;return n},ee=Y(Ee,[["__scopeId","data-v-a76d27fa"]]),we={install(f){f.component("ExTypography",ee)}},Ce=["src","alt"],$e={key:1,class:"ex-icon__loading"},Se=e.defineComponent({__name:"ExIcon",props:{name:{},size:{default:"md"},color:{default:"current"},collection:{default:"ri"},loading:{type:Boolean,default:!1},spin:{type:Boolean,default:!1},pulse:{type:Boolean,default:!1},glow:{type:Boolean,default:!1},neon:{type:Boolean,default:!1},alt:{default:""},customStyle:{}},emits:["load","error"],setup(f,{emit:w}){const n=f,t=w,{t:r}=W.useI18n(),v=e.ref(!1),s=e.ref(!1),m=e.computed(()=>{if(n.loading)return"";const x=n.collection||"ri",E=n.name,k=n.color==="current"?"currentColor":`var(--ex-color-${n.color})`;return`https://api.iconify.design/${x}/${E}.svg?color=${encodeURIComponent(k)}`}),g=e.computed(()=>{const x={...n.customStyle};return n.color&&n.color!=="current"&&(x.color=`var(--ex-color-${n.color})`),x}),B=()=>{v.value=!1,s.value=!1,t("load")},y=x=>{v.value=!0,s.value=!1,t("error",x)};return e.watch(()=>n.loading,x=>{x&&(s.value=!0,v.value=!1)}),(x,E)=>(e.openBlock(),e.createElementBlock("div",e.mergeProps({class:["ex-icon",`ex-icon--${x.size}`,{"ex-icon--loading":x.loading,"ex-icon--spin":x.spin,"ex-icon--pulse":x.pulse,"ex-icon--glow":x.glow,"ex-icon--neon":x.neon}],style:g.value},x.$attrs),[x.loading?(e.openBlock(),e.createElementBlock("div",$e,[...E[0]||(E[0]=[e.createElementVNode("div",{class:"ex-icon__spinner"},null,-1)])])):(e.openBlock(),e.createElementBlock("img",{key:0,src:m.value,alt:x.alt,class:e.normalizeClass(["ex-icon__img",{"ex-icon__img--error":v.value}]),onLoad:B,onError:y},null,42,Ce))],16))}}),M=Y(Se,[["__scopeId","data-v-685c761b"]]),Ne={install(f){f.component("ExIcon",M)}},De=["disabled","type","aria-disabled","aria-label"],Ie={class:"ex-btn__content"},Te={key:2,class:"ex-btn__text"},Me={key:0,class:"ex-btn__scan-line"},ze=e.defineComponent({__name:"ExButton",props:{type:{default:"primary"},size:{default:"md"},disabled:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},block:{type:Boolean,default:!1},ghost:{type:Boolean,default:!1},dashed:{type:Boolean,default:!1},round:{type:Boolean,default:!1},circle:{type:Boolean,default:!1},glow:{type:Boolean,default:!1},neon:{type:Boolean,default:!1},cyber:{type:Boolean,default:!1},icon:{},suffixIcon:{},htmlType:{default:"button"},ariaLabel:{},customStyle:{}},emits:["click"],setup(f,{emit:w}){const n=f,t=w,{t:r}=W.useI18n(),v=e.computed(()=>({xs:"xs",sm:"sm",md:"sm",lg:"md",xl:"lg"})[n.size]),s=m=>{if(n.disabled||n.loading){m.preventDefault();return}t("click",m)};return(m,g)=>(e.openBlock(),e.createElementBlock("button",e.mergeProps({class:["ex-btn",`ex-btn--${m.type}`,`ex-btn--${m.size}`,{"ex-btn--loading":m.loading,"ex-btn--disabled":m.disabled,"ex-btn--block":m.block,"ex-btn--ghost":m.ghost,"ex-btn--dashed":m.dashed,"ex-btn--round":m.round,"ex-btn--circle":m.circle,"ex-btn--glow":m.glow,"ex-btn--neon":m.neon,"ex-btn--cyber":m.cyber}],disabled:m.disabled||m.loading,type:m.htmlType,"aria-disabled":m.disabled||m.loading,"aria-label":m.ariaLabel},m.$attrs,{onClick:s}),[e.createElementVNode("div",Ie,[m.icon&&!m.loading?(e.openBlock(),e.createBlock(M,{key:0,name:m.icon,size:v.value,class:e.normalizeClass(["ex-btn__icon","ex-btn__icon--prefix"])},null,8,["name","size"])):e.createCommentVNode("",!0),m.loading?(e.openBlock(),e.createBlock(M,{key:1,name:"loader-4-line",size:v.value,spin:"",class:"ex-btn__icon ex-btn__icon--loading"},null,8,["size"])):e.createCommentVNode("",!0),m.$slots.default?(e.openBlock(),e.createElementBlock("span",Te,[e.renderSlot(m.$slots,"default",{},void 0,!0)])):e.createCommentVNode("",!0),m.suffixIcon&&!m.loading?(e.openBlock(),e.createBlock(M,{key:3,name:m.suffixIcon,size:v.value,class:e.normalizeClass(["ex-btn__icon","ex-btn__icon--suffix"])},null,8,["name","size"])):e.createCommentVNode("",!0)]),m.cyber?(e.openBlock(),e.createElementBlock("div",Me)):e.createCommentVNode("",!0)],16,De))}}),j=Y(ze,[["__scopeId","data-v-310293cd"]]),Fe={install(f){f.component("ExButton",j)}},Le={class:"ex-link__content"},Pe={class:"ex-link__text"},Re={key:0,class:"ex-link__scan-line"},Ae=e.defineComponent({__name:"ExLink",props:{href:{},type:{default:"primary"},size:{default:"md"},disabled:{type:Boolean,default:!1},underline:{type:Boolean,default:!1},hoverUnderline:{type:Boolean,default:!0},glow:{type:Boolean,default:!1},neon:{type:Boolean,default:!1},cyber:{type:Boolean,default:!1},icon:{},suffixIcon:{},target:{default:"_self"},ariaLabel:{},customStyle:{}},emits:["click"],setup(f,{emit:w}){const n=f,t=w,{t:r}=W.useI18n(),v=e.computed(()=>n.href?"a":"span"),s=e.computed(()=>({xs:"xs",sm:"sm",md:"sm",lg:"md",xl:"lg"})[n.size]),m=e.computed(()=>{if(n.target==="_blank")return"noopener noreferrer"}),g=B=>{if(n.disabled){B.preventDefault();return}t("click",B)};return(B,y)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(v.value),e.mergeProps({class:["ex-link",`ex-link--${B.type}`,`ex-link--${B.size}`,{"ex-link--disabled":B.disabled,"ex-link--underline":B.underline,"ex-link--hover-underline":B.hoverUnderline,"ex-link--glow":B.glow,"ex-link--neon":B.neon,"ex-link--cyber":B.cyber}],href:B.disabled?void 0:B.href,target:B.target,rel:m.value,"aria-disabled":B.disabled,"aria-label":B.ariaLabel},B.$attrs,{onClick:g}),{default:e.withCtx(()=>[e.createElementVNode("div",Le,[B.icon?(e.openBlock(),e.createBlock(M,{key:0,name:B.icon,size:s.value,class:e.normalizeClass(["ex-link__icon","ex-link__icon--prefix"])},null,8,["name","size"])):e.createCommentVNode("",!0),e.createElementVNode("span",Pe,[e.renderSlot(B.$slots,"default",{},void 0,!0)]),B.suffixIcon?(e.openBlock(),e.createBlock(M,{key:1,name:B.suffixIcon,size:s.value,class:e.normalizeClass(["ex-link__icon","ex-link__icon--suffix"])},null,8,["name","size"])):e.createCommentVNode("",!0)]),B.cyber?(e.openBlock(),e.createElementBlock("div",Re)):e.createCommentVNode("",!0)]),_:3},16,["class","href","target","rel","aria-disabled","aria-label"]))}}),te=Y(Ae,[["__scopeId","data-v-f6e55be3"]]),qe={install(f){f.component("ExLink",te)}},Ke=["src","alt"],Oe={key:1,class:"ex-avatar__loading"},Ue={key:2,class:"ex-avatar__fallback"},He={key:3,class:"ex-avatar__status"},We={key:4,class:"ex-avatar__badge"},Ye={class:"ex-avatar__badge-text"},Xe={key:5,class:"ex-avatar__scan-line"},je=e.defineComponent({__name:"ExAvatar",props:{src:{},size:{default:"md"},shape:{default:"circle"},disabled:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},glow:{type:Boolean,default:!1},neon:{type:Boolean,default:!1},cyber:{type:Boolean,default:!1},online:{type:Boolean},offline:{type:Boolean},badge:{},alt:{},fallbackIcon:{default:"user-line"},customStyle:{}},emits:["load","error"],setup(f,{emit:w}){const n=f,t=w,{t:r}=W.useI18n(),v=e.ref(!1),s=e.ref(!1),m=e.computed(()=>({...n.customStyle})),g=()=>{v.value=!1,s.value=!1,t("load")},B=y=>{v.value=!0,s.value=!1,t("error",y)};return e.watch(()=>n.loading,y=>{y&&(s.value=!0,v.value=!1)}),(y,x)=>(e.openBlock(),e.createElementBlock("div",e.mergeProps({class:["ex-avatar",`ex-avatar--${y.size}`,`ex-avatar--${y.shape}`,{"ex-avatar--loading":y.loading,"ex-avatar--disabled":y.disabled,"ex-avatar--glow":y.glow,"ex-avatar--neon":y.neon,"ex-avatar--cyber":y.cyber,"ex-avatar--online":y.online,"ex-avatar--offline":y.offline}],style:m.value},y.$attrs),[y.src&&!y.loading?(e.openBlock(),e.createElementBlock("img",{key:0,src:y.src,alt:y.alt,class:e.normalizeClass(["ex-avatar__img",{"ex-avatar__img--error":v.value}]),onLoad:g,onError:B},null,42,Ke)):e.createCommentVNode("",!0),y.loading?(e.openBlock(),e.createElementBlock("div",Oe,[e.createVNode(M,{name:"loader-4-line",spin:"",class:"ex-avatar__spinner"})])):e.createCommentVNode("",!0),!y.src||y.loading||v.value?(e.openBlock(),e.createElementBlock("div",Ue,[y.$slots.default?e.renderSlot(y.$slots,"default",{key:0},void 0,!0):(e.openBlock(),e.createBlock(M,{key:1,name:y.fallbackIcon,class:"ex-avatar__icon"},null,8,["name"]))])):e.createCommentVNode("",!0),y.online!==void 0?(e.openBlock(),e.createElementBlock("div",He,[e.createElementVNode("div",{class:e.normalizeClass(["ex-avatar__status-dot",{"ex-avatar__status-dot--online":y.online,"ex-avatar__status-dot--offline":!y.online}])},null,2)])):e.createCommentVNode("",!0),y.badge?(e.openBlock(),e.createElementBlock("div",We,[e.createElementVNode("span",Ye,e.toDisplayString(y.badge),1)])):e.createCommentVNode("",!0),y.cyber?(e.openBlock(),e.createElementBlock("div",Xe)):e.createCommentVNode("",!0)],16))}}),oe=Y(je,[["__scopeId","data-v-1a3a8f92"]]),Qe={install(f){f.component("ExAvatar",oe)}},Ge={class:"ex-badge__content"},Je={key:0,class:"ex-badge__dot"},Ze={key:1,class:"ex-badge__text"},et={key:0,class:"ex-badge__scan-line"},tt={key:1,class:"ex-badge__pulse"},ot=e.defineComponent({__name:"ExBadge",props:{content:{},type:{default:"error"},size:{default:"md"},position:{default:"top-right"},dot:{type:Boolean,default:!1},pulse:{type:Boolean,default:!1},glow:{type:Boolean,default:!1},neon:{type:Boolean,default:!1},cyber:{type:Boolean,default:!1},floating:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},max:{default:99},customStyle:{}},setup(f){const w=f,{t:n}=W.useI18n(),t=e.computed(()=>w.dot?"":typeof w.content=="number"?w.content>w.max?`${w.max}+`:w.content.toString():w.content?w.content.toString():""),r=e.computed(()=>({...w.customStyle}));return(v,s)=>(e.openBlock(),e.createElementBlock("div",e.mergeProps({class:["ex-badge",`ex-badge--${v.type}`,`ex-badge--${v.size}`,`ex-badge--${v.position}`,{"ex-badge--dot":v.dot,"ex-badge--pulse":v.pulse,"ex-badge--glow":v.glow,"ex-badge--neon":v.neon,"ex-badge--cyber":v.cyber,"ex-badge--floating":v.floating,"ex-badge--disabled":v.disabled}],style:r.value},v.$attrs),[e.createElementVNode("div",Ge,[v.dot?(e.openBlock(),e.createElementBlock("div",Je)):v.content!==void 0?(e.openBlock(),e.createElementBlock("span",Ze,e.toDisplayString(t.value),1)):e.renderSlot(v.$slots,"default",{key:2},void 0,!0)]),v.cyber?(e.openBlock(),e.createElementBlock("div",et)):e.createCommentVNode("",!0),v.pulse?(e.openBlock(),e.createElementBlock("div",tt)):e.createCommentVNode("",!0)],16))}}),ae=Y(ot,[["__scopeId","data-v-3f50e5dd"]]),at={install(f){f.component("ExBadge",ae)}},lt={key:0,class:"ex-divider__content"},nt={class:"ex-divider__text"},rt={key:1,class:"ex-divider__line ex-divider__line--full"},st={key:2,class:"ex-divider__scan-line"},it={key:3,class:"ex-divider__animation"},ct=e.defineComponent({__name:"ExDivider",props:{type:{default:"text"},orientation:{default:"horizontal"},size:{default:"md"},dashed:{type:Boolean,default:!1},solid:{type:Boolean,default:!1},glow:{type:Boolean},neon:{type:Boolean},cyber:{type:Boolean},animated:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},text:{},customStyle:{}},setup(f){const w=f,{t:n}=W.useI18n(),t=e.useSlots(),r=e.computed(()=>w.text||t.default),v=e.computed(()=>({...w.customStyle}));return(s,m)=>(e.openBlock(),e.createElementBlock("div",e.mergeProps({class:["ex-divider",`ex-divider--${s.type}`,`ex-divider--${s.orientation}`,`ex-divider--${s.size}`,{"ex-divider--dashed":s.dashed,"ex-divider--solid":s.solid,"ex-divider--glow":s.glow,"ex-divider--neon":s.neon,"ex-divider--cyber":s.cyber,"ex-divider--animated":s.animated,"ex-divider--disabled":s.disabled}],style:v.value},s.$attrs),[r.value?(e.openBlock(),e.createElementBlock("div",lt,[m[0]||(m[0]=e.createElementVNode("div",{class:"ex-divider__line ex-divider__line--left"},null,-1)),e.createElementVNode("div",nt,[e.renderSlot(s.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(s.text),1)],!0)]),m[1]||(m[1]=e.createElementVNode("div",{class:"ex-divider__line ex-divider__line--right"},null,-1))])):(e.openBlock(),e.createElementBlock("div",rt)),s.cyber?(e.openBlock(),e.createElementBlock("div",st)):e.createCommentVNode("",!0),s.animated?(e.openBlock(),e.createElementBlock("div",it)):e.createCommentVNode("",!0)],16))}}),le=Y(ct,[["__scopeId","data-v-1fa09b4d"]]),dt={install(f){f.component("ExDivider",le)}},ut={key:1},pt={key:0,class:"ex-space__scan-line"},mt=e.defineComponent({__name:"ExSpace",props:{direction:{default:"horizontal"},size:{default:"md"},align:{default:"center"},wrap:{type:Boolean,default:!1},fill:{type:Boolean,default:!1},glow:{type:Boolean,default:!1},neon:{type:Boolean,default:!1},cyber:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},customSize:{},customStyle:{}},setup(f){const w=f,{t:n}=W.useI18n(),t=e.useSlots(),r=e.computed(()=>t.default?t.default():[]),v=e.computed(()=>{const s={...w.customStyle};if(w.customSize){const m=typeof w.customSize=="number"?`${w.customSize}px`:w.customSize;w.direction,s.gap=m}return s});return(s,m)=>(e.openBlock(),e.createElementBlock("div",e.mergeProps({class:["ex-space",`ex-space--${s.direction}`,`ex-space--${s.size}`,`ex-space--${s.align}`,{"ex-space--wrap":s.wrap,"ex-space--fill":s.fill,"ex-space--glow":s.glow,"ex-space--neon":s.neon,"ex-space--cyber":s.cyber,"ex-space--disabled":s.disabled}],style:v.value},s.$attrs),[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value,(g,B)=>(e.openBlock(),e.createElementBlock("div",{key:B,class:e.normalizeClass(["ex-space__item",{"ex-space__item--glow":s.glow,"ex-space__item--neon":s.neon,"ex-space__item--cyber":s.cyber}])},[typeof g=="object"?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(g),{key:0})):(e.openBlock(),e.createElementBlock("span",ut,e.toDisplayString(g),1))],2))),128)),s.cyber?(e.openBlock(),e.createElementBlock("div",pt)):e.createCommentVNode("",!0)],16))}}),ne=Y(mt,[["__scopeId","data-v-336307e4"]]),ft={install(f){f.component("ExSpace",ne)}},ht={key:0,class:"ex-input__prefix"},yt={class:"ex-input__wrapper"},vt=["id","type","value","placeholder","disabled","readonly","maxlength","minlength","autocomplete","autofocus","spellcheck"],kt={key:0,class:"ex-input__suffix"},gt=["aria-label"],bt={key:1,class:"ex-input__suffix"},_t=["aria-label"],Bt={key:2,class:"ex-input__suffix"},xt={key:3,class:"ex-input__count"},Vt={class:"ex-input__count-text"},Et={key:1,class:"ex-input__scan-line"},wt={key:2,class:"ex-input__border-animation"},Ct=e.defineComponent({__name:"ExInput",props:{modelValue:{},type:{default:"text"},size:{default:"md"},placeholder:{},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},clearable:{type:Boolean,default:!1},showPassword:{type:Boolean,default:!1},maxlength:{},minlength:{},showWordLimit:{type:Boolean,default:!1},autocomplete:{},autofocus:{type:Boolean,default:!1},spellcheck:{type:Boolean,default:!1},prefixIcon:{},suffixIcon:{},glow:{type:Boolean},neon:{type:Boolean},cyber:{type:Boolean},customStyle:{}},emits:["update:modelValue","change","focus","blur","keydown","keyup","paste","cut","clear"],setup(f,{expose:w,emit:n}){const t=f,r=n,{t:v}=W.useI18n(),s=e.ref(),m=e.ref(!1),g=e.ref(!1),B=e.ref(!1),y=e.computed(()=>`ex-input-${Math.random().toString(36).substr(2,9)}`),x=e.computed(()=>t.type==="password"?g.value?"text":"password":t.type),E=e.computed(()=>String(t.modelValue||"").length),k=e.computed(()=>t.maxlength&&E.value>t.maxlength),S=e.computed(()=>t.maxlength&&E.value===t.maxlength),C=e.computed(()=>t.maxlength&&E.value>t.maxlength*.8),T=e.computed(()=>({...t.customStyle})),L=l=>{if(B.value)return;const z=l.target.value;r("update:modelValue",z)},N=l=>{const z=l.target.value;r("change",z)},A=l=>{m.value=!0,r("focus",l)},K=l=>{m.value=!1,r("blur",l)},O=l=>{r("keydown",l)},H=l=>{r("keyup",l)},h=l=>{r("paste",l)},$=l=>{r("cut",l)},F=()=>{B.value=!0},I=l=>{B.value=!1;const z=l.target.value;r("update:modelValue",z)},c=()=>{g.value=!g.value},u=()=>{r("update:modelValue",""),r("clear"),e.nextTick(()=>{s.value?.focus()})};return e.watch(()=>t.autofocus,l=>{l&&e.nextTick(()=>{s.value?.focus()})}),w({focus:()=>s.value?.focus(),blur:()=>s.value?.blur(),select:()=>s.value?.select(),clear:u}),(l,d)=>(e.openBlock(),e.createElementBlock("div",e.mergeProps({class:["ex-input",`ex-input--${l.size}`,`ex-input--${l.type}`,{"ex-input--disabled":l.disabled,"ex-input--readonly":l.readonly,"ex-input--error":k.value,"ex-input--success":S.value,"ex-input--warning":C.value,"ex-input--focused":m.value,"ex-input--glow":l.glow,"ex-input--neon":l.neon,"ex-input--cyber":l.cyber,"ex-input--clearable":l.clearable,"ex-input--show-password":l.showPassword,"ex-input--prefix-icon":l.prefixIcon,"ex-input--suffix-icon":l.suffixIcon}],style:T.value},l.$attrs),[l.prefixIcon?(e.openBlock(),e.createElementBlock("div",ht,[e.createVNode(M,{name:l.prefixIcon,class:"ex-input__prefix-icon"},null,8,["name"])])):e.createCommentVNode("",!0),e.createElementVNode("div",yt,[e.createElementVNode("input",{id:y.value,ref_key:"inputRef",ref:s,type:x.value,value:l.modelValue,placeholder:l.placeholder,disabled:l.disabled,readonly:l.readonly,maxlength:l.maxlength,minlength:l.minlength,autocomplete:l.autocomplete,autofocus:l.autofocus,spellcheck:l.spellcheck,class:e.normalizeClass(["ex-input__inner",{"ex-input__inner--focused":m.value,"ex-input__inner--disabled":l.disabled,"ex-input__inner--readonly":l.readonly}]),onInput:L,onChange:N,onFocus:A,onBlur:K,onKeydown:O,onKeyup:H,onPaste:h,onCut:$,onCompositionstart:F,onCompositionend:I},null,42,vt),l.showPassword&&x.value==="password"?(e.openBlock(),e.createElementBlock("div",kt,[e.createElementVNode("button",{type:"button",class:"ex-input__password-toggle","aria-label":g.value?"隐藏密码":"显示密码",onClick:c},[e.createVNode(M,{name:g.value?"eye-off-line":"eye-line"},null,8,["name"])],8,gt)])):e.createCommentVNode("",!0),l.clearable&&l.modelValue&&!l.disabled&&!l.readonly?(e.openBlock(),e.createElementBlock("div",bt,[e.createElementVNode("button",{type:"button",class:"ex-input__clear","aria-label":e.unref(v)("ex.input.clear"),onClick:u},[e.createVNode(M,{name:"close-line"})],8,_t)])):e.createCommentVNode("",!0),l.suffixIcon&&!l.clearable&&!l.showPassword?(e.openBlock(),e.createElementBlock("div",Bt,[e.createVNode(M,{name:l.suffixIcon,class:"ex-input__suffix-icon"},null,8,["name"])])):e.createCommentVNode("",!0),l.showWordLimit&&l.maxlength?(e.openBlock(),e.createElementBlock("div",xt,[e.createElementVNode("span",Vt,e.toDisplayString(E.value)+"/"+e.toDisplayString(l.maxlength),1)])):e.createCommentVNode("",!0)]),l.cyber&&m.value?(e.openBlock(),e.createElementBlock("div",Et)):e.createCommentVNode("",!0),m.value?(e.openBlock(),e.createElementBlock("div",wt)):e.createCommentVNode("",!0)],16))}}),G=Y(Ct,[["__scopeId","data-v-2fa89814"]]),$t={install(f){f.component("ExInput",G)}},St={key:0,class:"ex-textarea__prefix"},Nt={class:"ex-textarea__wrapper"},Dt=["id","value","placeholder","disabled","readonly","maxlength","minlength","rows","cols","autofocus","name","form","required","autocomplete","spellcheck","wrap"],It={key:0,class:"ex-textarea__word-limit"},Tt={class:"ex-textarea__word-count"},Mt={class:"ex-textarea__word-max"},zt={key:1,class:"ex-textarea__suffix"},Ft={key:2,class:"ex-textarea__error"},Lt={key:3,class:"ex-textarea__help"},Pt=e.defineComponent({__name:"ExTextarea",props:{modelValue:{},type:{default:"primary"},size:{default:"md"},placeholder:{},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},autofocus:{type:Boolean,default:!1},maxlength:{},minlength:{},rows:{},cols:{},resizable:{type:Boolean,default:!0},showWordLimit:{type:Boolean,default:!1},autosize:{type:[Boolean,Object],default:!1},prefixIcon:{},suffixIcon:{},error:{type:Boolean},errorMessage:{},helpText:{},glow:{type:Boolean,default:!1},neon:{type:Boolean,default:!1},cyber:{type:Boolean,default:!1},customStyle:{},id:{},name:{},form:{},required:{type:Boolean,default:!1},autocomplete:{},spellcheck:{type:Boolean,default:!0},wrap:{default:"soft"}},emits:["update:modelValue","change","focus","blur","keydown","keyup","paste","cut","compositionstart","compositionend"],setup(f,{expose:w,emit:n}){const t=f,r=n,{t:v}=W.useI18n(),s=e.ref(),m=e.ref(!1),g=e.ref(!1),B=e.computed(()=>t.error||t.errorMessage&&t.errorMessage.length>0),y=e.computed(()=>t.modelValue?.length||0),x=e.computed(()=>({...t.customStyle})),E=e.computed(()=>{const u={};return t.autosize?(u.resize="none",u.overflow="hidden"):t.resizable||(u.resize="none"),u}),k=u=>{const d=u.target.value;r("update:modelValue",d),t.autosize&&e.nextTick(()=>{h()})},S=u=>{const d=u.target.value;r("change",d,u)},C=u=>{m.value=!0,r("focus",u)},T=u=>{m.value=!1,r("blur",u)},L=u=>{r("keydown",u)},N=u=>{r("keyup",u)},A=u=>{r("paste",u)},K=u=>{r("cut",u)},O=u=>{g.value=!0,r("compositionstart",u)},H=u=>{g.value=!1,r("compositionend",u)},h=()=>{if(!s.value||!t.autosize)return;const u=s.value,l=typeof t.autosize=="object"&&t.autosize.minRows||1,d=typeof t.autosize=="object"&&t.autosize.maxRows||1/0;u.style.height="auto";const z=parseInt(getComputedStyle(u).lineHeight)||20,P=parseInt(getComputedStyle(u).paddingTop)||0,U=parseInt(getComputedStyle(u).paddingBottom)||0,X=parseInt(getComputedStyle(u).borderTopWidth)||0,V=parseInt(getComputedStyle(u).borderBottomWidth)||0,a=u.scrollHeight-P-U-X-V,b=Math.max(l,Math.min(d,Math.ceil(a/z)));u.style.height=`${b*z+P+U+X+V}px`},$=()=>{s.value?.focus()},F=()=>{s.value?.blur()},I=()=>{s.value?.select()},c=(u,l)=>{s.value?.setSelectionRange(u,l)};return e.watch(()=>t.autosize,()=>{t.autosize&&e.nextTick(()=>{h()})},{immediate:!0}),e.watch(()=>t.modelValue,()=>{t.autosize&&e.nextTick(()=>{h()})}),w({focus:$,blur:F,select:I,setSelectionRange:c,textareaRef:s}),(u,l)=>(e.openBlock(),e.createElementBlock("div",e.mergeProps({class:["ex-textarea",`ex-textarea--${u.size}`,`ex-textarea--type-${u.type}`,{"ex-textarea--disabled":u.disabled,"ex-textarea--readonly":u.readonly,"ex-textarea--focused":m.value,"ex-textarea--glow":u.glow,"ex-textarea--neon":u.neon,"ex-textarea--cyber":u.cyber,"ex-textarea--resizable":u.resizable,"ex-textarea--has-error":B.value,"ex-textarea--has-prefix":u.prefixIcon||u.$slots.prefix,"ex-textarea--has-suffix":u.suffixIcon||u.$slots.suffix}],style:x.value},u.$attrs),[u.prefixIcon||u.$slots.prefix?(e.openBlock(),e.createElementBlock("div",St,[u.prefixIcon?(e.openBlock(),e.createBlock(M,{key:0,name:u.prefixIcon,class:"ex-textarea__prefix-icon"},null,8,["name"])):e.renderSlot(u.$slots,"prefix",{key:1},void 0,!0)])):e.createCommentVNode("",!0),e.createElementVNode("div",Nt,[e.createElementVNode("textarea",{id:u.id,ref_key:"textareaRef",ref:s,value:u.modelValue,placeholder:u.placeholder,disabled:u.disabled,readonly:u.readonly,maxlength:u.maxlength,minlength:u.minlength,rows:u.rows,cols:u.cols,autofocus:u.autofocus,name:u.name,form:u.form,required:u.required,autocomplete:u.autocomplete,spellcheck:u.spellcheck,wrap:u.wrap,class:e.normalizeClass(["ex-textarea__input",{"ex-textarea__input--error":B.value,"ex-textarea__input--resizable":u.resizable}]),style:e.normalizeStyle(E.value),onInput:k,onChange:S,onFocus:C,onBlur:T,onKeydown:L,onKeyup:N,onPaste:A,onCut:K,onCompositionstart:O,onCompositionend:H},null,46,Dt),u.showWordLimit&&u.maxlength?(e.openBlock(),e.createElementBlock("div",It,[e.createElementVNode("span",Tt,e.toDisplayString(y.value),1),l[0]||(l[0]=e.createElementVNode("span",{class:"ex-textarea__word-separator"},"/",-1)),e.createElementVNode("span",Mt,e.toDisplayString(u.maxlength),1)])):e.createCommentVNode("",!0)]),u.suffixIcon||u.$slots.suffix?(e.openBlock(),e.createElementBlock("div",zt,[u.suffixIcon?(e.openBlock(),e.createBlock(M,{key:0,name:u.suffixIcon,class:"ex-textarea__suffix-icon"},null,8,["name"])):e.renderSlot(u.$slots,"suffix",{key:1},void 0,!0)])):e.createCommentVNode("",!0),B.value&&u.errorMessage?(e.openBlock(),e.createElementBlock("div",Ft,e.toDisplayString(u.errorMessage),1)):e.createCommentVNode("",!0),u.helpText&&!B.value?(e.openBlock(),e.createElementBlock("div",Lt,e.toDisplayString(u.helpText),1)):e.createCommentVNode("",!0)],16))}}),re=Y(Pt,[["__scopeId","data-v-60638e74"]]),Rt={install(f){f.component("ExTextarea",re)}},At={key:0,class:"ex-input-number__prefix"},qt={class:"ex-input-number__wrapper"},Kt=["id","value","placeholder","disabled","readonly","autofocus","name","form","required","autocomplete"],Ot={key:0,class:"ex-input-number__controls"},Ut=["disabled"],Ht=["disabled"],Wt={key:1,class:"ex-input-number__suffix"},Yt={key:2,class:"ex-input-number__unit"},Xt={key:3,class:"ex-input-number__error"},jt={key:4,class:"ex-input-number__help"},Qt=e.defineComponent({__name:"ExInputNumber",props:{modelValue:{},type:{default:"primary"},size:{default:"md"},placeholder:{},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},autofocus:{type:Boolean,default:!1},min:{default:-1/0},max:{default:1/0},step:{default:1},precision:{default:0},controls:{type:Boolean,default:!0},controlsPosition:{default:"right"},strict:{type:Boolean,default:!1},prefixIcon:{},suffixIcon:{},unit:{},error:{type:Boolean},errorMessage:{},helpText:{},glow:{type:Boolean,default:!1},neon:{type:Boolean,default:!1},cyber:{type:Boolean,default:!1},customStyle:{},id:{},name:{},form:{},required:{type:Boolean,default:!1},autocomplete:{}},emits:["update:modelValue","change","focus","blur","keydown","keyup","paste","cut","compositionstart","compositionend","increase","decrease"],setup(f,{expose:w,emit:n}){const t=f,r=n,{t:v}=W.useI18n(),s=e.ref(),m=e.ref(!1),g=e.ref(!1),B=e.ref(null),y=e.computed(()=>t.error||t.errorMessage&&t.errorMessage.length>0),x=e.computed(()=>{if(t.modelValue===void 0||t.modelValue===null)return"";const o=Number(t.modelValue);return isNaN(o)?"":t.precision>0?o.toFixed(t.precision):o.toString()}),E=e.computed(()=>t.modelValue!==void 0&&t.modelValue<=t.min),k=e.computed(()=>t.modelValue!==void 0&&t.modelValue>=t.max),S=e.computed(()=>({...t.customStyle})),C=e.computed(()=>({})),T=o=>{if(o===""||o===null||o===void 0)return;const p=parseFloat(o);return isNaN(p)?void 0:p},L=o=>t.precision>0?Number(o.toFixed(t.precision)):Math.round(o),N=o=>Math.min(Math.max(o,t.min),t.max),A=o=>{const p=o.target,_=p.value;if(t.strict&&!/^-?(\d+\.?\d*)?$/.test(_)&&_!==""){p.value=x.value;return}const D=T(_);r("update:modelValue",D)},K=o=>{const p=o.target,_=T(p.value);if(_!==void 0){const D=N(_),R=L(D);R!==_&&(p.value=R.toString()),r("update:modelValue",R)}r("change",_,o)},O=o=>{m.value=!0,r("focus",o)},H=o=>{m.value=!1,r("blur",o)},h=o=>{if(t.strict&&!["Backspace","Delete","Tab","Escape","Enter","ArrowLeft","ArrowRight","ArrowUp","ArrowDown","Home","End","PageUp","PageDown"].includes(o.key)&&!o.ctrlKey&&!o.metaKey){const _=o.key;if(!/^[0-9.-]$/.test(_)){o.preventDefault();return}}o.key==="ArrowUp"?(o.preventDefault(),d()):o.key==="ArrowDown"&&(o.preventDefault(),z()),r("keydown",o)},$=o=>{r("keyup",o)},F=o=>{if(t.strict){const p=o.clipboardData?.getData("text");if(p&&!/^-?(\d+\.?\d*)?$/.test(p)){o.preventDefault();return}}r("paste",o)},I=o=>{r("cut",o)},c=o=>{g.value=!0,r("compositionstart",o)},u=o=>{g.value=!1,r("compositionend",o)},l=o=>{m.value&&!t.disabled&&!t.readonly&&(o.preventDefault(),o.deltaY<0?d():z())},d=()=>{if(t.disabled||t.readonly)return;const o=t.modelValue||0,p=L(N(o+t.step));r("update:modelValue",p),r("increase",p)},z=()=>{if(t.disabled||t.readonly)return;const o=t.modelValue||0,p=L(N(o-t.step));r("update:modelValue",p),r("decrease",p)},P=o=>{if(t.disabled||t.readonly)return;const p=o==="increase"?d:z;p(),B.value=window.setTimeout(()=>{const _=setInterval(()=>{p()},100);B.value=_},500)},U=()=>{B.value&&(clearTimeout(B.value),clearInterval(B.value),B.value=null)},X=()=>{s.value?.focus()},V=()=>{s.value?.blur()},a=()=>{s.value?.select()},b=(o,p)=>{s.value?.setSelectionRange(o,p)};e.watch(()=>t.modelValue,o=>{if(o!==void 0){const p=N(o),_=L(p);_!==o&&r("update:modelValue",_)}});const i=()=>{B.value&&(clearTimeout(B.value),clearInterval(B.value),B.value=null)};return w({focus:X,blur:V,select:a,setSelectionRange:b,inputRef:s,increase:d,decrease:z}),e.onUnmounted(()=>{i()}),(o,p)=>(e.openBlock(),e.createElementBlock("div",e.mergeProps({class:["ex-input-number",`ex-input-number--${o.size}`,`ex-input-number--type-${o.type}`,{"ex-input-number--disabled":o.disabled,"ex-input-number--readonly":o.readonly,"ex-input-number--focused":m.value,"ex-input-number--glow":o.glow,"ex-input-number--neon":o.neon,"ex-input-number--cyber":o.cyber,"ex-input-number--has-error":y.value,"ex-input-number--has-prefix":o.prefixIcon||o.$slots.prefix,"ex-input-number--has-suffix":o.suffixIcon||o.$slots.suffix,"ex-input-number--controls":o.controls,"ex-input-number--controls-right":o.controlsPosition==="right"}],style:S.value},o.$attrs),[o.prefixIcon||o.$slots.prefix?(e.openBlock(),e.createElementBlock("div",At,[o.prefixIcon?(e.openBlock(),e.createBlock(M,{key:0,name:o.prefixIcon,class:"ex-input-number__prefix-icon"},null,8,["name"])):e.renderSlot(o.$slots,"prefix",{key:1},void 0,!0)])):e.createCommentVNode("",!0),e.createElementVNode("div",qt,[e.createElementVNode("input",{id:o.id,ref_key:"inputRef",ref:s,value:x.value,placeholder:o.placeholder,disabled:o.disabled,readonly:o.readonly,autofocus:o.autofocus,name:o.name,form:o.form,required:o.required,autocomplete:o.autocomplete,class:e.normalizeClass(["ex-input-number__input",{"ex-input-number__input--error":y.value}]),style:e.normalizeStyle(C.value),onInput:A,onChange:K,onFocus:O,onBlur:H,onKeydown:h,onKeyup:$,onPaste:F,onCut:I,onCompositionstart:c,onCompositionend:u,onWheel:l},null,46,Kt),o.controls?(e.openBlock(),e.createElementBlock("div",Ot,[e.createElementVNode("button",{type:"button",class:"ex-input-number__control ex-input-number__control--increase",disabled:o.disabled||o.readonly||k.value,onClick:d,onMousedown:p[0]||(p[0]=_=>P("increase")),onMouseup:U,onMouseleave:U},[e.createVNode(M,{name:"add-line",class:"ex-input-number__control-icon"})],40,Ut),e.createElementVNode("button",{type:"button",class:"ex-input-number__control ex-input-number__control--decrease",disabled:o.disabled||o.readonly||E.value,onClick:z,onMousedown:p[1]||(p[1]=_=>P("decrease")),onMouseup:U,onMouseleave:U},[e.createVNode(M,{name:"subtract-line",class:"ex-input-number__control-icon"})],40,Ht)])):e.createCommentVNode("",!0)]),o.suffixIcon||o.$slots.suffix?(e.openBlock(),e.createElementBlock("div",Wt,[o.suffixIcon?(e.openBlock(),e.createBlock(M,{key:0,name:o.suffixIcon,class:"ex-input-number__suffix-icon"},null,8,["name"])):e.renderSlot(o.$slots,"suffix",{key:1},void 0,!0)])):e.createCommentVNode("",!0),o.unit?(e.openBlock(),e.createElementBlock("div",Yt,e.toDisplayString(o.unit),1)):e.createCommentVNode("",!0),y.value&&o.errorMessage?(e.openBlock(),e.createElementBlock("div",Xt,e.toDisplayString(o.errorMessage),1)):e.createCommentVNode("",!0),o.helpText&&!y.value?(e.openBlock(),e.createElementBlock("div",jt,e.toDisplayString(o.helpText),1)):e.createCommentVNode("",!0)],16))}}),se=Y(Qt,[["__scopeId","data-v-8ee269c1"]]),Gt={install(f){f.component("ExInputNumber",se)}},Jt={class:"ex-select__input-wrapper"},Zt={key:0,class:"ex-select__prefix"},eo={class:"ex-select__input"},to={key:0,class:"ex-select__tags"},oo={class:"ex-select__tag-text"},ao={key:1,class:"ex-select__single"},lo={key:0,class:"ex-select__single-value"},no={key:1,class:"ex-select__placeholder"},ro=["placeholder"],so={key:1,class:"ex-select__suffix"},io={key:0,class:"ex-select__no-data"},co={key:1,class:"ex-select__options"},uo=["onClick","onMouseenter"],po={class:"ex-select__option-content"},mo={class:"ex-select__option-label"},fo={key:0,class:"ex-select__option-description"},ho={key:0,class:"ex-select__error"},yo={key:1,class:"ex-select__help"},vo=e.defineComponent({__name:"ExSelect",props:{modelValue:{},type:{default:"primary"},size:{default:"md"},options:{default:()=>[]},placeholder:{default:""},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},multiple:{type:Boolean,default:!1},searchable:{type:Boolean,default:!1},searchPlaceholder:{default:""},clearable:{type:Boolean,default:!1},noDataText:{default:""},placement:{default:"auto"},maxOptions:{default:0},virtual:{type:Boolean,default:!1},prefixIcon:{},suffixIcon:{},error:{type:Boolean},errorMessage:{},helpText:{},glow:{type:Boolean,default:!1},neon:{type:Boolean,default:!1},cyber:{type:Boolean,default:!1},customStyle:{},id:{},name:{},form:{},required:{type:Boolean,default:!1},autocomplete:{}},emits:["update:modelValue","change","focus","blur","search","clear","visible-change"],setup(f,{expose:w,emit:n}){const t=f,r=n,{t:v}=W.useI18n(),s=e.ref(),m=e.ref(),g=e.ref(),B=e.ref(!1),y=e.ref(!1),x=e.ref(""),E=e.ref(-1),k=e.ref({}),S=e.computed(()=>t.error||t.errorMessage&&t.errorMessage.length>0),C=e.computed(()=>t.multiple||t.modelValue===void 0||t.modelValue===null?null:t.modelValue),T=e.computed(()=>t.multiple?Array.isArray(t.modelValue)?t.modelValue:[]:[]),L=e.computed(()=>t.multiple?T.value.length>0:C.value!==null&&C.value!==void 0),N=e.computed(()=>{let o=t.options;if(t.searchable&&x.value){const p=x.value.toLowerCase();o=o.filter(_=>O(_).toLowerCase().includes(p))}return t.maxOptions>0&&(o=o.slice(0,t.maxOptions)),o}),A=e.computed(()=>({...t.customStyle})),K=(o,p)=>o.value??p,O=o=>{if(o&&typeof o=="object")return o.label||String(o.value);if(o!=null){const p=t.options.find(_=>_.value===o);return p?p.label||String(p.value):String(o)}return String(o)},H=o=>t.multiple?T.value.includes(o.value):C.value===o.value,h=()=>{t.disabled||t.readonly||(y.value?F():$())},$=async()=>{y.value||(y.value=!0,r("visible-change",!0),await e.nextTick(),I(),t.searchable&&m.value&&m.value.focus(),N.value.length>0&&(E.value=0))},F=()=>{y.value&&(y.value=!1,E.value=-1,x.value="",r("visible-change",!1),s.value&&s.value.focus())},I=()=>{if(!s.value||!g.value)return;const o=s.value.getBoundingClientRect(),p=window.innerHeight,_=200;let D=o.bottom;if(o.bottom+_>p)if(o.top-_>0)D=o.top-_;else{const R=p-o.bottom,q=o.top;q>R&&(D=o.top-Math.min(_,q))}k.value={position:"fixed",top:`${D}px`,left:`${o.left}px`,width:`${o.width}px`,zIndex:9999}},c=o=>{o.disabled||(t.multiple?l(o):u(o))},u=o=>{r("update:modelValue",o.value),r("change",o.value,o),e.nextTick(()=>{F()})},l=o=>{const p=[...T.value],_=o.value;if(p.includes(_)){const R=p.indexOf(_);p.splice(R,1)}else p.push(_);const D=p.map(R=>t.options.find(q=>q.value===R)).filter(Boolean);r("update:modelValue",p),r("change",p,D)},d=o=>{if(t.disabled||t.readonly)return;const p=[...T.value],_=p.indexOf(o);if(_>-1){p.splice(_,1);const D=p.map(R=>t.options.find(q=>q.value===R)).filter(Boolean);r("update:modelValue",p),r("change",p,D)}},z=()=>{if(t.disabled||t.readonly)return;const o=t.multiple?[]:null;r("update:modelValue",o),r("change",o,t.multiple?[]:null),r("clear")},P=o=>{if(!(t.disabled||t.readonly))switch(o.key){case"Enter":case" ":o.preventDefault(),y.value?E.value>=0&&N.value[E.value]&&c(N.value[E.value]):$();break;case"Escape":y.value&&(o.preventDefault(),F());break;case"ArrowDown":o.preventDefault(),y.value?E.value=Math.min(E.value+1,N.value.length-1):$();break;case"ArrowUp":o.preventDefault(),y.value?E.value=Math.max(E.value-1,0):$();break;case"Tab":y.value&&F();break}};e.watch(x,o=>{r("search",o),E.value=0}),e.watch(()=>N.value,()=>{E.value=Math.min(E.value,N.value.length-1)});const U=o=>{y.value&&s.value&&!s.value.contains(o.target)&&F()},X=()=>{y.value&&I()};return e.onMounted(()=>{document.addEventListener("click",U),window.addEventListener("resize",X)}),e.onUnmounted(()=>{document.removeEventListener("click",U),window.removeEventListener("resize",X)}),w({focus:()=>{s.value?.focus()},blur:()=>{s.value?.blur()},open:()=>{$()},close:()=>{F()},selectRef:s}),(o,p)=>(e.openBlock(),e.createElementBlock("div",e.mergeProps({ref_key:"selectRef",ref:s,class:["ex-select",`ex-select--${o.size}`,`ex-select--type-${o.type}`,{"ex-select--disabled":o.disabled,"ex-select--readonly":o.readonly,"ex-select--focused":B.value,"ex-select--open":y.value,"ex-select--multiple":o.multiple,"ex-select--searchable":o.searchable,"ex-select--clearable":o.clearable,"ex-select--glow":o.glow,"ex-select--neon":o.neon,"ex-select--cyber":o.cyber,"ex-select--has-error":S.value,"ex-select--has-prefix":o.prefixIcon||o.$slots.prefix,"ex-select--has-suffix":o.suffixIcon||o.$slots.suffix}],style:A.value},o.$attrs,{onClick:h,onKeydown:P}),[e.createElementVNode("div",Jt,[o.prefixIcon||o.$slots.prefix?(e.openBlock(),e.createElementBlock("div",Zt,[o.prefixIcon?(e.openBlock(),e.createBlock(M,{key:0,name:o.prefixIcon,class:"ex-select__prefix-icon"},null,8,["name"])):e.renderSlot(o.$slots,"prefix",{key:1},void 0,!0)])):e.createCommentVNode("",!0),e.createElementVNode("div",eo,[o.multiple&&T.value.length>0?(e.openBlock(),e.createElementBlock("div",to,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(T.value,(_,D)=>(e.openBlock(),e.createElementBlock("div",{key:_,class:"ex-select__tag"},[e.createElementVNode("span",oo,e.toDisplayString(O(_)),1),!o.disabled&&!o.readonly?(e.openBlock(),e.createBlock(M,{key:0,name:"close-line",class:"ex-select__tag-close",onClick:e.withModifiers(R=>d(_),["stop"])},null,8,["onClick"])):e.createCommentVNode("",!0)]))),128))])):(e.openBlock(),e.createElementBlock("div",ao,[C.value!==null&&C.value!==void 0?(e.openBlock(),e.createElementBlock("span",lo,e.toDisplayString(O(C.value)),1)):(e.openBlock(),e.createElementBlock("span",no,e.toDisplayString(o.placeholder),1))])),o.searchable&&y.value?e.withDirectives((e.openBlock(),e.createElementBlock("input",{key:2,ref_key:"searchInputRef",ref:m,"onUpdate:modelValue":p[0]||(p[0]=_=>x.value=_),class:"ex-select__search-input",placeholder:o.searchPlaceholder||e.unref(v)("common.search"),onClick:p[1]||(p[1]=e.withModifiers(()=>{},["stop"])),onKeydown:p[2]||(p[2]=e.withModifiers(()=>{},["stop"])),onKeyup:p[3]||(p[3]=e.withModifiers(()=>{},["stop"]))},null,40,ro)),[[e.vModelText,x.value]]):e.createCommentVNode("",!0)]),o.suffixIcon||o.$slots.suffix?(e.openBlock(),e.createElementBlock("div",so,[o.suffixIcon?(e.openBlock(),e.createBlock(M,{key:0,name:o.suffixIcon,class:"ex-select__suffix-icon"},null,8,["name"])):e.renderSlot(o.$slots,"suffix",{key:1},void 0,!0)])):e.createCommentVNode("",!0),o.clearable&&L.value&&!o.disabled&&!o.readonly?(e.openBlock(),e.createBlock(M,{key:2,name:"close-circle-line",class:"ex-select__clear",onClick:e.withModifiers(z,["stop"])})):e.createCommentVNode("",!0),e.createVNode(M,{name:y.value?"arrow-up-s-line":"arrow-down-s-line",class:e.normalizeClass(["ex-select__arrow",{"ex-select__arrow--open":y.value}])},null,8,["name","class"])]),e.createVNode(e.Transition,{name:"ex-select-dropdown"},{default:e.withCtx(()=>[y.value?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"dropdownRef",ref:g,class:e.normalizeClass(["ex-select__dropdown",[`ex-select__dropdown--${o.placement}`,{"ex-select__dropdown--multiple":o.multiple}]]),style:e.normalizeStyle(k.value)},[N.value.length===0?(e.openBlock(),e.createElementBlock("div",io,e.toDisplayString(o.noDataText||e.unref(v)("ex.select.noData")),1)):(e.openBlock(),e.createElementBlock("div",co,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(N.value,(_,D)=>(e.openBlock(),e.createElementBlock("div",{key:K(_,D),class:e.normalizeClass(["ex-select__option",{"ex-select__option--selected":H(_),"ex-select__option--disabled":_.disabled,"ex-select__option--hover":E.value===D}]),onClick:e.withModifiers(R=>c(_),["stop"]),onMouseenter:R=>E.value=D},[o.multiple?(e.openBlock(),e.createBlock(M,{key:0,name:H(_)?"checkbox-fill":"checkbox-line",class:"ex-select__option-checkbox"},null,8,["name"])):e.createCommentVNode("",!0),e.createElementVNode("div",po,[e.createElementVNode("div",mo,e.toDisplayString(O(_)),1),_.description?(e.openBlock(),e.createElementBlock("div",fo,e.toDisplayString(_.description),1)):e.createCommentVNode("",!0)]),!o.multiple&&H(_)?(e.openBlock(),e.createBlock(M,{key:1,name:"check-line",class:"ex-select__option-check"})):e.createCommentVNode("",!0)],42,uo))),128))]))],6)):e.createCommentVNode("",!0)]),_:1}),S.value&&o.errorMessage?(e.openBlock(),e.createElementBlock("div",ho,e.toDisplayString(o.errorMessage),1)):e.createCommentVNode("",!0),o.helpText&&!S.value?(e.openBlock(),e.createElementBlock("div",yo,e.toDisplayString(o.helpText),1)):e.createCommentVNode("",!0)],16))}}),ie=Y(vo,[["__scopeId","data-v-7ff33470"]]),ko={install(f){f.component("ExSelect",ie)}},go=["aria-expanded","aria-disabled"],bo={class:"ex-cascader__input"},_o={key:0,class:"ex-cascader__prefix-icon"},Bo={key:1,class:"ex-cascader__prefix"},xo={class:"ex-cascader__display"},Vo={key:0,class:"ex-cascader__tags"},Eo={class:"ex-cascader__tag-text"},wo=["aria-label","onClick"],Co={key:0,class:"ex-cascader__placeholder"},$o={key:1,class:"ex-cascader__single"},So={key:0,class:"ex-cascader__selected"},No={key:1,class:"ex-cascader__placeholder"},Do=["aria-label"],Io={key:3,class:"ex-cascader__suffix-icon"},To={class:"ex-cascader__arrow"},Mo={key:4,class:"ex-cascader__suffix"},zo={key:0,class:"ex-cascader__search"},Fo=["placeholder"],Lo={class:"ex-cascader__cascader-panel"},Po=["onClick","onMouseenter"],Ro={key:0,class:"ex-cascader__option-checkbox"},Ao=["checked","disabled","onChange"],qo={class:"ex-cascader__option-content"},Ko={class:"ex-cascader__option-label"},Oo={key:0,class:"ex-cascader__option-description"},Uo={key:1,class:"ex-cascader__option-arrow"},Ho={key:1,class:"ex-cascader__no-data"},Wo={key:0,class:"ex-cascader__error"},Yo={key:1,class:"ex-cascader__help"},Xo=e.defineComponent({__name:"ExCascader",props:{modelValue:{},options:{},multiple:{type:Boolean,default:!1},clearable:{type:Boolean,default:!1},searchable:{type:Boolean,default:!1},placeholder:{default:""},searchPlaceholder:{default:"搜索选项"},size:{default:"md"},type:{default:"normal"},status:{default:"normal"},disabled:{type:Boolean},readonly:{type:Boolean},prefixIcon:{},suffixIcon:{},error:{type:Boolean},errorMessage:{},helpText:{},glow:{type:Boolean},neon:{type:Boolean},cyber:{type:Boolean},customStyle:{},noDataText:{default:""},maxOptions:{default:0},expandTrigger:{default:"click"},checkStrictly:{type:Boolean,default:!1},emitPath:{type:Boolean,default:!0},lazy:{type:Boolean,default:!1},lazyLoad:{}},emits:["update:modelValue","change","search","visible-change","expand-change"],setup(f,{expose:w,emit:n}){const t=f,r=n,{t:v}=W.useI18n(),s=e.ref(),m=e.ref(),g=e.ref(!1),B=e.ref(""),y=e.ref(null),x=e.ref([]),E=e.ref([]),k=e.computed(()=>t.multiple?Array.isArray(t.modelValue)&&t.modelValue.length>0:t.modelValue!==null&&t.modelValue!==void 0&&t.modelValue!==""),S=e.computed(()=>t.multiple||!t.modelValue?"":O(t.modelValue).map(o=>o.label).join(" / ")),C=e.computed(()=>!t.multiple||!Array.isArray(t.modelValue)?[]:t.modelValue.map(i=>{const o=O(i);return{label:o.map(p=>p.label).join(" / "),value:i,path:o}})),T=e.computed(()=>!t.searchable||!B.value?t.options:$(t.options,B.value)),L=e.computed(()=>{if(!s.value)return{};const i=s.value.getBoundingClientRect();return{position:"absolute",top:`${i.height+4}px`,left:"0",minWidth:`${i.width}px`,zIndex:1e3}}),N=(i,o)=>`${i.value}-${o}`,A=i=>!!(i.children&&i.children.length>0),K=i=>t.multiple?Array.isArray(t.modelValue)?t.modelValue.some(o=>t.emitPath?Array.isArray(o)&&o[o.length-1]===i.value:o===i.value):!1:t.emitPath?Array.isArray(t.modelValue)&&t.modelValue[t.modelValue.length-1]===i.value:t.modelValue===i.value,O=i=>t.emitPath&&Array.isArray(i)?h(t.options,i):H(t.options,i),H=(i,o)=>{for(const p of i){if(p.value===o)return[p];if(p.children){const _=H(p.children,o);if(_.length>0)return[p,..._]}}return[]},h=(i,o)=>{if(o.length===0)return[];const p=o[0];for(const _ of i)if(_.value===p){if(o.length===1)return[_];if(_.children){const D=h(_.children,o.slice(1));if(D.length>0)return[_,...D]}}return[]},$=(i,o)=>{const p=[];for(const _ of i)if(_.label.toLowerCase().includes(o.toLowerCase())&&p.push(_),_.children){const D=$(_.children,o);D.length>0&&p.push({..._,children:D})}return p},F=()=>{t.disabled||t.readonly||(g.value=!0,x.value=[t.options],E.value=[],r("visible-change",!0),e.nextTick(()=>{t.searchable&&m.value&&m.value.focus()}))},I=()=>{g.value=!1,B.value="",y.value=null,x.value=[],E.value=[],r("visible-change",!1)},c=()=>{t.disabled||t.readonly||(g.value?I():F())},u=i=>{if(!(t.disabled||t.readonly))switch(i.key){case"Enter":case" ":i.preventDefault(),g.value||F();break;case"Escape":g.value&&I();break;case"Tab":g.value&&I();break}},l=()=>{r("search",B.value)},d=i=>{i.key==="Escape"&&I()},z=(i,o)=>{i.disabled||(t.multiple?U(i):P(i,o))},P=(i,o)=>{if(E.value=[...E.value.slice(0,o),i],A(i)){const p=i.children||[];x.value=[...x.value.slice(0,o+1),p]}else{const p=t.emitPath?E.value.map(_=>_.value):i.value;r("update:modelValue",p),r("change",p,E.value),I()}},U=i=>{const o=Array.isArray(t.modelValue)?[...t.modelValue]:[],p=t.emitPath?E.value.concat(i).map(D=>D.value):i.value,_=o.findIndex(D=>t.emitPath?Array.isArray(D)&&D[D.length-1]===p[p.length-1]:D===p);if(_>-1)o.splice(_,1);else{if(t.maxOptions>0&&o.length>=t.maxOptions)return;o.push(p)}r("update:modelValue",o),r("change",o,[])},X=(i,o)=>{o.stopPropagation(),U(i)},V=()=>{const i=t.multiple?[]:null;r("update:modelValue",i),r("change",i,[])},a=i=>{if(!Array.isArray(t.modelValue))return;const o=[...t.modelValue];o.splice(i,1),r("update:modelValue",o),r("change",o,[])},b=i=>{s.value&&!s.value.contains(i.target)&&I()};return e.onMounted(()=>{document.addEventListener("click",b)}),e.onUnmounted(()=>{document.removeEventListener("click",b)}),w({focus:()=>s.value?.focus(),blur:()=>s.value?.blur(),open:F,close:I}),(i,o)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"cascaderRef",ref:s,class:e.normalizeClass(["ex-cascader",`ex-cascader--${i.size}`,`ex-cascader--${i.type}`,{"ex-cascader--disabled":t.disabled,"ex-cascader--readonly":t.readonly,"ex-cascader--error":i.error,"ex-cascader--open":g.value,"ex-cascader--glow":i.glow,"ex-cascader--neon":i.neon,"ex-cascader--cyber":i.cyber}]),style:e.normalizeStyle(i.customStyle),tabindex:"0",role:"combobox","aria-expanded":g.value,"aria-haspopup":!0,"aria-disabled":t.disabled,onClick:c,onKeydown:u},[e.createElementVNode("div",bo,[i.prefixIcon?(e.openBlock(),e.createElementBlock("div",_o,[e.createVNode(M,{name:i.prefixIcon},null,8,["name"])])):e.createCommentVNode("",!0),i.$slots.prefix?(e.openBlock(),e.createElementBlock("div",Bo,[e.renderSlot(i.$slots,"prefix",{},void 0,!0)])):e.createCommentVNode("",!0),e.createElementVNode("div",xo,[i.multiple?(e.openBlock(),e.createElementBlock("div",Vo,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(C.value,(p,_)=>(e.openBlock(),e.createElementBlock("div",{key:_,class:"ex-cascader__tag"},[e.createElementVNode("span",Eo,e.toDisplayString(p.label),1),!t.disabled&&!t.readonly?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:"ex-cascader__tag-close","aria-label":`移除 ${p.label}`,onClick:e.withModifiers(D=>a(_),["stop"])},[e.createVNode(M,{name:"close-line"})],8,wo)):e.createCommentVNode("",!0)]))),128)),C.value.length===0?(e.openBlock(),e.createElementBlock("span",Co,e.toDisplayString(i.placeholder),1)):e.createCommentVNode("",!0)])):(e.openBlock(),e.createElementBlock("div",$o,[S.value?(e.openBlock(),e.createElementBlock("span",So,e.toDisplayString(S.value),1)):(e.openBlock(),e.createElementBlock("span",No,e.toDisplayString(i.placeholder),1))]))]),i.clearable&&k.value&&!t.disabled&&!t.readonly?(e.openBlock(),e.createElementBlock("button",{key:2,type:"button",class:"ex-cascader__clear","aria-label":e.unref(v)("ex.cascader.clear"),onClick:e.withModifiers(V,["stop"])},[e.createVNode(M,{name:"close-line"})],8,Do)):e.createCommentVNode("",!0),i.suffixIcon?(e.openBlock(),e.createElementBlock("div",Io,[e.createVNode(M,{name:i.suffixIcon},null,8,["name"])])):e.createCommentVNode("",!0),e.createElementVNode("div",To,[e.createVNode(M,{name:g.value?"arrow-up-s-line":"arrow-down-s-line",class:e.normalizeClass({"ex-cascader__arrow--rotated":g.value})},null,8,["name","class"])]),i.$slots.suffix?(e.openBlock(),e.createElementBlock("div",Mo,[e.renderSlot(i.$slots