{"version":3,"file":"animations.js","sources":["../../../packages/animations/src/animation_builder.js","../../../packages/animations/src/animation_metadata.js","../../../packages/animations/src/util.js","../../../packages/animations/src/players/animation_player.js","../../../packages/animations/src/players/animation_group_player.js","../../../packages/animations/src/private_export.js","../../../packages/animations/src/animations.js","../../../packages/animations/public_api.js","../../../packages/animations/animations.js"],"sourcesContent":["/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * AnimationBuilder is an injectable service that is available when the {\\@link\n * BrowserAnimationsModule BrowserAnimationsModule} or {\\@link NoopAnimationsModule\n * NoopAnimationsModule} modules are used within an application.\n *\n * The purpose if this service is to produce an animation sequence programmatically within an\n * angular component or directive.\n *\n * Programmatic animations are first built and then a player is created when the build animation is\n * attached to an element.\n *\n * ```ts\n * // remember to include the BrowserAnimationsModule module for this to work...\n * import {AnimationBuilder} from '\\@angular/animations';\n *\n * class MyCmp {\n * constructor(private _builder: AnimationBuilder) {}\n *\n * makeAnimation(element: any) {\n * // first build the animation\n * const myAnimation = this._builder.build([\n * style({ width: 0 }),\n * animate(1000, style({ width: '100px' }))\n * ]);\n *\n * // then create a player from it\n * const player = myAnimation.create(element);\n *\n * player.play();\n * }\n * }\n * ```\n *\n * When an animation is built an instance of {\\@link AnimationFactory AnimationFactory} will be\n * returned. Using that an {\\@link AnimationPlayer AnimationPlayer} can be created which can then be\n * used to start the animation.\n *\n * \\@experimental Animation support is experimental.\n * @abstract\n */\nexport class AnimationBuilder {\n}\nfunction AnimationBuilder_tsickle_Closure_declarations() {\n /**\n * @abstract\n * @param {?} animation\n * @return {?}\n */\n AnimationBuilder.prototype.build = function (animation) { };\n}\n/**\n * An instance of `AnimationFactory` is returned from {\\@link AnimationBuilder#build\n * AnimationBuilder.build}.\n *\n * \\@experimental Animation support is experimental.\n * @abstract\n */\nexport class AnimationFactory {\n}\nfunction AnimationFactory_tsickle_Closure_declarations() {\n /**\n * @abstract\n * @param {?} element\n * @param {?=} options\n * @return {?}\n */\n AnimationFactory.prototype.create = function (element, options) { };\n}\n//# sourceMappingURL=animation_builder.js.map","/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n * @record\n */\nexport function ɵStyleData() { }\nfunction ɵStyleData_tsickle_Closure_declarations() {\n /* TODO: handle strange member:\n [key: string]: string|number;\n */\n}\n/** @enum {number} */\nconst AnimationMetadataType = {\n State: 0,\n Transition: 1,\n Sequence: 2,\n Group: 3,\n Animate: 4,\n Keyframes: 5,\n Style: 6,\n Trigger: 7,\n Reference: 8,\n AnimateChild: 9,\n AnimateRef: 10,\n Query: 11,\n Stagger: 12,\n};\nexport { AnimationMetadataType };\n/**\n * \\@experimental Animation support is experimental.\n */\nexport const /** @type {?} */ AUTO_STYLE = '*';\n/**\n * \\@experimental Animation support is experimental.\n * @record\n */\nexport function AnimationMetadata() { }\nfunction AnimationMetadata_tsickle_Closure_declarations() {\n /** @type {?} */\n AnimationMetadata.prototype.type;\n}\n/**\n * Metadata representing the entry of animations. Instances of this interface are provided via the\n * animation DSL when the {\\@link trigger trigger animation function} is called.\n *\n * \\@experimental Animation support is experimental.\n * @record\n */\nexport function AnimationTriggerMetadata() { }\nfunction AnimationTriggerMetadata_tsickle_Closure_declarations() {\n /** @type {?} */\n AnimationTriggerMetadata.prototype.name;\n /** @type {?} */\n AnimationTriggerMetadata.prototype.definitions;\n /** @type {?} */\n AnimationTriggerMetadata.prototype.options;\n}\n/**\n * Metadata representing the entry of animations. Instances of this interface are provided via the\n * animation DSL when the {\\@link state state animation function} is called.\n *\n * \\@experimental Animation support is experimental.\n * @record\n */\nexport function AnimationStateMetadata() { }\nfunction AnimationStateMetadata_tsickle_Closure_declarations() {\n /** @type {?} */\n AnimationStateMetadata.prototype.name;\n /** @type {?} */\n AnimationStateMetadata.prototype.styles;\n /** @type {?|undefined} */\n AnimationStateMetadata.prototype.options;\n}\n/**\n * Metadata representing the entry of animations. Instances of this interface are provided via the\n * animation DSL when the {\\@link transition transition animation function} is called.\n *\n * \\@experimental Animation support is experimental.\n * @record\n */\nexport function AnimationTransitionMetadata() { }\nfunction AnimationTransitionMetadata_tsickle_Closure_declarations() {\n /** @type {?} */\n AnimationTransitionMetadata.prototype.expr;\n /** @type {?} */\n AnimationTransitionMetadata.prototype.animation;\n /** @type {?} */\n AnimationTransitionMetadata.prototype.options;\n}\n/**\n * \\@experimental Animation support is experimental.\n * @record\n */\nexport function AnimationReferenceMetadata() { }\nfunction AnimationReferenceMetadata_tsickle_Closure_declarations() {\n /** @type {?} */\n AnimationReferenceMetadata.prototype.animation;\n /** @type {?} */\n AnimationReferenceMetadata.prototype.options;\n}\n/**\n * \\@experimental Animation support is experimental.\n * @record\n */\nexport function AnimationQueryMetadata() { }\nfunction AnimationQueryMetadata_tsickle_Closure_declarations() {\n /** @type {?} */\n AnimationQueryMetadata.prototype.selector;\n /** @type {?} */\n AnimationQueryMetadata.prototype.animation;\n /** @type {?} */\n AnimationQueryMetadata.prototype.options;\n}\n/**\n * Metadata representing the entry of animations. Instances of this interface are provided via the\n * animation DSL when the {\\@link keyframes keyframes animation function} is called.\n *\n * \\@experimental Animation support is experimental.\n * @record\n */\nexport function AnimationKeyframesSequenceMetadata() { }\nfunction AnimationKeyframesSequenceMetadata_tsickle_Closure_declarations() {\n /** @type {?} */\n AnimationKeyframesSequenceMetadata.prototype.steps;\n}\n/**\n * Metadata representing the entry of animations. Instances of this interface are provided via the\n * animation DSL when the {\\@link style style animation function} is called.\n *\n * \\@experimental Animation support is experimental.\n * @record\n */\nexport function AnimationStyleMetadata() { }\nfunction AnimationStyleMetadata_tsickle_Closure_declarations() {\n /** @type {?} */\n AnimationStyleMetadata.prototype.styles;\n /** @type {?} */\n AnimationStyleMetadata.prototype.offset;\n}\n/**\n * Metadata representing the entry of animations. Instances of this interface are provided via the\n * animation DSL when the {\\@link animate animate animation function} is called.\n *\n * \\@experimental Animation support is experimental.\n * @record\n */\nexport function AnimationAnimateMetadata() { }\nfunction AnimationAnimateMetadata_tsickle_Closure_declarations() {\n /** @type {?} */\n AnimationAnimateMetadata.prototype.timings;\n /** @type {?} */\n AnimationAnimateMetadata.prototype.styles;\n}\n/**\n * Metadata representing the entry of animations. Instances of this interface are provided via the\n * animation DSL when the {\\@link animateChild animateChild animation function} is called.\n *\n * \\@experimental Animation support is experimental.\n * @record\n */\nexport function AnimationAnimateChildMetadata() { }\nfunction AnimationAnimateChildMetadata_tsickle_Closure_declarations() {\n /** @type {?} */\n AnimationAnimateChildMetadata.prototype.options;\n}\n/**\n * Metadata representing the entry of animations. Instances of this interface are provided via the\n * animation DSL when the {\\@link useAnimation useAnimation animation function} is called.\n *\n * \\@experimental Animation support is experimental.\n * @record\n */\nexport function AnimationAnimateRefMetadata() { }\nfunction AnimationAnimateRefMetadata_tsickle_Closure_declarations() {\n /** @type {?} */\n AnimationAnimateRefMetadata.prototype.animation;\n /** @type {?} */\n AnimationAnimateRefMetadata.prototype.options;\n}\n/**\n * Metadata representing the entry of animations. Instances of this interface are provided via the\n * animation DSL when the {\\@link sequence sequence animation function} is called.\n *\n * \\@experimental Animation support is experimental.\n * @record\n */\nexport function AnimationSequenceMetadata() { }\nfunction AnimationSequenceMetadata_tsickle_Closure_declarations() {\n /** @type {?} */\n AnimationSequenceMetadata.prototype.steps;\n /** @type {?} */\n AnimationSequenceMetadata.prototype.options;\n}\n/**\n * Metadata representing the entry of animations. Instances of this interface are provided via the\n * animation DSL when the {\\@link group group animation function} is called.\n *\n * \\@experimental Animation support is experimental.\n * @record\n */\nexport function AnimationGroupMetadata() { }\nfunction AnimationGroupMetadata_tsickle_Closure_declarations() {\n /** @type {?} */\n AnimationGroupMetadata.prototype.steps;\n /** @type {?} */\n AnimationGroupMetadata.prototype.options;\n}\n/**\n * Metadata representing the entry of animations. Instances of this interface are provided via the\n * animation DSL when the {\\@link stagger stagger animation function} is called.\n *\n * \\@experimental Animation support is experimental.\n * @record\n */\nexport function AnimationStaggerMetadata() { }\nfunction AnimationStaggerMetadata_tsickle_Closure_declarations() {\n /** @type {?} */\n AnimationStaggerMetadata.prototype.timings;\n /** @type {?} */\n AnimationStaggerMetadata.prototype.animation;\n}\n/**\n * `trigger` is an animation-specific function that is designed to be used inside of Angular's\n * animation DSL language. If this information is new, please navigate to the\n * {\\@link Component#animations component animations metadata page} to gain a better\n * understanding of how animations in Angular are used.\n *\n * `trigger` Creates an animation trigger which will a list of {\\@link state state} and\n * {\\@link transition transition} entries that will be evaluated when the expression\n * bound to the trigger changes.\n *\n * Triggers are registered within the component annotation data under the\n * {\\@link Component#animations animations section}. An animation trigger can be placed on an element\n * within a template by referencing the name of the trigger followed by the expression value that\n * the\n * trigger is bound to (in the form of `[\\@triggerName]=\"expression\"`.\n *\n * Animation trigger bindings strigify values and then match the previous and current values against\n * any linked transitions. If a boolean value is provided into the trigger binding then it will both\n * be represented as `1` or `true` and `0` or `false` for a true and false boolean values\n * respectively.\n *\n * ### Usage\n *\n * `trigger` will create an animation trigger reference based on the provided `name` value. The\n * provided `animation` value is expected to be an array consisting of {\\@link state state} and\n * {\\@link transition transition} declarations.\n *\n * ```typescript\n * \\@Component({\n * selector: 'my-component',\n * templateUrl: 'my-component-tpl.html',\n * animations: [\n * trigger(\"myAnimationTrigger\", [\n * state(...),\n * state(...),\n * transition(...),\n * transition(...)\n * ])\n * ]\n * })\n * class MyComponent {\n * myStatusExp = \"something\";\n * }\n * ```\n *\n * The template associated with this component will make use of the `myAnimationTrigger` animation\n * trigger by binding to an element within its template code.\n *\n * ```html\n * \n *