UNPKG

ngsl-carousel

Version:

This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 6.2.4.

2 lines (1 loc) 11 kB
{"version":3,"file":"ngsl-carousel.umd.js.map","sources":["ng://ngsl-carousel/src/app/ngsl-carousel/ngsl-carousel-item.directive.ts","ng://ngsl-carousel/src/app/ngsl-carousel/ngsl-carousel-dot.directive.ts","ng://ngsl-carousel/src/app/ngsl-carousel/ngsl-carousel.component.ts","ng://ngsl-carousel/src/app/ngsl-carousel/ngsl-carousel.module.ts"],"sourcesContent":["import { Directive, TemplateRef } from '@angular/core';\n\n@Directive({\n // tslint:disable-next-line:directive-selector\n selector: '[ngslCarouselItem]'\n})\nexport class NgslCarouselItemDirective {\n constructor(public tpl: TemplateRef<any>) {}\n}\n","import { Directive, TemplateRef } from '@angular/core';\n\n@Directive({\n // tslint:disable-next-line:directive-selector\n selector: '[ngslCarouselDot]'\n})\nexport class NgslCarouselDotDirective {\n isVisible = true;\n constructor(public tpl: TemplateRef<any>) {}\n}\n","import {\n AfterContentInit,\n Component,\n ContentChildren,\n Directive,\n ElementRef,\n Input,\n QueryList,\n ViewChild,\n ViewChildren\n} from '@angular/core';\n\nimport { NgslCarouselItemDirective } from './ngsl-carousel-item.directive';\nimport { NgslCarouselDotDirective } from './ngsl-carousel-dot.directive';\nimport {\n animate,\n AnimationBuilder,\n AnimationFactory,\n AnimationPlayer,\n style\n} from '@angular/animations';\n\n@Directive({\n // tslint:disable-next-line:directive-selector\n selector: '.ngsl-carousel-item-directive'\n})\n// tslint:disable-next-line:directive-class-suffix\nexport class CarouselItemElement {}\n@Directive({\n // tslint:disable-next-line:directive-selector\n selector: '.ngsl-carousel-dot-directive'\n})\n// tslint:disable-next-line:directive-class-suffix\nexport class CarouselDotElement {}\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'ngsl-carousel',\n exportAs: 'ngsl-carousel',\n templateUrl: './ngsl-carousel.component.html',\n styleUrls: ['./ngsl-carousel.component.scss']\n})\nexport class NgslCarouselComponent implements AfterContentInit {\n /* carousel start item */\n @ContentChildren(NgslCarouselItemDirective) items: QueryList<NgslCarouselItemDirective>;\n @ViewChildren(CarouselItemElement, { read: ElementRef }) private itemsElements: QueryList<ElementRef>;\n @ViewChild('track') private carousel: ElementRef;\n /* carousel end item */\n\n /* carousel start dot */\n @ContentChildren(NgslCarouselDotDirective) dotsList: QueryList<NgslCarouselDotDirective>;\n @ViewChildren(CarouselDotElement, { read: ElementRef }) private dotElements: QueryList<ElementRef>;\n @ViewChild('dotTrack') private dotTrack: ElementRef;\n /* carousel end dot */\n\n /* Input props start*/\n @Input() timing = 450;\n @Input() rewindTiming = 900;\n @Input() arrows = true;\n @Input() dots = true;\n @Input() infinity = true;\n @Input() dynamicTiming = false;\n @Input() autoplay = true;\n @Input() perView = 1;\n /* Input props end*/\n private player: AnimationPlayer;\n private action = null;\n currentSlide = 0;\n prevSlide = null;\n nextSlide = null;\n trackWidth = {};\n\n private buildAnimation(offset) {\n const duration = this.action === 'REWIND' ? this.rewindTiming : this.timing;\n return this.builder.build([\n animate(`${duration}ms cubic-bezier(0.165, 0.840, 0.440, 1.000)`, style({ transform: `translateX(${offset}%)` }))\n ]);\n }\n\n private changeSlide(action) {\n this.setSlidesIndex();\n const itemW = (100 / this.items.length) / this.perView;\n const offset = (itemW * this.currentSlide) * this.perView;\n const myAnimation: AnimationFactory = this.buildAnimation(-offset);\n this.player = myAnimation.create(this.carousel.nativeElement);\n this.player.play();\n // console.log(`changeSlide action: ${action}, is current slide: `, this.currentSlide + 1);\n }\n\n goToSlide(index) {\n if (this.dynamicTiming) {\n // В разработке, тестовая опция\n this.timing = this.timing + (55 * (index - this.currentSlide));\n }\n this.currentSlide = index;\n this.changeSlide('go to slide');\n }\n\n next() {\n const countSlides = this.items.length;\n if (this.currentSlide + 1 === countSlides && this.infinity) {\n this.currentSlide = 0;\n this.action = 'REWIND';\n this.changeSlide('rewind to first slide');\n return;\n }\n if (this.currentSlide + 1 === countSlides && !this.infinity) {\n return;\n }\n\n this.currentSlide++;\n this.action = 'NEXT_SLIDE';\n this.changeSlide('next slide');\n }\n\n prev() {\n const countSlides = this.items.length;\n if (this.currentSlide === 0 && this.infinity) {\n this.currentSlide = countSlides - 1;\n this.action = 'REWIND';\n this.changeSlide('rewind to last slide');\n return;\n }\n if (this.currentSlide === 0 && !this.infinity) {\n return;\n }\n\n this.currentSlide--;\n this.action = 'PREV_SLIDE';\n this.changeSlide('prev slide');\n }\n\n private setSlidesIndex() {\n this.prevSlide = this.currentSlide === 0 ? this.items.length - 1 : this.currentSlide - 1;\n this.nextSlide = this.currentSlide === this.items.length - 1 ? 0 : this.currentSlide + 1;\n }\n\n private removeDotsInDomElements() {\n const position = this.perView > 1 ? this.dotsList.length - this.perView : null;\n this.dotsList.toArray().forEach((dot, i) => {\n if (i > position) { dot.isVisible = false; }\n });\n }\n\n private setInitValues() {\n this.setSlidesIndex();\n if (this.perView > 1) {\n this.removeDotsInDomElements();\n }\n this.trackWidth = {\n width: `${(100 * this.items.length) / this.perView}%`\n };\n }\n\n constructor(private builder: AnimationBuilder) {}\n\n ngAfterContentInit() {\n this.setInitValues();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { NgslCarouselComponent, CarouselItemElement, CarouselDotElement } from './ngsl-carousel.component';\nimport { NgslCarouselItemDirective } from './ngsl-carousel-item.directive';\nimport { NgslCarouselDotDirective } from './ngsl-carousel-dot.directive';\n\n@NgModule({\n imports: [\n CommonModule\n ],\n declarations: [\n NgslCarouselComponent,\n NgslCarouselItemDirective,\n NgslCarouselDotDirective,\n CarouselItemElement,\n CarouselDotElement\n ],\n exports: [\n NgslCarouselComponent,\n NgslCarouselItemDirective,\n NgslCarouselDotDirective,\n CarouselItemElement,\n CarouselDotElement\n ]\n\n})\nexport class NgslCarouselModule { }\n"],"names":["Directive","TemplateRef","animate","style","Component","AnimationBuilder","ContentChildren","ViewChildren","ElementRef","ViewChild","Input","NgModule","CommonModule"],"mappings":"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"}