mirror of
https://github.com/tenrok/OverlayScrollbars.git
synced 2026-06-18 13:00:35 +03:00
11 lines
27 KiB
JavaScript
11 lines
27 KiB
JavaScript
/*!
|
|
* OverlayScrollbars
|
|
* Version: 2.0.0-beta.0
|
|
*
|
|
* Copyright (c) Rene Haas | KingSora.
|
|
* https://github.com/KingSora
|
|
*
|
|
* Released under the MIT license.
|
|
*/
|
|
|
|
"use strict";function t(e,n){if(g(e))for(let t=0;t<e.length&&!1!==n(e[t],t,e);t++);else e&&t(Object.keys(e),(t=>n(e[t],t,e)));return e}function e(e,n){const r=d(n);if(p(n)||r){let t=r?"":{};if(e){const o=window.getComputedStyle(e,null);t=r?yt(e,o,n):n.reduce(((t,n)=>(t[n]=yt(e,o,n),t)),t)}return t}e&&t(L(n),(t=>mt(e,t,n[t])))}Object.defineProperties(exports,{o:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const n=(t,e)=>{const{u:n,_:r,g:o}=t;let i,s=n;const l=(t,e)=>{const n=s,l=t,c=e||(r?!r(n,l):n!==l);return(c||o)&&(s=l,i=n),[s,c,i]};return[e?t=>l(e(s,i),t):l,t=>[s,!!t,i]]},r=Node.ELEMENT_NODE,{toString:o,hasOwnProperty:i}=Object.prototype,s=t=>void 0===t,l=t=>null===t,c=t=>s(t)||l(t)?`${t}`:o.call(t).replace(/^\[object (.+)\]$/,"$1").toLowerCase(),a=t=>"number"==typeof t,d=t=>"string"==typeof t,u=t=>"boolean"==typeof t,h=t=>"function"==typeof t,p=t=>Array.isArray(t),f=t=>"object"==typeof t&&!p(t)&&!l(t),g=t=>{const e=!!t&&t.length,n=a(e)&&e>-1&&e%1==0;return!(!(p(t)||!h(t)&&n)||e>0&&f(t)&&!(e-1 in t))},w=t=>{if(!t||!f(t)||"object"!==c(t))return!1;let e;const n="constructor",r=t[n],o=r&&r.prototype,l=i.call(t,n),a=o&&i.call(o,"isPrototypeOf");if(r&&!l&&!a)return!1;for(e in t);return s(e)||i.call(t,e)},b=t=>{const e=HTMLElement;return!!t&&(e?t instanceof e:t.nodeType===r)},v=t=>{const e=Element;return!!t&&(e?t instanceof e:t.nodeType===r)},y=(t,e,n)=>t.indexOf(e,n),m=(t,e,n)=>(n||d(e)||!g(e)?t.push(e):Array.prototype.push.apply(t,e),t),x=e=>{const n=Array.from,r=[];return n&&e?n(e):(e instanceof Set?e.forEach((t=>{m(r,t)})):t(e,(t=>{m(r,t)})),r)},$=t=>!!t&&0===t.length,O=(e,n,r)=>{t(e,(t=>t&&t.apply(void 0,n||[]))),!r&&(e.length=0)},S=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),L=t=>t?Object.keys(t):[],E=(e,n,r,o,i,s,c)=>{const a=[n,r,o,i,s,c];return"object"==typeof e&&!l(e)||h(e)||(e={}),t(a,(n=>{t(L(n),(t=>{const r=n[t];if(e===r)return!0;const o=p(r);if(r&&(w(r)||o)){const n=e[t];let i=n;o&&!p(n)?i=[]:o||w(n)||(i={}),e[t]=E(i,r)}else e[t]=r}))})),e},C=t=>{for(const e in t)return!1;return!0},M=(t,e,n,r)=>{if(s(r))return n?n[t]:e;n&&(d(r)||a(r))&&(n[t]=r)},R=(t,e,n)=>{if(s(n))return t?t.getAttribute(e):null;t&&t.setAttribute(e,n)},P=(t,e,n,r)=>{if(n){const o=R(t,e)||"",i=new Set(o.split(" "));i[r?"add":"delete"](n),R(t,e,x(i).join(" ").trim())}},D=(t,e)=>{t&&t.removeAttribute(e)},H=(t,e)=>M("scrollLeft",0,t,e),z=(t,e)=>M("scrollTop",0,t,e),I=Element.prototype,T=(t,e)=>{const n=[],r=e?v(e)?e:null:document;return r?m(n,r.querySelectorAll(t)):n},A=(t,e)=>!!v(t)&&(I.matches||I.msMatchesSelector).call(t,e),j=t=>t?x(t.childNodes):[],N=t=>t?t.parentElement:null,k=(t,e)=>{if(v(t)){const n=I.closest;if(n)return n.call(t,e);do{if(A(t,e))return t;t=N(t)}while(t)}return null},_=(e,n,r)=>{if(r&&e){let o,i=n;g(r)?(o=document.createDocumentFragment(),t(r,(t=>{t===i&&(i=t.previousSibling),o.appendChild(t)}))):o=r,n&&(i?i!==n&&(i=i.nextSibling):i=e.firstChild),e.insertBefore(o,i||null)}},B=(t,e)=>{_(t,null,e)},F=(t,e)=>{_(N(t),t&&t.nextSibling,e)},X=e=>{if(g(e))t(x(e),(t=>X(t)));else if(e){const t=N(e);t&&t.removeChild(e)}},q=t=>{const e=document.createElement("div");return t&&R(e,"class",t),e},V=e=>{const n=q();return n.innerHTML=e.trim(),t(j(n),(t=>X(t)))},Y=t=>t.charAt(0).toUpperCase()+t.slice(1),W=["-webkit-","-moz-","-o-","-ms-"],J=["WebKit","Moz","O","MS","webkit","moz","o","ms"],Z={},K={},G=e=>{let n=K[e];if(S(K,e))return n;const r=Y(e),o=q().style;return t(W,(t=>{const i=t.replace(/-/g,""),s=[e,t+e,i+r,Y(i)+r];return!(n=s.find((t=>void 0!==o[t])))})),K[e]=n||""},U=e=>{let n=Z[e]||window[e];return S(Z,e)||(t(J,(t=>(n=n||window[t+Y(e)],!n))),Z[e]=n),n},Q=U("MutationObserver"),tt=U("IntersectionObserver"),et=U("ResizeObserver"),nt=U("cancelAnimationFrame"),rt=U("requestAnimationFrame"),ot=window.setTimeout,it=window.clearTimeout,st=/[^\x20\t\r\n\f]+/g,lt=(t,e,n)=>{const r=t&&t.classList;let o,i=0,s=!1;if(r&&e&&d(e)){const t=e.match(st)||[];for(s=t.length>0;o=t[i++];)s=!!n(r,o)&&s}return s},ct=(t,e)=>{lt(t,e,((t,e)=>t.remove(e)))},at=(t,e)=>(lt(t,e,((t,e)=>t.add(e))),ct.bind(0,t,e)),dt=(e,n,r,o)=>{if(e&&n){let i=!0;return t(r,(t=>{(o?o(e[t]):e[t])!==(o?o(n[t]):n[t])&&(i=!1)})),i}return!1},ut=(t,e)=>dt(t,e,["w","h"]),ht=(t,e)=>dt(t,e,["x","y"]),pt=(t,e)=>dt(t,e,["t","r","b","l"]),ft=(t,e,n)=>dt(t,e,["width","height"],n&&(t=>Math.round(t))),gt=()=>{},wt=(t,e)=>{let n,r,o,i=gt;const{v:s,p:l,m:c}=e||{},d=function(e){i(),it(n),n=r=void 0,i=gt,t.apply(this,e)},u=t=>c&&r?c(r,t):t,p=()=>{i!==gt&&d(u(o)||o)},f=function(){const t=x(arguments),e=h(s)?s():s,c=a(e)&&e>=0;if(c){const s=h(l)?l():l,c=a(s)&&s>=0,f=e>0?ot:rt,g=e>0?it:nt,w=u(t)||t,b=d.bind(0,w);i();const v=f(b,e);i=()=>g(v),c&&!n&&(n=ot(p,s)),r=o=w}else d(t)};return f.S=p,f},bt={opacity:1,zindex:1},vt=(t,e)=>{const n=e?parseFloat(t):parseInt(t,10);return n==n?n:0},yt=(t,e,n)=>null!=e?e[n]||e.getPropertyValue(n):t.style[n],mt=(t,e,n)=>{try{const{style:r}=t;s(r[e])?r.setProperty(e,n):r[e]=((t,e)=>!bt[t.toLowerCase()]&&a(e)?`${e}px`:e)(e,n)}catch(I){}},xt=t=>"rtl"===e(t,"direction"),$t=(t,n,r)=>{const o=n?`${n}-`:"",i=r?`-${r}`:"",s=`${o}top${i}`,l=`${o}right${i}`,c=`${o}bottom${i}`,a=`${o}left${i}`,d=e(t,[s,l,c,a]);return{t:vt(d[s]),r:vt(d[l]),b:vt(d[c]),l:vt(d[a])}},{round:Ot}=Math,St={w:0,h:0},Lt=t=>t?{w:t.offsetWidth,h:t.offsetHeight}:St,Et=t=>t?{w:t.clientWidth,h:t.clientHeight}:St,Ct=t=>t?{w:t.scrollWidth,h:t.scrollHeight}:St,Mt=t=>{const n=parseFloat(e(t,"height"))||0,r=parseFloat(e(t,"width"))||0;return{w:r-Ot(r),h:n-Ot(n)}},Rt=t=>t.getBoundingClientRect();let Pt;const Dt=t=>t.split(" "),Ht=(e,n,r,o)=>{t(Dt(n),(t=>{e.removeEventListener(t,r,o)}))},zt=(e,n,r,o)=>{var i;const l=(()=>{if(s(Pt)){Pt=!1;try{window.addEventListener("test",null,Object.defineProperty({},"passive",{get(){Pt=!0}}))}catch(e){}}return Pt})(),c=null!=(i=l&&o&&o.$)?i:l,a=o&&o.C||!1,d=o&&o.O||!1,u=[],h=l?{passive:c,capture:a}:a;return t(Dt(n),(t=>{const n=d?o=>{e.removeEventListener(t,n,a),r&&r(o)}:r;m(u,Ht.bind(null,e,t,n,a)),e.addEventListener(t,n,h)})),O.bind(0,u)},It=t=>t.stopPropagation(),Tt={x:0,y:0},At=t=>{const e=t?Rt(t):0;return e?{x:e.left+window.pageYOffset,y:e.top+window.pageXOffset}:Tt},jt=(e,n)=>{t(p(n)?n:[n],e)},Nt=e=>{const n=new Map,r=(t,e)=>{if(t){const r=n.get(t);jt((t=>{r&&r[t?"delete":"clear"](t)}),e)}else n.forEach((t=>{t.clear()})),n.clear()},o=(t,e)=>{const o=n.get(t)||new Set;return n.set(t,o),jt((t=>{t&&o.add(t)}),e),r.bind(0,t,e)};return t(L(e),(t=>{o(t,e[t])})),[o,r,(e,r)=>{const o=n.get(e);t(x(o),(t=>{r&&!$(r)?t.apply(0,r):t()}))}]},kt=t=>JSON.stringify(t,((t,e)=>{if(h(e))throw new Error;return e})),_t={paddingAbsolute:!1,showNativeOverlaidScrollbars:!1,updating:{elementEvents:[["img","load"]],debounce:[0,33],attributes:null,ignoreMutation:null},overflow:{x:"scroll",y:"scroll"},scrollbars:{theme:"os-theme-dark",visibility:"auto",autoHide:"never",autoHideDelay:1300,dragScroll:!0,clickScroll:!1,pointers:["mouse","touch","pen"]}},Bt=(e,n)=>{const r={};return t(L(n).concat(L(e)),(t=>{const o=e[t],i=n[t];if(f(o)&&f(i))E(r[t]={},Bt(o,i));else if(S(n,t)&&i!==o){let e=!0;if(p(o)||p(i))try{kt(o)===kt(i)&&(e=!1)}catch(Z){}e&&(r[t]=i)}})),r},Ft="os-environment",Xt=`${Ft}-flexbox-glue`,qt=`${Xt}-max`,Vt="data-overlayscrollbars",Yt=`${Vt}-overflow-x`,Wt=`${Vt}-overflow-y`,Jt="overflowVisible",Zt="scrollbarHidden",Kt="updating",Gt="os-padding",Ut="os-viewport",Qt=`${Ut}-arrange`,te="os-content",ee=`${Ut}-scrollbar-hidden`,ne=`os-overflow-visible`,re="os-size-observer",oe=`${re}-appear`,ie=`${re}-listener`,se=`${ie}-scroll`,le=`${ie}-item`,ce=`${le}-final`,ae="os-trinsic-observer",de="os-scrollbar",ue=`${de}-rtl`,he=`${de}-horizontal`,pe=`${de}-vertical`,fe=`${de}-track`,ge=`${de}-handle`,we=`${de}-visible`,be=`${de}-cornerless`,ve=`${de}-transitionless`,ye=`${de}-interaction`,me=`${de}-unusable`,xe=`${de}-auto-hidden`,$e=`${fe}-interactive`,Oe=`${ge}-interactive`,Se={},Le=()=>Se,Ee="__osOptionsValidationPlugin",Ce=3333333,Me="scroll",Re="__osSizeObserverPlugin",Pe={[Re]:{T:(t,n,r)=>{const o=V(`<div class="${le}" dir="ltr"><div class="${le}"><div class="${ce}"></div></div><div class="${le}"><div class="${ce}" style="width: 200%; height: 200%"></div></div></div>`);B(t,o),at(t,se);const i=o[0],s=i.lastChild,l=i.firstChild,c=null==l?void 0:l.firstChild;let a,d=Lt(i),u=d,h=!1;const p=()=>{H(l,Ce),z(l,Ce),H(s,Ce),z(s,Ce)},f=t=>{a=0,h&&(d=u,n(!0===t))},g=t=>{u=Lt(i),h=!t||!ut(u,d),t?(It(t),h&&!a&&(nt(a),a=rt(f))):f(!1===t),p()},w=m([],[zt(l,Me,g),zt(s,Me,g)]);return e(c,{width:Ce,height:Ce}),rt(p),[r?g.bind(0,!1):p,w]}}};let De=0;const{round:He,abs:ze}=Math,Ie="__osScrollbarsHidingPlugin",Te={[Ie]:{A:t=>{const{I:e,L:n,H:r}=t,o=!(r||e||!n.x&&!n.y)&&document.createElement("style");return o&&(R(o,"id",`${Qt}-${De}`),De++),o},P:(n,r,o,i,s,l,c)=>[(t,r,l,c)=>{if(n){const{D:n}=s(),{M:a,R:d}=t,{x:u,y:h}=d,{x:p,y:f}=a,g=n[c?"paddingRight":"paddingLeft"],w=n.paddingTop,b=r.w+l.w,v=r.h+l.h,y={w:f&&h?`${f+b-g}px`:"",h:p&&u?`${p+v-w}px`:""};if(i){const{sheet:t}=i;if(t){const{cssRules:e}=t;if(e){e.length||t.insertRule(`#${R(i,"id")} + .${Qt}::before {}`,0);const n=e[0].style;n.width=y.w,n.height=y.h}}}else e(o,{"--os-vaw":y.w,"--os-vah":y.h})}return n},(i,a,d)=>{if(n){const u=d||l(i),{D:h}=s(),{R:p}=u,{x:f,y:g}=p,w={},b=e=>t(e.split(" "),(t=>{w[t]=h[t]}));f&&b("marginBottom paddingTop paddingBottom"),g&&b("marginLeft marginRight paddingLeft paddingRight");const v=e(o,L(w));return ct(o,Qt),r||(w.height=""),e(o,w),[()=>{c(u,a,n,v),e(o,v),at(o,Qt)},u]}return[gt]}],k:()=>{let t={w:0,h:0},e=0;return(n,r,o)=>{const i={w:window.innerWidth,h:window.innerHeight},s={w:i.w-t.w,h:i.h-t.h};if(0===s.w&&0===s.h)return;const l=ze(s.w),c=ze(s.h),a={w:ze(He(i.w/(t.w/100))),h:ze(He(i.h/(t.h/100)))},d=(()=>{const t=window.screen.deviceXDPI||0,e=window.screen.logicalXDPI||1;return window.devicePixelRatio||t/e})(),u=l>2&&c>2,h=!((t,e)=>{const n=ze(t),r=ze(e);return!(n===r||n+1===r||n-1===r)})(a.w,a.h);if(u&&h&&d!==e&&d>0){const[t,e]=r();E(n.B,t),e&&o()}t=i,e=d}}}};let Ae;const je=(t,e,n,r)=>{B(t,e);const o=Et(e),i=Lt(e),s=Mt(n);return r&&X(e),{x:i.h-o.h+s.h,y:i.w-o.w+s.w}},Ne=(t,n)=>{const r="hidden";e(t,{overflowX:r,overflowY:r,direction:"rtl"}),H(t,0);const o=At(t),i=At(n);H(t,-999);const s=At(n);return{i:o.x===i.x,n:i.x!==s.x}},ke=(t,e)=>{const n=at(t,Xt),r=Rt(t),o=Rt(e),i=ft(o,r,!0),s=at(t,qt),l=Rt(t),c=Rt(e),a=ft(c,l,!0);return n(),s(),i&&a},_e=()=>(Ae||(Ae=(()=>{const{body:t}=document,r=V(`<div class="${Ft}"><div></div></div>`)[0],o=r.firstChild,[i,,s]=Nt(),[l,c]=n({u:je(t,r,o),_:ht},je.bind(0,t,r,o,!0)),[a]=c(),d=(t=>{let n=!1;const r=at(t,ee);try{n="none"===e(t,G("scrollbar-width"))||"none"===window.getComputedStyle(t,"::-webkit-scrollbar").getPropertyValue("display")}catch(o){}return r(),n})(r),u={x:0===a.x,y:0===a.y},h={host:null,padding:!d,viewport:t=>d&&t===t.ownerDocument.body&&t,content:!1,scrollbarsSlot:!0,cancel:{nativeScrollbarsOverlaid:!0,body:null}},p=E({},_t),f={B:a,L:u,I:d,H:"-1"===e(r,"zIndex"),V:Ne(r,o),j:ke(r,o),Y:t=>i("_",t),q:E.bind(0,{},h),F(t){E(h,t)},G:E.bind(0,{},p),N(t){E(p,t)},U:E({},h),W:E({},p)};if(D(r,"style"),X(r),!(d||u.x&&u.y)){let t;window.addEventListener("resize",(()=>{const e=Le()[Ie];t=t||e&&e.k(),t&&t(f,l,s.bind(0,"_"))}))}return f})()),Ae),Be=(t,e)=>h(t)?t.apply(0,e):t,Fe=(t,e,n,r)=>{const o=s(r)?n:r;return Be(o,t)||e()},Xe=(t,e,n,r)=>{const o=s(r)?n:r,i=Be(o,t);return!!i&&(b(i)?i:e())},qe=new WeakMap,Ve=t=>qe.get(t),Ye=(t,e)=>t?e.split(".").reduce(((t,e)=>t&&S(t,e)?t[e]:void 0),t):void 0,We=(t,e,n)=>r=>[Ye(t,r),n||void 0!==Ye(e,r)],Je=t=>{let e=t;return[()=>e,t=>{e=E({},e,t)}]},Ze="tabindex",Ke=q.bind(0,""),Ge=t=>{B(N(t),j(t)),X(t)},Ue=t=>{const e=_e(),{q:n,I:r}=e,o=Le()[Ie],i=o&&o.A,{host:s,viewport:l,padding:c,content:a}=n(),d=b(t),u=d?{}:t,{host:h,padding:p,viewport:f,content:g}=u,w=d?t:u.target,v=A(w,"textarea"),x=w.ownerDocument,$=w===x.body,S=x.defaultView,E=Fe.bind(0,[w]),C=Xe.bind(0,[w]),M=E(Ke,l,f),H=M===w,z=H&&$,I=!H&&S.top===S&&x.activeElement===w,T={K:w,Z:v?E(Ke,s,h):w,tt:M,nt:!H&&C(Ke,c,p),ot:!H&&C(Ke,a,g),st:!H&&!r&&i&&i(e),et:z?x.documentElement:M,ct:z?x:M,rt:S,it:x,lt:v,X:$,ut:d,J:H,dt:(t,e)=>H?((t,e,n)=>{const r=R(t,Vt)||"";return new Set(r.split(" ")).has(n)})(M,0,e):((t,e)=>lt(t,e,((t,e)=>t.contains(e))))(M,t),ft:(t,e,n)=>H?P(M,Vt,e,n):(n?at:ct)(M,t)},k=L(T).reduce(((t,e)=>{const n=T[e];return m(t,!(!n||N(n))&&n)}),[]),q=t=>t?y(k,t)>-1:null,{K:V,Z:Y,nt:W,tt:J,ot:Z,st:K}=T,G=[],U=v&&q(Y);let Q=v?V:j([Z,J,W,Y,V].find((t=>!1===q(t))));const tt=Z||J;return[T,()=>{const t=((t,e)=>(R(t,Vt,e),D.bind(0,t,Vt)))(Y,H?"viewport":"host"),e=at(W,Gt),n=at(J,!H&&Ut),o=at(Z,te),i=z?at(N(w),ee):gt;if(U&&(F(V,Y),m(G,(()=>{F(Y,V),X(Y)}))),B(tt,Q),B(Y,W),B(W||Y,!H&&J),B(J,Z),m(G,(()=>{i(),t(),D(J,Yt),D(J,Wt),q(Z)&&Ge(Z),q(J)&&Ge(J),q(W)&&Ge(W),e(),n(),o()})),r&&!H&&m(G,ct.bind(0,J,ee)),K&&(((t,e)=>{_(N(t),t,e)})(J,K),m(G,X.bind(0,K))),I){const t=R(J,Ze);R(J,Ze,"-1"),J.focus();const e=zt(x,"pointerdown keydown",(()=>{t?R(J,Ze,t):D(J,Ze),e()}))}Q=0},O.bind(0,G)]},Qe=(t,n)=>{const{ot:r}=t,[o]=n;return t=>{const{j:n}=_e(),{_t:i}=o(),{ht:s}=t,l=(r||!n)&&s;return l&&e(r,{height:i?"":"100%"}),{gt:l,vt:l}}},tn=(t,r)=>{const[o,i]=r,{Z:s,nt:l,tt:c,J:a}=t,[d,u]=n({_:pt,u:$t()},$t.bind(0,s,"padding",""));return(t,n,r)=>{let[s,h]=u(r);const{I:p,j:f}=_e(),{wt:g}=o(),{gt:w,vt:b,bt:v}=t,[y,m]=n("paddingAbsolute");(w||h||!f&&b)&&([s,h]=d(r));const x=!a&&(m||v||h);if(x){const t=!y||!l&&!p,n=s.r+s.l,r=s.t+s.b,o={marginRight:t&&!g?-n:0,marginBottom:t?-r:0,marginLeft:t&&g?-n:0,top:t?-s.t:0,right:t?g?-s.r:"auto":0,left:t?g?"auto":-s.l:0,width:t?`calc(100% + ${n}px)`:""},a={paddingTop:t?s.t:0,paddingRight:t?s.r:0,paddingBottom:t?s.b:0,paddingLeft:t?s.l:0};e(l||c,o),e(c,a),i({nt:s,yt:!t,D:l?a:E({},o,a)})}return{St:x}}},{max:en}=Math,nn=en.bind(0,0),rn="visible",on="hidden",sn=42,ln={_:ut,u:{w:0,h:0}},cn={_:ht,u:{x:on,y:on}},an=(t,e,n)=>n?at(t,e):ct(t,e),dn=t=>0===t.indexOf(rn),un=(t,r)=>{const[o,i]=r,{Z:s,nt:l,tt:c,st:a,J:d,ft:u,X:h,rt:p}=t,{B:f,j:g,I:w,L:b}=_e(),v=Le()[Ie],y=!d&&!w&&(b.x||b.y),m=h&&d,[x,$]=n(ln,Mt.bind(0,c)),[O,S]=n(ln,Ct.bind(0,c)),[L,E]=n(ln),[C,M]=n(ln),[D]=n(cn),H=(t,n)=>{if(e(c,{height:""}),n){const{yt:n,nt:r}=o(),{xt:i,M:l}=t,a=Mt(s),d=Et(s),u="content-box"===e(c,"boxSizing"),h=n||u?r.b+r.t:0,p=!(b.x&&u);e(c,{height:d.h+a.h+(i.x&&p?l.x:0)-h})}},z=(t,n)=>{const r=w||t?0:sn,o=(t,o,i)=>{const s=e(c,t),l="scroll"===(n?n[t]:s);return[s,l,l&&!w?o?r:i:0,o&&!!r]},[i,s,l,a]=o("overflowX",b.x,f.x),[d,u,h,p]=o("overflowY",b.y,f.y);return{$t:{x:i,y:d},xt:{x:s,y:u},M:{x:l,y:h},R:{x:a,y:p}}},I=(t,e,n,r)=>{const{M:i,R:s}=t,{x:l,y:c}=s,{x:a,y:d}=i,{D:u}=o(),h=e?"marginLeft":"marginRight",p=e?"paddingLeft":"paddingRight",f=u[h],g=u.marginBottom,w=u[p],b=u.paddingBottom;r.width=`calc(100% + ${d+-1*f}px)`,r[h]=-d+f,r.marginBottom=-a+g,n&&(r[p]=w+(c?d:0),r.paddingBottom=b+(l?a:0))},[T,A]=v?v.P(y,g,c,a,o,z,I):[()=>y,()=>[gt]];return(t,n,r)=>{const{gt:a,Ct:h,vt:f,St:v,ht:y,bt:j}=t,{_t:N,wt:k}=o(),[_,B]=n("showNativeOverlaidScrollbars"),[F,X]=n("overflow"),q=_&&b.x&&b.y,V=!d&&!g&&(a||f||h||B||y),Y=dn(F.x),W=dn(F.y),J=Y||W;let Z,K=$(r),G=S(r),U=E(r),Q=M(r);if(B&&w&&u(ee,Zt,!q),V&&(Z=z(q),H(Z,N)),a||v||f||j||B){J&&u(ne,Jt,!1);const[t,e]=A(q,k,Z),[n,o]=K=x(r),[i,s]=G=O(r),l=Et(c);let a=i,d=l;t(),(s||o||B)&&e&&!q&&T(e,i,n,k)&&(d=Et(c),a=Ct(c));const h={w:nn(en(i.w,a.w)+n.w),h:nn(en(i.h,a.h)+n.h)},f={w:nn(m?p.innerWidth:d.w+nn(l.w-i.w)+n.w),h:nn(m?p.innerHeight:d.h+nn(l.h-i.h)+n.h)};Q=C(f),U=L(((t,e)=>{const n=window.devicePixelRatio%1!=0?1:0,r={w:nn(t.w-e.w),h:nn(t.h-e.h)};return{w:r.w>n?r.w:0,h:r.h>n?r.h:0}})(h,f),r)}const[tt,et]=Q,[nt,rt]=U,[ot,it]=G,[st,lt]=K,ct={x:nt.w>0,y:nt.h>0},at=Y&&W&&(ct.x||ct.y)||Y&&ct.x&&!ct.y||W&&ct.y&&!ct.x;if(v||j||lt||it||et||rt||X||B||V){const t={marginRight:0,marginBottom:0,marginLeft:0,width:"",overflowY:"",overflowX:""},n=((t,e,n,r)=>{const o=(t,e)=>{const n=dn(t),r=e&&n&&t.replace(`${rn}-`,"")||"";return[e&&!n?t:"",dn(r)?"hidden":r]},[i,s]=o(n.x,e.x),[l,c]=o(n.y,e.y);return r.overflowX=s&&l?s:i,r.overflowY=c&&i?c:l,z(t,r)})(q,ct,F,t),r=T(n,ot,st,k);d||I(n,k,r,t),V&&H(n,N),d?(R(s,Yt,t.overflowX),R(s,Wt,t.overflowY)):e(c,t)}P(s,Vt,Jt,at),an(l,ne,at),!d&&an(c,ne,J);const[dt,ut]=D(z(q).$t);return i({$t:dt,Ot:{x:tt.w,y:tt.h},Et:{x:nt.w,y:nt.h},Tt:ct}),{At:ut,zt:et,It:rt}}},hn=(e,n,r)=>{const o={},i=n||{};return t(L(e).concat(L(i)),(t=>{const n=e[t],s=i[t];o[t]=!!(r||n||s)})),o},pn=3333333,fn=t=>t&&(t.height||t.width),gn=(t,e,r)=>{const{Lt:o=!1,Ht:i=!1}=r||{},s=Le()[Re],{V:l}=_e(),c=V(`<div class="${re}"><div class="${ie}"></div></div>`)[0],a=c.firstChild,d=xt.bind(0,t),[h]=n({u:void 0,g:!0,_:(t,e)=>!(!t||!fn(t)&&fn(e))}),g=t=>{const n=p(t)&&t.length>0&&f(t[0]),r=!n&&u(t[0]);let i=!1,s=!1,a=!0;if(n){const[e,,n]=h(t.pop().contentRect),r=fn(e),o=fn(n);i=!n||!r,s=!o&&r,a=!i}else r?[,a]=t:s=!0===t;if(o&&a){const e=r?t[0]:xt(c);H(c,e?l.n?-pn:l.i?0:pn:pn),z(c,pn)}i||e({gt:!r,Pt:r?t:void 0,Ht:!!s})},w=[];let b=!!i&&g;return[()=>{O(w),X(c)},()=>{if(et){const t=new et(g);t.observe(a),m(w,(()=>{t.disconnect()}))}else if(s){const[t,e]=s.T(a,g,i);b=t,m(w,e)}if(o){const[t]=n({u:!d()},d);m(w,zt(c,"scroll",(e=>{const n=t(),[r,o]=n;o&&(ct(a,"ltr rtl"),at(a,r?"rtl":"ltr"),g(n)),It(e)})))}b&&(at(c,oe),m(w,zt(c,"animationstart",b,{O:!!et}))),B(t,c)}]},wn=(t,e)=>{let r;const o=q(ae),i=[],[s]=n({u:!1}),l=(t,n)=>{if(t){const r=s((t=>0===t.h||t.isIntersecting||t.intersectionRatio>0)(t)),[,o]=r;if(o)return!n&&e(r),[r]}},c=(t,e)=>{if(t&&t.length>0)return l(t.pop(),e)};return[()=>{O(i),X(o)},()=>{if(tt)r=new tt((t=>c(t)),{root:t}),r.observe(o),m(i,(()=>{r.disconnect()}));else{const t=()=>{const t=Lt(o);l(t)},[e,n]=gn(o,t);m(i,e),n(),t()}B(t,o)},()=>{if(r)return c(r.takeRecords(),!0)}]},bn=(e,n,r,o)=>{let i=!1;const{Dt:s,Mt:l,Rt:c,kt:a,Bt:u,Vt:h}=o||{},p=wt((()=>{i&&r(!0)}),{v:33,p:99}),[f,g]=((e,n,r)=>{let o,i=!1;const s=s=>{if(r){const l=r.reduce(((t,n)=>{if(n){const r=n[0],o=n[1],i=o&&r&&(s?s(r):T(r,e));i&&i.length&&o&&d(o)&&m(t,[i,o.trim()],!0)}return t}),[]);t(l,(e=>t(e[0],(t=>{const r=e[1],s=o.get(t);if(s){const t=s[0],e=s[1];t===r&&e()}const l=zt(t,r,(e=>{i?(l(),o.delete(t)):n(e)}));o.set(t,[r,l])}))))}};return r&&(o=new WeakMap,s()),[()=>{i=!0},s]})(e,p,c),w=l||[],b=(s||[]).concat(w),v=(i,s)=>{const l=u||gt,c=h||gt,p=[],f=[];let b=!1,v=!1,x=!1;return t(i,(t=>{const{attributeName:r,target:i,type:s,oldValue:u,addedNodes:h}=t,g="attributes"===s,$="childList"===s,O=e===i,S=g&&d(r)?R(i,r):0,L=0!==S&&u!==S,E=y(w,r)>-1&&L;if(n&&!O){const n=!g,s=g&&E,d=s&&a&&A(i,a),p=(d?!l(i,r,u,S):n||s)&&!c(t,!!d,e,o);m(f,h),v=v||p,x=x||$}!n&&O&&L&&!l(i,r,u,S)&&(m(p,r),b=b||E)})),x&&!$(f)&&g((t=>f.reduce(((e,n)=>(m(e,T(t,n)),A(n,t)?m(e,n):e)),[]))),n?(!s&&v&&r(!1),[!1]):!$(p)||b?(!s&&r(p,b),[p,b]):void 0},x=new Q((t=>v(t)));return x.observe(e,{attributes:!0,attributeOldValue:!0,attributeFilter:b,subtree:n,childList:n,characterData:n}),i=!0,[()=>{i&&(f(),x.disconnect(),i=!1)},()=>{if(i){p.S();const t=x.takeRecords();return!$(t)&&v(t,!0)}}]},vn=`[${Vt}]`,yn=`.${Ut}`,mn=["tabindex"],xn=["wrap","cols","rows"],$n=["id","class","style","open"],On=(e,r,o)=>{let i,s,l;const[,c]=r,{Z:u,tt:f,ot:g,lt:w,J:b,dt:x,ft:$}=e,{j:O}=_e(),[S]=n({_:ut,u:{w:0,h:0}},(()=>{const t=x(ne,Jt),e=x(Qt,""),n=e&&H(f),r=e&&z(f);$(ne,Jt),$(Qt,""),$("",Kt,!0);const o=Ct(g),i=Ct(f),s=Mt(f);return $(ne,Jt,t),$(Qt,"",e),$("",Kt),H(f,n),z(f,r),{w:i.w+o.w+s.w,h:i.h+o.h+s.h}})),C=w?xn:$n.concat(xn),M=wt(o,{v:()=>i,p:()=>s,m(t,e){const[n]=t,[r]=e;return[L(n).concat(L(r)).reduce(((t,e)=>(t[e]=n[e]||r[e],t)),{})]}}),P=e=>{t(e||mn,(t=>{if(y(mn,t)>-1){const e=R(u,t);d(e)?R(f,t,e):D(f,t)}}))},I=(t,e)=>{const[n,r]=t,i={ht:r};return c({_t:n}),!e&&o(i),i},T=({gt:t,Pt:e,Ht:n})=>{const r=!t||n?o:M;let i=!1;if(e){const[t,n]=e;i=n,c({wt:t})}r({gt:t,bt:i})},A=(t,e)=>{const[,n]=S(),r={vt:n};return n&&!e&&(t?o:M)(r),r},j=(t,e,n)=>{const r={Ct:e};return e?!n&&M(r):b||P(t),r},[N,_,B]=g||!O?wn(u,I):[gt,gt,gt],[F,X]=b?[gt,gt]:gn(u,T,{Ht:!0,Lt:!0}),[q,V]=bn(u,!1,j,{Mt:$n,Dt:$n.concat(mn)}),Y=b&&et&&new et(T.bind(0,{gt:!0}));return Y&&Y.observe(u),P(),[()=>{N(),F(),l&&l[0](),Y&&Y.disconnect(),q()},()=>{X(),_()},()=>{const t={},e=V(),n=B(),r=l&&l[1]();return e&&E(t,j.apply(0,m(e,!0))),n&&E(t,I.apply(0,m(n,!0))),r&&E(t,A.apply(0,m(r,!0))),t},t=>{const[e]=t("updating.ignoreMutation"),[n,r]=t("updating.attributes"),[o,c]=t("updating.elementEvents"),[d,u]=t("updating.debounce"),w=t=>h(e)&&e(t);if((c||r)&&(l&&(l[1](),l[0]()),l=bn(g||f,!0,A,{Mt:C.concat(n||[]),Dt:C.concat(n||[]),Rt:o,kt:vn,Vt:(t,e)=>{const{target:n,attributeName:r}=t;return!(e||!r||b)&&((t,e,n)=>{const r=t&&k(t,e),o=t&&((t,e)=>{const n=e?v(e)?e:null:document;return n?n.querySelector(t):null})(n,r),i=k(o,e)===r;return!(!r||!o)&&(r===t||o===t||i&&k(k(t,n),e)!==r)})(n,vn,yn)||!!k(n,`.${de}`)||!!w(t)}})),u)if(M.S(),p(d)){const t=d[0],e=d[1];i=!!a(t)&&t,s=!!a(e)&&e}else a(d)?(i=d,s=!1):(i=!1,s=!1)}]},Sn={x:0,y:0},Ln={nt:{t:0,r:0,b:0,l:0},yt:!1,D:{marginRight:0,marginBottom:0,marginLeft:0,paddingTop:0,paddingRight:0,paddingBottom:0,paddingLeft:0},Ot:Sn,Et:Sn,$t:{x:"hidden",y:"hidden"},Tt:{x:!1,y:!1},_t:!1,wt:!1},{round:En}=Math,Cn=t=>({x:t.clientX,y:t.clientY}),Mn=(t,e)=>zt(t,"mousedown",zt.bind(0,e,"click",It,{O:!0,C:!0}),{C:!0}),Rn=(t,e,n,r,o,i)=>{const{V:s}=_e(),{Ft:l,Gt:c,Nt:a}=n,d=`scroll${i?"Left":"Top"}`,u=`${i?"x":"y"}`,h=`${i?"w":"h"}`,p=(t,e,n)=>p=>{const{Et:f}=o(),g=(Cn(p)[u]-e)*n/(Lt(c)[h]-Lt(l)[h])*f[u],w=xt(a)&&i?s.n||s.i?1:-1:1;r[d]=t+g*w};return zt(l,"pointerdown",(n=>{if(((t,e,n)=>{const r=e.scrollbars,{button:o,isPrimary:i,pointerType:s}=t,{pointers:l}=r;return 0===o&&i&&r["dragScroll"]&&(l||[]).includes(s)})(n,t)){const t=zt(e,"selectstart",(t=>(t=>t.preventDefault())(t)),{$:!1}),o=zt(l,"pointermove",p(r[d]||0,Cn(n)[u],1/(t=>{const{width:e,height:n}=Rt(t),{w:r,h:o}=Lt(t);return{x:En(e)/r||1,y:En(n)/o||1}})(r)[u]));zt(l,"pointerup",(e=>{t(),o(),l.releasePointerCapture(e.pointerId)}),{O:!0}),l.setPointerCapture(n.pointerId)}}))},{min:Pn,max:Dn,abs:Hn,round:zn}=Math,In=(t,e,n,r)=>{if(r){const t=n?"x":"y",{Et:e,Ot:o}=r,i=o[t],s=e[t];return Dn(0,Pn(1,i/(i+s)))}const o=n?"w":"h",i=Lt(t)[o],s=Lt(e)[o];return Dn(0,Pn(1,i/s))},Tn=(n,r,o)=>{const{q:i}=_e(),{scrollbarsSlot:s}=i(),{it:l,K:c,Z:a,tt:d,ut:h,et:p}=r,{scrollbarsSlot:f}=h?{}:n,g=Xe([c,a,d],(()=>a),s,f),w=(e,n,r)=>{const o=r?at:ct;t(e,(t=>{o(t.Nt,n)}))},b=(n,r)=>{t(n,(t=>{const[n,o]=r(t);e(n,o)}))},v=(t,e,n)=>{b(t,(t=>{const{Ft:r,Gt:o}=t;return[r,{[n?"width":"height"]:`${(100*In(r,o,n,e)).toFixed(3)}%`}]}))},y=(t,e,n)=>{const r=n?"X":"Y";b(t,(t=>{const{Ft:o,Gt:i,Nt:s}=t,l=((t,e,n,r,o,i)=>{const{V:s}=_e(),l=i?"x":"y",c=i?"Left":"Top",{Et:a}=r,d=zn(a[l]),u=Hn(n[`scroll${c}`]),h=i&&o,p=s.i?u:d-u,f=Pn(1,(h?p:u)/d),g=In(t,e,i);return 1/g*(1-g)*f})(o,i,p,e,xt(s),n);return[o,{transform:l==l?`translate${r}(${(100*l).toFixed(3)}%)`:""}]}))},x=[],S=[],L=[],E=(t,e,n)=>{const r=u(n),o=!r||!n;(!r||n)&&w(S,t,e),o&&w(L,t,e)},C=t=>{const e=t?he:pe,n=t?S:L,r=$(n)?ve:"",i=q(`${de} ${e} ${r}`),s=q(fe),c=q(ge),a={Nt:i,Gt:s,Ft:c};return B(i,s),B(s,c),m(n,a),m(x,[X.bind(0,i),o(a,E,l,p,t)]),a},M=C.bind(0,!0),R=C.bind(0,!1);return M(),R(),[{Ut:t=>{v(S,t,!0),v(L,t)},Wt:t=>{y(S,t,!0),y(L,t)},Xt:E,Jt:{Kt:S,Zt:M,Qt:b.bind(0,S)},tn:{Kt:L,Zt:R,Qt:b.bind(0,L)}},()=>{B(g,S[0].Nt),B(g,L[0].Nt),ot((()=>{E(ve)}),300)},O.bind(0,x)]},An=t=>{let e;const n=t?ot:rt,r=t?it:nt;return[o=>{r(e),e=n(o,h(t)?t():t)},()=>r(e)]},jn=(e,n,r)=>{const{G:o,Y:i}=_e(),c=Le(),a=b(e),d=a?e:e.target,u=Ve(d);if(n&&!u){let u=!1;const p=c[Ee],f=t=>{const e=t||{},n=p&&p.T;return n?n(e,!0):e},g=E({},o(),f(n)),[w,b,v]=Nt(r),[y,m,x]=((e,n)=>{const r=We(n,{}),o=Je(Ln),[i,s,l]=Nt(),[c]=o,[a,d,u]=Ue(e),h=((e,n)=>{const{K:r,tt:o,ft:i,J:s}=e,{I:l,L:c,j:a}=_e(),d=!l&&(c.x||c.y),u=[Qe(e,n),tn(e,n),un(e,n)];return(e,n,l)=>{const c=hn(E({gt:!1,St:!1,bt:!1,ht:!1,zt:!1,It:!1,At:!1,Ct:!1,vt:!1},n),{},l),h=d||!a,p=h&&H(o),f=h&&z(o);i("",Kt,!0);let g=c;return t(u,(t=>{g=hn(g,t(g,e,!!l)||{},l)})),H(o,p),z(o,f),i("",Kt),s||(H(r,0),z(r,0)),g}})(a,o),p=(t,e,n)=>{const r=L(t).some((e=>t[e]));(r||!C(e)||n)&&l("u",[t,e,n])},[f,g,w,b]=On(a,o,(t=>{p(h(r,t),{},!1)})),v=c.bind(0);return v.jt=t=>{i("u",t)},v.Yt=()=>{const{K:t,tt:e}=a,n=H(t),r=z(t);g(),d(),H(e,n),z(e,r)},v.qt=a,[(t,e)=>{const r=We(n,t,e);b(r),p(h(r,w(),e),t,!!e)},v,()=>{s(),f(),u()}]})(e,g),[$,S,M]=((t,e,n)=>{let r,o,i,s,l,c=0;const a=Je({}),[d]=a,[u,h]=An(),[p,f]=An(),[g,w]=An(100),[b,v]=An(100),[y,m]=An((()=>c)),[x,$,S]=Tn(t,n.qt,((t,e)=>(n,r,o,i,s)=>{const{Nt:l}=n;return O.bind(0,[zt(l,"pointerenter",(()=>{r(ye,!0)})),zt(l,"pointerleave pointercancel",(()=>{r(ye)})),Mn(l,o),Rn(t,o,n,i,e,s)])})(e,n)),{Z:L,tt:E,et:C,ct:M,J:R,X:P}=n.qt,{Jt:D,tn:I,Xt:T,Ut:A,Wt:j}=x,{Qt:k}=D,{Qt:_}=I,B=t=>{const{Nt:e}=t,n=R&&!P&&N(e)===E&&e;return[n,{transform:n?`translate(${H(C)}px, ${z(C)}px)`:""}]},F=(t,e)=>{if(m(),t)T(xe);else{const t=()=>T(xe,!0);c>0&&!e?y(t):t()}},X=()=>{s=o,s&&F(!0)},q=[w,m,v,f,h,S,zt(L,"pointerover",X,{O:!0}),zt(L,"pointerenter",X),zt(L,"pointerleave",(()=>{s=!1,o&&F(!1)})),zt(L,"pointermove",(()=>{r&&u((()=>{w(),F(!0),b((()=>{r&&F(!1)}))}))})),zt(M,"scroll",(()=>{p((()=>{j(n()),i&&F(!0),g((()=>{i&&!s&&F(!1)}))})),R&&k(B),R&&_(B)}))],V=d.bind(0);return V.qt=x,V.Yt=$,[(t,s,a)=>{const{zt:d,It:u,At:h,bt:p}=a,f=We(e,t,s),g=n(),{Et:w,$t:b,wt:v}=g,[y,m]=f("scrollbars.theme"),[x,$]=f("scrollbars.visibility"),[O,S]=f("scrollbars.autoHide"),[L]=f("scrollbars.autoHideDelay"),[E,C]=f("scrollbars.dragScroll"),[M,R]=f("scrollbars.clickScroll"),D=d||u||p||s,H=h||$||s,z=(t,e)=>{const n="visible"===x||"auto"===x&&"scroll"===t;return T(we,n,e),n};if(c=L,m&&(T(l),T(y,!0),l=y),S&&(r="move"===O,o="leave"===O,i="never"!==O,F(!i,!0)),C&&T(Oe,E),R&&T($e,M),H){const t=z(b.x,!0),e=z(b.y,!1);T(be,!(t&&e))}D&&(A(g),j(g),T(me,!w.x,!0),T(me,!w.y,!1),T(ue,v&&!P))},V,O.bind(0,q)]})(e,g,m),R=(t,e)=>{y(t,!!e)},P=i(R.bind(0,{},!0)),D=t=>{(t=>{qe.delete(t)})(d),P(),M(),x(),u=!0,v("destroyed",[I,!!t]),b()},I={options(t){if(t){const e=Bt(g,f(t));C(e)||(E(g,e),R(e))}return E({},g)},on:w,off:(t,e)=>{t&&e&&b(t,e)},state(){const{Ot:t,Et:e,$t:n,Tt:r,nt:o,yt:i,wt:s}=m();return E({},{overflowEdge:t,overflowAmount:e,overflowStyle:n,hasOverflow:r,padding:o,paddingAbsolute:i,directionRTL:s,destroyed:u})},elements(){const{K:t,Z:e,nt:n,tt:r,ot:o,et:i,ct:s}=m.qt,{Jt:l,tn:c}=S.qt,a=t=>{const{Ft:e,Gt:n,Nt:r}=t;return{scrollbar:r,track:n,handle:e}},d=t=>{const{Kt:e,Zt:n}=t,r=a(e[0]);return E({},r,{clone:()=>{const t=a(n());return $({},!0,{}),t}})};return E({},{target:t,host:e,padding:n||r,viewport:r,content:o||r,scrollOffsetElement:i,scrollEventElement:s,scrollbarHorizontal:d(l),scrollbarVertical:d(c)})},update:t=>(R({},t),I),destroy:D.bind(0)};return m.jt(((t,e,n)=>{$(e,n,t)})),t(L(c),(t=>{const e=c[t];h(e)&&e(jn,I)})),((t,e)=>{const{nativeScrollbarsOverlaid:n,body:r}=t||{},{X:o,J:i}=e,{q:c,L:a}=_e(),{nativeScrollbarsOverlaid:d,body:u}=c().cancel,h=null!=n?n:d,p=s(r)?u:r,f=(a.x||a.y)&&h,g=o&&(l(p)?!i:p);return!!f||!!g})(!a&&e.cancel,m.qt)?(D(!0),I):(m.Yt(),S.Yt(),((t,e)=>{qe.set(t,e)})(d,I),v("initialized",[I]),m.jt(((t,e,n)=>{const{gt:r,bt:o,ht:i,zt:s,It:l,At:c,vt:a,Ct:d}=t;v("updated",[I,{updateHints:{sizeChanged:r,directionChanged:o,heightIntrinsicChanged:i,overflowEdgeChanged:s,overflowAmountChanged:l,overflowStyleChanged:c,contentMutation:a,hostMutation:d},changedOptions:e,force:n}])})),I.update(!0))}return u};jn.plugin=e=>{t(p(e)?e:[e],(t=>{const e=L(t)[0];Se[e]=t[e]}))},jn.valid=t=>{const e=t&&t.elements,n=h(e)&&e();return w(n)&&!!Ve(n.target)},jn.env=()=>{const{B:t,L:e,I:n,V:r,j:o,H:i,U:s,W:l,q:c,F:a,G:d,N:u}=_e();return E({},{scrollbarsSize:t,scrollbarsOverlaid:e,scrollbarsHiding:n,rtlScrollBehavior:r,flexboxGlue:o,cssCustomProperties:i,staticDefaultInitialization:s,staticDefaultOptions:l,getDefaultInitialization:c,setDefaultInitialization:a,getDefaultOptions:d,setDefaultOptions:u})},exports.OverlayScrollbars=jn,exports.scrollbarsHidingPlugin=Te,exports.sizeObserverPlugin=Pe; |