1import{C as e,D as l,E as a,Gt as i,Lt as o,N as t,R as r,St as n,T as s,Tt as u,Y as c,ct as v,dt as d,fn as h,it as b,mn as m,nt as f,pn as S,rt as z,tt as p,w as g}from"./B8XHxhss.js";import{jt as V}from"#entry";var y=["aria-controls","aria-valuenow","aria-valuemin","aria-valuemax","aria-orientation"],w={__name:"CustomScrollbar",props:{persistent:{type:Boolean,default:!1},ariaControls:{type:String,default:void 0},ariaValuenow:{type:[String,Number],default:0},ariaValuemin:{type:[String,Number],default:0},ariaValuemax:{type:[String,Number],default:100},ariaOrientation:{type:String,default:"vertical",validator:e=>["vertical","horizontal"].includes(e)},detectionBuffer:{type:Number,default:0},handleClass:[Object,Array,String],handleStyle:[Object,Array,String]},emits:["update:ariaValuenow"],setup(t,{expose:s,emit:u}){const d=u,z=t,V=o(null),w=o(null),B=o(!1),_=o(null),C=o(null),L=o(null),E=o({railLength:0,handlePosition:0,handleSize:1}),H=o({get canScroll(){return this.innerSize>this.outerSize+z.detectionBuffer},scrolledAmount:0,outerSize:0,innerSize:0}),T=e(()=>z.ariaControls&&H.value.canScroll||z.persistent);n(H,()=>{I()}),n(()=>H.value.canScroll,e=>{e&&R()});const A=o(z.ariaValuenow);n(()=>z.ariaValuenow,e=>A.value=+e),n(A,e=>d("update:ariaValuenow",e));const x=o(null);n(x,(e,l)=>
1{l&&(w.value.unobserve(l),l.removeEventListener("scroll",k)),e&&(w.value.observe(e),e.addEventListener("scroll",k)),k()},{immediate:!0});const O=(e=0)=>{x.value||(z.ariaControls&&document.getElementById(z.ariaControls)?R():e<5&&(_.value=setTimeout(()=>O(e+1),50)))};function R(){V.value=V.value||new ResizeObserver(I),w.value=w.value||new ResizeObserver(k),x.value=document.getElementById(z.ariaControls),C.value&&V.value&&V.value.observe(C.value),j()}function k(){j()}function P(e){if(!B.value&&x.value&&e.target.closest(".c-custom-scrollbar__rail")){if("horizontal"===z.ariaOrientation){const{left:l,width:a}=C.value.getBoundingClientRect(),{clientX:i}=e;x.value.scrollLeft=(i-l)/a*(x.value.scrollWidth-x.value.clientWidth)}else{const{top:l,height:a}=C.value.getBoundingClientRect(),{clientY:i}=e;x.value.scrollTop=(i-l)/a*(x.value.scrollHeight-x.value.clientHeight)}c(W)}}function W(){B.value||(B.value=!0,window.addEventListener("mousemove",N),window.addEventListener("mouseup",$))}function N(e){if(B.value&&x.value)if("horizontal"===z.ariaOrientation){const{movementX:l}=e,{width:a}=C.value.getBoundingClientRect(),{scrollLeft:i,scrollWidth:o}=x.value;x.value.scrollLeft=i+l/a*o}else{const{movementY:l}=e,{height:a}=C.value.getBoundingClientRect(),{scrollTop:i,scrollHeight:o}=x.value;x.value.scrollTop=i+l/a*o}}function $(){B.value=!1,window.removeEventListener("mousemove",N),window.removeEventListener("mouseup",$)}function j(){if(x.value)if("horizontal"===z.ariaOrientation){const{scrollLeft:e,scrollWidth:l,clientWidth:a}=x.value;H.value.scrolledAmount=l!==a?e/(l-a):0,H.value.outerSize=a,H.value.innerSize=l}else{const{scrollTop:e,scrollHeight:l,clientHeight:a}=x.value;H.value.scrolledAmount=e/(l-a),H.value.outerSize=a,H.value.innerSize=l}else H.value.scrolledAmount=0,H.value.outerSize=0,H.value.innerSize=0;I()}function I(){if(C.value&&H.value?.outerSize)if("horizontal"===z.ariaOrientation){const{width:e}=C.value.getBoundingClientRect();let l=H.value.outerSize/H.value.innerSize*e;E.value.railLength=e,E.value.handleSize=l/e,E.value.handlePosition=H.value.scrolledAmount*(e-l)/l,A.value=+z.ariaValuemin+H.value.scrolledAmount*(+z.ariaValuemax-z.ariaValuemin),c(()=>{L.value&&(l=L.value.clientWidth,E.value.handleSize=l/e,E.value.handlePosition=H.value.scrolledAmount*(e-l)/l,A.value=+z.ariaValuemin+H.value.scrolledAmount*(+z.ariaValuemax-z.ariaValuemin))})}else{const{height:e}=C.value.getBoundingClientRect();let l=H.value.outerSize/H.value.innerSize*e;E.value.railLength=e,E.value.handleSize=l/e,E.value.handlePosition=H.value.scrolledAmount*(e-l)/l,A.value=+z.ariaValuemin+H.value.scrolledAmount*(+z.ariaValuemax-z.ariaValuemin),c(()=>{L.value&&(l=L.value.clientHeight,E.value.handleSize=l/e,E.value.handlePosition=H.value.scrolledAmount*(e-l)/l,A.value=+z.ariaValuemin+H.value.scrolledAmount*(+z.ariaValuemax-z.ariaValuemin))})}else E.value.railLength=0,E.value.handlePosition=0,E.value.handleSize=1}function Y(e){x.value&&("horizontal"===z.ariaOrientation?x.value.scrollBy(e,0):x.value.scrollBy(0,e))}function F(){x.value&&("horizontal"===z.ariaOrientation?x.value.scrollBy(H.value.innerSize,0):x.value.scrollBy(0,H.value.innerSize))}function M(){x.value&&("horizontal"===z.ariaOrientation?x.value.scrollLeft=0:x.value.scrollTop=0)}function X(){R()}return p(()=>{O()}),f(()=>{_.value&&(clearTimeout(_.value),_.value=null),B.value&&(window.removeEventListener("mousemove",N),window.removeEventListener("mouseup",$),B.value=!1),V.value&&(V.value.disconnect(),V.value=null),w.value&&(x.value&&w.value.unobserve(x.value),w.value.disconnect(),w.value=null),x.value&&(x.value.removeEventListener("scroll",k),x.value=null)}),s({isVisible:T,refresh:X,scrollBy:Y,scrollToStart:M,scrollToEnd:F}),(e,o)=>i(T)?(b(),l("div",{key:0,role:"scrollbar","aria-controls":t.ariaControls,"aria-valuenow":i(A),"aria-valuemin":t.ariaValuemin,"aria-valuemax":t.ariaValuemax,"aria-orientation":t.ariaOrientation,class:"c-custom-scrollbar",style:m({"--scrollbar-handle-position":100*i(E).handlePosition+"%","--scrollbar-handle-size":100*i(E).handleSize+"%"}),onMousedown:P},[v(e.$slots,"beforeRail",S(r({refresh:X,scrollBy:Y,scrollToStart:M,scrollToEnd:F}))),g("div",{ref_key:"rail",ref:C,class:"c-custom-scrollbar__rail"},[g("div",{ref_key:"handle",ref:L,class:h(["c-custom-scrollbar__handle",t.handleClass]),style:m(t.handleStyle),onMousedown:W},null,38)],512),v(e.$slots,"afterRail",S(r({refresh:X,scrollBy:Y,scrollToStart:M,scrollToEnd:F})))],44,y)):a("",!0)}},B={__name:"BaseScrollbar",props:{tag:{type:String,default:"div"}
1,ariaControls:{type:String},enableHorizontal:{type:[Boolean,String],validator:e=>"boolean"==typeof e||"auto"===e,default:"auto"},enableVertical:{type:[Boolean,String],validator:e=>"boolean"==typeof e||"auto"===e,default:"auto"},verticalScrollbarClass:String,horizontalScrollbarClass:String,outlined:Boolean},emits:["update"],setup(l,{expose:r,emit:c}){const m=c,f=l,S=o(null),p=o(null),g=e(()=>"boolean"==typeof f.enableHorizontal?f.enableHorizontal:!!S.value&&S.value.isVisible),y=e(()=>"boolean"==typeof f.enableVertical?f.enableVertical:!!p.value&&p.value.isVisible),B=e(()=>g.value||y.value);function _(){g&&S.value?.refresh(),y&&p.value?.refresh()}function C(){S.value?.refresh?.(),p.value?.refresh?.()}return n([g,y],()=>{m("update")}),z(()=>{C()}),r({isVisible:B,isVisibleHorizontal:g,isVisibleVertical:y,onShowBars:_,forceRefresh:C}),(e,o)=>{const r=w;return b(),s(d(l.tag),{class:h(["c-base-scrollbar",[{"c-base-scrollbar--has-horizontal":i(g),"c-base-scrollbar--has-vertical":i(y),"c-base-scrollbar--outlined":l.outlined}]])},{default:u(()=>[v(e.$slots,"default",{isVisible:i(B),isVisibleHorizontal:i(g),isVisibleVertical:i(y),onShowBars:_}),v(e.$slots,"horizontalScrollbar",{isVisible:i(B),isVisibleHorizontal:i(g),isVisibleVertical:i(y),onShowBars:_},()=>[t(V,{name:"scrollBarFadeIn"},{default:u(()=>[l.enableHorizontal?(b(),s(r,{key:0,ref_key:"horizontalScrollbar",ref:S,"aria-controls":l.ariaControls,class:h(["c-base-scrollbar__horizontal",["bg-indent",l.horizontalScrollbarClass]]),"handle-class":"c-base-scrollbar__handle rounded-full transition-colors duration-100","aria-orientation":"horizontal",persistent:!0===l.enableHorizontal,"detection-buffer":10,tabindex:"-1"},null,8,["aria-controls","class","persistent"])):a("",!0)]),_:1})]),v(e.$slots,"verticalScrollbar",{isVisible:i(B),isVisibleHorizontal:i(g),isVisibleVertical:i(y),onShowBars:_},()=>[t(V,{name:"scrollBarFadeIn"},{default:u(()=>[l.enableVertical?(b(),s(r,{key:0,ref_key:"verticalScrollbar",ref:p,"aria-controls":l.ariaControls,class:h(["c-base-scrollbar__vertical",["bg-indent",l.verticalScrollbarClass]]),"handle-class":"c-base-scrollbar__handle rounded-full transition-colors duration-100","aria-orientation":"vertical",persistent:!0===l.enableVertical,"detection-buffer":10,tabindex:"-1"},null,8,["aria-controls","class","persistent"])):a("",!0)]),_:1})])]),_:3},8,["class"])}}};export{B as t};
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.