import {Directive, Input} from '@angular/core'; import {ScrollerContentOptions} from 'primeng/scroller'; interface CoolScrollerContentOptions extends ScrollerContentOptions { items?: T[]; } interface TableRowTemplateContext { $implicit: T; options: CoolScrollerContentOptions; } @Directive({ selector: 'ng-template[appVirtualScroll]' }) export class VirtualScrollDirective{ @Input('appVirtualScroll') items!: T[]; static ngTemplateContextGuard( _dir: VirtualScrollDirective, _ctx: unknown ): _ctx is TableRowTemplateContext { return true; } }