UNPKG

ngx-scrollbar-v8

Version:

Custom overlay-scrollbars with native scrolling mechanism.

2 lines 20.7 kB
!function(t,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports,require("@angular/core"),require("@angular/common"),require("@angular/cdk/scrolling"),require("@angular/cdk/layout"),require("@angular/cdk/bidi"),require("@angular/cdk/platform"),require("rxjs"),require("rxjs/operators")):"function"==typeof define&&define.amd?define("ngx-scrollbar",["exports","@angular/core","@angular/common","@angular/cdk/scrolling","@angular/cdk/layout","@angular/cdk/bidi","@angular/cdk/platform","rxjs","rxjs/operators"],r):r((t=t||self)["ngx-scrollbar"]={},t.ng.core,t.ng.common,t.ng.cdk.scrolling,t.ng.cdk.layout,t.ng.cdk.bidi,t.ng.cdk.platform,t.rxjs,t.rxjs.operators)}(this,function(t,r,e,o,n,l,s,i,a){"use strict";var c=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,r){t.__proto__=r}||function(t,r){for(var e in r)r.hasOwnProperty(e)&&(t[e]=r[e])};function u(t,r){function e(){this.constructor=t}c(t,r),t.prototype=null===r?Object.create(r):(e.prototype=r.prototype,new e)}var p=Object.assign||function(t){for(var r,e=1,o=arguments.length;e<o;e++)for(var n in r=arguments[e])Object.prototype.hasOwnProperty.call(r,n)&&(t[n]=r[n]);return t},h=function(){function t(t,r){this._platform=t,this.view=r.nativeElement}return t.prototype.scrollFunc=function(t,r){s.supportsScrollBehavior()?this.view.scrollTo({top:r,left:t}):(this.view.scrollTop=r,this.view.scrollLeft=t)},t.prototype.scrollTo=function(t){var r=this;if(e.isPlatformBrowser(this._platform)){if(t.duration){var o={top:t.top,left:t.left,duration:t.duration,easeFunc:t.easeFunc||d,offsetTop:this.view.scrollTop,offsetLeft:this.view.scrollLeft,scrollFunc:function(t,e){s.supportsScrollBehavior()?r.view.scrollTo({top:e,left:t}):(r.view.scrollTop=e,r.view.scrollLeft=t)}};return i.from(b(o))}this.scrollFunc(t.left,t.top)}return i.of()},t.prototype.scrollToElement=function(t,r,e,o){void 0===r&&(r=0);var n=this.view.querySelector(t);return n?this.scrollTo({left:n.offsetLeft,top:n.offsetTop-r,duration:e,easeFunc:o}):i.of()},t.prototype.scrollXTo=function(t,r,e){return this.scrollTo({left:t,duration:r,easeFunc:e})},t.prototype.scrollYTo=function(t,r,e){return this.scrollTo({top:t,duration:r,easeFunc:e})},t.prototype.scrollToTop=function(t,r){return this.scrollYTo(0,t,r)},t.prototype.scrollToBottom=function(t,r){return this.scrollYTo(this.view.scrollHeight-this.view.clientHeight,t,r)},t.prototype.scrollToRight=function(t,r){return this.scrollXTo(this.view.scrollWidth,t,r)},t.prototype.scrollToLeft=function(t,r){return this.scrollXTo(0,t,r)},t.decorators=[{type:r.Directive,args:[{selector:"[smoothScroll], [smooth-scroll]"}]}],t.ctorParameters=function(){return[{type:Object,decorators:[{type:r.Inject,args:[r.PLATFORM_ID]}]},{type:r.ElementRef}]},t}();function b(t){return new Promise(function(r){var e=0,o=t.offsetLeft,n=t.offsetTop,l=function(){if(e+=10,"undefined"!=typeof t.left){var s=t.left-t.offsetLeft;o=t.easeFunc(e,t.offsetLeft,s,t.duration)}if("undefined"!=typeof t.top){var a=t.top-t.offsetTop;n=t.easeFunc(e,t.offsetTop,a,t.duration)}t.scrollFunc(o,n),e<t.duration?i.animationFrameScheduler.schedule(l):r()};l()})}function d(t,r,e,o){return(t/=o/2)<1?e/2*t*t+r:-e/2*(--t*(t-2)-1)+r}var g=function(){function t(){}return t.decorators=[{type:r.NgModule,args:[{imports:[o.ScrollingModule],declarations:[h],exports:[h]}]}],t}(),f=function(){function t(t,r){if(this.virtualScrollViewport=t,this.smoothScroll=r,!t)throw new Error("NgScrollBar: add [NgScrollbarView] directive on CdkVirtualScrollViewport component only");if(!r)throw new Error("NgScrollBar: add [smoothScroll] directive is required with [NgScrollbarView]")}return t.decorators=[{type:r.Directive,args:[{selector:"[ngScrollbarView]",host:{"[class.ng-custom-scroll-view]":"true"}}]}],t.ctorParameters=function(){return[{type:o.CdkVirtualScrollViewport,decorators:[{type:r.Optional}]},{type:h,decorators:[{type:r.Optional}]}]},t}(),m=function(){function t(t,r,e){this._changeDetectorRef=t,this._breakpointObserver=r,this._platform=e,this.trackX=!1,this.trackY=!0,this.shown="native",this.autoUpdate=!0,this.scrollToDuration=300,this.disableOnBreakpoints=[n.Breakpoints.HandsetLandscape,n.Breakpoints.HandsetPortrait],this._disabled=!1,this._unsubscribe$=new i.Subject,this._updateObserver=new i.Subject,this.updateObserver=this._updateObserver.asObservable()}return Object.defineProperty(t.prototype,"disabled",{get:function(){return this._disabled},set:function(t){t?this.disable():this.enable()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"view",{get:function(){return this.customViewPort?this.customViewPort.virtualScrollViewport.getElementRef().nativeElement:this.scrollViewport.getElementRef().nativeElement},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"scrollable",{get:function(){return this.customViewPort?this.customViewPort.virtualScrollViewport:this.scrollViewport},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"smoothScroll",{get:function(){return this.customViewPort?this.customViewPort.smoothScroll:this.viewSmoothScroll},enumerable:!0,configurable:!0}),t.prototype.showScrollbarY=function(){return"always"===this.shown||this.view.scrollHeight>this.view.clientHeight},t.prototype.showScrollbarX=function(){return"always"===this.shown||this.view.scrollWidth>this.view.clientWidth},t.prototype.ngAfterViewInit=function(){var t=this;Promise.resolve().then(function(){t.disabled||(t.disableOnBreakpoints?t._breakpointObserver.observe(t.disableOnBreakpoints).pipe(a.tap(function(r){return r.matches?t.disable():t.enable()}),a.takeUntil(t._unsubscribe$)).subscribe():t.enable()),t.updateObserver.pipe(a.throttleTime(200),a.tap(function(){return t._changeDetectorRef.markForCheck()}),a.takeUntil(t._unsubscribe$)).subscribe(),e.isPlatformBrowser(t._platform)&&i.fromEvent(window,"resize").pipe(a.throttleTime(200),a.tap(function(){return t.update()}),a.takeUntil(t._unsubscribe$)).subscribe()})},t.prototype.ngOnDestroy=function(){this._unsubscribe$.next(),this._unsubscribe$.complete(),this._observer&&this._observer.disconnect()},t.prototype.update=function(){this.disabled||this._updateObserver.next()},t.prototype.enable=function(){var t=this;this.view&&(this._disabled=!1,this._changeDetectorRef.markForCheck(),!this.customViewPort&&this.autoUpdate&&e.isPlatformBrowser(this._platform)&&(this._observer=new MutationObserver(function(){return t.update()}),this._observer.observe(this.view,{subtree:!0,childList:!0,characterData:!0})))},t.prototype.disable=function(){this._disabled=!0,this._observer&&this._observer.disconnect()},t.prototype.scrollTo=function(t){return this.smoothScroll.scrollTo(t)},t.prototype.scrollToElement=function(t,r,e,o){return void 0===r&&(r=0),this.smoothScroll.scrollToElement(t,r,e,o)},t.prototype.scrollXTo=function(t,r,e){return this.smoothScroll.scrollXTo(t,r,e)},t.prototype.scrollYTo=function(t,r,e){return this.smoothScroll.scrollYTo(t,r,e)},t.prototype.scrollToTop=function(t,r){return this.smoothScroll.scrollToTop(t,r)},t.prototype.scrollToBottom=function(t,r){return this.smoothScroll.scrollToBottom(t,r)},t.prototype.scrollToRight=function(t,r){return this.smoothScroll.scrollToRight(t,r)},t.prototype.scrollToLeft=function(t,r){return this.smoothScroll.scrollToLeft(t,r)},t.decorators=[{type:r.Component,args:[{selector:"ng-scrollbar",template:'<div class="ng-scrollbar-layout ng-scrollbar-x-layout"\n [class.ng-scrollbar-invert]="invertX">\n\n <div class="ng-scrollbar-layout ng-scrollbar-y-layout"\n [class.ng-scrollbar-invert]="invertY">\n\n <div class="ng-scroll-view-container">\n <div #view\n cdkScrollable\n smoothScroll\n class="ng-scroll-view {{viewClass}}">\n <ng-content></ng-content>\n </div>\n </div>\n\n <ng-scrollbar-y #y\n *ngIf="!disabled && trackY"\n [class.ng-scrollbar-visible]="showScrollbarY()"\n [barClass]="barClass"\n [thumbClass]="thumbClass"\n [scrollToDuration]="scrollToDuration">\n </ng-scrollbar-y>\n </div>\n\n <ng-scrollbar-x #x\n *ngIf="!disabled && trackX"\n [class.ng-scrollbar-visible]="showScrollbarX()"\n [barClass]="barClass"\n [thumbClass]="thumbClass"\n [scrollToDuration]="scrollToDuration">\n </ng-scrollbar-x>\n\n</div>\n',changeDetection:r.ChangeDetectionStrategy.OnPush,host:{"[attr.customView]":"!!customViewPort","[attr.trackX]":"trackX","[attr.trackY]":"trackY","[attr.compact]":"compact","[attr.autoHide]":'shown === "hover"',"[attr.disabled]":"disabled"},styles:[":host{display:block;overflow:hidden;--scrollbar-color:transparent;--scrollbar-container-color:transparent;--scrollbar-thumb-color:rgba(0, 0, 0, 0.2);--scrollbar-thumb-hover-color:rgba(0, 0, 0, 0.3);--scrollbar-border-radius:4px;--scrollbar-size:6px;--scrollbar-padding:8px;--scroll-view-margin:0;--scroll-view-color:transparent}:host[trackY=true]>.ng-scrollbar-layout>.ng-scrollbar-layout>.ng-scroll-view-container>.ng-scroll-view{overflow-y:scroll}:host[trackX=true]>.ng-scrollbar-layout>.ng-scrollbar-layout>.ng-scroll-view-container>.ng-scroll-view{overflow-x:scroll}:host>.ng-scrollbar-x-layout{flex-direction:column}:host>.ng-scrollbar-x-layout.ng-scrollbar-invert{flex-direction:column-reverse}:host>.ng-scrollbar-x-layout>.ng-scrollbar-y-layout{flex-direction:row}:host>.ng-scrollbar-x-layout>.ng-scrollbar-y-layout.ng-scrollbar-invert{flex-direction:row-reverse}:host[compact=true]>.ng-scrollbar-x-layout>ng-scrollbar-x{position:absolute;bottom:0}:host[compact=true]>.ng-scrollbar-x-layout.ng-scrollbar-invert>ng-scrollbar-x{top:0;bottom:unset}:host[compact=true]>.ng-scrollbar-x-layout>.ng-scrollbar-y-layout>ng-scrollbar-y{position:absolute;right:0;left:unset}:host[compact=true]>.ng-scrollbar-x-layout>.ng-scrollbar-y-layout.ng-scrollbar-invert>ng-scrollbar-y{right:unset;left:0}:host[autoHide=true]>.ng-scrollbar-layout>.ng-scrollbar-layout>ng-scrollbar-y,:host[autoHide=true]>.ng-scrollbar-layout>ng-scrollbar-x{opacity:0;transition:opacity 120ms ease-out}:host[autoHide=true]:active>.ng-scrollbar-layout>.ng-scrollbar-layout>ng-scrollbar-y,:host[autoHide=true]:active>.ng-scrollbar-layout>ng-scrollbar-x,:host[autoHide=true]:focus>.ng-scrollbar-layout>.ng-scrollbar-layout>ng-scrollbar-y,:host[autoHide=true]:focus>.ng-scrollbar-layout>ng-scrollbar-x,:host[autoHide=true]:hover>.ng-scrollbar-layout>.ng-scrollbar-layout>ng-scrollbar-y,:host[autoHide=true]:hover>.ng-scrollbar-layout>ng-scrollbar-x{opacity:1;transition:opacity 340ms ease-out}:host[customView=true] .ng-scroll-view{overflow:hidden!important}.ng-scroll-view,.ng-scrollbar-layout,:host{position:relative;height:100%;width:100%}.ng-scrollbar-layout{display:flex;min-height:0}.ng-scroll-view-container{flex:1;position:relative;overflow:hidden;margin:var(--scroll-view-margin)}.ng-scroll-view{box-sizing:content-box;-webkit-transform:translateZ(0);transform:translateZ(0);background:var(--scroll-view-color);-webkit-overflow-scrolling:touch}ng-scrollbar-x,ng-scrollbar-y{display:none;box-sizing:border-box;padding:var(--scrollbar-padding);background:var(--scrollbar-container-color)}ng-scrollbar-x.ng-scrollbar-visible,ng-scrollbar-y.ng-scrollbar-visible{display:block}ng-scrollbar-y{top:0;bottom:0}ng-scrollbar-x{left:0;right:0}::ng-deep ng-scrollbar-y .ng-scrollbar{width:var(--scrollbar-size)}::ng-deep ng-scrollbar-y .ng-scrollbar-thumb{width:100%}::ng-deep ng-scrollbar-x .ng-scrollbar{height:var(--scrollbar-size)}::ng-deep ng-scrollbar-x .ng-scrollbar-thumb{height:100%}::ng-deep .ng-scrollbar{height:100%;width:100%;z-index:1;border-radius:var(--scrollbar-border-radius);background-color:var(--scrollbar-color)}::ng-deep .ng-scrollbar-thumb{box-sizing:border-box;position:relative;width:0;height:0;border-radius:inherit;background-color:var(--scrollbar-thumb-color);-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);transition:height 150ms ease-out}::ng-deep .ng-scrollbar-thumb:active,::ng-deep .ng-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover-color)}::ng-deep .ng-custom-scroll-view{height:100%}.show-native-scrollbars,:host[disabled=true] .ng-scroll-view,:host[disabled=true] ::ng-deep .ng-scroll-view>.ng-custom-scroll-view{margin:0!important;padding:0!important}.hide-native-scrollbars,:host[disabled=false] .ng-scroll-view,:host[disabled=false] ::ng-deep .ng-scroll-view>.ng-custom-scroll-view{margin-right:-30px!important;padding-right:30px!important;margin-bottom:-30px!important;padding-bottom:30px!important}"]}]}],t.ctorParameters=function(){return[{type:r.ChangeDetectorRef},{type:n.BreakpointObserver},{type:Object,decorators:[{type:r.Inject,args:[r.PLATFORM_ID]}]}]},t.propDecorators={trackX:[{type:r.Input}],trackY:[{type:r.Input}],shown:[{type:r.Input}],autoUpdate:[{type:r.Input}],viewClass:[{type:r.Input}],barClass:[{type:r.Input}],thumbClass:[{type:r.Input}],scrollToDuration:[{type:r.Input}],compact:[{type:r.Input}],invertY:[{type:r.Input}],invertX:[{type:r.Input}],disableOnBreakpoints:[{type:r.Input}],disabled:[{type:r.Input,args:["disabled"]}],verticalScrollbar:[{type:r.ViewChild,args:["y",{read:r.ElementRef,"static":!1}]}],horizontalScrollbar:[{type:r.ViewChild,args:["x",{read:r.ElementRef,"static":!1}]}],scrollViewport:[{type:r.ViewChild,args:[o.CdkScrollable,{"static":!0}]}],viewSmoothScroll:[{type:r.ViewChild,args:[h,{"static":!0}]}],customViewPort:[{type:r.ContentChild,args:[f,{"static":!0}]}]},t}(),v=function(){function t(t,r,e){this._parent=t,this._platform=r,this._zone=e,this._minThumbSize=20,this._naturalThumbSize=0,this._thumbSize=0,this._trackMax=0,this._scrollMax=0,this._currPos=0,this._scroll$=i.Subscription.EMPTY,this._thumbDrag$=i.Subscription.EMPTY,this._updateObserver$=i.Subscription.EMPTY,this._state=new i.BehaviorSubject({transform:"translate3d(0, 0, 0)"}),this.scrollbarStyle=this._state.asObservable()}return Object.defineProperty(t.prototype,"thumbSize",{get:function(){return 0},enumerable:!0,configurable:!0}),t.prototype.ngAfterViewInit=function(){var t=this;e.isPlatformBrowser(this._platform)&&(this._view=this._parent.view,this._scroll$=this._parent.scrollable.elementScrolled().subscribe(function(){return t.updateScrollbar()}),this._zone.runOutsideAngular(function(){return t._thumbDrag$=t.startThumbEvents().subscribe()}),this._updateObserver$=this._parent.updateObserver.pipe(a.throttleTime(200),a.tap(function(){return t.updateScrollbar()}),a.debounceTime(200),a.tap(function(){return t.updateScrollbar()})).subscribe(),setTimeout(function(){return t.updateScrollbar()},200))},t.prototype.ngOnDestroy=function(){this._scroll$.unsubscribe(),this._thumbDrag$.unsubscribe(),this._updateObserver$.unsubscribe()},t.prototype.onScrollbarHolderClick=function(t){},t.prototype.updateScrollbar=function(){},t.prototype.startThumbEvents=function(){return undefined},t.prototype.scrollBoundaries=function(t,r){return t<this._minThumbSize?this._minThumbSize:r?t:0},t.prototype.updateState=function(t){this._state.next(p({},this._state.value,t))},t.propDecorators={barClass:[{type:r.Input}],thumbClass:[{type:r.Input}],scrollToDuration:[{type:r.Input}],bar:[{type:r.ViewChild,args:["bar",{"static":!0}]}],thumb:[{type:r.ViewChild,args:["thumb",{"static":!0}]}]},t}(),y=function(t){function o(r,e,o,n){var l=t.call(this,e,o,n)||this;return l._document=r,l._parent=e,l._zone=n,l}return u(o,t),Object.defineProperty(o.prototype,"thumbSize",{get:function(){var t=this.bar.nativeElement.clientHeight,r=this._view.clientHeight,e=this._view.scrollHeight;return this._naturalThumbSize=t/e*t,this._scrollMax=e-r,this.scrollBoundaries(this._naturalThumbSize,this._scrollMax)},enumerable:!0,configurable:!0}),o.prototype.onScrollbarHolderClick=function(t){if(t.target===t.currentTarget){var r=100*(t.offsetY-.5*this._naturalThumbSize)/this.bar.nativeElement.clientHeight*this._view.scrollHeight/100;this._parent.scrollTo({top:r,duration:this.scrollToDuration}).subscribe()}},o.prototype.updateScrollbar=function(){var t=this;this._thumbSize=this.thumb.nativeElement.clientHeight,this._trackMax=this.bar.nativeElement.clientHeight-this._thumbSize,this._currPos=this._view.scrollTop*this._trackMax/this._scrollMax,this._zone.run(function(){i.animationFrameScheduler.schedule(function(){return t.updateState({transform:"translate3d(0, "+t._currPos+"px, 0)",height:t.thumbSize+"px"})})})},o.prototype.startThumbEvents=function(){var t=this,r=i.fromEvent(this.thumb.nativeElement,"mousedown"),e=i.fromEvent(this._document,"mousemove"),o=i.fromEvent(this._document,"mouseup").pipe(a.tap(function(){return t._document.onselectstart=null}));return r.pipe(a.tap(function(){t._document.onselectstart=function(){return!1},t._trackMax=t.bar.nativeElement.clientHeight-t._thumbSize}),a.pluck("offsetY"),a.mergeMap(function(r){return e.pipe(a.takeUntil(o),a.pluck("clientY"),a.tap(function(e){var o=e-t.bar.nativeElement.getBoundingClientRect().top,n=t._scrollMax*(o-r)/t._trackMax;t._parent.scrollable.scrollTo({top:n})}))}))},o.decorators=[{type:r.Component,args:[{selector:"ng-scrollbar-y",changeDetection:r.ChangeDetectionStrategy.OnPush,template:'\n <div #bar class="ng-scrollbar {{barClass}}" (mousedown)="onScrollbarHolderClick($event)">\n <div #thumb class="ng-scrollbar-thumb {{thumbClass}}" [ngStyle]="scrollbarStyle | async"></div>\n </div>\n '}]}],o.ctorParameters=function(){return[{type:undefined,decorators:[{type:r.Inject,args:[e.DOCUMENT]}]},{type:m,decorators:[{type:r.Inject,args:[r.forwardRef(function(){return m})]}]},{type:Object,decorators:[{type:r.Inject,args:[r.PLATFORM_ID]}]},{type:r.NgZone}]},o}(v),w=function(t){function o(r,e,o,n,l){var s=t.call(this,e,o,l)||this;return s._document=r,s._parent=e,s._dir=n,s._zone=l,s}return u(o,t),Object.defineProperty(o.prototype,"thumbSize",{get:function(){var t=this.bar.nativeElement.clientWidth,r=this._view.clientWidth,e=this._view.scrollWidth;return this._naturalThumbSize=t/e*t,this._scrollMax=e-r,this.scrollBoundaries(this._naturalThumbSize,this._scrollMax)},enumerable:!0,configurable:!0}),o.prototype.onScrollbarHolderClick=function(t){if(t.target===t.currentTarget){var r=100*(t.offsetX-.5*this._naturalThumbSize)/this.bar.nativeElement.clientWidth*this._view.scrollWidth/100;this._parent.scrollTo({left:r,duration:this.scrollToDuration}).subscribe()}},o.prototype.updateScrollbar=function(){var t=this;this._thumbSize=this.thumb.nativeElement.clientWidth,this._trackMax=this.bar.nativeElement.clientWidth-this._thumbSize,this._currPos=this._view.scrollLeft*this._trackMax/this._scrollMax,this._zone.run(function(){i.animationFrameScheduler.schedule(function(){return t.updateState({transform:"translate3d("+("rtl"===t._dir.value?t._currPos-t._trackMax:t._currPos)+"px, 0, 0)",width:t.thumbSize+"px"})})})},o.prototype.startThumbEvents=function(){var t=this,r=i.fromEvent(this.thumb.nativeElement,"mousedown"),e=i.fromEvent(this._document,"mousemove"),o=i.fromEvent(this._document,"mouseup").pipe(a.tap(function(){return t._document.onselectstart=null}));return r.pipe(a.tap(function(){t._document.onselectstart=function(){return!1},t._trackMax=t.bar.nativeElement.clientWidth-t._thumbSize}),a.pluck("offsetX"),a.mergeMap(function(r){return e.pipe(a.takeUntil(o),a.pluck("clientX"),a.tap(function(e){var o=e-t.bar.nativeElement.getBoundingClientRect().left,n=t._scrollMax*(o-r)/t._trackMax;"rtl"===t._dir.value&&(n=0===n?o-t._trackMax:n),t._parent.scrollable.scrollTo({left:n})}))}))},o.decorators=[{type:r.Component,args:[{selector:"ng-scrollbar-x",changeDetection:r.ChangeDetectionStrategy.OnPush,template:'\n <div #bar class="ng-scrollbar {{barClass}}" (mousedown)="onScrollbarHolderClick($event)">\n <div #thumb class="ng-scrollbar-thumb {{thumbClass}}" [ngStyle]="scrollbarStyle | async"></div>\n </div>\n '}]}],o.ctorParameters=function(){return[{type:undefined,decorators:[{type:r.Inject,args:[e.DOCUMENT]}]},{type:m,decorators:[{type:r.Inject,args:[r.forwardRef(function(){return m})]}]},{type:Object,decorators:[{type:r.Inject,args:[r.PLATFORM_ID]}]},{type:l.Directionality},{type:r.NgZone}]},o}(v),_=function(){function t(){}return t.decorators=[{type:r.NgModule,args:[{imports:[e.CommonModule,o.ScrollingModule,n.LayoutModule,l.BidiModule,g],declarations:[m,y,w,f],exports:[m,f,g]}]}],t}();t.NgScrollbar=m,t.NgScrollbarModule=_,t.SmoothScroll=h,t.SmoothScrollModule=g,t.easeInCubic=function(t,r,e,o){return r+e*((t/=o)*t*t)},t.easeInOutQuad=d,t.inOutQuintic=function(t,r,e,o){var n=(t/=o)*t,l=n*t;return r+e*(6*l*n+-15*n*n+10*l)},t.smoothScroll=b,t.ɵa=f,t.ɵb=y,t.ɵc=v,t.ɵd=w,Object.defineProperty(t,"__esModule",{value:!0})}); //# sourceMappingURL=ngx-scrollbar.umd.min.js.map