{"version":3,"file":"omnedia-ngx-shiny-text.mjs","sources":["../../../projects/ngx-shiny-text/src/lib/ngx-shiny-text.component.ts","../../../projects/ngx-shiny-text/src/lib/ngx-shiny-text.component.html","../../../projects/ngx-shiny-text/src/public-api.ts","../../../projects/ngx-shiny-text/src/omnedia-ngx-shiny-text.ts"],"sourcesContent":["import {CommonModule, isPlatformBrowser} from \"@angular/common\";\r\nimport {\r\n  AfterViewInit,\r\n  ChangeDetectionStrategy,\r\n  Component,\r\n  ElementRef,\r\n  Inject,\r\n  Input,\r\n  OnDestroy,\r\n  PLATFORM_ID,\r\n  signal,\r\n  ViewChild\r\n} from \"@angular/core\";\r\n\r\n@Component({\r\n  selector: \"om-shiny-text\",\r\n  standalone: true,\r\n  imports: [CommonModule],\r\n  templateUrl: \"./ngx-shiny-text.component.html\",\r\n  styleUrl: \"./ngx-shiny-text.component.scss\",\r\n  changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class NgxShinyTextComponent implements AfterViewInit, OnDestroy {\r\n  @ViewChild(\"OmShinyTextWrapper\") shinyTextRef!: ElementRef<HTMLElement>;\r\n\r\n  @Input(\"styleClass\")\r\n  styleClass?: string;\r\n\r\n  @Input(\"shimmerColor\")\r\n  set shimmerColor(color: string) {\r\n    this.style[\"--shimmer-color\"] = color;\r\n  }\r\n\r\n  @Input(\"textColor\")\r\n  set textColor(color: string) {\r\n    this.style[\"--text-color\"] = color;\r\n  }\r\n\r\n  @Input(\"shimmerWidth\")\r\n  set shimmerWidth(width: string) {\r\n    this.style[\"--shimmer-width\"] = width;\r\n  }\r\n\r\n  @Input(\"text\")\r\n  text!: string;\r\n\r\n  style: any = {};\r\n\r\n  isInView = signal(false);\r\n  private intersectionObserver?: IntersectionObserver;\r\n\r\n  constructor(\r\n    @Inject(PLATFORM_ID) private platformId: object\r\n  ) {\r\n  }\r\n\r\n  ngAfterViewInit(): void {\r\n    if (!this.text) {\r\n      throw new Error(\"om-shiny-text: no text was given to the component!\");\r\n    }\r\n\r\n    if (isPlatformBrowser(this.platformId)) {\r\n      this.intersectionObserver = new IntersectionObserver(([entry]) => {\r\n        this.isInView.set(entry.isIntersecting);\r\n      });\r\n      this.intersectionObserver.observe(this.shinyTextRef.nativeElement);\r\n    }\r\n  }\r\n\r\n  ngOnDestroy(): void {\r\n    if (this.intersectionObserver) {\r\n      this.intersectionObserver.disconnect();\r\n    }\r\n  }\r\n}\r\n","<span class=\"om-shiny-text\" [ngStyle]=\"style\" [ngClass]=\"styleClass\" [class.paused]=\"!isInView()\" #OmShinyTextWrapper>\r\n  {{ text }}\r\n</span>\r\n","/*\r\n * Public API Surface of ngx-shiny-text\r\n */\r\n\r\nexport * from \"./lib/ngx-shiny-text.component\";\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}