Files
OverlayScrollbars/packages/overlayscrollbars/dist/overlayscrollbars.min.js
T
2020-12-08 19:21:57 +01:00

1 line
8.2 KiB
JavaScript

!function(n,r){"object"==typeof exports&&"undefined"!=typeof module?module.exports=r():"function"==typeof define&&define.amd?define(r):(n="undefined"!=typeof globalThis?globalThis:n||self).OverlayScrollbars=r()}(this,(function(){"use strict";function n(n){return"number"==typeof n}function r(n){return"string"==typeof n}function i(n){return Array.isArray(n)}function t(r){var t=!!r&&r.length;return i(r)||!function(n){return"function"==typeof n}(r)&&n(t)&&t>-1&&t%1==0}function o(n,r,i,t){if(void 0===t)return i?i[n]:r;i&&(i[n]=t)}var e=function(n,r){null==n||n.removeAttribute(r)};function u(n,r){return o("scrollLeft",0,n,r)}function c(n,r){return o("scrollTop",0,n,r)}var s=/[^\x20\t\r\n\f]+/g,f=function(n,i){!function(n,i,t){var o,e=0,u=!1;if(n&&r(i)){var c=i.match(s)||[];for(u=c.length>0;o=c[e++];)u=t(n.classList,o)&&u}}(n,i,(function(n,r){return n.add(r)}))};function a(n,r){if(t(n))for(var i=0;i<n.length&&!1!==r(n[i],i,n);i++);else n&&a(Object.keys(n),(function(i){return r(n[i],i,n)}));return n}var l,v=function(n){if(Array.from)return Array.from(n);var r=[];return a(n,(function(n){r.push(n)})),r},d=function(n){n instanceof Set?n.forEach((function(n){return n&&n()})):a(n,(function(n){return n&&n()}))},w=function(n,r,i){if(i){var o,e=r;n&&(t(i)?(o=document.createDocumentFragment(),a(i,(function(n){n===e&&(e=n.previousSibling),o.appendChild(n)}))):o=i,r&&(e?e!==r&&(e=e.nextSibling):e=n.firstChild),n.insertBefore(o,e))}},b=function(n,r){w(n,null,r)},h=function(n,r){w(n,n&&n.firstChild,r)},m=function n(r){if(t(r))a(v(r),(function(r){return n(r)}));else if(r){var i=(o=r)?o.parentElement:null;i&&i.removeChild(r)}var o},p=function(n){var r,i=document.createElement("div");return i.innerHTML=n.trim(),a((r=i)?v(r.childNodes):[],(function(n){return m(n)}))},y={w:0,h:0},g=function(){return{w:window.innerWidth,h:window.innerHeight}},x=function(n){return n?{w:n.offsetWidth,h:n.offsetHeight}:y},z=function(n,r,i,t){a(r.split(" "),(function(r){n.removeEventListener(r,i,t)}))},_=function(n,r,i,t){var o=function(){if(void 0===l){l=!1;try{window.addEventListener("test",null,Object.defineProperty({},"passive",{get:function(){l=!0}}))}catch(n){}}return l}(),e=o&&t&&t.t||!1,u=t&&t.o||!1,c=t&&t.u||!1,s=[],f=o?{passive:e,capture:u}:u;return a(r.split(" "),(function(r){var t=c?function(o){n.removeEventListener(r,t,u),i&&i(o)}:i;s.push(z.bind(null,n,r,t,u)),n.addEventListener(r,t,f)})),d.bind(0,s)},O=function(n){return n.stopPropagation()},j=function(n){return n.preventDefault()},S=function(n,r){return function(n,r,i){if(n&&r){var t=!0;return a(i,(function(i){n[i]!==r[i]&&(t=!1)})),t}return!1}(n,r,["w","h"])},k={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},A=function(n,r,i){return null!=r?r.getPropertyValue(i):n.style[i]},L=function(r,i,t){try{r&&void 0!==r.style[i]&&(r.style[i]=function(r,i){return!k[r.toLowerCase()]&&n(i)?i+"px":i}(i,t))}catch(o){}};function T(n,t){var o,e=r(t);if(i(t)||e){var u=e?"":{};if(n){var c=window.getComputedStyle(n,null);u=e?A(n,c,t):t.reduce((function(r,i){return r[i]=A(n,c,i),r}),u)}return u}a((o=t)?Object.keys(o):[],(function(r){return L(n,r,t[r])}))}var M={x:0,y:0},q=function(n){var r=n?function(n){return n.getBoundingClientRect()}(n):0;return r?{x:r.left+window.pageYOffset,y:r.top+window.pageXOffset}:M},E=["WebKit","Moz","O","MS","webkit","moz","o","ms"],F={},I=function(n){var r,i,t=F[n]||window[n];return r=F,i=n,Object.prototype.hasOwnProperty.call(r,i)||(a(E,(function(r){var i;return!(t=t||window[r+(i=n,i.charAt(0).toUpperCase()+i.slice(1))])})),F[n]=t),t};I("ResizeObserver");!function(n,r,i){n(i={path:r,exports:{},require:function(n,r){return function(){throw new Error("Dynamic requires are not currently supported by @rollup/plugin-commonjs")}(null==r&&i.path)}},i.exports),i.exports}((function(n){function r(){return n.exports=r=Object.assign||function(n){for(var r=1;r<arguments.length;r++){var i=arguments[r];for(var t in i)Object.prototype.hasOwnProperty.call(i,t)&&(n[t]=i[t])}return n},r.apply(this,arguments)}n.exports=r}));var P,R=["__TPL_","_TYPE__"],Y=(["boolean","number","string","array","object","function","null"].reduce((function(n,r){return n[r]=R[0]+r+R[1],n}),{}),Math.abs),B=Math.round,D=function(n,r){b(n,r);var i,t=(i=r)?{w:i.clientWidth,h:i.clientHeight}:y,o=x(r);return{x:o.h-t.h,y:o.w-t.w}},G=function(n){var r=!1;f(n,"os-viewport-scrollbar-styled");try{r="none"===T(n,"scrollbar-width")||"none"===window.getComputedStyle(n,"::-webkit-scrollbar").getPropertyValue("display")}catch(i){}return r},K=function(n,r){T(n,{overflowX:"hidden",overflowY:"hidden",direction:"rtl"}),u(n,0);var i=q(n),t=q(r);u(n,-999);var o=q(r);return{i:i.x===t.x,n:t.x!==o.x}},U=function(n,r){f(n,"flexbox-glue");var i=x(n),t=x(r),o=S(t,i);f(n,"flexbox-glue-max");var e=x(n),u=x(r),c=S(u,e);return o&&c},W=function(){var n=window.screen.deviceXDPI||0,r=window.screen.logicalXDPI||1;return window.devicePixelRatio||n/r},X=function(){var n=document.body,r=p('<div id="os-environment"><div></div></div>')[0],i=r.firstChild,t=new Set,o=D(n,r),u={x:0===o.x,y:0===o.y},c={s:!1,l:o,v:u,m:G(r),p:K(r,i),g:U(r,i),_:function(n){t.add(n)},O:function(n){t.delete(n)}};if(e(r,"style"),e(r,"class"),m(r),!u.x||!u.y){var s=g(),f=W(),a=o;window.addEventListener("resize",(function(){if(t.size){var i=g(),o={w:i.w-s.w,h:i.h-s.h};if(0===o.w&&0===o.h)return;var e={w:Y(o.w),h:Y(o.h)},u={w:Y(B(i.w/(s.w/100))),h:Y(B(i.h/(s.h/100)))},c=W(),l=e.w>2&&e.h>2,v=(b=u.h,h=Y(u.w),p=Y(b),!(h!==p&&h+1!==p&&h-1!==p));if(l&&v&&(c!==f&&f>0)){var w=P.l=D(n,r);m(r),a.x===w.x&&a.y===w.y||d(t),a=w}s=i,f=c}var b,h,p}))}return c},C=function(){return P||(P=X()),P},H=I("ResizeObserver"),J=cancelAnimationFrame,N=requestAnimationFrame,Q=function(n){return T(n,"direction")},V=function(n,i,t){var o,e=t||{},s=e.j,a=void 0!==s&&s,l=e.S,v=void 0!==l&&l,w=C().p,y=p('<div class="os-size-observer"><div class="os-size-observer-listener"></div></div>')[0],g=y.firstChild,z=function(n){if(a){var t="rtl"===Q(y);u(y,t?w.n?-3333333:w.i?0:3333333:3333333),c(y,3333333)}i(r(n)?n:void 0)},k=[],A=v?z:null;if(H){var L=new H(z);L.observe(g),k.push((function(){return L.disconnect()}))}else{var M=p('<div class="os-size-observer-listener-item" dir="ltr"><div class="os-size-observer-listener-item"><div class="os-size-observer-listener-item-final"></div></div><div class="os-size-observer-listener-item"><div class="os-size-observer-listener-item-final" style="width: 200%; height: 200%"></div></div></div>');b(g,M);var q,E=M[0],F=E.lastChild,I=E.firstChild,P=null==I?void 0:I.firstChild,R=x(g),Y=R,B=!1,D=function(){u(I,3333333),c(I,3333333),u(F,3333333),c(F,3333333)},G=function(){q=0,B&&(R=Y,z())},K=function(n){return Y=x(g),B=!n||!S(Y,R),n&&B&&!q?(J(q),q=N(G)):n||G(),D(),n&&(j(n),O(n)),!1};k.push(_(I,"scroll",K)),k.push(_(F,"scroll",K)),T(P,{width:3333333,height:3333333}),D(),A=v?K:D}a&&k.push(_(y,"scroll",(function(n){var r=Q(y);return r!==o&&(T(g,"rtl"===r?{left:"auto",right:0}:{left:0,right:"auto"}),o=r,z(r)),j(n),O(n),!1})));return A&&(f(y,"os-size-observer-appear"),k.push(_(y,"animationstart",A))),h(n,y),function(){d(k),m(y)}},Z=I("IntersectionObserver"),$=function(n,r){var i=p('<div class="os-trinsic-observer"></div>')[0],t=[],o=!1;if(Z){var e=new Z((function(n){if(n&&n.length>0){var i=n.pop();if(i){var t=i.isIntersecting||i.intersectionRatio>0;t!==o&&(r(!1,t),o=t)}}}),{root:n});e.observe(i),t.push((function(){return e.disconnect()}))}else t.push(V(i,(function(){var n=0===x(i).h;n!==o&&(r(!1,n),o=n)})));return h(n,i),function(){d(t),m(i)}};return function(){return[C(),V(document.body,(function(){})),$(document.body,(function(){})),p(' <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>')]}}));