import{a1 as e,a9 as t,bo as a,aB as l,U as o,N as n,ar as s,bD as i,a2 as r,aT as u,aA as c,aF as d,by as v,bA as p,f,ay as m,I as h,C as y,V as b,aE as g,aZ as x,P as w,bK as S,ba as z,v as E}from"./index.BFRcEQe4.js";import{g as C,x as k,az as M,I as B,an as I,ag as N,a8 as L,R as _,M as T,P,u as $,ao as R,ar as F,a0 as j,Z as H,aj as G,a4 as W,l as A,k as V,F as O,S as K,ab as U,i as Y,j as Z,aB as q,ad as X,Q as D,aE as J,N as Q,V as ee,ah as te,J as ae,G as le,aC as oe,aw as ne,b as se,r as ie,W as re,a3 as ue,a5 as ce,a6 as de}from"./vue-vendor.CbU-cCHr.js";import{a as ve,b as pe,c as fe,u as me}from"./el-button.D7CpT9AQ.js";import{u as he}from"./el-popover.Cwwk2BOl.js";import{t as ye,aw as be,a0 as ge}from"./icons.BL-8H3wb.js";import{i as xe}from"./numbers.DrV_xewr.js";const we=["class","style"],Se=/^on[A-Z]/;const ze=n({id:{type:String,default:void 0},size:i,disabled:{type:Boolean,default:void 0},modelValue:{type:r([String,Number,Object]),default:""},modelModifiers:{type:r(Object),default:()=>({})},maxlength:{type:[String,Number]},minlength:{type:[String,Number]},type:{type:r(String),default:"text"},resize:{type:String,values:["none","both","horizontal","vertical"]},autosize:{type:r([Boolean,Object]),default:!1},autocomplete:{type:r(String),default:"off"},formatter:{type:Function},parser:{type:Function},placeholder:{type:String},form:{type:String},readonly:Boolean,clearable:Boolean,clearIcon:{type:s,default:ye},showPassword:Boolean,showWordLimit:Boolean,wordLimitPosition:{type:String,values:["inside","outside"],default:"inside"},suffixIcon:{type:s},prefixIcon:{type:s},containerRole:{type:String,default:void 0},tabindex:{type:[String,Number],default:0},validateEvent:{type:Boolean,default:!0},inputStyle:{type:r([Object,Array,String,Boolean]),default:()=>u({})},countGraphemes:{type:r(Function)},autofocus:Boolean,rows:{type:Number,default:2},...he(["ariaLabel"]),inputmode:{type:r(String),default:void 0},name:String}),Ee={[o]:e=>T(e),input:e=>T(e),change:(e,t)=>T(e)&&(t instanceof Event||void 0===t),focus:e=>e instanceof FocusEvent,blur:e=>e instanceof FocusEvent,clear:e=>void 0===e||e instanceof MouseEvent,mouseleave:e=>e instanceof MouseEvent,mouseenter:e=>e instanceof MouseEvent,keydown:e=>e instanceof Event,compositionstart:e=>e instanceof CompositionEvent,compositionupdate:e=>e instanceof CompositionEvent,compositionend:e=>e instanceof CompositionEvent};let Ce;P(ye);const ke={height:"0",visibility:"hidden",overflow:c()?"":"hidden",position:"absolute","z-index":"-1000",top:"0",right:"0"},Me=["letter-spacing","line-height","padding-top","padding-bottom","font-family","font-weight","font-size","text-rendering","text-transform","width","text-indent","padding-left","padding-right","border-width","box-sizing","word-break"],Be=e=>{const t=Number.parseFloat(e);return Number.isNaN(t)?e:t};function Ie(e,t=1,a){var l;if(!Ce){Ce=document.createElement("textarea");let t=document.body;!c()&&e.parentNode&&(t=e.parentNode),t.appendChild(Ce)}const{paddingSize:o,borderSize:n,boxSizing:s,contextStyle:i}=function(e){const t=window.getComputedStyle(e),a=t.getPropertyValue("box-sizing"),l=Number.parseFloat(t.getPropertyValue("padding-bottom"))+Number.parseFloat(t.getPropertyValue("padding-top")),o=Number.parseFloat(t.getPropertyValue("border-bottom-width"))+Number.parseFloat(t.getPropertyValue("border-top-width"));return{contextStyle:Me.map(e=>[e,t.getPropertyValue(e)]),paddingSize:l,borderSize:o,boxSizing:a}}(e);i.forEach(([e,t])=>null==Ce?void 0:Ce.style.setProperty(e,t)),Object.entries(ke).forEach(([e,t])=>null==Ce?void 0:Ce.style.setProperty(e,t,"important")),Ce.value=e.value||e.placeholder||"";let r=Ce.scrollHeight;const u={};"border-box"===s?r+=n:"content-box"===s&&(r-=o),Ce.value="";const v=Ce.scrollHeight-o;if(d(t)){let e=v*t;"border-box"===s&&(e=e+o+n),r=Math.max(e,r),u.minHeight=`${e}px`}if(d(a)){let e=v*a;"border-box"===s&&(e=e+o+n),r=Math.min(e,r)}return u.height=`${r}px`,null==(l=Ce.parentNode)||l.removeChild(Ce),Ce=void 0,u}const Ne=["id","name","minlength","maxlength","type","disabled","readonly","autocomplete","tabindex","aria-label","placeholder","form","autofocus","role","inputmode"],Le=["id","name","minlength","maxlength","tabindex","disabled","readonly","autocomplete","aria-label","placeholder","form","autofocus","rows","role","inputmode"],_e="ElInput";const Te=S($({name:_e,inheritAttrs:!1,__name:"input",props:ze,emits:Ee,setup(n,{expose:s,emit:i}){const r=n,u=i,c=R(),d=F(),S=C(()=>["textarea"===r.type?ie.b():se.b(),se.m(oe.value),se.is("disabled",ne.value),se.is("exceed",Ye.value),{[se.b("group")]:d.prepend||d.append,[se.m("prefix")]:d.prefix||r.prefixIcon,[se.m("suffix")]:d.suffix||r.suffixIcon||r.clearable||r.showPassword,[se.bm("suffix","password-clear")]:Ve.value&&Oe.value,[se.b("hidden")]:"hidden"===r.type},c.class]),z=C(()=>[se.e("wrapper"),se.is("focus",Me.value)]),E=((a={})=>{const{excludeListeners:l=!1,excludeKeys:o}=a,n=C(()=>((null==o?void 0:o.value)||[]).concat(we)),s=k();return s?C(()=>{var e;return t(Object.entries(null==(e=s.proxy)?void 0:e.$attrs).filter(([e])=>!(n.value.includes(e)||l&&Se.test(e))))}):(e("use-attrs","getCurrentInstance() returned null. useAttrs() must be called at the top of a setup function"),C(()=>({})))})(),T=C(()=>{var e;return null==(e=r.maxlength)?void 0:e.toString()}),{form:P,formItem:$}=ve(),{inputId:le}=pe(r,{formItemContext:$}),oe=fe(),ne=me(),se=v("input"),ie=v("textarea"),re=N(),ue=N(),ce=L(!1),de=L(!1),he=L(),ye=L(),xe=N(r.inputStyle),ze=L(""),Ee=L(),Ce=C(()=>re.value||ue.value),{wrapperRef:ke,isFocused:Me,handleFocus:Te,handleBlur:Pe}=function(e,{disabled:t,beforeFocus:o,afterFocus:n,beforeBlur:s,afterBlur:i}={}){const{emit:r}=k(),u=N(),c=L(!1),d=e=>{const a=!!B(o)&&o(e);I(t)||c.value||a||(c.value=!0,r("focus",e),null==n||n())},v=e=>{var a;const l=!!B(s)&&s(e);I(t)||e.relatedTarget&&(null==(a=u.value)?void 0:a.contains(e.relatedTarget))||l||(c.value=!1,r("blur",e),null==i||i())};return M([u,()=>I(t)],([e,t])=>{e&&(t?e.removeAttribute("tabindex"):e.setAttribute("tabindex","-1"))}),a(u,"focus",d,!0),a(u,"blur",v,!0),a(u,"click",a=>{var o,n;I(t)||l(a.target)||(null==(o=u.value)?void 0:o.contains(document.activeElement))&&u.value!==document.activeElement||null==(n=e.value)||n.focus()},!0),{isFocused:c,wrapperRef:u,handleFocus:d,handleBlur:v}}(Ce,{disabled:ne,afterBlur(){var e;r.validateEvent&&(null==(e=null==$?void 0:$.validate)||e.call($,"blur").catch(Q))}}),$e=C(()=>(null==P?void 0:P.statusIcon)??!1),Re=C(()=>(null==$?void 0:$.validateState)||""),Fe=C(()=>Re.value&&b[Re.value]),je=C(()=>de.value?be:ge),He=C(()=>[c.style]),Ge=C(()=>[r.inputStyle,xe.value,{resize:r.resize},Ee.value?{height:Ee.value}:void 0]),We=C(()=>g(r.modelValue)?"":String(r.modelValue)),Ae=C(()=>r.clearable&&!ne.value&&!r.readonly),Ve=C(()=>Ae.value&&!!We.value&&(Me.value||ce.value)),Oe=C(()=>r.showPassword&&!ne.value&&!!We.value),Ke=C(()=>r.showWordLimit&&!!T.value&&("text"===r.type||"textarea"===r.type)&&!ne.value&&!r.readonly&&!r.showPassword),Ue=C(()=>r.countGraphemes&&r.showWordLimit?r.countGraphemes(We.value):We.value.length),Ye=C(()=>!!Ke.value&&Ue.value>Number(T.value)),Ze=C(()=>!!d.suffix||!!r.suffixIcon||r.clearable||r.showPassword||Ke.value||!!Re.value&&$e.value),qe=C(()=>!!Object.keys(r.modelModifiers).length),[Xe,De]=function(e){let t;return[function(){if(null==e.value)return;const{selectionStart:a,selectionEnd:l,value:o}=e.value;null!=a&&null!=l&&(t={selectionStart:a,selectionEnd:l,value:o,beforeTxt:o.slice(0,Math.max(0,a)),afterTxt:o.slice(Math.max(0,l))})},function(){if(null==e.value||null==t)return;const{value:a}=e.value,{beforeTxt:l,afterTxt:o,selectionStart:n}=t;if(null==l||null==o||null==n)return;let s=a.length;if(a.endsWith(o))s=a.length-o.length;else if(a.startsWith(l))s=l.length;else{const e=l[n-1],t=a.indexOf(e,n-1);-1!==t&&(s=t+1)}e.value.setSelectionRange(s,s)}]}(re);let Je;p(ue,e=>{if(et(),!Ke.value&&!Ae.value||"both"!==r.resize&&"horizontal"!==r.resize)return;const{width:t}=e[0].target.getBoundingClientRect();Je&&w(Je),Je=x(()=>{Je=void 0,he.value={right:`calc(100% - ${t-10}px)`},ye.value={right:`calc(100% - ${t-11}px)`}})});const Qe=()=>{const{type:e,autosize:t}=r;if(m&&"textarea"===e&&ue.value)if(t){const e=ae(t)?t.minRows:void 0,a=ae(t)?t.maxRows:void 0,l=Ie(ue.value,e,a);xe.value={overflowY:"hidden",...l},_(()=>{ue.value.offsetHeight,xe.value=l})}else xe.value={minHeight:Ie(ue.value).minHeight}},et=(e=>{let t=!1;return()=>{var a;!t&&r.autosize?null!==(null==(a=ue.value)?void 0:a.offsetParent)&&(setTimeout(e),t=!0):"none"!==r.resize&&setTimeout(()=>{var e;Ee.value=null==(e=ue.value)?void 0:e.style.height})}})(Qe),tt=()=>{const e=Ce.value,t=r.formatter?r.formatter(We.value):We.value;e&&e.value!==t&&"file"!==r.type&&(e.value=t)},at=e=>{const{trim:t,number:a}=r.modelModifiers;return t&&(e=e.trim()),a&&(e=`${Be(e)}`),r.formatter&&r.parser&&(e=r.parser(e)),e},lt=async e=>{if(nt.value)return;const{lazy:t}=r.modelModifiers;let{value:a}=e.target,l=!1;if(t)u(h,a);else{if(a=at(a),r.countGraphemes&&null!=T.value){const e=Number(T.value),t=r.countGraphemes(a),o=r.countGraphemes(ze.value);if(t>e&&t>o)if(o>e)a=ze.value,l=!0;else{const t=ze.value,n=a;let s=0;for(;s<t.length&&s<n.length&&t[s]===n[s];)s++;let i=t.length,u=n.length;for(;i>s&&u>s&&t[i-1]===n[u-1];)i--,u--;const c=n.slice(0,s),d=t.slice(s,i),v=n.slice(s,u),p=n.slice(u),f=o-r.countGraphemes(d),m=Math.max(0,e-f);let h="";if(m>0)if("undefined"!=typeof Intl&&"Segmenter"in Intl){const e=new Intl.Segmenter(void 0,{granularity:"grapheme"});for(const{segment:t}of e.segment(v)){const e=h+t;if(r.countGraphemes(e)>m)break;h=e}}else for(const e of Array.from(v)){const t=h+e;if(r.countGraphemes(t)>m)break;h=t}a=c+h+p,l=!0}}if(String(a)!==We.value)ze.value=a,Xe(),u(o,a),u(h,a),await _(),(r.formatter&&r.parser||!qe.value)&&tt(),De();else if(r.formatter||l){const t=e.target,a=t.value,o=t.selectionStart,n=t.selectionEnd;if(tt(),l&&Ce.value&&null!=o&&null!=n){const e=Ce.value.value,t=a.slice(Math.max(0,n));let l=Math.min(o,e.length);t&&e.endsWith(t)&&(l=e.length-t.length),Ce.value.setSelectionRange(l,l)}}}},ot=async e=>{let{value:t}=e.target;t=at(t),r.modelModifiers.lazy&&u(o,t),u(y,t,e),await _(),tt()},{isComposing:nt,handleCompositionStart:st,handleCompositionUpdate:it,handleCompositionEnd:rt}=function({afterComposition:e,emit:t}){const a=L(!1),l=e=>{null==t||t("compositionupdate",e),a.value=!0},o=l=>{null==t||t("compositionend",l),a.value&&(a.value=!1,_(()=>e(l)))};return{isComposing:a,handleComposition:e=>{"compositionend"===e.type?o(e):l(e)},handleCompositionStart:e=>{null==t||t("compositionstart",e),a.value=!0},handleCompositionUpdate:l,handleCompositionEnd:o}}({emit:u,afterComposition:lt}),ut=()=>{de.value=!de.value},ct=e=>{ce.value=!1,u("mouseleave",e)},dt=e=>{ce.value=!0,u("mouseenter",e)},vt=e=>{u("keydown",e)},pt=e=>{u(o,""),u(y,""),u("clear",e),u(h,"")};return M(()=>r.modelValue,()=>{var e;_(()=>{Qe(),r.autosize&&(Ee.value=void 0)}),r.validateEvent&&(null==(e=null==$?void 0:$.validate)||e.call($,"change").catch(Q))}),M(()=>We.value,e=>{ze.value=e},{immediate:!0}),M(We,e=>{if(!Ce.value)return;const{trim:t,number:a}=r.modelModifiers,l=Ce.value.value,o=!a&&"number"!==r.type||/^0\d/.test(l)?l:`${Be(l)}`;o!==e&&(document.activeElement===Ce.value&&"range"!==Ce.value.type&&t&&o.trim()===e||tt())}),M(()=>r.type,async()=>{await _(),tt(),Qe()}),j(()=>{!r.formatter&&r.parser&&e(_e,"If you set the parser, you also need to set the formatter."),tt(),_(Qe)}),H(()=>{Je&&w(Je)}),s({input:re,textarea:ue,ref:Ce,textareaStyle:Ge,autosize:G(r,"autosize"),isComposing:nt,passwordVisible:de,focus:()=>{var e;return null==(e=Ce.value)?void 0:e.focus()},blur:()=>{var e;return null==(e=Ce.value)?void 0:e.blur()},select:()=>{var e;null==(e=Ce.value)||e.select()},clear:pt,resizeTextarea:Qe}),(e,t)=>(W(),A("div",{class:K([S.value,{[I(se).bm("group","append")]:e.$slots.append,[I(se).bm("group","prepend")]:e.$slots.prepend}]),style:ee(He.value),onMouseenter:dt,onMouseleave:ct},[V(" input "),"textarea"!==n.type?(W(),A(O,{key:0},[V(" prepend slot "),e.$slots.prepend?(W(),A("div",{key:0,class:K(I(se).be("group","prepend"))},[U(e.$slots,"prepend")],2)):V("v-if",!0),Y("div",{ref_key:"wrapperRef",ref:ke,class:K(z.value)},[V(" prefix slot "),e.$slots.prefix||n.prefixIcon?(W(),A("span",{key:0,class:K(I(se).e("prefix"))},[Y("span",{class:K(I(se).e("prefix-inner"))},[U(e.$slots,"prefix"),n.prefixIcon?(W(),Z(I(f),{key:0,class:K(I(se).e("icon"))},{default:q(()=>[(W(),Z(X(n.prefixIcon)))]),_:1},8,["class"])):V("v-if",!0)],2)],2)):V("v-if",!0),Y("input",D({id:I(le),ref_key:"input",ref:re,class:I(se).e("inner")},I(E),{name:n.name,minlength:n.countGraphemes?void 0:n.minlength,maxlength:n.countGraphemes?void 0:T.value,type:n.showPassword?de.value?"text":"password":n.type,disabled:I(ne),readonly:n.readonly,autocomplete:n.autocomplete,tabindex:n.tabindex,"aria-label":n.ariaLabel,placeholder:n.placeholder,style:n.inputStyle,form:n.form,autofocus:n.autofocus,role:n.containerRole,inputmode:n.inputmode,onCompositionstart:t[0]||(t[0]=(...e)=>I(st)&&I(st)(...e)),onCompositionupdate:t[1]||(t[1]=(...e)=>I(it)&&I(it)(...e)),onCompositionend:t[2]||(t[2]=(...e)=>I(rt)&&I(rt)(...e)),onInput:lt,onChange:ot,onKeydown:vt}),null,16,Ne),V(" suffix slot "),Ze.value?(W(),A("span",{key:1,class:K(I(se).e("suffix"))},[Y("span",{class:K(I(se).e("suffix-inner"))},[Ae.value?(W(),Z(I(f),{key:0,class:K([I(se).e("icon"),I(se).e("clear")]),style:ee({visibility:Ve.value?"visible":"hidden"}),onMousedown:J(I(Q),["prevent"]),onClick:pt},{default:q(()=>[(W(),Z(X(n.clearIcon)))]),_:1},8,["class","style","onMousedown"])):V("v-if",!0),Ve.value&&Oe.value&&Ke.value?V("v-if",!0):(W(),A(O,{key:1},[U(e.$slots,"suffix"),n.suffixIcon?(W(),Z(I(f),{key:0,class:K(I(se).e("icon"))},{default:q(()=>[(W(),Z(X(n.suffixIcon)))]),_:1},8,["class"])):V("v-if",!0)],64)),Oe.value?(W(),Z(I(f),{key:2,class:K([I(se).e("icon"),I(se).e("password")]),onClick:ut,onMousedown:J(I(Q),["prevent"]),onMouseup:J(I(Q),["prevent"])},{default:q(()=>[U(e.$slots,"password-icon",{visible:de.value},()=>[(W(),Z(X(je.value)))])]),_:3},8,["class","onMousedown","onMouseup"])):V("v-if",!0),Ke.value?(W(),A("span",{key:3,class:K([I(se).e("count"),I(se).is("outside","outside"===n.wordLimitPosition)])},[Y("span",{class:K(I(se).e("count-inner"))},te(Ue.value)+" / "+te(T.value),3)],2)):V("v-if",!0),Re.value&&Fe.value&&$e.value?(W(),Z(I(f),{key:4,class:K([I(se).e("icon"),I(se).e("validateIcon"),I(se).is("loading","validating"===Re.value)])},{default:q(()=>[(W(),Z(X(Fe.value)))]),_:1},8,["class"])):V("v-if",!0)],2)],2)):V("v-if",!0)],2),V(" append slot "),e.$slots.append?(W(),A("div",{key:1,class:K(I(se).be("group","append"))},[U(e.$slots,"append")],2)):V("v-if",!0)],64)):(W(),A(O,{key:1},[V(" textarea "),Y("textarea",D({id:I(le),ref_key:"textarea",ref:ue,class:[I(ie).e("inner"),I(se).is("focus",I(Me)),I(ie).is("clearable",n.clearable)]},I(E),{name:n.name,minlength:n.countGraphemes?void 0:n.minlength,maxlength:n.countGraphemes?void 0:T.value,tabindex:n.tabindex,disabled:I(ne),readonly:n.readonly,autocomplete:n.autocomplete,style:Ge.value,"aria-label":n.ariaLabel,placeholder:n.placeholder,form:n.form,autofocus:n.autofocus,rows:n.rows,role:n.containerRole,inputmode:n.inputmode,onCompositionstart:t[3]||(t[3]=(...e)=>I(st)&&I(st)(...e)),onCompositionupdate:t[4]||(t[4]=(...e)=>I(it)&&I(it)(...e)),onCompositionend:t[5]||(t[5]=(...e)=>I(rt)&&I(rt)(...e)),onInput:lt,onFocus:t[6]||(t[6]=(...e)=>I(Te)&&I(Te)(...e)),onBlur:t[7]||(t[7]=(...e)=>I(Pe)&&I(Pe)(...e)),onChange:ot,onKeydown:vt}),null,16,Le),Ve.value?(W(),Z(I(f),{key:0,class:K([I(ie).e("icon"),I(ie).e("clear")]),style:ee(ye.value),onMousedown:J(I(Q),["prevent"]),onClick:pt},{default:q(()=>[(W(),Z(X(n.clearIcon)))]),_:1},8,["class","style","onMousedown"])):V("v-if",!0),Ke.value?(W(),A("span",{key:1,style:ee(he.value),class:K([I(se).e("count"),I(se).is("outside","outside"===n.wordLimitPosition)])},te(Ue.value)+" / "+te(T.value),7)):V("v-if",!0)],64))],38))}})),Pe=n({distance:{type:Number,default:0},height:{type:[String,Number],default:""},maxHeight:{type:[String,Number],default:""},native:Boolean,wrapStyle:{type:r([String,Object,Array,Boolean]),default:""},wrapClass:{type:[String,Array],default:""},viewClass:{type:[String,Array],default:""},viewStyle:{type:r([String,Object,Array,Boolean]),default:""},noresize:Boolean,tag:{type:String,default:"div"},always:Boolean,minSize:{type:Number,default:20},tabindex:{type:[String,Number],default:void 0},id:String,role:String,...he(["ariaLabel","ariaOrientation"])}),$e={"end-reached":e=>["left","right","top","bottom"].includes(e),scroll:({scrollTop:e,scrollLeft:t})=>[e,t].every(d)},Re={vertical:{offset:"offsetHeight",scroll:"scrollTop",scrollSize:"scrollHeight",size:"height",key:"vertical",axis:"Y",client:"clientY",direction:"top"},horizontal:{offset:"offsetWidth",scroll:"scrollLeft",scrollSize:"scrollWidth",size:"width",key:"horizontal",axis:"X",client:"clientX",direction:"left"}},Fe=n({vertical:Boolean,size:String,move:Number,ratio:{type:Number,required:!0},always:Boolean}),je=Symbol("scrollbarContextKey"),He=n({always:{type:Boolean,default:!0},minSize:{type:Number,required:!0}});var Ge=$({__name:"thumb",props:Fe,setup(e){const t=e,l=le(je),o=v("scrollbar");l||z("Thumb","can not inject scrollbar context");const n=L(),s=L(),i=L({}),r=L(!1);let u=!1,c=!1,d=0,p=0,f=m?document.onselectstart:null;const h=C(()=>Re[t.vertical?"vertical":"horizontal"]),y=C(()=>(({move:e,size:t,bar:a})=>({[a.size]:t,transform:`translate${a.axis}(${e}%)`}))({size:t.size,move:t.move,bar:h.value})),b=C(()=>n.value[h.value.offset]**2/l.wrapElement[h.value.scrollSize]/t.ratio/s.value[h.value.offset]),g=e=>{var t;if(e.stopPropagation(),e.ctrlKey||[1,2].includes(e.button))return;null==(t=window.getSelection())||t.removeAllRanges(),w(e);const a=e.currentTarget;a&&(i.value[h.value.axis]=a[h.value.offset]-(e[h.value.client]-a.getBoundingClientRect()[h.value.direction]))},x=e=>{if(!s.value||!n.value||!l.wrapElement)return;const t=100*(Math.abs(e.target.getBoundingClientRect()[h.value.direction]-e[h.value.client])-s.value[h.value.offset]/2)*b.value/n.value[h.value.offset];l.wrapElement[h.value.scroll]=t*l.wrapElement[h.value.scrollSize]/100},w=e=>{e.stopImmediatePropagation(),u=!0,d=l.wrapElement.scrollHeight,p=l.wrapElement.scrollWidth,document.addEventListener("mousemove",S),document.addEventListener("mouseup",E),f=document.onselectstart,document.onselectstart=()=>!1},S=e=>{if(!n.value||!s.value)return;if(!1===u)return;const t=i.value[h.value.axis];if(!t)return;const a=100*(-1*(n.value.getBoundingClientRect()[h.value.direction]-e[h.value.client])-(s.value[h.value.offset]-t))*b.value/n.value[h.value.offset];"scrollLeft"===h.value.scroll?l.wrapElement[h.value.scroll]=a*p/100:l.wrapElement[h.value.scroll]=a*d/100},E=()=>{u=!1,i.value[h.value.axis]=0,document.removeEventListener("mousemove",S),document.removeEventListener("mouseup",E),k(),c&&(r.value=!1)};H(()=>{k(),document.removeEventListener("mouseup",E)});const k=()=>{document.onselectstart!==f&&(document.onselectstart=f)};return a(G(l,"scrollbarElement"),"mousemove",()=>{c=!1,r.value=!!t.size}),a(G(l,"scrollbarElement"),"mouseleave",()=>{c=!0,r.value=u}),(t,a)=>(W(),Z(se,{name:I(o).b("fade"),persisted:""},{default:q(()=>[oe(Y("div",{ref_key:"instance",ref:n,class:K([I(o).e("bar"),I(o).is(h.value.key)]),onMousedown:x,onClick:a[0]||(a[0]=J(()=>{},["stop"]))},[Y("div",{ref_key:"thumb",ref:s,class:K(I(o).e("thumb")),style:ee(y.value),onMousedown:g},null,38)],34),[[ne,e.always||r.value]])]),_:1},8,["name"]))}}),We=$({__name:"bar",props:He,setup(e,{expose:t}){const a=e,l=le(je),o=L(0),n=L(0),s=L(""),i=L(""),r=L(1),u=L(1);return t({handleScroll:e=>{if(e){const t=e.offsetHeight-4,a=e.offsetWidth-4;n.value=100*e.scrollTop/t*r.value,o.value=100*e.scrollLeft/a*u.value}},update:()=>{const e=null==l?void 0:l.wrapElement;if(!e)return;const t=e.offsetHeight-4,o=e.offsetWidth-4,n=t**2/e.scrollHeight,c=o**2/e.scrollWidth,d=Math.max(n,a.minSize),v=Math.max(c,a.minSize);r.value=n/(t-n)/(d/(t-d)),u.value=c/(o-c)/(v/(o-v)),i.value=d+4<t?`${d}px`:"",s.value=v+4<o?`${v}px`:""}}),(t,a)=>(W(),A(O,null,[ie(Ge,{move:o.value,ratio:u.value,size:s.value,always:e.always},null,8,["move","ratio","size","always"]),ie(Ge,{move:n.value,ratio:r.value,size:i.value,vertical:"",always:e.always},null,8,["move","ratio","size","always"])],64))}});const Ae=["tabindex"],Ve="ElScrollbar";const Oe=S($({name:Ve,__name:"scrollbar",props:Pe,emits:$e,setup(t,{expose:l,emit:o}){const n=t,s=o,i=v("scrollbar");let r,u,c,f=0,m=0,h="";const y={bottom:!1,top:!1,right:!1,left:!1},b=L(),g=L(),x=L(),w=L(),S=C(()=>{const e={},t=E(n.height),a=E(n.maxHeight);return t&&(e.height=t),a&&(e.maxHeight=a),[n.wrapStyle,e]}),z=C(()=>[n.wrapClass,i.e("wrap"),{[i.em("wrap","hidden-default")]:!n.native}]),k=C(()=>[i.e("view"),n.viewClass]),B={top:"bottom",bottom:"top",left:"right",right:"left"},N=()=>{var e;if(g.value){null==(e=w.value)||e.handleScroll(g.value);const t=f,a=m;f=g.value.scrollTop,m=g.value.scrollLeft;const l={bottom:!xe(g.value.scrollHeight-n.distance,g.value.clientHeight+f),top:f<=n.distance&&0!==t,right:!xe(g.value.scrollWidth-n.distance,g.value.clientWidth+m)&&a!==m,left:m<=n.distance&&0!==a};if(s("scroll",{scrollTop:f,scrollLeft:m}),t!==f&&(h=f>t?"bottom":"top"),a!==m&&(h=m>a?"right":"left"),n.distance>0){if(y[h])return;(e=>{const t=B[h];if(!t)return;const a=e[h],l=e[t];a&&!y[h]&&(y[h]=!0),!l&&y[t]&&(y[t]=!1)})(l)}l[h]&&s("end-reached",h)}};const T=()=>{var e,t;null==(e=w.value)||e.update(),y[h]=!1,g.value&&(null==(t=w.value)||t.handleScroll(g.value))};return M(()=>n.noresize,e=>{e?(null==r||r(),null==u||u(),null==c||c()):(({stop:r}=p(x,T)),({stop:u}=p(g,T)),c=a("resize",T))},{immediate:!0}),M(()=>[n.maxHeight,n.height],()=>{n.native||_(()=>{T()})}),ce(je,de({scrollbarElement:b,wrapElement:g})),re(()=>{g.value&&(g.value.scrollTop=f,g.value.scrollLeft=m)}),j(()=>{n.native||_(()=>{T()})}),ue(()=>T()),l({wrapRef:g,update:T,scrollTo:function(e,t){ae(e)?g.value.scrollTo(e):d(e)&&d(t)&&g.value.scrollTo(e,t)},setScrollTop:t=>{d(t)?g.value.scrollTop=t:e(Ve,"value must be a number")},setScrollLeft:t=>{d(t)?g.value.scrollLeft=t:e(Ve,"value must be a number")},handleScroll:N}),(e,a)=>(W(),A("div",{ref_key:"scrollbarRef",ref:b,class:K(I(i).b())},[Y("div",{ref_key:"wrapRef",ref:g,class:K(z.value),style:ee(S.value),tabindex:t.tabindex,onScroll:N},[(W(),Z(X(t.tag),{id:t.id,ref_key:"resizeRef",ref:x,class:K(k.value),style:ee(t.viewStyle),role:t.role,"aria-label":t.ariaLabel,"aria-orientation":t.ariaOrientation},{default:q(()=>[U(e.$slots,"default")]),_:3},8,["id","class","style","role","aria-label","aria-orientation"]))],46,Ae),t.native?V("v-if",!0):(W(),Z(We,{key:0,ref_key:"barRef",ref:w,always:t.always,"min-size":t.minSize},null,8,["always","min-size"]))],2))}}));export{Te as E,Oe as a};