Files
OverlayScrollbars/packages/overlayscrollbars/dist/overlayscrollbars.min.js
T
2021-01-20 01:04:34 +01:00

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