PageSourceSearch

https://app.23degrees.io/chunk-IKN6V7RT.js

js 23degrees.io collected 2026-10-02 07:19:42 UTC 9,785 bytes, 2 lines download raw bytes

1var S="scrollbar-enabled",h="is-visible",d="is-hovering",u="is-dragging",g="scrollbar",v="scrollbar--root",L="scrollbar--local",b="scrollbar__rail",E="scrollbar__rail--vertical",z="scrollbar__rail--horizontal",A="scrollbar__thumb",T="scrollbar__thumb--vertical",C="scrollbar__thumb--horizontal",H=(()=>{class o{static{this.defaultConfig={minThumbLength:40,hoverZone:28,showDuration:900,hoverDuration:1200,hideDuration:240,dragEndDuration:400}}constructor(t,e){this.adapter=t,this.resizeObserver=null,this.hostElement=null,this.verticalElements=null,this.horizontalElements=null,this.hideTimer=null,this.updateFrame=null,this.isSetup=!1,this.isHoveringVertical=!1,this.isHoveringHorizontal=!1,this.dragAxis=null,this.dragStartClientX=0,this.dragStartClientY=0,this.dragStartScrollLeft=0,this.dragStartScrollTop=0,this.lastState={isVerticallyScrollable:!1,isHorizontallyScrollable:!1},this.minThumbLength=o.defaultConfig.minThumbLength,this.hoverZone=o.defaultConfig.hoverZone,this.showDuration=o.defaultConfig.showDuration,this.hoverDuration=o.defaultConfig.hoverDuration,this.hideDuration=o.defaultConfig.hideDuration,this.dragEndDuration=o.defaultConfig.dragEndDuration,this.onScroll=()=>{this.scheduleUpdate(),this.showTemporarily(this.showDuration)},this.onResize=()=>{this.scheduleUpdate()},this.onPointerMove=i=>{if(!this.hostElement)return;if(this.dragAxis){this.updateDragPosition(i);return}let r=this.adapter.getViewportRect(),a=i.clientX>=r.left&&i.clientX<=r.right,s=i.clientY>=r.top&&i.clientY<=r.bottom,l=this.supportsAxis("vertical")&&this.lastState.isVerticallyScrollable&&s&&a&&r.right-i.clientX<=this.hoverZone,n=this.supportsAxis("horizontal")&&this.lastState.isHorizontallyScrollable&&a&&s&&r.bottom-i.clientY<=this.hoverZone;if((l!==this.isHoveringVertical||n!==this.isHoveringHorizontal)&&(this.isHoveringVertical=l,this.isHoveringHorizontal=n,this.hostElement.classList.toggle(d,l||n)),l||n){this.clearHideTimer(),this.hostElement.classList.add(h);return}this.scheduleHide(this.hideDuration)},this.onPointerUp=()=>{!this.dragAxis||!this.hostElement||(this.dragAxis=null,this.hostElement.classList.remove(u),this.scheduleHide(this.dragEndDuration))},this.orientation=e.orientation,this.visibility=e.visibility,this.onStateChange=e.onStateChange,this.applyConfig(e.config)}setup(){this.isSetup||(this.ensureElements(),this.adapter.setEnabled(!0),this.adapter.getScrollTarget().addEventListener("scroll",this.onScroll,{passive:!0}),this.adapter.defaultView.addEventListener("resize",this.onResize,{passive:!0}),this.adapter.defaultView.addEventListener("mousemove",this.onPointerMove,{passive:!0}),this.adapter.defaultView.addEventListener("mouseup",this.onPointerUp,{passive:!0}),this.observeSize(),this.isSetup=!0,this.scheduleUpdate())}teardown(){this.isSetup&&(this.adapter.getScrollTarget().removeEventListener("scroll",this.onScroll),this.adapter.defaultView.removeEventListener("resize",this.onResize),this.adapter.defaultView.removeEventListener("mousemove",this.onPointerMove),this.adapter.defaultView.removeEventListener("mouseup",this.onPointerUp),this.resizeObserver?.disconnect(),this.resizeObserver=null,this.hideTimer&&(clearTimeout(this.hideTimer),this.hideTimer=null),this.updateFrame!==null&&(this.adapter.defaultView.cancelAnimationFrame(this.updateFrame),this.updateFrame=null),this.adapter.setEnabled(!1),this.hostElement?.remove(),this.hostElement=null,this.verticalElements=null,this.horizontalElements=null,this.dragAxis=null,this.isHoveringVertical=!1,this.isHoveringHorizontal=!1,this.isSetup=!1)}setOptions(t){t.orientation&&(this.orientation=t.orientation),t.visibility&&(this.visibility=t.visibility),t.config&&this.applyConfig(t.config),this.scheduleUpdate()}applyConfig(t){this.minThumbLength=t?.minThumbLength??o.defaultConfig.minThumbLength,this.hoverZone=t?.hoverZone??o.defaultConfig.hoverZone,this.showDuration=t?.showDuration??o.defaultConfig.showDuration,this.hoverDuration=t?.hoverDuration??o.defaultConfig.hoverDuration,this.hideDuration=t?.hideDuration??o.defaultConfig.hideDuration,this.dragEndDuration=t?.dragEndDuration??o.defaultConfig.dragEnd
1Duration}update(){this.updateFrame=null;let t=this.hostElement;if(!t)return;let e=this.clampScrollPosition("vertical"),i=this.clampScrollPosition("horizontal");this.adapter.mode==="local"&&this.adapter.translateHostWithScroll!==!1?t.style.transform=`translate(${i}px, ${e}px)`:this.adapter.mode==="local"&&(t.style.transform="translate(0px, 0px)");let r=this.updateAxis("vertical",this.verticalElements),a=this.updateAxis("horizontal",this.horizontalElements),s={isVerticallyScrollable:r,isHorizontallyScrollable:a};(s.isVerticallyScrollable!==this.lastState.isVerticallyScrollable||s.isHorizontallyScrollable!==this.lastState.isHorizontallyScrollable)&&(this.lastState=s,this.onStateChange?.(s));let l=this.visibility==="always"?s.isVerticallyScrollable||s.isHorizontallyScrollable:t.classList.contains(h)||this.dragAxis!==null;t.classList.toggle(h,l),t.classList.toggle(d,this.isHoveringVertical||this.isHoveringHorizontal),!s.isVerticallyScrollable&&!s.isHorizontallyScrollable&&(t.classList.remove(h,d,u),this.clearHideTimer())}ensureElements(){if(this.hostElement&&this.verticalElements&&this.horizontalElements)return;let t=this.adapter.document.createElement("div");t.className=`${g} ${this.adapter.mode==="root"?v:L}`;let e=this.createAxisElements("vertical"),i=this.createAxisElements("horizontal");t.append(e.rail,i.rail),this.adapter.getOverlayParent().appendChild(t),this.hostElement=t,this.verticalElements=e,this.horizontalElements=i}createAxisElements(t){let e=this.adapter.document.createElement("div"),i=this.adapter.document.createElement("div");return e.className=`${b} ${t==="vertical"?E:z}`,i.className=`${A} ${t==="vertical"?T:C}`,e.addEventListener("mousedown",r=>this.onRailMouseDown(t,r)),i.addEventListener("mousedown",r=>this.onThumbMouseDown(t,r)),e.appendChild(i),{rail:e,thumb:i}}observeSize(){typeof ResizeObserver>"u"||(this.resizeObserver?.disconnect(),this.resizeObserver=new ResizeObserver(()=>{this.scheduleUpdate()}),this.adapter.observeElements().forEach(t=>{this.resizeObserver?.observe(t)}))}updateAxis(t,e){if(!e)return!1;let i=this.supportsAxis(t),r=this.adapter.getViewportSize(t),a=this.adapter.getScrollSize(t),s=Math.max(0,a-r),l=i&&s>1;if(e.rail.style.display=l?"":"none",!l)return t==="vertical"?(e.thumb.style.height="0px",e.thumb.style.transform="translate3d(0, 0, 0)"):(e.thumb.style.width="0px",e.thumb.style.transform="translate3d(0, 0, 0)"),!1;let n=t==="vertical"?e.rail.clientHeight:e.rail.clientWidth,c=Math.max(this.minThumbLength,Math.min(n,r/a*n)),p=Math.max(0,Math.min(this.adapter.getScrollPosition(t),s)),f=Math.max(0,n-c),m=s>0?p/s*f:0;return t==="vertical"?(e.thumb.style.height=`${c}px`,e.thumb.style.transform=`translate3d(0, ${m}px, 0)`):(e.thumb.style.width=`${c}px`,e.thumb.style.transform=`translate3d(${m}px, 0, 0)`),!0}supportsAxis(t){return this.orientation==="auto"||this.orientation===t}clampScrollPosition(t){let e=this.adapter.getViewportSize(t),i=this.adapter.getScrollSize(t),r=Math.max(0,i-e),a=this.adapter.getScrollPosition(t),s=Math.max(0,Math.min(a,r));return a===s?a:t==="vertical"?(this.adapter.scrollTo({top:s},"auto"),s):(this.adapter.scrollTo({left:s},"auto"),s)}scheduleUpdate(){this.updateFrame===null&&(this.updateFrame=this.adapter.defaultView.requestAnimationFrame(()=>{this.update()}))}showTemporarily(t){if(this.hostElement){if(this.visibility==="always"){this.hostElement.classList.add(h);return}this.hostElement.classList.add(h),this.scheduleHide(t)}}scheduleHide(t){this.visibility==="always"||this.dragAxis||(this.clearHideTimer(),this.hideTimer=setTimeout(()=>{this.hostElement?.classList.remove(h)},t))}clearHideTimer(){this.hideTimer&&(clearTimeout(this.hideTimer),this.hideTimer=null)}onThumbMouseDown(t,e){e.button!==0||!this.hostElement||(e.preventDefault(),e.stopPropagation(),this.dragAxis=t,this.dragStartClientX=e.clientX,this.dragStartClientY=e.clientY,this.dragStartScrollLeft=this.adapter.getScrollPosition("horizontal"),this.dragStartScrollTop=this.adapter.getScrollPosition("vertical"),this.hostElement.classList.add(h,d,u),this.clearHideTimer())}onRailMouseDown(t,e){let i=t==="vertical"?this.verticalElements:this.horizontalElements;if(!i||e.button!==0||e.target===i.thumb)return;e.preventDefault();let r=i.rail.getBoundingClientRect(),a=t==="vertical"?i.thumb.offsetHeight:i.thumb.offsetWidth,s=t==="vertical"?e.clientY-r.top-a/2:e.clientX-r.left-a/2;this.scrollToThumbOffset(t,s),this.showTemporarily(this.hoverDuration)}updateDragPosition(t){if(!this.dragAxis)return;let e=this.dragAxis,i=e==="vertical"?this.verticalElements:this.horizontalElements;if(!i)return;let r=e==="vertical"?i.rail.clientHeight:i.rail.clientWidth,a=e==="vertical"?i.thumb.offsetHeight:i.thumb.offsetWidth,s=Math.max(1,r-a),l=Math.max(0,this.adapter.getScrollSize(e)-this.adapter.getViewportSize(e));if(l<=0)return;let c=(e==="vertical"?t.clientY-this.dragStartClientY:t.clientX-this.dragStartClientX)/s*l;if(e==="vertical"){this.adapter.scrollTo({top:Math.max(0,Math.min(l,this.dragStartScrollTop+c))},"auto");return}this.adapter.scrollTo({left:Math.max(0,Math.min(l,this.dragStartScrollLeft+c))},"auto")}scrollToThumbOffset(t,e){let i=t==="vertical"?this.verticalElements:this.horizontalElements;if(!i)return;let r=Math.max(0,this.adapter.getScrollSize(t)-this.adapter.getViewportSize(t));if(r<=0)return;let a=t==="vertical"?i.rail.clientHeight:i.rail.clientWidth,s=t==="vertical"?i.thumb.offsetHeight:i.thumb.offsetWidth,l=Math.max(1,a-s),n=Math.max(0,Math.min(1,e/l));if(t==="vertical"){this.adapter.scrollTo({top:n*r},"smooth");return}this.adapter.scrollTo({left:n*r},"smooth")}static{this.enabledClass=S}}return o}
1)();export{H as a};
2//# sourceMappingURL=chunk-IKN6V7RT.js.map

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.