1import{i as B,b as J,c as Q}from"./BaAXggyx.js";import{X as A,a6 as W,d as L,a0 as V,a3 as F,r as c,a1 as T,i as ee,bj as D,o as P,k as M,l as I,z as te,m as O,y as R,q as b,P as x,E as ae,ah as le,b4 as se,c as G,t as K,F as oe,aj as re,Z as C,w as X,n as U,a8 as ne,a9 as ie,h as ce,am as ue,a5 as ve,ad as fe,C as me,b5 as de,ab as pe}from"./CImdxReH.js";import{t as he}from"./Dm3rTkTV.js";import{h as Y}from"./BAw617li.js";const H=4,be={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"}},ye=({move:y,size:u,bar:o})=>({[o.size]:u,transform:`translate${o.axis}(${y}%)`}),$=Symbol("scrollbarContextKey"),ge=A({vertical:Boolean,size:String,move:Number,ratio:{type:Number,required:!0},always:Boolean}),Se="Thumb",we=L({__name:"thumb",props:ge,setup(y){const u=y,o=V($),l=F("scrollbar");o||he(Se,"can not inject scrollbar context");const r=c(),v=c(),d=c({}),p=c(!1);let a=!1,h=!1,g=se?document.onselectstart:null;const t=T(()=>be[u.vertical?"vertical":"horizontal"]),s=T(()=>ye({size:u.size,move:u.move,bar:t.value})),f=T(()=>r.value[t.value.offset]**2/o.wrapElement[t.value.scrollSize]/u.ratio/v.value[t.value.offset]),m=i=>{var w;if(i.stopPropagation(),i.ctrlKey||[1,2].includes(i.button))return;(w=window.getSelection())==null||w.removeAllRanges(),_(i);const E=i.currentTarget;E&&(d.value[t.value.axis]=E[t.value.offset]-(i[t.value.client]-E.getBoundingClientRect()[t.value.direction]))},z=i=>{if(!v.value||!r.value||!o.wrapElement)return;const w=Math.abs(i.target.getBoundingClientRect()[t.value.direction]-i[t.value.client]),E=v.value[t.value.offset]/2,N=(w-E)*100*f.value/r.value[t.value.offset];o.wrapElement[t.value.scroll]=N*o.wrapElement[t.value.scrollSize]/100},_=i=>{i.stopImmediatePropagation(),a=!0,document.addEventListener("mousemove",S),document.addEventListener("mouseup",n),g=document.onselectstart,document.onselectstart=()=>!1},S=i=>{if(!r.value||!v.value||a===!1)return;const w=d.value[t.value.axis];if(!w)return;const E=(r.value.getBoundingClientRect()[t.value.direction]-i[t.value.client])*-1,N=v.value[t.value.offset]-w,Z=(E-N)*100*f.value/r.value[t.value.offset];o.wrapElement[t.value.scroll]=Z*o.wrapElement[t.value.scrollSize]/100},n=()=>{a=!1,d.value[t.value.axis]=0,document.removeEventListener("mousemove",S),document.removeEventListener("mouseup",n),j(),h&&(p.value=!1)},e=()=>{h=!1,p.value=!!u.size},k=()=>{h=!0,p.value=a};ee(()=>{j(),document.removeEventListener("mouseup",n)});const j=()=>{document.onselectstart!==g&&(document.onselectstart=g)};return B(D(o,"scrollbarElement"),"mousemove",e),B(D(o,"scrollbarElement"),"mouseleave",k),(i,w)=>(P(),M(le,{name:b(l).b("fade"),persisted:""},{default:I(()=>[te(O("div",{ref_key:"instance",ref:r,class:R([b(l).e("bar"),b(l).is(b(t).key)]),onMousedown:z},[O("div",{ref_key:"thumb",ref:v,class:R(b(l).e("thumb")),style:x(b(s)),onMousedown:m},null,38)],34),[[ae,i.always||p.value]])]),_:1},8,["name"]))}});var q=W(we,[["__file","thumb.vue"]]);const ze=A({always:{type:Boolean,default:!0},minSize:{type:Number,required:!0}}),_e=L({__name:"bar",props:ze,setup(y,{expose:u}){const o=y,l=V($),r=c(0),v=c(0),d=c(""),p=c(""),a=c(1),h=c(1);return u({handleScroll:s=>{if(s){const f=s.offsetHeight-H,m=s.offsetWidth-H;v.value=s.scrollTop*100/f*a.value,r.value=s.scrollLeft*100/m*h.value}},update:()=>{const s=l==null?void 0:l.wrapElement;if(!s)return;const f=s.offsetHeight-H,m=s.offsetWidth-H,z=f**2/s.scrollHeight,_=m**2/s.scrollWidth,S=Math.max(z,o.minSize),n=Math.max(_,o.minSize);a.value=z/(f-z)/(S/(f-S)),h.value=_/(m-_)/(n/(m-n)),p.value=S+H<f?`${S}px`:"",d.value=n+H<m?`${n}px`:""}}),(s,f)=>(P(),G(oe,null,[K(q,{move:r.value,ratio:h.value,size:d.value,always:s.always},null,8,["move","ratio","size","always"]),K(q,{move:v.value,ratio:a.value,size:p.value,vertical:"",always:s.always},null,8,["move","ratio","size","always"])],64))}});var Ee=W(_e,[["__file","bar.vue"]]);const He=A({height:{type:[String,Number],default:""},maxHeight:{type:[String,Number],default:""},native:{type:Boolean,default:!1},wrapStyle:{type:re([String,Object,Array]),default:""},wrapClass:{type:[String,Array],default:""},viewClass:{type:[String,Array],default:""},viewStyle:{type:[String,Array,Object],default:""},noresize:Boolean,tag:{type:String,default:"div"},always:Boolean,minSize:{type:Number,default:20},id:String,role:String,...J(["ariaLabel","ariaOrientation"])}),Te={scroll:({scrollTop:y,scrollLeft:u})=>[y,u].every(C)},ke="ElScrollbar",Ce=L({name:ke}),Pe=L({...Ce,props:He,emits:Te,setup(y,{expose:u,emit:o}){const l=y,r=F("scrollbar");let v,d;const p=c(),a=c(),h=c(),g=c(),t=T(()=>{const e={};return l.height&&(e.height=Y(l.height)),l.maxHeight&&(e.maxHeight=Y(l.maxHeight)),[l.wrapStyle,e]}),s=T(()=>[l.wrapClass,r.e("wrap"),{[r.em("wrap","hidden-default")]:!l.native}]),f=T(()=>[r.e("view"),l.viewClass]),m=()=>{var e;a.value&&((e=g.value)==null||e.handleScroll(a.value),o("scroll",{scrollTop:a.value.scrollTop,scrollLeft:a.value.scrollLeft}))};function z(e,k){de(e)?a.value.scrollTo(e):C(e)&&C(k)&&a.value.scrollTo(e,k)}const _=e=>{C(e)&&(a.value.scrollTop=e)},S=e=>{C(e)&&(a.value.scrollLeft=e)},n=()=>{var e;
1(e=g.value)==null||e.update()};return X(()=>l.noresize,e=>{e?(v==null||v(),d==null||d()):({stop:v}=Q(h,n),d=B("resize",n))},{immediate:!0}),X(()=>[l.maxHeight,l.height],()=>{l.native||U(()=>{var e;n(),a.value&&((e=g.value)==null||e.handleScroll(a.value))})}),ne($,ie({scrollbarElement:p,wrapElement:a})),ce(()=>{l.native||U(()=>{n()})}),ue(()=>n()),u({wrapRef:a,update:n,scrollTo:z,setScrollTop:_,setScrollLeft:S,handleScroll:m}),(e,k)=>(P(),G("div",{ref_key:"scrollbarRef",ref:p,class:R(b(r).b())},[O("div",{ref_key:"wrapRef",ref:a,class:R(b(s)),style:x(b(t)),onScroll:m},[(P(),M(fe(e.tag),{id:e.id,ref_key:"resizeRef",ref:h,class:R(b(f)),style:x(e.viewStyle),role:e.role,"aria-label":e.ariaLabel,"aria-orientation":e.ariaOrientation},{default:I(()=>[ve(e.$slots,"default")]),_:3},8,["id","class","style","role","aria-label","aria-orientation"]))],38),e.native?me("v-if",!0):(P(),M(Ee,{key:0,ref_key:"barRef",ref:g,always:e.always,"min-size":e.minSize},null,8,["always","min-size"]))],2))}});var Re=W(Pe,[["__file","scrollbar.vue"]]);const Oe=pe(Re);export{Oe as E};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.