import { Directive , ViewContainerRef , ContentChildren , ContentChild } from '@angular/core' ; import { ComplexBase , ArrayBase , setValue } from '@syncfusion/ej2-angular-base' ; import { Template } from '@syncfusion/ej2-angular-base' ; let input = [ 'content' , 'cssClass' , 'disabled' , 'header' , 'headerTemplate' , 'id' , 'visible' ] ; let outputs = [ ] ; /**
 * 'e-tabitem' directive represent a item of the Angular Tab.
 * It must be contained in a Tab component(`ejs-tab`).
 * ```html
 * <ejs-tab>
 *  <e-tabitems>
 *   <e-tabitem [header]='Header 1' [content]='Content 1'></e-tabitem>
 *   <e-tabitem [header]='Header 2' [content]='Content 2'></e-tabitem>
 *  <e-tabitems>
 * </ejs-tab>
 * ```
 */ @ Directive ( { selector : 'e-tabitems>e-tabitem' , inputs : input , outputs : outputs , queries : { } } ) export class TabItemDirective extends ComplexBase < TabItemDirective > { public directivePropList : any ; default public cssClass : any ; default public disabled : any ; default public header : any ; default public id : any ; default public visible : any ; default @ ContentChild ( 'content' ) @ Template ( ) public content : any ; @ ContentChild ( 'headerText' ) @ Template ( ) public header_text : any ; default @ ContentChild ( 'headerTemplate' ) @ Template ( ) public headerTemplate : any ; constructor ( private viewContainerRef ) { super ( ) ; setValue ( 'currentInstance' , this , this . viewContainerRef ) ; this . registerEvents ( outputs ) ; this . directivePropList = input ; } } private @ Directive ( { selector : 'ejs-tab>e-tabitems' , queries : { children : new ContentChildren ( TabItemDirective ) } , } ) export class TabItemsDirective extends ArrayBase < TabItemsDirective > { constructor ( ) { super ( 'items' ) ; } }