{"version":3,"file":"suarsan-ngx-flipboardtext.mjs","sources":["../../../../projects/suarsan/ngx-flipboardtext/src/lib/base.class.ts","../../../../projects/suarsan/ngx-flipboardtext/src/lib/ngx-flipboardtext.directive.ts","../../../../projects/suarsan/ngx-flipboardtext/src/lib/ngx-flipboardtext.component.ts","../../../../projects/suarsan/ngx-flipboardtext/src/lib/ngx-flipboardtext.component.html","../../../../projects/suarsan/ngx-flipboardtext/src/lib/ngx-flipboardtext.module.ts","../../../../projects/suarsan/ngx-flipboardtext/src/public-api.ts","../../../../projects/suarsan/ngx-flipboardtext/src/suarsan-ngx-flipboardtext.ts"],"sourcesContent":["import { forwardRef } from \"@angular/core\";\r\n\r\nexport abstract class Base {}\r\nexport function returnProvider(component: any) {\r\n  return { provide: Base, useExisting: forwardRef(() => component) };\r\n}","import { animate, AnimationBuilder, AnimationFactory, AnimationMetadata, AnimationPlayer, AnimationStyleMetadata, keyframes, style } from '@angular/animations';\r\nimport { OnInit, Directive, ElementRef } from '@angular/core';\r\nimport { Base } from './base.class';\r\nimport { NgxFlipboardtextConfig } from './ngx-flipboardtext-config.interface';\r\n\r\n@Directive({\r\n  selector: '[ngxFlipboardtextDirective]'\r\n})\r\nexport class NgxFlipboardtextDirective implements OnInit {\r\n\r\n  private player: AnimationPlayer | null = null;\r\n  private factory: AnimationFactory | null = null;\r\n\r\n  constructor(private eRef: ElementRef, private host: Base, private animationBuilder?: AnimationBuilder) { \r\n    if (this.animationBuilder) {\r\n      this.factory = this.animationBuilder.build(this.getAnimation(this.host as NgxFlipboardtextConfig));\r\n    }\r\n    if (this.factory) {\r\n      this.player = this.factory.create(this.eRef.nativeElement);\r\n    }\r\n  }\r\n  \r\n  ngOnInit() {\r\n    this.play();\r\n  }\r\n  \r\n  private play() {\r\n    if (this.player) {\r\n      this.player.restart();\r\n      this.player.onDone(() => this.play());\r\n    }\r\n  }\r\n\r\n  private getAnimation(o: NgxFlipboardtextConfig): AnimationMetadata[] {\r\n    const animationMetadata: AnimationMetadata[] = [];\r\n    const frames: AnimationStyleMetadata[] = [];\r\n    frames.push(style({ marginTop: `calc(0 * ${o.fontSize})`, offset: 0 }));\r\n    frames.push(style({ marginTop: `calc(0 * ${o.fontSize})`, offset: (1 / o.keys.length) * o.breakRatio }));\r\n    for (let i = 0; i < o.keys.length; i++) {\r\n      if ((i + 1) !== o.keys.length) {\r\n        frames.push(style({ marginTop: `calc(-3 * ${i+1} * ${o.fontSize})`, offset: (i + 1) * 1 / o.keys.length }));\r\n        frames.push(style({ marginTop: `calc(-3 * ${i+1} * ${o.fontSize})`, offset: ((i + 1) * 1 / o.keys.length) + (1 / o.keys.length) * o.breakRatio }));\r\n      }\r\n    }\r\n    frames.push(style({ marginTop: `calc(-3 * ${o.keys.length} * ${o.fontSize})`, offset: 1 }));\r\n    animationMetadata.push(animate(`${o.cycleDuration}ms`, keyframes(frames)));\r\n    return animationMetadata;\r\n  }\r\n\r\n}\r\n\r\n","import { Component, Input } from '@angular/core';\r\nimport { Base, returnProvider } from './base.class';\r\n\r\n@Component({\r\n  selector: 'ngx-flipboardtext',\r\n  templateUrl: 'ngx-flipboardtext.component.html',\r\n  styleUrls: ['ngx-flipboardtext.component.scss'],\r\n  providers: [returnProvider(NgxFlipboardtextComponent)],\r\n})\r\nexport class NgxFlipboardtextComponent implements Base {\r\n\r\n  @Input() keys!: Array<String>;\r\n  @Input() cycleDuration: number;\r\n  @Input() fontSize: String;\r\n  @Input() breakRatio: number;\r\n  @Input() backgroundColor: string;\r\n  @Input() textColor: string;\r\n\r\n\r\n  constructor() {;\r\n    this.fontSize = '2rem';\r\n    this.cycleDuration = 15000;\r\n    this.breakRatio = 0.75;\r\n    this.backgroundColor = '#2cc4d2';\r\n    this.textColor = '#ffffff';\r\n  }\r\n\r\n}\r\n","<div class=\"content\">\r\n    <div class=\"visible\" [ngStyle]=\"{'height': 'calc(3*' + fontSize + ')'}\">\r\n    <ul *ngIf=\"keys && (keys.length > 0)\" ngxFlipboardtextDirective>\r\n        <li *ngFor=\"let key of keys\">\r\n            <div [ngStyle]=\"{ 'height': 'calc(2 * ' + fontSize + ')',\r\n                              'margin': ' calc(' + fontSize  + '/ 2) 0',\r\n                              'font-size': fontSize,\r\n                              'background-color': backgroundColor,\r\n                              'color': textColor }\">\r\n                {{key}}\r\n            </div>\r\n        </li>\r\n    </ul>\r\n    </div>\r\n</div>","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { NgxFlipboardtextComponent } from './ngx-flipboardtext.component';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { NgxFlipboardtextDirective } from './ngx-flipboardtext.directive';\r\n\r\n@NgModule({\r\n  declarations: [\r\n    NgxFlipboardtextComponent,\r\n    NgxFlipboardtextDirective\r\n  ],\r\n  imports: [\r\n    CommonModule,\r\n    BrowserModule,\r\n    BrowserAnimationsModule\r\n  ],\r\n  exports: [\r\n    NgxFlipboardtextComponent\r\n  ]\r\n})\r\nexport class NgxFlipboardtextModule { }\r\n\r\n","/*\r\n * Public API Surface of ngx-flipboardtext\r\n */\r\n\r\nexport * from './lib/ngx-flipboardtext.component';\r\nexport * from './lib/ngx-flipboardtext.module';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.Base","i2.NgxFlipboardtextDirective"],"mappings":"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"}