/**
 * This file is generated by the Angular 2 template compiler.
 * Do not edit.
 */
 /* tslint:disable */

import * as import0 from '../../../../../../tmp/app/shared/components/home/home.component';
import * as import1 from '@angular/core/src/linker/view';
import * as import2 from '@angular/core/src/render/api';
import * as import3 from '@angular/core/src/linker/element';
import * as import4 from '@angular/core/src/linker/view_utils';
import * as import5 from '@angular/core/src/di/injector';
import * as import6 from '@angular/core/src/linker/view_type';
import * as import7 from '@angular/core/src/change_detection/change_detection';
import * as import8 from '@angular/core/src/metadata/view';
import * as import9 from '@angular/core/src/linker/component_factory';
import * as import10 from './home.component.css.shim';
import * as import11 from '@angular/core/src/animation/animation_transition';
import * as import12 from '@angular/core/src/animation/animation_style_util';
import * as import13 from '@angular/core/src/animation/animation_sequence_player';
import * as import14 from '@angular/core/src/animation/animation_styles';
import * as import15 from '@angular/core/src/animation/animation_keyframe';
import * as import16 from '@angular/core/src/animation/animation_player';
import * as import17 from '../../../../../node_modules/@angular/common/src/directives/ng_class.ngfactory';
import * as import18 from '@angular/core/src/change_detection/differs/iterable_differs';
import * as import19 from '@angular/core/src/change_detection/differs/keyvalue_differs';
import * as import20 from '@angular/core/src/linker/element_ref';
import * as import21 from '@angular/common/src/directives/ng_class';
export class Wrapper_HomeComponent {
  context:import0.HomeComponent;
  changed:boolean;
  constructor() {
    this.changed = false;
    this.context = new import0.HomeComponent();
  }
  detectChangesInInputProps(view:import1.AppView<any>,el:any,throwOnChange:boolean):boolean {
    var changed:any = this.changed;
    this.changed = false;
    return changed;
  }
  detectChangesInHostProps(view:import1.AppView<any>,el:any,throwOnChange:boolean):void {
  }
}
var renderType_HomeComponent_Host:import2.RenderComponentType = (null as any);
class _View_HomeComponent_Host0 extends import1.AppView<any> {
  _el_0:any;
  /*private*/ _appEl_0:import3.AppElement;
  _HomeComponent_0_4:Wrapper_HomeComponent;
  constructor(viewUtils:import4.ViewUtils,parentInjector:import5.Injector,declarationEl:import3.AppElement) {
    super(_View_HomeComponent_Host0,renderType_HomeComponent_Host,import6.ViewType.HOST,viewUtils,parentInjector,declarationEl,import7.ChangeDetectorStatus.CheckAlways);
  }
  createInternal(rootSelector:string):import3.AppElement {
    this._el_0 = import4.selectOrCreateRenderHostElement(this.renderer,'my-app-home',import4.EMPTY_INLINE_ARRAY,rootSelector,(null as any));
    this._appEl_0 = new import3.AppElement(0,(null as any),this,this._el_0);
    var compView_0:any = viewFactory_HomeComponent0(this.viewUtils,this.injector(0),this._appEl_0);
    this._HomeComponent_0_4 = new Wrapper_HomeComponent();
    this._appEl_0.initComponent(this._HomeComponent_0_4.context,([] as any[]),compView_0);
    compView_0.create(this._HomeComponent_0_4.context,this.projectableNodes,(null as any));
    this.init(([] as any[]).concat([this._el_0]),[this._el_0],([] as any[]),([] as any[]));
    return this._appEl_0;
  }
  injectorGetInternal(token:any,requestNodeIndex:number,notFoundResult:any):any {
    if (((token === import0.HomeComponent) && (0 === requestNodeIndex))) { return this._HomeComponent_0_4.context; }
    return notFoundResult;
  }
  detectChangesInternal(throwOnChange:boolean):void {
    this._HomeComponent_0_4.detectChangesInInputProps(this,this._el_0,throwOnChange);
    this.detectContentChildrenChanges(throwOnChange);
    this._HomeComponent_0_4.detectChangesInHostProps(this,this._el_0,throwOnChange);
    this.detectViewChildrenChanges(throwOnChange);
  }
  destroyInternal():void {
    this._HomeComponent_0_4.context.ngOnDestroy();
  }
}
function viewFactory_HomeComponent_Host0(viewUtils:import4.ViewUtils,parentInjector:import5.Injector,declarationEl:import3.AppElement):import1.AppView<any> {
  if ((renderType_HomeComponent_Host === (null as any))) { (renderType_HomeComponent_Host = viewUtils.createRenderComponentType('',0,import8.ViewEncapsulation.None,([] as any[]),{})); }
  return new _View_HomeComponent_Host0(viewUtils,parentInjector,declarationEl);
}
export const HomeComponentNgFactory:import9.ComponentFactory<import0.HomeComponent> = new import9.ComponentFactory<import0.HomeComponent>('my-app-home',viewFactory_HomeComponent_Host0,import0.HomeComponent);
const styles_HomeComponent:any[] = [import10.styles];
var HomeComponent_intro_states:any = {
  void: {
    opacity: '0.0',
    transform: 'translateZ(-1000px)'
  }
  ,
  active: {
    opacity: '1.0',
    transform: 'translateZ(0px)',
    perspective: '1000px'
  }
  ,
  inactive: {
    opacity: '0.0',
    transform: 'translateZ(-1000px)',
    perspective: '1000px'
  }
  ,
  '*': {}
}
;
function HomeComponent_intro_factory(view:import1.AppView<any>,element:any,currentState:any,nextState:any):import11.AnimationTransition {
  view.animationContext.cancelActiveAnimation(element,'intro',(nextState == 'void'));
  var collectedStyles:any = {};
  var player:any = (null as any);
  var totalTime:any = 0;
  var defaultStateStyles:any = HomeComponent_intro_states['*'];
  var startStateStyles:any = HomeComponent_intro_states[currentState];
  if ((startStateStyles == (null as any))) { (startStateStyles = defaultStateStyles); }
  var endStateStyles:any = HomeComponent_intro_states[nextState];
  if ((endStateStyles == (null as any))) { (endStateStyles = defaultStateStyles); }
  import12.renderStyles(element,view.renderer,import12.clearStyles(startStateStyles));
  if (((player == (null as any)) && ((currentState == 'active') && (nextState == 'void')))) {
      player = new import13.AnimationSequencePlayer([view.renderer.animate(element,new import14.AnimationStyles(import12.collectAndResolveStyles(collectedStyles,[startStateStyles])),import12.balanceAnimationKeyframes(collectedStyles,endStateStyles,[
        new import15.AnimationKeyframe(0,new import14.AnimationStyles(import12.collectAndResolveStyles(collectedStyles,[{}]))),
        new import15.AnimationKeyframe(1,new import14.AnimationStyles(import12.collectAndResolveStyles(collectedStyles,[{}])))
      ]
    ),5000,0,'cubic-bezier(0.19, 1, 0.22, 1)')]);
    totalTime = 5000;
  }
  if (((player == (null as any)) && ((currentState == 'void') && (nextState == 'active')))) {
      player = new import13.AnimationSequencePlayer([view.renderer.animate(element,new import14.AnimationStyles(import12.collectAndResolveStyles(collectedStyles,[startStateStyles])),import12.balanceAnimationKeyframes(collectedStyles,endStateStyles,[
        new import15.AnimationKeyframe(0,new import14.AnimationStyles(import12.collectAndResolveStyles(collectedStyles,[{}]))),
        new import15.AnimationKeyframe(1,new import14.AnimationStyles(import12.collectAndResolveStyles(collectedStyles,[{}])))
      ]
    ),5000,0,'cubic-bezier(0.19, 1, 0.22, 1)')]);
    totalTime = 5000;
  }
  if (((player == (null as any)) && ((currentState == 'inactive') && (nextState == 'active')))) {
      player = new import13.AnimationSequencePlayer([view.renderer.animate(element,new import14.AnimationStyles(import12.collectAndResolveStyles(collectedStyles,[startStateStyles])),import12.balanceAnimationKeyframes(collectedStyles,endStateStyles,[
        new import15.AnimationKeyframe(0,new import14.AnimationStyles(import12.collectAndResolveStyles(collectedStyles,[{}]))),
        new import15.AnimationKeyframe(1,new import14.AnimationStyles(import12.collectAndResolveStyles(collectedStyles,[{}])))
      ]
    ),5000,0,'cubic-bezier(0.19, 1, 0.22, 1)')]);
    totalTime = 5000;
  }
  if (((player == (null as any)) && ((currentState == 'active') && (nextState == 'inactive')))) {
      player = new import13.AnimationSequencePlayer([view.renderer.animate(element,new import14.AnimationStyles(import12.collectAndResolveStyles(collectedStyles,[startStateStyles])),import12.balanceAnimationKeyframes(collectedStyles,endStateStyles,[
        new import15.AnimationKeyframe(0,new import14.AnimationStyles(import12.collectAndResolveStyles(collectedStyles,[{}]))),
        new import15.AnimationKeyframe(1,new import14.AnimationStyles(import12.collectAndResolveStyles(collectedStyles,[{}])))
      ]
    ),5000,0,'cubic-bezier(0.19, 1, 0.22, 1)')]);
    totalTime = 5000;
  }
  if ((player == (null as any))) { (player = new import16.NoOpAnimationPlayer()); }
  player.onDone(():void => {
    import12.renderStyles(element,view.renderer,import12.prepareFinalAnimationStyles(startStateStyles,endStateStyles));
  });
  view.animationContext.queueAnimation(element,'intro',player);
  return new import11.AnimationTransition(player,currentState,nextState,totalTime);
}
var renderType_HomeComponent:import2.RenderComponentType = (null as any);
class _View_HomeComponent0 extends import1.AppView<import0.HomeComponent> {
  _el_0:any;
  _NgClass_0_3:import17.Wrapper_NgClass;
  _text_1:any;
  /*private*/ _expr_3:any;
  _map_4:any;
  constructor(viewUtils:import4.ViewUtils,parentInjector:import5.Injector,declarationEl:import3.AppElement) {
    super(_View_HomeComponent0,renderType_HomeComponent,import6.ViewType.COMPONENT,viewUtils,parentInjector,declarationEl,import7.ChangeDetectorStatus.CheckAlways);
    this._expr_3 = import7.UNINITIALIZED;
    this._map_4 = import4.pureProxy2((p0:any,p1:any):{[key: string]:any} => {
      return {
        'is--active': p0,
        'is--inactive': p1
      }
      ;
    });
  }
  createInternal(rootSelector:string):import3.AppElement {
    const parentRenderNode:any = this.renderer.createViewRoot(this.declarationAppElement.nativeElement);
    this._el_0 = import4.createRenderElement(this.renderer,parentRenderNode,'img',new import4.InlineArray4(4,'class','app__icon','src','/assets/ng2-stealth.png'),(null as any));
    this._NgClass_0_3 = new import17.Wrapper_NgClass(this.parentInjector.get(import18.IterableDiffers),this.parentInjector.get(import19.KeyValueDiffers),new import20.ElementRef(this._el_0),this.renderer);
    this._text_1 = this.renderer.createText(parentRenderNode,'\n',(null as any));
    this.init(([] as any[]),[
      this._el_0,
      this._text_1
    ]
    ,([] as any[]),([] as any[]));
    return (null as any);
  }
  injectorGetInternal(token:any,requestNodeIndex:number,notFoundResult:any):any {
    if (((token === import21.NgClass) && (0 === requestNodeIndex))) { return this._NgClass_0_3.context; }
    return notFoundResult;
  }
  detectChangesInternal(throwOnChange:boolean):void {
    const currVal_3:any = this.context.stealthMode;
    if (import4.checkBinding(throwOnChange,this._expr_3,currVal_3)) {
      var animationTransition_intro:any = this.componentType.animations['intro'](this,this._el_0,((this._expr_3 == import7.UNINITIALIZED)? 'void': this._expr_3),((currVal_3 == import7.UNINITIALIZED)? 'void': currVal_3));
      this._expr_3 = currVal_3;
    }
    const currVal_0_0_0:any = 'app__icon';
    this._NgClass_0_3.check_klass(currVal_0_0_0,throwOnChange,false);
    const currVal_0_0_1:any = this._map_4((this.context.stealthMode === 'active'),(this.context.stealthMode === 'inactive'));
    this._NgClass_0_3.check_ngClass(currVal_0_0_1,throwOnChange,false);
    this._NgClass_0_3.detectChangesInInputProps(this,this._el_0,throwOnChange);
    this.detectContentChildrenChanges(throwOnChange);
    this._NgClass_0_3.detectChangesInHostProps(this,this._el_0,throwOnChange);
    this.detectViewChildrenChanges(throwOnChange);
  }
  detachInternal():void {
    var animationTransition_intro:any = this.componentType.animations['intro'](this,this._el_0,this._expr_3,'void');
  }
}
export function viewFactory_HomeComponent0(viewUtils:import4.ViewUtils,parentInjector:import5.Injector,declarationEl:import3.AppElement):import1.AppView<import0.HomeComponent> {
  if ((renderType_HomeComponent === (null as any))) { (renderType_HomeComponent = viewUtils.createRenderComponentType('',0,import8.ViewEncapsulation.Emulated,styles_HomeComponent,{intro: HomeComponent_intro_factory})); }
  return new _View_HomeComponent0(viewUtils,parentInjector,declarationEl);
}