import { Directive, TemplateRef, EventEmitter, QueryList, Optional, Inject } from '@angular/core'; import { DisplayDensityBase, IDisplayDensityOptions, DisplayDensityToken } from '../core/density'; export interface IListChild { index: number; } /** @hidden */ @Directive({ selector: '[igxListBase]', standalone: true }) export class IgxListBaseDirective extends DisplayDensityBase { public itemClicked: EventEmitter; public allowLeftPanning: boolean; public allowRightPanning: boolean; public panEndTriggeringThreshold: number; public leftPan: EventEmitter; public rightPan: EventEmitter; public startPan: EventEmitter; public endPan: EventEmitter; public resetPan: EventEmitter; public panStateChange: EventEmitter; public children: QueryList; public listItemLeftPanningTemplate: IgxListItemLeftPanningTemplateDirective; public listItemRightPanningTemplate: IgxListItemRightPanningTemplateDirective; constructor(@Optional() @Inject(DisplayDensityToken) protected _displayDensityOptions: IDisplayDensityOptions) { super(_displayDensityOptions); } } export enum IgxListPanState { NONE, LEFT, RIGHT } @Directive({ selector: '[igxEmptyList]', standalone: true }) export class IgxEmptyListTemplateDirective { constructor(public template: TemplateRef) { } } @Directive({ selector: '[igxDataLoading]', standalone: true }) export class IgxDataLoadingTemplateDirective { constructor(public template: TemplateRef) { } } @Directive({ selector: '[igxListItemLeftPanning]', standalone: true }) export class IgxListItemLeftPanningTemplateDirective { constructor(public template: TemplateRef) { } } @Directive({ selector: '[igxListItemRightPanning]', standalone: true }) export class IgxListItemRightPanningTemplateDirective { constructor(public template: TemplateRef) { } }