{"version":3,"file":"novo-elements-elements-slider.mjs","sources":["../../../projects/novo-elements/src/elements/slider/Slider.ts","../../../projects/novo-elements/src/elements/slider/Slider.module.ts","../../../projects/novo-elements/src/elements/slider/novo-elements-elements-slider.ts"],"sourcesContent":["// NG2\nimport { Component, ElementRef, Input, OnDestroy, OnInit } from '@angular/core';\n// APP\nimport { NovoLabelService } from 'novo-elements/services';\nimport { Key } from 'novo-elements/utils';\n\n@Component({\n    selector: 'novo-slider',\n    template: `\n    <section class=\"slides\">\n      <ng-content select=\"div[slide]\"></ng-content>\n    </section>\n    <div class=\"controls\">\n      <button *ngIf=\"!start\" theme=\"icon\" icon=\"previous\" (click)=\"changeSlide('back')\"></button>\n      <div class=\"indicators\">\n        <div class=\"indicator-circle\" *ngFor=\"let indicator of currSlides; let i = index\" [ngClass]=\"indicator\"></div>\n      </div>\n      <button *ngIf=\"!end\" theme=\"primary\" icon=\"next\" (click)=\"changeSlide('next')\">{{ labels.next }}</button>\n      <ng-content select=\"button\" *ngIf=\"end\"></ng-content>\n    </div>\n  `,\n    styleUrls: ['./Slider.scss'],\n    host: {\n        '[class]': 'currentClass',\n    },\n    standalone: false,\n})\nexport class NovoSliderElement implements OnInit, OnDestroy {\n  @Input()\n  slides: any;\n\n  currentSlide: number = 0;\n  start: boolean = true;\n  end: boolean = true;\n  currSlides: Array<any> = ['active'];\n  handleKeyDownFunc: any;\n  currentClass: string;\n\n  constructor(private element: ElementRef, public labels: NovoLabelService) {\n    this.handleKeyDownFunc = this.handleKeyDown.bind(this);\n  }\n\n  ngOnInit() {\n    for (let i = 0; i < this.slides; i++) {\n      this.currSlides[i] = i > 0 ? 'inactive' : 'active';\n    }\n    // Catch Tab Events\n    this.element.nativeElement.addEventListener('keydown', this.handleKeyDownFunc);\n  }\n\n  ngOnDestroy() {\n    this.element.nativeElement.removeEventListener('keydown', this.handleKeyDownFunc);\n  }\n\n  handleKeyDown(event: KeyboardEvent) {\n    if (event.key === Key.Tab) {\n      event.stopImmediatePropagation();\n      event.preventDefault();\n    }\n  }\n\n  changeSlide(direction) {\n    if (direction === 'next') {\n      if (this.currentSlide === this.slides - 1) {\n        return;\n      }\n      this.currentSlide++;\n    } else {\n      if (this.currentSlide === 0) {\n        return;\n      }\n      this.currentSlide--;\n    }\n\n    for (let i = 0; i < this.slides; i++) {\n      this.currSlides[i] = 'inactive';\n    }\n\n    this.currSlides[this.currentSlide] = 'active';\n    this.start = this.currentSlide === 0;\n    this.end = this.currentSlide === this.slides - 1;\n    this.currentClass = `slide-${this.currentSlide}`;\n  }\n}\n","// NG2\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n// APP\nimport { NovoButtonModule } from 'novo-elements/elements/button';\nimport { NovoSliderElement } from './Slider';\n\n@NgModule({\n  imports: [CommonModule, NovoButtonModule],\n  declarations: [NovoSliderElement],\n  exports: [NovoSliderElement],\n})\nexport class NovoSliderModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}