{"version":3,"file":"ng-vagabond-lab-ng-dsv-ds-scroll.mjs","sources":["../../../projects/ng-dsv/ds/scroll/container/scroll.infinite.container.ts","../../../projects/ng-dsv/ds/scroll/container/scroll.infinite.container.html","../../../projects/ng-dsv/ds/scroll/ng-vagabond-lab-ng-dsv-ds-scroll.ts"],"sourcesContent":["import { Component, inject, input, output } from '@angular/core';\nimport { ScrollService } from '@ng-vagabond-lab/ng-dsv/base';\nimport { PlatformService } from '@ng-vagabond-lab/ng-dsv/platform';\n\nexport const SCROLL_BOTTOM_MIN = 100;\n\n@Component({\n  selector: 'dsv-scroll-infinite',\n  imports: [],\n  templateUrl: './scroll.infinite.container.html',\n  styleUrls: ['./scroll.infinite.container.scss'],\n})\nexport class ScrollInfiniteContainer {\n  platformService = inject(PlatformService);\n  scrollService = inject(ScrollService);\n\n  class = input<string>('infinite-scroll');\n\n  callback = output<void>();\n\n  doScroll() {\n    if (this.platformService.isPlatformBrowser()) {\n      const divScroll = document.getElementsByClassName(this.class())?.[0];\n      const scrollClientHeight = divScroll?.scrollTop + divScroll?.clientHeight;\n      const distanceToBottom = divScroll?.scrollHeight - scrollClientHeight;\n      this.scrollService.saveScroll(divScroll?.scrollTop);\n      this.scrollService.scroll.set(divScroll?.scrollTop);\n      if (distanceToBottom < SCROLL_BOTTOM_MIN) {\n        this.callback.emit();\n      }\n    }\n  }\n}\n","<div [class]=\"'scroll ' + class()\" (scroll)=\"doScroll()\">\n  <ng-content></ng-content>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;AAIO,MAAM,iBAAiB,GAAG;MAQpB,uBAAuB,CAAA;AAClC,IAAA,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC;AACzC,IAAA,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;AAErC,IAAA,KAAK,GAAG,KAAK,CAAS,iBAAiB,iDAAC;IAExC,QAAQ,GAAG,MAAM,EAAQ;IAEzB,QAAQ,GAAA;AACN,QAAA,IAAI,IAAI,CAAC,eAAe,CAAC,iBAAiB,EAAE,EAAE;AAC5C,YAAA,MAAM,SAAS,GAAG,QAAQ,CAAC,sBAAsB,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC;YACpE,MAAM,kBAAkB,GAAG,SAAS,EAAE,SAAS,GAAG,SAAS,EAAE,YAAY;AACzE,YAAA,MAAM,gBAAgB,GAAG,SAAS,EAAE,YAAY,GAAG,kBAAkB;YACrE,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,SAAS,EAAE,SAAS,CAAC;YACnD,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC;AACnD,YAAA,IAAI,gBAAgB,GAAG,iBAAiB,EAAE;AACxC,gBAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;YACtB;QACF;IACF;uGAnBW,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAvB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,uBAAuB,sPCZpC,sGAGA,EAAA,MAAA,EAAA,CAAA,iHAAA,CAAA,EAAA,CAAA;;2FDSa,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBANnC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,qBAAqB,WACtB,EAAE,EAAA,QAAA,EAAA,sGAAA,EAAA,MAAA,EAAA,CAAA,iHAAA,CAAA,EAAA;;;AERb;;AAEG;;;;"}