{"version":3,"file":"axulus-uikit-animate.mjs","sources":["../../src/app/components/animate/animate.ts","../../src/app/components/animate/axulus-uikit-animate.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport { AfterViewInit, Directive, ElementRef, Input, NgModule, Renderer2 } from '@angular/core';\nimport { DomHandler } from '@axulus/uikit/dom';\n\n@Directive({\n  selector: '[pAnimate]',\n  host: {\n    '[class.p-animate]': 'true'\n  }\n})\nexport class Animate implements AfterViewInit {\n  @Input() enterClass: string;\n\n  observer: IntersectionObserver;\n\n  constructor(private host: ElementRef, public el: ElementRef, public renderer: Renderer2) {}\n\n  ngAfterViewInit() {\n    this.bindIntersectionObserver();\n  }\n\n  bindIntersectionObserver() {\n    const options = {\n      root: null,\n      rootMargin: '0px',\n      threshold: 1.0\n    };\n\n    this.observer = new IntersectionObserver((el) => this.isVisible(el), options);\n    this.observer.observe(this.host.nativeElement);\n  }\n\n  isVisible(element: IntersectionObserverEntry[]) {\n    const [intersectionObserverEntry] = element;\n    intersectionObserverEntry.isIntersecting ? this.enter() : this.leave();\n  }\n\n  enter() {\n    this.host.nativeElement.style.visibility = 'visible';\n    DomHandler.addClass(this.host.nativeElement, this.enterClass);\n  }\n\n  leave() {\n    DomHandler.removeClass(this.host.nativeElement, this.enterClass);\n    this.host.nativeElement.style.visibility = 'hidden';\n  }\n\n  unbindIntersectionObserver() {\n    if (this.observer) {\n      this.observer.unobserve(this.host.nativeElement);\n    }\n  }\n\n  ngOnDestroy() {\n    this.unbindIntersectionObserver();\n  }\n}\n\n@NgModule({\n  imports: [CommonModule],\n  exports: [Animate],\n  declarations: [Animate]\n})\nexport class AnimateModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;;;;MAUa,OAAO,CAAA;AAKlB,IAAA,WAAA,CAAoB,IAAgB,EAAS,EAAc,EAAS,QAAmB,EAAA;QAAnE,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAY;QAAS,IAAE,CAAA,EAAA,GAAF,EAAE,CAAY;QAAS,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAW;KAAI;IAE3F,eAAe,GAAA;QACb,IAAI,CAAC,wBAAwB,EAAE,CAAC;KACjC;IAED,wBAAwB,GAAA;AACtB,QAAA,MAAM,OAAO,GAAG;AACd,YAAA,IAAI,EAAE,IAAI;AACV,YAAA,UAAU,EAAE,KAAK;AACjB,YAAA,SAAS,EAAE,GAAG;SACf,CAAC;QAEF,IAAI,CAAC,QAAQ,GAAG,IAAI,oBAAoB,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;QAC9E,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;KAChD;AAED,IAAA,SAAS,CAAC,OAAoC,EAAA;AAC5C,QAAA,MAAM,CAAC,yBAAyB,CAAC,GAAG,OAAO,CAAC;AAC5C,QAAA,yBAAyB,CAAC,cAAc,GAAG,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;KACxE;IAED,KAAK,GAAA;QACH,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,UAAU,GAAG,SAAS,CAAC;AACrD,QAAA,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;KAC/D;IAED,KAAK,GAAA;AACH,QAAA,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QACjE,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAC;KACrD;IAED,0BAA0B,GAAA;QACxB,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AAClD,SAAA;KACF;IAED,WAAW,GAAA;QACT,IAAI,CAAC,0BAA0B,EAAE,CAAC;KACnC;;oGA7CU,OAAO,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;wFAAP,OAAO,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAAP,OAAO,EAAA,UAAA,EAAA,CAAA;kBANnB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,YAAY;AACtB,oBAAA,IAAI,EAAE;AACJ,wBAAA,mBAAmB,EAAE,MAAM;AAC5B,qBAAA;AACF,iBAAA,CAAA;kJAEU,UAAU,EAAA,CAAA;sBAAlB,KAAK;;MAoDK,aAAa,CAAA;;0GAAb,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAb,aAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,EArDb,YAAA,EAAA,CAAA,OAAO,CAiDR,EAAA,OAAA,EAAA,CAAA,YAAY,aAjDX,OAAO,CAAA,EAAA,CAAA,CAAA;AAqDP,aAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,YAJd,YAAY,CAAA,EAAA,CAAA,CAAA;2FAIX,aAAa,EAAA,UAAA,EAAA,CAAA;kBALzB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,OAAO,EAAE,CAAC,YAAY,CAAC;oBACvB,OAAO,EAAE,CAAC,OAAO,CAAC;oBAClB,YAAY,EAAE,CAAC,OAAO,CAAC;AACxB,iBAAA,CAAA;;;AC9DD;;AAEG;;;;"}