Socket
Socket
Sign inDemoInstall

@angular/animations

Package Overview
Dependencies
Maintainers
1
Versions
785
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@angular/animations - npm Package Compare versions

Comparing version 4.0.0-rc.5 to 4.0.0-rc.6

45

@angular/animations.es5.js
/**
* @license Angular v4.0.0-rc.5
* @license Angular v4.0.0-rc.6
* (c) 2010-2017 Google, Inc. https://angular.io/

@@ -471,2 +471,9 @@ * License: MIT

/**
* @license
* Copyright Google Inc. All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/
/**
* \@experimental Animation support is experimental.

@@ -667,2 +674,9 @@ * @abstract

}());
/**
* @license
* Copyright Google Inc. All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/
var AnimationGroupPlayer = (function () {

@@ -809,3 +823,32 @@ /**

}());
/**
* @license
* Copyright Google Inc. All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/
/**
* @license
* Copyright Google Inc. All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/
/**
* @license
* Copyright Google Inc. All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/
/**
* @module
* @description
* Entry point for all public APIs of the animation package.
*/
/**
* Generated bundle index. Do not edit.
*/
export { AUTO_STYLE, animate, group, keyframes, sequence, state, style, transition, trigger, AnimationPlayer, NoopAnimationPlayer, AnimationGroupPlayer as ɵAnimationGroupPlayer };
//# sourceMappingURL=animations.es5.js.map
/**
* @license Angular v4.0.0-rc.5
* @license Angular v4.0.0-rc.6
* (c) 2010-2017 Google, Inc. https://angular.io/

@@ -472,2 +472,9 @@ * License: MIT

/**
* @license
* Copyright Google Inc. All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/
/**
* \@experimental Animation support is experimental.

@@ -660,2 +667,9 @@ * @abstract

/**
* @license
* Copyright Google Inc. All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/
class AnimationGroupPlayer {

@@ -797,3 +811,36 @@ /**

/**
* @license
* Copyright Google Inc. All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/
/**
* @license
* Copyright Google Inc. All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/
/**
* @license
* Copyright Google Inc. All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/
/**
* @module
* @description
* Entry point for all public APIs of the animation package.
*/
/**
* Generated bundle index. Do not edit.
*/
export { AUTO_STYLE, animate, group, keyframes, sequence, state, style, transition, trigger, AnimationPlayer, NoopAnimationPlayer, AnimationGroupPlayer as ɵAnimationGroupPlayer };
//# sourceMappingURL=animations.js.map

@@ -7,3 +7,3 @@ var __extends = (this && this.__extends) || function (d, b) {

/**
* @license Angular v4.0.0-rc.5
* @license Angular v4.0.0-rc.6
* (c) 2010-2017 Google, Inc. https://angular.io/

@@ -14,2 +14,9 @@ * License: MIT

/**
* @license
* Copyright Google Inc. All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/
/**
* @experimental Animation support is experimental.

@@ -82,3 +89,22 @@ */

}(NoopAnimationPlayer));
/**
* @license
* Copyright Google Inc. All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/
/**
* @license
* Copyright Google Inc. All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/
/**
* @module
* @description
* Entry point for all public APIs of the platform-browser/animations/testing package.
*/
export { MockAnimationDriver, MockAnimationPlayer };
//# sourceMappingURL=testing.es5.js.map
/**
* @license Angular v4.0.0-rc.5
* @license Angular v4.0.0-rc.6
* (c) 2010-2017 Google, Inc. https://angular.io/

@@ -9,2 +9,9 @@ * License: MIT

/**
* @license
* Copyright Google Inc. All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/
/**
* @experimental Animation support is experimental.

@@ -70,3 +77,24 @@ */

/**
* @license
* Copyright Google Inc. All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/
/**
* @license
* Copyright Google Inc. All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/
/**
* @module
* @description
* Entry point for all public APIs of the platform-browser/animations/testing package.
*/
export { MockAnimationDriver, MockAnimationPlayer };
//# sourceMappingURL=testing.js.map

2

animations.metadata.json

@@ -1,1 +0,1 @@

{"__symbolic":"module","version":3,"metadata":{"AnimationEvent":{"__symbolic":"interface"},"AUTO_STYLE":"*","AnimationAnimateMetadata":{"__symbolic":"interface"},"AnimationGroupMetadata":{"__symbolic":"interface"},"AnimationKeyframesSequenceMetadata":{"__symbolic":"interface"},"AnimationMetadata":{"__symbolic":"interface"},"AnimationMetadataType":{"State":0,"Transition":1,"Sequence":2,"Group":3,"Animate":4,"KeyframeSequence":5,"Style":6},"AnimationSequenceMetadata":{"__symbolic":"interface"},"AnimationStateMetadata":{"__symbolic":"interface"},"AnimationStyleMetadata":{"__symbolic":"interface"},"AnimationTransitionMetadata":{"__symbolic":"interface"},"AnimationTriggerMetadata":{"__symbolic":"interface"},"animate":{"__symbolic":"function","parameters":["timings","styles"],"defaults":[null,null],"value":{"type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"AnimationMetadataType"},"member":"Animate"},"styles":{"__symbolic":"reference","name":"styles"},"timings":{"__symbolic":"reference","name":"timings"}}},"group":{"__symbolic":"function","parameters":["steps"],"value":{"type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"AnimationMetadataType"},"member":"Group"},"steps":{"__symbolic":"reference","name":"steps"}}},"keyframes":{"__symbolic":"function","parameters":["steps"],"value":{"type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"AnimationMetadataType"},"member":"KeyframeSequence"},"steps":{"__symbolic":"reference","name":"steps"}}},"sequence":{"__symbolic":"function","parameters":["steps"],"value":{"type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"AnimationMetadataType"},"member":"Sequence"},"steps":{"__symbolic":"reference","name":"steps"}}},"state":{"__symbolic":"function","parameters":["name","styles"],"value":{"type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"AnimationMetadataType"},"member":"State"},"name":{"__symbolic":"reference","name":"name"},"styles":{"__symbolic":"reference","name":"styles"}}},"style":{"__symbolic":"function","parameters":["tokens"],"value":{"type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"AnimationMetadataType"},"member":"Style"},"styles":{"__symbolic":"reference","name":"tokens"}}},"transition":{"__symbolic":"function","parameters":["stateChangeExpr","steps"],"value":{"type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"AnimationMetadataType"},"member":"Transition"},"expr":{"__symbolic":"reference","name":"stateChangeExpr"},"animation":{"__symbolic":"reference","name":"steps"}}},"trigger":{"__symbolic":"function","parameters":["name","definitions"],"value":{"name":{"__symbolic":"reference","name":"name"},"definitions":{"__symbolic":"reference","name":"definitions"}}},"ɵStyleData":{"__symbolic":"interface"},"AnimationPlayer":{"__symbolic":"class","members":{"onDone":[{"__symbolic":"method"}],"onStart":[{"__symbolic":"method"}],"onDestroy":[{"__symbolic":"method"}],"init":[{"__symbolic":"method"}],"hasStarted":[{"__symbolic":"method"}],"play":[{"__symbolic":"method"}],"pause":[{"__symbolic":"method"}],"restart":[{"__symbolic":"method"}],"finish":[{"__symbolic":"method"}],"destroy":[{"__symbolic":"method"}],"reset":[{"__symbolic":"method"}],"setPosition":[{"__symbolic":"method"}],"getPosition":[{"__symbolic":"method"}]}},"NoopAnimationPlayer":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor"}],"_onFinish":[{"__symbolic":"method"}],"onStart":[{"__symbolic":"method"}],"onDone":[{"__symbolic":"method"}],"onDestroy":[{"__symbolic":"method"}],"hasStarted":[{"__symbolic":"method"}],"init":[{"__symbolic":"method"}],"play":[{"__symbolic":"method"}],"_onStart":[{"__symbolic":"method"}],"pause":[{"__symbolic":"method"}],"restart":[{"__symbolic":"method"}],"finish":[{"__symbolic":"method"}],"destroy":[{"__symbolic":"method"}],"reset":[{"__symbolic":"method"}],"setPosition":[{"__symbolic":"method"}],"getPosition":[{"__symbolic":"method"}]}},"ɵAnimationGroupPlayer":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"reference","name":"AnimationPlayer"}]}]}],"_onFinish":[{"__symbolic":"method"}],"init":[{"__symbolic":"method"}],"onStart":[{"__symbolic":"method"}],"onDone":[{"__symbolic":"method"}],"onDestroy":[{"__symbolic":"method"}],"hasStarted":[{"__symbolic":"method"}],"play":[{"__symbolic":"method"}],"pause":[{"__symbolic":"method"}],"restart":[{"__symbolic":"method"}],"finish":[{"__symbolic":"method"}],"destroy":[{"__symbolic":"method"}],"reset":[{"__symbolic":"method"}],"setPosition":[{"__symbolic":"method"}],"getPosition":[{"__symbolic":"method"}]}}},"importAs":"@angular/animations"}
{"__symbolic":"module","version":3,"metadata":{"AnimationEvent":{"__symbolic":"interface"},"AUTO_STYLE":"*","AnimationAnimateMetadata":{"__symbolic":"interface"},"AnimationGroupMetadata":{"__symbolic":"interface"},"AnimationKeyframesSequenceMetadata":{"__symbolic":"interface"},"AnimationMetadata":{"__symbolic":"interface"},"AnimationMetadataType":{"State":0,"Transition":1,"Sequence":2,"Group":3,"Animate":4,"KeyframeSequence":5,"Style":6},"AnimationSequenceMetadata":{"__symbolic":"interface"},"AnimationStateMetadata":{"__symbolic":"interface"},"AnimationStyleMetadata":{"__symbolic":"interface"},"AnimationTransitionMetadata":{"__symbolic":"interface"},"AnimationTriggerMetadata":{"__symbolic":"interface"},"animate":{"__symbolic":"function","parameters":["timings","styles"],"defaults":[null,null],"value":{"type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"AnimationMetadataType"},"member":"Animate"},"styles":{"__symbolic":"reference","name":"styles"},"timings":{"__symbolic":"reference","name":"timings"}}},"group":{"__symbolic":"function","parameters":["steps"],"value":{"type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"AnimationMetadataType"},"member":"Group"},"steps":{"__symbolic":"reference","name":"steps"}}},"keyframes":{"__symbolic":"function","parameters":["steps"],"value":{"type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"AnimationMetadataType"},"member":"KeyframeSequence"},"steps":{"__symbolic":"reference","name":"steps"}}},"sequence":{"__symbolic":"function","parameters":["steps"],"value":{"type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"AnimationMetadataType"},"member":"Sequence"},"steps":{"__symbolic":"reference","name":"steps"}}},"state":{"__symbolic":"function","parameters":["name","styles"],"value":{"type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"AnimationMetadataType"},"member":"State"},"name":{"__symbolic":"reference","name":"name"},"styles":{"__symbolic":"reference","name":"styles"}}},"style":{"__symbolic":"function","parameters":["tokens"],"value":{"type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"AnimationMetadataType"},"member":"Style"},"styles":{"__symbolic":"reference","name":"tokens"}}},"transition":{"__symbolic":"function","parameters":["stateChangeExpr","steps"],"value":{"type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"AnimationMetadataType"},"member":"Transition"},"expr":{"__symbolic":"reference","name":"stateChangeExpr"},"animation":{"__symbolic":"reference","name":"steps"}}},"trigger":{"__symbolic":"function","parameters":["name","definitions"],"value":{"name":{"__symbolic":"reference","name":"name"},"definitions":{"__symbolic":"reference","name":"definitions"}}},"ɵStyleData":{"__symbolic":"interface"},"AnimationPlayer":{"__symbolic":"class","members":{"onDone":[{"__symbolic":"method"}],"onStart":[{"__symbolic":"method"}],"onDestroy":[{"__symbolic":"method"}],"init":[{"__symbolic":"method"}],"hasStarted":[{"__symbolic":"method"}],"play":[{"__symbolic":"method"}],"pause":[{"__symbolic":"method"}],"restart":[{"__symbolic":"method"}],"finish":[{"__symbolic":"method"}],"destroy":[{"__symbolic":"method"}],"reset":[{"__symbolic":"method"}],"setPosition":[{"__symbolic":"method"}],"getPosition":[{"__symbolic":"method"}]}},"NoopAnimationPlayer":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor"}],"_onFinish":[{"__symbolic":"method"}],"onStart":[{"__symbolic":"method"}],"onDone":[{"__symbolic":"method"}],"onDestroy":[{"__symbolic":"method"}],"hasStarted":[{"__symbolic":"method"}],"init":[{"__symbolic":"method"}],"play":[{"__symbolic":"method"}],"_onStart":[{"__symbolic":"method"}],"pause":[{"__symbolic":"method"}],"restart":[{"__symbolic":"method"}],"finish":[{"__symbolic":"method"}],"destroy":[{"__symbolic":"method"}],"reset":[{"__symbolic":"method"}],"setPosition":[{"__symbolic":"method"}],"getPosition":[{"__symbolic":"method"}]}},"ɵAnimationGroupPlayer":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"reference","name":"AnimationPlayer"}]}]}],"_onFinish":[{"__symbolic":"method"}],"init":[{"__symbolic":"method"}],"onStart":[{"__symbolic":"method"}],"onDone":[{"__symbolic":"method"}],"onDestroy":[{"__symbolic":"method"}],"hasStarted":[{"__symbolic":"method"}],"play":[{"__symbolic":"method"}],"pause":[{"__symbolic":"method"}],"restart":[{"__symbolic":"method"}],"finish":[{"__symbolic":"method"}],"destroy":[{"__symbolic":"method"}],"reset":[{"__symbolic":"method"}],"setPosition":[{"__symbolic":"method"}],"getPosition":[{"__symbolic":"method"}]}}},"origins":{"AnimationEvent":"./src/animation_event","AUTO_STYLE":"./src/animation_metadata","AnimateTimings":"./src/animation_metadata","AnimationAnimateMetadata":"./src/animation_metadata","AnimationGroupMetadata":"./src/animation_metadata","AnimationKeyframesSequenceMetadata":"./src/animation_metadata","AnimationMetadata":"./src/animation_metadata","AnimationMetadataType":"./src/animation_metadata","AnimationSequenceMetadata":"./src/animation_metadata","AnimationStateMetadata":"./src/animation_metadata","AnimationStyleMetadata":"./src/animation_metadata","AnimationTransitionMetadata":"./src/animation_metadata","AnimationTriggerMetadata":"./src/animation_metadata","animate":"./src/animation_metadata","group":"./src/animation_metadata","keyframes":"./src/animation_metadata","sequence":"./src/animation_metadata","state":"./src/animation_metadata","style":"./src/animation_metadata","transition":"./src/animation_metadata","trigger":"./src/animation_metadata","ɵStyleData":"./src/animation_metadata","AnimationPlayer":"./src/players/animation_player","NoopAnimationPlayer":"./src/players/animation_player","ɵAnimationGroupPlayer":"./src/players/animation_group_player"},"importAs":"@angular/animations"}
/**
* @license Angular v4.0.0-rc.5
* @license Angular v4.0.0-rc.6
* (c) 2010-2017 Google, Inc. https://angular.io/

@@ -4,0 +4,0 @@ * License: MIT

@@ -1,1 +0,1 @@

{"alias": "./browser/index.metadata.json"}
{"__symbolic":"module","version":3,"metadata":{},"exports":[{"from":"./browser/index"}]}

@@ -1,1 +0,1 @@

{"__symbolic":"module","version":3,"metadata":{"AnimationDriver":{"__symbolic":"class","members":{"animate":[{"__symbolic":"method"}]},"statics":{"NOOP":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"NoopAnimationDriver"}}}},"ɵAnimationEngine":{"__symbolic":"class","members":{"registerTrigger":[{"__symbolic":"method"}],"onInsert":[{"__symbolic":"method"}],"onRemove":[{"__symbolic":"method"}],"setProperty":[{"__symbolic":"method"}],"listen":[{"__symbolic":"method"}],"flush":[{"__symbolic":"method"}]}},"ɵAnimation":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Expression form not supported","line":20,"character":21,"module":"./src/dsl/animation"}]}],"buildTimelines":[{"__symbolic":"method"}],"create":[{"__symbolic":"method"}]}},"ɵAnimationStyleNormalizer":{"__symbolic":"class","members":{"normalizePropertyName":[{"__symbolic":"method"}],"normalizeStyleValue":[{"__symbolic":"method"}]}},"ɵNoopAnimationStyleNormalizer":{"__symbolic":"class","members":{"normalizePropertyName":[{"__symbolic":"method"}],"normalizeStyleValue":[{"__symbolic":"method"}]}},"ɵWebAnimationsStyleNormalizer":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵAnimationStyleNormalizer"},"members":{"normalizePropertyName":[{"__symbolic":"method"}],"normalizeStyleValue":[{"__symbolic":"method"}]}},"ɵNoopAnimationDriver":{"__symbolic":"class","members":{"animate":[{"__symbolic":"method"}]}},"ɵDomAnimationEngine":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"AnimationDriver"},{"__symbolic":"reference","name":"ɵAnimationStyleNormalizer"}]}],"registerTrigger":[{"__symbolic":"method"}],"onInsert":[{"__symbolic":"method"}],"onRemove":[{"__symbolic":"method"}],"setProperty":[{"__symbolic":"method"}],"listen":[{"__symbolic":"method"}],"_clearPendingListenerRemovals":[{"__symbolic":"method"}],"_onRemovalTransition":[{"__symbolic":"method"}],"animateTransition":[{"__symbolic":"method"}],"animateTimeline":[{"__symbolic":"method"}],"_buildPlayer":[{"__symbolic":"method"}],"_normalizeKeyframes":[{"__symbolic":"method"}],"_markPlayerAsActive":[{"__symbolic":"method"}],"_queuePlayer":[{"__symbolic":"method"}],"_flushQueuedAnimations":[{"__symbolic":"method"}],"flush":[{"__symbolic":"method"}]}},"ɵNoopAnimationEngine":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵAnimationEngine"},"members":{"registerTrigger":[{"__symbolic":"method"}],"onInsert":[{"__symbolic":"method"}],"onRemove":[{"__symbolic":"method"}],"setProperty":[{"__symbolic":"method"}],"listen":[{"__symbolic":"method"}],"flush":[{"__symbolic":"method"}]}},"ɵWebAnimationsDriver":{"__symbolic":"class","members":{"animate":[{"__symbolic":"method"}]}},"ɵsupportsWebAnimations":{"__symbolic":"function","parameters":[],"value":{"__symbolic":"binop","operator":"&&","left":{"__symbolic":"binop","operator":"!==","left":{"__symbolic":"error","message":"Expression form not supported","line":33,"character":9,"module":"./src/render/web_animations/web_animations_driver"},"right":"undefined"},"right":{"__symbolic":"binop","operator":"===","left":{"__symbolic":"error","message":"Expression form not supported","line":33,"character":43,"module":"./src/render/web_animations/web_animations_driver"},"right":"function"}}}},"importAs":"@angular/animations/browser"}
{"__symbolic":"module","version":3,"metadata":{"AnimationDriver":{"__symbolic":"class","members":{"animate":[{"__symbolic":"method"}]},"statics":{"NOOP":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"NoopAnimationDriver"}}}},"ɵAnimationEngine":{"__symbolic":"class","members":{"registerTrigger":[{"__symbolic":"method"}],"onInsert":[{"__symbolic":"method"}],"onRemove":[{"__symbolic":"method"}],"setProperty":[{"__symbolic":"method"}],"listen":[{"__symbolic":"method"}],"flush":[{"__symbolic":"method"}]}},"ɵAnimation":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Expression form not supported","line":20,"character":21,"module":"./src/dsl/animation"}]}],"buildTimelines":[{"__symbolic":"method"}],"create":[{"__symbolic":"method"}]}},"ɵAnimationStyleNormalizer":{"__symbolic":"class","members":{"normalizePropertyName":[{"__symbolic":"method"}],"normalizeStyleValue":[{"__symbolic":"method"}]}},"ɵNoopAnimationStyleNormalizer":{"__symbolic":"class","members":{"normalizePropertyName":[{"__symbolic":"method"}],"normalizeStyleValue":[{"__symbolic":"method"}]}},"ɵWebAnimationsStyleNormalizer":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵAnimationStyleNormalizer"},"members":{"normalizePropertyName":[{"__symbolic":"method"}],"normalizeStyleValue":[{"__symbolic":"method"}]}},"ɵNoopAnimationDriver":{"__symbolic":"class","members":{"animate":[{"__symbolic":"method"}]}},"ɵDomAnimationEngine":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"AnimationDriver"},{"__symbolic":"reference","name":"ɵAnimationStyleNormalizer"}]}],"registerTrigger":[{"__symbolic":"method"}],"onInsert":[{"__symbolic":"method"}],"onRemove":[{"__symbolic":"method"}],"setProperty":[{"__symbolic":"method"}],"listen":[{"__symbolic":"method"}],"_clearPendingListenerRemovals":[{"__symbolic":"method"}],"_onRemovalTransition":[{"__symbolic":"method"}],"animateTransition":[{"__symbolic":"method"}],"animateTimeline":[{"__symbolic":"method"}],"_buildPlayer":[{"__symbolic":"method"}],"_normalizeKeyframes":[{"__symbolic":"method"}],"_markPlayerAsActive":[{"__symbolic":"method"}],"_queuePlayer":[{"__symbolic":"method"}],"_flushQueuedAnimations":[{"__symbolic":"method"}],"flush":[{"__symbolic":"method"}]}},"ɵNoopAnimationEngine":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵAnimationEngine"},"members":{"registerTrigger":[{"__symbolic":"method"}],"onInsert":[{"__symbolic":"method"}],"onRemove":[{"__symbolic":"method"}],"setProperty":[{"__symbolic":"method"}],"listen":[{"__symbolic":"method"}],"flush":[{"__symbolic":"method"}]}},"ɵWebAnimationsDriver":{"__symbolic":"class","members":{"animate":[{"__symbolic":"method"}]}},"ɵsupportsWebAnimations":{"__symbolic":"function","parameters":[],"value":{"__symbolic":"binop","operator":"&&","left":{"__symbolic":"binop","operator":"!==","left":{"__symbolic":"error","message":"Expression form not supported","line":33,"character":9,"module":"./src/render/web_animations/web_animations_driver"},"right":"undefined"},"right":{"__symbolic":"binop","operator":"===","left":{"__symbolic":"error","message":"Expression form not supported","line":33,"character":43,"module":"./src/render/web_animations/web_animations_driver"},"right":"function"}}}},"origins":{"AnimationDriver":"./src/render/animation_driver","ɵAnimationEngine":"./src/animation_engine","ɵAnimation":"./src/dsl/animation","ɵAnimationStyleNormalizer":"./src/dsl/style_normalization/animation_style_normalizer","ɵNoopAnimationStyleNormalizer":"./src/dsl/style_normalization/animation_style_normalizer","ɵWebAnimationsStyleNormalizer":"./src/dsl/style_normalization/web_animations_style_normalizer","ɵNoopAnimationDriver":"./src/render/animation_driver","ɵDomAnimationEngine":"./src/render/dom_animation_engine","ɵNoopAnimationEngine":"./src/render/noop_animation_engine","ɵWebAnimationsDriver":"./src/render/web_animations/web_animations_driver","ɵsupportsWebAnimations":"./src/render/web_animations/web_animations_driver"},"importAs":"@angular/animations/browser"}
{
"name": "@angular/animations/browser",
"typings": "../browser.d.ts",
"main": "../bundles/animation-browser.umd.js",
"main": "../bundles/animations-browser.umd.js",
"module": "../@angular/animations/browser.es5.js",
"es2015": "../@angular/animations/browser.js"
}

@@ -36,2 +36,3 @@ /**

visitStyle(ast: AnimationStyleMetadata, context: AnimationTimelineContext): void;
private _applyStyles(styles, easing, treatAsEmptyStep, context);
visitKeyframeSequence(ast: AnimationKeyframesSequenceMetadata, context: AnimationTimelineContext): void;

@@ -44,2 +45,3 @@ }

easing: string;
private _previousKeyframe;
private _currentKeyframe;

@@ -50,2 +52,3 @@ private _keyframes;

private _backFill;
private _currentEmptyStepKeyframe;
constructor(startTime: number, _globalTimelineStyles?: ɵStyleData);

@@ -59,3 +62,4 @@ hasStyling(): boolean;

private _updateStyle(prop, value);
setStyles(styles: ɵStyleData): void;
allowOnlyTimelineStyles(): boolean;
setStyles(styles: ɵStyleData, easing?: string, treatAsEmptyStep?: boolean): void;
snapshotCurrentStyles(): void;

@@ -62,0 +66,0 @@ getFinalKeyframe(): ɵStyleData;

@@ -48,3 +48,3 @@ /**

animateTimeline(element: any, instructions: AnimationTimelineInstruction[], previousPlayers?: AnimationPlayer[]): AnimationPlayer;
private _buildPlayer(element, instruction, previousPlayers);
private _buildPlayer(element, instruction, previousPlayers, index?);
private _normalizeKeyframes(keyframes);

@@ -51,0 +51,0 @@ private _markPlayerAsActive(element, player);

/**
* @license Angular v4.0.0-rc.5
* @license Angular v4.0.0-rc.6
* (c) 2010-2017 Google, Inc. https://angular.io/

@@ -4,0 +4,0 @@ * License: MIT

@@ -1,1 +0,1 @@

{"alias": "./testing/index.metadata.json"}
{"__symbolic":"module","version":3,"metadata":{},"exports":[{"from":"./testing/index"}]}
{
"name": "@angular/animations/browser/testing",
"typings": "../testing.d.ts",

@@ -3,0 +4,0 @@ "main": "../../bundles/platform-browser-animations-testing.umd.js",

/**
* @license Angular v4.0.0-rc.5
* @license Angular v4.0.0-rc.6
* (c) 2010-2017 Google, Inc. https://angular.io/

@@ -7,85 +7,99 @@ * License: MIT

(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/animations')) :
typeof define === 'function' && define.amd ? define(['exports', '@angular/animations'], factory) :
(factory((global.ng = global.ng || {}, global.ng.animations = global.ng.animations || {}, global.ng.animations.browser = global.ng.animations.browser || {}, global.ng.animations.browser.testing = global.ng.animations.browser.testing || {}),global.ng.animations));
}(this, function (exports,_angular_animations) { 'use strict';
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/animations')) :
typeof define === 'function' && define.amd ? define(['exports', '@angular/animations'], factory) :
(factory((global.ng = global.ng || {}, global.ng.animations = global.ng.animations || {}, global.ng.animations.browser = global.ng.animations.browser || {}, global.ng.animations.browser.testing = global.ng.animations.browser.testing || {}),global.ng.animations));
}(this, (function (exports,_angular_animations) { 'use strict';
var __extends = (this && this.__extends) || function (d, b) {
for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
var __extends = (undefined && undefined.__extends) || function (d, b) {
for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
/**
* @license Angular v4.0.0-rc.6
* (c) 2010-2017 Google, Inc. https://angular.io/
* License: MIT
*/
/**
* @license
* Copyright Google Inc. All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/
/**
* @experimental Animation support is experimental.
*/
var MockAnimationDriver = (function () {
function MockAnimationDriver() {
}
MockAnimationDriver.prototype.animate = function (element, keyframes, duration, delay, easing, previousPlayers) {
if (previousPlayers === void 0) { previousPlayers = []; }
var player = new MockAnimationPlayer(element, keyframes, duration, delay, easing, previousPlayers);
MockAnimationDriver.log.push(player);
return player;
};
/**
* @experimental Animation support is experimental.
*/
var MockAnimationDriver = (function () {
function MockAnimationDriver() {
}
MockAnimationDriver.prototype.animate = function (element, keyframes, duration, delay, easing, previousPlayers) {
if (previousPlayers === void 0) { previousPlayers = []; }
var player = new MockAnimationPlayer(element, keyframes, duration, delay, easing, previousPlayers);
MockAnimationDriver.log.push(player);
return player;
};
return MockAnimationDriver;
}());
MockAnimationDriver.log = [];
/**
* @experimental Animation support is experimental.
*/
var MockAnimationPlayer = (function (_super) {
__extends(MockAnimationPlayer, _super);
function MockAnimationPlayer(element, keyframes, duration, delay, easing, previousPlayers) {
var _this = _super.call(this) || this;
_this.element = element;
_this.keyframes = keyframes;
_this.duration = duration;
_this.delay = delay;
_this.easing = easing;
_this.previousPlayers = previousPlayers;
_this.__finished = false;
_this.previousStyles = {};
previousPlayers.forEach(function (player) {
if (player instanceof MockAnimationPlayer) {
var styles_1 = player._captureStyles();
Object.keys(styles_1).forEach(function (prop) { _this.previousStyles[prop] = styles_1[prop]; });
}
return MockAnimationDriver;
}());
MockAnimationDriver.log = [];
/**
* @experimental Animation support is experimental.
*/
var MockAnimationPlayer = (function (_super) {
__extends(MockAnimationPlayer, _super);
function MockAnimationPlayer(element, keyframes, duration, delay, easing, previousPlayers) {
var _this = _super.call(this) || this;
_this.element = element;
_this.keyframes = keyframes;
_this.duration = duration;
_this.delay = delay;
_this.easing = easing;
_this.previousPlayers = previousPlayers;
_this.__finished = false;
_this.previousStyles = {};
previousPlayers.forEach(function (player) {
if (player instanceof MockAnimationPlayer) {
var styles_1 = player._captureStyles();
Object.keys(styles_1).forEach(function (prop) { _this.previousStyles[prop] = styles_1[prop]; });
}
});
return _this;
}
MockAnimationPlayer.prototype.finish = function () {
_super.prototype.finish.call(this);
this.__finished = true;
};
MockAnimationPlayer.prototype.destroy = function () {
_super.prototype.destroy.call(this);
this.__finished = true;
};
MockAnimationPlayer.prototype._captureStyles = function () {
var _this = this;
var captures = {};
Object.keys(this.previousStyles).forEach(function (prop) {
captures[prop] = _this.previousStyles[prop];
});
if (this.hasStarted()) {
// when assembling the captured styles, it's important that
// we build the keyframe styles in the following order:
// {other styles within keyframes, ... previousStyles }
this.keyframes.forEach(function (kf) {
Object.keys(kf).forEach(function (prop) {
if (prop != 'offset') {
captures[prop] = _this.__finished ? kf[prop] : _angular_animations.AUTO_STYLE;
}
});
});
return _this;
}
MockAnimationPlayer.prototype.finish = function () {
_super.prototype.finish.call(this);
this.__finished = true;
};
MockAnimationPlayer.prototype.destroy = function () {
_super.prototype.destroy.call(this);
this.__finished = true;
};
MockAnimationPlayer.prototype._captureStyles = function () {
var _this = this;
var captures = {};
Object.keys(this.previousStyles).forEach(function (prop) {
captures[prop] = _this.previousStyles[prop];
});
if (this.hasStarted()) {
// when assembling the captured styles, it's important that
// we build the keyframe styles in the following order:
// {other styles within keyframes, ... previousStyles }
this.keyframes.forEach(function (kf) {
Object.keys(kf).forEach(function (prop) {
if (prop != 'offset') {
captures[prop] = _this.__finished ? kf[prop] : _angular_animations.AUTO_STYLE;
}
});
});
}
return captures;
};
return MockAnimationPlayer;
}(_angular_animations.NoopAnimationPlayer));
return captures;
};
return MockAnimationPlayer;
}(_angular_animations.NoopAnimationPlayer));
exports.MockAnimationDriver = MockAnimationDriver;
exports.MockAnimationPlayer = MockAnimationPlayer;
exports.MockAnimationDriver = MockAnimationDriver;
exports.MockAnimationPlayer = MockAnimationPlayer;
}));
Object.defineProperty(exports, '__esModule', { value: true });
})));
//# sourceMappingURL=animations-browser-testing.umd.js.map
/**
* @license Angular v4.0.0-rc.5
* @license Angular v4.0.0-rc.6
* (c) 2010-2017 Google, Inc. https://angular.io/
* License: MIT
*/
!function(global,factory){"object"==typeof exports&&"undefined"!=typeof module?factory(exports,require("@angular/animations")):"function"==typeof define&&define.amd?define(["exports","@angular/animations"],factory):factory((global.ng=global.ng||{},global.ng.animations=global.ng.animations||{},global.ng.animations.browser=global.ng.animations.browser||{},global.ng.animations.browser.testing=global.ng.animations.browser.testing||{}),global.ng.animations)}(this,function(exports,_angular_animations){"use strict";var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},MockAnimationDriver=function(){function MockAnimationDriver(){}return MockAnimationDriver.prototype.animate=function(element,keyframes,duration,delay,easing,previousPlayers){void 0===previousPlayers&&(previousPlayers=[]);var player=new MockAnimationPlayer(element,keyframes,duration,delay,easing,previousPlayers);return MockAnimationDriver.log.push(player),player},MockAnimationDriver}();MockAnimationDriver.log=[];var MockAnimationPlayer=function(_super){function MockAnimationPlayer(element,keyframes,duration,delay,easing,previousPlayers){var _this=_super.call(this)||this;return _this.element=element,_this.keyframes=keyframes,_this.duration=duration,_this.delay=delay,_this.easing=easing,_this.previousPlayers=previousPlayers,_this.__finished=!1,_this.previousStyles={},previousPlayers.forEach(function(player){if(player instanceof MockAnimationPlayer){var styles_1=player._captureStyles();Object.keys(styles_1).forEach(function(prop){_this.previousStyles[prop]=styles_1[prop]})}}),_this}return __extends(MockAnimationPlayer,_super),MockAnimationPlayer.prototype.finish=function(){_super.prototype.finish.call(this),this.__finished=!0},MockAnimationPlayer.prototype.destroy=function(){_super.prototype.destroy.call(this),this.__finished=!0},MockAnimationPlayer.prototype._captureStyles=function(){var _this=this,captures={};return Object.keys(this.previousStyles).forEach(function(prop){captures[prop]=_this.previousStyles[prop]}),this.hasStarted()&&this.keyframes.forEach(function(kf){Object.keys(kf).forEach(function(prop){"offset"!=prop&&(captures[prop]=_this.__finished?kf[prop]:_angular_animations.AUTO_STYLE)})}),captures},MockAnimationPlayer}(_angular_animations.NoopAnimationPlayer);exports.MockAnimationDriver=MockAnimationDriver,exports.MockAnimationPlayer=MockAnimationPlayer});
!function(global,factory){"object"==typeof exports&&"undefined"!=typeof module?factory(exports,require("@angular/animations")):"function"==typeof define&&define.amd?define(["exports","@angular/animations"],factory):factory((global.ng=global.ng||{},global.ng.animations=global.ng.animations||{},global.ng.animations.browser=global.ng.animations.browser||{},global.ng.animations.browser.testing=global.ng.animations.browser.testing||{}),global.ng.animations)}(this,function(exports,_angular_animations){"use strict";var __extends=function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},MockAnimationDriver=function(){function MockAnimationDriver(){}return MockAnimationDriver.prototype.animate=function(element,keyframes,duration,delay,easing,previousPlayers){void 0===previousPlayers&&(previousPlayers=[]);var player=new MockAnimationPlayer(element,keyframes,duration,delay,easing,previousPlayers);return MockAnimationDriver.log.push(player),player},MockAnimationDriver}();MockAnimationDriver.log=[];var MockAnimationPlayer=function(_super){function MockAnimationPlayer(element,keyframes,duration,delay,easing,previousPlayers){var _this=_super.call(this)||this;return _this.element=element,_this.keyframes=keyframes,_this.duration=duration,_this.delay=delay,_this.easing=easing,_this.previousPlayers=previousPlayers,_this.__finished=!1,_this.previousStyles={},previousPlayers.forEach(function(player){if(player instanceof MockAnimationPlayer){var styles_1=player._captureStyles();Object.keys(styles_1).forEach(function(prop){_this.previousStyles[prop]=styles_1[prop]})}}),_this}return __extends(MockAnimationPlayer,_super),MockAnimationPlayer.prototype.finish=function(){_super.prototype.finish.call(this),this.__finished=!0},MockAnimationPlayer.prototype.destroy=function(){_super.prototype.destroy.call(this),this.__finished=!0},MockAnimationPlayer.prototype._captureStyles=function(){var _this=this,captures={};return Object.keys(this.previousStyles).forEach(function(prop){captures[prop]=_this.previousStyles[prop]}),this.hasStarted()&&this.keyframes.forEach(function(kf){Object.keys(kf).forEach(function(prop){"offset"!=prop&&(captures[prop]=_this.__finished?kf[prop]:_angular_animations.AUTO_STYLE)})}),captures},MockAnimationPlayer}(_angular_animations.NoopAnimationPlayer);exports.MockAnimationDriver=MockAnimationDriver,exports.MockAnimationPlayer=MockAnimationPlayer,Object.defineProperty(exports,"__esModule",{value:!0})});
//# sourceMappingURL=animations-browser-testing.umd.min.js.map
/**
* @license Angular v4.0.0-rc.5
* @license Angular v4.0.0-rc.6
* (c) 2010-2017 Google, Inc. https://angular.io/

@@ -7,31 +7,52 @@ * License: MIT

!function(global,factory){"object"==typeof exports&&"undefined"!=typeof module?factory(exports,require("@angular/animations")):"function"==typeof define&&define.amd?define(["exports","@angular/animations"],factory):factory((global.ng=global.ng||{},global.ng.animations=global.ng.animations||{},global.ng.animations.browser=global.ng.animations.browser||{}),global.ng.animations)}(this,function(exports,_angular_animations){"use strict";function parseTimeExpression(exp,errors){var duration,regex=/^([\.\d]+)(m?s)(?:\s+([\.\d]+)(m?s))?(?:\s+([-a-z]+(?:\(.+?\))?))?$/i,delay=0,easing=null;if("string"==typeof exp){var matches=exp.match(regex);if(null===matches)return errors.push('The provided timing value "'+exp+'" is invalid.'),{duration:0,delay:0,easing:null};var durationMatch=parseFloat(matches[1]),durationUnit=matches[2];"s"==durationUnit&&(durationMatch*=ONE_SECOND),duration=Math.floor(durationMatch);var delayMatch=matches[3],delayUnit=matches[4];if(null!=delayMatch){var delayVal=parseFloat(delayMatch);null!=delayUnit&&"s"==delayUnit&&(delayVal*=ONE_SECOND),delay=Math.floor(delayVal)}var easingVal=matches[5];easingVal&&(easing=easingVal)}else duration=exp;return{duration:duration,delay:delay,easing:easing}}function normalizeStyles(styles){var normalizedStyles={};return Array.isArray(styles)?styles.forEach(function(data){return copyStyles(data,!1,normalizedStyles)}):copyStyles(styles,!1,normalizedStyles),normalizedStyles}function copyStyles(styles,readPrototype,destination){if(void 0===destination&&(destination={}),readPrototype)for(var prop in styles)destination[prop]=styles[prop];else Object.keys(styles).forEach(function(prop){return destination[prop]=styles[prop]});return destination}function setStyles(element,styles){element.style&&Object.keys(styles).forEach(function(prop){return element.style[prop]=styles[prop]})}function eraseStyles(element,styles){element.style&&Object.keys(styles).forEach(function(prop){element.style[prop]=""})}/**
* @license
* Copyright Google Inc. All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/
* @license
* Copyright Google Inc. All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/
function visitAnimationNode(visitor,node,context){switch(node.type){case 0:return visitor.visitState(node,context);case 1:return visitor.visitTransition(node,context);case 2:return visitor.visitSequence(node,context);case 3:return visitor.visitGroup(node,context);case 4:return visitor.visitAnimate(node,context);case 5:return visitor.visitKeyframeSequence(node,context);case 6:return visitor.visitStyle(node,context);default:throw new Error("Unable to resolve animation metadata node #"+node.type)}}function parseTransitionExpr(transitionValue,errors){var expressions=[];return"string"==typeof transitionValue?transitionValue.split(/\s*,\s*/).forEach(function(str){return parseInnerTransitionStr(str,expressions,errors)}):expressions.push(transitionValue),expressions}function parseInnerTransitionStr(eventStr,expressions,errors){":"==eventStr[0]&&(eventStr=parseAnimationAlias(eventStr,errors));var match=eventStr.match(/^(\*|[-\w]+)\s*(<?[=-]>)\s*(\*|[-\w]+)$/);if(null==match||match.length<4)return errors.push('The provided transition expression "'+eventStr+'" is not supported'),expressions;var fromState=match[1],separator=match[2],toState=match[3];expressions.push(makeLambdaFromStates(fromState,toState));var isFullAnyStateExpr=fromState==ANY_STATE&&toState==ANY_STATE;"<"!=separator[0]||isFullAnyStateExpr||expressions.push(makeLambdaFromStates(toState,fromState))}function parseAnimationAlias(alias,errors){switch(alias){case":enter":return"void => *";case":leave":return"* => void";default:return errors.push('The transition alias value "'+alias+'" is not supported'),"* => *"}}function makeLambdaFromStates(lhs,rhs){return function(fromState,toState){var lhsMatch=lhs==ANY_STATE||lhs==fromState,rhsMatch=rhs==ANY_STATE||rhs==toState;return lhsMatch&&rhsMatch}}/**
* @license
* Copyright Google Inc. All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/
function createTimelineInstruction(keyframes,duration,delay,easing){return{type:1,keyframes:keyframes,duration:duration,delay:delay,totalTime:duration+delay,easing:easing}}function buildAnimationKeyframes(ast,startingStyles,finalStyles){void 0===startingStyles&&(startingStyles={}),void 0===finalStyles&&(finalStyles={});var normalizedAst=Array.isArray(ast)?_angular_animations.sequence(ast):ast;return(new AnimationTimelineVisitor).buildKeyframes(normalizedAst,startingStyles,finalStyles)}function getOffset(ast){var offset=ast.offset;if(null==offset){var styles=ast.styles;if(Array.isArray(styles))for(var i=0;i<styles.length;i++){var o=styles[i].offset;if(null!=o){offset=o;break}}else offset=styles.offset}return offset}/**
* @license
* Copyright Google Inc. All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/
function createTransitionInstruction(triggerName,fromState,toState,isRemovalTransition,fromStyles,toStyles,timelines){return{type:0,triggerName:triggerName,isRemovalTransition:isRemovalTransition,fromState:fromState,fromStyles:fromStyles,toState:toState,toStyles:toStyles,timelines:timelines}}function oneOrMoreTransitionsMatch(matchFns,currentState,nextState){return matchFns.some(function(fn){return fn(currentState,nextState)})}function validateAnimationSequence(ast){var normalizedAst=Array.isArray(ast)?_angular_animations.sequence(ast):ast;return(new AnimationValidatorVisitor).validate(normalizedAst)}function buildTrigger(name,definitions){return(new AnimationTriggerVisitor).buildTrigger(name,definitions)}function getOrSetAsInMap(map,key,defaultValue){var value=map.get(key);return value||map.set(key,value=defaultValue),value}function deleteFromArrayMap(map,key,value){var arr=map.get(key);if(arr){var index=arr.indexOf(value);index>=0&&(arr.splice(index,1),0==arr.length&&map.delete(key))}}function optimizeGroupPlayer(players){switch(players.length){case 0:return new _angular_animations.NoopAnimationPlayer;case 1:return players[0];default:return new _angular_animations.ɵAnimationGroupPlayer(players)}}function copyArray(source){return source?source.splice(0):[]}function validatePlayerEvent(triggerName,eventName){switch(eventName){case"start":case"done":return;default:throw new Error('The provided animation trigger event "'+eventName+'" for the animation trigger "'+triggerName+'" is not supported!')}}function listenOnPlayer(player,eventName,baseEvent,callback){switch(eventName){case"start":player.onStart(function(){var event=copyAnimationEvent(baseEvent);event.phaseName="start",callback(event)});break;case"done":player.onDone(function(){var event=copyAnimationEvent(baseEvent);event.phaseName="done",callback(event)})}}function copyAnimationEvent(e){return makeAnimationEvent(e.element,e.triggerName,e.fromState,e.toState,e.phaseName,e.totalTime)}function makeAnimationEvent(element,triggerName,fromState,toState,phaseName,totalTime){return{element:element,triggerName:triggerName,fromState:fromState,toState:toState,phaseName:phaseName,totalTime:totalTime}}function makeBooleanMap(keys){var map={};return keys.forEach(function(key){return map[key]=!0}),map}function dashCaseToCamelCase(input){return input.replace(DASH_CASE_REGEXP,function(){for(var m=[],_i=0;_i<arguments.length;_i++)m[_i]=arguments[_i];return m[1].toUpperCase()})}function makeAnimationEvent$1(element,triggerName,fromState,toState,phaseName,totalTime){return{element:element,triggerName:triggerName,fromState:fromState,toState:toState,phaseName:phaseName,totalTime:totalTime}}function makeStorageProp(property){return"_@_"+property}function _computeStyle(element,prop){return window.getComputedStyle(element)[prop]}function _copyKeyframeStyles(styles){var newStyles={};return Object.keys(styles).forEach(function(prop){"offset"!=prop&&(newStyles[prop]=styles[prop])}),newStyles}function supportsWebAnimations(){return"undefined"!=typeof Element&&"function"==typeof Element.prototype.animate}var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},NoopAnimationDriver=function(){function NoopAnimationDriver(){}return NoopAnimationDriver.prototype.animate=function(element,keyframes,duration,delay,easing,previousPlayers){return void 0===previousPlayers&&(previousPlayers=[]),new _angular_animations.NoopAnimationPlayer},NoopAnimationDriver}(),AnimationDriver=function(){function AnimationDriver(){}return AnimationDriver}();AnimationDriver.NOOP=new NoopAnimationDriver;/**
* @license
* Copyright Google Inc. All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/
var AnimationEngine=function(){function AnimationEngine(){}return AnimationEngine.prototype.registerTrigger=function(trigger,name){},AnimationEngine.prototype.onInsert=function(element,domFn){},AnimationEngine.prototype.onRemove=function(element,domFn){},AnimationEngine.prototype.setProperty=function(element,property,value){},AnimationEngine.prototype.listen=function(element,eventName,eventPhase,callback){},AnimationEngine.prototype.flush=function(){},Object.defineProperty(AnimationEngine.prototype,"activePlayers",{get:function(){throw new Error("...")},enumerable:!0,configurable:!0}),Object.defineProperty(AnimationEngine.prototype,"queuedPlayers",{get:function(){throw new Error("...")},enumerable:!0,configurable:!0}),AnimationEngine}(),ONE_SECOND=1e3,ANY_STATE="*",AnimationTimelineContext=function(){function AnimationTimelineContext(errors,timelines,initialTimeline){void 0===initialTimeline&&(initialTimeline=null),this.errors=errors,this.timelines=timelines,this.previousNode={},this.subContextCount=0,this.currentTimeline=initialTimeline||new TimelineBuilder(0),timelines.push(this.currentTimeline)}return AnimationTimelineContext.prototype.createSubContext=function(){var context=new AnimationTimelineContext(this.errors,this.timelines,this.currentTimeline.fork());return context.previousNode=this.previousNode,context.currentAnimateTimings=this.currentAnimateTimings,this.subContextCount++,context},AnimationTimelineContext.prototype.transformIntoNewTimeline=function(newTime){return void 0===newTime&&(newTime=0),this.currentTimeline=this.currentTimeline.fork(newTime),this.timelines.push(this.currentTimeline),this.currentTimeline},AnimationTimelineContext.prototype.incrementTime=function(time){this.currentTimeline.forwardTime(this.currentTimeline.duration+time)},AnimationTimelineContext}(),AnimationTimelineVisitor=function(){function AnimationTimelineVisitor(){}return AnimationTimelineVisitor.prototype.buildKeyframes=function(ast,startingStyles,finalStyles){var context=new AnimationTimelineContext([],[]);context.currentTimeline.setStyles(startingStyles),visitAnimationNode(this,ast,context);var normalizedFinalStyles=copyStyles(finalStyles,!0);0==Object.keys(context.currentTimeline.getFinalKeyframe()).length&&context.currentTimeline.properties.forEach(function(prop){var val=normalizedFinalStyles[prop];null==val&&(normalizedFinalStyles[prop]=_angular_animations.AUTO_STYLE)}),context.currentTimeline.setStyles(normalizedFinalStyles);var timelineInstructions=[];return context.timelines.forEach(function(timeline){timeline.hasStyling()&&timelineInstructions.push(timeline.buildKeyframes())}),0==timelineInstructions.length&&timelineInstructions.push(createTimelineInstruction([],0,0,"")),timelineInstructions},AnimationTimelineVisitor.prototype.visitState=function(ast,context){},AnimationTimelineVisitor.prototype.visitTransition=function(ast,context){},AnimationTimelineVisitor.prototype.visitSequence=function(ast,context){var _this=this,subContextCount=context.subContextCount;6==context.previousNode.type&&(context.currentTimeline.forwardFrame(),context.currentTimeline.snapshotCurrentStyles()),ast.steps.forEach(function(s){return visitAnimationNode(_this,s,context)}),context.subContextCount>subContextCount&&context.transformIntoNewTimeline(),context.previousNode=ast},AnimationTimelineVisitor.prototype.visitGroup=function(ast,context){var _this=this,innerTimelines=[],furthestTime=context.currentTimeline.currentTime;ast.steps.forEach(function(s){var innerContext=context.createSubContext();visitAnimationNode(_this,s,innerContext),furthestTime=Math.max(furthestTime,innerContext.currentTimeline.currentTime),innerTimelines.push(innerContext.currentTimeline)}),innerTimelines.forEach(function(timeline){return context.currentTimeline.mergeTimelineCollectedStyles(timeline)}),context.transformIntoNewTimeline(furthestTime),context.previousNode=ast},AnimationTimelineVisitor.prototype.visitAnimate=function(ast,context){var timings=ast.timings.hasOwnProperty("duration")?ast.timings:parseTimeExpression(ast.timings,context.errors);context.currentAnimateTimings=timings,timings.delay&&(context.incrementTime(timings.delay),context.currentTimeline.snapshotCurrentStyles());var astType=ast.styles?ast.styles.type:-1;if(5==astType)this.visitKeyframeSequence(ast.styles,context);else{var styleAst=ast.styles;!styleAst&&timings.easing&&(styleAst=_angular_animations.style({easing:timings.easing})),context.incrementTime(timings.duration),styleAst&&this.visitStyle(styleAst,context)}context.currentAnimateTimings=null,context.previousNode=ast},AnimationTimelineVisitor.prototype.visitStyle=function(ast,context){context.currentAnimateTimings||4!=context.previousNode.type||context.currentTimeline.forwardFrame();var normalizedStyles=normalizeStyles(ast.styles),easing=context.currentAnimateTimings&&context.currentAnimateTimings.easing;easing&&(normalizedStyles.easing=easing),context.currentTimeline.setStyles(normalizedStyles),context.previousNode=ast},AnimationTimelineVisitor.prototype.visitKeyframeSequence=function(ast,context){var MAX_KEYFRAME_OFFSET=1,limit=ast.steps.length-1,firstKeyframe=ast.steps[0],offsetGap=0,containsOffsets=null!=getOffset(firstKeyframe);containsOffsets||(offsetGap=MAX_KEYFRAME_OFFSET/limit);var startTime=context.currentTimeline.duration,duration=context.currentAnimateTimings.duration,innerContext=context.createSubContext(),innerTimeline=innerContext.currentTimeline;innerTimeline.easing=context.currentAnimateTimings.easing,ast.steps.forEach(function(step,i){var normalizedStyles=normalizeStyles(step.styles),offset=containsOffsets?null!=step.offset?step.offset:parseFloat(normalizedStyles.offset):i==limit?MAX_KEYFRAME_OFFSET:i*offsetGap;innerTimeline.forwardTime(offset*duration),innerTimeline.setStyles(normalizedStyles)}),context.currentTimeline.mergeTimelineCollectedStyles(innerTimeline),context.transformIntoNewTimeline(startTime+duration),context.previousNode=ast},AnimationTimelineVisitor}(),TimelineBuilder=function(){function TimelineBuilder(startTime,_globalTimelineStyles){void 0===_globalTimelineStyles&&(_globalTimelineStyles=null),this.startTime=startTime,this._globalTimelineStyles=_globalTimelineStyles,this.duration=0,this.easing="",this._keyframes=new Map,this._styleSummary={},this._backFill={},this._localTimelineStyles=Object.create(this._backFill,{}),this._globalTimelineStyles||(this._globalTimelineStyles=this._localTimelineStyles),this._loadKeyframe()}return TimelineBuilder.prototype.hasStyling=function(){return this._keyframes.size>1},Object.defineProperty(TimelineBuilder.prototype,"currentTime",{get:function(){return this.startTime+this.duration},enumerable:!0,configurable:!0}),TimelineBuilder.prototype.fork=function(currentTime){return void 0===currentTime&&(currentTime=0),new TimelineBuilder(currentTime||this.currentTime,this._globalTimelineStyles)},TimelineBuilder.prototype._loadKeyframe=function(){this._currentKeyframe=this._keyframes.get(this.duration),this._currentKeyframe||(this._currentKeyframe=Object.create(this._backFill,{}),this._keyframes.set(this.duration,this._currentKeyframe))},TimelineBuilder.prototype.forwardFrame=function(){this.duration++,this._loadKeyframe()},TimelineBuilder.prototype.forwardTime=function(time){this.duration=time,this._loadKeyframe()},TimelineBuilder.prototype._updateStyle=function(prop,value){"easing"!=prop&&(this._localTimelineStyles[prop]=value,this._globalTimelineStyles[prop]=value,this._styleSummary[prop]={time:this.currentTime,value:value})},TimelineBuilder.prototype.setStyles=function(styles){var _this=this;Object.keys(styles).forEach(function(prop){if("offset"!==prop){var val=styles[prop];_this._currentKeyframe[prop]=val,"easing"===prop||_this._localTimelineStyles[prop]||(_this._backFill[prop]=_this._globalTimelineStyles[prop]||_angular_animations.AUTO_STYLE),_this._updateStyle(prop,val)}}),Object.keys(this._localTimelineStyles).forEach(function(prop){_this._currentKeyframe.hasOwnProperty(prop)||(_this._currentKeyframe[prop]=_this._localTimelineStyles[prop])})},TimelineBuilder.prototype.snapshotCurrentStyles=function(){copyStyles(this._localTimelineStyles,!1,this._currentKeyframe)},TimelineBuilder.prototype.getFinalKeyframe=function(){return this._keyframes.get(this.duration)},Object.defineProperty(TimelineBuilder.prototype,"properties",{get:function(){var properties=[];for(var prop in this._currentKeyframe)properties.push(prop);return properties},enumerable:!0,configurable:!0}),TimelineBuilder.prototype.mergeTimelineCollectedStyles=function(timeline){var _this=this;Object.keys(timeline._styleSummary).forEach(function(prop){var details0=_this._styleSummary[prop],details1=timeline._styleSummary[prop];(!details0||details1.time>details0.time)&&_this._updateStyle(prop,details1.value)})},TimelineBuilder.prototype.buildKeyframes=function(){var _this=this,finalKeyframes=[];if(0==this.duration){var targetKeyframe=this.getFinalKeyframe(),firstKeyframe=copyStyles(targetKeyframe,!0);firstKeyframe.offset=0,finalKeyframes.push(firstKeyframe);var lastKeyframe=copyStyles(targetKeyframe,!0);lastKeyframe.offset=1,finalKeyframes.push(lastKeyframe)}else this._keyframes.forEach(function(keyframe,time){var finalKeyframe=copyStyles(keyframe,!0);finalKeyframe.offset=time/_this.duration,finalKeyframes.push(finalKeyframe)});return createTimelineInstruction(finalKeyframes,this.duration,this.startTime,this.easing)},TimelineBuilder}(),AnimationTransitionFactory=function(){function AnimationTransitionFactory(_triggerName,ast,matchFns,_stateStyles){this._triggerName=_triggerName,this.matchFns=matchFns,this._stateStyles=_stateStyles;var normalizedAst=Array.isArray(ast.animation)?_angular_animations.sequence(ast.animation):ast.animation;this._animationAst=normalizedAst}return AnimationTransitionFactory.prototype.match=function(currentState,nextState){if(oneOrMoreTransitionsMatch(this.matchFns,currentState,nextState)){var backupStateStyles=this._stateStyles["*"]||{},currentStateStyles=this._stateStyles[currentState]||backupStateStyles,nextStateStyles=this._stateStyles[nextState]||backupStateStyles,timelines=buildAnimationKeyframes(this._animationAst,currentStateStyles,nextStateStyles);return createTransitionInstruction(this._triggerName,currentState,nextState,"void"===nextState,currentStateStyles,nextStateStyles,timelines)}},AnimationTransitionFactory}(),AnimationValidatorVisitor=function(){function AnimationValidatorVisitor(){}return AnimationValidatorVisitor.prototype.validate=function(ast){var context=new AnimationValidatorContext;return visitAnimationNode(this,ast,context),context.errors},AnimationValidatorVisitor.prototype.visitState=function(ast,context){},AnimationValidatorVisitor.prototype.visitTransition=function(ast,context){},AnimationValidatorVisitor.prototype.visitSequence=function(ast,context){var _this=this;ast.steps.forEach(function(step){return visitAnimationNode(_this,step,context)})},AnimationValidatorVisitor.prototype.visitGroup=function(ast,context){var _this=this,currentTime=context.currentTime,furthestTime=0;ast.steps.forEach(function(step){context.currentTime=currentTime,visitAnimationNode(_this,step,context),furthestTime=Math.max(furthestTime,context.currentTime)}),context.currentTime=furthestTime},AnimationValidatorVisitor.prototype.visitAnimate=function(ast,context){context.currentAnimateTimings=ast.timings=parseTimeExpression(ast.timings,context.errors);var astType=ast.styles&&ast.styles.type;5==astType?this.visitKeyframeSequence(ast.styles,context):(context.currentTime+=context.currentAnimateTimings.duration+context.currentAnimateTimings.delay,6==astType&&this.visitStyle(ast.styles,context)),context.currentAnimateTimings=null},AnimationValidatorVisitor.prototype.visitStyle=function(ast,context){var styleData=normalizeStyles(ast.styles),timings=context.currentAnimateTimings,endTime=context.currentTime,startTime=context.currentTime;timings&&startTime>0&&(startTime-=timings.duration+timings.delay),Object.keys(styleData).forEach(function(prop){var collectedEntry=context.collectedStyles[prop],updateCollectedStyle=!0;collectedEntry&&(startTime!=endTime&&startTime>=collectedEntry.startTime&&endTime<=collectedEntry.endTime&&(context.errors.push('The CSS property "'+prop+'" that exists between the times of "'+collectedEntry.startTime+'ms" and "'+collectedEntry.endTime+'ms" is also being animated in a parallel animation between the times of "'+startTime+'ms" and "'+endTime+'ms"'),updateCollectedStyle=!1),startTime=collectedEntry.startTime),updateCollectedStyle&&(context.collectedStyles[prop]={startTime:startTime,endTime:endTime})})},AnimationValidatorVisitor.prototype.visitKeyframeSequence=function(ast,context){var _this=this,totalKeyframesWithOffsets=0,offsets=[],offsetsOutOfOrder=!1,keyframesOutOfRange=!1,previousOffset=0;ast.steps.forEach(function(step){var styleData=normalizeStyles(step.styles),offset=0;styleData.hasOwnProperty("offset")&&(totalKeyframesWithOffsets++,offset=styleData.offset),keyframesOutOfRange=keyframesOutOfRange||offset<0||offset>1,offsetsOutOfOrder=offsetsOutOfOrder||offset<previousOffset,previousOffset=offset,offsets.push(offset)}),keyframesOutOfRange&&context.errors.push("Please ensure that all keyframe offsets are between 0 and 1"),offsetsOutOfOrder&&context.errors.push("Please ensure that all keyframe offsets are in order");var length=ast.steps.length,generatedOffset=0;totalKeyframesWithOffsets>0&&totalKeyframesWithOffsets<length?context.errors.push("Not all style() steps within the declared keyframes() contain offsets"):0==totalKeyframesWithOffsets&&(generatedOffset=1/length);var limit=length-1,currentTime=context.currentTime,animateDuration=context.currentAnimateTimings.duration;ast.steps.forEach(function(step,i){var offset=generatedOffset>0?i==limit?1:generatedOffset*i:offsets[i],durationUpToThisFrame=offset*animateDuration;context.currentTime=currentTime+context.currentAnimateTimings.delay+durationUpToThisFrame,context.currentAnimateTimings.duration=durationUpToThisFrame,_this.visitStyle(step,context)})},AnimationValidatorVisitor}(),AnimationValidatorContext=function(){function AnimationValidatorContext(){this.errors=[],this.currentTime=0,this.collectedStyles={}}return AnimationValidatorContext}(),AnimationTrigger=function(){function AnimationTrigger(name,states,_transitionAsts){var _this=this;this.name=name,this._transitionAsts=_transitionAsts,this.transitionFactories=[],this.states={},Object.keys(states).forEach(function(stateName){_this.states[stateName]=copyStyles(states[stateName],!1)});var errors=[];if(_transitionAsts.forEach(function(ast){var exprs=parseTransitionExpr(ast.expr,errors),sequenceErrors=validateAnimationSequence(ast);sequenceErrors.length?errors.push.apply(errors,sequenceErrors):_this.transitionFactories.push(new AnimationTransitionFactory(_this.name,ast,exprs,states))}),errors.length){var LINE_START="\n - ";throw new Error("Animation parsing for the "+name+" trigger have failed:"+LINE_START+errors.join(LINE_START))}}return AnimationTrigger.prototype.createFallbackInstruction=function(currentState,nextState){var backupStateStyles=this.states["*"]||{},currentStateStyles=this.states[currentState]||backupStateStyles,nextStateStyles=this.states[nextState]||backupStateStyles;return createTransitionInstruction(this.name,currentState,nextState,"void"==nextState,currentStateStyles,nextStateStyles,[])},AnimationTrigger.prototype.matchTransition=function(currentState,nextState){for(var i=0;i<this.transitionFactories.length;i++){var result=this.transitionFactories[i].match(currentState,nextState);if(result)return result}},AnimationTrigger}(),AnimationTriggerContext=function(){function AnimationTriggerContext(){this.errors=[],this.states={},this.transitions=[]}return AnimationTriggerContext}(),AnimationTriggerVisitor=function(){function AnimationTriggerVisitor(){}return AnimationTriggerVisitor.prototype.buildTrigger=function(name,definitions){var _this=this,context=new AnimationTriggerContext;return definitions.forEach(function(def){return visitAnimationNode(_this,def,context)}),new AnimationTrigger(name,context.states,context.transitions)},AnimationTriggerVisitor.prototype.visitState=function(ast,context){var styles=normalizeStyles(ast.styles.styles);ast.name.split(/\s*,\s*/).forEach(function(name){context.states[name]=styles})},AnimationTriggerVisitor.prototype.visitTransition=function(ast,context){context.transitions.push(ast)},AnimationTriggerVisitor.prototype.visitSequence=function(ast,context){},AnimationTriggerVisitor.prototype.visitGroup=function(ast,context){},AnimationTriggerVisitor.prototype.visitAnimate=function(ast,context){},AnimationTriggerVisitor.prototype.visitStyle=function(ast,context){},AnimationTriggerVisitor.prototype.visitKeyframeSequence=function(ast,context){},AnimationTriggerVisitor}(),MARKED_FOR_ANIMATION="ng-animate",MARKED_FOR_REMOVAL="$$ngRemove",DomAnimationEngine=function(){function DomAnimationEngine(_driver,_normalizer){this._driver=_driver,this._normalizer=_normalizer,this._flaggedInserts=new Set,this._queuedRemovals=new Map,this._queuedTransitionAnimations=[],this._activeTransitionAnimations=new Map,this._activeElementAnimations=new Map,this._elementTriggerStates=new Map,this._triggers=Object.create(null),this._triggerListeners=new Map,this._pendingListenerRemovals=new Map}return Object.defineProperty(DomAnimationEngine.prototype,"queuedPlayers",{get:function(){return this._queuedTransitionAnimations.map(function(q){return q.player})},enumerable:!0,configurable:!0}),Object.defineProperty(DomAnimationEngine.prototype,"activePlayers",{get:function(){var players=[];return this._activeElementAnimations.forEach(function(activePlayers){return players.push.apply(players,activePlayers)}),players},enumerable:!0,configurable:!0}),DomAnimationEngine.prototype.registerTrigger=function(trigger,name){void 0===name&&(name=null),name=name||trigger.name,this._triggers[name]||(this._triggers[name]=buildTrigger(name,trigger.definitions))},DomAnimationEngine.prototype.onInsert=function(element,domFn){this._flaggedInserts.add(element),domFn()},DomAnimationEngine.prototype.onRemove=function(element,domFn){var _this=this,lookupRef=this._elementTriggerStates.get(element);if(lookupRef){var possibleTriggers=Object.keys(lookupRef),hasRemoval=possibleTriggers.some(function(triggerName){var oldValue=lookupRef[triggerName],instruction=_this._triggers[triggerName].matchTransition(oldValue,"void");return!!instruction});if(hasRemoval)return element[MARKED_FOR_REMOVAL]=!0,void this._queuedRemovals.set(element,domFn)}this._triggerListeners.has(element)&&(element[MARKED_FOR_REMOVAL]=!0,this._queuedRemovals.set(element,function(){})),domFn()},DomAnimationEngine.prototype.setProperty=function(element,property,value){var trigger=this._triggers[property];if(!trigger)throw new Error('The provided animation trigger "'+property+'" has not been registered!');var lookupRef=this._elementTriggerStates.get(element);lookupRef||this._elementTriggerStates.set(element,lookupRef={});var oldValue=lookupRef[property]||"void";if(oldValue!=value){var instruction=trigger.matchTransition(oldValue,value);instruction||(instruction=trigger.createFallbackInstruction(oldValue,value)),this.animateTransition(element,instruction),lookupRef[property]=value}},DomAnimationEngine.prototype.listen=function(element,eventName,eventPhase,callback){var _this=this;if(!eventPhase)throw new Error('Unable to listen on the animation trigger "'+eventName+'" because the provided event is undefined!');if(!this._triggers[eventName])throw new Error('Unable to listen on the animation trigger event "'+eventPhase+'" because the animation trigger "'+eventName+"\" doesn't exist!");var elementListeners=this._triggerListeners.get(element);elementListeners||this._triggerListeners.set(element,elementListeners=[]),validatePlayerEvent(eventName,eventPhase);var tuple={triggerName:eventName,phase:eventPhase,callback:callback};return elementListeners.push(tuple),function(){getOrSetAsInMap(_this._pendingListenerRemovals,element,[]).push(tuple)}},DomAnimationEngine.prototype._clearPendingListenerRemovals=function(){var _this=this;this._pendingListenerRemovals.forEach(function(tuples,element){var elementListeners=_this._triggerListeners.get(element);elementListeners&&tuples.forEach(function(tuple){var index=elementListeners.indexOf(tuple);index>=0&&elementListeners.splice(index,1)})}),this._pendingListenerRemovals.clear()},DomAnimationEngine.prototype._onRemovalTransition=function(element){for(var elms=element.querySelectorAll(MARKED_FOR_ANIMATION),_loop_1=function(i){var elm=elms[i],activePlayers=this_1._activeElementAnimations.get(elm);activePlayers&&activePlayers.forEach(function(player){return player.destroy()});var activeTransitions=this_1._activeTransitionAnimations.get(elm);activeTransitions&&Object.keys(activeTransitions).forEach(function(triggerName){var player=activeTransitions[triggerName];player&&player.destroy()})},this_1=this,i=0;i<elms.length;i++)_loop_1(i);return copyArray(this._activeElementAnimations.get(element))},DomAnimationEngine.prototype.animateTransition=function(element,instruction){var previousPlayers,_this=this,triggerName=instruction.triggerName;if(instruction.isRemovalTransition)previousPlayers=this._onRemovalTransition(element);else{previousPlayers=[];var existingTransitions=this._activeTransitionAnimations.get(element),existingPlayer=existingTransitions?existingTransitions[triggerName]:null;existingPlayer&&previousPlayers.push(existingPlayer)}eraseStyles(element,instruction.fromStyles);var totalTime=0,players=instruction.timelines.map(function(timelineInstruction){return totalTime=Math.max(totalTime,timelineInstruction.totalTime),_this._buildPlayer(element,timelineInstruction,previousPlayers)});previousPlayers.forEach(function(previousPlayer){return previousPlayer.destroy()});var player=optimizeGroupPlayer(players);player.onDone(function(){player.destroy();var elmTransitionMap=_this._activeTransitionAnimations.get(element);elmTransitionMap&&(delete elmTransitionMap[triggerName],0==Object.keys(elmTransitionMap).length&&_this._activeTransitionAnimations.delete(element)),deleteFromArrayMap(_this._activeElementAnimations,element,player),setStyles(element,instruction.toStyles)});var elmTransitionMap=getOrSetAsInMap(this._activeTransitionAnimations,element,{});return elmTransitionMap[triggerName]=player,this._queuePlayer(element,triggerName,player,makeAnimationEvent(element,triggerName,instruction.fromState,instruction.toState,null,totalTime)),player},DomAnimationEngine.prototype.animateTimeline=function(element,instructions,previousPlayers){var _this=this;void 0===previousPlayers&&(previousPlayers=[]);var players=instructions.map(function(instruction){var player=_this._buildPlayer(element,instruction,previousPlayers);return player.onDestroy(function(){deleteFromArrayMap(_this._activeElementAnimations,element,player)}),player.init(),_this._markPlayerAsActive(element,player),player});return optimizeGroupPlayer(players)},DomAnimationEngine.prototype._buildPlayer=function(element,instruction,previousPlayers){return this._driver.animate(element,this._normalizeKeyframes(instruction.keyframes),instruction.duration,instruction.delay,instruction.easing,previousPlayers)},DomAnimationEngine.prototype._normalizeKeyframes=function(keyframes){var _this=this,errors=[],normalizedKeyframes=[];if(keyframes.forEach(function(kf){var normalizedKeyframe={};Object.keys(kf).forEach(function(prop){var normalizedProp=prop,normalizedValue=kf[prop];"offset"!=prop&&(normalizedProp=_this._normalizer.normalizePropertyName(prop,errors),normalizedValue=_this._normalizer.normalizeStyleValue(prop,normalizedProp,kf[prop],errors)),normalizedKeyframe[normalizedProp]=normalizedValue}),normalizedKeyframes.push(normalizedKeyframe)}),errors.length){var LINE_START="\n - ";throw new Error("Unable to animate due to the following errors:"+LINE_START+errors.join(LINE_START))}return normalizedKeyframes},DomAnimationEngine.prototype._markPlayerAsActive=function(element,player){var elementAnimations=getOrSetAsInMap(this._activeElementAnimations,element,[]);elementAnimations.push(player)},DomAnimationEngine.prototype._queuePlayer=function(element,triggerName,player,event){var tuple={element:element,player:player,triggerName:triggerName,event:event};this._queuedTransitionAnimations.push(tuple),player.init(),element.classList.add(MARKED_FOR_ANIMATION),player.onDone(function(){element.classList.remove(MARKED_FOR_ANIMATION)})},DomAnimationEngine.prototype._flushQueuedAnimations=function(){var _loop_2=function(){for(var _a=this_2._queuedTransitionAnimations.shift(),player=_a.player,element=_a.element,triggerName=_a.triggerName,event=_a.event,parent=element;parent=parent.parentNode;)if(parent[MARKED_FOR_REMOVAL])return"continue-parentLoop";var listeners=this_2._triggerListeners.get(element);return listeners&&listeners.forEach(function(tuple){tuple.triggerName==triggerName&&listenOnPlayer(player,tuple.phase,event,tuple.callback)}),this_2._queuedRemovals.has(element)?(player.destroy(),"continue"):(this_2._markPlayerAsActive(element,player),void(player.hasStarted()||player.play()))},this_2=this;parentLoop:for(;this._queuedTransitionAnimations.length;){var state_1=_loop_2();switch(state_1){case"continue-parentLoop":continue parentLoop}}},DomAnimationEngine.prototype.flush=function(){var _this=this,leaveListeners=new Map;this._queuedRemovals.forEach(function(callback,element){var tuple=_this._pendingListenerRemovals.get(element);tuple&&(leaveListeners.set(element,tuple),_this._pendingListenerRemovals.delete(element))}),this._clearPendingListenerRemovals(),this._pendingListenerRemovals=leaveListeners,this._flushQueuedAnimations();var flushAgain=!1;this._queuedRemovals.forEach(function(callback,element){if(!_this._flaggedInserts.has(element)){for(var parent=element,players=[];parent=parent.parentNode;){if(parent[MARKED_FOR_REMOVAL])return void callback();var match=_this._activeElementAnimations.get(parent);if(match){players.push.apply(players,match);break}}if(0==players.length){var stateDetails_1=_this._elementTriggerStates.get(element);stateDetails_1&&Object.keys(stateDetails_1).forEach(function(triggerName){flushAgain=!0;var oldValue=stateDetails_1[triggerName],instruction=_this._triggers[triggerName].matchTransition(oldValue,"void");if(instruction)players.push(_this.animateTransition(element,instruction));else{var event=makeAnimationEvent(element,triggerName,oldValue,"void","",0),player=new _angular_animations.NoopAnimationPlayer;_this._queuePlayer(element,triggerName,player,event)}})}players.length?optimizeGroupPlayer(players).onDone(callback):callback()}}),this._queuedRemovals.clear(),this._flaggedInserts.clear(),flushAgain&&(this._flushQueuedAnimations(),this._clearPendingListenerRemovals())},DomAnimationEngine}(),AnimationStyleNormalizer=function(){function AnimationStyleNormalizer(){}return AnimationStyleNormalizer.prototype.normalizePropertyName=function(propertyName,errors){},AnimationStyleNormalizer.prototype.normalizeStyleValue=function(userProvidedProperty,normalizedProperty,value,errors){},AnimationStyleNormalizer}(),NoopAnimationStyleNormalizer=function(){function NoopAnimationStyleNormalizer(){}return NoopAnimationStyleNormalizer.prototype.normalizePropertyName=function(propertyName,errors){return propertyName},NoopAnimationStyleNormalizer.prototype.normalizeStyleValue=function(userProvidedProperty,normalizedProperty,value,errors){return value},NoopAnimationStyleNormalizer}(),Animation=function(){function Animation(input){var ast=Array.isArray(input)?_angular_animations.sequence(input):input,errors=validateAnimationSequence(ast);if(errors.length){var errorMessage="animation validation failed:\n"+errors.join("\n");throw new Error(errorMessage)}this._animationAst=ast}return Animation.prototype.buildTimelines=function(startingStyles,destinationStyles){var start=Array.isArray(startingStyles)?normalizeStyles(startingStyles):startingStyles,dest=Array.isArray(destinationStyles)?normalizeStyles(destinationStyles):destinationStyles;return buildAnimationKeyframes(this._animationAst,start,dest)},Animation.prototype.create=function(injector,element,startingStyles,destinationStyles){void 0===startingStyles&&(startingStyles={}),void 0===destinationStyles&&(destinationStyles={});var instructions=this.buildTimelines(startingStyles,destinationStyles),driver=injector.get(AnimationDriver),normalizer=injector.get(AnimationStyleNormalizer),engine=new DomAnimationEngine(driver,normalizer);return engine.animateTimeline(element,instructions)},Animation}(),WebAnimationsStyleNormalizer=function(_super){function WebAnimationsStyleNormalizer(){return null!==_super&&_super.apply(this,arguments)||this}return __extends(WebAnimationsStyleNormalizer,_super),WebAnimationsStyleNormalizer.prototype.normalizePropertyName=function(propertyName,errors){return dashCaseToCamelCase(propertyName)},WebAnimationsStyleNormalizer.prototype.normalizeStyleValue=function(userProvidedProperty,normalizedProperty,value,errors){var unit="",strVal=value.toString().trim();if(DIMENSIONAL_PROP_MAP[normalizedProperty]&&0!==value&&"0"!==value)if("number"==typeof value)unit="px";else{var valAndSuffixMatch=value.match(/^[+-]?[\d\.]+([a-z]*)$/);valAndSuffixMatch&&0==valAndSuffixMatch[1].length&&errors.push("Please provide a CSS unit value for "+userProvidedProperty+":"+value)}return strVal+unit},WebAnimationsStyleNormalizer}(AnimationStyleNormalizer),DIMENSIONAL_PROP_MAP=makeBooleanMap("width,height,minWidth,minHeight,maxWidth,maxHeight,left,top,bottom,right,fontSize,outlineWidth,outlineOffset,paddingTop,paddingLeft,paddingBottom,paddingRight,marginTop,marginLeft,marginBottom,marginRight,borderRadius,borderWidth,borderTopWidth,borderLeftWidth,borderRightWidth,borderBottomWidth,textIndent".split(",")),DASH_CASE_REGEXP=/-+([a-z0-9])/g,DEFAULT_STATE_VALUE="void",DEFAULT_STATE_STYLES="*",NoopAnimationEngine=function(_super){function NoopAnimationEngine(){var _this=_super.apply(this,arguments)||this;return _this._listeners=new Map,_this._changes=[],_this._flaggedRemovals=new Set,_this._onDoneFns=[],_this._triggerStyles=Object.create(null),_this}return __extends(NoopAnimationEngine,_super),NoopAnimationEngine.prototype.registerTrigger=function(trigger,name){if(void 0===name&&(name=null),name=name||trigger.name,!this._triggerStyles[name]){var stateMap={};trigger.definitions.forEach(function(def){if(0===def.type){var stateDef=def;stateMap[stateDef.name]=normalizeStyles(stateDef.styles.styles)}}),this._triggerStyles[name]=stateMap}},NoopAnimationEngine.prototype.onInsert=function(element,domFn){domFn()},NoopAnimationEngine.prototype.onRemove=function(element,domFn){domFn(),this._flaggedRemovals.add(element)},NoopAnimationEngine.prototype.setProperty=function(element,property,value){var storageProp=makeStorageProp(property),oldValue=element[storageProp]||DEFAULT_STATE_VALUE;this._changes.push({element:element,oldValue:oldValue,newValue:value,triggerName:property});var triggerStateStyles=this._triggerStyles[property]||{},fromStateStyles=triggerStateStyles[oldValue]||triggerStateStyles[DEFAULT_STATE_STYLES];fromStateStyles&&eraseStyles(element,fromStateStyles),element[storageProp]=value,this._onDoneFns.push(function(){var toStateStyles=triggerStateStyles[value]||triggerStateStyles[DEFAULT_STATE_STYLES];toStateStyles&&setStyles(element,toStateStyles)})},NoopAnimationEngine.prototype.listen=function(element,eventName,eventPhase,callback){var listeners=this._listeners.get(element);listeners||this._listeners.set(element,listeners=[]);var tuple={triggerName:eventName,eventPhase:eventPhase,callback:callback};return listeners.push(tuple),function(){return tuple.doRemove=!0}},NoopAnimationEngine.prototype.flush=function(){function handleListener(listener,data){var phase=listener.eventPhase,event=makeAnimationEvent$1(data.element,data.triggerName,data.oldValue,data.newValue,phase,0);"start"==phase?onStartCallbacks.push(function(){return listener.callback(event)}):"done"==phase&&onDoneCallbacks.push(function(){
return listener.callback(event)})}var _this=this,onStartCallbacks=[],onDoneCallbacks=[];this._changes.forEach(function(change){var element=change.element,listeners=_this._listeners.get(element);listeners&&listeners.forEach(function(listener){listener.triggerName==change.triggerName&&handleListener(listener,change)})}),this._flaggedRemovals.forEach(function(element){var listeners=_this._listeners.get(element);listeners&&listeners.forEach(function(listener){var triggerName=listener.triggerName,storageProp=makeStorageProp(triggerName);handleListener(listener,{element:element,triggerName:triggerName,oldValue:element[storageProp]||DEFAULT_STATE_VALUE,newValue:DEFAULT_STATE_VALUE})})}),Array.from(this._listeners.keys()).forEach(function(element){var listenersToKeep=_this._listeners.get(element).filter(function(l){return!l.doRemove});listenersToKeep.length?_this._listeners.set(element,listenersToKeep):_this._listeners.delete(element)}),onStartCallbacks.forEach(function(fn){return fn()}),onDoneCallbacks.forEach(function(fn){return fn()}),this._flaggedRemovals.clear(),this._changes=[],this._onDoneFns.forEach(function(doneFn){return doneFn()}),this._onDoneFns=[]},Object.defineProperty(NoopAnimationEngine.prototype,"activePlayers",{get:function(){return[]},enumerable:!0,configurable:!0}),Object.defineProperty(NoopAnimationEngine.prototype,"queuedPlayers",{get:function(){return[]},enumerable:!0,configurable:!0}),NoopAnimationEngine}(AnimationEngine),WebAnimationsPlayer=function(){function WebAnimationsPlayer(element,keyframes,options,previousPlayers){void 0===previousPlayers&&(previousPlayers=[]);var _this=this;this.element=element,this.keyframes=keyframes,this.options=options,this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._initialized=!1,this._finished=!1,this._started=!1,this._destroyed=!1,this.time=0,this.parentPlayer=null,this._duration=options.duration,this._delay=options.delay||0,this.time=this._duration+this._delay,this.previousStyles={},previousPlayers.forEach(function(player){var styles=player._captureStyles();Object.keys(styles).forEach(function(prop){return _this.previousStyles[prop]=styles[prop]})})}return WebAnimationsPlayer.prototype._onFinish=function(){this._finished||(this._finished=!0,this._onDoneFns.forEach(function(fn){return fn()}),this._onDoneFns=[])},WebAnimationsPlayer.prototype.init=function(){var _this=this;if(!this._initialized){this._initialized=!0;var keyframes=this.keyframes.map(function(styles){var formattedKeyframe={};return Object.keys(styles).forEach(function(prop,index){var value=styles[prop];value==_angular_animations.AUTO_STYLE&&(value=_computeStyle(_this.element,prop)),void 0!=value&&(formattedKeyframe[prop]=value)}),formattedKeyframe}),previousStyleProps=Object.keys(this.previousStyles);if(previousStyleProps.length){var startingKeyframe_1=keyframes[0],missingStyleProps_1=[];if(previousStyleProps.forEach(function(prop){null!=startingKeyframe_1[prop]&&missingStyleProps_1.push(prop),startingKeyframe_1[prop]=_this.previousStyles[prop]}),missingStyleProps_1.length)for(var self_1=this,_loop_3=function(){var kf=keyframes[i];missingStyleProps_1.forEach(function(prop){kf[prop]=_computeStyle(self_1.element,prop)})},i=1;i<keyframes.length;i++)_loop_3()}this._player=this._triggerWebAnimation(this.element,keyframes,this.options),this._finalKeyframe=keyframes.length?_copyKeyframeStyles(keyframes[keyframes.length-1]):{},this._resetDomPlayerState(),this._player.addEventListener("finish",function(){return _this._onFinish()})}},WebAnimationsPlayer.prototype._triggerWebAnimation=function(element,keyframes,options){return element.animate(keyframes,options)},Object.defineProperty(WebAnimationsPlayer.prototype,"domPlayer",{get:function(){return this._player},enumerable:!0,configurable:!0}),WebAnimationsPlayer.prototype.onStart=function(fn){this._onStartFns.push(fn)},WebAnimationsPlayer.prototype.onDone=function(fn){this._onDoneFns.push(fn)},WebAnimationsPlayer.prototype.onDestroy=function(fn){this._onDestroyFns.push(fn)},WebAnimationsPlayer.prototype.play=function(){this.init(),this.hasStarted()||(this._onStartFns.forEach(function(fn){return fn()}),this._onStartFns=[],this._started=!0),this._player.play()},WebAnimationsPlayer.prototype.pause=function(){this.init(),this._player.pause()},WebAnimationsPlayer.prototype.finish=function(){this.init(),this._onFinish(),this._player.finish()},WebAnimationsPlayer.prototype.reset=function(){this._resetDomPlayerState(),this._destroyed=!1,this._finished=!1,this._started=!1},WebAnimationsPlayer.prototype._resetDomPlayerState=function(){this._player&&this._player.cancel()},WebAnimationsPlayer.prototype.restart=function(){this.reset(),this.play()},WebAnimationsPlayer.prototype.hasStarted=function(){return this._started},WebAnimationsPlayer.prototype.destroy=function(){this._destroyed||(this._resetDomPlayerState(),this._onFinish(),this._destroyed=!0,this._onDestroyFns.forEach(function(fn){return fn()}),this._onDestroyFns=[])},WebAnimationsPlayer.prototype.setPosition=function(p){this._player.currentTime=p*this.time},WebAnimationsPlayer.prototype.getPosition=function(){return this._player.currentTime/this.time},WebAnimationsPlayer.prototype._captureStyles=function(){var _this=this,styles={};return this.hasStarted()&&Object.keys(this._finalKeyframe).forEach(function(prop){"offset"!=prop&&(styles[prop]=_this._finished?_this._finalKeyframe[prop]:_computeStyle(_this.element,prop))}),styles},WebAnimationsPlayer}(),WebAnimationsDriver=function(){function WebAnimationsDriver(){}return WebAnimationsDriver.prototype.animate=function(element,keyframes,duration,delay,easing,previousPlayers){void 0===previousPlayers&&(previousPlayers=[]);var playerOptions={duration:duration,delay:delay,fill:"forwards"};easing&&(playerOptions.easing=easing);var previousWebAnimationPlayers=previousPlayers.filter(function(player){return player instanceof WebAnimationsPlayer});return new WebAnimationsPlayer(element,keyframes,playerOptions,previousWebAnimationPlayers)},WebAnimationsDriver}();exports.AnimationDriver=AnimationDriver,exports.ɵAnimationEngine=AnimationEngine,exports.ɵAnimation=Animation,exports.ɵAnimationStyleNormalizer=AnimationStyleNormalizer,exports.ɵNoopAnimationStyleNormalizer=NoopAnimationStyleNormalizer,exports.ɵWebAnimationsStyleNormalizer=WebAnimationsStyleNormalizer,exports.ɵNoopAnimationDriver=NoopAnimationDriver,exports.ɵDomAnimationEngine=DomAnimationEngine,exports.ɵNoopAnimationEngine=NoopAnimationEngine,exports.ɵWebAnimationsDriver=WebAnimationsDriver,exports.ɵsupportsWebAnimations=supportsWebAnimations});
* @license
* Copyright Google Inc. All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/
function createTimelineInstruction(keyframes,duration,delay,easing){return{type:1,keyframes:keyframes,duration:duration,delay:delay,totalTime:duration+delay,easing:easing}}/**
* @license
* Copyright Google Inc. All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/
function buildAnimationKeyframes(ast,startingStyles,finalStyles){void 0===startingStyles&&(startingStyles={}),void 0===finalStyles&&(finalStyles={});var normalizedAst=Array.isArray(ast)?_angular_animations.sequence(ast):ast;return(new AnimationTimelineVisitor).buildKeyframes(normalizedAst,startingStyles,finalStyles)}function getOffset(ast){var offset=ast.offset;if(null==offset){var styles=ast.styles;if(Array.isArray(styles))for(var i=0;i<styles.length;i++){var o=styles[i].offset;if(null!=o){offset=o;break}}else offset=styles.offset}return offset}/**
* @license
* Copyright Google Inc. All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/
function createTransitionInstruction(triggerName,fromState,toState,isRemovalTransition,fromStyles,toStyles,timelines){return{type:0,triggerName:triggerName,isRemovalTransition:isRemovalTransition,fromState:fromState,fromStyles:fromStyles,toState:toState,toStyles:toStyles,timelines:timelines}}function oneOrMoreTransitionsMatch(matchFns,currentState,nextState){return matchFns.some(function(fn){return fn(currentState,nextState)})}/**
* @license
* Copyright Google Inc. All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/
function validateAnimationSequence(ast){var normalizedAst=Array.isArray(ast)?_angular_animations.sequence(ast):ast;return(new AnimationValidatorVisitor).validate(normalizedAst)}/**
* @license
* Copyright Google Inc. All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/
function buildTrigger(name,definitions){return(new AnimationTriggerVisitor).buildTrigger(name,definitions)}function getOrSetAsInMap(map,key,defaultValue){var value=map.get(key);return value||map.set(key,value=defaultValue),value}function deleteFromArrayMap(map,key,value){var arr=map.get(key);if(arr){var index=arr.indexOf(value);index>=0&&(arr.splice(index,1),0==arr.length&&map.delete(key))}}function optimizeGroupPlayer(players){switch(players.length){case 0:return new _angular_animations.NoopAnimationPlayer;case 1:return players[0];default:return new _angular_animations.ɵAnimationGroupPlayer(players)}}function copyArray(source){return source?source.splice(0):[]}function validatePlayerEvent(triggerName,eventName){switch(eventName){case"start":case"done":return;default:throw new Error('The provided animation trigger event "'+eventName+'" for the animation trigger "'+triggerName+'" is not supported!')}}function listenOnPlayer(player,eventName,baseEvent,callback){switch(eventName){case"start":player.onStart(function(){var event=copyAnimationEvent(baseEvent);event.phaseName="start",callback(event)});break;case"done":player.onDone(function(){var event=copyAnimationEvent(baseEvent);event.phaseName="done",callback(event)})}}function copyAnimationEvent(e){return makeAnimationEvent(e.element,e.triggerName,e.fromState,e.toState,e.phaseName,e.totalTime)}function makeAnimationEvent(element,triggerName,fromState,toState,phaseName,totalTime){return{element:element,triggerName:triggerName,fromState:fromState,toState:toState,phaseName:phaseName,totalTime:totalTime}}function normalizeTriggerValue(value){switch(typeof value){case"boolean":return value?"1":"0";default:return value?value.toString():null}}function makeBooleanMap(keys){var map={};return keys.forEach(function(key){return map[key]=!0}),map}function dashCaseToCamelCase(input){return input.replace(DASH_CASE_REGEXP,function(){for(var m=[],_i=0;_i<arguments.length;_i++)m[_i]=arguments[_i];return m[1].toUpperCase()})}function makeAnimationEvent$1(element,triggerName,fromState,toState,phaseName,totalTime){return{element:element,triggerName:triggerName,fromState:fromState,toState:toState,phaseName:phaseName,totalTime:totalTime}}function makeStorageProp(property){return"_@_"+property}function _computeStyle(element,prop){return window.getComputedStyle(element)[prop]}function _copyKeyframeStyles(styles){var newStyles={};return Object.keys(styles).forEach(function(prop){"offset"!=prop&&(newStyles[prop]=styles[prop])}),newStyles}function supportsWebAnimations(){return"undefined"!=typeof Element&&"function"==typeof Element.prototype.animate}var __extends=function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},NoopAnimationDriver=function(){function NoopAnimationDriver(){}return NoopAnimationDriver.prototype.animate=function(element,keyframes,duration,delay,easing,previousPlayers){return void 0===previousPlayers&&(previousPlayers=[]),new _angular_animations.NoopAnimationPlayer},NoopAnimationDriver}(),AnimationDriver=function(){function AnimationDriver(){}return AnimationDriver}();AnimationDriver.NOOP=new NoopAnimationDriver;/**
* @license
* Copyright Google Inc. All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/
var AnimationEngine=function(){function AnimationEngine(){}return AnimationEngine.prototype.registerTrigger=function(trigger,name){},AnimationEngine.prototype.onInsert=function(element,domFn){},AnimationEngine.prototype.onRemove=function(element,domFn){},AnimationEngine.prototype.setProperty=function(element,property,value){},AnimationEngine.prototype.listen=function(element,eventName,eventPhase,callback){},AnimationEngine.prototype.flush=function(){},Object.defineProperty(AnimationEngine.prototype,"activePlayers",{get:function(){throw new Error("...")},enumerable:!0,configurable:!0}),Object.defineProperty(AnimationEngine.prototype,"queuedPlayers",{get:function(){throw new Error("...")},enumerable:!0,configurable:!0}),AnimationEngine}(),ONE_SECOND=1e3,ANY_STATE="*",AnimationTimelineContext=function(){function AnimationTimelineContext(errors,timelines,initialTimeline){void 0===initialTimeline&&(initialTimeline=null),this.errors=errors,this.timelines=timelines,this.previousNode={},this.subContextCount=0,this.currentTimeline=initialTimeline||new TimelineBuilder(0),timelines.push(this.currentTimeline)}return AnimationTimelineContext.prototype.createSubContext=function(){var context=new AnimationTimelineContext(this.errors,this.timelines,this.currentTimeline.fork());return context.previousNode=this.previousNode,context.currentAnimateTimings=this.currentAnimateTimings,this.subContextCount++,context},AnimationTimelineContext.prototype.transformIntoNewTimeline=function(newTime){return void 0===newTime&&(newTime=0),this.currentTimeline=this.currentTimeline.fork(newTime),this.timelines.push(this.currentTimeline),this.currentTimeline},AnimationTimelineContext.prototype.incrementTime=function(time){this.currentTimeline.forwardTime(this.currentTimeline.duration+time)},AnimationTimelineContext}(),AnimationTimelineVisitor=function(){function AnimationTimelineVisitor(){}return AnimationTimelineVisitor.prototype.buildKeyframes=function(ast,startingStyles,finalStyles){var context=new AnimationTimelineContext([],[]);context.currentTimeline.setStyles(startingStyles),visitAnimationNode(this,ast,context);var timelines=context.timelines.filter(function(timeline){return timeline.hasStyling()});if(timelines.length&&Object.keys(finalStyles).length){var tl=timelines[timelines.length-1];tl.allowOnlyTimelineStyles()||tl.setStyles(finalStyles)}return timelines.length?timelines.map(function(timeline){return timeline.buildKeyframes()}):[createTimelineInstruction([],0,0,"")]},AnimationTimelineVisitor.prototype.visitState=function(ast,context){},AnimationTimelineVisitor.prototype.visitTransition=function(ast,context){},AnimationTimelineVisitor.prototype.visitSequence=function(ast,context){var _this=this,subContextCount=context.subContextCount;6==context.previousNode.type&&(context.currentTimeline.forwardFrame(),context.currentTimeline.snapshotCurrentStyles()),ast.steps.forEach(function(s){return visitAnimationNode(_this,s,context)}),context.subContextCount>subContextCount&&context.transformIntoNewTimeline(),context.previousNode=ast},AnimationTimelineVisitor.prototype.visitGroup=function(ast,context){var _this=this,innerTimelines=[],furthestTime=context.currentTimeline.currentTime;ast.steps.forEach(function(s){var innerContext=context.createSubContext();visitAnimationNode(_this,s,innerContext),furthestTime=Math.max(furthestTime,innerContext.currentTimeline.currentTime),innerTimelines.push(innerContext.currentTimeline)}),innerTimelines.forEach(function(timeline){return context.currentTimeline.mergeTimelineCollectedStyles(timeline)}),context.transformIntoNewTimeline(furthestTime),context.previousNode=ast},AnimationTimelineVisitor.prototype.visitAnimate=function(ast,context){var timings=ast.timings.hasOwnProperty("duration")?ast.timings:parseTimeExpression(ast.timings,context.errors);context.currentAnimateTimings=timings,timings.delay&&(context.incrementTime(timings.delay),context.currentTimeline.snapshotCurrentStyles());var astType=ast.styles?ast.styles.type:-1;if(5==astType)this.visitKeyframeSequence(ast.styles,context);else{var styleAst=ast.styles;if(!styleAst){var newStyleData={};timings.easing&&(newStyleData.easing=timings.easing),styleAst=_angular_animations.style(newStyleData),styleAst.treatAsEmptyStep=!0}context.incrementTime(timings.duration),styleAst&&this.visitStyle(styleAst,context)}context.currentAnimateTimings=null,context.previousNode=ast},AnimationTimelineVisitor.prototype.visitStyle=function(ast,context){context.currentAnimateTimings||4!=context.previousNode.type||context.currentTimeline.forwardFrame();var normalizedStyles=normalizeStyles(ast.styles),easing=context.currentAnimateTimings&&context.currentAnimateTimings.easing;this._applyStyles(normalizedStyles,easing,!!ast.treatAsEmptyStep,context),context.previousNode=ast},AnimationTimelineVisitor.prototype._applyStyles=function(styles,easing,treatAsEmptyStep,context){styles.hasOwnProperty("easing")&&(easing=easing||styles.easing,delete styles.easing),context.currentTimeline.setStyles(styles,easing,treatAsEmptyStep)},AnimationTimelineVisitor.prototype.visitKeyframeSequence=function(ast,context){var _this=this,MAX_KEYFRAME_OFFSET=1,limit=ast.steps.length-1,firstKeyframe=ast.steps[0],offsetGap=0,containsOffsets=null!=getOffset(firstKeyframe);containsOffsets||(offsetGap=MAX_KEYFRAME_OFFSET/limit);var startTime=context.currentTimeline.duration,duration=context.currentAnimateTimings.duration,innerContext=context.createSubContext(),innerTimeline=innerContext.currentTimeline;innerTimeline.easing=context.currentAnimateTimings.easing,ast.steps.forEach(function(step,i){var normalizedStyles=normalizeStyles(step.styles),offset=containsOffsets?null!=step.offset?step.offset:parseFloat(normalizedStyles.offset):i==limit?MAX_KEYFRAME_OFFSET:i*offsetGap;innerTimeline.forwardTime(offset*duration),_this._applyStyles(normalizedStyles,null,!1,innerContext)}),context.currentTimeline.mergeTimelineCollectedStyles(innerTimeline),context.transformIntoNewTimeline(startTime+duration),context.previousNode=ast},AnimationTimelineVisitor}(),TimelineBuilder=function(){function TimelineBuilder(startTime,_globalTimelineStyles){void 0===_globalTimelineStyles&&(_globalTimelineStyles=null),this.startTime=startTime,this._globalTimelineStyles=_globalTimelineStyles,this.duration=0,this.easing="",this._previousKeyframe={},this._keyframes=new Map,this._styleSummary={},this._backFill={},this._currentEmptyStepKeyframe=null,this._localTimelineStyles=Object.create(this._backFill,{}),this._globalTimelineStyles||(this._globalTimelineStyles=this._localTimelineStyles),this._loadKeyframe()}return TimelineBuilder.prototype.hasStyling=function(){return this._keyframes.size>1},Object.defineProperty(TimelineBuilder.prototype,"currentTime",{get:function(){return this.startTime+this.duration},enumerable:!0,configurable:!0}),TimelineBuilder.prototype.fork=function(currentTime){return void 0===currentTime&&(currentTime=0),new TimelineBuilder(currentTime||this.currentTime,this._globalTimelineStyles)},TimelineBuilder.prototype._loadKeyframe=function(){this._currentKeyframe&&(this._previousKeyframe=this._currentKeyframe),this._currentKeyframe=this._keyframes.get(this.duration),this._currentKeyframe||(this._currentKeyframe=Object.create(this._backFill,{}),this._keyframes.set(this.duration,this._currentKeyframe))},TimelineBuilder.prototype.forwardFrame=function(){this.duration++,this._loadKeyframe()},TimelineBuilder.prototype.forwardTime=function(time){this.duration=time,this._loadKeyframe()},TimelineBuilder.prototype._updateStyle=function(prop,value){this._localTimelineStyles[prop]=value,this._globalTimelineStyles[prop]=value,this._styleSummary[prop]={time:this.currentTime,value:value}},TimelineBuilder.prototype.allowOnlyTimelineStyles=function(){return this._currentEmptyStepKeyframe!==this._currentKeyframe},TimelineBuilder.prototype.setStyles=function(styles,easing,treatAsEmptyStep){var _this=this;void 0===easing&&(easing=null),void 0===treatAsEmptyStep&&(treatAsEmptyStep=!1),easing&&(this._previousKeyframe.easing=easing),treatAsEmptyStep?(Object.keys(this._globalTimelineStyles).forEach(function(prop){_this._backFill[prop]=_this._globalTimelineStyles[prop]||_angular_animations.AUTO_STYLE,_this._currentKeyframe[prop]=_angular_animations.AUTO_STYLE}),this._currentEmptyStepKeyframe=this._currentKeyframe):(Object.keys(styles).forEach(function(prop){if("offset"!==prop){var val=styles[prop];_this._currentKeyframe[prop]=val,_this._localTimelineStyles[prop]||(_this._backFill[prop]=_this._globalTimelineStyles[prop]||_angular_animations.AUTO_STYLE),_this._updateStyle(prop,val)}}),Object.keys(this._localTimelineStyles).forEach(function(prop){_this._currentKeyframe.hasOwnProperty(prop)||(_this._currentKeyframe[prop]=_this._localTimelineStyles[prop])}))},TimelineBuilder.prototype.snapshotCurrentStyles=function(){copyStyles(this._localTimelineStyles,!1,this._currentKeyframe)},TimelineBuilder.prototype.getFinalKeyframe=function(){return this._keyframes.get(this.duration)},Object.defineProperty(TimelineBuilder.prototype,"properties",{get:function(){var properties=[];for(var prop in this._currentKeyframe)properties.push(prop);return properties},enumerable:!0,configurable:!0}),TimelineBuilder.prototype.mergeTimelineCollectedStyles=function(timeline){var _this=this;Object.keys(timeline._styleSummary).forEach(function(prop){var details0=_this._styleSummary[prop],details1=timeline._styleSummary[prop];(!details0||details1.time>details0.time)&&_this._updateStyle(prop,details1.value)})},TimelineBuilder.prototype.buildKeyframes=function(){var _this=this,finalKeyframes=[];if(0==this.duration){var targetKeyframe=this.getFinalKeyframe(),firstKeyframe=copyStyles(targetKeyframe,!0);firstKeyframe.offset=0,finalKeyframes.push(firstKeyframe);var lastKeyframe=copyStyles(targetKeyframe,!0);lastKeyframe.offset=1,finalKeyframes.push(lastKeyframe)}else this._keyframes.forEach(function(keyframe,time){var finalKeyframe=copyStyles(keyframe,!0);finalKeyframe.offset=time/_this.duration,finalKeyframes.push(finalKeyframe)});return createTimelineInstruction(finalKeyframes,this.duration,this.startTime,this.easing)},TimelineBuilder}(),AnimationTransitionFactory=function(){function AnimationTransitionFactory(_triggerName,ast,matchFns,_stateStyles){this._triggerName=_triggerName,this.matchFns=matchFns,this._stateStyles=_stateStyles;var normalizedAst=Array.isArray(ast.animation)?_angular_animations.sequence(ast.animation):ast.animation;this._animationAst=normalizedAst}return AnimationTransitionFactory.prototype.match=function(currentState,nextState){if(oneOrMoreTransitionsMatch(this.matchFns,currentState,nextState)){var backupStateStyles=this._stateStyles["*"]||{},currentStateStyles=this._stateStyles[currentState]||backupStateStyles,nextStateStyles=this._stateStyles[nextState]||backupStateStyles,timelines=buildAnimationKeyframes(this._animationAst,currentStateStyles,nextStateStyles);return createTransitionInstruction(this._triggerName,currentState,nextState,"void"===nextState,currentStateStyles,nextStateStyles,timelines)}},AnimationTransitionFactory}(),AnimationValidatorVisitor=function(){function AnimationValidatorVisitor(){}return AnimationValidatorVisitor.prototype.validate=function(ast){var context=new AnimationValidatorContext;return visitAnimationNode(this,ast,context),context.errors},AnimationValidatorVisitor.prototype.visitState=function(ast,context){},AnimationValidatorVisitor.prototype.visitTransition=function(ast,context){},AnimationValidatorVisitor.prototype.visitSequence=function(ast,context){var _this=this;ast.steps.forEach(function(step){return visitAnimationNode(_this,step,context)})},AnimationValidatorVisitor.prototype.visitGroup=function(ast,context){var _this=this,currentTime=context.currentTime,furthestTime=0;ast.steps.forEach(function(step){context.currentTime=currentTime,visitAnimationNode(_this,step,context),furthestTime=Math.max(furthestTime,context.currentTime)}),context.currentTime=furthestTime},AnimationValidatorVisitor.prototype.visitAnimate=function(ast,context){context.currentAnimateTimings=ast.timings=parseTimeExpression(ast.timings,context.errors);var astType=ast.styles&&ast.styles.type;5==astType?this.visitKeyframeSequence(ast.styles,context):(context.currentTime+=context.currentAnimateTimings.duration+context.currentAnimateTimings.delay,6==astType&&this.visitStyle(ast.styles,context)),context.currentAnimateTimings=null},AnimationValidatorVisitor.prototype.visitStyle=function(ast,context){var styleData=normalizeStyles(ast.styles),timings=context.currentAnimateTimings,endTime=context.currentTime,startTime=context.currentTime;timings&&startTime>0&&(startTime-=timings.duration+timings.delay),Object.keys(styleData).forEach(function(prop){var collectedEntry=context.collectedStyles[prop],updateCollectedStyle=!0;collectedEntry&&(startTime!=endTime&&startTime>=collectedEntry.startTime&&endTime<=collectedEntry.endTime&&(context.errors.push('The CSS property "'+prop+'" that exists between the times of "'+collectedEntry.startTime+'ms" and "'+collectedEntry.endTime+'ms" is also being animated in a parallel animation between the times of "'+startTime+'ms" and "'+endTime+'ms"'),updateCollectedStyle=!1),startTime=collectedEntry.startTime),updateCollectedStyle&&(context.collectedStyles[prop]={startTime:startTime,endTime:endTime})})},AnimationValidatorVisitor.prototype.visitKeyframeSequence=function(ast,context){var _this=this,totalKeyframesWithOffsets=0,offsets=[],offsetsOutOfOrder=!1,keyframesOutOfRange=!1,previousOffset=0;ast.steps.forEach(function(step){var styleData=normalizeStyles(step.styles),offset=0;styleData.hasOwnProperty("offset")&&(totalKeyframesWithOffsets++,offset=styleData.offset),keyframesOutOfRange=keyframesOutOfRange||offset<0||offset>1,offsetsOutOfOrder=offsetsOutOfOrder||offset<previousOffset,previousOffset=offset,offsets.push(offset)}),keyframesOutOfRange&&context.errors.push("Please ensure that all keyframe offsets are between 0 and 1"),offsetsOutOfOrder&&context.errors.push("Please ensure that all keyframe offsets are in order");var length=ast.steps.length,generatedOffset=0;totalKeyframesWithOffsets>0&&totalKeyframesWithOffsets<length?context.errors.push("Not all style() steps within the declared keyframes() contain offsets"):0==totalKeyframesWithOffsets&&(generatedOffset=1/length);var limit=length-1,currentTime=context.currentTime,animateDuration=context.currentAnimateTimings.duration;ast.steps.forEach(function(step,i){var offset=generatedOffset>0?i==limit?1:generatedOffset*i:offsets[i],durationUpToThisFrame=offset*animateDuration;context.currentTime=currentTime+context.currentAnimateTimings.delay+durationUpToThisFrame,context.currentAnimateTimings.duration=durationUpToThisFrame,_this.visitStyle(step,context)})},AnimationValidatorVisitor}(),AnimationValidatorContext=function(){function AnimationValidatorContext(){this.errors=[],this.currentTime=0,this.collectedStyles={}}return AnimationValidatorContext}(),AnimationTrigger=function(){function AnimationTrigger(name,states,_transitionAsts){var _this=this;this.name=name,this._transitionAsts=_transitionAsts,this.transitionFactories=[],this.states={},Object.keys(states).forEach(function(stateName){_this.states[stateName]=copyStyles(states[stateName],!1)});var errors=[];if(_transitionAsts.forEach(function(ast){var exprs=parseTransitionExpr(ast.expr,errors),sequenceErrors=validateAnimationSequence(ast);sequenceErrors.length?errors.push.apply(errors,sequenceErrors):_this.transitionFactories.push(new AnimationTransitionFactory(_this.name,ast,exprs,states))}),errors.length){var LINE_START="\n - ";throw new Error("Animation parsing for the "+name+" trigger have failed:"+LINE_START+errors.join(LINE_START))}}return AnimationTrigger.prototype.createFallbackInstruction=function(currentState,nextState){var backupStateStyles=this.states["*"]||{},currentStateStyles=this.states[currentState]||backupStateStyles,nextStateStyles=this.states[nextState]||backupStateStyles;return createTransitionInstruction(this.name,currentState,nextState,"void"==nextState,currentStateStyles,nextStateStyles,[])},AnimationTrigger.prototype.matchTransition=function(currentState,nextState){for(var i=0;i<this.transitionFactories.length;i++){var result=this.transitionFactories[i].match(currentState,nextState);if(result)return result}},AnimationTrigger}(),AnimationTriggerContext=function(){function AnimationTriggerContext(){this.errors=[],this.states={},this.transitions=[]}return AnimationTriggerContext}(),AnimationTriggerVisitor=function(){function AnimationTriggerVisitor(){}return AnimationTriggerVisitor.prototype.buildTrigger=function(name,definitions){var _this=this,context=new AnimationTriggerContext;return definitions.forEach(function(def){return visitAnimationNode(_this,def,context)}),new AnimationTrigger(name,context.states,context.transitions)},AnimationTriggerVisitor.prototype.visitState=function(ast,context){var styles=normalizeStyles(ast.styles.styles);ast.name.split(/\s*,\s*/).forEach(function(name){context.states[name]=styles})},AnimationTriggerVisitor.prototype.visitTransition=function(ast,context){context.transitions.push(ast)},AnimationTriggerVisitor.prototype.visitSequence=function(ast,context){},AnimationTriggerVisitor.prototype.visitGroup=function(ast,context){},AnimationTriggerVisitor.prototype.visitAnimate=function(ast,context){},AnimationTriggerVisitor.prototype.visitStyle=function(ast,context){},AnimationTriggerVisitor.prototype.visitKeyframeSequence=function(ast,context){},AnimationTriggerVisitor}(),MARKED_FOR_ANIMATION_CLASSNAME="ng-animating",MARKED_FOR_ANIMATION_SELECTOR=".ng-animating",MARKED_FOR_REMOVAL="$$ngRemove",VOID_STATE="void",DomAnimationEngine=function(){function DomAnimationEngine(_driver,_normalizer){this._driver=_driver,this._normalizer=_normalizer,this._flaggedInserts=new Set,this._queuedRemovals=new Map,this._queuedTransitionAnimations=[],this._activeTransitionAnimations=new Map,this._activeElementAnimations=new Map,this._elementTriggerStates=new Map,this._triggers=Object.create(null),this._triggerListeners=new Map,this._pendingListenerRemovals=new Map}return Object.defineProperty(DomAnimationEngine.prototype,"queuedPlayers",{get:function(){return this._queuedTransitionAnimations.map(function(q){return q.player})},enumerable:!0,configurable:!0}),Object.defineProperty(DomAnimationEngine.prototype,"activePlayers",{get:function(){var players=[];return this._activeElementAnimations.forEach(function(activePlayers){return players.push.apply(players,activePlayers)}),players},enumerable:!0,configurable:!0}),DomAnimationEngine.prototype.registerTrigger=function(trigger,name){void 0===name&&(name=null),name=name||trigger.name,this._triggers[name]||(this._triggers[name]=buildTrigger(name,trigger.definitions))},DomAnimationEngine.prototype.onInsert=function(element,domFn){1==element.nodeType&&this._flaggedInserts.add(element),domFn()},DomAnimationEngine.prototype.onRemove=function(element,domFn){var _this=this;if(1!=element.nodeType)return void domFn();var lookupRef=this._elementTriggerStates.get(element);if(lookupRef){var possibleTriggers=Object.keys(lookupRef),hasRemoval=possibleTriggers.some(function(triggerName){var oldValue=lookupRef[triggerName],instruction=_this._triggers[triggerName].matchTransition(oldValue,VOID_STATE);return!!instruction});if(hasRemoval)return element[MARKED_FOR_REMOVAL]=!0,void this._queuedRemovals.set(element,domFn)}this._triggerListeners.has(element)&&(element[MARKED_FOR_REMOVAL]=!0,this._queuedRemovals.set(element,function(){})),this._onRemovalTransition(element).forEach(function(player){return player.destroy()}),domFn()},DomAnimationEngine.prototype.setProperty=function(element,property,value){var trigger=this._triggers[property];if(!trigger)throw new Error('The provided animation trigger "'+property+'" has not been registered!');var lookupRef=this._elementTriggerStates.get(element);lookupRef||this._elementTriggerStates.set(element,lookupRef={});var oldValue=lookupRef.hasOwnProperty(property)?lookupRef[property]:VOID_STATE;if(oldValue!==value){value=normalizeTriggerValue(value);var instruction=trigger.matchTransition(oldValue,value);instruction||(instruction=trigger.createFallbackInstruction(oldValue,value)),this.animateTransition(element,instruction),lookupRef[property]=value}},DomAnimationEngine.prototype.listen=function(element,eventName,eventPhase,callback){var _this=this;if(!eventPhase)throw new Error('Unable to listen on the animation trigger "'+eventName+'" because the provided event is undefined!');if(!this._triggers[eventName])throw new Error('Unable to listen on the animation trigger event "'+eventPhase+'" because the animation trigger "'+eventName+"\" doesn't exist!");var elementListeners=this._triggerListeners.get(element);elementListeners||this._triggerListeners.set(element,elementListeners=[]),validatePlayerEvent(eventName,eventPhase);var tuple={triggerName:eventName,phase:eventPhase,callback:callback};return elementListeners.push(tuple),function(){getOrSetAsInMap(_this._pendingListenerRemovals,element,[]).push(tuple)}},DomAnimationEngine.prototype._clearPendingListenerRemovals=function(){var _this=this;this._pendingListenerRemovals.forEach(function(tuples,element){var elementListeners=_this._triggerListeners.get(element);elementListeners&&tuples.forEach(function(tuple){var index=elementListeners.indexOf(tuple);index>=0&&elementListeners.splice(index,1)})}),this._pendingListenerRemovals.clear()},DomAnimationEngine.prototype._onRemovalTransition=function(element){for(var elms=element.querySelectorAll(MARKED_FOR_ANIMATION_SELECTOR),_loop_1=function(i){var elm=elms[i],activePlayers=this_1._activeElementAnimations.get(elm);activePlayers&&activePlayers.forEach(function(player){return player.destroy()});var activeTransitions=this_1._activeTransitionAnimations.get(elm);activeTransitions&&Object.keys(activeTransitions).forEach(function(triggerName){var player=activeTransitions[triggerName];player&&player.destroy()})},this_1=this,i=0;i<elms.length;i++)_loop_1(i);return copyArray(this._activeElementAnimations.get(element))},DomAnimationEngine.prototype.animateTransition=function(element,instruction){var previousPlayers,_this=this,triggerName=instruction.triggerName;if(instruction.isRemovalTransition)previousPlayers=this._onRemovalTransition(element);else{previousPlayers=[];var existingTransitions=this._activeTransitionAnimations.get(element),existingPlayer=existingTransitions?existingTransitions[triggerName]:null;existingPlayer&&previousPlayers.push(existingPlayer)}eraseStyles(element,instruction.fromStyles);var totalTime=0,players=instruction.timelines.map(function(timelineInstruction,i){return totalTime=Math.max(totalTime,timelineInstruction.totalTime),_this._buildPlayer(element,timelineInstruction,previousPlayers,i)});previousPlayers.forEach(function(previousPlayer){return previousPlayer.destroy()});var player=optimizeGroupPlayer(players);player.onDone(function(){player.destroy();var elmTransitionMap=_this._activeTransitionAnimations.get(element);elmTransitionMap&&(delete elmTransitionMap[triggerName],0==Object.keys(elmTransitionMap).length&&_this._activeTransitionAnimations.delete(element)),deleteFromArrayMap(_this._activeElementAnimations,element,player),setStyles(element,instruction.toStyles)});var elmTransitionMap=getOrSetAsInMap(this._activeTransitionAnimations,element,{});return elmTransitionMap[triggerName]=player,this._queuePlayer(element,triggerName,player,makeAnimationEvent(element,triggerName,instruction.fromState,instruction.toState,null,totalTime)),player},DomAnimationEngine.prototype.animateTimeline=function(element,instructions,previousPlayers){var _this=this;void 0===previousPlayers&&(previousPlayers=[]);var players=instructions.map(function(instruction,i){var player=_this._buildPlayer(element,instruction,previousPlayers,i);return player.onDestroy(function(){deleteFromArrayMap(_this._activeElementAnimations,element,player)}),player.init(),_this._markPlayerAsActive(element,player),player});return optimizeGroupPlayer(players)},DomAnimationEngine.prototype._buildPlayer=function(element,instruction,previousPlayers,index){return void 0===index&&(index=0),index&&previousPlayers.length&&(previousPlayers=[]),this._driver.animate(element,this._normalizeKeyframes(instruction.keyframes),instruction.duration,instruction.delay,instruction.easing,previousPlayers)},DomAnimationEngine.prototype._normalizeKeyframes=function(keyframes){var _this=this,errors=[],normalizedKeyframes=[];if(keyframes.forEach(function(kf){var normalizedKeyframe={};Object.keys(kf).forEach(function(prop){var normalizedProp=prop,normalizedValue=kf[prop];"offset"!=prop&&(normalizedProp=_this._normalizer.normalizePropertyName(prop,errors),normalizedValue=_this._normalizer.normalizeStyleValue(prop,normalizedProp,kf[prop],errors)),normalizedKeyframe[normalizedProp]=normalizedValue}),normalizedKeyframes.push(normalizedKeyframe)}),errors.length){var LINE_START="\n - ";throw new Error("Unable to animate due to the following errors:"+LINE_START+errors.join(LINE_START))}return normalizedKeyframes},DomAnimationEngine.prototype._markPlayerAsActive=function(element,player){var elementAnimations=getOrSetAsInMap(this._activeElementAnimations,element,[]);elementAnimations.push(player)},DomAnimationEngine.prototype._queuePlayer=function(element,triggerName,player,event){var tuple={element:element,player:player,triggerName:triggerName,event:event};this._queuedTransitionAnimations.push(tuple),player.init(),element.classList.add(MARKED_FOR_ANIMATION_CLASSNAME),player.onDone(function(){element.classList.remove(MARKED_FOR_ANIMATION_CLASSNAME)})},DomAnimationEngine.prototype._flushQueuedAnimations=function(){var _loop_2=function(){for(var _a=this_2._queuedTransitionAnimations.shift(),player=_a.player,element=_a.element,triggerName=_a.triggerName,event=_a.event,parent=element;parent=parent.parentNode;)if(parent[MARKED_FOR_REMOVAL])return"continue-parentLoop";var listeners=this_2._triggerListeners.get(element);return listeners&&listeners.forEach(function(tuple){tuple.triggerName==triggerName&&listenOnPlayer(player,tuple.phase,event,tuple.callback)}),this_2._queuedRemovals.has(element)?(player.destroy(),"continue"):(this_2._markPlayerAsActive(element,player),void(player.hasStarted()||player.play()))},this_2=this;parentLoop:for(;this._queuedTransitionAnimations.length;){var state_1=_loop_2();switch(state_1){case"continue-parentLoop":continue parentLoop}}},DomAnimationEngine.prototype.flush=function(){var _this=this,leaveListeners=new Map;this._queuedRemovals.forEach(function(callback,element){var tuple=_this._pendingListenerRemovals.get(element);tuple&&(leaveListeners.set(element,tuple),_this._pendingListenerRemovals.delete(element))}),this._clearPendingListenerRemovals(),this._pendingListenerRemovals=leaveListeners,this._flushQueuedAnimations();var flushAgain=!1;this._queuedRemovals.forEach(function(callback,element){if(!_this._flaggedInserts.has(element)){for(var parent=element,players=[];parent=parent.parentNode;){if(parent[MARKED_FOR_REMOVAL])return void callback();var match=_this._activeElementAnimations.get(parent);if(match){players.push.apply(players,match);break}}if(0==players.length){var stateDetails_1=_this._elementTriggerStates.get(element);stateDetails_1&&Object.keys(stateDetails_1).forEach(function(triggerName){flushAgain=!0;var oldValue=stateDetails_1[triggerName],instruction=_this._triggers[triggerName].matchTransition(oldValue,VOID_STATE);if(instruction)players.push(_this.animateTransition(element,instruction));else{var event=makeAnimationEvent(element,triggerName,oldValue,VOID_STATE,"",0),player=new _angular_animations.NoopAnimationPlayer;_this._queuePlayer(element,triggerName,player,event)}})}players.length?optimizeGroupPlayer(players).onDone(callback):callback()}}),this._queuedRemovals.clear(),this._flaggedInserts.clear(),flushAgain&&(this._flushQueuedAnimations(),this._clearPendingListenerRemovals())},DomAnimationEngine}(),AnimationStyleNormalizer=function(){function AnimationStyleNormalizer(){}return AnimationStyleNormalizer.prototype.normalizePropertyName=function(propertyName,errors){},AnimationStyleNormalizer.prototype.normalizeStyleValue=function(userProvidedProperty,normalizedProperty,value,errors){},AnimationStyleNormalizer}(),NoopAnimationStyleNormalizer=function(){function NoopAnimationStyleNormalizer(){}return NoopAnimationStyleNormalizer.prototype.normalizePropertyName=function(propertyName,errors){return propertyName},NoopAnimationStyleNormalizer.prototype.normalizeStyleValue=function(userProvidedProperty,normalizedProperty,value,errors){return value},NoopAnimationStyleNormalizer}(),Animation=function(){function Animation(input){var ast=Array.isArray(input)?_angular_animations.sequence(input):input,errors=validateAnimationSequence(ast);if(errors.length){var errorMessage="animation validation failed:\n"+errors.join("\n");throw new Error(errorMessage)}this._animationAst=ast}return Animation.prototype.buildTimelines=function(startingStyles,destinationStyles){var start=Array.isArray(startingStyles)?normalizeStyles(startingStyles):startingStyles,dest=Array.isArray(destinationStyles)?normalizeStyles(destinationStyles):destinationStyles;return buildAnimationKeyframes(this._animationAst,start,dest)},Animation.prototype.create=function(injector,element,startingStyles,destinationStyles){void 0===startingStyles&&(startingStyles={}),void 0===destinationStyles&&(destinationStyles={});var instructions=this.buildTimelines(startingStyles,destinationStyles),driver=injector.get(AnimationDriver),normalizer=injector.get(AnimationStyleNormalizer),engine=new DomAnimationEngine(driver,normalizer);return engine.animateTimeline(element,instructions)},Animation}(),WebAnimationsStyleNormalizer=function(_super){function WebAnimationsStyleNormalizer(){return null!==_super&&_super.apply(this,arguments)||this}return __extends(WebAnimationsStyleNormalizer,_super),WebAnimationsStyleNormalizer.prototype.normalizePropertyName=function(propertyName,errors){return dashCaseToCamelCase(propertyName)},WebAnimationsStyleNormalizer.prototype.normalizeStyleValue=function(userProvidedProperty,normalizedProperty,value,errors){var unit="",strVal=value.toString().trim();if(DIMENSIONAL_PROP_MAP[normalizedProperty]&&0!==value&&"0"!==value)if("number"==typeof value)unit="px";else{var valAndSuffixMatch=value.match(/^[+-]?[\d\.]+([a-z]*)$/);valAndSuffixMatch&&0==valAndSuffixMatch[1].length&&errors.push("Please provide a CSS unit value for "+userProvidedProperty+":"+value)}return strVal+unit},WebAnimationsStyleNormalizer}(AnimationStyleNormalizer),DIMENSIONAL_PROP_MAP=makeBooleanMap("width,height,minWidth,minHeight,maxWidth,maxHeight,left,top,bottom,right,fontSize,outlineWidth,outlineOffset,paddingTop,paddingLeft,paddingBottom,paddingRight,marginTop,marginLeft,marginBottom,marginRight,borderRadius,borderWidth,borderTopWidth,borderLeftWidth,borderRightWidth,borderBottomWidth,textIndent".split(",")),DASH_CASE_REGEXP=/-+([a-z0-9])/g,DEFAULT_STATE_VALUE="void",DEFAULT_STATE_STYLES="*",NoopAnimationEngine=function(_super){function NoopAnimationEngine(){var _this=_super.apply(this,arguments)||this;return _this._listeners=new Map,_this._changes=[],_this._flaggedRemovals=new Set,_this._onDoneFns=[],_this._triggerStyles=Object.create(null),_this}return __extends(NoopAnimationEngine,_super),NoopAnimationEngine.prototype.registerTrigger=function(trigger,name){if(void 0===name&&(name=null),name=name||trigger.name,!this._triggerStyles[name]){var stateMap={};trigger.definitions.forEach(function(def){if(0===def.type){var stateDef=def;stateMap[stateDef.name]=normalizeStyles(stateDef.styles.styles)}}),this._triggerStyles[name]=stateMap}},NoopAnimationEngine.prototype.onInsert=function(element,domFn){domFn()},NoopAnimationEngine.prototype.onRemove=function(element,domFn){domFn(),1==element.nodeType&&this._flaggedRemovals.add(element)},NoopAnimationEngine.prototype.setProperty=function(element,property,value){var storageProp=makeStorageProp(property),oldValue=element[storageProp]||DEFAULT_STATE_VALUE;
this._changes.push({element:element,oldValue:oldValue,newValue:value,triggerName:property});var triggerStateStyles=this._triggerStyles[property]||{},fromStateStyles=triggerStateStyles[oldValue]||triggerStateStyles[DEFAULT_STATE_STYLES];fromStateStyles&&eraseStyles(element,fromStateStyles),element[storageProp]=value,this._onDoneFns.push(function(){var toStateStyles=triggerStateStyles[value]||triggerStateStyles[DEFAULT_STATE_STYLES];toStateStyles&&setStyles(element,toStateStyles)})},NoopAnimationEngine.prototype.listen=function(element,eventName,eventPhase,callback){var listeners=this._listeners.get(element);listeners||this._listeners.set(element,listeners=[]);var tuple={triggerName:eventName,eventPhase:eventPhase,callback:callback};return listeners.push(tuple),function(){return tuple.doRemove=!0}},NoopAnimationEngine.prototype.flush=function(){function handleListener(listener,data){var phase=listener.eventPhase,event=makeAnimationEvent$1(data.element,data.triggerName,data.oldValue,data.newValue,phase,0);"start"==phase?onStartCallbacks.push(function(){return listener.callback(event)}):"done"==phase&&onDoneCallbacks.push(function(){return listener.callback(event)})}var _this=this,onStartCallbacks=[],onDoneCallbacks=[];this._changes.forEach(function(change){var element=change.element,listeners=_this._listeners.get(element);listeners&&listeners.forEach(function(listener){listener.triggerName==change.triggerName&&handleListener(listener,change)})}),this._flaggedRemovals.forEach(function(element){var listeners=_this._listeners.get(element);listeners&&listeners.forEach(function(listener){var triggerName=listener.triggerName,storageProp=makeStorageProp(triggerName);handleListener(listener,{element:element,triggerName:triggerName,oldValue:element[storageProp]||DEFAULT_STATE_VALUE,newValue:DEFAULT_STATE_VALUE})})}),Array.from(this._listeners.keys()).forEach(function(element){var listenersToKeep=_this._listeners.get(element).filter(function(l){return!l.doRemove});listenersToKeep.length?_this._listeners.set(element,listenersToKeep):_this._listeners.delete(element)}),onStartCallbacks.forEach(function(fn){return fn()}),onDoneCallbacks.forEach(function(fn){return fn()}),this._flaggedRemovals.clear(),this._changes=[],this._onDoneFns.forEach(function(doneFn){return doneFn()}),this._onDoneFns=[]},Object.defineProperty(NoopAnimationEngine.prototype,"activePlayers",{get:function(){return[]},enumerable:!0,configurable:!0}),Object.defineProperty(NoopAnimationEngine.prototype,"queuedPlayers",{get:function(){return[]},enumerable:!0,configurable:!0}),NoopAnimationEngine}(AnimationEngine),WebAnimationsPlayer=function(){function WebAnimationsPlayer(element,keyframes,options,previousPlayers){void 0===previousPlayers&&(previousPlayers=[]);var _this=this;this.element=element,this.keyframes=keyframes,this.options=options,this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._initialized=!1,this._finished=!1,this._started=!1,this._destroyed=!1,this.time=0,this.parentPlayer=null,this._duration=options.duration,this._delay=options.delay||0,this.time=this._duration+this._delay,this.previousStyles={},previousPlayers.forEach(function(player){var styles=player._captureStyles();Object.keys(styles).forEach(function(prop){return _this.previousStyles[prop]=styles[prop]})})}return WebAnimationsPlayer.prototype._onFinish=function(){this._finished||(this._finished=!0,this._onDoneFns.forEach(function(fn){return fn()}),this._onDoneFns=[])},WebAnimationsPlayer.prototype.init=function(){var _this=this;if(!this._initialized){this._initialized=!0;var keyframes=this.keyframes.map(function(styles){var formattedKeyframe={};return Object.keys(styles).forEach(function(prop,index){var value=styles[prop];value==_angular_animations.AUTO_STYLE&&(value=_computeStyle(_this.element,prop)),void 0!=value&&(formattedKeyframe[prop]=value)}),formattedKeyframe}),previousStyleProps=Object.keys(this.previousStyles);if(previousStyleProps.length){var startingKeyframe_1=keyframes[0],missingStyleProps_1=[];if(previousStyleProps.forEach(function(prop){startingKeyframe_1.hasOwnProperty(prop)||missingStyleProps_1.push(prop),startingKeyframe_1[prop]=_this.previousStyles[prop]}),missingStyleProps_1.length)for(var self_1=this,_loop_3=function(){var kf=keyframes[i];missingStyleProps_1.forEach(function(prop){kf[prop]=_computeStyle(self_1.element,prop)})},i=1;i<keyframes.length;i++)_loop_3()}this._player=this._triggerWebAnimation(this.element,keyframes,this.options),this._finalKeyframe=keyframes.length?_copyKeyframeStyles(keyframes[keyframes.length-1]):{},this._resetDomPlayerState(),this._player.addEventListener("finish",function(){return _this._onFinish()})}},WebAnimationsPlayer.prototype._triggerWebAnimation=function(element,keyframes,options){return element.animate(keyframes,options)},Object.defineProperty(WebAnimationsPlayer.prototype,"domPlayer",{get:function(){return this._player},enumerable:!0,configurable:!0}),WebAnimationsPlayer.prototype.onStart=function(fn){this._onStartFns.push(fn)},WebAnimationsPlayer.prototype.onDone=function(fn){this._onDoneFns.push(fn)},WebAnimationsPlayer.prototype.onDestroy=function(fn){this._onDestroyFns.push(fn)},WebAnimationsPlayer.prototype.play=function(){this.init(),this.hasStarted()||(this._onStartFns.forEach(function(fn){return fn()}),this._onStartFns=[],this._started=!0),this._player.play()},WebAnimationsPlayer.prototype.pause=function(){this.init(),this._player.pause()},WebAnimationsPlayer.prototype.finish=function(){this.init(),this._onFinish(),this._player.finish()},WebAnimationsPlayer.prototype.reset=function(){this._resetDomPlayerState(),this._destroyed=!1,this._finished=!1,this._started=!1},WebAnimationsPlayer.prototype._resetDomPlayerState=function(){this._player&&this._player.cancel()},WebAnimationsPlayer.prototype.restart=function(){this.reset(),this.play()},WebAnimationsPlayer.prototype.hasStarted=function(){return this._started},WebAnimationsPlayer.prototype.destroy=function(){this._destroyed||(this._resetDomPlayerState(),this._onFinish(),this._destroyed=!0,this._onDestroyFns.forEach(function(fn){return fn()}),this._onDestroyFns=[])},WebAnimationsPlayer.prototype.setPosition=function(p){this._player.currentTime=p*this.time},WebAnimationsPlayer.prototype.getPosition=function(){return this._player.currentTime/this.time},WebAnimationsPlayer.prototype._captureStyles=function(){var _this=this,styles={};return this.hasStarted()&&Object.keys(this._finalKeyframe).forEach(function(prop){"offset"!=prop&&(styles[prop]=_this._finished?_this._finalKeyframe[prop]:_computeStyle(_this.element,prop))}),styles},WebAnimationsPlayer}(),WebAnimationsDriver=function(){function WebAnimationsDriver(){}return WebAnimationsDriver.prototype.animate=function(element,keyframes,duration,delay,easing,previousPlayers){void 0===previousPlayers&&(previousPlayers=[]);var playerOptions={duration:duration,delay:delay,fill:"forwards"};easing&&(playerOptions.easing=easing);var previousWebAnimationPlayers=previousPlayers.filter(function(player){return player instanceof WebAnimationsPlayer});return new WebAnimationsPlayer(element,keyframes,playerOptions,previousWebAnimationPlayers)},WebAnimationsDriver}();exports.AnimationDriver=AnimationDriver,exports.ɵAnimationEngine=AnimationEngine,exports.ɵAnimation=Animation,exports.ɵAnimationStyleNormalizer=AnimationStyleNormalizer,exports.ɵNoopAnimationStyleNormalizer=NoopAnimationStyleNormalizer,exports.ɵWebAnimationsStyleNormalizer=WebAnimationsStyleNormalizer,exports.ɵNoopAnimationDriver=NoopAnimationDriver,exports.ɵDomAnimationEngine=DomAnimationEngine,exports.ɵNoopAnimationEngine=NoopAnimationEngine,exports.ɵWebAnimationsDriver=WebAnimationsDriver,exports.ɵsupportsWebAnimations=supportsWebAnimations,Object.defineProperty(exports,"__esModule",{value:!0})});
//# sourceMappingURL=animations-browser.umd.min.js.map
/**
* @license Angular v4.0.0-rc.5
* @license Angular v4.0.0-rc.6
* (c) 2010-2017 Google, Inc. https://angular.io/

@@ -7,828 +7,844 @@ * License: MIT

(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
typeof define === 'function' && define.amd ? define(['exports'], factory) :
(factory((global.ng = global.ng || {}, global.ng.animations = global.ng.animations || {})));
}(this, function (exports) { 'use strict';
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
typeof define === 'function' && define.amd ? define(['exports'], factory) :
(factory((global.ng = global.ng || {}, global.ng.animations = global.ng.animations || {})));
}(this, (function (exports) { 'use strict';
/**
* @license Angular v4.0.0-rc.6
* (c) 2010-2017 Google, Inc. https://angular.io/
* License: MIT
*/
/**
* \@experimental Animation support is experimental.
*/
var AUTO_STYLE = '*';
/**
* `trigger` is an animation-specific function that is designed to be used inside of Angular2's
* animation DSL language. If this information is new, please navigate to the {\@link
* Component#animations-anchor component animations metadata page} to gain a better understanding of
* how animations in Angular2 are used.
*
* `trigger` Creates an animation trigger which will a list of {\@link state state} and {\@link
* transition transition} entries that will be evaluated when the expression bound to the trigger
* changes.
*
* Triggers are registered within the component annotation data under the {\@link
* Component#animations-anchor animations section}. An animation trigger can be placed on an element
* within a template by referencing the name of the trigger followed by the expression value that the
* trigger is bound to (in the form of `[\@triggerName]="expression"`.
*
* ### Usage
*
* `trigger` will create an animation trigger reference based on the provided `name` value. The
* provided `animation` value is expected to be an array consisting of {\@link state state} and {\@link
* transition transition} declarations.
*
* ```typescript
* \@Component({
* selector: 'my-component',
* templateUrl: 'my-component-tpl.html',
* animations: [
* trigger("myAnimationTrigger", [
* state(...),
* state(...),
* transition(...),
* transition(...)
* ])
* ]
* })
* class MyComponent {
* myStatusExp = "something";
* }
* ```
*
* The template associated with this component will make use of the `myAnimationTrigger` animation
* trigger by binding to an element within its template code.
*
* ```html
* <!-- somewhere inside of my-component-tpl.html -->
* <div [\@myAnimationTrigger]="myStatusExp">...</div>
* tools/gulp-tasks/validate-commit-message.js ```
*
* {\@example core/animation/ts/dsl/animation_example.ts region='Component'}
*
* \@experimental Animation support is experimental.
* @param {?} name
* @param {?} definitions
* @return {?}
*/
function trigger(name, definitions) {
return { name: name, definitions: definitions };
}
/**
* `animate` is an animation-specific function that is designed to be used inside of Angular2's
* animation DSL language. If this information is new, please navigate to the {\@link
* Component#animations-anchor component animations metadata page} to gain a better understanding of
* how animations in Angular2 are used.
*
* `animate` specifies an animation step that will apply the provided `styles` data for a given
* amount of time based on the provided `timing` expression value. Calls to `animate` are expected
* to be used within {\@link sequence an animation sequence}, {\@link group group}, or {\@link
* transition transition}.
*
* ### Usage
*
* The `animate` function accepts two input parameters: `timing` and `styles`:
*
* - `timing` is a string based value that can be a combination of a duration with optional delay
* and easing values. The format for the expression breaks down to `duration delay easing`
* (therefore a value such as `1s 100ms ease-out` will be parse itself into `duration=1000,
* delay=100, easing=ease-out`. If a numeric value is provided then that will be used as the
* `duration` value in millisecond form.
* - `styles` is the style input data which can either be a call to {\@link style style} or {\@link
* keyframes keyframes}. If left empty then the styles from the destination state will be collected
* and used (this is useful when describing an animation step that will complete an animation by
* {\@link transition#the-final-animate-call animating to the final state}).
*
* ```typescript
* // various functions for specifying timing data
* animate(500, style(...))
* animate("1s", style(...))
* animate("100ms 0.5s", style(...))
* animate("5s ease", style(...))
* animate("5s 10ms cubic-bezier(.17,.67,.88,.1)", style(...))
*
* // either style() of keyframes() can be used
* animate(500, style({ background: "red" }))
* animate(500, keyframes([
* style({ background: "blue" })),
* style({ background: "red" }))
* ])
* ```
*
* {\@example core/animation/ts/dsl/animation_example.ts region='Component'}
*
* \@experimental Animation support is experimental.
* @param {?} timings
* @param {?=} styles
* @return {?}
*/
function animate(timings, styles) {
if (styles === void 0) { styles = null; }
return { type: 4 /* Animate */, styles: styles, timings: timings };
}
/**
* `group` is an animation-specific function that is designed to be used inside of Angular2's
* animation DSL language. If this information is new, please navigate to the {\@link
* Component#animations-anchor component animations metadata page} to gain a better understanding of
* how animations in Angular2 are used.
*
* `group` specifies a list of animation steps that are all run in parallel. Grouped animations are
* useful when a series of styles must be animated/closed off at different statrting/ending times.
*
* The `group` function can either be used within a {\@link sequence sequence} or a {\@link transition
* transition} and it will only continue to the next instruction once all of the inner animation
* steps have completed.
*
* ### Usage
*
* The `steps` data that is passed into the `group` animation function can either consist of {\@link
* style style} or {\@link animate animate} function calls. Each call to `style()` or `animate()`
* within a group will be executed instantly (use {\@link keyframes keyframes} or a {\@link
* animate#usage animate() with a delay value} to offset styles to be applied at a later time).
*
* ```typescript
* group([
* animate("1s", { background: "black" }))
* animate("2s", { color: "white" }))
* ])
* ```
*
* {\@example core/animation/ts/dsl/animation_example.ts region='Component'}
*
* \@experimental Animation support is experimental.
* @param {?} steps
* @return {?}
*/
function group(steps) {
return { type: 3 /* Group */, steps: steps };
}
/**
* `sequence` is an animation-specific function that is designed to be used inside of Angular2's
* animation DSL language. If this information is new, please navigate to the {\@link
* Component#animations-anchor component animations metadata page} to gain a better understanding of
* how animations in Angular2 are used.
*
* `sequence` Specifies a list of animation steps that are run one by one. (`sequence` is used by
* default when an array is passed as animation data into {\@link transition transition}.)
*
* The `sequence` function can either be used within a {\@link group group} or a {\@link transition
* transition} and it will only continue to the next instruction once each of the inner animation
* steps have completed.
*
* To perform animation styling in parallel with other animation steps then have a look at the
* {\@link group group} animation function.
*
* ### Usage
*
* The `steps` data that is passed into the `sequence` animation function can either consist of
* {\@link style style} or {\@link animate animate} function calls. A call to `style()` will apply the
* provided styling data immediately while a call to `animate()` will apply its styling data over a
* given time depending on its timing data.
*
* ```typescript
* sequence([
* style({ opacity: 0 })),
* animate("1s", { opacity: 1 }))
* ])
* ```
*
* {\@example core/animation/ts/dsl/animation_example.ts region='Component'}
*
* \@experimental Animation support is experimental.
* @param {?} steps
* @return {?}
*/
function sequence(steps) {
return { type: 2 /* Sequence */, steps: steps };
}
/**
* `style` is an animation-specific function that is designed to be used inside of Angular2's
* animation DSL language. If this information is new, please navigate to the {\@link
* Component#animations-anchor component animations metadata page} to gain a better understanding of
* how animations in Angular2 are used.
*
* `style` declares a key/value object containing CSS properties/styles that can then be used for
* {\@link state animation states}, within an {\@link sequence animation sequence}, or as styling data
* for both {\@link animate animate} and {\@link keyframes keyframes}.
*
* ### Usage
*
* `style` takes in a key/value string map as data and expects one or more CSS property/value pairs
* to be defined.
*
* ```typescript
* // string values are used for css properties
* style({ background: "red", color: "blue" })
*
* // numerical (pixel) values are also supported
* style({ width: 100, height: 0 })
* ```
*
* #### Auto-styles (using `*`)
*
* When an asterix (`*`) character is used as a value then it will be detected from the element
* being animated and applied as animation data when the animation starts.
*
* This feature proves useful for a state depending on layout and/or environment factors; in such
* cases the styles are calculated just before the animation starts.
*
* ```typescript
* // the steps below will animate from 0 to the
* // actual height of the element
* style({ height: 0 }),
* animate("1s", style({ height: "*" }))
* ```
*
* {\@example core/animation/ts/dsl/animation_example.ts region='Component'}
*
* \@experimental Animation support is experimental.
* @param {?} tokens
* @return {?}
*/
function style(tokens) {
return { type: 6 /* Style */, styles: tokens };
}
/**
* `state` is an animation-specific function that is designed to be used inside of Angular2's
* animation DSL language. If this information is new, please navigate to the {\@link
* Component#animations-anchor component animations metadata page} to gain a better understanding of
* how animations in Angular2 are used.
*
* `state` declares an animation state within the given trigger. When a state is active within a
* component then its associated styles will persist on the element that the trigger is attached to
* (even when the animation ends).
*
* To animate between states, have a look at the animation {\@link transition transition} DSL
* function. To register states to an animation trigger please have a look at the {\@link trigger
* trigger} function.
*
* #### The `void` state
*
* The `void` state value is a reserved word that angular uses to determine when the element is not
* apart of the application anymore (e.g. when an `ngIf` evaluates to false then the state of the
* associated element is void).
*
* #### The `*` (default) state
*
* The `*` state (when styled) is a fallback state that will be used if the state that is being
* animated is not declared within the trigger.
*
* ### Usage
*
* `state` will declare an animation state with its associated styles
* within the given trigger.
*
* - `stateNameExpr` can be one or more state names separated by commas.
* - `styles` refers to the {\@link style styling data} that will be persisted on the element once
* the state has been reached.
*
* ```typescript
* // "void" is a reserved name for a state and is used to represent
* // the state in which an element is detached from from the application.
* state("void", style({ height: 0 }))
*
* // user-defined states
* state("closed", style({ height: 0 }))
* state("open, visible", style({ height: "*" }))
* ```
*
* {\@example core/animation/ts/dsl/animation_example.ts region='Component'}
*
* \@experimental Animation support is experimental.
* @param {?} name
* @param {?} styles
* @return {?}
*/
function state(name, styles) {
return { type: 0 /* State */, name: name, styles: styles };
}
/**
* `keyframes` is an animation-specific function that is designed to be used inside of Angular2's
* animation DSL language. If this information is new, please navigate to the {\@link
* Component#animations-anchor component animations metadata page} to gain a better understanding of
* how animations in Angular2 are used.
*
* `keyframes` specifies a collection of {\@link style style} entries each optionally characterized
* by an `offset` value.
*
* ### Usage
*
* The `keyframes` animation function is designed to be used alongside the {\@link animate animate}
* animation function. Instead of applying animations from where they are currently to their
* destination, keyframes can describe how each style entry is applied and at what point within the
* animation arc (much like CSS Keyframe Animations do).
*
* For each `style()` entry an `offset` value can be set. Doing so allows to specifiy at what
* percentage of the animate time the styles will be applied.
*
* ```typescript
* // the provided offset values describe when each backgroundColor value is applied.
* animate("5s", keyframes([
* style({ backgroundColor: "red", offset: 0 }),
* style({ backgroundColor: "blue", offset: 0.2 }),
* style({ backgroundColor: "orange", offset: 0.3 }),
* style({ backgroundColor: "black", offset: 1 })
* ]))
* ```
*
* Alternatively, if there are no `offset` values used within the style entries then the offsets
* will be calculated automatically.
*
* ```typescript
* animate("5s", keyframes([
* style({ backgroundColor: "red" }) // offset = 0
* style({ backgroundColor: "blue" }) // offset = 0.33
* style({ backgroundColor: "orange" }) // offset = 0.66
* style({ backgroundColor: "black" }) // offset = 1
* ]))
* ```
*
* {\@example core/animation/ts/dsl/animation_example.ts region='Component'}
*
* \@experimental Animation support is experimental.
* @param {?} steps
* @return {?}
*/
function keyframes(steps) {
return { type: 5 /* KeyframeSequence */, steps: steps };
}
/**
* `transition` is an animation-specific function that is designed to be used inside of Angular2's
* animation DSL language. If this information is new, please navigate to the {\@link
* Component#animations-anchor component animations metadata page} to gain a better understanding of
* how animations in Angular2 are used.
*
* `transition` declares the {\@link sequence sequence of animation steps} that will be run when the
* provided `stateChangeExpr` value is satisfied. The `stateChangeExpr` consists of a `state1 =>
* state2` which consists of two known states (use an asterix (`*`) to refer to a dynamic starting
* and/or ending state).
*
* A function can also be provided as the `stateChangeExpr` argument for a transition and this
* function will be executed each time a state change occurs. If the value returned within the
* function is true then the associated animation will be run.
*
* Animation transitions are placed within an {\@link trigger animation trigger}. For an transition
* to animate to a state value and persist its styles then one or more {\@link state animation
* states} is expected to be defined.
*
* ### Usage
*
* An animation transition is kicked off the `stateChangeExpr` predicate evaluates to true based on
* what the previous state is and what the current state has become. In other words, if a transition
* is defined that matches the old/current state criteria then the associated animation will be
* triggered.
*
* ```typescript
* // all transition/state changes are defined within an animation trigger
* trigger("myAnimationTrigger", [
* // if a state is defined then its styles will be persisted when the
* // animation has fully completed itself
* state("on", style({ background: "green" })),
* state("off", style({ background: "grey" })),
*
* // a transition animation that will be kicked off when the state value
* // bound to "myAnimationTrigger" changes from "on" to "off"
* transition("on => off", animate(500)),
*
* // it is also possible to do run the same animation for both directions
* transition("on <=> off", animate(500)),
*
* // or to define multiple states pairs separated by commas
* transition("on => off, off => void", animate(500)),
*
* // this is a catch-all state change for when an element is inserted into
* // the page and the destination state is unknown
* transition("void => *", [
* style({ opacity: 0 }),
* animate(500)
* ]),
*
* // this will capture a state change between any states
* transition("* => *", animate("1s 0s")),
*
* // you can also go full out and include a function
* transition((fromState, toState) => {
* // when `true` then it will allow the animation below to be invoked
* return fromState == "off" && toState == "on";
* }, animate("1s 0s"))
* ])
* ```
*
* The template associated with this component will make use of the `myAnimationTrigger` animation
* trigger by binding to an element within its template code.
*
* ```html
* <!-- somewhere inside of my-component-tpl.html -->
* <div [\@myAnimationTrigger]="myStatusExp">...</div>
* ```
*
* #### The final `animate` call
*
* If the final step within the transition steps is a call to `animate()` that **only** uses a
* timing value with **no style data** then it will be automatically used as the final animation arc
* for the element to animate itself to the final state. This involves an automatic mix of
* adding/removing CSS styles so that the element will be in the exact state it should be for the
* applied state to be presented correctly.
*
* ```
* // start off by hiding the element, but make sure that it animates properly to whatever state
* // is currently active for "myAnimationTrigger"
* transition("void => *", [
* style({ opacity: 0 }),
* animate(500)
* ])
* ```
*
* ### Transition Aliases (`:enter` and `:leave`)
*
* Given that enter (insertion) and leave (removal) animations are so common, the `transition`
* function accepts both `:enter` and `:leave` values which are aliases for the `void => *` and `*
* => void` state changes.
*
* ```
* transition(":enter", [
* style({ opacity: 0 }),
* animate(500, style({ opacity: 1 }))
* ])
* transition(":leave", [
* animate(500, style({ opacity: 0 }))
* ])
* ```
*
* {\@example core/animation/ts/dsl/animation_example.ts region='Component'}
*
* \@experimental Animation support is experimental.
* @param {?} stateChangeExpr
* @param {?} steps
* @return {?}
*/
function transition(stateChangeExpr, steps) {
return { type: 1 /* Transition */, expr: stateChangeExpr, animation: steps };
}
/**
* @license
* Copyright Google Inc. All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
* @param {?} cb
* @return {?}
*/
function scheduleMicroTask(cb) {
Promise.resolve(null).then(cb);
}
/**
* @license
* Copyright Google Inc. All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/
/**
* \@experimental Animation support is experimental.
* @abstract
*/
var AnimationPlayer = (function () {
function AnimationPlayer() {
}
/**
* @license Angular v4.0.0-rc.5
* (c) 2010-2017 Google, Inc. https://angular.io/
* License: MIT
* @abstract
* @param {?} fn
* @return {?}
*/
AnimationPlayer.prototype.onDone = function (fn) { };
/**
* \@experimental Animation support is experimental.
* @abstract
* @param {?} fn
* @return {?}
*/
var AUTO_STYLE = '*';
AnimationPlayer.prototype.onStart = function (fn) { };
/**
* `trigger` is an animation-specific function that is designed to be used inside of Angular2's
* animation DSL language. If this information is new, please navigate to the {\@link
* Component#animations-anchor component animations metadata page} to gain a better understanding of
* how animations in Angular2 are used.
*
* `trigger` Creates an animation trigger which will a list of {\@link state state} and {\@link
* transition transition} entries that will be evaluated when the expression bound to the trigger
* changes.
*
* Triggers are registered within the component annotation data under the {\@link
* Component#animations-anchor animations section}. An animation trigger can be placed on an element
* within a template by referencing the name of the trigger followed by the expression value that the
* trigger is bound to (in the form of `[\@triggerName]="expression"`.
*
* ### Usage
*
* `trigger` will create an animation trigger reference based on the provided `name` value. The
* provided `animation` value is expected to be an array consisting of {\@link state state} and {\@link
* transition transition} declarations.
*
* ```typescript
* \@Component({
* selector: 'my-component',
* templateUrl: 'my-component-tpl.html',
* animations: [
* trigger("myAnimationTrigger", [
* state(...),
* state(...),
* transition(...),
* transition(...)
* ])
* ]
* })
* class MyComponent {
* myStatusExp = "something";
* }
* ```
*
* The template associated with this component will make use of the `myAnimationTrigger` animation
* trigger by binding to an element within its template code.
*
* ```html
* <!-- somewhere inside of my-component-tpl.html -->
* <div [\@myAnimationTrigger]="myStatusExp">...</div>
* tools/gulp-tasks/validate-commit-message.js ```
*
* {\@example core/animation/ts/dsl/animation_example.ts region='Component'}
*
* \@experimental Animation support is experimental.
* @param {?} name
* @param {?} definitions
* @abstract
* @param {?} fn
* @return {?}
*/
function trigger(name, definitions) {
return { name: name, definitions: definitions };
}
AnimationPlayer.prototype.onDestroy = function (fn) { };
/**
* `animate` is an animation-specific function that is designed to be used inside of Angular2's
* animation DSL language. If this information is new, please navigate to the {\@link
* Component#animations-anchor component animations metadata page} to gain a better understanding of
* how animations in Angular2 are used.
*
* `animate` specifies an animation step that will apply the provided `styles` data for a given
* amount of time based on the provided `timing` expression value. Calls to `animate` are expected
* to be used within {\@link sequence an animation sequence}, {\@link group group}, or {\@link
* transition transition}.
*
* ### Usage
*
* The `animate` function accepts two input parameters: `timing` and `styles`:
*
* - `timing` is a string based value that can be a combination of a duration with optional delay
* and easing values. The format for the expression breaks down to `duration delay easing`
* (therefore a value such as `1s 100ms ease-out` will be parse itself into `duration=1000,
* delay=100, easing=ease-out`. If a numeric value is provided then that will be used as the
* `duration` value in millisecond form.
* - `styles` is the style input data which can either be a call to {\@link style style} or {\@link
* keyframes keyframes}. If left empty then the styles from the destination state will be collected
* and used (this is useful when describing an animation step that will complete an animation by
* {\@link transition#the-final-animate-call animating to the final state}).
*
* ```typescript
* // various functions for specifying timing data
* animate(500, style(...))
* animate("1s", style(...))
* animate("100ms 0.5s", style(...))
* animate("5s ease", style(...))
* animate("5s 10ms cubic-bezier(.17,.67,.88,.1)", style(...))
*
* // either style() of keyframes() can be used
* animate(500, style({ background: "red" }))
* animate(500, keyframes([
* style({ background: "blue" })),
* style({ background: "red" }))
* ])
* ```
*
* {\@example core/animation/ts/dsl/animation_example.ts region='Component'}
*
* \@experimental Animation support is experimental.
* @param {?} timings
* @param {?=} styles
* @abstract
* @return {?}
*/
function animate(timings, styles) {
if (styles === void 0) { styles = null; }
return { type: 4 /* Animate */, styles: styles, timings: timings };
}
AnimationPlayer.prototype.init = function () { };
/**
* `group` is an animation-specific function that is designed to be used inside of Angular2's
* animation DSL language. If this information is new, please navigate to the {\@link
* Component#animations-anchor component animations metadata page} to gain a better understanding of
* how animations in Angular2 are used.
*
* `group` specifies a list of animation steps that are all run in parallel. Grouped animations are
* useful when a series of styles must be animated/closed off at different statrting/ending times.
*
* The `group` function can either be used within a {\@link sequence sequence} or a {\@link transition
* transition} and it will only continue to the next instruction once all of the inner animation
* steps have completed.
*
* ### Usage
*
* The `steps` data that is passed into the `group` animation function can either consist of {\@link
* style style} or {\@link animate animate} function calls. Each call to `style()` or `animate()`
* within a group will be executed instantly (use {\@link keyframes keyframes} or a {\@link
* animate#usage animate() with a delay value} to offset styles to be applied at a later time).
*
* ```typescript
* group([
* animate("1s", { background: "black" }))
* animate("2s", { color: "white" }))
* ])
* ```
*
* {\@example core/animation/ts/dsl/animation_example.ts region='Component'}
*
* \@experimental Animation support is experimental.
* @param {?} steps
* @abstract
* @return {?}
*/
function group(steps) {
return { type: 3 /* Group */, steps: steps };
}
AnimationPlayer.prototype.hasStarted = function () { };
/**
* `sequence` is an animation-specific function that is designed to be used inside of Angular2's
* animation DSL language. If this information is new, please navigate to the {\@link
* Component#animations-anchor component animations metadata page} to gain a better understanding of
* how animations in Angular2 are used.
*
* `sequence` Specifies a list of animation steps that are run one by one. (`sequence` is used by
* default when an array is passed as animation data into {\@link transition transition}.)
*
* The `sequence` function can either be used within a {\@link group group} or a {\@link transition
* transition} and it will only continue to the next instruction once each of the inner animation
* steps have completed.
*
* To perform animation styling in parallel with other animation steps then have a look at the
* {\@link group group} animation function.
*
* ### Usage
*
* The `steps` data that is passed into the `sequence` animation function can either consist of
* {\@link style style} or {\@link animate animate} function calls. A call to `style()` will apply the
* provided styling data immediately while a call to `animate()` will apply its styling data over a
* given time depending on its timing data.
*
* ```typescript
* sequence([
* style({ opacity: 0 })),
* animate("1s", { opacity: 1 }))
* ])
* ```
*
* {\@example core/animation/ts/dsl/animation_example.ts region='Component'}
*
* \@experimental Animation support is experimental.
* @param {?} steps
* @abstract
* @return {?}
*/
function sequence(steps) {
return { type: 2 /* Sequence */, steps: steps };
}
AnimationPlayer.prototype.play = function () { };
/**
* `style` is an animation-specific function that is designed to be used inside of Angular2's
* animation DSL language. If this information is new, please navigate to the {\@link
* Component#animations-anchor component animations metadata page} to gain a better understanding of
* how animations in Angular2 are used.
*
* `style` declares a key/value object containing CSS properties/styles that can then be used for
* {\@link state animation states}, within an {\@link sequence animation sequence}, or as styling data
* for both {\@link animate animate} and {\@link keyframes keyframes}.
*
* ### Usage
*
* `style` takes in a key/value string map as data and expects one or more CSS property/value pairs
* to be defined.
*
* ```typescript
* // string values are used for css properties
* style({ background: "red", color: "blue" })
*
* // numerical (pixel) values are also supported
* style({ width: 100, height: 0 })
* ```
*
* #### Auto-styles (using `*`)
*
* When an asterix (`*`) character is used as a value then it will be detected from the element
* being animated and applied as animation data when the animation starts.
*
* This feature proves useful for a state depending on layout and/or environment factors; in such
* cases the styles are calculated just before the animation starts.
*
* ```typescript
* // the steps below will animate from 0 to the
* // actual height of the element
* style({ height: 0 }),
* animate("1s", style({ height: "*" }))
* ```
*
* {\@example core/animation/ts/dsl/animation_example.ts region='Component'}
*
* \@experimental Animation support is experimental.
* @param {?} tokens
* @abstract
* @return {?}
*/
function style(tokens) {
return { type: 6 /* Style */, styles: tokens };
}
AnimationPlayer.prototype.pause = function () { };
/**
* `state` is an animation-specific function that is designed to be used inside of Angular2's
* animation DSL language. If this information is new, please navigate to the {\@link
* Component#animations-anchor component animations metadata page} to gain a better understanding of
* how animations in Angular2 are used.
*
* `state` declares an animation state within the given trigger. When a state is active within a
* component then its associated styles will persist on the element that the trigger is attached to
* (even when the animation ends).
*
* To animate between states, have a look at the animation {\@link transition transition} DSL
* function. To register states to an animation trigger please have a look at the {\@link trigger
* trigger} function.
*
* #### The `void` state
*
* The `void` state value is a reserved word that angular uses to determine when the element is not
* apart of the application anymore (e.g. when an `ngIf` evaluates to false then the state of the
* associated element is void).
*
* #### The `*` (default) state
*
* The `*` state (when styled) is a fallback state that will be used if the state that is being
* animated is not declared within the trigger.
*
* ### Usage
*
* `state` will declare an animation state with its associated styles
* within the given trigger.
*
* - `stateNameExpr` can be one or more state names separated by commas.
* - `styles` refers to the {\@link style styling data} that will be persisted on the element once
* the state has been reached.
*
* ```typescript
* // "void" is a reserved name for a state and is used to represent
* // the state in which an element is detached from from the application.
* state("void", style({ height: 0 }))
*
* // user-defined states
* state("closed", style({ height: 0 }))
* state("open, visible", style({ height: "*" }))
* ```
*
* {\@example core/animation/ts/dsl/animation_example.ts region='Component'}
*
* \@experimental Animation support is experimental.
* @param {?} name
* @param {?} styles
* @abstract
* @return {?}
*/
function state(name, styles) {
return { type: 0 /* State */, name: name, styles: styles };
}
AnimationPlayer.prototype.restart = function () { };
/**
* `keyframes` is an animation-specific function that is designed to be used inside of Angular2's
* animation DSL language. If this information is new, please navigate to the {\@link
* Component#animations-anchor component animations metadata page} to gain a better understanding of
* how animations in Angular2 are used.
*
* `keyframes` specifies a collection of {\@link style style} entries each optionally characterized
* by an `offset` value.
*
* ### Usage
*
* The `keyframes` animation function is designed to be used alongside the {\@link animate animate}
* animation function. Instead of applying animations from where they are currently to their
* destination, keyframes can describe how each style entry is applied and at what point within the
* animation arc (much like CSS Keyframe Animations do).
*
* For each `style()` entry an `offset` value can be set. Doing so allows to specifiy at what
* percentage of the animate time the styles will be applied.
*
* ```typescript
* // the provided offset values describe when each backgroundColor value is applied.
* animate("5s", keyframes([
* style({ backgroundColor: "red", offset: 0 }),
* style({ backgroundColor: "blue", offset: 0.2 }),
* style({ backgroundColor: "orange", offset: 0.3 }),
* style({ backgroundColor: "black", offset: 1 })
* ]))
* ```
*
* Alternatively, if there are no `offset` values used within the style entries then the offsets
* will be calculated automatically.
*
* ```typescript
* animate("5s", keyframes([
* style({ backgroundColor: "red" }) // offset = 0
* style({ backgroundColor: "blue" }) // offset = 0.33
* style({ backgroundColor: "orange" }) // offset = 0.66
* style({ backgroundColor: "black" }) // offset = 1
* ]))
* ```
*
* {\@example core/animation/ts/dsl/animation_example.ts region='Component'}
*
* \@experimental Animation support is experimental.
* @param {?} steps
* @abstract
* @return {?}
*/
function keyframes(steps) {
return { type: 5 /* KeyframeSequence */, steps: steps };
}
AnimationPlayer.prototype.finish = function () { };
/**
* `transition` is an animation-specific function that is designed to be used inside of Angular2's
* animation DSL language. If this information is new, please navigate to the {\@link
* Component#animations-anchor component animations metadata page} to gain a better understanding of
* how animations in Angular2 are used.
*
* `transition` declares the {\@link sequence sequence of animation steps} that will be run when the
* provided `stateChangeExpr` value is satisfied. The `stateChangeExpr` consists of a `state1 =>
* state2` which consists of two known states (use an asterix (`*`) to refer to a dynamic starting
* and/or ending state).
*
* A function can also be provided as the `stateChangeExpr` argument for a transition and this
* function will be executed each time a state change occurs. If the value returned within the
* function is true then the associated animation will be run.
*
* Animation transitions are placed within an {\@link trigger animation trigger}. For an transition
* to animate to a state value and persist its styles then one or more {\@link state animation
* states} is expected to be defined.
*
* ### Usage
*
* An animation transition is kicked off the `stateChangeExpr` predicate evaluates to true based on
* what the previous state is and what the current state has become. In other words, if a transition
* is defined that matches the old/current state criteria then the associated animation will be
* triggered.
*
* ```typescript
* // all transition/state changes are defined within an animation trigger
* trigger("myAnimationTrigger", [
* // if a state is defined then its styles will be persisted when the
* // animation has fully completed itself
* state("on", style({ background: "green" })),
* state("off", style({ background: "grey" })),
*
* // a transition animation that will be kicked off when the state value
* // bound to "myAnimationTrigger" changes from "on" to "off"
* transition("on => off", animate(500)),
*
* // it is also possible to do run the same animation for both directions
* transition("on <=> off", animate(500)),
*
* // or to define multiple states pairs separated by commas
* transition("on => off, off => void", animate(500)),
*
* // this is a catch-all state change for when an element is inserted into
* // the page and the destination state is unknown
* transition("void => *", [
* style({ opacity: 0 }),
* animate(500)
* ]),
*
* // this will capture a state change between any states
* transition("* => *", animate("1s 0s")),
*
* // you can also go full out and include a function
* transition((fromState, toState) => {
* // when `true` then it will allow the animation below to be invoked
* return fromState == "off" && toState == "on";
* }, animate("1s 0s"))
* ])
* ```
*
* The template associated with this component will make use of the `myAnimationTrigger` animation
* trigger by binding to an element within its template code.
*
* ```html
* <!-- somewhere inside of my-component-tpl.html -->
* <div [\@myAnimationTrigger]="myStatusExp">...</div>
* ```
*
* #### The final `animate` call
*
* If the final step within the transition steps is a call to `animate()` that **only** uses a
* timing value with **no style data** then it will be automatically used as the final animation arc
* for the element to animate itself to the final state. This involves an automatic mix of
* adding/removing CSS styles so that the element will be in the exact state it should be for the
* applied state to be presented correctly.
*
* ```
* // start off by hiding the element, but make sure that it animates properly to whatever state
* // is currently active for "myAnimationTrigger"
* transition("void => *", [
* style({ opacity: 0 }),
* animate(500)
* ])
* ```
*
* ### Transition Aliases (`:enter` and `:leave`)
*
* Given that enter (insertion) and leave (removal) animations are so common, the `transition`
* function accepts both `:enter` and `:leave` values which are aliases for the `void => *` and `*
* => void` state changes.
*
* ```
* transition(":enter", [
* style({ opacity: 0 }),
* animate(500, style({ opacity: 1 }))
* ])
* transition(":leave", [
* animate(500, style({ opacity: 0 }))
* ])
* ```
*
* {\@example core/animation/ts/dsl/animation_example.ts region='Component'}
*
* \@experimental Animation support is experimental.
* @param {?} stateChangeExpr
* @param {?} steps
* @abstract
* @return {?}
*/
function transition(stateChangeExpr, steps) {
return { type: 1 /* Transition */, expr: stateChangeExpr, animation: steps };
}
AnimationPlayer.prototype.destroy = function () { };
/**
* @license
* Copyright Google Inc. All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
* @param {?} cb
* @abstract
* @return {?}
*/
function scheduleMicroTask(cb) {
Promise.resolve(null).then(cb);
}
AnimationPlayer.prototype.reset = function () { };
/**
* \@experimental Animation support is experimental.
* @abstract
* @param {?} p
* @return {?}
*/
var AnimationPlayer = (function () {
function AnimationPlayer() {
}
AnimationPlayer.prototype.setPosition = function (p) { };
/**
* @abstract
* @return {?}
*/
AnimationPlayer.prototype.getPosition = function () { };
Object.defineProperty(AnimationPlayer.prototype, "parentPlayer", {
/**
* @abstract
* @param {?} fn
* @return {?}
*/
AnimationPlayer.prototype.onDone = function (fn) { };
get: function () { throw new Error('NOT IMPLEMENTED: Base Class'); },
/**
* @abstract
* @param {?} fn
* @param {?} player
* @return {?}
*/
AnimationPlayer.prototype.onStart = function (fn) { };
/**
* @abstract
* @param {?} fn
* @return {?}
*/
AnimationPlayer.prototype.onDestroy = function (fn) { };
/**
* @abstract
* @return {?}
*/
AnimationPlayer.prototype.init = function () { };
/**
* @abstract
* @return {?}
*/
AnimationPlayer.prototype.hasStarted = function () { };
/**
* @abstract
* @return {?}
*/
AnimationPlayer.prototype.play = function () { };
/**
* @abstract
* @return {?}
*/
AnimationPlayer.prototype.pause = function () { };
/**
* @abstract
* @return {?}
*/
AnimationPlayer.prototype.restart = function () { };
/**
* @abstract
* @return {?}
*/
AnimationPlayer.prototype.finish = function () { };
/**
* @abstract
* @return {?}
*/
AnimationPlayer.prototype.destroy = function () { };
/**
* @abstract
* @return {?}
*/
AnimationPlayer.prototype.reset = function () { };
/**
* @abstract
* @param {?} p
* @return {?}
*/
AnimationPlayer.prototype.setPosition = function (p) { };
/**
* @abstract
* @return {?}
*/
AnimationPlayer.prototype.getPosition = function () { };
Object.defineProperty(AnimationPlayer.prototype, "parentPlayer", {
/**
* @return {?}
*/
get: function () { throw new Error('NOT IMPLEMENTED: Base Class'); },
/**
* @param {?} player
* @return {?}
*/
set: function (player) { throw new Error('NOT IMPLEMENTED: Base Class'); },
enumerable: true,
configurable: true
});
return AnimationPlayer;
}());
set: function (player) { throw new Error('NOT IMPLEMENTED: Base Class'); },
enumerable: true,
configurable: true
});
return AnimationPlayer;
}());
/**
* \@experimental Animation support is experimental.
*/
var NoopAnimationPlayer = (function () {
function NoopAnimationPlayer() {
this._onDoneFns = [];
this._onStartFns = [];
this._onDestroyFns = [];
this._started = false;
this._destroyed = false;
this._finished = false;
this.parentPlayer = null;
}
/**
* \@experimental Animation support is experimental.
* @return {?}
*/
var NoopAnimationPlayer = (function () {
function NoopAnimationPlayer() {
NoopAnimationPlayer.prototype._onFinish = function () {
if (!this._finished) {
this._finished = true;
this._onDoneFns.forEach(function (fn) { return fn(); });
this._onDoneFns = [];
this._onStartFns = [];
this._onDestroyFns = [];
this._started = false;
this._destroyed = false;
this._finished = false;
this.parentPlayer = null;
}
/**
* @return {?}
*/
NoopAnimationPlayer.prototype._onFinish = function () {
if (!this._finished) {
this._finished = true;
this._onDoneFns.forEach(function (fn) { return fn(); });
this._onDoneFns = [];
}
};
/**
* @param {?} fn
* @return {?}
*/
NoopAnimationPlayer.prototype.onStart = function (fn) { this._onStartFns.push(fn); };
/**
* @param {?} fn
* @return {?}
*/
NoopAnimationPlayer.prototype.onDone = function (fn) { this._onDoneFns.push(fn); };
/**
* @param {?} fn
* @return {?}
*/
NoopAnimationPlayer.prototype.onDestroy = function (fn) { this._onDestroyFns.push(fn); };
/**
* @return {?}
*/
NoopAnimationPlayer.prototype.hasStarted = function () { return this._started; };
/**
* @return {?}
*/
NoopAnimationPlayer.prototype.init = function () { };
/**
* @return {?}
*/
NoopAnimationPlayer.prototype.play = function () {
var _this = this;
};
/**
* @param {?} fn
* @return {?}
*/
NoopAnimationPlayer.prototype.onStart = function (fn) { this._onStartFns.push(fn); };
/**
* @param {?} fn
* @return {?}
*/
NoopAnimationPlayer.prototype.onDone = function (fn) { this._onDoneFns.push(fn); };
/**
* @param {?} fn
* @return {?}
*/
NoopAnimationPlayer.prototype.onDestroy = function (fn) { this._onDestroyFns.push(fn); };
/**
* @return {?}
*/
NoopAnimationPlayer.prototype.hasStarted = function () { return this._started; };
/**
* @return {?}
*/
NoopAnimationPlayer.prototype.init = function () { };
/**
* @return {?}
*/
NoopAnimationPlayer.prototype.play = function () {
var _this = this;
if (!this.hasStarted()) {
scheduleMicroTask(function () { return _this._onFinish(); });
this._onStart();
}
this._started = true;
};
/**
* @return {?}
*/
NoopAnimationPlayer.prototype._onStart = function () {
this._onStartFns.forEach(function (fn) { return fn(); });
this._onStartFns = [];
};
/**
* @return {?}
*/
NoopAnimationPlayer.prototype.pause = function () { };
/**
* @return {?}
*/
NoopAnimationPlayer.prototype.restart = function () { };
/**
* @return {?}
*/
NoopAnimationPlayer.prototype.finish = function () { this._onFinish(); };
/**
* @return {?}
*/
NoopAnimationPlayer.prototype.destroy = function () {
if (!this._destroyed) {
this._destroyed = true;
if (!this.hasStarted()) {
scheduleMicroTask(function () { return _this._onFinish(); });
this._onStart();
}
this._started = true;
};
/**
* @return {?}
*/
NoopAnimationPlayer.prototype._onStart = function () {
this.finish();
this._onDestroyFns.forEach(function (fn) { return fn(); });
this._onDestroyFns = [];
}
};
/**
* @return {?}
*/
NoopAnimationPlayer.prototype.reset = function () { };
/**
* @param {?} p
* @return {?}
*/
NoopAnimationPlayer.prototype.setPosition = function (p) { };
/**
* @return {?}
*/
NoopAnimationPlayer.prototype.getPosition = function () { return 0; };
return NoopAnimationPlayer;
}());
/**
* @license
* Copyright Google Inc. All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/
var AnimationGroupPlayer = (function () {
/**
* @param {?} _players
*/
function AnimationGroupPlayer(_players) {
var _this = this;
this._players = _players;
this._onDoneFns = [];
this._onStartFns = [];
this._finished = false;
this._started = false;
this._destroyed = false;
this._onDestroyFns = [];
this.parentPlayer = null;
var count = 0;
var total = this._players.length;
if (total == 0) {
scheduleMicroTask(function () { return _this._onFinish(); });
}
else {
this._players.forEach(function (player) {
player.parentPlayer = _this;
player.onDone(function () {
if (++count >= total) {
_this._onFinish();
}
});
});
}
}
/**
* @return {?}
*/
AnimationGroupPlayer.prototype._onFinish = function () {
if (!this._finished) {
this._finished = true;
this._onDoneFns.forEach(function (fn) { return fn(); });
this._onDoneFns = [];
}
};
/**
* @return {?}
*/
AnimationGroupPlayer.prototype.init = function () { this._players.forEach(function (player) { return player.init(); }); };
/**
* @param {?} fn
* @return {?}
*/
AnimationGroupPlayer.prototype.onStart = function (fn) { this._onStartFns.push(fn); };
/**
* @param {?} fn
* @return {?}
*/
AnimationGroupPlayer.prototype.onDone = function (fn) { this._onDoneFns.push(fn); };
/**
* @param {?} fn
* @return {?}
*/
AnimationGroupPlayer.prototype.onDestroy = function (fn) { this._onDestroyFns.push(fn); };
/**
* @return {?}
*/
AnimationGroupPlayer.prototype.hasStarted = function () { return this._started; };
/**
* @return {?}
*/
AnimationGroupPlayer.prototype.play = function () {
if (!this.parentPlayer) {
this.init();
}
if (!this.hasStarted()) {
this._onStartFns.forEach(function (fn) { return fn(); });
this._onStartFns = [];
};
/**
* @return {?}
*/
NoopAnimationPlayer.prototype.pause = function () { };
/**
* @return {?}
*/
NoopAnimationPlayer.prototype.restart = function () { };
/**
* @return {?}
*/
NoopAnimationPlayer.prototype.finish = function () { this._onFinish(); };
/**
* @return {?}
*/
NoopAnimationPlayer.prototype.destroy = function () {
if (!this._destroyed) {
this._destroyed = true;
if (!this.hasStarted()) {
this._onStart();
}
this.finish();
this._onDestroyFns.forEach(function (fn) { return fn(); });
this._onDestroyFns = [];
}
};
/**
* @return {?}
*/
NoopAnimationPlayer.prototype.reset = function () { };
/**
* @param {?} p
* @return {?}
*/
NoopAnimationPlayer.prototype.setPosition = function (p) { };
/**
* @return {?}
*/
NoopAnimationPlayer.prototype.getPosition = function () { return 0; };
return NoopAnimationPlayer;
}());
var AnimationGroupPlayer = (function () {
/**
* @param {?} _players
*/
function AnimationGroupPlayer(_players) {
var _this = this;
this._players = _players;
this._onDoneFns = [];
this._onStartFns = [];
this._finished = false;
this._started = false;
this._destroyed = false;
this._started = true;
}
this._players.forEach(function (player) { return player.play(); });
};
/**
* @return {?}
*/
AnimationGroupPlayer.prototype.pause = function () { this._players.forEach(function (player) { return player.pause(); }); };
/**
* @return {?}
*/
AnimationGroupPlayer.prototype.restart = function () { this._players.forEach(function (player) { return player.restart(); }); };
/**
* @return {?}
*/
AnimationGroupPlayer.prototype.finish = function () {
this._onFinish();
this._players.forEach(function (player) { return player.finish(); });
};
/**
* @return {?}
*/
AnimationGroupPlayer.prototype.destroy = function () {
if (!this._destroyed) {
this._onFinish();
this._players.forEach(function (player) { return player.destroy(); });
this._destroyed = true;
this._onDestroyFns.forEach(function (fn) { return fn(); });
this._onDestroyFns = [];
this.parentPlayer = null;
var count = 0;
var total = this._players.length;
if (total == 0) {
scheduleMicroTask(function () { return _this._onFinish(); });
}
else {
this._players.forEach(function (player) {
player.parentPlayer = _this;
player.onDone(function () {
if (++count >= total) {
_this._onFinish();
}
});
});
}
}
};
/**
* @return {?}
*/
AnimationGroupPlayer.prototype.reset = function () {
this._players.forEach(function (player) { return player.reset(); });
this._destroyed = false;
this._finished = false;
this._started = false;
};
/**
* @param {?} p
* @return {?}
*/
AnimationGroupPlayer.prototype.setPosition = function (p) {
this._players.forEach(function (player) { player.setPosition(p); });
};
/**
* @return {?}
*/
AnimationGroupPlayer.prototype.getPosition = function () {
var /** @type {?} */ min = 0;
this._players.forEach(function (player) {
var /** @type {?} */ p = player.getPosition();
min = Math.min(p, min);
});
return min;
};
Object.defineProperty(AnimationGroupPlayer.prototype, "players", {
/**
* @return {?}
*/
AnimationGroupPlayer.prototype._onFinish = function () {
if (!this._finished) {
this._finished = true;
this._onDoneFns.forEach(function (fn) { return fn(); });
this._onDoneFns = [];
}
};
/**
* @return {?}
*/
AnimationGroupPlayer.prototype.init = function () { this._players.forEach(function (player) { return player.init(); }); };
/**
* @param {?} fn
* @return {?}
*/
AnimationGroupPlayer.prototype.onStart = function (fn) { this._onStartFns.push(fn); };
/**
* @param {?} fn
* @return {?}
*/
AnimationGroupPlayer.prototype.onDone = function (fn) { this._onDoneFns.push(fn); };
/**
* @param {?} fn
* @return {?}
*/
AnimationGroupPlayer.prototype.onDestroy = function (fn) { this._onDestroyFns.push(fn); };
/**
* @return {?}
*/
AnimationGroupPlayer.prototype.hasStarted = function () { return this._started; };
/**
* @return {?}
*/
AnimationGroupPlayer.prototype.play = function () {
if (!this.parentPlayer) {
this.init();
}
if (!this.hasStarted()) {
this._onStartFns.forEach(function (fn) { return fn(); });
this._onStartFns = [];
this._started = true;
}
this._players.forEach(function (player) { return player.play(); });
};
/**
* @return {?}
*/
AnimationGroupPlayer.prototype.pause = function () { this._players.forEach(function (player) { return player.pause(); }); };
/**
* @return {?}
*/
AnimationGroupPlayer.prototype.restart = function () { this._players.forEach(function (player) { return player.restart(); }); };
/**
* @return {?}
*/
AnimationGroupPlayer.prototype.finish = function () {
this._onFinish();
this._players.forEach(function (player) { return player.finish(); });
};
/**
* @return {?}
*/
AnimationGroupPlayer.prototype.destroy = function () {
if (!this._destroyed) {
this._onFinish();
this._players.forEach(function (player) { return player.destroy(); });
this._destroyed = true;
this._onDestroyFns.forEach(function (fn) { return fn(); });
this._onDestroyFns = [];
}
};
/**
* @return {?}
*/
AnimationGroupPlayer.prototype.reset = function () {
this._players.forEach(function (player) { return player.reset(); });
this._destroyed = false;
this._finished = false;
this._started = false;
};
/**
* @param {?} p
* @return {?}
*/
AnimationGroupPlayer.prototype.setPosition = function (p) {
this._players.forEach(function (player) { player.setPosition(p); });
};
/**
* @return {?}
*/
AnimationGroupPlayer.prototype.getPosition = function () {
var /** @type {?} */ min = 0;
this._players.forEach(function (player) {
var /** @type {?} */ p = player.getPosition();
min = Math.min(p, min);
});
return min;
};
Object.defineProperty(AnimationGroupPlayer.prototype, "players", {
/**
* @return {?}
*/
get: function () { return this._players; },
enumerable: true,
configurable: true
});
return AnimationGroupPlayer;
}());
get: function () { return this._players; },
enumerable: true,
configurable: true
});
return AnimationGroupPlayer;
}());
exports.AUTO_STYLE = AUTO_STYLE;
exports.animate = animate;
exports.group = group;
exports.keyframes = keyframes;
exports.sequence = sequence;
exports.state = state;
exports.style = style;
exports.transition = transition;
exports.trigger = trigger;
exports.AnimationPlayer = AnimationPlayer;
exports.NoopAnimationPlayer = NoopAnimationPlayer;
exports.ɵAnimationGroupPlayer = AnimationGroupPlayer;
exports.AUTO_STYLE = AUTO_STYLE;
exports.animate = animate;
exports.group = group;
exports.keyframes = keyframes;
exports.sequence = sequence;
exports.state = state;
exports.style = style;
exports.transition = transition;
exports.trigger = trigger;
exports.AnimationPlayer = AnimationPlayer;
exports.NoopAnimationPlayer = NoopAnimationPlayer;
exports.ɵAnimationGroupPlayer = AnimationGroupPlayer;
}));
Object.defineProperty(exports, '__esModule', { value: true });
})));
//# sourceMappingURL=animations.umd.js.map
/**
* @license Angular v4.0.0-rc.5
* @license Angular v4.0.0-rc.6
* (c) 2010-2017 Google, Inc. https://angular.io/

@@ -7,16 +7,16 @@ * License: MIT

!function(global,factory){"object"==typeof exports&&"undefined"!=typeof module?factory(exports):"function"==typeof define&&define.amd?define(["exports"],factory):factory((global.ng=global.ng||{},global.ng.animations=global.ng.animations||{}))}(this,function(exports){"use strict";function trigger(name,definitions){return{name:name,definitions:definitions}}function animate(timings,styles){return void 0===styles&&(styles=null),{type:4,styles:styles,timings:timings}}function group(steps){return{type:3,steps:steps}}function sequence(steps){return{type:2,steps:steps}}function style(tokens){return{type:6,styles:tokens}}function state(name,styles){return{type:0,name:name,styles:styles}}function keyframes(steps){return{type:5,steps:steps}}function transition(stateChangeExpr,steps){return{type:1,expr:stateChangeExpr,animation:steps}}/**
* @license
* Copyright Google Inc. All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
* @param {?} cb
* @return {?}
*/
* @license
* Copyright Google Inc. All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
* @param {?} cb
* @return {?}
*/
function scheduleMicroTask(cb){Promise.resolve(null).then(cb)}/**
* @license Angular v4.0.0-rc.5
* (c) 2010-2017 Google, Inc. https://angular.io/
* License: MIT
*/
var AUTO_STYLE="*",AnimationPlayer=function(){function AnimationPlayer(){}return AnimationPlayer.prototype.onDone=function(fn){},AnimationPlayer.prototype.onStart=function(fn){},AnimationPlayer.prototype.onDestroy=function(fn){},AnimationPlayer.prototype.init=function(){},AnimationPlayer.prototype.hasStarted=function(){},AnimationPlayer.prototype.play=function(){},AnimationPlayer.prototype.pause=function(){},AnimationPlayer.prototype.restart=function(){},AnimationPlayer.prototype.finish=function(){},AnimationPlayer.prototype.destroy=function(){},AnimationPlayer.prototype.reset=function(){},AnimationPlayer.prototype.setPosition=function(p){},AnimationPlayer.prototype.getPosition=function(){},Object.defineProperty(AnimationPlayer.prototype,"parentPlayer",{get:function(){throw new Error("NOT IMPLEMENTED: Base Class")},set:function(player){throw new Error("NOT IMPLEMENTED: Base Class")},enumerable:!0,configurable:!0}),AnimationPlayer}(),NoopAnimationPlayer=function(){function NoopAnimationPlayer(){this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._started=!1,this._destroyed=!1,this._finished=!1,this.parentPlayer=null}return NoopAnimationPlayer.prototype._onFinish=function(){this._finished||(this._finished=!0,this._onDoneFns.forEach(function(fn){return fn()}),this._onDoneFns=[])},NoopAnimationPlayer.prototype.onStart=function(fn){this._onStartFns.push(fn)},NoopAnimationPlayer.prototype.onDone=function(fn){this._onDoneFns.push(fn)},NoopAnimationPlayer.prototype.onDestroy=function(fn){this._onDestroyFns.push(fn)},NoopAnimationPlayer.prototype.hasStarted=function(){return this._started},NoopAnimationPlayer.prototype.init=function(){},NoopAnimationPlayer.prototype.play=function(){var _this=this;this.hasStarted()||(scheduleMicroTask(function(){return _this._onFinish()}),this._onStart()),this._started=!0},NoopAnimationPlayer.prototype._onStart=function(){this._onStartFns.forEach(function(fn){return fn()}),this._onStartFns=[]},NoopAnimationPlayer.prototype.pause=function(){},NoopAnimationPlayer.prototype.restart=function(){},NoopAnimationPlayer.prototype.finish=function(){this._onFinish()},NoopAnimationPlayer.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.hasStarted()||this._onStart(),this.finish(),this._onDestroyFns.forEach(function(fn){return fn()}),this._onDestroyFns=[])},NoopAnimationPlayer.prototype.reset=function(){},NoopAnimationPlayer.prototype.setPosition=function(p){},NoopAnimationPlayer.prototype.getPosition=function(){return 0},NoopAnimationPlayer}(),AnimationGroupPlayer=function(){function AnimationGroupPlayer(_players){var _this=this;this._players=_players,this._onDoneFns=[],this._onStartFns=[],this._finished=!1,this._started=!1,this._destroyed=!1,this._onDestroyFns=[],this.parentPlayer=null;var count=0,total=this._players.length;0==total?scheduleMicroTask(function(){return _this._onFinish()}):this._players.forEach(function(player){player.parentPlayer=_this,player.onDone(function(){++count>=total&&_this._onFinish()})})}return AnimationGroupPlayer.prototype._onFinish=function(){this._finished||(this._finished=!0,this._onDoneFns.forEach(function(fn){return fn()}),this._onDoneFns=[])},AnimationGroupPlayer.prototype.init=function(){this._players.forEach(function(player){return player.init()})},AnimationGroupPlayer.prototype.onStart=function(fn){this._onStartFns.push(fn)},AnimationGroupPlayer.prototype.onDone=function(fn){this._onDoneFns.push(fn)},AnimationGroupPlayer.prototype.onDestroy=function(fn){this._onDestroyFns.push(fn)},AnimationGroupPlayer.prototype.hasStarted=function(){return this._started},AnimationGroupPlayer.prototype.play=function(){this.parentPlayer||this.init(),this.hasStarted()||(this._onStartFns.forEach(function(fn){return fn()}),this._onStartFns=[],this._started=!0),this._players.forEach(function(player){return player.play()})},AnimationGroupPlayer.prototype.pause=function(){this._players.forEach(function(player){return player.pause()})},AnimationGroupPlayer.prototype.restart=function(){this._players.forEach(function(player){return player.restart()})},AnimationGroupPlayer.prototype.finish=function(){this._onFinish(),this._players.forEach(function(player){return player.finish()})},AnimationGroupPlayer.prototype.destroy=function(){this._destroyed||(this._onFinish(),this._players.forEach(function(player){return player.destroy()}),this._destroyed=!0,this._onDestroyFns.forEach(function(fn){return fn()}),this._onDestroyFns=[])},AnimationGroupPlayer.prototype.reset=function(){this._players.forEach(function(player){return player.reset()}),this._destroyed=!1,this._finished=!1,this._started=!1},AnimationGroupPlayer.prototype.setPosition=function(p){this._players.forEach(function(player){player.setPosition(p)})},AnimationGroupPlayer.prototype.getPosition=function(){var min=0;return this._players.forEach(function(player){var p=player.getPosition();min=Math.min(p,min)}),min},Object.defineProperty(AnimationGroupPlayer.prototype,"players",{get:function(){return this._players},enumerable:!0,configurable:!0}),AnimationGroupPlayer}();exports.AUTO_STYLE=AUTO_STYLE,exports.animate=animate,exports.group=group,exports.keyframes=keyframes,exports.sequence=sequence,exports.state=state,exports.style=style,exports.transition=transition,exports.trigger=trigger,exports.AnimationPlayer=AnimationPlayer,exports.NoopAnimationPlayer=NoopAnimationPlayer,exports.ɵAnimationGroupPlayer=AnimationGroupPlayer});
* @license Angular v4.0.0-rc.6
* (c) 2010-2017 Google, Inc. https://angular.io/
* License: MIT
*/
var AUTO_STYLE="*",AnimationPlayer=function(){function AnimationPlayer(){}return AnimationPlayer.prototype.onDone=function(fn){},AnimationPlayer.prototype.onStart=function(fn){},AnimationPlayer.prototype.onDestroy=function(fn){},AnimationPlayer.prototype.init=function(){},AnimationPlayer.prototype.hasStarted=function(){},AnimationPlayer.prototype.play=function(){},AnimationPlayer.prototype.pause=function(){},AnimationPlayer.prototype.restart=function(){},AnimationPlayer.prototype.finish=function(){},AnimationPlayer.prototype.destroy=function(){},AnimationPlayer.prototype.reset=function(){},AnimationPlayer.prototype.setPosition=function(p){},AnimationPlayer.prototype.getPosition=function(){},Object.defineProperty(AnimationPlayer.prototype,"parentPlayer",{get:function(){throw new Error("NOT IMPLEMENTED: Base Class")},set:function(player){throw new Error("NOT IMPLEMENTED: Base Class")},enumerable:!0,configurable:!0}),AnimationPlayer}(),NoopAnimationPlayer=function(){function NoopAnimationPlayer(){this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._started=!1,this._destroyed=!1,this._finished=!1,this.parentPlayer=null}return NoopAnimationPlayer.prototype._onFinish=function(){this._finished||(this._finished=!0,this._onDoneFns.forEach(function(fn){return fn()}),this._onDoneFns=[])},NoopAnimationPlayer.prototype.onStart=function(fn){this._onStartFns.push(fn)},NoopAnimationPlayer.prototype.onDone=function(fn){this._onDoneFns.push(fn)},NoopAnimationPlayer.prototype.onDestroy=function(fn){this._onDestroyFns.push(fn)},NoopAnimationPlayer.prototype.hasStarted=function(){return this._started},NoopAnimationPlayer.prototype.init=function(){},NoopAnimationPlayer.prototype.play=function(){var _this=this;this.hasStarted()||(scheduleMicroTask(function(){return _this._onFinish()}),this._onStart()),this._started=!0},NoopAnimationPlayer.prototype._onStart=function(){this._onStartFns.forEach(function(fn){return fn()}),this._onStartFns=[]},NoopAnimationPlayer.prototype.pause=function(){},NoopAnimationPlayer.prototype.restart=function(){},NoopAnimationPlayer.prototype.finish=function(){this._onFinish()},NoopAnimationPlayer.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.hasStarted()||this._onStart(),this.finish(),this._onDestroyFns.forEach(function(fn){return fn()}),this._onDestroyFns=[])},NoopAnimationPlayer.prototype.reset=function(){},NoopAnimationPlayer.prototype.setPosition=function(p){},NoopAnimationPlayer.prototype.getPosition=function(){return 0},NoopAnimationPlayer}(),AnimationGroupPlayer=function(){function AnimationGroupPlayer(_players){var _this=this;this._players=_players,this._onDoneFns=[],this._onStartFns=[],this._finished=!1,this._started=!1,this._destroyed=!1,this._onDestroyFns=[],this.parentPlayer=null;var count=0,total=this._players.length;0==total?scheduleMicroTask(function(){return _this._onFinish()}):this._players.forEach(function(player){player.parentPlayer=_this,player.onDone(function(){++count>=total&&_this._onFinish()})})}return AnimationGroupPlayer.prototype._onFinish=function(){this._finished||(this._finished=!0,this._onDoneFns.forEach(function(fn){return fn()}),this._onDoneFns=[])},AnimationGroupPlayer.prototype.init=function(){this._players.forEach(function(player){return player.init()})},AnimationGroupPlayer.prototype.onStart=function(fn){this._onStartFns.push(fn)},AnimationGroupPlayer.prototype.onDone=function(fn){this._onDoneFns.push(fn)},AnimationGroupPlayer.prototype.onDestroy=function(fn){this._onDestroyFns.push(fn)},AnimationGroupPlayer.prototype.hasStarted=function(){return this._started},AnimationGroupPlayer.prototype.play=function(){this.parentPlayer||this.init(),this.hasStarted()||(this._onStartFns.forEach(function(fn){return fn()}),this._onStartFns=[],this._started=!0),this._players.forEach(function(player){return player.play()})},AnimationGroupPlayer.prototype.pause=function(){this._players.forEach(function(player){return player.pause()})},AnimationGroupPlayer.prototype.restart=function(){this._players.forEach(function(player){return player.restart()})},AnimationGroupPlayer.prototype.finish=function(){this._onFinish(),this._players.forEach(function(player){return player.finish()})},AnimationGroupPlayer.prototype.destroy=function(){this._destroyed||(this._onFinish(),this._players.forEach(function(player){return player.destroy()}),this._destroyed=!0,this._onDestroyFns.forEach(function(fn){return fn()}),this._onDestroyFns=[])},AnimationGroupPlayer.prototype.reset=function(){this._players.forEach(function(player){return player.reset()}),this._destroyed=!1,this._finished=!1,this._started=!1},AnimationGroupPlayer.prototype.setPosition=function(p){this._players.forEach(function(player){player.setPosition(p)})},AnimationGroupPlayer.prototype.getPosition=function(){var min=0;return this._players.forEach(function(player){var p=player.getPosition();min=Math.min(p,min)}),min},Object.defineProperty(AnimationGroupPlayer.prototype,"players",{get:function(){return this._players},enumerable:!0,configurable:!0}),AnimationGroupPlayer}();exports.AUTO_STYLE=AUTO_STYLE,exports.animate=animate,exports.group=group,exports.keyframes=keyframes,exports.sequence=sequence,exports.state=state,exports.style=style,exports.transition=transition,exports.trigger=trigger,exports.AnimationPlayer=AnimationPlayer,exports.NoopAnimationPlayer=NoopAnimationPlayer,exports.ɵAnimationGroupPlayer=AnimationGroupPlayer,Object.defineProperty(exports,"__esModule",{value:!0})});
//# sourceMappingURL=animations.umd.min.js.map
{
"name": "@angular/animations",
"version": "4.0.0-rc.5",
"version": "4.0.0-rc.6",
"description": "Angular - animations integration with web-animationss",

@@ -12,3 +12,3 @@ "main": "./bundles/animations.umd.js",

"peerDependencies": {
"@angular/core": "4.0.0-rc.5"
"@angular/core": "4.0.0-rc.6"
},

@@ -15,0 +15,0 @@ "repository": {

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc