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 = [ 'align' , 'cssClass' , 'disabled' , 'htmlAttributes' , 'id' , 'overflow' , 'prefixIcon' , 'showAlwaysInPopup' , 'showTextOn' , 'suffixIcon' , 'template' , 'text' , 'tooltipText' , 'type' , 'visible' , 'width' ] ; let outputs = [ 'click' ] ; /**
 * 'e-item' directive represent a item of the Angular Toolbar.
 * It must be contained in a Toolbar component(`ejs-toolbar`).
 * ```html
 * <ejs-toolbar>
 *   <e-items>
 *    <e-item text='Cut'></e-item>
 *    <e-item text='Copy'></e-item>
 *   </e-items>
 * </ejs-toolbar>
 * ```
 */ @ Directive ( { selector : 'e-items>e-item' , inputs : input , outputs : outputs , queries : { } } ) export class ItemDirective extends ComplexBase < ItemDirective > { public directivePropList : any ; public click : any ; default public type : any ; default public align : any ; default public cssClass : any ; default public disabled : any ; default public htmlAttributes : any ; default public id : any ; default public overflow : any ; default public prefixIcon : any ; default public showAlwaysInPopup : any ; default public showTextOn : any ; default public suffixIcon : any ; default public text : any ; default public tooltipText : any ; default public visible : any ; default public width : any ; default @ ContentChild ( 'template' ) @ Template ( ) public template : any ; constructor ( private viewContainerRef ) { super ( ) ; setValue ( 'currentInstance' , this , this . viewContainerRef ) ; this . registerEvents ( outputs ) ; this . directivePropList = input ; } } private @ Directive ( { selector : 'ejs-toolbar>e-items' , queries : { children : new ContentChildren ( ItemDirective ) } , } ) export class ItemsDirective extends ArrayBase < ItemsDirective > { constructor ( ) { super ( 'items' ) ; } }