{"version":3,"file":"vk-marquee-overflow.mjs","sources":["../../../projects/vk-marquee-overflow/src/lib/marquee-overflow/marquee-overflow/marquee-overflow.component.ts","../../../projects/vk-marquee-overflow/src/lib/marquee-overflow/marquee-overflow/marquee-overflow.component.html","../../../projects/vk-marquee-overflow/src/lib/marquee-overflow.module.ts","../../../projects/vk-marquee-overflow/src/public-api.ts","../../../projects/vk-marquee-overflow/src/vk-marquee-overflow.ts"],"sourcesContent":["import { Component, OnInit, ChangeDetectionStrategy, Input, ViewChild, ElementRef } from '@angular/core';\n\n@Component({\n  selector: 'marquee-overflow',\n  templateUrl: './marquee-overflow.component.html',\n  styleUrls: ['./marquee-overflow.component.scss'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MarqueeOverflowComponent implements OnInit {\n\n  myStyles = {};\n  width: number;\n  marquee: HTMLMarqueeElement;\n\n  @Input() idName: string;\n  \n  @Input() text: string;\n  @Input() marqueeOnOverflow: boolean = false;\n  @Input() stopOnMouseOver: boolean = true;\n  @Input() scrollAmount: number;\n\n  constructor() { }\n\n  ngOnInit() {\n  }\n\n  ngAfterViewInit(): void {\n\n    let text = document.getElementById(this.idName);\n    this.width = text.parentElement.offsetWidth\n    this.myStyles = {\n      'max-width': this.width + 'px',\n      'white-space': 'nowrap',\n      'overflow': 'hidden',\n    }\n\n    if (this.isElementOverflowing(text) || !this.marqueeOnOverflow) {\n      this.wrapContentsInMarquee(text);\n    }\n  }\n\n  isElementOverflowing(element) {\n    var overflowX = element.offsetWidth < element.scrollWidth,\n      overflowY = element.offsetHeight < element.scrollHeight;\n\n    return (overflowX || overflowY);\n  }\n\n  wrapContentsInMarquee(element) {\n    this.marquee = document.createElement('marquee');\n    let contents = element.innerText + ' - ' + element.innerText + ' - ' + element.innerText + ' - ' + element.innerText + ' - ' + element.innerText + ' - ' + element.innerText + ' - ' + element.innerText;\n\n    this.marquee.scrollAmount = this.scrollAmount;\n    this.marquee.innerText = contents;\n    element.innerHTML = '';\n    element.appendChild(this.marquee);\n  }\n\n  stopMarquee(event) {\n    let element = event.target.localName;\n    if (element == 'marquee' && this.stopOnMouseOver) {\n      this.marquee.stop()\n    }\n  }\n\n  startMarquee(event) {\n    let element = event.target.localName;\n    if (element == 'marquee' && this.stopOnMouseOver) {\n      this.marquee.start()\n    }\n  }\n\n}\n\n","<div>\n    <p (mouseover)=\"stopMarquee($event)\" (mouseout)=\"startMarquee($event)\" [id]=\"idName\" [ngStyle]=\"myStyles\">{{text}}</p>\n</div>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MarqueeOverflowComponent } from './marquee-overflow/marquee-overflow/marquee-overflow.component';\n\n\n\n@NgModule({\n  declarations: [MarqueeOverflowComponent],\n  imports: [\n    CommonModule\n  ],\n  exports: [MarqueeOverflowComponent]\n})\nexport class MarqueeOverflowModule { }\n","/*\n * Public API Surface of marquee-overflow\n */\n\nexport * from './lib/marquee-overflow.module';\nexport * from './lib/marquee-overflow/marquee-overflow/marquee-overflow.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}