{"version":3,"file":"omnedia-ngx-fade.mjs","sources":["../../../projects/ngx-fade/src/lib/ngx-fade.component.ts","../../../projects/ngx-fade/src/lib/ngx-fade.component.html","../../../projects/ngx-fade/src/public-api.ts","../../../projects/ngx-fade/src/omnedia-ngx-fade.ts"],"sourcesContent":["import {\r\n  AfterViewInit,\r\n  ChangeDetectionStrategy,\r\n  ChangeDetectorRef,\r\n  Component,\r\n  ElementRef,\r\n  Inject,\r\n  Input,\r\n  OnDestroy,\r\n  PLATFORM_ID,\r\n  ViewChild,\r\n} from \"@angular/core\";\r\nimport {CommonModule, isPlatformBrowser} from \"@angular/common\";\r\n\r\n@Component({\r\n  selector: \"om-fade\",\r\n  standalone: true,\r\n  imports: [CommonModule],\r\n  templateUrl: \"./ngx-fade.component.html\",\r\n  styleUrl: \"./ngx-fade.component.scss\",\r\n  changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class NgxFadeComponent implements AfterViewInit, OnDestroy {\r\n  @ViewChild(\"OmFadeElement\") omFadeElement!: ElementRef<HTMLElement>;\r\n\r\n  @Input(\"direction\")\r\n  direction?: \"up\" | \"down\" | \"left\" | \"right\";\r\n\r\n  @Input(\"animateOnlyOnce\")\r\n  animateOnlyOnce = false;\r\n\r\n  @Input(\"transitionDuration\")\r\n  set transitionDuration(duration: string) {\r\n    this.style[\"--om-fade-transition-duration\"] = duration;\r\n  }\r\n\r\n  @Input(\"transitionFunction\")\r\n  set transitionFunction(easeFunction: string) {\r\n    this.style[\"--om-fade-transition-function\"] = easeFunction;\r\n  }\r\n\r\n  @Input(\"customTransform\")\r\n  set customTransform(customTransform: string) {\r\n    this.style[\"transform\"] = `${customTransform}`;\r\n  }\r\n\r\n  style: any = {};\r\n\r\n  inViewport = false;\r\n  intersectionObserver?: IntersectionObserver;\r\n\r\n  constructor(\r\n    @Inject(PLATFORM_ID) private platformId: Object,\r\n    private readonly cdr: ChangeDetectorRef,\r\n  ) {\r\n  }\r\n\r\n  ngAfterViewInit() {\r\n    this.initObserver();\r\n  }\r\n\r\n  ngOnDestroy() {\r\n    if (this.intersectionObserver) {\r\n      this.intersectionObserver.disconnect();\r\n    }\r\n  }\r\n\r\n  private initObserver(): void {\r\n    if (!isPlatformBrowser(this.platformId)) {\r\n      return;\r\n    }\r\n\r\n    this.intersectionObserver = new IntersectionObserver(([entry]) => {\r\n      if (entry.isIntersecting !== this.inViewport) {\r\n        if (this.animateOnlyOnce && this.inViewport && !entry.isIntersecting) {\r\n          this.inViewport = true;\r\n        } else {\r\n          this.inViewport = entry.isIntersecting;\r\n          this.cdr.detectChanges();\r\n        }\r\n      }\r\n    });\r\n\r\n    this.intersectionObserver.observe(this.omFadeElement.nativeElement);\r\n  }\r\n}\r\n","<div class=\"om-fade\" #OmFadeElement>\r\n  <div class=\"om-fade-content\" [ngStyle]=\"style\" [ngClass]=\"direction\" [class.show]=\"inViewport\">\r\n    <ng-content></ng-content>\r\n  </div>\r\n</div>\r\n","/*\r\n * Public API Surface of ngx-fade\r\n */\r\n\r\nexport * from './lib/ngx-fade.component';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}