Files
OverlayScrollbars/packages/overlayscrollbars/dist/overlayscrollbars.min.js
T
2021-01-09 02:35:06 +01:00

1 line
13 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";var n=function(n){return null==n?""+n:Object.prototype.toString.call(n).replace(/^\[object (.+)\]$/,"$1").toLowerCase()};function r(n){return"number"==typeof n}function t(n){return"string"==typeof n}function i(n){return"function"==typeof n}function e(n){return void 0===n}function o(n){return null===n}function u(n){return Array.isArray(n)}function c(n){return"object"==typeof n&&!u(n)&&!o(n)}function a(n){var t=!!n&&n.length;return u(n)||!i(n)&&r(t)&&t>-1&&t%1==0}function f(r){if(!r||!c(r)||"object"!==n(r))return!1;var t,i=Object.prototype.hasOwnProperty,o=i.call(r,"constructor"),u=r.constructor&&r.constructor.prototype&&i.call(r.constructor.prototype,"isPrototypeOf");if(r.constructor&&!o&&!u)return!1;for(t in r);return e(t)||i.call(r,t)}function s(n){for(var r in n)return!1;return!0}function l(n,r,t,i){if(e(i))return t?t[n]:r;t&&(t[n]=i)}var v=function(n,r){null==n||n.removeAttribute(r)};function d(n,r){return l("scrollLeft",0,n,r)}function h(n,r){return l("scrollTop",0,n,r)}var b=/[^\x20\t\r\n\f]+/g,w=function(n,r){!function(n,r,i){var e,o=0,u=!1;if(n&&t(r)){var c=r.match(b)||[];for(u=c.length>0;e=c[o++];)u=i(n.classList,e)&&u}}(n,r,(function(n,r){return n.add(r)}))};function p(n,r){if(a(n))for(var t=0;t<n.length&&!1!==r(n[t],t,n);t++);else n&&p(Object.keys(n),(function(t){return r(n[t],t,n)}));return n}var m,g=function(n){if(Array.from)return Array.from(n);var r=[];return p(n,(function(n){r.push(n)})),r},_=function(n,r){n instanceof Set?n.forEach((function(n){return n&&n(r)})):p(n,(function(n){return n&&n(r)}))},y=Element.prototype,x=function(n){return n?g(n.childNodes):[]},z=function(n,r,t){if(t){var i,e=r;n&&(a(t)?(i=document.createDocumentFragment(),p(t,(function(n){n===e&&(e=n.previousSibling),i.appendChild(n)}))):i=t,r&&(e?e!==r&&(e=e.nextSibling):e=n.firstChild),n.insertBefore(i,e))}},O=function(n,r){z(n,null,r)},j=function(n,r){z(n,n&&n.firstChild,r)},S=function n(r){if(a(r))p(g(r),(function(r){return n(r)}));else if(r){var t=(i=r)?i.parentElement:null;t&&t.removeChild(r)}var i},M=function(n){var r=document.createElement("div");return n&&function(n,r,t){if(e(t))return n?n.getAttribute(r):null;n&&n.setAttribute(r,t)}(r,"class",n),r},A=function(n){var r=M();return r.innerHTML=n.trim(),p(x(r),(function(n){return S(n)}))},T={w:0,h:0},k=function(){return{w:window.innerWidth,h:window.innerHeight}},L=function(n){return n?{w:n.offsetWidth,h:n.offsetHeight}:T},q=function(n,r,t,i){p(r.split(" "),(function(r){n.removeEventListener(r,t,i)}))},C=function(n,r,t,i){var e=function(){if(void 0===m){m=!1;try{window.addEventListener("test",null,Object.defineProperty({},"passive",{get:function(){m=!0}}))}catch(n){}}return m}(),o=e&&i&&i.o||!1,u=i&&i.u||!1,c=i&&i.s||!1,a=[],f=e?{passive:o,capture:u}:u;return p(r.split(" "),(function(r){var i=c?function(e){n.removeEventListener(r,i,u),t&&t(e)}:t;a.push(q.bind(null,n,r,i,u)),n.addEventListener(r,i,f)})),_.bind(0,a)},F=function(n){return n.stopPropagation()},I=function(n){return n.preventDefault()},P=function(n,r,t){if(n&&r){var i=!0;return p(t,(function(t){n[t]!==r[t]&&(i=!1)})),i}return!1},B=function(n,r){return P(n,r,["w","h"])},E=function(n,r){return P(n,r,["x","y"])},N=function(n,r){return P(n,r,["t","r","b","l"])},V=function(n,r){return Object.prototype.hasOwnProperty.call(n,r)},Y=function(n){return n?Object.keys(n):[]};function $(n,r,t,e,c,a,s){var l=[r,t,e,c,a,s];return"object"==typeof n&&!o(n)||i(n)||(n={}),p(l,(function(r){p(Y(r),(function(t){var i=r[t];if(n===i)return!0;var e=u(i);if(i&&(f(i)||e)){var o=n[t],c=o;e&&!u(o)?c=[]:e||f(o)||(c={}),n[t]=$(c,i)}else n[t]=i}))})),n}var G={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},J=function(n,r){var t=r?parseFloat(n):parseInt(n,10);return Number.isNaN(t)?0:t},K=function(n,r,t){return null!=r?r.getPropertyValue(t):n.style[t]},R=function(n,t,i){try{n&&void 0!==n.style[t]&&(n.style[t]=function(n,t){return!G[n.toLowerCase()]&&r(t)?t+"px":t}(t,i))}catch(e){}};function U(n,r){var i=t(r);if(u(r)||i){var e=i?"":{};if(n){var o=window.getComputedStyle(n,null);e=i?K(n,o,r):r.reduce((function(r,t){return r[t]=K(n,o,t),r}),e)}return e}p(Y(r),(function(t){return R(n,t,r[t])}))}var W={x:0,y:0},X=function(n){var r=n?function(n){return n.getBoundingClientRect()}(n):0;return r?{x:r.left+window.pageYOffset,y:r.top+window.pageXOffset}:W},D=function(n,r){var t,i=r||{},e=i.v,o=i.p;return function(r,i){var u=o,c=n(i,o,t),a=r||(e?!e(u,c):u!==c);return a&&(o=c,t=u),{m:o,g:t,_:a}}},H=function(n){return n.charAt(0).toUpperCase()+n.slice(1)},Q=["-webkit-","-moz-","-o-","-ms-"],Z=["WebKit","Moz","O","MS","webkit","moz","o","ms"],nn={},rn={},tn=function(n){var r=rn[n];if(V(rn,n))return r;var t=H(n),i=M().style;return p(Q,(function(e){var o=e.replace(/-/g,""),u=[n,e+n,o+t,H(o)+t];return!(r=u.find((function(n){return void 0!==i[n]})))})),rn[n]=r,r},en=function(n){var r=nn[n]||window[n];return V(nn,n)||(p(Z,(function(t){return!(r=r||window[t+H(n)])})),nn[n]=r),r},on=(en("MutationObserver"),en("IntersectionObserver")),un=en("ResizeObserver"),cn=en("cancelAnimationFrame"),an=en("requestAnimationFrame");var fn=function(n){var r={exports:{}};return n(r,r.exports),r.exports}((function(n){function r(){return n.exports=r=Object.assign||function(n){for(var r=1;r<arguments.length;r++){var t=arguments[r];for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(n[i]=t[i])}return n},r.apply(this,arguments)}n.exports=r})),sn=JSON.stringify,ln=["__TPL_","_TYPE__"],vn=["boolean","number","string","array","object","function","null"].reduce((function(n,r){return n[r]=ln[0]+r+ln[1],n}),{}),dn=function(r,i,o,c){return function r(i,o,c,a,l){var v={},d=fn({},i);return p(Y(o).filter((function(n){return V(i,n)})),(function(h){var b=e(c[h])?{}:c[h],w=i[h],m=o[h],g=f(m),_=l?l+".":"";if(g&&f(w)){var y=r(w,m,b,a,_+h);v[h]=y.O,d[h]=y.j,p([d,v],(function(n){s(n[h])&&delete n[h]}))}else if(!g){var x=!1,z=[],O=[],j=n(w);if(p(u(m)?m:[m],(function(n){var r;p(vn,(function(t,i){t===n&&(r=i)}));var i=void 0===r;if(i&&t(w)){var e=n.split(" ");x=!!e.find((function(n){return n===w})),z.push.apply(z,e)}else x=vn[j]===n;return O.push(i?vn.string:r),!x})),x)(u(w)||f(w)?sn(w)!==sn(b):w!==b)&&(v[h]=w);else a&&console.warn('The option "'+_+h+"\" wasn't set, because it doesn't accept the type [ "+j.toUpperCase()+' ] with the value of "'+w+'".\r\nAccepted types are: [ '+O.join(", ").toUpperCase()+" ].\r\n"+(z.length>0?"\r\nValid strings are: [ "+z.join(", ")+" ].":""));delete d[h]}})),{j:d,O:v}}(r,i,o||{},c||!1)};var hn,bn=Math.abs,wn=Math.round,pn=function(n,r){O(n,r);var t,i=(t=r)?{w:t.clientWidth,h:t.clientHeight}:T,e=L(r);return{x:e.h-i.h,y:e.w-i.w}},mn=function(n){var r=!1;w(n,"os-viewport-scrollbar-styled");try{r="none"===U(n,"scrollbar-width")||"none"===window.getComputedStyle(n,"::-webkit-scrollbar").getPropertyValue("display")}catch(t){}return r},gn=function(n,r){U(n,{overflowX:"hidden",overflowY:"hidden",direction:"rtl"}),d(n,0);var t=X(n),i=X(r);d(n,-999);var e=X(r);return{i:t.x===i.x,n:i.x!==e.x}},_n=function(n,r){w(n,"os-environment-flexbox-glue");var t=L(n),i=L(r),e=B(i,t);w(n,"os-environment-flexbox-glue-max");var o=L(n),u=L(r),c=B(u,o);return e&&c},yn=function(){var n=window.screen.deviceXDPI||0,r=window.screen.logicalXDPI||1;return window.devicePixelRatio||n/r},xn=function(){var n=document.body,r=A('<div class="os-environment"><div></div></div>')[0],t=r.firstChild,i=new Set,e=pn(n,r),o={x:0===e.x,y:0===e.y},u={S:!1,M:e,A:o,T:mn(r),k:gn(r,t),L:_n(r,t),q:function(n){i.add(n)},C:function(n){i.delete(n)}};if(v(r,"style"),v(r,"class"),S(r),!o.x||!o.y){var c=k(),a=yn(),f=e;window.addEventListener("resize",(function(){if(i.size){var t=k(),e={w:t.w-c.w,h:t.h-c.h};if(0===e.w&&0===e.h)return;var o={w:bn(e.w),h:bn(e.h)},u={w:bn(wn(t.w/(c.w/100))),h:bn(wn(t.h/(c.h/100)))},s=yn(),l=o.w>2&&o.h>2,v=(h=u.h,b=bn(u.w),w=bn(h),!(b!==w&&b+1!==w&&b-1!==w));if(l&&v&&(s!==a&&a>0)){var d=hn.M=pn(n,r);S(r),f.x===d.x&&f.y===d.y||_(i),f=d}c=t,a=s}var h,b,w}))}return u},zn=function(){return hn||(hn=xn()),hn},On=function(n,r){return n&&r.split(".").reduce((function(n,r){return n&&V(n,r)?n[r]:void 0}),n)},jn=function(n,r,t){var i=function n(r){var t={F:{},I:{}};return p(Y(r),(function(i){var e=r[i];if(u(e))t.F[i]=e[1],t.I[i]=e[0];else{var o=n(e);t.F[i]=o.F,t.I[i]=o.I}})),t}(n),e=i.F,o=$({},i.I,dn(r||{},e,null,!0).O),c=function(n){var r=n.P,i=n.B;t(!!r,(function(n){return{m:On(o,n),_:r||void 0!==On(i,n)}}))};return c({P:!0}),{I:function(n){if(n){var r=dn(n,e,o,!0).O;s(r)||($(o,r),c({B:r}))}return o},N:function(n){c({P:n})}}},Sn={paddingAbsolute:[!1,vn.boolean],overflowBehavior:{x:["scroll","visible-hidden visible-scroll scroll hidden"],y:["scroll","visible-hidden visible-scroll scroll hidden"]}},Mn=tn("margin-inline-end"),An=tn("border-inline-end"),Tn=function(n,r){var t=n.host,i=n.padding,e=(n.viewport,n.content),o=[],u=zn(),c=u.A,a=u.T,f=(u.L,Mn&&An||a||c.y,D((function(){return u=U(t,[r=(n="padding"||"")+"-top",i=n+"-right",e=n+"-bottom",o=n+"-left"]),{t:J(u[r]),r:J(u[i]),b:J(u[e]),l:J(u[o])};var n,r,i,e,o,u}),{v:N})),s=D((function(n){return{x:Math.max(0,Math.round(100*(n.V.w-n.Y.w))/100),y:Math.max(0,Math.round(100*(n.V.h-n.Y.h))/100)}}),{v:E}),l=jn(Sn,r,(function(n,r){var t=r("paddingAbsolute"),o=t.m,u=t._,c=f(n),a=c.m,l=c._;if(u||l){var v={t:0,r:0,b:0,l:0};o||(v.t=-a.t,v.r=-(a.r+a.l),v.b=-(a.b+a.t),v.l=-a.l),U(i,{top:v.t,left:v.l,"margin-right":v.r,"margin-bottom":v.b,"max-width":"calc(100% + "+-1*v.r+"px)"})}var d,h=L(i),b=L(e),w=(d=e)?{w:d.scrollWidth,h:d.scrollHeight}:T,p=s(n,{V:w,Y:{w:h.w+Math.max(0,b.w-w.w),h:h.h+Math.max(0,b.h-w.h)}}),m=p.m,g=p._;console.log("overflowAmount",m),console.log("overflowAmountChanged",g)})),v=l.I,d=l.N;return{I:v,N:d,$:function(){d()},G:function(n,r){var t=r._,i=r.m;t&&U(e,{height:i?"auto":"100%"})},J:function(){_(o)}}},kn=function(n){return U(n,"direction")},Ln=function(n,r,i){var e=i||{},o=e.K,u=void 0!==o&&o,c=e.R,a=void 0!==c&&c,f=zn().k,s=A('<div class="os-size-observer"><div class="os-size-observer-listener"></div></div>')[0],l=s.firstChild,v=function(n){if(u){var i="rtl"===kn(s);d(s,i?f.n?-3333333:f.i?0:3333333:3333333),h(s,3333333)}r(t((n||{}).m)?n:void 0)},b=[],p=a?v:null;if(un){var m=new un(v);m.observe(l),b.push((function(){return m.disconnect()}))}else{var g=A('<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>');O(l,g),w(l,"os-size-observer-listener-scroll");var y,x=g[0],z=x.lastChild,M=x.firstChild,T=null==M?void 0:M.firstChild,k=L(l),q=k,P=!1,E=function(){d(M,3333333),h(M,3333333),d(z,3333333),h(z,3333333)},N=function(){y=0,P&&(k=q,v())},V=function(n){return q=L(l),P=!n||!B(q,k),n&&P&&!y?(cn(y),y=an(N)):n||N(),E(),n&&(I(n),F(n)),!1};b.push(C(M,"scroll",V)),b.push(C(z,"scroll",V)),U(T,{width:3333333,height:3333333}),E(),p=a?function(){return V()}:E}if(u){var Y=D((function(){return kn(s)}));b.push(C(s,"scroll",(function(n){var r=Y(),t=r.m;return r._&&(U(l,"rtl"===t?{left:"auto",right:0}:{left:0,right:"auto"}),v(r)),I(n),F(n),!1})))}return p&&(w(s,"os-size-observer-appear"),b.push(C(s,"animationstart",p))),j(n,s),function(){_(b),S(s)}},qn=function(n){if(s=n,c(l=window.HTMLElement)||i(l)?s instanceof l:s&&c(s)&&1===s.nodeType&&t(s.nodeName)){var r=(f="textarea",!!(a=n)&&(y.matches||y.msMatchesSelector).call(a,f))?M():n,e=M("os-padding"),o=M("os-viewport"),u=M("os-content");return O(e,o),O(o,u),O(u,x(n)),O(n,e),w(r,"os-host"),{target:n,host:r,padding:e,viewport:o,content:u}}var a,f,s,l,v=n.host,d=n.padding,h=n.viewport,b=n.content;return w(v,"os-host"),w(d,"os-padding"),w(h,"os-viewport"),w(b,"os-content"),n},Cn=function(n,r,t){var i=qn(n),e=[],o=i.host;e.push(Tn(i));Ln(o,(function(n){p(e,n?function(r){r.U&&r.U(n)}:function(n){n.$&&n.$()})}),{R:!0,K:!0}),function(n,r){var t=A('<div class="os-trinsic-observer"></div>')[0],i=[],e=D((function(n){return 0===n.h||n.isIntersecting||n.intersectionRatio>0}),{p:!1});if(on){var o=new on((function(n){if(n&&n.length>0){var t=n.pop();if(t){var i=e(0,t);i._&&r(!1,i)}}}),{root:n});o.observe(t),i.push((function(){return o.disconnect()}))}else i.push(Ln(t,(function(){var n=L(t),i=e(0,n);i._&&r(!1,i)})));j(n,t)}(o,(function(n,r){p(e,(function(t){t.G&&t.G(n,r)}))}))};return function(){return[zn(),Cn(document.body),A(' <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>')]}}));