{"version":3,"file":"qualcomm-ui-angular-core-observers.mjs","sources":["../../src/observers/intersection-observer.directive.ts","../../src/observers/qualcomm-ui-angular-core-observers.ts"],"sourcesContent":["// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport {isPlatformServer} from \"@angular/common\"\nimport {\n  Directive,\n  ElementRef,\n  inject,\n  type OnInit,\n  output,\n  PLATFORM_ID,\n} from \"@angular/core\"\n\nimport {useOnDestroy} from \"@qualcomm-ui/angular-core/common\"\n\n@Directive({\n  selector: \"[qIntersectionObserver]\",\n})\nexport class IntersectionObserverDirective implements OnInit {\n  private elementRef = inject(ElementRef<HTMLElement>)\n  private platformId = inject(PLATFORM_ID)\n  private onDestroy = useOnDestroy()\n\n  qIntersectionObserver = output<IntersectionObserverEntry[]>()\n\n  ngOnInit() {\n    this.initObserver()\n  }\n\n  private initObserver() {\n    const element = this.elementRef.nativeElement\n    if (isPlatformServer(this.platformId) || !element) {\n      return\n    }\n\n    const observer = new IntersectionObserver((entries) => {\n      this.qIntersectionObserver.emit(entries)\n    })\n\n    observer.observe(element)\n\n    this.onDestroy(() => {\n      observer.disconnect()\n    })\n  }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;AAAA;AACA;MAiBa,6BAA6B,CAAA;AAChC,IAAA,UAAU,GAAG,MAAM,EAAC,UAAuB,EAAC;AAC5C,IAAA,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC;IAChC,SAAS,GAAG,YAAY,EAAE;IAElC,qBAAqB,GAAG,MAAM,EAA+B;IAE7D,QAAQ,GAAA;QACN,IAAI,CAAC,YAAY,EAAE;IACrB;IAEQ,YAAY,GAAA;AAClB,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa;QAC7C,IAAI,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE;YACjD;QACF;QAEA,MAAM,QAAQ,GAAG,IAAI,oBAAoB,CAAC,CAAC,OAAO,KAAI;AACpD,YAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC;AAC1C,QAAA,CAAC,CAAC;AAEF,QAAA,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC;AAEzB,QAAA,IAAI,CAAC,SAAS,CAAC,MAAK;YAClB,QAAQ,CAAC,UAAU,EAAE;AACvB,QAAA,CAAC,CAAC;IACJ;wGA1BW,6BAA6B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;4FAA7B,6BAA6B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,OAAA,EAAA,EAAA,qBAAA,EAAA,uBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;4FAA7B,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBAHzC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,yBAAyB;AACpC,iBAAA;;;ACjBD;;AAEG;;;;"}