text: import { __decorate, __param } from 'tslib';
  import { Subject, fromEvent, merge } from 'rxjs';
  import { auditTime, takeUntil, distinctUntilChanged, mapTo } from 'rxjs/operators';
  import { InjectionToken, EventEmitter, NgZone, KeyValueDiffers, ElementRef, Inject, PLATFORM_ID, Optional, Input, Output, Directive, ChangeDetectorRef, HostBinding, ViewChild, Component, ViewEncapsulation, NgModule } from '@angular/core';
  import { isPlatformBrowser, CommonModule } from '@angular/common';
  import PerfectScrollbar from 'perfect-scrollbar';
  import ResizeObserver from 'resize-observer-polyfill';
  
  import * as ɵngcc0 from '@angular/core';
  import * as ɵngcc1 from '@angular/common';
  
  function PerfectScrollbarComponent_div_3_Template(rf, ctx) { if (rf & 1) {
      ɵngcc0.ɵɵelementStart(0, "div", 3);
      ɵngcc0.ɵɵelement(1, "div", 4);
      ɵngcc0.ɵɵelement(2, "div", 5);
      ɵngcc0.ɵɵelement(3, "div", 6);
      ɵngcc0.ɵɵelement(4, "div", 7);
      ɵngcc0.ɵɵelementEnd();
  } if (rf & 2) {
      var ctx_r230 = ɵngcc0.ɵɵnextContext();
      ɵngcc0.ɵɵclassProp("ps-at-top", ctx_r230.states.top)("ps-at-left", ctx_r230.states.left)("ps-at-right", ctx_r230.states.right)("ps-at-bottom", ctx_r230.states.bottom);
      ɵngcc0.ɵɵadvance(1);
      ɵngcc0.ɵɵclassProp("ps-indicator-show", ctx_r230.indicatorY && ctx_r230.interaction);
      ɵngcc0.ɵɵadvance(1);
      ɵngcc0.ɵɵclassProp("ps-indicator-show", ctx_r230.indicatorX && ctx_r230.interaction);
      ɵngcc0.ɵɵadvance(1);
      ɵngcc0.ɵɵclassProp("ps-indicator-show", ctx_r230.indicatorX && ctx_r230.interaction);
      ɵngcc0.ɵɵadvance(1);
      ɵngcc0.ɵɵclassProp("ps-indicator-show", ctx_r230.indicatorY && ctx_r230.interaction);
  } }
  var _c0 = ["*"];
  var PERFECT_SCROLLBAR_CONFIG = new InjectionToken('PERFECT_SCROLLBAR_CONFIG');
  var Geometry = /** @class */ (function () {
      function Geometry(x, y, w, h) {
          this.x = x;
          this.y = y;
          this.w = w;
          this.h = h;
      }
      return Geometry;
  }());
  var Position = /** @class */ (function () {
      function Position(x, y) {
          this.x = x;
          this.y = y;
      }
      return Position;
  }());
  var PerfectScrollbarEvents = [
      'psScrollY',
      'psScrollX',
      'psScrollUp',
      'psScrollDown',
      'psScrollLeft',
      'psScrollRight',
      'psYReachEnd',
      'psYReachStart',
      'psXReachEnd',
      'psXReachStart'
  ];
  var PerfectScrollbarConfig = /** @class */ (function () {
      function PerfectScrollbarConfig(config) {
          if (config === void 0) { config = {}; }
          this.assign(config);
      }
      PerfectScrollbarConfig.prototype.assign = function (config) {
          if (config === void 0) { config = {}; }
          for (var key in config) {
              this[key] = config[key];
          }
      };
      return PerfectScrollbarConfig;
  }());
  
  var PerfectScrollbarDirective = /** @class */ (function () {
      function PerfectScrollbarDirective(zone, differs, elementRef, platformId, defaults) {
          this.zone = zone;
          this.differs = differs;
          this.elementRef = elementRef;
          this.platformId = platformId;
          this.defaults = defaults;
          this.instance = null;
          this.ro = null;
          this.timeout = null;
          this.animation = null;
          this.configDiff = null;
          this.ngDestroy = new Subject();
          this.disabled = false;
          this.psScrollY = new EventEmitter();
          this.psScrollX = new EventEmitter();
          this.psScrollUp = new EventEmitter();
          this.psScrollDown = new EventEmitter();
          this.psScrollLeft = new EventEmitter();
          this.psScrollRight = new EventEmitter();
          this.psYReachEnd = new EventEmitter();
          this.psYReachStart = new EventEmitter();
          this.psXReachEnd = new EventEmitter();
          this.psXReachStart = new EventEmitter();
      }
      PerfectScrollbarDirective.prototype.ngOnInit = function () {
          var _this = this;
          if (!this.disabled && isPlatformBrowser(this.platformId)) {
              var config_1 = new PerfectScrollbarConfig(this.defaults);
              config_1.assign(this.config); // Custom configuration
              this.zone.runOutsideAngular(function () {
                  _this.instance = new PerfectScrollbar(_this.elementRef.nativeElement, config_1);
              });
              if (!this.configDiff) {
                  this.configDiff = this.differs.find(this.config || {}).create();
                  this.configDiff.diff(this.config || {});
              }
              this.zone.runOutsideAngular(function () {
                  _this.ro = new ResizeObserver(function () {
                      _this.update();
                  });
                  if (_this.elementRef.nativeElement.children[0]) {
                      _this.ro.observe(_this.elementRef.nativeElement.children[0]);
                  }
                  _this.ro.observe(_this.elementRef.nativeElement);
              });
              this.zone.runOutsideAngular(function () {
                  PerfectScrollbarEvents.forEach(function (eventName) {
                      var eventType = eventName.replace(/([A-Z])/g, function (c) { return "-" + c.toLowerCase(); });
                      fromEvent(_this.elementRef.nativeElement, eventType)
                          .pipe(auditTime(20), takeUntil(_this.ngDestroy))
                          .subscribe(function (event) {
                          _this[eventName].emit(event);
                      });
                  });
              });
          }
      };
      PerfectScrollbarDirective.prototype.ngOnDestroy = function () {
          var _this = this;
          if (isPlatformBrowser(this.platformId)) {
              this.ngDestroy.next();
              this.ngDestroy.complete();
              if (this.ro) {
                  this.ro.disconnect();
              }
              if (this.timeout && typeof window !== 'undefined') {
                  window.clearTimeout(this.timeout);
              }
              this.zone.runOutsideAngular(function () {
                  if (_this.instance) {
                      _this.instance.destroy();
                  }
              });
              this.instance = null;
          }
      };
      PerfectScrollbarDirective.prototype.ngDoCheck = function () {
          if (!this.disabled && this.configDiff && isPlatformBrowser(this.platformId)) {
              var changes = this.configDiff.diff(this.config || {});
              if (changes) {
                  this.ngOnDestroy();
                  this.ngOnInit();
              }
          }
      };
      PerfectScrollbarDirective.prototype.ngOnChanges = function (changes) {
          if (changes['disabled'] && !changes['disabled'].isFirstChange() && isPlatformBrowser(this.platformId)) {
              if (changes['disabled'].currentValue !== changes['disabled'].previousValue) {
                  if (changes['disabled'].currentValue === true) {
                      this.ngOnDestroy();
                  }
                  else if (changes['disabled'].currentValue === false) {
                      this.ngOnInit();
                  }
              }
          }
      };
      PerfectScrollbarDirective.prototype.ps = function () {
          return this.instance;
      };
      PerfectScrollbarDirective.prototype.update = function () {
          var _this = this;
          if (typeof window !== 'undefined') {
              if (this.timeout) {
                  window.clearTimeout(this.timeout);
              }
              this.timeout = window.setTimeout(function () {
                  if (!_this.disabled && _this.configDiff) {
                      try {
                          _this.zone.runOutsideAngular(function () {
                              if (_this.instance) {
                                  _this.instance.update();
                              }
                          });
                      }
                      catch (error) {
                          // Update can be finished after destroy so catch errors
                      }
                  }
              }, 0);
          }
      };
      PerfectScrollbarDirective.prototype.geometry = function (prefix) {
          if (prefix === void 0) { prefix = 'scroll'; }
          return new Geometry(this.elementRef.nativeElement[prefix + 'Left'], this.elementRef.nativeElement[prefix + 'Top'], this.elementRef.nativeElement[prefix + 'Width'], this.elementRef.nativeElement[prefix + 'Height']);
      };
      PerfectScrollbarDirective.prototype.position = function (absolute) {
          if (absolute === void 0) { absolute = false; }
          if (!absolute && this.instance) {
              return new Position(this.instance.reach.x || 0, this.instance.reach.y || 0);
          }
          else {
              return new Position(this.elementRef.nativeElement.scrollLeft, this.elementRef.nativeElement.scrollTop);
          }
      };
      PerfectScrollbarDirective.prototype.scrollable = function (direction) {
          if (direction === void 0) { direction = 'any'; }
          var element = this.elementRef.nativeElement;
          if (direction === 'any') {
              return element.classList.contains('ps--active-x') ||
                  element.classList.contains('ps--active-y');
          }
          else if (direction === 'both') {
              return element.classList.contains('ps--active-x') &&
                  element.classList.contains('ps--active-y');
          }
          else {
              return element.classList.contains('ps--active-' + direction);
          }
      };
      PerfectScrollbarDirective.prototype.scrollTo = function (x, y, speed) {
          if (!this.disabled) {
              if (y == null && speed == null) {
                  this.animateScrolling('scrollTop', x, speed);
              }
              else {
                  if (x != null) {
                      this.animateScrolling('scrollLeft', x, speed);
                  }
                  if (y != null) {
                      this.animateScrolling('scrollTop', y, speed);
                  }
              }
          }
      };
      PerfectScrollbarDirective.prototype.scrollToX = function (x, speed) {
          this.animateScrolling('scrollLeft', x, speed);
      };
      PerfectScrollbarDirective.prototype.scrollToY = function (y, speed) {
          this.animateScrolling('scrollTop', y, speed);
      };
      PerfectScrollbarDirective.prototype.scrollToTop = function (offset, speed) {
          this.animateScrolling('scrollTop', (offset || 0), speed);
      };
      PerfectScrollbarDirective.prototype.scrollToLeft = function (offset, speed) {
          this.animateScrolling('scrollLeft', (offset || 0), speed);
      };
      PerfectScrollbarDirective.prototype.scrollToRight = function (offset, speed) {
          var left = this.elementRef.nativeElement.scrollWidth -
              this.elementRef.nativeElement.clientWidth;
          this.animateScrolling('scrollLeft', left - (offset || 0), speed);
      };
      PerfectScrollbarDirective.prototype.scrollToBottom = function (offset, speed) {
          var top = this.elementRef.nativeElement.scrollHeight -
              this.elementRef.nativeElement.clientHeight;
          this.animateScrolling('scrollTop', top - (offset || 0), speed);
      };
      PerfectScrollbarDirective.prototype.scrollToElement = function (qs, offset, speed) {
          var element = this.elementRef.nativeElement.querySelector(qs);
          if (element) {
              var elementPos = element.getBoundingClientRect();
              var scrollerPos = this.elementRef.nativeElement.getBoundingClientRect();
              if (this.elementRef.nativeElement.classList.contains('ps--active-x')) {
                  var currentPos = this.elementRef.nativeElement['scrollLeft'];
                  var position = elementPos.left - scrollerPos.left + currentPos;
                  this.animateScrolling('scrollLeft', position + (offset || 0), speed);
              }
              if (this.elementRef.nativeElement.classList.contains('ps--active-y')) {
                  var currentPos = this.elementRef.nativeElement['scrollTop'];
                  var position = elementPos.top - scrollerPos.top + currentPos;
                  this.animateScrolling('scrollTop', position + (offset || 0), speed);
              }
          }
      };
      PerfectScrollbarDirective.prototype.animateScrolling = function (target, value, speed) {
          var _this = this;
          if (this.animation) {
              window.cancelAnimationFrame(this.animation);
              this.animation = null;
          }
          if (!speed || typeof window === 'undefined') {
              this.elementRef.nativeElement[target] = value;
          }
          else if (value !== this.elementRef.nativeElement[target]) {
              var newValue_1 = 0;
              var scrollCount_1 = 0;
              var oldTimestamp_1 = performance.now();
              var oldValue_1 = this.elementRef.nativeElement[target];
              var cosParameter_1 = (oldValue_1 - value) / 2;
              var step_1 = function (newTimestamp) {
                  scrollCount_1 += Math.PI / (speed / (newTimestamp - oldTimestamp_1));
                  newValue_1 = Math.round(value + cosParameter_1 + cosParameter_1 * Math.cos(scrollCount_1));
                  // Only continue animation if scroll position has not changed
                  if (_this.elementRef.nativeElement[target] === oldValue_1) {
                      if (scrollCount_1 >= Math.PI) {
                          _this.animateScrolling(target, value, 0);
                      }
                      else {
                          _this.elementRef.nativeElement[target] = newValue_1;
                          // On a zoomed out page the resulting offset may differ
                          oldValue_1 = _this.elementRef.nativeElement[target];
                          oldTimestamp_1 = newTimestamp;
                          _this.animation = window.requestAnimationFrame(step_1);
                      }
                  }
              };
              window.requestAnimationFrame(step_1);
          }
      };
      PerfectScrollbarDirective.ctorParameters = function () { return [
          { type: NgZone },
          { type: KeyValueDiffers },
          { type: ElementRef },
          { type: Object, decorators: [{ type: Inject, args: [PLATFORM_ID,] }] },
          { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [PERFECT_SCROLLBAR_CONFIG,] }] }
      ]; };
      __decorate([
          Input()
      ], PerfectScrollbarDirective.prototype, "disabled", void 0);
      __decorate([
          Input('perfectScrollbar')
      ], PerfectScrollbarDirective.prototype, "config", void 0);
      __decorate([
          Output()
      ], PerfectScrollbarDirective.prototype, "psScrollY", void 0);
      __decorate([
          Output()
      ], PerfectScrollbarDirective.prototype, "psScrollX", void 0);
      __decorate([
          Output()
      ], PerfectScrollbarDirective.prototype, "psScrollUp", void 0);
      __decorate([
          Output()
      ], PerfectScrollbarDirective.prototype, "psScrollDown", void 0);
      __decorate([
          Output()
      ], PerfectScrollbarDirective.prototype, "psScrollLeft", void 0);
      __decorate([
          Output()
      ], PerfectScrollbarDirective.prototype, "psScrollRight", void 0);
      __decorate([
          Output()
      ], PerfectScrollbarDirective.prototype, "psYReachEnd", void 0);
      __decorate([
          Output()
      ], PerfectScrollbarDirective.prototype, "psYReachStart", void 0);
      __decorate([
          Output()
      ], PerfectScrollbarDirective.prototype, "psXReachEnd", void 0);
      __decorate([
          Output()
      ], PerfectScrollbarDirective.prototype, "psXReachStart", void 0);
      PerfectScrollbarDirective = __decorate([ __param(3, Inject(PLATFORM_ID)),
          __param(4, Optional()), __param(4, Inject(PERFECT_SCROLLBAR_CONFIG))
      ], PerfectScrollbarDirective);
  PerfectScrollbarDirective.ɵfac = function PerfectScrollbarDirective_Factory(t) { return new (t || PerfectScrollbarDirective)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.NgZone), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.KeyValueDiffers), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(PLATFORM_ID), ɵngcc0.ɵɵdirectiveInject(PERFECT_SCROLLBAR_CONFIG, 8)); };
  PerfectScrollbarDirective.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: PerfectScrollbarDirective, selectors: [["", "perfectScrollbar", ""]], inputs: { disabled: "disabled", config: ["perfectScrollbar", "config"] }, outputs: { psScrollY: "psScrollY", psScrollX: "psScrollX", psScrollUp: "psScrollUp", psScrollDown: "psScrollDown", psScrollLeft: "psScrollLeft", psScrollRight: "psScrollRight", psYReachEnd: "psYReachEnd", psYReachStart: "psYReachStart", psXReachEnd: "psXReachEnd", psXReachStart: "psXReachStart" }, exportAs: ["ngxPerfectScrollbar"], features: [ɵngcc0.ɵɵNgOnChangesFeature()] });
  /*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(PerfectScrollbarDirective, [{
          type: Directive,
          args: [{
                  selector: '[perfectScrollbar]',
                  exportAs: 'ngxPerfectScrollbar'
              }]
      }], function () { return [{ type: ɵngcc0.NgZone }, { type: ɵngcc0.KeyValueDiffers }, { type: ɵngcc0.ElementRef }, { type: Object, decorators: [{
                  type: Inject,
                  args: [PLATFORM_ID]
              }] }, { type: undefined, decorators: [{
                  type: Optional
              }, {
                  type: Inject,
                  args: [PERFECT_SCROLLBAR_CONFIG]
              }] }]; }, { disabled: [{
              type: Input
          }], psScrollY: [{
              type: Output
          }], psScrollX: [{
              type: Output
          }], psScrollUp: [{
              type: Output
          }], psScrollDown: [{
              type: Output
          }], psScrollLeft: [{
              type: Output
          }], psScrollRight: [{
              type: Output
          }], psYReachEnd: [{
              type: Output
          }], psYReachStart: [{
              type: Output
          }], psXReachEnd: [{
              type: Output
          }], psXReachStart: [{
              type: Output
          }], config: [{
              type: Input,
              args: ['perfectScrollbar']
          }] }); })();
      return PerfectScrollbarDirective;
  }());
  
  var PerfectScrollbarComponent = /** @class */ (function () {
      function PerfectScrollbarComponent(zone, cdRef, platformId) {
          this.zone = zone;
          this.cdRef = cdRef;
          this.platformId = platformId;
          this.states = {};
          this.indicatorX = false;
          this.indicatorY = false;
          this.interaction = false;
          this.scrollPositionX = 0;
          this.scrollPositionY = 0;
          this.scrollDirectionX = 0;
          this.scrollDirectionY = 0;
          this.usePropagationX = false;
          this.usePropagationY = false;
          this.allowPropagationX = false;
          this.allowPropagationY = false;
          this.stateTimeout = null;
          this.ngDestroy = new Subject();
          this.stateUpdate = new Subject();
          this.disabled = false;
          this.usePSClass = true;
          this.autoPropagation = false;
          this.scrollIndicators = false;
          this.psScrollY = new EventEmitter();
          this.psScrollX = new EventEmitter();
          this.psScrollUp = new EventEmitter();
          this.psScrollDown = new EventEmitter();
          this.psScrollLeft = new EventEmitter();
          this.psScrollRight = new EventEmitter();
          this.psYReachEnd = new EventEmitter();
          this.psYReachStart = new EventEmitter();
          this.psXReachEnd = new EventEmitter();
          this.psXReachStart = new EventEmitter();
      }
      PerfectScrollbarComponent.prototype.ngOnInit = function () {
          var _this = this;
          if (isPlatformBrowser(this.platformId)) {
              this.stateUpdate
                  .pipe(takeUntil(this.ngDestroy), distinctUntilChanged(function (a, b) { return (a === b && !_this.stateTimeout); }))
                  .subscribe(function (state) {
                  if (_this.stateTimeout && typeof window !== 'undefined') {
                      window.clearTimeout(_this.stateTimeout);
                      _this.stateTimeout = null;
                  }
                  if (state === 'x' || state === 'y') {
                      _this.interaction = false;
                      if (state === 'x') {
                          _this.indicatorX = false;
                          _this.states.left = false;
                          _this.states.right = false;
                          if (_this.autoPropagation && _this.usePropagationX) {
                              _this.allowPropagationX = false;
                          }
                      }
                      else if (state === 'y') {
                          _this.indicatorY = false;
                          _this.states.top = false;
                          _this.states.bottom = false;
                          if (_this.autoPropagation && _this.usePropagationY) {
                              _this.allowPropagationY = false;
                          }
                      }
                  }
                  else {
                      if (state === 'left' || state === 'right') {
                          _this.states.left = false;
                          _this.states.right = false;
                          _this.states[state] = true;
                          if (_this.autoPropagation && _this.usePropagationX) {
                              _this.indicatorX = true;
                          }
                      }
                      else if (state === 'top' || state === 'bottom') {
                          _this.states.top = false;
                          _this.states.bottom = false;
                          _this.states[state] = true;
                          if (_this.autoPropagation && _this.usePropagationY) {
                              _this.indicatorY = true;
                          }
                      }
                      if (_this.autoPropagation && typeof window !== 'undefined') {
                          _this.stateTimeout = window.setTimeout(function () {
                              _this.indicatorX = false;
                              _this.indicatorY = false;
                              _this.stateTimeout = null;
                              if (_this.interaction && (_this.states.left || _this.states.right)) {
                                  _this.allowPropagationX = true;
                              }
                              if (_this.interaction && (_this.states.top || _this.states.bottom)) {
                                  _this.allowPropagationY = true;
                              }
                              _this.cdRef.markForCheck();
                          }, 500);
                      }
                  }
                  _this.cdRef.markForCheck();
                  _this.cdRef.detectChanges();
              });
              this.zone.runOutsideAngular(function () {
                  if (_this.directiveRef) {
                      var element = _this.directiveRef.elementRef.nativeElement;
                      fromEvent(element, 'wheel')
                          .pipe(takeUntil(_this.ngDestroy))
                          .subscribe(function (event) {
                          if (!_this.disabled && _this.autoPropagation) {
                              var scrollDeltaX = event.deltaX;
                              var scrollDeltaY = event.deltaY;
                              _this.checkPropagation(event, scrollDeltaX, scrollDeltaY);
                          }
                      });
                      fromEvent(element, 'touchmove')
                          .pipe(takeUntil(_this.ngDestroy))
                          .subscribe(function (event) {
                          if (!_this.disabled && _this.autoPropagation) {
                              var scrollPositionX = event.touches[0].clientX;
                              var scrollPositionY = event.touches[0].clientY;
                              var scrollDeltaX = scrollPositionX - _this.scrollPositionX;
                              var scrollDeltaY = scrollPositionY - _this.scrollPositionY;
                              _this.checkPropagation(event, scrollDeltaX, scrollDeltaY);
                              _this.scrollPositionX = scrollPositionX;
                              _this.scrollPositionY = scrollPositionY;
                          }
                      });
                      merge(fromEvent(element, 'ps-scroll-x')
                          .pipe(mapTo('x')), fromEvent(element, 'ps-scroll-y')
                          .pipe(mapTo('y')), fromEvent(element, 'ps-x-reach-end')
                          .pipe(mapTo('right')), fromEvent(element, 'ps-y-reach-end')
                          .pipe(mapTo('bottom')), fromEvent(element, 'ps-x-reach-start')
                          .pipe(mapTo('left')), fromEvent(element, 'ps-y-reach-start')
                          .pipe(mapTo('top')))
                          .pipe(takeUntil(_this.ngDestroy))
                          .subscribe(function (state) {
                          if (!_this.disabled && (_this.autoPropagation || _this.scrollIndicators)) {
                              _this.stateUpdate.next(state);
                          }
                      });
                  }
              });
              window.setTimeout(function () {
                  PerfectScrollbarEvents.forEach(function (eventName) {
                      if (_this.directiveRef) {
                          _this.directiveRef[eventName] = _this[eventName];
                      }
                  });
              }, 0);
          }
      };
      PerfectScrollbarComponent.prototype.ngOnDestroy = function () {
          if (isPlatformBrowser(this.platformId)) {
              this.ngDestroy.next();
              this.ngDestroy.unsubscribe();
              if (this.stateTimeout && typeof window !== 'undefined') {
                  window.clearTimeout(this.stateTimeout);
              }
          }
      };
      PerfectScrollbarComponent.prototype.ngDoCheck = function () {
          if (isPlatformBrowser(this.platformId)) {
              if (!this.disabled && this.autoPropagation && this.directiveRef) {
                  var element = this.directiveRef.elementRef.nativeElement;
                  this.usePropagationX = element.classList.contains('ps--active-x');
                  this.usePropagationY = element.classList.contains('ps--active-y');
              }
          }
      };
      PerfectScrollbarComponent.prototype.checkPropagation = function (event, deltaX, deltaY) {
          this.interaction = true;
          var scrollDirectionX = (deltaX < 0) ? -1 : 1;
          var scrollDirectionY = (deltaY < 0) ? -1 : 1;
          if ((this.usePropagationX && this.usePropagationY) ||
              (this.usePropagationX && (!this.allowPropagationX ||
                  (this.scrollDirectionX !== scrollDirectionX))) ||
              (this.usePropagationY && (!this.allowPropagationY ||
                  (this.scrollDirectionY !== scrollDirectionY)))) {
              event.preventDefault();
              event.stopPropagation();
          }
          if (!!deltaX) {
              this.scrollDirectionX = scrollDirectionX;
          }
          if (!!deltaY) {
              this.scrollDirectionY = scrollDirectionY;
          }
          this.stateUpdate.next('interaction');
          this.cdRef.detectChanges();
      };
      PerfectScrollbarComponent.ctorParameters = function () { return [
          { type: NgZone },
          { type: ChangeDetectorRef },
          { type: Object, decorators: [{ type: Inject, args: [PLATFORM_ID,] }] }
      ]; };
      __decorate([
          Input()
      ], PerfectScrollbarComponent.prototype, "disabled", void 0);
      __decorate([
          Input()
      ], PerfectScrollbarComponent.prototype, "usePSClass", void 0);
      __decorate([
          HostBinding('class.ps-show-limits'),
          Input()
      ], PerfectScrollbarComponent.prototype, "autoPropagation", void 0);
      __decorate([
          HostBinding('class.ps-show-active'),
          Input()
      ], PerfectScrollbarComponent.prototype, "scrollIndicators", void 0);
      __decorate([
          Input()
      ], PerfectScrollbarComponent.prototype, "config", void 0);
      __decorate([
          Output()
      ], PerfectScrollbarComponent.prototype, "psScrollY", void 0);
      __decorate([
          Output()
      ], PerfectScrollbarComponent.prototype, "psScrollX", void 0);
      __decorate([
          Output()
      ], PerfectScrollbarComponent.prototype, "psScrollUp", void 0);
      __decorate([
          Output()
      ], PerfectScrollbarComponent.prototype, "psScrollDown", void 0);
      __decorate([
          Output()
      ], PerfectScrollbarComponent.prototype, "psScrollLeft", void 0);
      __decorate([
          Output()
      ], PerfectScrollbarComponent.prototype, "psScrollRight", void 0);
      __decorate([
          Output()
      ], PerfectScrollbarComponent.prototype, "psYReachEnd", void 0);
      __decorate([
          Output()
      ], PerfectScrollbarComponent.prototype, "psYReachStart", void 0);
      __decorate([
          Output()
      ], PerfectScrollbarComponent.prototype, "psXReachEnd", void 0);
      __decorate([
          Output()
      ], PerfectScrollbarComponent.prototype, "psXReachStart", void 0);
      __decorate([
          ViewChild(PerfectScrollbarDirective, { static: true })
      ], PerfectScrollbarComponent.prototype, "directiveRef", void 0);
      PerfectScrollbarComponent = __decorate([ __param(2, Inject(PLATFORM_ID))
      ], PerfectScrollbarComponent);
  PerfectScrollbarComponent.ɵfac = function PerfectScrollbarComponent_Factory(t) { return new (t || PerfectScrollbarComponent)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.NgZone), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ChangeDetectorRef), ɵngcc0.ɵɵdirectiveInject(PLATFORM_ID)); };
  PerfectScrollbarComponent.ɵcmp = ɵngcc0.ɵɵdefineComponent({ type: PerfectScrollbarComponent, selectors: [["perfect-scrollbar"]], viewQuery: function PerfectScrollbarComponent_Query(rf, ctx) { if (rf & 1) {
          ɵngcc0.ɵɵstaticViewQuery(PerfectScrollbarDirective, true);
      } if (rf & 2) {
          var _t;
          ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx.directiveRef = _t.first);
      } }, hostVars: 4, hostBindings: function PerfectScrollbarComponent_HostBindings(rf, ctx) { if (rf & 2) {
          ɵngcc0.ɵɵclassProp("ps-show-limits", ctx.autoPropagation)("ps-show-active", ctx.scrollIndicators);
      } }, inputs: { disabled: "disabled", usePSClass: "usePSClass", autoPropagation: "autoPropagation", scrollIndicators: "scrollIndicators", config: "config" }, outputs: { psScrollY: "psScrollY", psScrollX: "psScrollX", psScrollUp: "psScrollUp", psScrollDown: "psScrollDown", psScrollLeft: "psScrollLeft", psScrollRight: "psScrollRight", psYReachEnd: "psYReachEnd", psYReachStart: "psYReachStart", psXReachEnd: "psXReachEnd", psXReachStart: "psXReachStart" }, exportAs: ["ngxPerfectScrollbar"], ngContentSelectors: _c0, decls: 4, vars: 5, consts: [[2, "position", "static", 3, "perfectScrollbar", "disabled"], [1, "ps-content"], ["class", "ps-overlay", 3, "ps-at-top", "ps-at-left", "ps-at-right", "ps-at-bottom", 4, "ngIf"], [1, "ps-overlay"], [1, "ps-indicator-top"], [1, "ps-indicator-left"], [1, "ps-indicator-right"], [1, "ps-indicator-bottom"]], template: function PerfectScrollbarComponent_Template(rf, ctx) { if (rf & 1) {
          ɵngcc0.ɵɵprojectionDef();
          ɵngcc0.ɵɵelementStart(0, "div", 0);
          ɵngcc0.ɵɵelementStart(1, "div", 1);
          ɵngcc0.ɵɵprojection(2);
          ɵngcc0.ɵɵelementEnd();
          ɵngcc0.ɵɵtemplate(3, PerfectScrollbarComponent_div_3_Template, 5, 16, "div", 2);
          ɵngcc0.ɵɵelementEnd();
      } if (rf & 2) {
          ɵngcc0.ɵɵclassProp("ps", ctx.usePSClass);
          ɵngcc0.ɵɵproperty("perfectScrollbar", ctx.config)("disabled", ctx.disabled);
          ɵngcc0.ɵɵadvance(3);
          ɵngcc0.ɵɵproperty("ngIf", ctx.scrollIndicators);
      } }, directives: [PerfectScrollbarDirective, ɵngcc1.NgIf], styles: ["perfect-scrollbar{position:relative;display:block;overflow:hidden;width:100%;height:100%;max-width:100%;max-height:100%}perfect-scrollbar[hidden]{display:none}perfect-scrollbar[fxflex]{display:-webkit-box;display:flex;flex-direction:column;height:auto;min-width:0;min-height:0;-webkit-box-direction:column;-webkit-box-orient:column}perfect-scrollbar[fxflex]>.ps{flex:1 1 auto;width:auto;height:auto;min-width:0;min-height:0;-webkit-box-flex:1}perfect-scrollbar[fxlayout]>.ps,perfect-scrollbar[fxlayout]>.ps>.ps-content{display:-webkit-box;display:flex;flex:1 1 auto;flex-direction:inherit;align-items:inherit;align-content:inherit;justify-content:inherit;width:100%;height:100%;-webkit-box-align:inherit;-webkit-box-direction:inherit;-webkit-box-flex:1;-webkit-box-orient:inherit;-webkit-box-pack:inherit},perfect-scrollbar[fxlayout=row]>.ps,perfect-scrollbar[fxlayout=row]>.ps>.ps-content{flex-direction:row!important;-webkit-box-direction:row!important;-webkit-box-orient:row!important}perfect-scrollbar[fxlayout=column]>.ps,perfect-scrollbar[fxlayout=column]>.ps>.ps-content{flex-direction:column!important;-webkit-box-direction:column!important;-webkit-box-orient:column!important}perfect-scrollbar>.ps{position:static;display:block;width:100%;height:100%;max-width:100%;max-height:100%}perfect-scrollbar>.ps textarea{-ms-overflow-style:scrollbar}perfect-scrollbar>.ps>.ps-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:block;overflow:hidden;pointer-events:none}perfect-scrollbar>.ps>.ps-overlay .ps-indicator-bottom,perfect-scrollbar>.ps>.ps-overlay .ps-indicator-left,perfect-scrollbar>.ps>.ps-overlay .ps-indicator-right,perfect-scrollbar>.ps>.ps-overlay .ps-indicator-top{position:absolute;opacity:0;-webkit-transition:opacity .3s ease-in-out;transition:opacity .3s ease-in-out}perfect-scrollbar>.ps>.ps-overlay .ps-indicator-bottom,perfect-scrollbar>.ps>.ps-overlay .ps-indicator-top{left:0;min-width:100%;min-height:24px}perfect-scrollbar>.ps>.ps-overlay .ps-indicator-left,perfect-scrollbar>.ps>.ps-overlay .ps-indicator-right{top:0;min-width:24px;min-height:100%}perfect-scrollbar>.ps>.ps-overlay .ps-indicator-top{top:0}perfect-scrollbar>.ps>.ps-overlay .ps-indicator-left{left:0}perfect-scrollbar>.ps>.ps-overlay .ps-indicator-right{right:0}perfect-scrollbar>.ps>.ps-overlay .ps-indicator-bottom{bottom:0}perfect-scrollbar>.ps.ps--active-y>.ps__rail-y{top:0!important;right:0!important;left:auto!important;width:10px;cursor:default;-webkit-transition:width .2s linear,opacity .2s linear,background-color .2s linear;transition:width .2s linear,opacity .2s linear,background-color .2s linear}perfect-scrollbar>.ps.ps--active-y>.ps__rail-y.ps--clicking,perfect-scrollbar>.ps.ps--active-y>.ps__rail-y:hover{width:15px}perfect-scrollbar>.ps.ps--active-x>.ps__rail-x{top:auto!important;bottom:0!important;left:0!important;height:10px;cursor:default;-webkit-transition:height .2s linear,opacity .2s linear,background-color .2s linear;transition:height .2s linear,opacity .2s linear,background-color .2s linear}perfect-scrollbar>.ps.ps--active-x>.ps__rail-x.ps--clicking,perfect-scrollbar>.ps.ps--active-x>.ps__rail-x:hover{height:15px}perfect-scrollbar>.ps.ps--active-x.ps--active-y>.ps__rail-y{margin:0 0 10px}perfect-scrollbar>.ps.ps--active-x.ps--active-y>.ps__rail-x{margin:0 10px 0 0}perfect-scrollbar>.ps.ps--scrolling-x>.ps__rail-x,perfect-scrollbar>.ps.ps--scrolling-y>.ps__rail-y{opacity:.9;background-color:#eee}perfect-scrollbar.ps-show-always>.ps.ps--active-x>.ps__rail-x,perfect-scrollbar.ps-show-always>.ps.ps--active-y>.ps__rail-y{opacity:.6}perfect-scrollbar.ps-show-active>.ps.ps--active-y>.ps-overlay:not(.ps-at-top) .ps-indicator-top{opacity:1;background:-webkit-gradient(linear,left top,left bottom,from(rgba(255,255,255,.5)),to(rgba(255,255,255,0)));background:linear-gradient(to bottom,rgba(255,255,255,.5) 0,rgba(255,255,255,0) 100%)}perfect-scrollbar.ps-show-active>.ps.ps--active-y>.ps-overlay:not(.ps-at-bottom) .ps-indicator-bottom{opacity:1;background:-webkit-gradient(linear,left bottom,left top,from(rgba(255,255,255,.5)),to(rgba(255,255,255,0)));background:linear-gradient(to top,rgba(255,255,255,.5) 0,rgba(255,255,255,0) 100%)}perfect-scrollbar.ps-show-active>.ps.ps--active-x>.ps-overlay:not(.ps-at-left) .ps-indicator-left{opacity:1;background:-webkit-gradient(linear,left top,right top,from(rgba(255,255,255,.5)),to(rgba(255,255,255,0)));background:linear-gradient(to right,rgba(255,255,255,.5) 0,rgba(255,255,255,0) 100%)}perfect-scrollbar.ps-show-active>.ps.ps--active-x>.ps-overlay:not(.ps-at-right) .ps-indicator-right{opacity:1;background:-webkit-gradient(linear,right top,left top,from(rgba(255,255,255,.5)),to(rgba(255,255,255,0)));background:linear-gradient(to left,rgba(255,255,255,.5) 0,rgba(255,255,255,0) 100%)}perfect-scrollbar.ps-show-active.ps-show-limits>.ps.ps--active-y>.ps-overlay.ps-at-top .ps-indicator-top{background:-webkit-gradient(linear,left top,left bottom,from(rgba(170,170,170,.5)),to(rgba(170,170,170,0)));background:linear-gradient(to bottom,rgba(170,170,170,.5) 0,rgba(170,170,170,0) 100%)}perfect-scrollbar.ps-show-active.ps-show-limits>.ps.ps--active-y>.ps-overlay.ps-at-bottom .ps-indicator-bottom{background:-webkit-gradient(linear,left bottom,left top,from(rgba(170,170,170,.5)),to(rgba(170,170,170,0)));background:linear-gradient(to top,rgba(170,170,170,.5) 0,rgba(170,170,170,0) 100%)}perfect-scrollbar.ps-show-active.ps-show-limits>.ps.ps--active-x>.ps-overlay.ps-at-left .ps-indicator-left{background:-webkit-gradient(linear,left top,right top,from(rgba(170,170,170,.5)),to(rgba(170,170,170,0)));background:linear-gradient(to right,rgba(170,170,170,.5) 0,rgba(170,170,170,0) 100%)}perfect-scrollbar.ps-show-active.ps-show-limits>.ps.ps--active-x>.ps-overlay.ps-at-right .ps-indicator-right{background:-webkit-gradient(linear,right top,left top,from(rgba(170,170,170,.5)),to(rgba(170,170,170,0)));background:linear-gradient(to left,rgba(170,170,170,.5) 0,rgba(170,170,170,0) 100%)}perfect-scrollbar.ps-show-active.ps-show-limits>.ps.ps--active-x>.ps-overlay.ps-at-left .ps-indicator-left.ps-indicator-show,perfect-scrollbar.ps-show-active.ps-show-limits>.ps.ps--active-x>.ps-overlay.ps-at-right .ps-indicator-right.ps-indicator-show,perfect-scrollbar.ps-show-active.ps-show-limits>.ps.ps--active-y>.ps-overlay.ps-at-bottom .ps-indicator-bottom.ps-indicator-show,perfect-scrollbar.ps-show-active.ps-show-limits>.ps.ps--active-y>.ps-overlay.ps-at-top .ps-indicator-top.ps-indicator-show{opacity:1}", ".ps{overflow:hidden!important;overflow-anchor:none;-ms-overflow-style:none;touch-action:auto;-ms-touch-action:auto}.ps__rail-x{display:none;opacity:0;transition:background-color .2s linear,opacity .2s linear;-webkit-transition:background-color .2s linear,opacity .2s linear;height:15px;bottom:0;position:absolute}.ps__rail-y{display:none;opacity:0;transition:background-color .2s linear,opacity .2s linear;-webkit-transition:background-color .2s linear,opacity .2s linear;width:15px;right:0;position:absolute}.ps--active-x>.ps__rail-x,.ps--active-y>.ps__rail-y{display:block;background-color:transparent}.ps--focus>.ps__rail-x,.ps--focus>.ps__rail-y,.ps--scrolling-x>.ps__rail-x,.ps--scrolling-y>.ps__rail-y,.ps:hover>.ps__rail-x,.ps:hover>.ps__rail-y{opacity:.6}.ps .ps__rail-x.ps--clicking,.ps .ps__rail-x:focus,.ps .ps__rail-x:hover,.ps .ps__rail-y.ps--clicking,.ps .ps__rail-y:focus,.ps .ps__rail-y:hover{background-color:#eee;opacity:.9}.ps__thumb-x{background-color:#aaa;border-radius:6px;transition:background-color .2s linear,height .2s ease-in-out;-webkit-transition:background-color .2s linear,height .2s ease-in-out;height:6px;bottom:2px;position:absolute}.ps__thumb-y{background-color:#aaa;border-radius:6px;transition:background-color .2s linear,width .2s ease-in-out;-webkit-transition:background-color .2s linear,width .2s ease-in-out;width:6px;right:2px;position:absolute}.ps__rail-x.ps--clicking .ps__thumb-x,.ps__rail-x:focus>.ps__thumb-x,.ps__rail-x:hover>.ps__thumb-x{background-color:#999;height:11px}.ps__rail-y.ps--clicking .ps__thumb-y,.ps__rail-y:focus>.ps__thumb-y,.ps__rail-y:hover>.ps__thumb-y{background-color:#999;width:11px}@supports (-ms-overflow-style:none){.ps{overflow:auto!important}}@media screen and (-ms-high-contrast:active),(-ms-high-contrast:none){.ps{overflow:auto!important}}"], encapsulation: 2 });
  /*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(PerfectScrollbarComponent, [{
          type: Component,
          args: [{
                  selector: 'perfect-scrollbar',
                  exportAs: 'ngxPerfectScrollbar',
                  template: "<div style=\"position: static;\" [class.ps]=\"usePSClass\" [perfectScrollbar]=\"config\" [disabled]=\"disabled\">\n  <div class=\"ps-content\">\n    <ng-content></ng-content>\n  </div>\n\n  <div *ngIf=\"scrollIndicators\" class=\"ps-overlay\" [class.ps-at-top]=\"states.top\" [class.ps-at-left]=\"states.left\" [class.ps-at-right]=\"states.right\" [class.ps-at-bottom]=\"states.bottom\">\n    <div class=\"ps-indicator-top\" [class.ps-indicator-show]=\"indicatorY && interaction\"></div>\n    <div class=\"ps-indicator-left\" [class.ps-indicator-show]=\"indicatorX && interaction\"></div>\n    <div class=\"ps-indicator-right\" [class.ps-indicator-show]=\"indicatorX && interaction\"></div>\n    <div class=\"ps-indicator-bottom\" [class.ps-indicator-show]=\"indicatorY && interaction\"></div>\n  </div>\n</div>\n",
                  encapsulation: ViewEncapsulation.None,
                  styles: ["perfect-scrollbar{position:relative;display:block;overflow:hidden;width:100%;height:100%;max-width:100%;max-height:100%}perfect-scrollbar[hidden]{display:none}perfect-scrollbar[fxflex]{display:-webkit-box;display:flex;flex-direction:column;height:auto;min-width:0;min-height:0;-webkit-box-direction:column;-webkit-box-orient:column}perfect-scrollbar[fxflex]>.ps{flex:1 1 auto;width:auto;height:auto;min-width:0;min-height:0;-webkit-box-flex:1}perfect-scrollbar[fxlayout]>.ps,perfect-scrollbar[fxlayout]>.ps>.ps-content{display:-webkit-box;display:flex;flex:1 1 auto;flex-direction:inherit;align-items:inherit;align-content:inherit;justify-content:inherit;width:100%;height:100%;-webkit-box-align:inherit;-webkit-box-direction:inherit;-webkit-box-flex:1;-webkit-box-orient:inherit;-webkit-box-pack:inherit},perfect-scrollbar[fxlayout=row]>.ps,perfect-scrollbar[fxlayout=row]>.ps>.ps-content{flex-direction:row!important;-webkit-box-direction:row!important;-webkit-box-orient:row!important}perfect-scrollbar[fxlayout=column]>.ps,perfect-scrollbar[fxlayout=column]>.ps>.ps-content{flex-direction:column!important;-webkit-box-direction:column!important;-webkit-box-orient:column!important}perfect-scrollbar>.ps{position:static;display:block;width:100%;height:100%;max-width:100%;max-height:100%}perfect-scrollbar>.ps textarea{-ms-overflow-style:scrollbar}perfect-scrollbar>.ps>.ps-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:block;overflow:hidden;pointer-events:none}perfect-scrollbar>.ps>.ps-overlay .ps-indicator-bottom,perfect-scrollbar>.ps>.ps-overlay .ps-indicator-left,perfect-scrollbar>.ps>.ps-overlay .ps-indicator-right,perfect-scrollbar>.ps>.ps-overlay .ps-indicator-top{position:absolute;opacity:0;-webkit-transition:opacity .3s ease-in-out;transition:opacity .3s ease-in-out}perfect-scrollbar>.ps>.ps-overlay .ps-indicator-bottom,perfect-scrollbar>.ps>.ps-overlay .ps-indicator-top{left:0;min-width:100%;min-height:24px}perfect-scrollbar>.ps>.ps-overlay .ps-indicator-left,perfect-scrollbar>.ps>.ps-overlay .ps-indicator-right{top:0;min-width:24px;min-height:100%}perfect-scrollbar>.ps>.ps-overlay .ps-indicator-top{top:0}perfect-scrollbar>.ps>.ps-overlay .ps-indicator-left{left:0}perfect-scrollbar>.ps>.ps-overlay .ps-indicator-right{right:0}perfect-scrollbar>.ps>.ps-overlay .ps-indicator-bottom{bottom:0}perfect-scrollbar>.ps.ps--active-y>.ps__rail-y{top:0!important;right:0!important;left:auto!important;width:10px;cursor:default;-webkit-transition:width .2s linear,opacity .2s linear,background-color .2s linear;transition:width .2s linear,opacity .2s linear,background-color .2s linear}perfect-scrollbar>.ps.ps--active-y>.ps__rail-y.ps--clicking,perfect-scrollbar>.ps.ps--active-y>.ps__rail-y:hover{width:15px}perfect-scrollbar>.ps.ps--active-x>.ps__rail-x{top:auto!important;bottom:0!important;left:0!important;height:10px;cursor:default;-webkit-transition:height .2s linear,opacity .2s linear,background-color .2s linear;transition:height .2s linear,opacity .2s linear,background-color .2s linear}perfect-scrollbar>.ps.ps--active-x>.ps__rail-x.ps--clicking,perfect-scrollbar>.ps.ps--active-x>.ps__rail-x:hover{height:15px}perfect-scrollbar>.ps.ps--active-x.ps--active-y>.ps__rail-y{margin:0 0 10px}perfect-scrollbar>.ps.ps--active-x.ps--active-y>.ps__rail-x{margin:0 10px 0 0}perfect-scrollbar>.ps.ps--scrolling-x>.ps__rail-x,perfect-scrollbar>.ps.ps--scrolling-y>.ps__rail-y{opacity:.9;background-color:#eee}perfect-scrollbar.ps-show-always>.ps.ps--active-x>.ps__rail-x,perfect-scrollbar.ps-show-always>.ps.ps--active-y>.ps__rail-y{opacity:.6}perfect-scrollbar.ps-show-active>.ps.ps--active-y>.ps-overlay:not(.ps-at-top) .ps-indicator-top{opacity:1;background:-webkit-gradient(linear,left top,left bottom,from(rgba(255,255,255,.5)),to(rgba(255,255,255,0)));background:linear-gradient(to bottom,rgba(255,255,255,.5) 0,rgba(255,255,255,0) 100%)}perfect-scrollbar.ps-show-active>.ps.ps--active-y>.ps-overlay:not(.ps-at-bottom) .ps-indicator-bottom{opacity:1;background:-webkit-gradient(linear,left bottom,left top,from(rgba(255,255,255,.5)),to(rgba(255,255,255,0)));background:linear-gradient(to top,rgba(255,255,255,.5) 0,rgba(255,255,255,0) 100%)}perfect-scrollbar.ps-show-active>.ps.ps--active-x>.ps-overlay:not(.ps-at-left) .ps-indicator-left{opacity:1;background:-webkit-gradient(linear,left top,right top,from(rgba(255,255,255,.5)),to(rgba(255,255,255,0)));background:linear-gradient(to right,rgba(255,255,255,.5) 0,rgba(255,255,255,0) 100%)}perfect-scrollbar.ps-show-active>.ps.ps--active-x>.ps-overlay:not(.ps-at-right) .ps-indicator-right{opacity:1;background:-webkit-gradient(linear,right top,left top,from(rgba(255,255,255,.5)),to(rgba(255,255,255,0)));background:linear-gradient(to left,rgba(255,255,255,.5) 0,rgba(255,255,255,0) 100%)}perfect-scrollbar.ps-show-active.ps-show-limits>.ps.ps--active-y>.ps-overlay.ps-at-top .ps-indicator-top{background:-webkit-gradient(linear,left top,left bottom,from(rgba(170,170,170,.5)),to(rgba(170,170,170,0)));background:linear-gradient(to bottom,rgba(170,170,170,.5) 0,rgba(170,170,170,0) 100%)}perfect-scrollbar.ps-show-active.ps-show-limits>.ps.ps--active-y>.ps-overlay.ps-at-bottom .ps-indicator-bottom{background:-webkit-gradient(linear,left bottom,left top,from(rgba(170,170,170,.5)),to(rgba(170,170,170,0)));background:linear-gradient(to top,rgba(170,170,170,.5) 0,rgba(170,170,170,0) 100%)}perfect-scrollbar.ps-show-active.ps-show-limits>.ps.ps--active-x>.ps-overlay.ps-at-left .ps-indicator-left{background:-webkit-gradient(linear,left top,right top,from(rgba(170,170,170,.5)),to(rgba(170,170,170,0)));background:linear-gradient(to right,rgba(170,170,170,.5) 0,rgba(170,170,170,0) 100%)}perfect-scrollbar.ps-show-active.ps-show-limits>.ps.ps--active-x>.ps-overlay.ps-at-right .ps-indicator-right{background:-webkit-gradient(linear,right top,left top,from(rgba(170,170,170,.5)),to(rgba(170,170,170,0)));background:linear-gradient(to left,rgba(170,170,170,.5) 0,rgba(170,170,170,0) 100%)}perfect-scrollbar.ps-show-active.ps-show-limits>.ps.ps--active-x>.ps-overlay.ps-at-left .ps-indicator-left.ps-indicator-show,perfect-scrollbar.ps-show-active.ps-show-limits>.ps.ps--active-x>.ps-overlay.ps-at-right .ps-indicator-right.ps-indicator-show,perfect-scrollbar.ps-show-active.ps-show-limits>.ps.ps--active-y>.ps-overlay.ps-at-bottom .ps-indicator-bottom.ps-indicator-show,perfect-scrollbar.ps-show-active.ps-show-limits>.ps.ps--active-y>.ps-overlay.ps-at-top .ps-indicator-top.ps-indicator-show{opacity:1}", ".ps{overflow:hidden!important;overflow-anchor:none;-ms-overflow-style:none;touch-action:auto;-ms-touch-action:auto}.ps__rail-x{display:none;opacity:0;transition:background-color .2s linear,opacity .2s linear;-webkit-transition:background-color .2s linear,opacity .2s linear;height:15px;bottom:0;position:absolute}.ps__rail-y{display:none;opacity:0;transition:background-color .2s linear,opacity .2s linear;-webkit-transition:background-color .2s linear,opacity .2s linear;width:15px;right:0;position:absolute}.ps--active-x>.ps__rail-x,.ps--active-y>.ps__rail-y{display:block;background-color:transparent}.ps--focus>.ps__rail-x,.ps--focus>.ps__rail-y,.ps--scrolling-x>.ps__rail-x,.ps--scrolling-y>.ps__rail-y,.ps:hover>.ps__rail-x,.ps:hover>.ps__rail-y{opacity:.6}.ps .ps__rail-x.ps--clicking,.ps .ps__rail-x:focus,.ps .ps__rail-x:hover,.ps .ps__rail-y.ps--clicking,.ps .ps__rail-y:focus,.ps .ps__rail-y:hover{background-color:#eee;opacity:.9}.ps__thumb-x{background-color:#aaa;border-radius:6px;transition:background-color .2s linear,height .2s ease-in-out;-webkit-transition:background-color .2s linear,height .2s ease-in-out;height:6px;bottom:2px;position:absolute}.ps__thumb-y{background-color:#aaa;border-radius:6px;transition:background-color .2s linear,width .2s ease-in-out;-webkit-transition:background-color .2s linear,width .2s ease-in-out;width:6px;right:2px;position:absolute}.ps__rail-x.ps--clicking .ps__thumb-x,.ps__rail-x:focus>.ps__thumb-x,.ps__rail-x:hover>.ps__thumb-x{background-color:#999;height:11px}.ps__rail-y.ps--clicking .ps__thumb-y,.ps__rail-y:focus>.ps__thumb-y,.ps__rail-y:hover>.ps__thumb-y{background-color:#999;width:11px}@supports (-ms-overflow-style:none){.ps{overflow:auto!important}}@media screen and (-ms-high-contrast:active),(-ms-high-contrast:none){.ps{overflow:auto!important}}"]
              }]
      }], function () { return [{ type: ɵngcc0.NgZone }, { type: ɵngcc0.ChangeDetectorRef }, { type: Object, decorators: [{
                  type: Inject,
                  args: [PLATFORM_ID]
              }] }]; }, { disabled: [{
              type: Input
          }], usePSClass: [{
              type: Input
          }], autoPropagation: [{
              type: HostBinding,
              args: ['class.ps-show-limits']
          }, {
              type: Input
          }], scrollIndicators: [{
              type: HostBinding,
              args: ['class.ps-show-active']
          }, {
              type: Input
          }], psScrollY: [{
              type: Output
          }], psScrollX: [{
              type: Output
          }], psScrollUp: [{
              type: Output
          }], psScrollDown: [{
              type: Output
          }], psScrollLeft: [{
              type: Output
          }], psScrollRight: [{
              type: Output
          }], psYReachEnd: [{
              type: Output
          }], psYReachStart: [{
              type: Output
          }], psXReachEnd: [{
              type: Output
          }], psXReachStart: [{
              type: Output
          }], config: [{
              type: Input
          }], directiveRef: [{
              type: ViewChild,
              args: [PerfectScrollbarDirective, { static: true }]
          }] }); })();
      return PerfectScrollbarComponent;
  }());
  
  var PerfectScrollbarModule = /** @class */ (function () {
      function PerfectScrollbarModule() {
      }
  PerfectScrollbarModule.ɵmod = ɵngcc0.ɵɵdefineNgModule({ type: PerfectScrollbarModule });
  PerfectScrollbarModule.ɵinj = ɵngcc0.ɵɵdefineInjector({ factory: function PerfectScrollbarModule_Factory(t) { return new (t || PerfectScrollbarModule)(); }, imports: [[CommonModule],
          CommonModule] });
  (function () { (typeof ngJitMode === "undefined" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(PerfectScrollbarModule, { declarations: function () { return [PerfectScrollbarComponent,
          PerfectScrollbarDirective]; }, imports: function () { return [CommonModule]; }, exports: function () { return [CommonModule,
          PerfectScrollbarComponent,
          PerfectScrollbarDirective]; } }); })();
  /*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(PerfectScrollbarModule, [{
          type: NgModule,
          args: [{
                  imports: [CommonModule],
                  declarations: [PerfectScrollbarComponent, PerfectScrollbarDirective],
                  exports: [CommonModule, PerfectScrollbarComponent, PerfectScrollbarDirective]
              }]
      }], function () { return []; }, null); })();
      return PerfectScrollbarModule;
  }());
  
  /**
   * Generated bundle index. Do not edit.
   */
  
  export { Geometry, PERFECT_SCROLLBAR_CONFIG, PerfectScrollbarComponent, PerfectScrollbarConfig, PerfectScrollbarDirective, PerfectScrollbarModule, Position };
  
  //# sourceMappingURL=ngx-perfect-scrollbar.js.map