import { ContentChild , Directive , EventEmitter , forwardRef , HostBinding , Input , Output } from '@angular/core' ; import { MovingDirection } from '../util/moving-direction.enum' ; import { WizardStep } from '../util/wizard-step.interface' ; import { WizardStepTitleDirective } from './wizard-step-title.directive' ; author Marc Arndt
  @ Directive ( { selector : '[wizardStep]' , providers : [ { provide : WizardStep , useExisting : forwardRef ( ( ) => WizardStepDirective ) } ] , } ) export class WizardStepDirective extends WizardStep { inheritDoc @ ContentChild ( WizardStepTitleDirective ) public titleTemplate : WizardStepTitleDirective ; inheritDoc @ Input ( ) public title : string ; inheritDoc @ Input ( ) public navigationSymbol = '' ; inheritDoc @ Input ( ) public navigationSymbolFontFamily : string ; inheritDoc @ Input ( ) public canExit : ( ( direction : MovingDirection ) => boolean ) | boolean = true ; inheritDoc @ Output ( ) public stepEnter = new EventEmitter < MovingDirection > ( ) ; inheritDoc @ Output ( ) public stepExit = new EventEmitter < MovingDirection > ( ) ; inheritDoc @ HostBinding ( 'hidden' ) public get hidden ( ) : boolean { return ! this . selected ; } inheritDoc public completed = false ; inheritDoc public selected = false ; inheritDoc public optional = false ; /**
     * Constructor
     */ constructor ( ) { super ( ) ; } inheritDoc enter ( direction ) { this . stepEnter . emit ( direction ) ; } inheritDoc exit ( direction ) { this . stepExit . emit ( direction ) ; } }