{"version":3,"file":"src_app_home_home_module_ts.js","mappings":"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AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yEAAyE,gBAAgB;AACzF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,kBAAkB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,iBAAiB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,uDAAY;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iEAAiE,oCAAoC,+DAAwB,CAAC,qDAAiB,GAAG,+DAAwB,CAAC,4D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","sources":["./src/app/home/banner-carousel/banner-carousel.component.ts","./src/app/home/banner-carousel/banner-carousel.component.html","./src/app/home/home-routing.module.ts","./src/app/home/home.component.ts","./src/app/home/home.component.html","./src/app/home/home.module.ts","./node_modules/angular-responsive-carousel/__ivy_ngcc__/fesm2015/angular-responsive-carousel.js"],"sourcesContent":["import { Component, OnInit, Input, OnDestroy } from '@angular/core';\nimport { trigger, transition, style, animate } from \"@angular/animations\";\nimport { Subscription, interval, forkJoin } from 'rxjs';\n\n@Component({\n selector: 'banner-carousel',\n templateUrl: './banner-carousel.component.html',\n styleUrls: ['./banner-carousel.component.css'],\n animations: [\n trigger('carouselAnimation', [\n transition('void => *', [\n style({ opacity: 0 }),\n animate('1500ms', style({ opacity: 1 }))\n ]),\n transition('* => void', [\n animate('0ms', style({ opacity: 0 }))\n ])\n ])\n ]\n})\nexport class BannerCarouselComponent implements OnInit, OnDestroy {\n @Input() slides;\n currentSlide = 0;\n private subscriptions: Subscription[] = [];\n constructor() { }\n\n onPreviousClick() {\n const previous = this.currentSlide - 1;\n this.currentSlide = previous < 0 ? this.slides.length - 1 : previous;\n }\n\n onNextClick() {\n const next = this.currentSlide + 1;\n this.currentSlide = next === this.slides.length ? 0 : next;\n }\n goToSlide(index){\n this.currentSlide = index;\n }\n trigerCarousel(){\n const subscription = interval(7000).subscribe(x => {\n this.onNextClick();\n });\n this.subscriptions.push(subscription);\n }\n ngOnInit(): void {\n this.trigerCarousel();\n }\n ngOnDestroy() {\n this.subscriptions.forEach(subscription => subscription.unsubscribe());\n }\n}\n","\n
\n \n
\n \n \n \n
\n
\n

{{slide.header}}

\n

{{description}}

\n
{{slide.action}}
\n
\n \n
\n \n
\n
\n
    \n
  1. \n
\n \n \n \n
","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\n\nimport { HomeComponent } from './home.component';\n\nconst routes: Routes = [{ path: '', component: HomeComponent }];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule]\n})\nexport class HomeRoutingModule { }\n","declare function require(path: string);\nimport { Component, OnInit } from '@angular/core';\nimport { environment } from '@environments/environment';\nimport {COURSES} from '@shared/courses';\n\n@Component({\n selector: 'app-home',\n templateUrl: './home.component.html',\n styleUrls: ['./home.component.css']\n})\nexport class HomeComponent implements OnInit {\n runHomeBanner: boolean = environment.runHomeBanner;\n constructor() { }\n // public slides = [\n // { src: require('../../assets/images/courses/car1.jpg') },\n // { src: require('../../assets/images/courses/car2.jpg') },\n // { src: require('../../assets/images/courses/car3.png') }\n // ];\n public slides = [\n { userName: 'PAULA WILSON', role: 'Media Analyst', userImage: '../../assets/images/courses/car1.jpg', comment: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam eu sem tempor, varius quam at, luctus dui. Mauris magna metus, dapibus nec turpis vel, semper malesuada ante. Idac bibendum scelerisque non non purus. Suspendisse varius nibh non aliquet.' },\n { userName: 'ANTONIO MORENO', role: 'Web Developer', userImage: '../../assets/images/courses/car2.jpg', comment: 'Phasellus vitae suscipit justo. Mauris pharetra feugiat ante id lacinia. Etiam faucibus mauris id tempor egestas. Duis luctus turpis at accumsan tincidunt. Phasellus risus risus, volutpat vel tellus ac, tincidunt fringilla massa. Etiam hendrerit dolor eget rutrum.' },\n { userName: 'MICHAEL HOLZ', role: 'Seo Analyst', userImage: '../../assets/images/courses/car3.png', comment: 'Vestibulum quis quam ut magna consequat faucibus. Pellentesque eget nisi a mi suscipit tincidunt. Utmtc tempus dictum risus. Pellentesque viverra sagittis quam at mattis. Suspendisse potenti. Aliquam sit amet gravida nibh, facilisis gravida odio.' }\n ];\n public bannerSlides = [\n // {\n // backgroundImage: '../../assets/images/banner/home4.jpg',\n // header: 'Welcome to caeTutor',\n // descriptions: [\n // 'caeTutor offers a variety of professional training courses on various Programming software’s, Scripting languages, Software Project Management, and Career Courses.',\n // 'caeTutor Courses are prepared by industry experts which are good for skill enhancement, to advance in their career and add a great value to one’s CV.'\n // ]\n // },\n // {\n // backgroundImage: '../../assets/images/home.jpg',\n // header: 'Future of Learning',\n // descriptions: [\n // 'caetutor has redefined the way of learning for Internet Generation. All you need is a browser and an internet connection to access the courseware.',\n // 'The uniqueness of this learning is access the courses from anywhere in the world, track your course progress, rise your queries, etc.'\n // ]\n // },\n { backgroundImage: '../../assets/images/banner/home.jpg' },\n { backgroundImage: '../../assets/images/banner/slide1.jpg' },\n { backgroundImage: '../../assets/images/banner/slide2.jpg' },\n { backgroundImage: '../../assets/images/banner/slide3.jpg' },\n { backgroundImage: '../../assets/images/banner/slide4.jpg' },\n { backgroundImage: '../../assets/images/banner/slide5.jpg' },\n { backgroundImage: '../../assets/images/banner/internship.jpg', link: '/resources/internship', role: 'Web Developer' }\n ];\n public cources = COURSES.filter(c => c.parentId);\n \n ngOnInit(): void {\n console.log(this.cources);\n if(!this.runHomeBanner){\n this.bannerSlides = [{ backgroundImage: '../../assets/images/banner/home.jpg' } ];\n this.cources = this.cources.slice(0,3);\n }\n }\n}\n","\n
\n
\n
\n \n
\n
\n \n \n \n
\n

New Courses

\n View all courses\n
\n
\n \n
\n \n
\n \"{{course.name}}\"\n
\n \n
\n
\n
\n
access_time\n {{course.duration}}
\n \n
\n
\n \n
{{course.status}}
\n
\n
\n
\n
\n

{{course.shortDescription}}

\n
\n
\n
\n
\n
\n
\n
\n
\n\n
\n

Popular Courses

\n View all courses\n
\n
\n \n
\n \n
\n \"{{course.name}}\"\n
\n \n
\n
\n
\n
access_time {{course.duration}}\n
\n \n
\n
\n \n
{{course.status}}
\n
\n
\n
\n
\n

{{course.shortDescription}}

\n
\n
\n
\n
\n
\n
\n
\n
\n
\n

New Courses

\n View all courses\n
\n
\n \n
\n \n
\n \"{{course.name}}\"\n
\n \n
\n
\n
\n
access_time\n {{course.duration}}
\n \n
\n
\n \n
{{course.status}}
\n
\n
\n
\n
\n

{{course.shortDescription}}

\n
\n
\n
\n
\n
\n
\n
\n
\n\n
\n

Popular Courses

\n View all courses\n
\n
\n \n
\n \n
\n \"{{course.name}}\"\n
\n \n
\n
\n
\n
access_time {{course.duration}}\n
\n \n
\n
\n \n
{{course.status}}
\n
\n
\n
\n
\n

{{course.shortDescription}}

\n
\n
\n
\n
\n
\n
\n
\n
\n \n
\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { MaterialModule } from '../shared/material.module';\nimport {SharedModule} from '../shared/shared.module';\nimport { HomeRoutingModule } from './home-routing.module';\nimport {IvyCarouselModule} from 'angular-responsive-carousel';\n\nimport { HomeComponent } from './home.component';\nimport { BannerCarouselComponent } from './banner-carousel/banner-carousel.component';\n\n\n@NgModule({\n declarations: [HomeComponent, BannerCarouselComponent],\n imports: [\n CommonModule,\n MaterialModule,\n SharedModule,\n HomeRoutingModule,\n IvyCarouselModule\n ]\n})\nexport class HomeModule { }\n","import { EventEmitter, Component, ElementRef, ChangeDetectorRef, Output, Input, HostBinding, HostListener, NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport * as ɵngcc0 from '@angular/core';\nimport * as ɵngcc1 from '@angular/common';\n\nfunction CarouselComponent_div_0_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"div\", 7);\n ɵngcc0.ɵɵtext(1);\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r0 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵtextInterpolate(ctx_r0.counter);\n} }\nfunction CarouselComponent_ng_template_5_div_0_img_1_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelement(0, \"img\", 11);\n} if (rf & 2) {\n const i_r6 = ɵngcc0.ɵɵnextContext(2).index;\n const ctx_r8 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵstyleProp(\"object-fit\", ctx_r8.objectFit);\n ɵngcc0.ɵɵproperty(\"src\", ctx_r8.getImage(i_r6)[\"image\"][\"path\"], ɵngcc0.ɵɵsanitizeUrl);\n} }\nfunction CarouselComponent_ng_template_5_div_0_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"div\", 9);\n ɵngcc0.ɵɵtemplate(1, CarouselComponent_ng_template_5_div_0_img_1_Template, 1, 3, \"img\", 10);\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const i_r6 = ɵngcc0.ɵɵnextContext().index;\n const ctx_r7 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵstyleProp(\"width\", ctx_r7.getCellWidth() + \"px\")(\"border-radius\", ctx_r7.borderRadius + \"px\");\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx_r7.getImage(i_r6) && ctx_r7.getImage(i_r6)[\"image\"]);\n} }\nfunction CarouselComponent_ng_template_5_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵtemplate(0, CarouselComponent_ng_template_5_div_0_Template, 2, 5, \"div\", 8);\n} if (rf & 2) {\n const i_r6 = ctx.index;\n const ctx_r2 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵproperty(\"ngIf\", i_r6 < ctx_r2.cellLimit);\n} }\nfunction CarouselComponent_div_6_div_1_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelement(0, \"div\", 14);\n} if (rf & 2) {\n const i_r13 = ctx.index;\n const ctx_r11 = ɵngcc0.ɵɵnextContext(2);\n ɵngcc0.ɵɵclassProp(\"carousel-dot-active\", i_r13 === ctx_r11.activeDotIndex);\n} }\nfunction CarouselComponent_div_6_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"div\", 12);\n ɵngcc0.ɵɵtemplate(1, CarouselComponent_div_6_div_1_Template, 1, 2, \"div\", 13);\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r3 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngForOf\", ctx_r3.dotsArr);\n} }\nfunction CarouselComponent_div_7_Template(rf, ctx) { if (rf & 1) {\n const _r15 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵelementStart(0, \"div\", 15)(1, \"div\", 16);\n ɵngcc0.ɵɵlistener(\"click\", function CarouselComponent_div_7_Template_div_click_1_listener() { ɵngcc0.ɵɵrestoreView(_r15); const ctx_r14 = ɵngcc0.ɵɵnextContext(); return ctx_r14.prev(); });\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵelementStart(2, \"div\", 17);\n ɵngcc0.ɵɵlistener(\"click\", function CarouselComponent_div_7_Template_div_click_2_listener() { ɵngcc0.ɵɵrestoreView(_r15); const ctx_r16 = ɵngcc0.ɵɵnextContext(); return ctx_r16.next(); });\n ɵngcc0.ɵɵelementEnd()();\n} if (rf & 2) {\n const ctx_r4 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵclassProp(\"carousel-arrows-outside\", ctx_r4.arrowsOutside)(\"carousel-dark-arrows\", ctx_r4.arrowsTheme === \"dark\");\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵclassProp(\"carousel-arrow-disabled\", ctx_r4.isPrevArrowDisabled());\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵclassProp(\"carousel-arrow-disabled\", ctx_r4.isNextArrowDisabled());\n} }\nconst _c0 = [\"*\"];\nclass Touches {\r\n constructor(properties) {\r\n this.eventType = undefined;\r\n this.handlers = {};\r\n this.startX = 0;\r\n this.startY = 0;\r\n this.lastTap = 0;\r\n this.doubleTapMinTimeout = 300;\r\n this.tapMinTimeout = 200;\r\n this.touchstartTime = 0;\r\n this.i = 0;\r\n this.isMousedown = false;\r\n this._touchListeners = {\r\n \"touchstart\": \"handleTouchstart\",\r\n \"touchmove\": \"handleTouchmove\",\r\n \"touchend\": \"handleTouchend\"\r\n };\r\n this._mouseListeners = {\r\n \"mousedown\": \"handleMousedown\",\r\n \"mousemove\": \"handleMousemove\",\r\n \"mouseup\": \"handleMouseup\",\r\n \"wheel\": \"handleWheel\"\r\n };\r\n this._otherListeners = {\r\n \"resize\": \"handleResize\"\r\n };\r\n /*\r\n * Listeners\r\n */\r\n /* Touchstart */\r\n this.handleTouchstart = (event) => {\r\n this.elementPosition = this.getElementPosition();\r\n this.touchstartTime = new Date().getTime();\r\n if (this.eventType === undefined) {\r\n this.getTouchstartPosition(event);\r\n }\r\n this.runHandler(\"touchstart\", event);\r\n };\r\n /* Touchmove */\r\n this.handleTouchmove = (event) => {\r\n const touches = event.touches;\r\n // Pan\r\n if (this.detectPan(touches)) {\r\n this.runHandler(\"pan\", event);\r\n }\r\n // Pinch\r\n if (this.detectPinch(event)) {\r\n this.runHandler(\"pinch\", event);\r\n }\r\n // Linear swipe\r\n switch (this.detectLinearSwipe(event)) {\r\n case \"horizontal-swipe\":\r\n event.swipeType = \"horizontal-swipe\";\r\n this.runHandler(\"horizontal-swipe\", event);\r\n break;\r\n case \"vertical-swipe\":\r\n event.swipeType = \"vertical-swipe\";\r\n this.runHandler(\"vertical-swipe\", event);\r\n break;\r\n }\r\n // Linear swipe\r\n if (this.detectLinearSwipe(event) ||\r\n this.eventType === 'horizontal-swipe' ||\r\n this.eventType === 'vertical-swipe') {\r\n this.handleLinearSwipe(event);\r\n }\r\n };\r\n /* Touchend */\r\n this.handleTouchend = (event) => {\r\n const touches = event.touches;\r\n // Double Tap\r\n if (this.detectDoubleTap()) {\r\n this.runHandler(\"double-tap\", event);\r\n }\r\n // Tap\r\n this.detectTap();\r\n this.runHandler(\"touchend\", event);\r\n this.eventType = 'touchend';\r\n if (touches && touches.length === 0) {\r\n this.eventType = undefined;\r\n this.i = 0;\r\n }\r\n };\r\n /* Mousedown */\r\n this.handleMousedown = (event) => {\r\n this.isMousedown = true;\r\n this.elementPosition = this.getElementPosition();\r\n this.touchstartTime = new Date().getTime();\r\n if (this.eventType === undefined) {\r\n this.getMousedownPosition(event);\r\n }\r\n this.runHandler(\"mousedown\", event);\r\n };\r\n /* Mousemove */\r\n this.handleMousemove = (event) => {\r\n //event.preventDefault();\r\n if (!this.isMousedown) {\r\n return;\r\n }\r\n // Pan\r\n this.runHandler(\"pan\", event);\r\n // Linear swipe\r\n switch (this.detectLinearSwipe(event)) {\r\n case \"horizontal-swipe\":\r\n event.swipeType = \"horizontal-swipe\";\r\n this.runHandler(\"horizontal-swipe\", event);\r\n break;\r\n case \"vertical-swipe\":\r\n event.swipeType = \"vertical-swipe\";\r\n this.runHandler(\"vertical-swipe\", event);\r\n break;\r\n }\r\n // Linear swipe\r\n if (this.detectLinearSwipe(event) ||\r\n this.eventType === 'horizontal-swipe' ||\r\n this.eventType === 'vertical-swipe') {\r\n this.handleLinearSwipe(event);\r\n }\r\n };\r\n /* Mouseup */\r\n this.handleMouseup = (event) => {\r\n // Tap\r\n this.detectTap();\r\n this.isMousedown = false;\r\n this.runHandler(\"mouseup\", event);\r\n this.eventType = undefined;\r\n this.i = 0;\r\n };\r\n /* Wheel */\r\n this.handleWheel = (event) => {\r\n this.runHandler(\"wheel\", event);\r\n };\r\n /* Resize */\r\n this.handleResize = (event) => {\r\n this.runHandler(\"resize\", event);\r\n };\r\n this.properties = properties;\r\n this.element = this.properties.element;\r\n this.elementPosition = this.getElementPosition();\r\n this.toggleEventListeners('addEventListener');\r\n }\r\n get touchListeners() {\r\n return this.properties.touchListeners ? this.properties.touchListeners : this._touchListeners;\r\n }\r\n get mouseListeners() {\r\n return this.properties.mouseListeners ? this.properties.mouseListeners : this._mouseListeners;\r\n }\r\n get otherListeners() {\r\n return this.properties.otherListeners ? this.properties.otherListeners : this._otherListeners;\r\n }\r\n destroy() {\r\n this.toggleEventListeners('removeEventListener');\r\n }\r\n toggleEventListeners(action) {\r\n let listeners;\r\n if (this.properties.listeners === 'mouse and touch') {\r\n listeners = Object.assign(this.touchListeners, this.mouseListeners);\r\n }\r\n else {\r\n listeners = this.detectTouchScreen() ? this.touchListeners : this.mouseListeners;\r\n }\r\n if (this.properties.resize) {\r\n listeners = Object.assign(listeners, this.otherListeners);\r\n }\r\n for (var listener in listeners) {\r\n const handler = listeners[listener];\r\n // Window\r\n if (listener === \"resize\") {\r\n if (action === 'addEventListener') {\r\n window.addEventListener(listener, this[handler], false);\r\n }\r\n if (action === 'removeEventListener') {\r\n window.removeEventListener(listener, this[handler], false);\r\n }\r\n // Document\r\n }\r\n else if (listener === 'mouseup' || listener === \"mousemove\") {\r\n if (action === 'addEventListener') {\r\n document.addEventListener(listener, this[handler], { passive: false });\r\n }\r\n if (action === 'removeEventListener') {\r\n document.removeEventListener(listener, this[handler], false);\r\n }\r\n // Element\r\n }\r\n else {\r\n if (action === 'addEventListener') {\r\n this.element.addEventListener(listener, this[handler], false);\r\n }\r\n if (action === 'removeEventListener') {\r\n this.element.removeEventListener(listener, this[handler], false);\r\n }\r\n }\r\n }\r\n }\r\n addEventListeners(listener) {\r\n const handler = this._mouseListeners[listener];\r\n window.addEventListener(listener, this[handler], false);\r\n }\r\n removeEventListeners(listener) {\r\n const handler = this._mouseListeners[listener];\r\n window.removeEventListener(listener, this[handler], false);\r\n }\r\n handleLinearSwipe(event) {\r\n //event.preventDefault();\r\n this.i++;\r\n if (this.i > 3) {\r\n this.eventType = this.getLinearSwipeType(event);\r\n }\r\n if (this.eventType === 'horizontal-swipe') {\r\n this.runHandler('horizontal-swipe', event);\r\n }\r\n if (this.eventType === 'vertical-swipe') {\r\n this.runHandler('vertical-swipe', event);\r\n }\r\n }\r\n runHandler(eventName, response) {\r\n if (this.handlers[eventName]) {\r\n this.handlers[eventName](response);\r\n }\r\n }\r\n /*\r\n * Detection\r\n */\r\n detectPan(touches) {\r\n return touches.length === 1 && !this.eventType || this.eventType === 'pan';\r\n }\r\n detectDoubleTap() {\r\n if (this.eventType != undefined) {\r\n return;\r\n }\r\n const currentTime = new Date().getTime();\r\n const tapLength = currentTime - this.lastTap;\r\n clearTimeout(this.doubleTapTimeout);\r\n if (tapLength < this.doubleTapMinTimeout && tapLength > 0) {\r\n return true;\r\n }\r\n else {\r\n this.doubleTapTimeout = setTimeout(() => {\r\n clearTimeout(this.doubleTapTimeout);\r\n }, this.doubleTapMinTimeout);\r\n }\r\n this.lastTap = currentTime;\r\n return undefined;\r\n }\r\n detectTap() {\r\n if (this.eventType != undefined) {\r\n return;\r\n }\r\n const currentTime = new Date().getTime();\r\n const tapLength = currentTime - this.touchstartTime;\r\n if (tapLength > 0) {\r\n if (tapLength < this.tapMinTimeout) {\r\n this.runHandler(\"tap\", event);\r\n }\r\n else {\r\n this.runHandler(\"longtap\", event);\r\n }\r\n }\r\n }\r\n detectPinch(event) {\r\n const touches = event.touches;\r\n return (touches.length === 2 && this.eventType === undefined) || this.eventType === 'pinch';\r\n }\r\n detectLinearSwipe(event) {\r\n const touches = event.touches;\r\n if (touches) {\r\n if (touches.length === 1 && !this.eventType || this.eventType === 'horizontal-swipe' || this.eventType === 'vertical-swipe') {\r\n return this.getLinearSwipeType(event);\r\n }\r\n }\r\n else {\r\n if (!this.eventType || this.eventType === 'horizontal-swipe' || this.eventType === 'vertical-swipe') {\r\n return this.getLinearSwipeType(event);\r\n }\r\n }\r\n return undefined;\r\n }\r\n getLinearSwipeType(event) {\r\n if (this.eventType !== 'horizontal-swipe' && this.eventType !== 'vertical-swipe') {\r\n const movementX = Math.abs(this.moveLeft(0, event) - this.startX);\r\n const movementY = Math.abs(this.moveTop(0, event) - this.startY);\r\n if ((movementY * 3) > movementX) {\r\n return 'vertical-swipe';\r\n }\r\n else {\r\n return 'horizontal-swipe';\r\n }\r\n }\r\n else {\r\n return this.eventType;\r\n }\r\n }\r\n getElementPosition() {\r\n return this.element.getBoundingClientRect();\r\n }\r\n getTouchstartPosition(event) {\r\n this.startX = event.touches[0].clientX - this.elementPosition.left;\r\n this.startY = event.touches[0].clientY - this.elementPosition.top;\r\n }\r\n getMousedownPosition(event) {\r\n this.startX = event.clientX - this.elementPosition.left;\r\n this.startY = event.clientY - this.elementPosition.top;\r\n }\r\n moveLeft(index, event) {\r\n const touches = event.touches;\r\n if (touches) {\r\n return touches[index].clientX - this.elementPosition.left;\r\n }\r\n else {\r\n return event.clientX - this.elementPosition.left;\r\n }\r\n }\r\n moveTop(index, event) {\r\n const touches = event.touches;\r\n if (touches) {\r\n return touches[index].clientY - this.elementPosition.top;\r\n }\r\n else {\r\n return event.clientY - this.elementPosition.top;\r\n }\r\n }\r\n detectTouchScreen() {\r\n var prefixes = ' -webkit- -moz- -o- -ms- '.split(' ');\r\n var mq = function (query) {\r\n return window.matchMedia(query).matches;\r\n };\r\n if (('ontouchstart' in window)) {\r\n return true;\r\n }\r\n // include the 'heartz' as a way to have a non matching MQ to help terminate the join\r\n // https://git.io/vznFH\r\n var query = ['(', prefixes.join('touch-enabled),('), 'heartz', ')'].join('');\r\n return mq(query);\r\n }\r\n /* Public properties and methods */\r\n on(event, handler) {\r\n if (event) {\r\n this.handlers[event] = handler;\r\n }\r\n }\r\n}\n\nclass Carousel {\r\n constructor(properties, utils, cells, container, slide) {\r\n this.properties = properties;\r\n this.utils = utils;\r\n this.cells = cells;\r\n this.container = container;\r\n this.slide = slide;\r\n /* The slide length has been limited by the limitSlideLength() method */\r\n this.isSlideLengthLimited = false;\r\n this.isContentImages = true;\r\n this.isLazyLoad = true;\r\n this.isContainerLocked = true;\r\n this.alignCells = \"left\";\r\n this.initialContainerPosition = 0;\r\n this.containerPullLimit = 100;\r\n this.handleTouchstart = (event) => {\r\n this.container.handleTouchstart();\r\n this.slide.handleTouchstart(event);\r\n };\r\n this.handleHorizontalSwipe = (event) => {\r\n this.container.handleHorizontalSwipe();\r\n };\r\n this.handleTouchend = (event) => {\r\n if (this.properties.freeScroll) {\r\n this.container.handleTouchend();\r\n }\r\n else {\r\n this.container.handleTouchend(true);\r\n this.slide.handleTouchend(event);\r\n }\r\n };\r\n this.isNextArrowDisabled = () => {\r\n return this.slide.isNextArrowDisabled();\r\n };\r\n this.isPrevArrowDisabled = () => {\r\n return this.slide.isPrevArrowDisabled();\r\n };\r\n this.init();\r\n }\r\n get cellLength() {\r\n return this.cells.cellLength;\r\n }\r\n get cellLengthInLightDOMMode() {\r\n if (this.images) {\r\n let cellLength = this.numberOfVisibleCells + this.overflowCellsLimit * 2;\r\n if (cellLength > this.images.length) {\r\n cellLength = this.images.length;\r\n }\r\n return cellLength;\r\n }\r\n else {\r\n return this.cellLength;\r\n }\r\n }\r\n get lastCellIndex() {\r\n return this.images.length ? (this.images.length - 1) : (this.cells.cellLength - 1);\r\n }\r\n get overflowCellsLimit() {\r\n return this.utils.overflowCellsLimit;\r\n }\r\n get cellLimit() {\r\n if (this.isLightDOM) {\r\n let cellLimit = this.numberOfVisibleCells + this.overflowCellsLimit * 2;\r\n if (cellLimit < this.numberOfVisibleCells) {\r\n cellLimit = this.numberOfVisibleCells;\r\n }\r\n return cellLimit;\r\n }\r\n else {\r\n return this.properties.images.length;\r\n }\r\n }\r\n get isLightDOM() {\r\n return this.properties.lightDOM || this.properties.loop;\r\n }\r\n get images() {\r\n return this.properties.images;\r\n }\r\n get margin() {\r\n return this.properties.margin;\r\n }\r\n get minSwipeDistance() {\r\n return this.properties.minSwipeDistance;\r\n }\r\n get transitionDuration() {\r\n return this.properties.transitionDuration;\r\n }\r\n get transitionTimingFunction() {\r\n return this.properties.transitionTimingFunction;\r\n }\r\n get fullCellWidth() {\r\n return this.properties.cellWidth + this.margin;\r\n }\r\n get numberOfVisibleCells() {\r\n return this.utils.numberOfVisibleCells;\r\n }\r\n get lapCounter() {\r\n return Math.floor(this.slide.counter / this.cellLengthInLightDOMMode);\r\n }\r\n get slideCounter() {\r\n return this.slide.counter;\r\n }\r\n updateProperties(properties) {\r\n this.properties = properties;\r\n }\r\n init() {\r\n this.cellsElement = this.properties.cellsElement;\r\n this.visibleWidth = this.properties.visibleWidth || this.cellsElement.parentElement.clientWidth;\r\n }\r\n destroy() {\r\n clearInterval(this.autoplayId);\r\n }\r\n lineUpCells() {\r\n this.cells.lineUp();\r\n }\r\n handleTransitionend() {\r\n this.slide.handleTransitionend();\r\n }\r\n getImage(index) {\r\n return this.cells.getImage(index);\r\n }\r\n next(length = 1) {\r\n if (!this.isNextArrowDisabled()) {\r\n this.slide.next(length);\r\n }\r\n }\r\n prev(length = 1) {\r\n this.slide.prev(length);\r\n }\r\n autoplay() {\r\n this.autoplayId = setInterval(() => {\r\n this.next();\r\n }, this.properties.autoplayInterval);\r\n }\r\n stopAutoplay() {\r\n if (this.autoplayId) {\r\n clearInterval(this.autoplayId);\r\n }\r\n }\r\n}\n\nclass Container {\r\n constructor(carouselProperties, utils, cells) {\r\n this.carouselProperties = carouselProperties;\r\n this.utils = utils;\r\n this.cells = cells;\r\n /* The index of the new position relative to\r\n * the active index, for example -1 or +1\r\n */\r\n this.newPositionIndex = 0;\r\n this.isPositionCorrection = false;\r\n this.initialPositionX = 0;\r\n this.initialElementPositionX = 0;\r\n this.isLocked = true;\r\n this.pullLimit = 100;\r\n this.startTime = 0;\r\n this.startX = 0;\r\n this.moveX = 0;\r\n this.isSwipeInProgress = false;\r\n this.init();\r\n }\r\n get visibleWidth() {\r\n return this.utils.visibleWidth;\r\n }\r\n get overflowCellsLimit() {\r\n return this.utils.overflowCellsLimit;\r\n }\r\n get images() {\r\n return this.carouselProperties.images;\r\n }\r\n get element() {\r\n return this.carouselProperties.cellsElement;\r\n }\r\n get freeScroll() {\r\n return this.carouselProperties.freeScroll;\r\n }\r\n get fullCellWidth() {\r\n return this.carouselProperties.cellWidth + this.carouselProperties.margin;\r\n }\r\n get numberOfVisibleCells() {\r\n return this.utils.numberOfVisibleCells;\r\n }\r\n get transitionDuration() {\r\n return this.carouselProperties.transitionDuration;\r\n }\r\n get transitionTimingFunction() {\r\n return this.carouselProperties.transitionTimingFunction;\r\n }\r\n get cellLength() {\r\n if (this.images) {\r\n return this.images.length;\r\n }\r\n else {\r\n return this.cells.cellLength;\r\n }\r\n }\r\n get cellLengthInLightDOMMode() {\r\n if (this.images) {\r\n let cellLength = this.numberOfVisibleCells + this.overflowCellsLimit * 2;\r\n if (cellLength > this.images.length) {\r\n cellLength = this.images.length;\r\n }\r\n return cellLength;\r\n }\r\n else {\r\n return this.cellLength;\r\n }\r\n }\r\n get tooFewCells() {\r\n return this.numberOfVisibleCells > this.cellLength;\r\n }\r\n get disabled() {\r\n return this.tooFewCells;\r\n }\r\n get margin() {\r\n return this.carouselProperties.margin;\r\n }\r\n get isLightDOM() {\r\n return this.carouselProperties.lightDOM || this.carouselProperties.loop;\r\n }\r\n updateProperties(carouselProperties) {\r\n this.carouselProperties = carouselProperties;\r\n }\r\n init() {\r\n this.setWidth();\r\n }\r\n handleTouchstart() {\r\n this.startX = this.utils.getStartX(event);\r\n this.startTime = new Date().getTime();\r\n this.initialElementPositionX = this.getInitialElementPositionX();\r\n }\r\n handleHorizontalSwipe() {\r\n if (this.disabled) {\r\n return;\r\n }\r\n if (!this.isSwipeInProgress) {\r\n this.startX = this.utils.getStartX(event);\r\n this.startTime = new Date().getTime();\r\n this.initialElementPositionX = this.getInitialElementPositionX();\r\n }\r\n this.isSwipeInProgress = true;\r\n this.moveX = this.utils.getMoveX(event);\r\n this.move();\r\n }\r\n handleTouchend(simpleProcessing = false) {\r\n if (this.disabled) {\r\n return;\r\n }\r\n /* If touchend was passed to the Slide class */\r\n if (simpleProcessing) {\r\n this.isSwipeInProgress = false;\r\n return;\r\n }\r\n this.isSwipeInProgress = false;\r\n this.finishMoving();\r\n this.clearInitialValues();\r\n }\r\n move() {\r\n let positionX = this.getMovePositionX();\r\n const isPulled = this.detectPulled();\r\n const direction = this.getDirection();\r\n if (isPulled) {\r\n if (isPulled.edge === \"left\" && direction === \"right\" ||\r\n isPulled.edge === \"right\" && direction === \"left\") {\r\n positionX = this.slowdownOnPull(positionX);\r\n }\r\n }\r\n this.transformPositionX(positionX, 0);\r\n if (this.freeScroll) {\r\n this.initialPositionX = positionX;\r\n }\r\n if (isPulled) {\r\n if (isPulled.edge === 'left' && isPulled.overflowX > this.pullLimit) {\r\n this.initialPositionX = 0;\r\n }\r\n if (isPulled.edge === 'right' && isPulled.overflowX > this.pullLimit) {\r\n this.initialPositionX = positionX;\r\n }\r\n }\r\n }\r\n getMovePositionX() {\r\n const distance = this.getDistance();\r\n return this.initialElementPositionX - distance;\r\n }\r\n getDistance() {\r\n return this.startX - this.moveX;\r\n }\r\n /* If the container is pulled out of the left or right border */\r\n detectPulled() {\r\n const currentPositionX = this.getCurrentPositionX();\r\n if (currentPositionX > 0) {\r\n return {\r\n edge: 'left',\r\n positionX: currentPositionX,\r\n overflowX: Math.abs(currentPositionX)\r\n };\r\n }\r\n if (currentPositionX < this.getEndPosition()) {\r\n return {\r\n edge: 'right',\r\n positionX: currentPositionX,\r\n overflowX: Math.abs(currentPositionX - this.getEndPosition())\r\n };\r\n }\r\n return undefined;\r\n }\r\n slowdownOnPull(_positionX) {\r\n let distance = Math.abs(this.getDistance());\r\n const endPosition = this.getEndPosition();\r\n const isPulled = this.detectPulled();\r\n if (!isPulled) {\r\n return 0;\r\n }\r\n const decelerationRatio = 3 + isPulled.overflowX / 50;\r\n let positionX = 0;\r\n if (isPulled.edge === 'left') {\r\n if (this.initialElementPositionX < 0) {\r\n distance = distance - Math.abs(this.initialElementPositionX);\r\n }\r\n const rubberPositionX = distance / decelerationRatio;\r\n positionX = rubberPositionX;\r\n if (this.initialElementPositionX > 0) {\r\n positionX = this.initialElementPositionX + rubberPositionX;\r\n }\r\n if (positionX > this.pullLimit) {\r\n positionX = this.pullLimit;\r\n }\r\n }\r\n if (isPulled.edge === 'right') {\r\n const rubberPositionX = endPosition + (((this.initialElementPositionX - distance) - endPosition) / decelerationRatio);\r\n const containerWidth = this.getWidth();\r\n positionX = rubberPositionX;\r\n if (this.initialElementPositionX < -(containerWidth - this.visibleWidth)) {\r\n positionX = ((containerWidth - this.visibleWidth) + this.initialElementPositionX) + rubberPositionX;\r\n }\r\n if (positionX < endPosition - this.pullLimit) {\r\n positionX = endPosition - this.pullLimit;\r\n }\r\n }\r\n return positionX;\r\n }\r\n finishMoving() {\r\n const positionX = this.getMovePositionX();\r\n let newPositionX = 0;\r\n if (this.freeScroll) {\r\n newPositionX = this.getInertia();\r\n }\r\n /* Align container while pulling */\r\n newPositionX = this.getAlignedPositionOnPull(newPositionX);\r\n this.transformPositionX(newPositionX);\r\n this.setInitialPosition(positionX);\r\n }\r\n /* Returns the new position of the container with inertia */\r\n getInertia() {\r\n const distance = this.getDistance();\r\n const currentTime = new Date().getTime();\r\n const tapLength = currentTime - this.startTime;\r\n let inertia = (distance / tapLength) * 100;\r\n return this.initialPositionX - inertia;\r\n }\r\n getAlignedPositionOnPull(newPositionX) {\r\n const direction = this.getDirection();\r\n if (direction === 'left') {\r\n let endPosition = this.getEndPosition();\r\n if (newPositionX < endPosition) {\r\n return endPosition;\r\n }\r\n }\r\n if (direction === 'right') {\r\n if (newPositionX > 0) {\r\n return 0;\r\n }\r\n }\r\n return newPositionX;\r\n }\r\n getCurrentPositionX() {\r\n const parentPosition = this.element.parentElement.getBoundingClientRect();\r\n const position = this.element.getBoundingClientRect();\r\n return position.left - parentPosition.left;\r\n }\r\n getEndPosition() {\r\n if (this.isLightDOM) {\r\n let imagesInContainer = this.cells.imageUtils.getImages();\r\n return -(imagesInContainer.length * this.fullCellWidth - this.visibleWidth - this.margin);\r\n }\r\n else {\r\n const width = this.getWidth();\r\n const visibleWidth = this.element.parentElement.clientWidth;\r\n return visibleWidth - width;\r\n }\r\n }\r\n transformPositionX(value, duration = this.transitionDuration) {\r\n if (value === undefined) {\r\n return;\r\n }\r\n this.element.style.transition = 'transform ' + duration + 'ms ' + this.transitionTimingFunction;\r\n this.element.style.transform = 'translateX(' + value + 'px)';\r\n }\r\n getWidth() {\r\n let width = this.cellLengthInLightDOMMode * this.fullCellWidth;\r\n let totalImageWidth = this.cellLength * this.fullCellWidth;\r\n if (totalImageWidth < width) {\r\n width = totalImageWidth;\r\n }\r\n return this.isLightDOM ? width : totalImageWidth;\r\n }\r\n setWidth() {\r\n const width = this.getWidth();\r\n this.element.style.width = width + \"px\";\r\n }\r\n setInitialPosition(position) {\r\n this.initialPositionX = position;\r\n }\r\n getElementPosition() {\r\n return this.element.getBoundingClientRect();\r\n }\r\n getInitialElementPositionX() {\r\n const carouselElementPosition = this.utils.getCarouselElementPosition()['left'];\r\n return this.getElementPosition()['left'] - carouselElementPosition;\r\n }\r\n clearInitialValues() {\r\n this.startX = this.moveX = 0;\r\n }\r\n getDirection() {\r\n const direction = Math.sign(this.startX - this.moveX);\r\n if (direction === -1) {\r\n return 'right';\r\n }\r\n if (direction === 1) {\r\n return 'left';\r\n }\r\n return undefined;\r\n }\r\n}\n\nclass ImageUtils {\r\n constructor(element) {\r\n this.cellStack = [];\r\n this.element = element;\r\n }\r\n getImages() {\r\n return this.cellStack.filter(this.filter);\r\n }\r\n filter(cell) {\r\n return cell.img !== undefined;\r\n }\r\n}\r\nclass Cells {\r\n constructor(carouselProperties, utils) {\r\n this.carouselProperties = carouselProperties;\r\n this.utils = utils;\r\n this.counter = 0;\r\n this.imageUtils = new ImageUtils(this.element);\r\n this.init(carouselProperties);\r\n }\r\n get images() {\r\n return this.carouselProperties.images;\r\n }\r\n get cellLength() {\r\n return this.cells ? this.cells.length : 0;\r\n }\r\n get fullCellWidth() {\r\n return this.carouselProperties.cellWidth + this.carouselProperties.margin;\r\n }\r\n get cellLengthInLightDOMMode() {\r\n if (this.images) {\r\n let cellLength = this.numberOfVisibleCells + this.overflowCellsLimit * 2;\r\n if (cellLength > this.images.length) {\r\n cellLength = this.images.length;\r\n }\r\n return cellLength;\r\n }\r\n else {\r\n return this.cellLength;\r\n }\r\n }\r\n get numberOfVisibleCells() {\r\n return this.utils.numberOfVisibleCells;\r\n }\r\n get overflowCellsLimit() {\r\n return this.utils.overflowCellsLimit;\r\n }\r\n get isLightDOM() {\r\n return this.carouselProperties.lightDOM || this.carouselProperties.loop;\r\n }\r\n updateProperties(carouselProperties) {\r\n this.carouselProperties = carouselProperties;\r\n }\r\n lineUp() {\r\n const cells = this.element ? this.element.children : [];\r\n this.imageUtils.cellStack = [];\r\n for (var i = 0; i < cells.length; i++) {\r\n let cell = cells[i];\r\n let positionX = this.getCellPositionInContainer(i);\r\n cell.style.transform = 'translateX(' + positionX + 'px)';\r\n cell.style.width = this.carouselProperties.cellWidth + 'px';\r\n if (this.getImage(i)) {\r\n this.imageUtils.cellStack.push({\r\n index: i,\r\n positionX,\r\n img: this.getImage(i)['image']\r\n });\r\n }\r\n }\r\n ;\r\n }\r\n ifSequenceOfCellsIsChanged() {\r\n const cells = this.element.children;\r\n return cells[0]['style'].transform !== 'translateX(0px)';\r\n }\r\n getCellPositionInContainer(cellIndexInDOMTree) {\r\n let positionIndex = this.getCellIndexInContainer(cellIndexInDOMTree);\r\n return positionIndex * this.fullCellWidth;\r\n }\r\n getCellIndexInContainer(cellIndexInDOMTree) {\r\n let positionIndex;\r\n if (!this.isLightDOM) {\r\n return cellIndexInDOMTree;\r\n }\r\n let cellLength = this.cellLengthInLightDOMMode;\r\n let counter = this.counter - this.overflowCellsLimit;\r\n if (counter > cellLength) {\r\n counter = counter % cellLength;\r\n }\r\n if (counter < 0) {\r\n return cellIndexInDOMTree;\r\n }\r\n else {\r\n positionIndex = cellIndexInDOMTree - counter;\r\n if (positionIndex < 0) {\r\n positionIndex = cellLength + positionIndex;\r\n }\r\n }\r\n return positionIndex;\r\n }\r\n getImage(cellIndex) {\r\n if (!this.images) {\r\n return;\r\n }\r\n let imageIndex = this.getImageIndex(cellIndex);\r\n let file = this.images[imageIndex];\r\n if (file && !file.type) {\r\n file.type = 'image';\r\n }\r\n return {\r\n image: this.images[imageIndex],\r\n imageIndex\r\n };\r\n }\r\n getImageIndex(cellIndexInDOMTree) {\r\n const positionIndex = this.getCellIndexInContainer(cellIndexInDOMTree);\r\n let imageIndex;\r\n if (this.counter > this.overflowCellsLimit) {\r\n let cellLimitOverflow = this.counter - this.overflowCellsLimit;\r\n imageIndex = positionIndex + cellLimitOverflow;\r\n if (this.images && this.carouselProperties.loop) {\r\n imageIndex = imageIndex % this.images.length;\r\n }\r\n }\r\n else {\r\n imageIndex = cellIndexInDOMTree;\r\n }\r\n return imageIndex;\r\n }\r\n setCounter(value) {\r\n this.counter = value;\r\n }\r\n init(carouselProperties) {\r\n this.element = this.carouselProperties.cellsElement;\r\n this.cells = this.element.children;\r\n this.visibleWidth = this.carouselProperties.visibleWidth || this.element.parentElement.clientWidth;\r\n }\r\n}\n\nclass Slide {\r\n constructor(carouselProperties, utils, cells, container) {\r\n this.carouselProperties = carouselProperties;\r\n this.utils = utils;\r\n this.cells = cells;\r\n this.container = container;\r\n this.slideLength = 0;\r\n this.isSlideInProgress = false;\r\n this.counter = 0;\r\n this._counter = 0;\r\n this.distance = 0;\r\n this.distanceAbs = 0;\r\n this.isNotClickOnArrow = false;\r\n this.initialPositionX = 0;\r\n this.currentPositionX = 0;\r\n /* The slide length has been limited by the limitSlideLength() method */\r\n this.isSlideLengthLimited = false;\r\n this.init();\r\n }\r\n get fullCellWidth() {\r\n return this.carouselProperties.cellWidth + this.carouselProperties.margin;\r\n }\r\n get margin() {\r\n return this.carouselProperties.margin;\r\n }\r\n get minSwipeDistance() {\r\n return this.carouselProperties.minSwipeDistance;\r\n }\r\n get numberOfVisibleCells() {\r\n return this.utils.numberOfVisibleCells;\r\n }\r\n get visibleCellsOverflowContainer() {\r\n return this.utils.visibleCellsOverflowContainer;\r\n }\r\n /* The position to which the container returns after each slide\r\n * in the light DUM tree mode.\r\n */\r\n get fixedContainerPosition() {\r\n return -(this.overflowCellsLimit * this.fullCellWidth);\r\n }\r\n get overflowCellsLimit() {\r\n return this.utils.overflowCellsLimit;\r\n }\r\n get images() {\r\n return this.carouselProperties.images;\r\n }\r\n /* Number of cell elements in the DUM tree */\r\n get cellLength() {\r\n if (this.isLightDOM) {\r\n return this.cells.cellLengthInLightDOMMode;\r\n }\r\n else {\r\n if (this.images) {\r\n return this.images.length;\r\n }\r\n else {\r\n return this.cells.cellLength;\r\n }\r\n }\r\n }\r\n get isLightDOM() {\r\n return this.carouselProperties.lightDOM || this.carouselProperties.loop;\r\n }\r\n updateProperties(carouselProperties) {\r\n this.carouselProperties = carouselProperties;\r\n this.setVisibleWidth();\r\n }\r\n init() {\r\n this.visibleWidth = this.carouselProperties.visibleWidth || this.carouselProperties.hostElement.clientWidth;\r\n }\r\n handleTouchstart() {\r\n /* Touchstart event is not called for arrow */\r\n this.isNotClickOnArrow = true;\r\n this.isSlideLengthLimited = false;\r\n if (!this.isSlideInProgress) {\r\n this.initialPositionX = this.container.getCurrentPositionX();\r\n }\r\n }\r\n handleTouchend() {\r\n if (!this.isNotClickOnArrow) {\r\n return;\r\n }\r\n this.currentPositionX = this.container.getCurrentPositionX();\r\n this.distanceAbs = Math.abs(this.initialPositionX - this.currentPositionX);\r\n this.distance = this.initialPositionX - this.currentPositionX;\r\n this.direction = this.getDirection();\r\n this.isNotClickOnArrow = false;\r\n this.handleSlide();\r\n }\r\n handleTransitionend() {\r\n this.setCounter();\r\n this.isSlideInProgress = false;\r\n if (this.isLightDOM) {\r\n this.alignContainerFast();\r\n }\r\n }\r\n handleSlide(customSlideLength = undefined) {\r\n let isUsingButton = customSlideLength;\r\n let newPositionX;\r\n if (isUsingButton && this.isSlideInProgress || !this.direction) {\r\n return;\r\n }\r\n /* Custom slide length is used in arrows */\r\n if (customSlideLength) {\r\n this.slideLength = this.limitSlideLength(customSlideLength);\r\n if (!this.isSlideInProgress) {\r\n this.initialPositionX = this.container.getCurrentPositionX();\r\n }\r\n }\r\n else {\r\n this.slideLength = this.getSlideLength(this.distanceAbs);\r\n }\r\n /* Store intermediate counter value */\r\n this._counter = this.getPreliminaryCounter();\r\n if (this.direction === 'left') {\r\n if (!customSlideLength) {\r\n this.slideLength = this.limitSlideLength(this.getSlideLength(this.distanceAbs));\r\n }\r\n this._counter = this.getPreliminaryCounter();\r\n let isSlidesEnd = this.isSlidesEnd(this._counter);\r\n newPositionX = this.getPositionByIndex(this._counter);\r\n if (isSlidesEnd) {\r\n this._counter = this.counter;\r\n newPositionX = this.getPositionByIndex(this.counter);\r\n this.slideLength = 0;\r\n }\r\n }\r\n if (this.direction === 'right') {\r\n if (!customSlideLength) {\r\n this.slideLength = this.getSlideLength(this.distanceAbs);\r\n }\r\n if (this._counter < 0) {\r\n this._counter = this.counter;\r\n this.slideLength = this.counter;\r\n }\r\n newPositionX = this.getPositionByIndex(this.counter - this.slideLength);\r\n }\r\n if (this.container.getCurrentPositionX() !== newPositionX) {\r\n this.isSlideInProgress = true;\r\n this.container.transformPositionX(newPositionX);\r\n }\r\n }\r\n next(length = 1) {\r\n this.direction = 'left';\r\n this.handleSlide(length);\r\n }\r\n prev(length = 1) {\r\n this.direction = 'right';\r\n this.handleSlide(length);\r\n }\r\n select(index) {\r\n if (index > this.cellLength - 1) {\r\n return;\r\n }\r\n if (index > this.counter) {\r\n let length = index - this.counter;\r\n this.next(length);\r\n }\r\n if (index < this.counter) {\r\n let length = this.counter - index;\r\n this.prev(length);\r\n }\r\n }\r\n getPreliminaryCounter() {\r\n if (this.direction === 'left') {\r\n return this.counter + this.slideLength;\r\n }\r\n if (this.direction === 'right') {\r\n return this.counter - this.slideLength;\r\n }\r\n return 0;\r\n }\r\n /*\r\n * Limits the length of the slide during calls to the next() and prev()\r\n * methods if the specified position is outside the cell length\r\n */\r\n limitSlideLength(slideLength) {\r\n if (slideLength > 1) {\r\n for (var i = 0; i < slideLength; i++) {\r\n let newCounter = this.counter + (slideLength - i);\r\n if (!this.isSlidesEnd(newCounter)) {\r\n slideLength = slideLength - i;\r\n this.isSlideLengthLimited = i > 0;\r\n break;\r\n }\r\n }\r\n }\r\n return slideLength;\r\n }\r\n /* Offset the container to show the last cell completely */\r\n getPositionCorrection(counter) {\r\n let correction = 0;\r\n let isLastSlide = this.isLastSlide(counter);\r\n if (this.carouselProperties.loop || this.direction === \"right\") {\r\n return 0;\r\n }\r\n if (this.isSlideLengthLimited || isLastSlide) {\r\n let cellsWidth = this.cells.cellLengthInLightDOMMode * this.fullCellWidth;\r\n if (this.visibleWidth < cellsWidth) {\r\n correction = -(this.numberOfVisibleCells * this.fullCellWidth - this.visibleWidth - this.margin);\r\n }\r\n if (correction >= -this.margin) {\r\n correction = 0;\r\n }\r\n }\r\n return correction;\r\n }\r\n getSlideLength(distanceAbs) {\r\n let isLastSlide = this.isLastSlide(this.counter);\r\n /* If the last cell does not fit entirely, then the\r\n * length of the swipe to the left, from the extreme\r\n * right position, may be shorter than usual.\r\n */\r\n if (isLastSlide && this.direction === \"right\") {\r\n distanceAbs = distanceAbs + this.visibleWidth % this.fullCellWidth;\r\n }\r\n let length = Math.floor(distanceAbs / this.fullCellWidth);\r\n if (distanceAbs % this.fullCellWidth >= this.minSwipeDistance) {\r\n length++;\r\n }\r\n return length;\r\n }\r\n getDistanceAbs() {\r\n return Math.abs(this.initialPositionX - this.currentPositionX);\r\n }\r\n getDirection() {\r\n const direction = Math.sign(this.initialPositionX - this.currentPositionX);\r\n if (direction === -1) {\r\n return 'right';\r\n }\r\n if (direction === 1) {\r\n return 'left';\r\n }\r\n return undefined;\r\n }\r\n isSlidesEnd(counter) {\r\n let margin = this.visibleCellsOverflowContainer ? 1 : 0;\r\n let imageLength = this.images ? this.images.length : this.cells.cellLength;\r\n if (this.carouselProperties.loop) {\r\n return false;\r\n }\r\n else {\r\n return (imageLength - counter + margin) < this.numberOfVisibleCells;\r\n }\r\n }\r\n isLastSlide(counter) {\r\n return this.isSlidesEnd(counter + 1);\r\n }\r\n setCounter() {\r\n if (this.direction === 'left') {\r\n this.counter = this.counter + this.slideLength;\r\n }\r\n if (this.direction === 'right') {\r\n this.counter = this.counter - this.slideLength;\r\n }\r\n }\r\n getPositionByIndex(_counter) {\r\n let correction = this.getPositionCorrection(this.counter + this.slideLength);\r\n let position;\r\n if (correction !== 0) {\r\n correction = correction + this.fullCellWidth;\r\n }\r\n if (this.direction === 'right') {\r\n correction = 0;\r\n }\r\n if (this.isLightDOM && this.isLightDOMMode(_counter) ||\r\n this.isLightDOM && this.ifLeftDOMModeAtEnd(_counter)) {\r\n let initialPosition = this.getPositionWithoutCorrection(this.initialPositionX);\r\n let counterDifference = _counter - this.counter;\r\n position = initialPosition - ((counterDifference * this.fullCellWidth) - correction);\r\n }\r\n else {\r\n position = -((_counter * this.fullCellWidth) - correction);\r\n }\r\n position = this.provideSafePosition(position);\r\n return position;\r\n }\r\n provideSafePosition(position) {\r\n const endPosition = this.container.getEndPosition();\r\n if (this.direction === 'left') {\r\n if (position > 0) {\r\n position = 0;\r\n }\r\n }\r\n if (this.direction === 'right') {\r\n if (position < endPosition) {\r\n position = endPosition;\r\n }\r\n }\r\n return position;\r\n }\r\n getPositionWithoutCorrection(value) {\r\n let remainder = Math.round(value) % this.fullCellWidth;\r\n if (remainder !== 0) {\r\n return value - (this.fullCellWidth + remainder);\r\n }\r\n else {\r\n return value;\r\n }\r\n }\r\n isNextArrowDisabled() {\r\n return this.isLastSlide(this.counter) ||\r\n (!this.visibleCellsOverflowContainer && this.cellLength <= this.numberOfVisibleCells) ||\r\n (this.visibleCellsOverflowContainer && this.cellLength < this.numberOfVisibleCells);\r\n }\r\n isPrevArrowDisabled() {\r\n return this.counter === 0;\r\n }\r\n alignContainerFast() {\r\n if (this.isLightDOMMode(this.counter)) {\r\n let positionX = this.fixedContainerPosition;\r\n this.container.transformPositionX(positionX, 0);\r\n this.cells.setCounter(this.counter);\r\n this.cells.lineUp();\r\n }\r\n else if (this.ifLeftDOMModeToBeginning(this.counter)) {\r\n /* If we have already exited the light DOM mode but\r\n * the cells are still out of place\r\n */\r\n if (this.cells.ifSequenceOfCellsIsChanged()) {\r\n let positionX = -(this.counter * this.fullCellWidth);\r\n this.container.transformPositionX(positionX, 0);\r\n this.cells.setCounter(this.counter);\r\n this.cells.lineUp();\r\n }\r\n }\r\n else if (this.ifLeftDOMModeAtEnd(this.counter)) {\r\n let containerPositionX = this.container.getCurrentPositionX();\r\n let containerWidth = this.container.getWidth();\r\n this.visibleWidth;\r\n if (this.isLastSlide(this.counter) &&\r\n containerWidth + containerPositionX >= this.visibleWidth) {\r\n return;\r\n }\r\n let correction = this.getPositionCorrection(this.counter);\r\n if (correction !== 0) {\r\n correction = correction + this.fullCellWidth;\r\n }\r\n if (this.direction === 'right') {\r\n correction = 0;\r\n }\r\n let positionX = this.fixedContainerPosition + correction;\r\n this.container.transformPositionX(positionX, 0);\r\n this.cells.setCounter(this.counter);\r\n this.cells.lineUp();\r\n }\r\n }\r\n isLightDOMMode(counter) {\r\n let flag;\r\n let remainderOfCells = this.images.length - this.overflowCellsLimit - this.numberOfVisibleCells;\r\n if (!this.isLightDOM) {\r\n return false;\r\n }\r\n if (counter > this.overflowCellsLimit && this.direction === \"left\" &&\r\n counter <= remainderOfCells) {\r\n flag = true;\r\n }\r\n if (counter >= this.overflowCellsLimit && this.direction === \"right\" &&\r\n counter < remainderOfCells) {\r\n flag = true;\r\n }\r\n if (this.counter > this.overflowCellsLimit && this.direction === \"left\" &&\r\n this.counter <= remainderOfCells) {\r\n flag = true;\r\n }\r\n if (this.counter >= this.overflowCellsLimit && this.direction === \"right\" &&\r\n this.counter < remainderOfCells) {\r\n flag = true;\r\n }\r\n return flag;\r\n }\r\n ifLeftDOMModeAtEnd(counter) {\r\n let flag;\r\n let remainderOfCells = this.images.length - this.overflowCellsLimit - this.numberOfVisibleCells;\r\n if (counter >= remainderOfCells) {\r\n flag = true;\r\n }\r\n if (this.counter >= remainderOfCells) {\r\n flag = true;\r\n }\r\n return flag;\r\n }\r\n ifLeftDOMModeToBeginning(counter) {\r\n let flag;\r\n if (counter <= this.overflowCellsLimit) {\r\n flag = true;\r\n }\r\n if (this.counter <= this.overflowCellsLimit) {\r\n flag = true;\r\n }\r\n return flag;\r\n }\r\n setVisibleWidth() {\r\n this.visibleWidth = this.carouselProperties.visibleWidth || this.carouselProperties.hostElement.clientWidth;\r\n }\r\n}\n\nclass Utils {\r\n constructor(carouselProperties) {\r\n this.carouselProperties = carouselProperties;\r\n }\r\n get images() {\r\n return this.carouselProperties.images;\r\n }\r\n get margin() {\r\n return this.carouselProperties.margin;\r\n }\r\n get overflowCellsLimit() {\r\n if (this.images && this.isImagesLessCellLimit) {\r\n let overflowCellsLimit = Math.floor((this.images.length - this.numberOfVisibleCells) / 2);\r\n if (overflowCellsLimit < 0) {\r\n overflowCellsLimit = 0;\r\n }\r\n return overflowCellsLimit;\r\n }\r\n else {\r\n return this.carouselProperties.overflowCellsLimit;\r\n }\r\n }\r\n get isImagesLessCellLimit() {\r\n return this.carouselProperties.overflowCellsLimit * 2 + this.numberOfVisibleCells > this.images.length;\r\n }\r\n get numberOfVisibleCells() {\r\n return Math.ceil(this.visibleWidth / this.fullCellWidth);\r\n }\r\n get visibleCellsOverflowContainer() {\r\n return (this.numberOfVisibleCells * this.fullCellWidth - this.margin) > this.visibleWidth;\r\n }\r\n get fullCellWidth() {\r\n return this.carouselProperties.cellWidth + this.carouselProperties.margin;\r\n }\r\n get visibleWidth() {\r\n return this.carouselProperties.visibleWidth || this.carouselProperties.cellsElement.parentElement.clientWidth;\r\n }\r\n updateProperties(carouselProperties) {\r\n this.carouselProperties = carouselProperties;\r\n }\r\n getStartX(event) {\r\n const touches = event.touches;\r\n const carouselElementPosition = this.getCarouselElementPosition()['left'];\r\n let startX;\r\n if (touches) {\r\n startX = touches[0].clientX - carouselElementPosition;\r\n }\r\n else {\r\n startX = event.clientX - carouselElementPosition;\r\n }\r\n return startX;\r\n }\r\n getMoveX(event) {\r\n const touches = event.touches;\r\n const carouselElementPositionX = this.getCarouselElementPosition()['left'];\r\n if (touches) {\r\n return touches[0].clientX - carouselElementPositionX;\r\n }\r\n else {\r\n return event.clientX - carouselElementPositionX;\r\n }\r\n }\r\n getCarouselElementPosition() {\r\n return this.carouselProperties.hostElement.getBoundingClientRect();\r\n }\r\n}\n\nclass CarouselComponent {\r\n constructor(elementRef, ref) {\r\n this.elementRef = elementRef;\r\n this.ref = ref;\r\n this.minTimeout = 30;\r\n this.isVideoPlaying = false;\r\n this._isCounter = false;\r\n this._cellWidth = 200;\r\n this._loop = false;\r\n this._lightDOM = false;\r\n this.isMoving = false;\r\n this.isNgContent = false;\r\n this.events = new EventEmitter();\r\n this.height = 200;\r\n this.autoplay = false;\r\n this.autoplayInterval = 5000;\r\n this.pauseOnHover = true;\r\n this.dots = false;\r\n this.margin = 10;\r\n this.objectFit = 'cover';\r\n this.minSwipeDistance = 10;\r\n this.transitionDuration = 200;\r\n this.transitionTimingFunction = 'ease-out';\r\n this.counterSeparator = \" / \";\r\n this.overflowCellsLimit = 3;\r\n this.listeners = 'mouse and touch';\r\n this.cellsToScroll = 1;\r\n this.freeScroll = false;\r\n this.arrows = true;\r\n this.arrowsOutside = false;\r\n this.arrowsTheme = 'light';\r\n this.hostClassCarousel = true;\r\n this.handleTouchstart = (event) => {\r\n this.touches.addEventListeners(\"mousemove\", \"handleMousemove\");\r\n this.carousel.handleTouchstart(event);\r\n this.isMoving = true;\r\n };\r\n this.handleHorizontalSwipe = (event) => {\r\n event.preventDefault();\r\n this.carousel.handleHorizontalSwipe(event);\r\n };\r\n this.handleTouchend = (event) => {\r\n const touches = event.touches;\r\n this.carousel.handleTouchend(event);\r\n this.touches.removeEventListeners(\"mousemove\", \"handleMousemove\");\r\n this.isMoving = false;\r\n };\r\n this.handleTap = (event) => {\r\n let outboundEvent = {\r\n name: 'click'\r\n };\r\n let nodes = Array.prototype.slice.call(this.cellsElement.children);\r\n let cellElement = event.srcElement.closest(\".carousel-cell\");\r\n const i = nodes.indexOf(cellElement);\r\n const cellIndex = nodes.indexOf(cellElement);\r\n if (this.images) {\r\n //outboundEvent.fileIndex = this.carousel.getFileIndex(i);\r\n //outboundEvent.file = this.carousel.getFile(cellIndex);\r\n }\r\n else {\r\n outboundEvent.cellIndex = cellIndex;\r\n }\r\n };\r\n }\r\n get isContainerLocked() {\r\n if (this.carousel) {\r\n return this.carousel.isContainerLocked;\r\n }\r\n }\r\n get slideCounter() {\r\n if (this.carousel) {\r\n return this.carousel.slideCounter;\r\n }\r\n }\r\n get lapCounter() {\r\n if (this.carousel) {\r\n return this.carousel.lapCounter;\r\n }\r\n }\r\n get isLandscape() {\r\n return window.innerWidth > window.innerHeight;\r\n }\r\n get isSafari() {\r\n const ua = navigator.userAgent.toLowerCase();\r\n if (ua.indexOf('safari') !== -1) {\r\n return !(ua.indexOf('chrome') > -1);\r\n }\r\n }\r\n get counter() {\r\n let counter;\r\n if (this.loop) {\r\n counter = this.slideCounter % this.cellLength;\r\n }\r\n else {\r\n counter = this.slideCounter;\r\n }\r\n return counter + 1 + this.counterSeparator + this.cellLength;\r\n }\r\n get cellsElement() {\r\n return this.elementRef.nativeElement.querySelector('.carousel-cells');\r\n }\r\n get isArrows() {\r\n return this.arrows && !this.freeScroll;\r\n }\r\n get isCounter() {\r\n return this._isCounter && this.cellLength > 1;\r\n }\r\n get activeDotIndex() {\r\n return this.slideCounter % this.cellLength;\r\n }\r\n get cellLimit() {\r\n if (this.carousel) {\r\n return this.carousel.cellLimit;\r\n }\r\n }\r\n get carouselWidth() {\r\n return this.elementRef.nativeElement.clientWidth;\r\n }\r\n set images(images) {\r\n this._images = images;\r\n }\r\n get images() {\r\n return this._images;\r\n }\r\n set cellWidth(value) {\r\n if (value) {\r\n this._cellWidth = value;\r\n }\r\n }\r\n set isCounter(value) {\r\n if (value) {\r\n this._isCounter = value;\r\n }\r\n }\r\n set loop(value) {\r\n if (value) {\r\n this._loop = value;\r\n }\r\n }\r\n get loop() {\r\n if (this.images) {\r\n return this._loop;\r\n }\r\n else {\r\n return false;\r\n }\r\n }\r\n set lightDOM(value) {\r\n if (value) {\r\n this._lightDOM = value;\r\n }\r\n }\r\n get lightDOM() {\r\n if (this.images) {\r\n return this._lightDOM;\r\n }\r\n else {\r\n return false;\r\n }\r\n }\r\n onWindowResize(event) {\r\n if (this.utils.visibleWidth !== this.savedCarouselWidth) {\r\n this.resize();\r\n }\r\n }\r\n onMousemove(event) {\r\n if (this.autoplay && this.pauseOnHover) {\r\n this.carousel.stopAutoplay();\r\n }\r\n }\r\n onMouseleave(event) {\r\n if (this.autoplay && this.pauseOnHover) {\r\n this.carousel.autoplay();\r\n }\r\n }\r\n ngOnInit() {\r\n this.isNgContent = this.cellsElement.children.length > 0;\r\n this.touches = new Touches({\r\n element: this.cellsElement,\r\n listeners: this.listeners,\r\n mouseListeners: {\r\n \"mousedown\": \"handleMousedown\",\r\n \"mouseup\": \"handleMouseup\"\r\n }\r\n });\r\n this.touches.on('touchstart', this.handleTouchstart);\r\n this.touches.on('horizontal-swipe', this.handleHorizontalSwipe);\r\n this.touches.on('touchend', this.handleTouchend);\r\n this.touches.on('mousedown', this.handleTouchstart);\r\n this.touches.on('mouseup', this.handleTouchend);\r\n this.touches.on('tap', this.handleTap);\r\n this.setDimensions();\r\n }\r\n ngAfterViewInit() {\r\n this.initCarousel();\r\n this.cellLength = this.getCellLength();\r\n this.dotsArr = Array(this.cellLength).fill(1);\r\n this.ref.detectChanges();\r\n this.carousel.lineUpCells();\r\n this.savedCarouselWidth = this.carouselWidth;\r\n /* Start detecting changes in the DOM tree */\r\n this.detectDomChanges();\r\n }\r\n ngOnChanges(changes) {\r\n if (changes.width || changes.height || changes.images) {\r\n this.setDimensions();\r\n this.initCarousel();\r\n this.carousel.lineUpCells();\r\n this.ref.detectChanges();\r\n }\r\n }\r\n ngOnDestroy() {\r\n this.touches.destroy();\r\n //this.carousel.destroy();\r\n }\r\n initCarousel() {\r\n this.carouselProperties = {\r\n id: this.id,\r\n cellsElement: this.elementRef.nativeElement.querySelector('.carousel-cells'),\r\n hostElement: this.elementRef.nativeElement,\r\n images: this.images,\r\n cellWidth: this.getCellWidth(),\r\n loop: this.loop,\r\n autoplayInterval: this.autoplayInterval,\r\n overflowCellsLimit: this.overflowCellsLimit,\r\n visibleWidth: this.width,\r\n margin: this.margin,\r\n minSwipeDistance: this.minSwipeDistance,\r\n transitionDuration: this.transitionDuration,\r\n transitionTimingFunction: this.transitionTimingFunction,\r\n videoProperties: this.videoProperties,\r\n eventHandler: this.events,\r\n freeScroll: this.freeScroll,\r\n lightDOM: this.lightDOM\r\n };\r\n this.utils = new Utils(this.carouselProperties);\r\n this.cells = new Cells(this.carouselProperties, this.utils);\r\n this.container = new Container(this.carouselProperties, this.utils, this.cells);\r\n this.slide = new Slide(this.carouselProperties, this.utils, this.cells, this.container);\r\n this.carousel = new Carousel(this.carouselProperties, this.utils, this.cells, this.container, this.slide);\r\n if (this.autoplay) {\r\n this.carousel.autoplay();\r\n }\r\n }\r\n resize() {\r\n this.landscapeMode = this.isLandscape;\r\n this.savedCarouselWidth = this.carouselWidth;\r\n this.carouselProperties.cellWidth = this.getCellWidth();\r\n this.cells.updateProperties(this.carouselProperties);\r\n this.carousel.updateProperties(this.carouselProperties);\r\n this.container.updateProperties(this.carouselProperties);\r\n this.slide.updateProperties(this.carouselProperties);\r\n this.utils.updateProperties(this.carouselProperties);\r\n this.carousel.lineUpCells();\r\n this.slide.select(0);\r\n this.ref.detectChanges();\r\n }\r\n detectDomChanges() {\r\n const observer = new MutationObserver((mutations) => {\r\n this.onDomChanges();\r\n });\r\n var config = {\r\n attributes: true,\r\n childList: true,\r\n characterData: true\r\n };\r\n observer.observe(this.cellsElement, config);\r\n }\r\n onDomChanges() {\r\n this.cellLength = this.getCellLength();\r\n this.carousel.lineUpCells();\r\n this.ref.detectChanges();\r\n }\r\n setDimensions() {\r\n this.hostStyleHeight = this.height + 'px';\r\n this.hostStyleWidth = this.width + 'px';\r\n }\r\n getImage(index) {\r\n return this.carousel.getImage(index);\r\n }\r\n handleTransitionendCellContainer(event) {\r\n if (event.target['className'] === 'carousel-cells') {\r\n this.carousel.handleTransitionend();\r\n }\r\n }\r\n getCellWidth() {\r\n let elementWidth = this.carouselWidth;\r\n if (this.cellsToShow) {\r\n let margin = this.cellsToShow > 1 ? this.margin : 0;\r\n let totalMargin = margin * (this.cellsToShow - 1);\r\n return (elementWidth - totalMargin) / this.cellsToShow;\r\n }\r\n if (this._cellWidth === '100%') {\r\n return elementWidth;\r\n }\r\n else {\r\n return this._cellWidth;\r\n }\r\n }\r\n next() {\r\n this.carousel.next(this.cellsToScroll);\r\n this.carousel.stopAutoplay();\r\n }\r\n prev() {\r\n this.carousel.prev(this.cellsToScroll);\r\n this.carousel.stopAutoplay();\r\n }\r\n isNextArrowDisabled() {\r\n if (this.carousel) {\r\n return this.carousel.isNextArrowDisabled();\r\n }\r\n }\r\n isPrevArrowDisabled() {\r\n if (this.carousel) {\r\n return this.carousel.isPrevArrowDisabled();\r\n }\r\n }\r\n getCellLength() {\r\n if (this.images) {\r\n return this.images.length;\r\n }\r\n else {\r\n return this.cellsElement.children.length;\r\n }\r\n }\r\n}\nCarouselComponent.ɵfac = function CarouselComponent_Factory(t) { return new (t || CarouselComponent)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ChangeDetectorRef)); };\nCarouselComponent.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: CarouselComponent, selectors: [[\"carousel\"], [\"\", \"carousel\", \"\"]], hostVars: 6, hostBindings: function CarouselComponent_HostBindings(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵlistener(\"resize\", function CarouselComponent_resize_HostBindingHandler($event) { return ctx.onWindowResize($event); }, false, ɵngcc0.ɵɵresolveWindow)(\"mousemove\", function CarouselComponent_mousemove_HostBindingHandler($event) { return ctx.onMousemove($event); })(\"mouseleave\", function CarouselComponent_mouseleave_HostBindingHandler($event) { return ctx.onMouseleave($event); });\n } if (rf & 2) {\n ɵngcc0.ɵɵstyleProp(\"height\", ctx.hostStyleHeight)(\"width\", ctx.hostStyleWidth);\n ɵngcc0.ɵɵclassProp(\"carousel\", ctx.hostClassCarousel);\n } }, inputs: { height: \"height\", autoplay: \"autoplay\", autoplayInterval: \"autoplayInterval\", pauseOnHover: \"pauseOnHover\", dots: \"dots\", margin: \"margin\", objectFit: \"objectFit\", minSwipeDistance: \"minSwipeDistance\", transitionDuration: \"transitionDuration\", transitionTimingFunction: \"transitionTimingFunction\", counterSeparator: \"counterSeparator\", overflowCellsLimit: \"overflowCellsLimit\", listeners: \"listeners\", cellsToScroll: \"cellsToScroll\", freeScroll: \"freeScroll\", arrows: \"arrows\", arrowsOutside: \"arrowsOutside\", arrowsTheme: \"arrowsTheme\", isCounter: [\"counter\", \"isCounter\"], images: \"images\", cellWidth: \"cellWidth\", loop: \"loop\", lightDOM: \"lightDOM\", id: \"id\", width: \"width\", borderRadius: \"borderRadius\", videoProperties: \"videoProperties\", cellsToShow: \"cellsToShow\" }, outputs: { events: \"events\" }, features: [ɵngcc0.ɵɵNgOnChangesFeature], ngContentSelectors: _c0, decls: 8, vars: 6, consts: [[\"class\", \"carousel-counter\", 4, \"ngIf\"], [1, \"carousel-container\"], [1, \"carousel-cells\", 3, \"transitionend\"], [\"cells\", \"\"], [\"ngFor\", \"\", 3, \"ngForOf\"], [\"class\", \"carousel-dots\", 4, \"ngIf\"], [\"class\", \"carousel-arrows\", 3, \"carousel-arrows-outside\", \"carousel-dark-arrows\", 4, \"ngIf\"], [1, \"carousel-counter\"], [\"class\", \"carousel-cell\", 3, \"width\", \"border-radius\", 4, \"ngIf\"], [1, \"carousel-cell\"], [\"draggable\", \"false\", 3, \"src\", \"object-fit\", 4, \"ngIf\"], [\"draggable\", \"false\", 3, \"src\"], [1, \"carousel-dots\"], [\"class\", \"carousel-dot\", 3, \"carousel-dot-active\", 4, \"ngFor\", \"ngForOf\"], [1, \"carousel-dot\"], [1, \"carousel-arrows\"], [1, \"carousel-arrow\", \"carousel-arrow-prev\", 3, \"click\"], [1, \"carousel-arrow\", \"carousel-arrow-next\", 3, \"click\"]], template: function CarouselComponent_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵprojectionDef();\n ɵngcc0.ɵɵtemplate(0, CarouselComponent_div_0_Template, 2, 1, \"div\", 0);\n ɵngcc0.ɵɵelementStart(1, \"div\", 1)(2, \"div\", 2, 3);\n ɵngcc0.ɵɵlistener(\"transitionend\", function CarouselComponent_Template_div_transitionend_2_listener($event) { return ctx.handleTransitionendCellContainer($event); });\n ɵngcc0.ɵɵprojection(4);\n ɵngcc0.ɵɵtemplate(5, CarouselComponent_ng_template_5_Template, 1, 1, \"ng-template\", 4);\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵtemplate(6, CarouselComponent_div_6_Template, 2, 1, \"div\", 5);\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵtemplate(7, CarouselComponent_div_7_Template, 3, 8, \"div\", 6);\n } if (rf & 2) {\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx.isCounter);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵclassProp(\"carousel-moving\", ctx.isMoving);\n ɵngcc0.ɵɵadvance(4);\n ɵngcc0.ɵɵproperty(\"ngForOf\", ctx.images);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx.dots);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx.isArrows);\n } }, directives: [ɵngcc1.NgIf, ɵngcc1.NgForOf], styles: [\"[_nghost-%COMP%]{position:relative;display:block;top:0;left:0;width:100%;height:100%;-webkit-user-select:none;user-select:none;z-index:10000;transform-origin:top left;box-sizing:border-box}[_nghost-%COMP%] .carousel-container[_ngcontent-%COMP%]{overflow:hidden;width:100%;height:100%;cursor:grab}[_nghost-%COMP%] .carousel-container.carousel-moving[_ngcontent-%COMP%]{cursor:grabbing}[_nghost-%COMP%] .carousel-counter[_ngcontent-%COMP%]{text-align:right;position:absolute;z-index:30;transition:opacity .2s;top:8px;right:24px;border-radius:13px;background-color:rgba(23,37,68,.3);font-size:11px;color:#fff;padding:5px 7px;line-height:normal}[_nghost-%COMP%] .carousel-cells{transition:transform .2s;width:100%;height:100%;display:block;will-change:transform}[_nghost-%COMP%] .carousel-cells .carousel-cell.swiper-prev-image{transform:translate3d(-100%,0,0)}[_nghost-%COMP%] .carousel-cells .carousel-cell.swiper-next-image{transform:translate3d(100%,0,0)}[_nghost-%COMP%] .carousel-cells .carousel-cell{width:100%;height:100%;position:absolute;overflow:hidden}[_nghost-%COMP%] .carousel-cells .carousel-cell img, [_nghost-%COMP%] .carousel-cells .carousel-cell video{width:100%;height:100%;position:relative;object-fit:contain}[_nghost-%COMP%] .carousel-cells .carousel-cell img.swiper-hide{display:none}[_nghost-%COMP%] .carousel-cells .carousel-cell .carousel-play{position:absolute;top:0;left:0;bottom:0;right:0;z-index:1}[_nghost-%COMP%] .carousel-arrow[_ngcontent-%COMP%]{width:40px;height:40px;background-color:#fff;background-repeat:no-repeat;background-size:31px;background-position:50%;border-radius:100px;position:absolute;top:50%;margin-top:-20px;z-index:10;cursor:pointer;box-shadow:0 0 5px rgba(0,0,0,.15)}[_nghost-%COMP%] .carousel-arrow-prev[_ngcontent-%COMP%]{left:10px;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjI0Ij48cGF0aCBkPSJNMTUuNDEgMTYuNTlMMTAuODMgMTJsNC41OC00LjU5TDE0IDZsLTYgNiA2IDYgMS40MS0xLjQxeiIvPjxwYXRoIGQ9Ik0wIDBoMjR2MjRIMFYweiIgZmlsbD0ibm9uZSIvPjwvc3ZnPg==)}[_nghost-%COMP%] .carousel-arrow-next[_ngcontent-%COMP%]{right:10px;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjI0Ij48cGF0aCBkPSJNOC41OSAxNi41OUwxMy4xNyAxMiA4LjU5IDcuNDEgMTAgNmw2IDYtNiA2LTEuNDEtMS40MXoiLz48cGF0aCBkPSJNMCAwaDI0djI0SDBWMHoiIGZpbGw9Im5vbmUiLz48L3N2Zz4=)}[_nghost-%COMP%] .carousel-arrows-outside[_ngcontent-%COMP%] .carousel-arrow-prev[_ngcontent-%COMP%]{left:-60px}[_nghost-%COMP%] .carousel-arrows-outside[_ngcontent-%COMP%] .carousel-arrow-next[_ngcontent-%COMP%]{right:-60px}[_nghost-%COMP%] .carousel-dark-arrows[_ngcontent-%COMP%] .carousel-arrow[_ngcontent-%COMP%]{filter:invert(1)}[_nghost-%COMP%] .carousel-arrow-disabled[_ngcontent-%COMP%]{cursor:default;opacity:.5}[_nghost-%COMP%] .carousel-dots[_ngcontent-%COMP%]{position:absolute;left:0;right:0;bottom:0;z-index:10;text-align:center}[_nghost-%COMP%] .carousel-dots[_ngcontent-%COMP%] .carousel-dot[_ngcontent-%COMP%]{display:inline-block;border:2px solid #fff;border-radius:100px;margin:4px;width:8px;height:8px}[_nghost-%COMP%] .carousel-dots[_ngcontent-%COMP%] .carousel-dot-active[_ngcontent-%COMP%]{background-color:#fff}\"] });\r\nCarouselComponent.ctorParameters = () => [\r\n { type: ElementRef },\r\n { type: ChangeDetectorRef }\r\n];\r\nCarouselComponent.propDecorators = {\r\n events: [{ type: Output }],\r\n id: [{ type: Input }],\r\n height: [{ type: Input }],\r\n width: [{ type: Input }],\r\n autoplay: [{ type: Input }],\r\n autoplayInterval: [{ type: Input }],\r\n pauseOnHover: [{ type: Input }],\r\n dots: [{ type: Input }],\r\n borderRadius: [{ type: Input }],\r\n margin: [{ type: Input }],\r\n objectFit: [{ type: Input }],\r\n minSwipeDistance: [{ type: Input }],\r\n transitionDuration: [{ type: Input }],\r\n transitionTimingFunction: [{ type: Input }],\r\n videoProperties: [{ type: Input }],\r\n counterSeparator: [{ type: Input }],\r\n overflowCellsLimit: [{ type: Input }],\r\n listeners: [{ type: Input }],\r\n cellsToShow: [{ type: Input }],\r\n cellsToScroll: [{ type: Input }],\r\n freeScroll: [{ type: Input }],\r\n arrows: [{ type: Input }],\r\n arrowsOutside: [{ type: Input }],\r\n arrowsTheme: [{ type: Input }],\r\n images: [{ type: Input }],\r\n cellWidth: [{ type: Input, args: ['cellWidth',] }],\r\n isCounter: [{ type: Input, args: ['counter',] }],\r\n loop: [{ type: Input, args: ['loop',] }],\r\n lightDOM: [{ type: Input, args: ['lightDOM',] }],\r\n hostClassCarousel: [{ type: HostBinding, args: ['class.carousel',] }],\r\n hostStyleHeight: [{ type: HostBinding, args: ['style.height',] }],\r\n hostStyleWidth: [{ type: HostBinding, args: ['style.width',] }],\r\n onWindowResize: [{ type: HostListener, args: ['window:resize', ['$event'],] }],\r\n onMousemove: [{ type: HostListener, args: ['mousemove', ['$event'],] }],\r\n onMouseleave: [{ type: HostListener, args: ['mouseleave', ['$event'],] }]\r\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CarouselComponent, [{\n type: Component,\n args: [{\n selector: 'carousel, [carousel]',\n template: \"
{{counter}}
\\r\\n\\r\\n
\\r\\n\\t
\\r\\n\\t\\t\\r\\n\\r\\n\\t\\t\\r\\n\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\r\\n\\r\\n\\t\\t\\t
\\r\\n\\t\\t
\\r\\n\\t
\\r\\n\\r\\n\\t
\\r\\n\\t\\t
\\r\\n\\t
\\r\\n
\\r\\n\\r\\n
\\r\\n\\t\\r\\n\\t
\\r\\n\\t
\\r\\n
\",\n styles: [\":host{position:relative;display:block;top:0;left:0;width:100%;height:100%;-webkit-user-select:none;user-select:none;z-index:10000;transform-origin:top left;box-sizing:border-box}:host .carousel-container{overflow:hidden;width:100%;height:100%;cursor:grab}:host .carousel-container.carousel-moving{cursor:grabbing}:host .carousel-counter{text-align:right;position:absolute;z-index:30;transition:opacity .2s;top:8px;right:24px;border-radius:13px;background-color:rgba(23,37,68,.3);font-size:11px;color:#fff;padding:5px 7px;line-height:normal}:host ::ng-deep .carousel-cells{transition:transform .2s;width:100%;height:100%;display:block;will-change:transform}:host ::ng-deep .carousel-cells .carousel-cell.swiper-prev-image{transform:translate3d(-100%,0,0)}:host ::ng-deep .carousel-cells .carousel-cell.swiper-next-image{transform:translate3d(100%,0,0)}:host ::ng-deep .carousel-cells .carousel-cell{width:100%;height:100%;position:absolute;overflow:hidden}:host ::ng-deep .carousel-cells .carousel-cell img,:host ::ng-deep .carousel-cells .carousel-cell video{width:100%;height:100%;position:relative;object-fit:contain}:host ::ng-deep .carousel-cells .carousel-cell img.swiper-hide{display:none}:host ::ng-deep .carousel-cells .carousel-cell .carousel-play{position:absolute;top:0;left:0;bottom:0;right:0;z-index:1}:host .carousel-arrow{width:40px;height:40px;background-color:#fff;background-repeat:no-repeat;background-size:31px;background-position:50%;border-radius:100px;position:absolute;top:50%;margin-top:-20px;z-index:10;cursor:pointer;box-shadow:0 0 5px rgba(0,0,0,.15)}:host .carousel-arrow-prev{left:10px;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjI0Ij48cGF0aCBkPSJNMTUuNDEgMTYuNTlMMTAuODMgMTJsNC41OC00LjU5TDE0IDZsLTYgNiA2IDYgMS40MS0xLjQxeiIvPjxwYXRoIGQ9Ik0wIDBoMjR2MjRIMFYweiIgZmlsbD0ibm9uZSIvPjwvc3ZnPg==)}:host .carousel-arrow-next{right:10px;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjI0Ij48cGF0aCBkPSJNOC41OSAxNi41OUwxMy4xNyAxMiA4LjU5IDcuNDEgMTAgNmw2IDYtNiA2LTEuNDEtMS40MXoiLz48cGF0aCBkPSJNMCAwaDI0djI0SDBWMHoiIGZpbGw9Im5vbmUiLz48L3N2Zz4=)}:host .carousel-arrows-outside .carousel-arrow-prev{left:-60px}:host .carousel-arrows-outside .carousel-arrow-next{right:-60px}:host .carousel-dark-arrows .carousel-arrow{filter:invert(1)}:host .carousel-arrow-disabled{cursor:default;opacity:.5}:host .carousel-dots{position:absolute;left:0;right:0;bottom:0;z-index:10;text-align:center}:host .carousel-dots .carousel-dot{display:inline-block;border:2px solid #fff;border-radius:100px;margin:4px;width:8px;height:8px}:host .carousel-dots .carousel-dot-active{background-color:#fff}\"]\n }]\n }], function () { return [{ type: ɵngcc0.ElementRef }, { type: ɵngcc0.ChangeDetectorRef }]; }, { events: [{\n type: Output\n }], height: [{\n type: Input\n }], autoplay: [{\n type: Input\n }], autoplayInterval: [{\n type: Input\n }], pauseOnHover: [{\n type: Input\n }], dots: [{\n type: Input\n }], margin: [{\n type: Input\n }], objectFit: [{\n type: Input\n }], minSwipeDistance: [{\n type: Input\n }], transitionDuration: [{\n type: Input\n }], transitionTimingFunction: [{\n type: Input\n }], counterSeparator: [{\n type: Input\n }], overflowCellsLimit: [{\n type: Input\n }], listeners: [{\n type: Input\n }], cellsToScroll: [{\n type: Input\n }], freeScroll: [{\n type: Input\n }], arrows: [{\n type: Input\n }], arrowsOutside: [{\n type: Input\n }], arrowsTheme: [{\n type: Input\n }], hostClassCarousel: [{\n type: HostBinding,\n args: ['class.carousel']\n }], isCounter: [{\n type: Input,\n args: ['counter']\n }], images: [{\n type: Input\n }], cellWidth: [{\n type: Input,\n args: ['cellWidth']\n }], loop: [{\n type: Input,\n args: ['loop']\n }], lightDOM: [{\n type: Input,\n args: ['lightDOM']\n }], onWindowResize: [{\n type: HostListener,\n args: ['window:resize', ['$event']]\n }], onMousemove: [{\n type: HostListener,\n args: ['mousemove', ['$event']]\n }], onMouseleave: [{\n type: HostListener,\n args: ['mouseleave', ['$event']]\n }], hostStyleHeight: [{\n type: HostBinding,\n args: ['style.height']\n }], hostStyleWidth: [{\n type: HostBinding,\n args: ['style.width']\n }], id: [{\n type: Input\n }], width: [{\n type: Input\n }], borderRadius: [{\n type: Input\n }], videoProperties: [{\n type: Input\n }], cellsToShow: [{\n type: Input\n }] }); })();\n\nclass IvyCarouselModule {\r\n}\nIvyCarouselModule.ɵfac = function IvyCarouselModule_Factory(t) { return new (t || IvyCarouselModule)(); };\nIvyCarouselModule.ɵmod = /*@__PURE__*/ ɵngcc0.ɵɵdefineNgModule({ type: IvyCarouselModule });\nIvyCarouselModule.ɵinj = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjector({ providers: [], imports: [[\n CommonModule\n ]] });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(IvyCarouselModule, [{\n type: NgModule,\n args: [{\n declarations: [\n CarouselComponent\n ],\n imports: [\n CommonModule\n ],\n exports: [\n CarouselComponent\n ],\n providers: [],\n bootstrap: [],\n entryComponents: [\n CarouselComponent\n ]\n }]\n }], null, null); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(IvyCarouselModule, { declarations: function () { return [CarouselComponent]; }, imports: function () { return [CommonModule]; }, exports: function () { return [CarouselComponent]; } }); })();\n\n/*\r\n * Public API Surface of angular-responsive-carousel\r\n */\n\n/**\r\n * Generated bundle index. Do not edit.\r\n */\n\nexport { CarouselComponent, IvyCarouselModule };\n\n"],"names":[],"sourceRoot":"webpack:///"}