{ "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", "libs/galaxy/infinite-scroll-trigger/public_api.ts", "libs/galaxy/infinite-scroll-trigger/index.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 standalone: false,\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", "export * from './src/infinite-scroll-trigger.module';\n", "// Export things like public API, and interfaces from here.\nexport * from './public_api';\n"], "mappings": "gOAAA,MAkBaA,EAlBbC,EAAAC,EAAA,KAAAC,gBAkBaH,GAA8B,IAAA,CAArC,MAAOA,CAA8B,CAezC,IAAqCI,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,iDAhDWzB,GAA8B0B,EAAAC,CAAA,CAAA,CAAA,CAAA,+BAA9B3B,EAA8B4B,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,kPClB3C6B,EAAA,EAAA,MAAA,CAAA,EACEC,EAAA,CAAA,EACFC,EAAA,QAFgCH,EAAA,aAAAF,EAAAtB,UAAA,IAAA;wIDkBnBV,CAA8B,GAAA,IElB3C,IAMasC,EASAC,EAfbC,EAAAC,EAAA,KACAC,QAKaJ,EAAiB,CAACK,CAAY,EAS9BJ,GAAiC,IAAA,CAAxC,MAAOA,CAAiC,iDAAjCA,EAAiC,CAAA,+BAAjCA,CAAiC,CAAA,CAAA,mCAHnCD,CAAc,CAAA,CAAA,CAAA,SAGZC,CAAiC,GAAA,ICf9C,IAAAK,EAAAC,EAAA,KAAAC,MCAA,IAAAC,EAAAC,EAAA,KACAC", "names": ["InfiniteScrollTriggerComponent", "init_infinite_scroll_trigger_component", "__esmMin", "init_core", "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", "MODULE_IMPORTS", "GalaxyInfiniteScrollTriggerModule", "init_infinite_scroll_trigger_module", "__esmMin", "init_common", "CommonModule", "init_public_api", "__esmMin", "init_infinite_scroll_trigger_module", "init_infinite_scroll_trigger", "__esmMin", "init_public_api"] }