{"version":3,"file":"wts-slider.mjs","sources":["../../../projects/wts-slider/src/lib/wts-slider.directive.ts","../../../projects/wts-slider/src/lib/wts-slider.component.ts","../../../projects/wts-slider/src/lib/wts-slider.component.html","../../../projects/wts-slider/src/lib/wts-slider.module.ts","../../../projects/wts-slider/src/public-api.ts","../../../projects/wts-slider/src/wts-slider.ts"],"sourcesContent":["import { Directive, ElementRef, Inject, Input, OnChanges, Optional, SimpleChanges, inject } from '@angular/core';\n\nimport { DOCUMENT } from '@angular/common';\nimport { WtsSliderComponent } from './wts-slider.component';\n\n@Directive({\n  selector: '[slider]'\n})\nexport class SliderDirective {\n  document!: HTMLElement\n  @Input() isActive: boolean = false\n  isDupplicate: boolean = false\n\n  constructor(\n    public element: ElementRef,\n    // @Optional() @Inject(DOCUMENT) private document: Document\n  ) {\n    this.document = element.nativeElement\n    // this.__init()\n  }\n\n\n\n  setActive(isActive: boolean): void {\n    isActive ? this.element.nativeElement.classList.add('__active') : this.element.nativeElement.classList.remove('__active')\n  }\n\n\n  private __init(): void {\n\n  }\n\n\n}\n","import { Component, ContentChild, ContentChildren, ElementRef, HostListener, Input, NgZone, OnChanges, QueryList, Renderer2, SimpleChanges, TemplateRef, ViewChild, afterNextRender } from '@angular/core';\nimport { SliderDirective } from './wts-slider.directive';\nimport { SliderOptions, slideBasic } from './type';\nimport { BreakpointObserver, Breakpoints } from '@angular/cdk/layout';\nimport { Subject } from 'rxjs';\n\n\nexport class Options implements SliderOptions {\n  slidesPerview: number = 4;\n  centeredSlides: boolean = true;\n  spaceBetween: number = 10;\n  navigation: boolean = true\n  height: number = 300\n  autoplay: boolean = false;\n  loop: boolean = false;\n  interval: number = 2;\n  pagination: boolean = true;\n  effect: 'slide' | 'fade' | 'horizonalFlip' | 'verticalFlip' | 'parallax' | 'suffle' | 'noEffect' = 'slide';\n  activeIndex: number = 0;\n  breakpoint!: { HandsetLandscape?: slideBasic; HandsetPortrait?: slideBasic; TabletLandscape?: slideBasic; TabletPortrait?: slideBasic; XLarge?: slideBasic; }\n  keyboardEnabled: boolean = true\n\n  constructor(data?: any, e: boolean = false) {\n    if (!data) return;\n    Object.keys(data).forEach((key: string) => {\n      (this as any)[key] = data[key];\n    })\n  }\n}\n\n\n@Component({\n  selector: 'wts-slider',\n  templateUrl: './wts-slider.component.html',\n  styleUrl: './wts-slider.component.scss'\n})\nexport class WtsSliderComponent implements OnChanges {\n\n  @ContentChildren(SliderDirective) protected sliders!: QueryList<SliderDirective>;\n  @ContentChild('navigationNextTemplate') navigationNextTemplate!: TemplateRef<any>;\n  @ContentChild('navigationPrevTemplate') navigationPrevTemplate!: TemplateRef<any>;\n  @ContentChild('paginationTemplate') paginationTemplate!: TemplateRef<any>;\n\n  @Input() options: SliderOptions = new Options();\n  protected config!: Options;\n  @ViewChild('Contaner') private contaner!: ElementRef;\n  @ViewChild('Slider', { static: false }) private slider!: ElementRef;\n  protected isLoading: boolean = true;\n  protected activeSlide: number = 0;\n  protected dupplicate: Array<SliderDirective> = [];\n  private dynamicClss: string = '__slider__item_'\n  protected paginations: Array<{ isActive: boolean }> = [];\n  private __autoplayID!: any;\n  private isDragging: boolean = false\n  private startX: number = 0;\n  private currentTranslateX: number = 0;\n  private onChanges = new Subject<SimpleChanges>();\n\n  constructor(\n    private zone: NgZone,\n    private el: ElementRef, private renderer: Renderer2,\n    private breakpointObserver: BreakpointObserver\n  ) {\n    this.config = new Options(this.options);\n    afterNextRender(() => {\n      this.onChanges.subscribe((changes: SimpleChanges) => {\n        changes['options'] && (\n          (() => {\n            this.config = new Options(changes['options'].currentValue);\n            this.__sliderInit()\n          })()\n          // this.options = changes['options'].currentValue,\n          // console.log('options 1', new Options(changes['options'].currentValue, true)),\n        )\n      })\n      this.resizeHandler();\n      window.addEventListener('resize', this.resizeHandler.bind(this));\n    });\n  }\n\n  // protected onMouseDown(e: any): void {\n  //   this.isDragging = true;\n  //   this.startX = e.clientX;\n  // }\n\n  // @HostListener('document:mousemove', ['$event'])\n  // protected onMouseMove(e: any): void {\n  //   if (!this.isDragging) return\n  //   const deltaX = e.clientX - this.startX;\n  //   this.currentTranslateX = deltaX;\n  //   this.translateSlides();\n  // }\n  // @HostListener('document:mouseup', ['$event'])\n  // protected onMouseUp(e: any): void {\n  //   if (!this.isDragging) return\n  //   this.isDragging = false;\n  //   this.snapToSlide();\n  // }\n\n  // private snapToSlide(): void {\n  //   const currentIndex = Math.round(-this.currentTranslateX / window.innerWidth);\n  //   let newTranslateX = -currentIndex * window.innerWidth;\n  //   newTranslateX > 0 && (newTranslateX = 0);\n  //   this.currentTranslateX = newTranslateX;\n  //   this.translateSlides();\n  // }\n  // private translateSlides(): void {\n  //   const container: HTMLElement = this.slider.nativeElement;\n  //   if (!container) return;\n  //   container.style.transform = `translateX(${this.currentTranslateX}px)`;\n  // }\n\n\n  @HostListener('document:keydown.arrowRight') private arrowRight() {\n    this.config.keyboardEnabled && this.next()\n  }\n  @HostListener('document:keydown.arrowLeft') private arrowLeft() {\n    this.config.keyboardEnabled && this.previous()\n  }\n\n  private setSlideEffect(index: number): void {\n    if (!this.slider) return (() => { setTimeout(() => { this.setSlideEffect(index) }, 100) })();\n    this.config.effect === 'slide' && (this.slider.nativeElement.style.transition = 'ease-in .4s');\n    if (this.config.effect === 'slide' && this.slider.nativeElement.style.transition) return;\n    const doc = this.slider.nativeElement.querySelector(`.${this.dynamicClss}${index}`);\n    if (!doc) return console.log('SOME THING WENT WRONG!!');\n    doc.style.transition = 'ease-in .4s';\n  }\n\n\n  private slideAnimation(index: number, needToBeAnimate: boolean): void {\n    const doc = this.slider.nativeElement.querySelector(`.${this.dynamicClss}${index}`) as HTMLElement;\n    if (!doc) return console.log('SOME THING WENT WRONG!!');\n    const isOdd = index % 2;\n    if (this.config.effect === 'fade') {\n      doc.style.opacity = needToBeAnimate ? '1' : '0';\n    }\n    if (this.config.effect === 'horizonalFlip') {\n      doc.style.transform = needToBeAnimate ? `none` : `perspective(${doc.offsetWidth * 2}px) rotateY(${isOdd ? '+' : '-'}90deg) scale(0.8)`;\n    }\n    if (this.config.effect === 'verticalFlip') {\n      doc.style.transform = needToBeAnimate ? `none` : `perspective(${doc.offsetWidth * 2}px) rotateX(${isOdd ? '+' : '-'}90deg) scale(0.8)`;\n    }\n    if (this.config.effect === 'parallax') {\n      doc.style.transform = needToBeAnimate ? `none` : `translateY(${isOdd ? '+' : '-'}100%)`;\n    }\n    if (this.config.effect === 'suffle') {\n      doc.style.transform = needToBeAnimate ? `none` : `scale(0.8) translateY(${isOdd ? '-' : '+'}50%)`;\n    }\n  }\n\n  private setActive(index: number, isActive: boolean): void {\n    const doc = this.slider.nativeElement.querySelector(`.${this.dynamicClss}${index}`);\n    if (!doc) return console.log('SOME THING WENT WRONG!!');\n    isActive ? doc.classList.add('__active') : doc.classList.remove('__active');\n  }\n\n  private appendToList(): void {\n\n    if (!this.dupplicate.length) return;\n    if (!this.slider) return (() => { setTimeout(() => { this.appendToList() }, 100) })();\n    for (let index = 0; index < this.dupplicate.length; index++) {\n      this.dupplicate[index].isDupplicate = true;\n      const _node = this.dupplicate[index].document.cloneNode(true);\n      (_node as HTMLElement).classList.remove(`${this.dynamicClss}${index}`);\n      (_node as HTMLElement).classList.add(`${this.dynamicClss}${this.sliders.length + index}`);\n      (_node as HTMLElement).setAttributeNS('duplicate', 'duplicate', '');\n      this.slider.nativeElement.appendChild(_node);\n    };\n    this.sliders.reset([...this.sliders.toArray(), ...this.dupplicate]);\n    this.sliders.notifyOnChanges();\n  }\n\n  private __sliderInit(): void {\n    if (!this.sliders) return (() => { setTimeout(() => { this.__sliderInit() }, 500); })();\n    (async () => {\n      this.isLoading = true;\n      this.__autoplayID && clearTimeout(this.__autoplayID);\n      if (!!(this.sliders.length % this.config.slidesPerview)) {\n        this.el.nativeElement.style.width = `calc(100% + ${this.config.spaceBetween}px)`;\n        this.renderer.setStyle(this.el.nativeElement, 'width', `calc(100% + ${this.config.spaceBetween}px)`);\n        const needToBeAdd = this.config.slidesPerview - (this.sliders.length % this.config.slidesPerview);\n        const dupplicate = [];\n        for (let index = 0; index < needToBeAdd; index++) dupplicate.push(this.sliders.get(index));\n        this.dupplicate = dupplicate as Array<SliderDirective>;\n      }\n      this.sliders.forEach((slider, index) => {\n        this._init(slider.document, index);\n      });\n    })().then(() => {\n      this.isLoading = false;\n      this.appendToList();\n      this.config.pagination && this.__createPagination();\n      this.__moveToActiveSlide()\n      this.config.autoplay && this.__autoplay();\n    })\n  }\n\n\n  get isPreviousDisabled(): boolean {\n    const previousIndex = (this.activeSlide - 1) % (this.sliders.length / this.config.slidesPerview);\n    return previousIndex < 0 && !this.config.loop\n  }\n  get isNextDisabled(): boolean {\n    const nextIndex = (this.activeSlide + 1) % (this.sliders.length / this.config.slidesPerview);\n    return nextIndex === 0 && !this.config.loop\n  }\n\n  private __moveToActiveSlide(): void {\n    if (!this.slider) return (() => { setTimeout(() => { this.__moveToActiveSlide() }, 100) })();\n    this.navigate(this.config.activeIndex)\n  }\n\n  public next(): void {\n    const nextIndex = (this.activeSlide + 1) % Math.ceil(this.sliders.length / this.config.slidesPerview);\n    this.navigate(nextIndex)\n  }\n\n  public previous(): void {\n    let previousIndex = (this.activeSlide - 1 + Math.ceil(this.sliders.length / this.config.slidesPerview)) % Math.ceil(this.sliders.length / this.config.slidesPerview);\n    this.navigate(previousIndex)\n  }\n\n  protected navigate(index: number): void {\n    if (!this.slider) return (() => { setTimeout(() => { this.navigate(index) }, 100) })();\n    this.sliders.forEach((slider, index) => {\n      slider.isActive = false, this.setActive(index, false);\n      this.slideAnimation(index, false);\n    });\n    const itemsCount = (index * this.config.slidesPerview) + this.config.slidesPerview, _sliderMain: HTMLElement = this.slider.nativeElement;\n    let _width = 0;\n    this.activeSlide = index;\n    this.zone.run(() => { this.paginations.map((t, _index) => t.isActive = _index === index) });\n    for (let i = (index * this.config.slidesPerview); i < itemsCount; i++) {\n      const __slider = this.sliders.get(i);\n      if (!__slider) return\n      __slider.isActive = true;\n      this.slideAnimation(i, true);\n      this.setActive(i, true);\n      // const _bound: DOMRect = __slider.document.getBoundingClientRect();\n      _width += __slider.document.offsetWidth + this.config.spaceBetween;\n    }\n    let nextTransform = -(index * _width);\n    _sliderMain.style.transform = `translateX(${nextTransform}px)`\n  }\n\n\n  private __autoplay(): void {\n    if (!this.config.autoplay) return;\n    if (!this.slider) return (() => { setTimeout(() => { this.__autoplay() }, 100) })();\n    let _slidePerView = this.config.slidesPerview, index = 0, count = 0;\n    const __play = () => {\n      this.next();\n      if (!((this.activeSlide + 1) % (this.sliders.length / this.config.slidesPerview)) && this.__autoplayID && !this.config.loop) return clearTimeout(this.__autoplayID);\n      this.__autoplayID = setTimeout(() => { __play() }, this.config.interval * 1000);\n    }\n    setTimeout(() => { __play() }, this.config.interval * 1000);\n  }\n\n\n\n  private _setDimentions(slider: HTMLElement, e: HTMLElement, index: number): void {\n    const __parentWidth = e.offsetWidth;\n    const __width = __parentWidth / this.config.slidesPerview;\n    slider.style.width = __width - this.config.spaceBetween + 'px';\n    slider.style.height = this.config.height + 'px';\n    slider.classList.add(`${this.dynamicClss}${index}`);\n    this.setSlideEffect(index);\n  }\n\n  private setSpace(index: number): void {\n    if (!this.config.spaceBetween) return;\n    // if (this.sliders.length - 1 === index) return\n    if (!this.slider) return (() => { setTimeout(() => { this.setSpace(index) }, 100) })();\n    const doc = this.slider.nativeElement.querySelector(`.${this.dynamicClss}${index}`);\n    if (!doc) return console.log('SOME THING WENT WRONG!!');\n    doc.style.marginRight = this.config.spaceBetween + 'px';\n    doc.style.marginLeft = '0 px';\n\n  }\n\n\n  private __createPagination(): void {\n    const count = (this.sliders.length / this.config.slidesPerview), paginations = [];\n    for (let index = 0; index < count; index++) paginations.push({ isActive: index === this.activeSlide });\n    this.paginations = paginations;\n  }\n\n  private _init(slider: HTMLElement, index: number): void {\n    if (!this.contaner) return\n    slider.classList.add('____wts_slider__item');\n    this.setSpace(index)\n    this._setDimentions(slider, this.contaner.nativeElement, index);\n\n  }\n  private resizeHandler(): void {\n    const isHandsetLandscape = this.breakpointObserver.isMatched(Breakpoints.HandsetLandscape),\n      isHandsetPortrait = this.breakpointObserver.isMatched(Breakpoints.HandsetPortrait),\n      isTabletPortrait = this.breakpointObserver.isMatched(Breakpoints.TabletPortrait),\n      isTabletLandscape = this.breakpointObserver.isMatched(Breakpoints.TabletLandscape),\n      isXLarge = this.breakpointObserver.isMatched(Breakpoints.XLarge);\n    let newOption: SliderOptions = new Options(this.options);\n    if (this.config.breakpoint) {\n      isHandsetLandscape && this.config.breakpoint?.HandsetLandscape && (newOption = new Options({ ...this.config, ...this.config.breakpoint['HandsetLandscape'] }))\n      isHandsetPortrait && this.config.breakpoint?.HandsetPortrait && (newOption = new Options({ ...this.config, ...this.config.breakpoint['HandsetPortrait'] }))\n      isTabletLandscape && this.config.breakpoint?.TabletLandscape && (newOption = new Options({ ...this.config, ...this.config.breakpoint['TabletLandscape'] }))\n      isTabletPortrait && this.config.breakpoint?.TabletPortrait && (newOption = new Options({ ...this.config, ...this.config.breakpoint['TabletPortrait'] }))\n      isXLarge && this.config.breakpoint?.XLarge && (newOption = new Options({ ...this.config, ...this.config.breakpoint['XLarge'] }));\n    }\n    this.config = new Options(newOption);\n    this.__sliderInit();\n    // this.sliders.forEach((slider, index) => {\n    //   this._init(slider.document, index);\n    // });\n  }\n  ngOnChanges(changes: SimpleChanges): void {\n    this.onChanges.next(changes);\n  }\n\n}\n","<div class=\"____wts_slider___wrapper\">\n  @if (config.navigation) {\n  @if (navigationPrevTemplate) {\n  <ng-container\n    *ngTemplateOutlet=\"navigationPrevTemplate; context: { $implicit: {api: { previous: previous.bind(this)}, disabled: isPreviousDisabled }}\">\n  </ng-container>\n  } @else {\n  <div class=\"___navigation ___navigation__prev\" (click)=\"previous()\" [class.__disabled]=\"isPreviousDisabled\">\n    <svg width=\"800px\" height=\"800px\" viewBox=\"0 0 1024 1024\">\n      <path d=\"M768 903.232l-50.432 56.768L256 512l461.568-448 50.432 56.768L364.928 512z\" /></svg>\n  </div>\n  }\n  }\n\n\n  <div class=\"____wts_slider___container\" #Contaner>\n    @if (isLoading) {\n    <div class=\"___loading\" [ngStyle]=\"{height: config.height + 'px'}\">\n      <svg width=\"300px\" height=\"300px\" viewBox=\"0 0 100 100\" preserveAspectRatio=\"xMidYMid\">\n        <g transform=\"rotate(0 50 50)\">\n          <rect x=\"47.5\" y=\"27.5\" rx=\"2.5\" ry=\"2.5\" width=\"5\" height=\"5\" fill=\"#fe718d\">\n            <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"3.3333333333333335s\"\n              begin=\"-3.1884057971014497s\" repeatCount=\"indefinite\"></animate>\n          </rect>\n        </g>\n        <g transform=\"rotate(15.652173913043478 50 50)\">\n          <rect x=\"47.5\" y=\"27.5\" rx=\"2.5\" ry=\"2.5\" width=\"5\" height=\"5\" fill=\"#f47e60\">\n            <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"3.3333333333333335s\"\n              begin=\"-3.0434782608695654s\" repeatCount=\"indefinite\"></animate>\n          </rect>\n        </g>\n        <g transform=\"rotate(31.304347826086957 50 50)\">\n          <rect x=\"47.5\" y=\"27.5\" rx=\"2.5\" ry=\"2.5\" width=\"5\" height=\"5\" fill=\"#f8b26a\">\n            <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"3.3333333333333335s\"\n              begin=\"-2.8985507246376816s\" repeatCount=\"indefinite\"></animate>\n          </rect>\n        </g>\n        <g transform=\"rotate(46.95652173913044 50 50)\">\n          <rect x=\"47.5\" y=\"27.5\" rx=\"2.5\" ry=\"2.5\" width=\"5\" height=\"5\" fill=\"#abbd81\">\n            <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"3.3333333333333335s\"\n              begin=\"-2.7536231884057973s\" repeatCount=\"indefinite\"></animate>\n          </rect>\n        </g>\n        <g transform=\"rotate(62.608695652173914 50 50)\">\n          <rect x=\"47.5\" y=\"27.5\" rx=\"2.5\" ry=\"2.5\" width=\"5\" height=\"5\" fill=\"#849b87\">\n            <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"3.3333333333333335s\"\n              begin=\"-2.608695652173913s\" repeatCount=\"indefinite\"></animate>\n          </rect>\n        </g>\n        <g transform=\"rotate(78.26086956521739 50 50)\">\n          <rect x=\"47.5\" y=\"27.5\" rx=\"2.5\" ry=\"2.5\" width=\"5\" height=\"5\" fill=\"#6492ac\">\n            <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"3.3333333333333335s\"\n              begin=\"-2.4637681159420293s\" repeatCount=\"indefinite\"></animate>\n          </rect>\n        </g>\n        <g transform=\"rotate(93.91304347826087 50 50)\">\n          <rect x=\"47.5\" y=\"27.5\" rx=\"2.5\" ry=\"2.5\" width=\"5\" height=\"5\" fill=\"#637cb5\">\n            <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"3.3333333333333335s\"\n              begin=\"-2.318840579710145s\" repeatCount=\"indefinite\"></animate>\n          </rect>\n        </g>\n        <g transform=\"rotate(109.56521739130434 50 50)\">\n          <rect x=\"47.5\" y=\"27.5\" rx=\"2.5\" ry=\"2.5\" width=\"5\" height=\"5\" fill=\"#6a63b6\">\n            <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"3.3333333333333335s\"\n              begin=\"-2.173913043478261s\" repeatCount=\"indefinite\"></animate>\n          </rect>\n        </g>\n        <g transform=\"rotate(125.21739130434783 50 50)\">\n          <rect x=\"47.5\" y=\"27.5\" rx=\"2.5\" ry=\"2.5\" width=\"5\" height=\"5\" fill=\"#fe718d\">\n            <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"3.3333333333333335s\"\n              begin=\"-2.028985507246377s\" repeatCount=\"indefinite\"></animate>\n          </rect>\n        </g>\n        <g transform=\"rotate(140.8695652173913 50 50)\">\n          <rect x=\"47.5\" y=\"27.5\" rx=\"2.5\" ry=\"2.5\" width=\"5\" height=\"5\" fill=\"#f47e60\">\n            <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"3.3333333333333335s\"\n              begin=\"-1.884057971014493s\" repeatCount=\"indefinite\"></animate>\n          </rect>\n        </g>\n        <g transform=\"rotate(156.52173913043478 50 50)\">\n          <rect x=\"47.5\" y=\"27.5\" rx=\"2.5\" ry=\"2.5\" width=\"5\" height=\"5\" fill=\"#f8b26a\">\n            <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"3.3333333333333335s\"\n              begin=\"-1.7391304347826089s\" repeatCount=\"indefinite\"></animate>\n          </rect>\n        </g>\n        <g transform=\"rotate(172.17391304347825 50 50)\">\n          <rect x=\"47.5\" y=\"27.5\" rx=\"2.5\" ry=\"2.5\" width=\"5\" height=\"5\" fill=\"#abbd81\">\n            <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"3.3333333333333335s\"\n              begin=\"-1.5942028985507248s\" repeatCount=\"indefinite\"></animate>\n          </rect>\n        </g>\n        <g transform=\"rotate(187.82608695652175 50 50)\">\n          <rect x=\"47.5\" y=\"27.5\" rx=\"2.5\" ry=\"2.5\" width=\"5\" height=\"5\" fill=\"#849b87\">\n            <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"3.3333333333333335s\"\n              begin=\"-1.4492753623188408s\" repeatCount=\"indefinite\"></animate>\n          </rect>\n        </g>\n        <g transform=\"rotate(203.47826086956522 50 50)\">\n          <rect x=\"47.5\" y=\"27.5\" rx=\"2.5\" ry=\"2.5\" width=\"5\" height=\"5\" fill=\"#6492ac\">\n            <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"3.3333333333333335s\"\n              begin=\"-1.3043478260869565s\" repeatCount=\"indefinite\"></animate>\n          </rect>\n        </g>\n        <g transform=\"rotate(219.1304347826087 50 50)\">\n          <rect x=\"47.5\" y=\"27.5\" rx=\"2.5\" ry=\"2.5\" width=\"5\" height=\"5\" fill=\"#637cb5\">\n            <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"3.3333333333333335s\"\n              begin=\"-1.1594202898550725s\" repeatCount=\"indefinite\"></animate>\n          </rect>\n        </g>\n        <g transform=\"rotate(234.7826086956522 50 50)\">\n          <rect x=\"47.5\" y=\"27.5\" rx=\"2.5\" ry=\"2.5\" width=\"5\" height=\"5\" fill=\"#6a63b6\">\n            <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"3.3333333333333335s\"\n              begin=\"-1.0144927536231885s\" repeatCount=\"indefinite\"></animate>\n          </rect>\n        </g>\n        <g transform=\"rotate(250.43478260869566 50 50)\">\n          <rect x=\"47.5\" y=\"27.5\" rx=\"2.5\" ry=\"2.5\" width=\"5\" height=\"5\" fill=\"#fe718d\">\n            <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"3.3333333333333335s\"\n              begin=\"-0.8695652173913044s\" repeatCount=\"indefinite\"></animate>\n          </rect>\n        </g>\n        <g transform=\"rotate(266.0869565217391 50 50)\">\n          <rect x=\"47.5\" y=\"27.5\" rx=\"2.5\" ry=\"2.5\" width=\"5\" height=\"5\" fill=\"#f47e60\">\n            <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"3.3333333333333335s\"\n              begin=\"-0.7246376811594204s\" repeatCount=\"indefinite\"></animate>\n          </rect>\n        </g>\n        <g transform=\"rotate(281.7391304347826 50 50)\">\n          <rect x=\"47.5\" y=\"27.5\" rx=\"2.5\" ry=\"2.5\" width=\"5\" height=\"5\" fill=\"#f8b26a\">\n            <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"3.3333333333333335s\"\n              begin=\"-0.5797101449275363s\" repeatCount=\"indefinite\"></animate>\n          </rect>\n        </g>\n        <g transform=\"rotate(297.39130434782606 50 50)\">\n          <rect x=\"47.5\" y=\"27.5\" rx=\"2.5\" ry=\"2.5\" width=\"5\" height=\"5\" fill=\"#abbd81\">\n            <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"3.3333333333333335s\"\n              begin=\"-0.4347826086956522s\" repeatCount=\"indefinite\"></animate>\n          </rect>\n        </g>\n        <g transform=\"rotate(313.04347826086956 50 50)\">\n          <rect x=\"47.5\" y=\"27.5\" rx=\"2.5\" ry=\"2.5\" width=\"5\" height=\"5\" fill=\"#849b87\">\n            <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"3.3333333333333335s\"\n              begin=\"-0.2898550724637681s\" repeatCount=\"indefinite\"></animate>\n          </rect>\n        </g>\n        <g transform=\"rotate(328.69565217391306 50 50)\">\n          <rect x=\"47.5\" y=\"27.5\" rx=\"2.5\" ry=\"2.5\" width=\"5\" height=\"5\" fill=\"#6492ac\">\n            <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"3.3333333333333335s\"\n              begin=\"-0.14492753623188406s\" repeatCount=\"indefinite\"></animate>\n          </rect>\n        </g>\n        <g transform=\"rotate(344.3478260869565 50 50)\">\n          <rect x=\"47.5\" y=\"27.5\" rx=\"2.5\" ry=\"2.5\" width=\"5\" height=\"5\" fill=\"#637cb5\">\n            <animate attributeName=\"opacity\" values=\"1;0\" keyTimes=\"0;1\" dur=\"3.3333333333333335s\" begin=\"0s\"\n              repeatCount=\"indefinite\"></animate>\n          </rect>\n        </g>\n      </svg>\n    </div>\n    } @else {\n    <div class=\"____wts_slider__items\" #Slider>\n      <!-- (mousedown)=\"onMouseDown($event)\" (mousemove)=\"onMouseMove($event)\" (mouseup)=\"onMouseUp($event)\" -->\n      <ng-content></ng-content>\n    </div>\n    }\n  </div>\n\n  @if (config.navigation) {\n  @if (navigationNextTemplate) {\n  <ng-container\n    *ngTemplateOutlet=\"navigationNextTemplate; context: { $implicit: {api: {next: next.bind(this)}, disabled: isNextDisabled }}\">\n  </ng-container>\n  } @else {\n  <div class=\"___navigation ___navigation__next\" [ngStyle]=\"{marginRight: config.spaceBetween+'px'}\" (click)=\"next()\"\n    [class.__disabled]=\"isNextDisabled\">\n    <svg width=\"800px\" height=\"800px\" viewBox=\"0 0 1024 1024\">\n      <path d=\"M256 120.768L306.432 64 768 512l-461.568 448L256 903.232 659.072 512z\" /></svg>\n  </div>\n  }\n  }\n\n\n\n  @if (config.pagination) {\n  <div class=\"___pagination\">\n    @if (paginationTemplate) {\n    <ng-container\n      *ngTemplateOutlet=\"paginationTemplate; context: { $implicit: {data: paginations, navigate: navigate.bind(this) }}\">\n    </ng-container>\n    } @else {\n    <ul>\n      @for (item of paginations; track $index) {\n      <li>\n        <div class=\"___dot\" [class.__active]=\"item.isActive\" (click)=\"navigate($index)\">\n          {{$index}}\n        </div>\n      </li>\n      }\n    </ul>\n    }\n\n  </div>\n  }\n</div>\n","import { NgModule } from '@angular/core';\nimport { WtsSliderComponent } from './wts-slider.component';\nimport { SliderDirective } from './wts-slider.directive';\nimport { NgStyle, NgTemplateOutlet } from '@angular/common';\n\n\n\n@NgModule({\n  declarations: [\n    WtsSliderComponent,\n    SliderDirective\n  ],\n  imports: [NgStyle, NgTemplateOutlet],\n  exports: [\n    WtsSliderComponent,\n    SliderDirective\n  ]\n\n})\nexport class WtsSliderModule { }\n","/*\n * Public API Surface of wts-slider\n */\n\nexport * from './lib/type';\nexport * from './lib/wts-slider.module';\nexport * from './lib/wts-slider.directive';\nexport * from './lib/wts-slider.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}