Files
OverlayScrollbars/packages/overlayscrollbars/dist/overlayscrollbars.esm.min.js
T
2020-08-30 23:25:40 +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,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)},d=e=>{if(n(e))a(Array.from(e),e=>d(e));else if(e){const{parentNode:t}=e;t&&t.removeChild(e)}},u=e=>{const t=document.createElement("div");return t.innerHTML=e.trim(),a((r=t)?Array.from(r.childNodes):[],e=>d(e));var r},v=(new DOMRect,{w:0,h:0}),f=()=>({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},h=(e,t,r)=>null!=t?t.getPropertyValue(r):e.style[r],p=(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 y(e,n){const o=t(n);if(r(n)||o){let t=o?"":{};if(e){const r=window.getComputedStyle(e,null);t=o?h(e,r,n):n.reduce((t,n)=>(t[n]=h(e,r,n),t),t)}return t}a(l(n),t=>p(e,t,n[t]))}const b={x:0,y:0},g=e=>{const t=e?e.getBoundingClientRect():0;return t?{x:t.left+window.pageYOffset,y:t.top+window.pageXOffset}:b};var m=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 x=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 S=["WebKit","Moz","O","MS","webkit","moz","o","ms"],z={},O=e=>{let t=z[e]||window[e];return r=z,n=e,Object.prototype.hasOwnProperty.call(r,n)||(a(S,r=>{var n;return t=t||window[r+(n=e,n.charAt(0).toUpperCase()+n.slice(1))],!t}),z[e]=t),t;var r,n};O("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 P=["__TPL_","_TYPE__"],{abs:E,round:L}=(["boolean","number","string","array","object","function","null"].reduce((e,t)=>(e[t]=P[0]+t+P[1],e),{}),Math),C=(e,t)=>{c(e,t);const r=(n=t)?{w:n.clientWidth,h:n.clientHeight}:v;var n;const o=(e=>e?{w:e.offsetWidth,h:e.offsetHeight}:v)(t);return{x:o.h-r.h,y:o.w-r.w}},j=()=>{const e=window.screen.deviceXDPI||0,t=window.screen.logicalXDPI||1;return window.devicePixelRatio||e/t};var k=new WeakMap;const A=new class{constructor(){k.set(this,{writable:!0,value:void 0}),x(this,k,new Set);const e=this,{body:t}=document,r=u('<div id="os-dummy-scrollbar-size"><div></div></div>')[0],n=r.firstChild,i=C(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"===y(e,"scrollbar-width")||"none"===window.getComputedStyle(e,"::-webkit-scrollbar").getPropertyValue("display")}catch(r){}return t})(r),e.rtlScrollBehavior=((e,t)=>{y(e,{overflowX:"hidden",overflowY:"hidden"}),o(e,0);const r=g(e),n=g(t);o(e,-999);const i=g(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=!!O("ResizeObserver"),c="style",null==(a=r)||a.removeAttribute(c),d(r),l.x&&l.y){let n=f(),o=j();const i=m(this,k);window.addEventListener("resize",()=>{if(i.size){const s=f(),l={w:s.w-n.w,h:s.h-n.h};if(0===l.w&&0===l.h)return;const a={w:E(l.w),h:E(l.h)},c={w:E(L(s.w/(n.w/100))),h:E(L(s.h/(n.h/100)))},u=j(),v=a.w>2&&a.h>2,w=!((e,t)=>{const r=E(e),n=E(t);return!(r===n||r+1===n||r-1===n)})(c.w,c.h),h=u!==o&&o>0,p=v&&w&&h,y=e.nativeScrollbarSize;let b;p&&(b=e.nativeScrollbarSize=C(t,r),d(r),y.x===b.x&&y.y===b.y||i.forEach(t=>t&&t(e))),n=s,o=u}})}}addListener(e){m(this,k).add(e)}removeListener(e){m(this,k).delete(e)}};export default()=>[A,u(' <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>')];