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' , 'expanded' , 'header' , 'iconCss' , 'id' , 'visible' ] ; let outputs = [ ] ; /**
 * 'e-accordionitem' directive represent a item of the Angular Accordion.
 * It must be contained in a Accordion component(`ejs-accordion`).
 * ```html
 * <ejs-accordion>
 *   <e-accordionitems>
 *    <e-accordionitem header='Header1'></e-accordionitem>
 *    <e-accordionitem header='Header2' content='Content2'></e-accordionitem>
 *   </e-accordionitems>
 * </ejs-accordion>
 * ```
 */ @ Directive ( { selector : 'e-accordionitems>e-accordionitem' , inputs : input , outputs : outputs , queries : { } } ) export class AccordionItemDirective extends ComplexBase < AccordionItemDirective > { public directivePropList : any ; default public cssClass : any ; default public disabled : any ; default public expanded : any ; default public iconCss : any ; default public id : any ; default public visible : any ; default @ ContentChild ( 'header' ) @ Template ( ) public header : any ; default @ ContentChild ( 'content' ) @ Template ( ) public content : any ; constructor ( private viewContainerRef ) { super ( ) ; setValue ( 'currentInstance' , this , this . viewContainerRef ) ; this . registerEvents ( outputs ) ; this . directivePropList = input ; } } private @ Directive ( { selector : 'ejs-accordion>e-accordionitems' , queries : { children : new ContentChildren ( AccordionItemDirective ) } , } ) export class AccordionItemsDirective extends ArrayBase < AccordionItemsDirective > { constructor ( ) { super ( 'items' ) ; } }