{"version":3,"file":"seniorsistemas-angular-components-infinite-scroll.mjs","sources":["../../projects/angular-components/infinite-scroll/src/lib/infinite-scroll/infinite-scroll.directive.ts","../../projects/angular-components/infinite-scroll/src/lib/infinite-scroll/infinite-scroll.module.ts","../../projects/angular-components/infinite-scroll/src/seniorsistemas-angular-components-infinite-scroll.ts"],"sourcesContent":["import { Directive, ElementRef, EventEmitter, HostListener, Output, inject } from '@angular/core';\r\n\r\n/**\r\n * @description Diretiva de scroll infinito que detecta quando o usuário chega\r\n * ao final do elemento e emite o evento `scrolled`. Deve ser aplicada a um\r\n * elemento com overflow e scroll habilitado.\r\n *\r\n * @example\r\n * ```html\r\n * <div sInfiniteScroll (scrolled)=\"carregarMais()\" style=\"overflow-y: auto; height: 400px\">\r\n *   <!-- itens -->\r\n * </div>\r\n * ```\r\n *\r\n * @category Data\r\n */\r\n@Directive({\r\n    selector: '[sInfiniteScroll]',\r\n    standalone: true,\r\n})\r\nexport class InfiniteScrollDirective {\r\n    private readonly el = inject(ElementRef);\r\n\r\n    /** @description Emitido quando o usuário atinge o final do elemento com scroll. */\r\n    @Output()\r\n    public scrolled = new EventEmitter<number>();\r\n\r\n    @HostListener('scroll')\r\n    public scroll() {\r\n        if (\r\n            this.el.nativeElement.scrollTop >\r\n            this.el.nativeElement.scrollHeight - this.el.nativeElement.offsetHeight - 2\r\n        ) {\r\n            this.scrolled.emit();\r\n        }\r\n    }\r\n}\r\n","import { NgModule } from '@angular/core';\r\n\r\nimport { InfiniteScrollDirective } from './infinite-scroll.directive';\r\n\r\n@NgModule({\r\n    imports: [InfiniteScrollDirective],\r\n    exports: [InfiniteScrollDirective],\r\n})\r\nexport class InfiniteScrollModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;AAEA;;;;;;;;;;;;;AAaG;MAKU,uBAAuB,CAAA;AACf,IAAA,EAAE,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;;AAIlC,IAAA,QAAQ,GAAG,IAAI,YAAY,EAAU,CAAC;IAGtC,MAAM,GAAA;AACT,QAAA,IACI,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,SAAS;AAC/B,YAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,YAAY,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,YAAY,GAAG,CAAC,EAC7E;AACE,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;SACxB;KACJ;wGAfQ,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;4FAAvB,uBAAuB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,OAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAAvB,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAJnC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,mBAAmB;AAC7B,oBAAA,UAAU,EAAE,IAAI;AACnB,iBAAA,CAAA;8BAMU,QAAQ,EAAA,CAAA;sBADd,MAAM;gBAIA,MAAM,EAAA,CAAA;sBADZ,YAAY;uBAAC,QAAQ,CAAA;;;MCnBb,oBAAoB,CAAA;wGAApB,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;yGAApB,oBAAoB,EAAA,OAAA,EAAA,CAHnB,uBAAuB,CAAA,EAAA,OAAA,EAAA,CACvB,uBAAuB,CAAA,EAAA,CAAA,CAAA;yGAExB,oBAAoB,EAAA,CAAA,CAAA;;4FAApB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAJhC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACN,OAAO,EAAE,CAAC,uBAAuB,CAAC;oBAClC,OAAO,EAAE,CAAC,uBAAuB,CAAC;AACrC,iBAAA,CAAA;;;ACPD;;AAEG;;;;"}