Files
OverlayScrollbars/packages/overlayscrollbars/dist/overlayscrollbars.esm.min.js
T
2020-08-31 00:17:29 +02:00

1 line
5.5 KiB
JavaScript

function e(e){return"number"==typeof e}function t(e){return"string"==typeof e}function r(e){return Array.isArray(e)}function n(t){const n=!!t&&t.length;return r(t)||!function(e){return"function"==typeof e}(t)&&e(n)&&n>-1&&n%1==0}function o(e,t){return function(e,t,r,n){if(void 0===n)return r?r[e]:t;r&&(r[e]=n)}("scrollLeft",0,e,t)}const i=/[^\x20\t\r\n\f]+/g,s=(e,r)=>{((e,r,n)=>{let o,s=0,l=!1;if(e&&t(r)){const t=r.match(i)||[];for(l=t.length>0;o=t[s++];)l=n(e.classList,o)&&l}})(e,r,(e,t)=>e.add(t))},l=e=>e?Object.keys(e):[];function a(e,t){if(n(e))for(let r=0;r<e.length&&!1!==t(e[r],r,e);r++);else e&&a(l(e),r=>t(e[r],r,e));return e}const c=e=>{if(Array.from)return Array.from(e);const t=[];return a(e,e=>{t.push(e)}),t},d=(e,t)=>{((e,t,r)=>{if(r){let o,i=t;e&&(n(r)?(o=document.createDocumentFragment(),a(r,e=>{e===i&&(i=e.previousSibling),o.appendChild(e)})):o=r,t&&(i?i!==t&&(i=i.nextSibling):i=e.firstChild),e.insertBefore(o,i))}})(e,null,t)},u=e=>{if(n(e))a(c(e),e=>u(e));else if(e){const{parentNode:t}=e;t&&t.removeChild(e)}},v=e=>{const t=document.createElement("div");return t.innerHTML=e.trim(),a((r=t)?c(r.childNodes):[],e=>u(e));var r},f={w:0,h:0},h=()=>({w:window.innerWidth,h:window.innerHeight}),w={animationiterationcount:1,columncount:1,fillopacity:1,flexgrow:1,flexshrink:1,fontweight:1,lineheight:1,opacity:1,order:1,orphans:1,widows:1,zindex:1,zoom:1},p=(e,t,r)=>null!=t?t.getPropertyValue(r):e.style[r],y=(t,r,n)=>{try{t&&void 0!==t.style[r]&&(t.style[r]=((t,r)=>!w[t.toLowerCase()]&&e(r)?r+"px":r)(r,n))}catch(o){}};function b(e,n){const o=t(n);if(r(n)||o){let t=o?"":{};if(e){const r=window.getComputedStyle(e,null);t=o?p(e,r,n):n.reduce((t,n)=>(t[n]=p(e,r,n),t),t)}return t}a(l(n),t=>y(e,t,n[t]))}const g={x:0,y:0},m=e=>{const t=e?(e=>e.getBoundingClientRect())(e):0;return t?{x:t.left+window.pageYOffset,y:t.top+window.pageXOffset}:g};var x=function(e,t){var r=t.get(e);if(!r)throw new TypeError("attempted to get private field on non-instance");return r.get?r.get.call(e):r.value};var S=function(e,t,r){var n=t.get(e);if(!n)throw new TypeError("attempted to set private field on non-instance");if(n.set)n.set.call(e,r);else{if(!n.writable)throw new TypeError("attempted to set read only private field");n.value=r}return r};const z=["WebKit","Moz","O","MS","webkit","moz","o","ms"],O={},P=e=>{let t=O[e]||window[e];return r=O,n=e,Object.prototype.hasOwnProperty.call(r,n)||(a(z,r=>{var n;return t=t||window[r+(n=e,n.charAt(0).toUpperCase()+n.slice(1))],!t}),O[e]=t),t;var r,n};P("ResizeObserver");!function(e,t,r){e(r={path:t,exports:{},require:function(e,t){return function(){throw new Error("Dynamic requires are not currently supported by @rollup/plugin-commonjs")}(null==t&&r.path)}},r.exports),r.exports}((function(e){function t(){return e.exports=t=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},t.apply(this,arguments)}e.exports=t}));const E=["__TPL_","_TYPE__"],{abs:L,round:C}=(["boolean","number","string","array","object","function","null"].reduce((e,t)=>(e[t]=E[0]+t+E[1],e),{}),Math),j=(e,t)=>{d(e,t);const r=(n=t)?{w:n.clientWidth,h:n.clientHeight}:f;var n;const o=(e=>e?{w:e.offsetWidth,h:e.offsetHeight}:f)(t);return{x:o.h-r.h,y:o.w-r.w}},k=()=>{const e=window.screen.deviceXDPI||0,t=window.screen.logicalXDPI||1;return window.devicePixelRatio||e/t};var A=new WeakMap;class T{constructor(){A.set(this,{writable:!0,value:void 0}),S(this,A,new Set);const e=this,{body:t}=document,r=v('<div id="os-dummy-scrollbar-size"><div></div></div>')[0],n=r.firstChild,i=j(t,r),l={x:0===i.x,y:0===i.y};var a,c;if(e.autoUpdateLoop=!1,e.nativeScrollbarSize=i,e.nativeScrollbarIsOverlaid=l,e.nativeScrollbarStyling=(e=>{let t=!1;s(e,"os-viewport-native-scrollbars-invisible");try{t="none"===b(e,"scrollbar-width")||"none"===window.getComputedStyle(e,"::-webkit-scrollbar").getPropertyValue("display")}catch(r){}return t})(r),e.rtlScrollBehavior=((e,t)=>{b(e,{overflowX:"hidden",overflowY:"hidden"}),o(e,0);const r=m(e),n=m(t);o(e,-999);const i=m(t);return{i:r.x===n.x,n:n.x!==i.x}})(r,n),e.supportPassiveEvents=(()=>{let e=!1;try{window.addEventListener("test",null,Object.defineProperty({},"passive",{get:function(){e=!0}}))}catch(t){}return e})(),e.supportResizeObserver=!!P("ResizeObserver"),c="style",null==(a=r)||a.removeAttribute(c),u(r),l.x&&l.y){let n=h(),o=k();const i=x(this,A);window.addEventListener("resize",()=>{if(i.size){const s=h(),l={w:s.w-n.w,h:s.h-n.h};if(0===l.w&&0===l.h)return;const a={w:L(l.w),h:L(l.h)},c={w:L(C(s.w/(n.w/100))),h:L(C(s.h/(n.h/100)))},d=k(),v=a.w>2&&a.h>2,f=!((e,t)=>{const r=L(e),n=L(t);return!(r===n||r+1===n||r-1===n)})(c.w,c.h),w=d!==o&&o>0,p=v&&f&&w,y=e.nativeScrollbarSize;let b;p&&(b=e.nativeScrollbarSize=j(t,r),u(r),y.x===b.x&&y.y===b.y||i.forEach(t=>t&&t(e))),n=s,o=d}})}}addListener(e){x(this,A).add(e)}removeListener(e){x(this,A).delete(e)}}export default()=>[new T,v(' <div class="os-host"> <div class="os-resize-observer-host"></div> <div class="os-padding"> <div class="os-viewport"> <div class="os-content"> fdfhdfgh </div> </div> </div> <div class="os-scrollbar os-scrollbar-horizontal"> <div class="os-scrollbar-track"> <div class="os-scrollbar-handle"></div> </div> </div> <div class="os-scrollbar os-scrollbar-vertical"> <div class="os-scrollbar-track"> <div class="os-scrollbar-handle"></div> </div> </div> <div class="os-scrollbar-corner"></div> </div>')];