{ "version": 3, "sources": ["libs/galaxy/infinite-scroll-trigger/src/infinite-scroll-trigger.component.ts", "libs/galaxy/infinite-scroll-trigger/src/infinite-scroll-trigger.component.html", "libs/galaxy/infinite-scroll-trigger/src/infinite-scroll-trigger.module.ts"], "sourcesContent": ["import {\n AfterViewInit,\n Component,\n ElementRef,\n EventEmitter,\n HostBinding,\n Input,\n OnDestroy,\n OnInit,\n Output,\n} from '@angular/core';\n\n@Component({\n selector: 'glxy-infinite-scroll-trigger',\n templateUrl: './infinite-scroll-trigger.component.html',\n styleUrls: ['./infinite-scroll-trigger.component.scss'],\n})\nexport class InfiniteScrollTriggerComponent implements OnInit, OnDestroy, AfterViewInit {\n @HostBinding('class') class = 'glxy-infinite-scroll-trigger';\n\n /** In Pixels (px). How far above the element to trigger `isVisible` emitter */\n @Input() visiblilityMargin = 120;\n\n /** In Pixels (px). The minimum height of the is-visible component. Useful if you want more scroll room for infinite scroll */\n @Input() minHeight = 0;\n\n /** Emits when component (with visiblilityMargin) enters the viewport */\n @Output() isVisible: EventEmitter = new EventEmitter();\n\n /** Emits when component (with visiblilityMargin) leaves the viewport */\n @Output() isHidden: EventEmitter = new EventEmitter();\n\n @HostBinding('style.margin-top') get marginTopStyle(): string {\n return `-${this.visiblilityMargin}px`;\n }\n\n @HostBinding('style.padding-top') get paddingTopStyle(): string {\n return `${this.visiblilityMargin}px`;\n }\n\n private observer?: IntersectionObserver;\n\n constructor(private el: ElementRef) {}\n\n ngOnInit(): void {\n this.observer = new IntersectionObserver(\n (entries) => {\n if (entries[0].isIntersecting === true) {\n this.isVisible.emit();\n } else {\n this.isHidden.emit();\n }\n },\n {\n threshold: 0,\n },\n );\n }\n\n ngAfterViewInit(): void {\n this.observer?.observe(this.el.nativeElement as HTMLElement);\n }\n\n ngOnDestroy(): void {\n this.observer?.disconnect();\n }\n}\n", "
\n \n
\n", "import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { InfiniteScrollTriggerComponent } from './infinite-scroll-trigger.component';\nexport { InfiniteScrollTriggerComponent };\n\nexport const MODULE_IMPORTS = [CommonModule];\n\nexport const MODULE_DECLARATIONS = [InfiniteScrollTriggerComponent];\n\n@NgModule({\n declarations: MODULE_DECLARATIONS,\n imports: MODULE_IMPORTS,\n exports: [InfiniteScrollTriggerComponent],\n})\nexport class GalaxyInfiniteScrollTriggerModule {}\n"], "mappings": "qJAiBaA,GAA8B,IAAA,CAArC,IAAOA,EAAP,MAAOA,CAA8B,CAezC,IAAqCC,gBAAc,CACjD,MAAO,IAAI,KAAKC,iBAAiB,IACnC,CAEA,IAAsCC,iBAAe,CACnD,MAAO,GAAG,KAAKD,iBAAiB,IAClC,CAIAE,YAAoBC,EAAc,CAAd,KAAAA,GAAAA,EAxBE,KAAAC,MAAQ,+BAGrB,KAAAJ,kBAAoB,IAGpB,KAAAK,UAAY,EAGX,KAAAC,UAAgC,IAAIC,EAGpC,KAAAC,SAA+B,IAAID,CAYR,CAErCE,UAAQ,CACN,KAAKC,SAAW,IAAIC,qBACjBC,GAAW,CACNA,EAAQ,CAAC,EAAEC,iBAAmB,GAChC,KAAKP,UAAUQ,KAAI,EAEnB,KAAKN,SAASM,KAAI,CAEtB,EACA,CACEC,UAAW,EACZ,CAEL,CAEAC,iBAAe,CACb,KAAKN,UAAUO,QAAQ,KAAKd,GAAGe,aAA4B,CAC7D,CAEAC,aAAW,CACT,KAAKT,UAAUU,WAAU,CAC3B,yCAhDWtB,GAA8BuB,EAAAC,CAAA,CAAA,CAAA,sBAA9BxB,EAA8ByB,UAAA,CAAA,CAAA,8BAAA,CAAA,EAAAC,SAAA,EAAAC,aAAA,SAAAC,EAAAC,EAAA,CAAAD,EAAA,IAA9BE,EAAAD,EAAAvB,KAAA,EAAAyB,EAAA,aAAAF,EAAA5B,cAAA,EAA8B,cAAA4B,EAAA1B,eAAA,oOCjB3C6B,EAAA,EAAA,MAAA,CAAA,EACEC,EAAA,CAAA,EACFC,EAAA,QAFgCH,EAAA,aAAAF,EAAAtB,UAAA,IAAA;+HDiB1B,IAAOP,EAAPmC,SAAOnC,CAA8B,GAAA,EEXpC,IAAMoC,EAAiB,CAACC,CAAY,EAS3C,IAAaC,GAAiC,IAAA,CAAxC,IAAOA,EAAP,MAAOA,CAAiC,yCAAjCA,EAAiC,sBAAjCA,CAAiC,CAAA,0BAHnCC,CAAc,CAAA,CAAA,EAGnB,IAAOD,EAAPE,SAAOF,CAAiC,GAAA", "names": ["InfiniteScrollTriggerComponent", "marginTopStyle", "visiblilityMargin", "paddingTopStyle", "constructor", "el", "class", "minHeight", "isVisible", "EventEmitter", "isHidden", "ngOnInit", "observer", "IntersectionObserver", "entries", "isIntersecting", "emit", "threshold", "ngAfterViewInit", "observe", "nativeElement", "ngOnDestroy", "disconnect", "\u0275\u0275directiveInject", "ElementRef", "selectors", "hostVars", "hostBindings", "rf", "ctx", "\u0275\u0275classMap", "\u0275\u0275styleProp", "\u0275\u0275elementStart", "\u0275\u0275projection", "\u0275\u0275elementEnd", "_InfiniteScrollTriggerComponent", "MODULE_IMPORTS", "CommonModule", "GalaxyInfiniteScrollTriggerModule", "MODULE_IMPORTS", "_GalaxyInfiniteScrollTriggerModule"] }