Socket
Socket
Sign inDemoInstall

@angular/platform-browser

Package Overview
Dependencies
Maintainers
1
Versions
838
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@angular/platform-browser - npm Package Compare versions

Comparing version 4.0.0-rc.1 to 4.0.0-rc.2

typings/animations/package.json

136

@angular/platform-browser/animations/testing.es5.js

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

var _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if ("value" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
import { AUTO_STYLE, NoopAnimationPlayer } from '@angular/animations';

@@ -6,9 +16,22 @@

*/
class MockAnimationDriver {
animate(element, keyframes, duration, delay, easing, previousPlayers = []) {
const player = new MockAnimationPlayer(element, keyframes, duration, delay, easing, previousPlayers);
MockAnimationDriver.log.push(player);
return player;
var MockAnimationDriver = function () {
function MockAnimationDriver() {
_classCallCheck(this, MockAnimationDriver);
}
}
_createClass(MockAnimationDriver, [{
key: 'animate',
value: function animate(element, keyframes, duration, delay, easing) {
var previousPlayers = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : [];
var player = new MockAnimationPlayer(element, keyframes, duration, delay, easing, previousPlayers);
MockAnimationDriver.log.push(player);
return player;
}
}]);
return MockAnimationDriver;
}();
MockAnimationDriver.log = [];

@@ -18,51 +41,70 @@ /**

*/
class MockAnimationPlayer extends NoopAnimationPlayer {
constructor(element, keyframes, duration, delay, easing, previousPlayers) {
super();
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(player => {
var MockAnimationPlayer = function (_NoopAnimationPlayer) {
_inherits(MockAnimationPlayer, _NoopAnimationPlayer);
function MockAnimationPlayer(element, keyframes, duration, delay, easing, previousPlayers) {
_classCallCheck(this, MockAnimationPlayer);
var _this = _possibleConstructorReturn(this, (MockAnimationPlayer.__proto__ || Object.getPrototypeOf(MockAnimationPlayer)).call(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) {
const styles = player._captureStyles();
Object.keys(styles).forEach(prop => {
this.previousStyles[prop] = styles[prop];
var styles = player._captureStyles();
Object.keys(styles).forEach(function (prop) {
_this.previousStyles[prop] = styles[prop];
});
}
});
return _this;
}
finish() {
super.finish();
this.__finished = true;
}
destroy() {
super.destroy();
this.__finished = true;
}
_captureStyles() {
const captures = {};
Object.keys(this.previousStyles).forEach(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(kf => {
Object.keys(kf).forEach(prop => {
if (prop != 'offset') {
captures[prop] = this.__finished ? kf[prop] : AUTO_STYLE;
}
_createClass(MockAnimationPlayer, [{
key: 'finish',
value: function finish() {
_get(MockAnimationPlayer.prototype.__proto__ || Object.getPrototypeOf(MockAnimationPlayer.prototype), 'finish', this).call(this);
this.__finished = true;
}
}, {
key: 'destroy',
value: function destroy() {
_get(MockAnimationPlayer.prototype.__proto__ || Object.getPrototypeOf(MockAnimationPlayer.prototype), 'destroy', this).call(this);
this.__finished = true;
}
}, {
key: '_captureStyles',
value: function _captureStyles() {
var _this2 = this;
var captures = {};
Object.keys(this.previousStyles).forEach(function (prop) {
captures[prop] = _this2.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] = _this2.__finished ? kf[prop] : AUTO_STYLE;
}
});
});
});
}
return captures;
}
return captures;
}
}
}]);
return MockAnimationPlayer;
}(NoopAnimationPlayer);
export { MockAnimationDriver, MockAnimationPlayer };

@@ -0,3 +1,7 @@

var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
import { PLATFORM_INITIALIZER, platformCore, createPlatformFactory, NgZone, APP_ID, NgModule } from '@angular/core';
import { ɵBrowserDomAdapter, AnimationDriver, ɵELEMENT_PROBE_PROVIDERS, BrowserModule, ɵgetDOM } from '@angular/platform-browser';
import { ɵBrowserDomAdapter, ɵELEMENT_PROBE_PROVIDERS, BrowserModule, ɵgetDOM } from '@angular/platform-browser';

@@ -11,3 +15,3 @@ /**

*/
let globalScope;
var globalScope = void 0;
if (typeof window === 'undefined') {

@@ -25,3 +29,3 @@ if (typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope) {

// exports the original value of the symbol.
const _global = globalScope;
var _global = globalScope;
// TODO: remove calls to assert in production environment

@@ -34,53 +38,89 @@ // Note: Can't just export this and import in in other files

let browserDetection;
class BrowserDetection {
get _ua() {
if (typeof this._overrideUa === 'string') {
return this._overrideUa;
var browserDetection = void 0;
var BrowserDetection = function () {
_createClass(BrowserDetection, [{
key: '_ua',
get: function get() {
if (typeof this._overrideUa === 'string') {
return this._overrideUa;
}
return ɵgetDOM() ? ɵgetDOM().getUserAgent() : '';
}
return ɵgetDOM() ? ɵgetDOM().getUserAgent() : '';
}
static setup() {
browserDetection = new BrowserDetection(null);
}
constructor(ua) {
}], [{
key: 'setup',
value: function setup() {
browserDetection = new BrowserDetection(null);
}
}]);
function BrowserDetection(ua) {
_classCallCheck(this, BrowserDetection);
this._overrideUa = ua;
}
get isFirefox() {
return this._ua.indexOf('Firefox') > -1;
}
get isAndroid() {
return this._ua.indexOf('Mozilla/5.0') > -1 && this._ua.indexOf('Android') > -1 && this._ua.indexOf('AppleWebKit') > -1 && this._ua.indexOf('Chrome') == -1 && this._ua.indexOf('IEMobile') == -1;
}
get isEdge() {
return this._ua.indexOf('Edge') > -1;
}
get isIE() {
return this._ua.indexOf('Trident') > -1;
}
get isWebkit() {
return this._ua.indexOf('AppleWebKit') > -1 && this._ua.indexOf('Edge') == -1 && this._ua.indexOf('IEMobile') == -1;
}
get isIOS7() {
return (this._ua.indexOf('iPhone OS 7') > -1 || this._ua.indexOf('iPad OS 7') > -1) && this._ua.indexOf('IEMobile') == -1;
}
get isSlow() {
return this.isAndroid || this.isIE || this.isIOS7;
}
// The Intl API is only natively supported in Chrome, Firefox, IE11 and Edge.
// This detector is needed in tests to make the difference between:
// 1) IE11/Edge: they have a native Intl API, but with some discrepancies
// 2) IE9/IE10: they use the polyfill, and so no discrepancies
get supportsNativeIntlApi() {
return !!_global.Intl && _global.Intl !== _global.IntlPolyfill;
}
get isChromeDesktop() {
return this._ua.indexOf('Chrome') > -1 && this._ua.indexOf('Mobile Safari') == -1 && this._ua.indexOf('Edge') == -1;
}
// "Old Chrome" means Chrome 3X, where there are some discrepancies in the Intl API.
// Android 4.4 and 5.X have such browsers by default (respectively 30 and 39).
get isOldChrome() {
return this._ua.indexOf('Chrome') > -1 && this._ua.indexOf('Chrome/3') > -1 && this._ua.indexOf('Edge') == -1;
}
}
_createClass(BrowserDetection, [{
key: 'isFirefox',
get: function get() {
return this._ua.indexOf('Firefox') > -1;
}
}, {
key: 'isAndroid',
get: function get() {
return this._ua.indexOf('Mozilla/5.0') > -1 && this._ua.indexOf('Android') > -1 && this._ua.indexOf('AppleWebKit') > -1 && this._ua.indexOf('Chrome') == -1 && this._ua.indexOf('IEMobile') == -1;
}
}, {
key: 'isEdge',
get: function get() {
return this._ua.indexOf('Edge') > -1;
}
}, {
key: 'isIE',
get: function get() {
return this._ua.indexOf('Trident') > -1;
}
}, {
key: 'isWebkit',
get: function get() {
return this._ua.indexOf('AppleWebKit') > -1 && this._ua.indexOf('Edge') == -1 && this._ua.indexOf('IEMobile') == -1;
}
}, {
key: 'isIOS7',
get: function get() {
return (this._ua.indexOf('iPhone OS 7') > -1 || this._ua.indexOf('iPad OS 7') > -1) && this._ua.indexOf('IEMobile') == -1;
}
}, {
key: 'isSlow',
get: function get() {
return this.isAndroid || this.isIE || this.isIOS7;
}
// The Intl API is only natively supported in Chrome, Firefox, IE11 and Edge.
// This detector is needed in tests to make the difference between:
// 1) IE11/Edge: they have a native Intl API, but with some discrepancies
// 2) IE9/IE10: they use the polyfill, and so no discrepancies
}, {
key: 'supportsNativeIntlApi',
get: function get() {
return !!_global.Intl && _global.Intl !== _global.IntlPolyfill;
}
}, {
key: 'isChromeDesktop',
get: function get() {
return this._ua.indexOf('Chrome') > -1 && this._ua.indexOf('Mobile Safari') == -1 && this._ua.indexOf('Edge') == -1;
}
// "Old Chrome" means Chrome 3X, where there are some discrepancies in the Intl API.
// Android 4.4 and 5.X have such browsers by default (respectively 30 and 39).
}, {
key: 'isOldChrome',
get: function get() {
return this._ua.indexOf('Chrome') > -1 && this._ua.indexOf('Chrome/3') > -1 && this._ua.indexOf('Edge') == -1;
}
}]);
return BrowserDetection;
}();
BrowserDetection.setup();

@@ -95,3 +135,3 @@ function createNgZone() {

}
const _TEST_BROWSER_PLATFORM_PROVIDERS = [{ provide: PLATFORM_INITIALIZER, useValue: initBrowserTests, multi: true }];
var _TEST_BROWSER_PLATFORM_PROVIDERS = [{ provide: PLATFORM_INITIALIZER, useValue: initBrowserTests, multi: true }];
/**

@@ -102,3 +142,3 @@ * Platform for testing

*/
const platformBrowserTesting = createPlatformFactory(platformCore, 'browserTesting', _TEST_BROWSER_PLATFORM_PROVIDERS);
var platformBrowserTesting = createPlatformFactory(platformCore, 'browserTesting', _TEST_BROWSER_PLATFORM_PROVIDERS);
/**

@@ -109,10 +149,16 @@ * NgModule for testing.

*/
class BrowserTestingModule {}
var BrowserTestingModule = function BrowserTestingModule() {
_classCallCheck(this, BrowserTestingModule);
};
BrowserTestingModule.decorators = [{ type: NgModule, args: [{
exports: [BrowserModule],
providers: [{ provide: APP_ID, useValue: 'a' }, ɵELEMENT_PROBE_PROVIDERS, { provide: NgZone, useFactory: createNgZone }, { provide: AnimationDriver, useValue: AnimationDriver.NOOP }]
providers: [{ provide: APP_ID, useValue: 'a' }, ɵELEMENT_PROBE_PROVIDERS, { provide: NgZone, useFactory: createNgZone }]
}] }];
/** @nocollapse */
BrowserTestingModule.ctorParameters = () => [];
BrowserTestingModule.ctorParameters = function () {
return [];
};
export { platformBrowserTesting, BrowserTestingModule };
import { PLATFORM_INITIALIZER, platformCore, createPlatformFactory, NgZone, APP_ID, NgModule } from '@angular/core';
import { ɵBrowserDomAdapter, AnimationDriver, ɵELEMENT_PROBE_PROVIDERS, BrowserModule, ɵgetDOM } from '@angular/platform-browser';
import { ɵBrowserDomAdapter, ɵELEMENT_PROBE_PROVIDERS, BrowserModule, ɵgetDOM } from '@angular/platform-browser';

@@ -106,5 +106,5 @@ /**

providers: [
{ provide: APP_ID, useValue: 'a' }, ɵELEMENT_PROBE_PROVIDERS,
{ provide: APP_ID, useValue: 'a' },
ɵELEMENT_PROBE_PROVIDERS,
{ provide: NgZone, useFactory: createNgZone },
{ provide: AnimationDriver, useValue: AnimationDriver.NOOP }
]

@@ -111,0 +111,0 @@ },] },

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

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

/**
* @license Angular v4.0.0-rc.1
* @license Angular v4.0.0-rc.2
* (c) 2010-2017 Google, Inc. https://angular.io/
* License: MIT
*/
!function(global,factory){if("function"==typeof define&&define.amd)define("@angular/platform-browser/animations",["exports","@angular/core","@angular/platform-browser","@angular/animations"],factory);else if("undefined"!=typeof exports)factory(exports,require("@angular/core"),require("@angular/platform-browser"),require("@angular/animations"));else{var mod={exports:{}};factory(mod.exports,global.ng.core,global.ng.platformBrowser,global.ng.animations),global.ng=global.ng||{},global.ng.platformBrowser=global.ng.platformBrowser||{},global.ng.platformBrowser.animations=mod.exports}}(this,function(exports,_core,_platformBrowser,_animations){"use strict";function _toConsumableArray(arr){if(Array.isArray(arr)){for(var i=0,arr2=Array(arr.length);i<arr.length;i++)arr2[i]=arr[i];return arr2}return Array.from(arr)}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}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 _len=arguments.length,m=Array(_len),_key=0;_key<_len;_key++)m[_key]=arguments[_key];return m[1].toUpperCase()})}function resolveElementFromTarget(target){switch(target){case"body":return document.body;case"document":return document;case"window":return window;default:return target}}function parseTriggerCallbackName(triggerName){var dotIndex=triggerName.indexOf("."),trigger=triggerName.substring(0,dotIndex),phase=triggerName.substr(dotIndex+1);return[trigger,phase]}function namespaceify(namespaceId,value){return namespaceId+"#"+value}function deNamespaceify(namespaceId,value){return value.replace(namespaceId+"#","")}function parseTimeExpression(exp,errors){var regex=/^([\.\d]+)(m?s)(?:\s+([\.\d]+)(m?s))?(?:\s+([-a-z]+(?:\(.+?\))?))?$/i,duration=void 0,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 styles.forEach(function(data){return copyStyles(data,!1,normalizedStyles)}),normalizedStyles}function copyStyles(styles,readPrototype){var destination=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(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]=""})}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}}function createTimelineInstruction(keyframes,duration,delay,easing){return{type:1,keyframes:keyframes,duration:duration,delay:delay,totalTime:duration+delay,easing:easing}}function buildAnimationKeyframes(ast){var startingStyles=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},finalStyles=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},normalizedAst=Array.isArray(ast)?(0,_animations.sequence)(ast):ast;return(new AnimationTimelineVisitor).buildKeyframes(normalizedAst,startingStyles,finalStyles)}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){return(new AnimationValidatorVisitor).validate(ast)}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 _animations.NoopAnimationPlayer;case 1:return players[0];default:return new _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 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}function instantiateSupportedAnimationDriver(){return supportsWebAnimations()?new WebAnimationsDriver:new NoopAnimationDriver}function instantiateDefaultStyleNormalizer(){return new WebAnimationsStyleNormalizer}function instantiateRendererFactory(renderer,engine,zone){return new AnimationRendererFactory(renderer,engine,zone)}Object.defineProperty(exports,"__esModule",{value:!0}),exports.ɵh=exports.ɵb=exports.ɵd=exports.ɵc=exports.ɵa=exports.ɵf=exports.ɵe=exports.ɵg=exports.ɵDomAnimationEngine=exports.ɵAnimationRendererFactory=exports.ɵAnimationRenderer=exports.ɵNoopAnimationDriver=exports.ɵNoopAnimationStyleNormalizer=exports.ɵAnimationStyleNormalizer=exports.ɵAnimation=exports.ɵAnimationEngine=exports.AnimationDriver=exports.NoopAnimationsModule=exports.BrowserAnimationsModule=void 0;var _slicedToArray=function(){function sliceIterator(arr,i){var _arr=[],_n=!0,_d=!1,_e=void 0;try{for(var _s,_i=arr[Symbol.iterator]();!(_n=(_s=_i.next()).done)&&(_arr.push(_s.value),!i||_arr.length!==i);_n=!0);}catch(err){_d=!0,_e=err}finally{try{!_n&&_i.return&&_i.return()}finally{if(_d)throw _e}}return _arr}return function(arr,i){if(Array.isArray(arr))return arr;if(Symbol.iterator in Object(arr))return sliceIterator(arr,i);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),_createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),AnimationEngine=function(){function AnimationEngine(){_classCallCheck(this,AnimationEngine)}return _createClass(AnimationEngine,[{key:"registerTrigger",value:function(trigger,name){}},{key:"onInsert",value:function(element,domFn){}},{key:"onRemove",value:function(element,domFn){}},{key:"setProperty",value:function(element,property,value){}},{key:"listen",value:function(element,eventName,eventPhase,callback){}},{key:"flush",value:function(){}},{key:"activePlayers",get:function(){throw new Error("...")}},{key:"queuedPlayers",get:function(){throw new Error("...")}}]),AnimationEngine}(),AnimationStyleNormalizer=function(){function AnimationStyleNormalizer(){_classCallCheck(this,AnimationStyleNormalizer)}return _createClass(AnimationStyleNormalizer,[{key:"normalizePropertyName",value:function(propertyName,errors){}},{key:"normalizeStyleValue",value:function(userProvidedProperty,normalizedProperty,value,errors){}}]),AnimationStyleNormalizer}(),NoopAnimationStyleNormalizer=function(){function NoopAnimationStyleNormalizer(){_classCallCheck(this,NoopAnimationStyleNormalizer)}return _createClass(NoopAnimationStyleNormalizer,[{key:"normalizePropertyName",value:function(propertyName,errors){return propertyName}},{key:"normalizeStyleValue",value:function(userProvidedProperty,normalizedProperty,value,errors){return value}}]),NoopAnimationStyleNormalizer}(),WebAnimationsStyleNormalizer=function(_AnimationStyleNormal){function WebAnimationsStyleNormalizer(){return _classCallCheck(this,WebAnimationsStyleNormalizer),_possibleConstructorReturn(this,(WebAnimationsStyleNormalizer.__proto__||Object.getPrototypeOf(WebAnimationsStyleNormalizer)).apply(this,arguments))}return _inherits(WebAnimationsStyleNormalizer,_AnimationStyleNormal),_createClass(WebAnimationsStyleNormalizer,[{key:"normalizePropertyName",value:function(propertyName,errors){return dashCaseToCamelCase(propertyName)}},{key:"normalizeStyleValue",value: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,NoopAnimationDriver=function(){function NoopAnimationDriver(){_classCallCheck(this,NoopAnimationDriver)}return _createClass(NoopAnimationDriver,[{key:"animate",value:function(element,keyframes,duration,delay,easing){arguments.length>5&&void 0!==arguments[5]?arguments[5]:[];return new _animations.NoopAnimationPlayer}}]),NoopAnimationDriver}(),AnimationDriver=function AnimationDriver(){_classCallCheck(this,AnimationDriver)};AnimationDriver.NOOP=new NoopAnimationDriver;var AnimationRendererFactory=function(){function AnimationRendererFactory(delegate,_engine,_zone){_classCallCheck(this,AnimationRendererFactory),this.delegate=delegate,this._engine=_engine,this._zone=_zone}return _createClass(AnimationRendererFactory,[{key:"createRenderer",value:function(hostElement,type){var _this2=this,delegate=this.delegate.createRenderer(hostElement,type);if(!(hostElement&&type&&type.data&&type.data.animation))return delegate;var namespaceId=type.id,animationTriggers=type.data.animation;return animationTriggers.forEach(function(trigger){return _this2._engine.registerTrigger(trigger,namespaceify(namespaceId,trigger.name))}),new AnimationRenderer(delegate,this._engine,this._zone,namespaceId)}}]),AnimationRendererFactory}();AnimationRendererFactory.decorators=[{type:_core.Injectable}],AnimationRendererFactory.ctorParameters=function(){return[{type:_core.RendererFactoryV2},{type:AnimationEngine},{type:_core.NgZone}]};var AnimationRenderer=function(){function AnimationRenderer(delegate,_engine,_zone,_namespaceId){_classCallCheck(this,AnimationRenderer),this.delegate=delegate,this._engine=_engine,this._zone=_zone,this._namespaceId=_namespaceId,this.destroyNode=null,this._flushPromise=null,this.destroyNode=this.delegate.destroyNode?function(n){return delegate.destroyNode(n)}:null}return _createClass(AnimationRenderer,[{key:"destroy",value:function(){this.delegate.destroy()}},{key:"createElement",value:function(name,namespace){return this.delegate.createElement(name,namespace)}},{key:"createComment",value:function(value){return this.delegate.createComment(value)}},{key:"createText",value:function(value){return this.delegate.createText(value)}},{key:"selectRootElement",value:function(selectorOrNode){return this.delegate.selectRootElement(selectorOrNode)}},{key:"parentNode",value:function(node){return this.delegate.parentNode(node)}},{key:"nextSibling",value:function(node){return this.delegate.nextSibling(node)}},{key:"setAttribute",value:function(el,name,value,namespace){this.delegate.setAttribute(el,name,value,namespace)}},{key:"removeAttribute",value:function(el,name,namespace){this.delegate.removeAttribute(el,name,namespace)}},{key:"addClass",value:function(el,name){this.delegate.addClass(el,name)}},{key:"removeClass",value:function(el,name){this.delegate.removeClass(el,name)}},{key:"setStyle",value:function(el,style,value,hasVendorPrefix,hasImportant){this.delegate.setStyle(el,style,value,hasVendorPrefix,hasImportant)}},{key:"removeStyle",value:function(el,style,hasVendorPrefix){this.delegate.removeStyle(el,style,hasVendorPrefix)}},{key:"setValue",value:function(node,value){this.delegate.setValue(node,value)}},{key:"appendChild",value:function(parent,newChild){var _this3=this;this._engine.onInsert(newChild,function(){return _this3.delegate.appendChild(parent,newChild)}),this._queueFlush()}},{key:"insertBefore",value:function(parent,newChild,refChild){var _this4=this;this._engine.onInsert(newChild,function(){return _this4.delegate.insertBefore(parent,newChild,refChild)}),this._queueFlush()}},{key:"removeChild",value:function(parent,oldChild){var _this5=this;this._engine.onRemove(oldChild,function(){return _this5.delegate.removeChild(parent,oldChild)}),this._queueFlush()}},{key:"setProperty",value:function(el,name,value){"@"==name.charAt(0)?(this._engine.setProperty(el,namespaceify(this._namespaceId,name.substr(1)),value),this._queueFlush()):this.delegate.setProperty(el,name,value)}},{key:"listen",value:function(target,eventName,callback){var _this6=this;if("@"==eventName.charAt(0)){var element=resolveElementFromTarget(target),_parseTriggerCallback=parseTriggerCallbackName(eventName.substr(1)),_parseTriggerCallback2=_slicedToArray(_parseTriggerCallback,2),name=_parseTriggerCallback2[0],phase=_parseTriggerCallback2[1];return this._engine.listen(element,namespaceify(this._namespaceId,name),phase,function(event){var e=event;e.triggerName&&(e.triggerName=deNamespaceify(_this6._namespaceId,e.triggerName)),_this6._zone.run(function(){return callback(event)})})}return this.delegate.listen(target,eventName,callback)}},{key:"_queueFlush",value:function(){var _this7=this;this._flushPromise||this._zone.runOutsideAngular(function(){_this7._flushPromise=Promise.resolve(null).then(function(){_this7._flushPromise=null,_this7._engine.flush()})})}},{key:"data",get:function(){return this.delegate.data}}]),AnimationRenderer}(),ONE_SECOND=1e3,ANY_STATE="*",AnimationTimelineContext=function(){function AnimationTimelineContext(errors,timelines){var initialTimeline=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;_classCallCheck(this,AnimationTimelineContext),this.errors=errors,this.timelines=timelines,this.previousNode={},this.subContextCount=0,this.currentTimeline=initialTimeline||new TimelineBuilder(0),timelines.push(this.currentTimeline)}return _createClass(AnimationTimelineContext,[{key:"createSubContext",value:function(){var context=new AnimationTimelineContext(this.errors,this.timelines,this.currentTimeline.fork());return context.previousNode=this.previousNode,context.currentAnimateTimings=this.currentAnimateTimings,this.subContextCount++,context}},{key:"transformIntoNewTimeline",value:function(){var newTime=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return this.currentTimeline=this.currentTimeline.fork(newTime),this.timelines.push(this.currentTimeline),this.currentTimeline}},{key:"incrementTime",value:function(time){this.currentTimeline.forwardTime(this.currentTimeline.duration+time)}}]),AnimationTimelineContext}(),AnimationTimelineVisitor=function(){function AnimationTimelineVisitor(){_classCallCheck(this,AnimationTimelineVisitor)}return _createClass(AnimationTimelineVisitor,[{key:"buildKeyframes",value: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]=_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}},{key:"visitState",value:function(ast,context){}},{key:"visitTransition",value:function(ast,context){}},{key:"visitSequence",value:function(ast,context){var _this8=this,subContextCount=context.subContextCount;6==context.previousNode.type&&(context.currentTimeline.forwardFrame(),context.currentTimeline.snapshotCurrentStyles()),ast.steps.forEach(function(s){return visitAnimationNode(_this8,s,context)}),context.subContextCount>subContextCount&&context.transformIntoNewTimeline(),context.previousNode=ast}},{key:"visitGroup",value:function(ast,context){var _this9=this,innerTimelines=[],furthestTime=context.currentTimeline.currentTime;ast.steps.forEach(function(s){var innerContext=context.createSubContext();visitAnimationNode(_this9,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}},{key:"visitAnimate",value: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;5==astType?this.visitKeyframeSequence(ast.styles,context):(context.incrementTime(timings.duration),6==astType&&this.visitStyle(ast.styles,context)),context.currentAnimateTimings=null,context.previousNode=ast}},{key:"visitStyle",value: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}},{key:"visitKeyframeSequence",value:function(ast,context){var MAX_KEYFRAME_OFFSET=1,limit=ast.steps.length-1,firstKeyframe=ast.steps[0],offsetGap=0,containsOffsets=firstKeyframe.styles.find(function(styles){return styles.offset>=0});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?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){var _globalTimelineStyles=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;_classCallCheck(this,TimelineBuilder),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 _createClass(TimelineBuilder,[{key:"hasStyling",value:function(){return this._keyframes.size>1}},{key:"fork",value:function(){var currentTime=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return new TimelineBuilder(currentTime||this.currentTime,this._globalTimelineStyles)}},{key:"_loadKeyframe",value:function(){this._currentKeyframe=this._keyframes.get(this.duration),this._currentKeyframe||(this._currentKeyframe=Object.create(this._backFill,{}),this._keyframes.set(this.duration,this._currentKeyframe))}},{key:"forwardFrame",value:function(){this.duration++,this._loadKeyframe()}},{key:"forwardTime",value:function(time){this.duration=time,this._loadKeyframe()}},{key:"_updateStyle",value:function(prop,value){"easing"!=prop&&(this._localTimelineStyles[prop]=value,this._globalTimelineStyles[prop]=value,this._styleSummary[prop]={time:this.currentTime,value:value})}},{key:"setStyles",value:function(styles){var _this10=this;Object.keys(styles).forEach(function(prop){if("offset"!==prop){var val=styles[prop];_this10._currentKeyframe[prop]=val,"easing"===prop||_this10._localTimelineStyles[prop]||(_this10._backFill[prop]=_this10._globalTimelineStyles[prop]||_animations.AUTO_STYLE),_this10._updateStyle(prop,val)}}),Object.keys(this._localTimelineStyles).forEach(function(prop){_this10._currentKeyframe.hasOwnProperty(prop)||(_this10._currentKeyframe[prop]=_this10._localTimelineStyles[prop])})}},{key:"snapshotCurrentStyles",value:function(){copyStyles(this._localTimelineStyles,!1,this._currentKeyframe)}},{key:"getFinalKeyframe",value:function(){return this._keyframes.get(this.duration)}},{key:"mergeTimelineCollectedStyles",value:function(timeline){var _this11=this;Object.keys(timeline._styleSummary).forEach(function(prop){var details0=_this11._styleSummary[prop],details1=timeline._styleSummary[prop];(!details0||details1.time>details0.time)&&_this11._updateStyle(prop,details1.value)})}},{key:"buildKeyframes",value:function(){var _this12=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/_this12.duration,finalKeyframes.push(finalKeyframe)});return createTimelineInstruction(finalKeyframes,this.duration,this.startTime,this.easing)}},{key:"currentTime",get:function(){return this.startTime+this.duration}},{key:"properties",get:function(){var properties=[];for(var prop in this._currentKeyframe)properties.push(prop);return properties}}]),TimelineBuilder}(),AnimationTransitionFactory=function(){function AnimationTransitionFactory(_triggerName,ast,matchFns,_stateStyles){_classCallCheck(this,AnimationTransitionFactory),this._triggerName=_triggerName,this.matchFns=matchFns,this._stateStyles=_stateStyles,this._animationAst=ast.animation}return _createClass(AnimationTransitionFactory,[{key:"match",value: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(){_classCallCheck(this,AnimationValidatorVisitor)}return _createClass(AnimationValidatorVisitor,[{key:"validate",value:function(ast){var context=new AnimationValidatorContext;return visitAnimationNode(this,ast,context),context.errors}},{key:"visitState",value:function(ast,context){}},{key:"visitTransition",value:function(ast,context){}},{key:"visitSequence",value:function(ast,context){var _this13=this;ast.steps.forEach(function(step){return visitAnimationNode(_this13,step,context)})}},{key:"visitGroup",value:function(ast,context){var _this14=this,currentTime=context.currentTime,furthestTime=0;ast.steps.forEach(function(step){context.currentTime=currentTime,visitAnimationNode(_this14,step,context),furthestTime=Math.max(furthestTime,context.currentTime)}),context.currentTime=furthestTime}},{key:"visitAnimate",value: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}},{key:"visitStyle",value: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})})}},{key:"visitKeyframeSequence",value:function(ast,context){var _this15=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,_this15.visitStyle(step,context)})}}]),AnimationValidatorVisitor}(),AnimationValidatorContext=function AnimationValidatorContext(){_classCallCheck(this,AnimationValidatorContext),this.errors=[],this.currentTime=0,this.collectedStyles={}},AnimationTrigger=function(){function AnimationTrigger(name,states,_transitionAsts){var _this16=this;_classCallCheck(this,AnimationTrigger),this.name=name,this._transitionAsts=_transitionAsts,this.transitionFactories=[],this.states={},Object.keys(states).forEach(function(stateName){_this16.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,_toConsumableArray(sequenceErrors)):_this16.transitionFactories.push(new AnimationTransitionFactory(_this16.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 _createClass(AnimationTrigger,[{key:"createFallbackInstruction",value: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,[])}},{key:"matchTransition",value: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 AnimationTriggerContext(){_classCallCheck(this,AnimationTriggerContext),this.errors=[],this.states={},this.transitions=[]},AnimationTriggerVisitor=function(){function AnimationTriggerVisitor(){_classCallCheck(this,AnimationTriggerVisitor)}return _createClass(AnimationTriggerVisitor,[{key:"buildTrigger",value:function(name,definitions){var _this17=this,context=new AnimationTriggerContext;return definitions.forEach(function(def){return visitAnimationNode(_this17,def,context)}),new AnimationTrigger(name,context.states,context.transitions)}},{key:"visitState",value:function(ast,context){context.states[ast.name]=normalizeStyles(ast.styles.styles)}},{key:"visitTransition",value:function(ast,context){context.transitions.push(ast)}},{key:"visitSequence",value:function(ast,context){}},{key:"visitGroup",value:function(ast,context){}},{key:"visitAnimate",value:function(ast,context){}},{key:"visitStyle",value:function(ast,context){}},{key:"visitKeyframeSequence",value:function(ast,context){}}]),AnimationTriggerVisitor}(),MARKED_FOR_ANIMATION="ng-animate",MARKED_FOR_REMOVAL="$$ngRemove",DomAnimationEngine=function(){function DomAnimationEngine(_driver,_normalizer){_classCallCheck(this,DomAnimationEngine),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}return _createClass(DomAnimationEngine,[{key:"registerTrigger",value:function(trigger){var name=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;name=name||trigger.name,this._triggers[name]||(this._triggers[name]=buildTrigger(name,trigger.definitions))}},{key:"onInsert",value:function(element,domFn){this._flaggedInserts.add(element),domFn()}},{key:"onRemove",value:function(element,domFn){var _this18=this,lookupRef=this._elementTriggerStates.get(element);if(lookupRef){var possibleTriggers=Object.keys(lookupRef),hasRemoval=possibleTriggers.some(function(triggerName){var oldValue=lookupRef[triggerName],instruction=_this18._triggers[triggerName].matchTransition(oldValue,"void");return!!instruction});if(hasRemoval)return element[MARKED_FOR_REMOVAL]=!0,void this._queuedRemovals.set(element,domFn)}domFn()}},{key:"setProperty",value: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}}},{key:"listen",value:function(element,eventName,eventPhase,callback){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(){var index=elementListeners.indexOf(tuple);index>=0&&elementListeners.splice(index,1)}}},{key:"_onRemovalTransition",value:function(element){for(var _this19=this,elms=element.querySelectorAll(MARKED_FOR_ANIMATION),_loop=function(i){var elm=elms[i],activePlayers=_this19._activeElementAnimations.get(elm);activePlayers&&activePlayers.forEach(function(player){return player.destroy()});var activeTransitions=_this19._activeTransitionAnimations.get(elm);activeTransitions&&Object.keys(activeTransitions).forEach(function(triggerName){var player=activeTransitions[triggerName];player&&player.destroy()})},i=0;i<elms.length;i++)_loop(i);return copyArray(this._activeElementAnimations.get(element))}},{key:"animateTransition",value:function(element,instruction){var _this20=this,triggerName=instruction.triggerName,previousPlayers=void 0;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),_this20._buildPlayer(element,timelineInstruction,previousPlayers)});previousPlayers.forEach(function(previousPlayer){return previousPlayer.destroy()});var player=optimizeGroupPlayer(players);player.onDone(function(){player.destroy();var elmTransitionMap=_this20._activeTransitionAnimations.get(element);elmTransitionMap&&(delete elmTransitionMap[triggerName],0==Object.keys(elmTransitionMap).length&&_this20._activeTransitionAnimations.delete(element)),deleteFromArrayMap(_this20._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}},{key:"animateTimeline",value:function(element,instructions){var _this21=this,previousPlayers=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],players=instructions.map(function(instruction){var player=_this21._buildPlayer(element,instruction,previousPlayers);return player.onDestroy(function(){deleteFromArrayMap(_this21._activeElementAnimations,element,player)}),player.init(),_this21._markPlayerAsActive(element,player),player});return optimizeGroupPlayer(players)}},{key:"_buildPlayer",value:function(element,instruction,previousPlayers){return this._driver.animate(element,this._normalizeKeyframes(instruction.keyframes),instruction.duration,instruction.delay,instruction.easing,previousPlayers)}},{key:"_normalizeKeyframes",value:function(keyframes){var _this22=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=_this22._normalizer.normalizePropertyName(prop,errors),normalizedValue=_this22._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}},{key:"_markPlayerAsActive",value:function(element,player){var elementAnimations=getOrSetAsInMap(this._activeElementAnimations,element,[]);elementAnimations.push(player)}},{key:"_queuePlayer",value: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)})}},{key:"_flushQueuedAnimations",value:function(){var _this23=this,_loop2=function(){for(var _queuedTransitionAnim=_this23._queuedTransitionAnimations.shift(),player=_queuedTransitionAnim.player,element=_queuedTransitionAnim.element,triggerName=_queuedTransitionAnim.triggerName,event=_queuedTransitionAnim.event,parent=element;parent=parent.parentNode;)if(parent[MARKED_FOR_REMOVAL])return"continue|parentLoop";if(_this23._queuedRemovals.has(element))return player.destroy(),"continue";var listeners=_this23._triggerListeners.get(element);listeners&&listeners.forEach(function(tuple){tuple.triggerName==triggerName&&listenOnPlayer(player,tuple.phase,event,tuple.callback)}),_this23._markPlayerAsActive(element,player),player.hasStarted()||player.play()};parentLoop:for(;this._queuedTransitionAnimations.length;){var _ret2=_loop2();switch(_ret2){case"continue|parentLoop":continue parentLoop;case"continue":continue}}}},{key:"flush",value:function(){var _this24=this;this._flushQueuedAnimations();var flushAgain=!1;this._queuedRemovals.forEach(function(callback,element){if(!_this24._flaggedInserts.has(element)){for(var parent=element,players=[];parent=parent.parentNode;){if(parent[MARKED_FOR_REMOVAL])return void callback();var match=_this24._activeElementAnimations.get(parent);if(match){players.push.apply(players,_toConsumableArray(match));break}}if(0==players.length){var stateDetails=_this24._elementTriggerStates.get(element);stateDetails&&Object.keys(stateDetails).forEach(function(triggerName){var oldValue=stateDetails[triggerName],instruction=_this24._triggers[triggerName].matchTransition(oldValue,"void");instruction&&(players.push(_this24.animateTransition(element,instruction)),flushAgain=!0)})}players.length?optimizeGroupPlayer(players).onDone(callback):callback()}}),this._queuedRemovals.clear(),this._flaggedInserts.clear(),flushAgain&&this._flushQueuedAnimations()}},{key:"queuedPlayers",get:function(){return this._queuedTransitionAnimations.map(function(q){return q.player})}},{key:"activePlayers",get:function(){var players=[];return this._activeElementAnimations.forEach(function(activePlayers){return players.push.apply(players,_toConsumableArray(activePlayers))}),players}}]),DomAnimationEngine}(),DEFAULT_STATE_VALUE="void",DEFAULT_STATE_STYLES="*",NoopAnimationEngine=function(_AnimationEngine){function NoopAnimationEngine(){_classCallCheck(this,NoopAnimationEngine);var _this25=_possibleConstructorReturn(this,(NoopAnimationEngine.__proto__||Object.getPrototypeOf(NoopAnimationEngine)).apply(this,arguments));return _this25._listeners=new Map,_this25._changes=[],_this25._flaggedRemovals=new Set,_this25._onDoneFns=[],_this25._triggerStyles=Object.create(null),_this25}return _inherits(NoopAnimationEngine,_AnimationEngine),_createClass(NoopAnimationEngine,[{key:"registerTrigger",value:function(trigger){var name=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if(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}}},{key:"onInsert",value:function(element,domFn){domFn()}},{key:"onRemove",value:function(element,domFn){domFn(),this._flaggedRemovals.add(element)}},{key:"setProperty",value: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)})}},{key:"listen",value: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}}},{key:"flush",value: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 _this26=this,onStartCallbacks=[],onDoneCallbacks=[];this._changes.forEach(function(change){var element=change.element,listeners=_this26._listeners.get(element);listeners&&listeners.forEach(function(listener){listener.triggerName==change.triggerName&&handleListener(listener,change)})}),this._flaggedRemovals.forEach(function(element){var listeners=_this26._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=_this26._listeners.get(element).filter(function(l){return!l.doRemove});listenersToKeep.length?_this26._listeners.set(element,listenersToKeep):_this26._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=[]}},{key:"activePlayers",get:function(){return[]}},{key:"queuedPlayers",get:function(){return[]}}]),NoopAnimationEngine}(AnimationEngine),WebAnimationsPlayer=function(){function WebAnimationsPlayer(element,keyframes,options){var _this27=this,previousPlayers=arguments.length>3&&void 0!==arguments[3]?arguments[3]:[];_classCallCheck(this,WebAnimationsPlayer),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 _this27.previousStyles[prop]=styles[prop]})})}return _createClass(WebAnimationsPlayer,[{key:"_onFinish",value:function(){this._finished||(this._finished=!0,this._onDoneFns.forEach(function(fn){return fn()}),this._onDoneFns=[])}},{key:"init",value:function(){var _this28=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==_animations.AUTO_STYLE&&(value=_computeStyle(_this28.element,prop)),void 0!=value&&(formattedKeyframe[prop]=value)}),formattedKeyframe}),previousStyleProps=Object.keys(this.previousStyles);if(previousStyleProps.length){var startingKeyframe=keyframes[0],missingStyleProps=[];if(previousStyleProps.forEach(function(prop){null!=startingKeyframe[prop]&&missingStyleProps.push(prop),startingKeyframe[prop]=_this28.previousStyles[prop]}),missingStyleProps.length){var i;!function(){var self=_this28,_loop3=function(){var kf=keyframes[i];missingStyleProps.forEach(function(prop){kf[prop]=_computeStyle(self.element,prop)})};for(i=1;i<keyframes.length;i++)_loop3()}()}}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 _this28._onFinish()})}}},{key:"_triggerWebAnimation",value:function(element,keyframes,options){return element.animate(keyframes,options)}},{key:"onStart",value:function(fn){this._onStartFns.push(fn)}},{key:"onDone",value:function(fn){this._onDoneFns.push(fn)}},{key:"onDestroy",value:function(fn){this._onDestroyFns.push(fn)}},{key:"play",value:function(){this.init(),this.hasStarted()||(this._onStartFns.forEach(function(fn){return fn()}),this._onStartFns=[],this._started=!0),this._player.play()}},{key:"pause",value:function(){this.init(),this._player.pause()}},{key:"finish",value:function(){this.init(),this._onFinish(),this._player.finish()}},{key:"reset",value:function(){this._resetDomPlayerState(),this._destroyed=!1,this._finished=!1,this._started=!1}},{key:"_resetDomPlayerState",value:function(){this._player&&this._player.cancel()}},{key:"restart",value:function(){this.reset(),this.play()}},{key:"hasStarted",value:function(){return this._started}},{key:"destroy",value:function(){this._destroyed||(this._resetDomPlayerState(),this._onFinish(),this._destroyed=!0,this._onDestroyFns.forEach(function(fn){return fn()}),this._onDestroyFns=[])}},{key:"setPosition",value:function(p){this._player.currentTime=p*this.time}},{key:"getPosition",value:function(){return this._player.currentTime/this.time}},{key:"_captureStyles",value:function(){var _this29=this,styles={};return this.hasStarted()&&Object.keys(this._finalKeyframe).forEach(function(prop){"offset"!=prop&&(styles[prop]=_this29._finished?_this29._finalKeyframe[prop]:_computeStyle(_this29.element,prop))}),styles}},{key:"domPlayer",get:function(){return this._player}}]),WebAnimationsPlayer}(),WebAnimationsDriver=function(){function WebAnimationsDriver(){_classCallCheck(this,WebAnimationsDriver)}return _createClass(WebAnimationsDriver,[{key:"animate",value:function(element,keyframes,duration,delay,easing){var previousPlayers=arguments.length>5&&void 0!==arguments[5]?arguments[5]:[],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}(),InjectableAnimationEngine=function(_DomAnimationEngine){function InjectableAnimationEngine(driver,normalizer){return _classCallCheck(this,InjectableAnimationEngine),_possibleConstructorReturn(this,(InjectableAnimationEngine.__proto__||Object.getPrototypeOf(InjectableAnimationEngine)).call(this,driver,normalizer))}return _inherits(InjectableAnimationEngine,_DomAnimationEngine),InjectableAnimationEngine}(DomAnimationEngine);InjectableAnimationEngine.decorators=[{type:_core.Injectable}],InjectableAnimationEngine.ctorParameters=function(){return[{type:AnimationDriver},{type:AnimationStyleNormalizer}]};var BROWSER_ANIMATIONS_PROVIDERS=[{provide:AnimationDriver,useFactory:instantiateSupportedAnimationDriver},{provide:AnimationStyleNormalizer,useFactory:instantiateDefaultStyleNormalizer},{provide:AnimationEngine,useClass:InjectableAnimationEngine},{provide:_core.RendererFactoryV2,useFactory:instantiateRendererFactory,deps:[_platformBrowser.ɵDomRendererFactoryV2,AnimationEngine,_core.NgZone]}],BROWSER_NOOP_ANIMATIONS_PROVIDERS=[{provide:AnimationEngine,useClass:NoopAnimationEngine},{provide:_core.RendererFactoryV2,useFactory:instantiateRendererFactory,deps:[_platformBrowser.ɵDomRendererFactoryV2,AnimationEngine,_core.NgZone]}],BrowserAnimationsModule=function BrowserAnimationsModule(){_classCallCheck(this,BrowserAnimationsModule)};BrowserAnimationsModule.decorators=[{type:_core.NgModule,args:[{imports:[_platformBrowser.BrowserModule],providers:BROWSER_ANIMATIONS_PROVIDERS}]}],BrowserAnimationsModule.ctorParameters=function(){return[]};var NoopAnimationsModule=function NoopAnimationsModule(){_classCallCheck(this,NoopAnimationsModule)};NoopAnimationsModule.decorators=[{type:_core.NgModule,args:[{imports:[_platformBrowser.BrowserModule],providers:BROWSER_NOOP_ANIMATIONS_PROVIDERS}]}],NoopAnimationsModule.ctorParameters=function(){return[]};var Animation=function(){function Animation(input){_classCallCheck(this,Animation);var ast=Array.isArray(input)?(0,_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 _createClass(Animation,[{key:"buildTimelines",value:function(startingStyles,destinationStyles){var start=Array.isArray(startingStyles)?normalizeStyles(startingStyles):startingStyles,dest=Array.isArray(destinationStyles)?normalizeStyles(destinationStyles):destinationStyles;return buildAnimationKeyframes(this._animationAst,start,dest)}},{key:"create",value:function(injector,element){var startingStyles=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},destinationStyles=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},instructions=this.buildTimelines(startingStyles,destinationStyles),driver=injector.get(AnimationDriver),normalizer=injector.get(AnimationStyleNormalizer),engine=new DomAnimationEngine(driver,normalizer);return engine.animateTimeline(element,instructions)}}]),Animation}();exports.BrowserAnimationsModule=BrowserAnimationsModule,exports.NoopAnimationsModule=NoopAnimationsModule,exports.AnimationDriver=AnimationDriver,exports.ɵAnimationEngine=AnimationEngine,exports.ɵAnimation=Animation,exports.ɵAnimationStyleNormalizer=AnimationStyleNormalizer,exports.ɵNoopAnimationStyleNormalizer=NoopAnimationStyleNormalizer,exports.ɵNoopAnimationDriver=NoopAnimationDriver,exports.ɵAnimationRenderer=AnimationRenderer,exports.ɵAnimationRendererFactory=AnimationRendererFactory,exports.ɵDomAnimationEngine=DomAnimationEngine,exports.ɵg=WebAnimationsStyleNormalizer,exports.ɵe=BROWSER_ANIMATIONS_PROVIDERS,exports.ɵf=BROWSER_NOOP_ANIMATIONS_PROVIDERS,exports.ɵa=InjectableAnimationEngine,exports.ɵc=instantiateDefaultStyleNormalizer,exports.ɵd=instantiateRendererFactory,exports.ɵb=instantiateSupportedAnimationDriver,exports.ɵh=NoopAnimationEngine});
!function(global,factory){if("function"==typeof define&&define.amd)define("@angular/platform-browser/animations",["exports","@angular/core","@angular/platform-browser","@angular/animations"],factory);else if("undefined"!=typeof exports)factory(exports,require("@angular/core"),require("@angular/platform-browser"),require("@angular/animations"));else{var mod={exports:{}};factory(mod.exports,global.ng.core,global.ng.platformBrowser,global.ng.animations),global.ng=global.ng||{},global.ng.platformBrowser=global.ng.platformBrowser||{},global.ng.platformBrowser.animations=mod.exports}}(this,function(exports,_core,_platformBrowser,_animations){"use strict";function _toConsumableArray(arr){if(Array.isArray(arr)){for(var i=0,arr2=Array(arr.length);i<arr.length;i++)arr2[i]=arr[i];return arr2}return Array.from(arr)}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}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 _len=arguments.length,m=Array(_len),_key=0;_key<_len;_key++)m[_key]=arguments[_key];return m[1].toUpperCase()})}function resolveElementFromTarget(target){switch(target){case"body":return document.body;case"document":return document;case"window":return window;default:return target}}function parseTriggerCallbackName(triggerName){var dotIndex=triggerName.indexOf("."),trigger=triggerName.substring(0,dotIndex),phase=triggerName.substr(dotIndex+1);return[trigger,phase]}function namespaceify(namespaceId,value){return namespaceId+"#"+value}function deNamespaceify(namespaceId,value){return value.replace(namespaceId+"#","")}function parseTimeExpression(exp,errors){var regex=/^([\.\d]+)(m?s)(?:\s+([\.\d]+)(m?s))?(?:\s+([-a-z]+(?:\(.+?\))?))?$/i,duration=void 0,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){var destination=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(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]=""})}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}}function createTimelineInstruction(keyframes,duration,delay,easing){return{type:1,keyframes:keyframes,duration:duration,delay:delay,totalTime:duration+delay,easing:easing}}function buildAnimationKeyframes(ast){var startingStyles=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},finalStyles=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},normalizedAst=Array.isArray(ast)?(0,_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}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)?(0,_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 _animations.NoopAnimationPlayer;case 1:return players[0];default:return new _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 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}function instantiateSupportedAnimationDriver(){return supportsWebAnimations()?new WebAnimationsDriver:new NoopAnimationDriver}function instantiateDefaultStyleNormalizer(){return new WebAnimationsStyleNormalizer}function instantiateRendererFactory(renderer,engine,zone){return new AnimationRendererFactory(renderer,engine,zone)}Object.defineProperty(exports,"__esModule",{value:!0}),exports.ɵh=exports.ɵb=exports.ɵd=exports.ɵc=exports.ɵa=exports.ɵf=exports.ɵe=exports.ɵg=exports.ɵDomAnimationEngine=exports.ɵAnimationRendererFactory=exports.ɵAnimationRenderer=exports.ɵNoopAnimationDriver=exports.ɵNoopAnimationStyleNormalizer=exports.ɵAnimationStyleNormalizer=exports.ɵAnimation=exports.ɵAnimationEngine=exports.AnimationDriver=exports.NoopAnimationsModule=exports.BrowserAnimationsModule=void 0;var _slicedToArray=function(){function sliceIterator(arr,i){var _arr=[],_n=!0,_d=!1,_e=void 0;try{for(var _s,_i=arr[Symbol.iterator]();!(_n=(_s=_i.next()).done)&&(_arr.push(_s.value),!i||_arr.length!==i);_n=!0);}catch(err){_d=!0,_e=err}finally{try{!_n&&_i.return&&_i.return()}finally{if(_d)throw _e}}return _arr}return function(arr,i){if(Array.isArray(arr))return arr;if(Symbol.iterator in Object(arr))return sliceIterator(arr,i);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),_createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),AnimationEngine=function(){function AnimationEngine(){_classCallCheck(this,AnimationEngine)}return _createClass(AnimationEngine,[{key:"registerTrigger",value:function(trigger,name){}},{key:"onInsert",value:function(element,domFn){}},{key:"onRemove",value:function(element,domFn){}},{key:"setProperty",value:function(element,property,value){}},{key:"listen",value:function(element,eventName,eventPhase,callback){}},{key:"flush",value:function(){}},{key:"activePlayers",get:function(){throw new Error("...")}},{key:"queuedPlayers",get:function(){throw new Error("...")}}]),AnimationEngine}(),AnimationStyleNormalizer=function(){function AnimationStyleNormalizer(){_classCallCheck(this,AnimationStyleNormalizer)}return _createClass(AnimationStyleNormalizer,[{key:"normalizePropertyName",value:function(propertyName,errors){}},{key:"normalizeStyleValue",value:function(userProvidedProperty,normalizedProperty,value,errors){}}]),AnimationStyleNormalizer}(),NoopAnimationStyleNormalizer=function(){function NoopAnimationStyleNormalizer(){_classCallCheck(this,NoopAnimationStyleNormalizer)}return _createClass(NoopAnimationStyleNormalizer,[{key:"normalizePropertyName",value:function(propertyName,errors){return propertyName}},{key:"normalizeStyleValue",value:function(userProvidedProperty,normalizedProperty,value,errors){return value}}]),NoopAnimationStyleNormalizer}(),WebAnimationsStyleNormalizer=function(_AnimationStyleNormal){function WebAnimationsStyleNormalizer(){return _classCallCheck(this,WebAnimationsStyleNormalizer),_possibleConstructorReturn(this,(WebAnimationsStyleNormalizer.__proto__||Object.getPrototypeOf(WebAnimationsStyleNormalizer)).apply(this,arguments))}return _inherits(WebAnimationsStyleNormalizer,_AnimationStyleNormal),_createClass(WebAnimationsStyleNormalizer,[{key:"normalizePropertyName",value:function(propertyName,errors){return dashCaseToCamelCase(propertyName)}},{key:"normalizeStyleValue",value: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,NoopAnimationDriver=function(){function NoopAnimationDriver(){_classCallCheck(this,NoopAnimationDriver)}return _createClass(NoopAnimationDriver,[{key:"animate",value:function(element,keyframes,duration,delay,easing){arguments.length>5&&void 0!==arguments[5]?arguments[5]:[];return new _animations.NoopAnimationPlayer}}]),NoopAnimationDriver}(),AnimationDriver=function AnimationDriver(){_classCallCheck(this,AnimationDriver)};AnimationDriver.NOOP=new NoopAnimationDriver;var AnimationRendererFactory=function(){function AnimationRendererFactory(delegate,_engine,_zone){_classCallCheck(this,AnimationRendererFactory),this.delegate=delegate,this._engine=_engine,this._zone=_zone}return _createClass(AnimationRendererFactory,[{key:"createRenderer",value:function(hostElement,type){var _this2=this,delegate=this.delegate.createRenderer(hostElement,type);if(!(hostElement&&type&&type.data&&type.data.animation))return delegate;var namespaceId=type.id,animationTriggers=type.data.animation;return animationTriggers.forEach(function(trigger){return _this2._engine.registerTrigger(trigger,namespaceify(namespaceId,trigger.name))}),new AnimationRenderer(delegate,this._engine,this._zone,namespaceId)}}]),AnimationRendererFactory}();AnimationRendererFactory.decorators=[{type:_core.Injectable}],AnimationRendererFactory.ctorParameters=function(){return[{type:_core.RendererFactoryV2},{type:AnimationEngine},{type:_core.NgZone}]};var AnimationRenderer=function(){function AnimationRenderer(delegate,_engine,_zone,_namespaceId){_classCallCheck(this,AnimationRenderer),this.delegate=delegate,this._engine=_engine,this._zone=_zone,this._namespaceId=_namespaceId,this.destroyNode=null,this._flushPromise=null,this.destroyNode=this.delegate.destroyNode?function(n){return delegate.destroyNode(n)}:null}return _createClass(AnimationRenderer,[{key:"destroy",value:function(){this.delegate.destroy()}},{key:"createElement",value:function(name,namespace){return this.delegate.createElement(name,namespace)}},{key:"createComment",value:function(value){return this.delegate.createComment(value)}},{key:"createText",value:function(value){return this.delegate.createText(value)}},{key:"selectRootElement",value:function(selectorOrNode){return this.delegate.selectRootElement(selectorOrNode)}},{key:"parentNode",value:function(node){return this.delegate.parentNode(node)}},{key:"nextSibling",value:function(node){return this.delegate.nextSibling(node)}},{key:"setAttribute",value:function(el,name,value,namespace){this.delegate.setAttribute(el,name,value,namespace)}},{key:"removeAttribute",value:function(el,name,namespace){this.delegate.removeAttribute(el,name,namespace)}},{key:"addClass",value:function(el,name){this.delegate.addClass(el,name)}},{key:"removeClass",value:function(el,name){this.delegate.removeClass(el,name)}},{key:"setStyle",value:function(el,style,value,hasVendorPrefix,hasImportant){this.delegate.setStyle(el,style,value,hasVendorPrefix,hasImportant)}},{key:"removeStyle",value:function(el,style,hasVendorPrefix){this.delegate.removeStyle(el,style,hasVendorPrefix)}},{key:"setValue",value:function(node,value){this.delegate.setValue(node,value)}},{key:"appendChild",value:function(parent,newChild){var _this3=this;this._engine.onInsert(newChild,function(){return _this3.delegate.appendChild(parent,newChild)}),this._queueFlush()}},{key:"insertBefore",value:function(parent,newChild,refChild){var _this4=this;this._engine.onInsert(newChild,function(){return _this4.delegate.insertBefore(parent,newChild,refChild)}),this._queueFlush()}},{key:"removeChild",value:function(parent,oldChild){var _this5=this;this._engine.onRemove(oldChild,function(){return _this5.delegate.removeChild(parent,oldChild)}),this._queueFlush()}},{key:"setProperty",value:function(el,name,value){"@"==name.charAt(0)?(this._engine.setProperty(el,namespaceify(this._namespaceId,name.substr(1)),value),this._queueFlush()):this.delegate.setProperty(el,name,value)}},{key:"listen",value:function(target,eventName,callback){var _this6=this;if("@"==eventName.charAt(0)){var element=resolveElementFromTarget(target),_parseTriggerCallback=parseTriggerCallbackName(eventName.substr(1)),_parseTriggerCallback2=_slicedToArray(_parseTriggerCallback,2),name=_parseTriggerCallback2[0],phase=_parseTriggerCallback2[1];return this._engine.listen(element,namespaceify(this._namespaceId,name),phase,function(event){var e=event;e.triggerName&&(e.triggerName=deNamespaceify(_this6._namespaceId,e.triggerName)),_this6._zone.run(function(){return callback(event)})})}return this.delegate.listen(target,eventName,callback)}},{key:"_queueFlush",value:function(){var _this7=this;this._flushPromise||this._zone.runOutsideAngular(function(){_this7._flushPromise=Promise.resolve(null).then(function(){_this7._flushPromise=null,_this7._engine.flush()})})}},{key:"data",get:function(){return this.delegate.data}}]),AnimationRenderer}(),ONE_SECOND=1e3,ANY_STATE="*",AnimationTimelineContext=function(){function AnimationTimelineContext(errors,timelines){var initialTimeline=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;_classCallCheck(this,AnimationTimelineContext),this.errors=errors,this.timelines=timelines,this.previousNode={},this.subContextCount=0,this.currentTimeline=initialTimeline||new TimelineBuilder(0),timelines.push(this.currentTimeline)}return _createClass(AnimationTimelineContext,[{key:"createSubContext",value:function(){var context=new AnimationTimelineContext(this.errors,this.timelines,this.currentTimeline.fork());return context.previousNode=this.previousNode,context.currentAnimateTimings=this.currentAnimateTimings,this.subContextCount++,context}},{key:"transformIntoNewTimeline",value:function(){var newTime=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return this.currentTimeline=this.currentTimeline.fork(newTime),this.timelines.push(this.currentTimeline),this.currentTimeline}},{key:"incrementTime",value:function(time){this.currentTimeline.forwardTime(this.currentTimeline.duration+time)}}]),AnimationTimelineContext}(),AnimationTimelineVisitor=function(){function AnimationTimelineVisitor(){_classCallCheck(this,AnimationTimelineVisitor)}return _createClass(AnimationTimelineVisitor,[{key:"buildKeyframes",value: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]=_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}},{key:"visitState",value:function(ast,context){}},{key:"visitTransition",value:function(ast,context){}},{key:"visitSequence",value:function(ast,context){var _this8=this,subContextCount=context.subContextCount;6==context.previousNode.type&&(context.currentTimeline.forwardFrame(),context.currentTimeline.snapshotCurrentStyles()),ast.steps.forEach(function(s){return visitAnimationNode(_this8,s,context)}),context.subContextCount>subContextCount&&context.transformIntoNewTimeline(),context.previousNode=ast}},{key:"visitGroup",value:function(ast,context){var _this9=this,innerTimelines=[],furthestTime=context.currentTimeline.currentTime;ast.steps.forEach(function(s){var innerContext=context.createSubContext();visitAnimationNode(_this9,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}},{key:"visitAnimate",value: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;5==astType?this.visitKeyframeSequence(ast.styles,context):(context.incrementTime(timings.duration),6==astType&&this.visitStyle(ast.styles,context)),context.currentAnimateTimings=null,context.previousNode=ast}},{key:"visitStyle",value: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}},{key:"visitKeyframeSequence",value: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){var _globalTimelineStyles=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;_classCallCheck(this,TimelineBuilder),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 _createClass(TimelineBuilder,[{key:"hasStyling",value:function(){return this._keyframes.size>1}},{key:"fork",value:function(){var currentTime=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return new TimelineBuilder(currentTime||this.currentTime,this._globalTimelineStyles)}},{key:"_loadKeyframe",value:function(){this._currentKeyframe=this._keyframes.get(this.duration),this._currentKeyframe||(this._currentKeyframe=Object.create(this._backFill,{}),this._keyframes.set(this.duration,this._currentKeyframe))}},{key:"forwardFrame",value:function(){this.duration++,this._loadKeyframe()}},{key:"forwardTime",value:function(time){this.duration=time,this._loadKeyframe()}},{key:"_updateStyle",value:function(prop,value){"easing"!=prop&&(this._localTimelineStyles[prop]=value,this._globalTimelineStyles[prop]=value,this._styleSummary[prop]={time:this.currentTime,value:value})}},{key:"setStyles",value:function(styles){var _this10=this;Object.keys(styles).forEach(function(prop){if("offset"!==prop){var val=styles[prop];_this10._currentKeyframe[prop]=val,"easing"===prop||_this10._localTimelineStyles[prop]||(_this10._backFill[prop]=_this10._globalTimelineStyles[prop]||_animations.AUTO_STYLE),_this10._updateStyle(prop,val)}}),Object.keys(this._localTimelineStyles).forEach(function(prop){_this10._currentKeyframe.hasOwnProperty(prop)||(_this10._currentKeyframe[prop]=_this10._localTimelineStyles[prop])})}},{key:"snapshotCurrentStyles",value:function(){copyStyles(this._localTimelineStyles,!1,this._currentKeyframe)}},{key:"getFinalKeyframe",value:function(){return this._keyframes.get(this.duration)}},{key:"mergeTimelineCollectedStyles",value:function(timeline){var _this11=this;Object.keys(timeline._styleSummary).forEach(function(prop){var details0=_this11._styleSummary[prop],details1=timeline._styleSummary[prop];(!details0||details1.time>details0.time)&&_this11._updateStyle(prop,details1.value)})}},{key:"buildKeyframes",value:function(){var _this12=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/_this12.duration,finalKeyframes.push(finalKeyframe)});return createTimelineInstruction(finalKeyframes,this.duration,this.startTime,this.easing)}},{key:"currentTime",get:function(){return this.startTime+this.duration}},{key:"properties",get:function(){var properties=[];for(var prop in this._currentKeyframe)properties.push(prop);return properties}}]),TimelineBuilder}(),AnimationTransitionFactory=function(){function AnimationTransitionFactory(_triggerName,ast,matchFns,_stateStyles){_classCallCheck(this,AnimationTransitionFactory),this._triggerName=_triggerName,this.matchFns=matchFns,this._stateStyles=_stateStyles;var normalizedAst=Array.isArray(ast.animation)?(0,_animations.sequence)(ast.animation):ast.animation;this._animationAst=normalizedAst}return _createClass(AnimationTransitionFactory,[{key:"match",value: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(){_classCallCheck(this,AnimationValidatorVisitor)}return _createClass(AnimationValidatorVisitor,[{key:"validate",value:function(ast){var context=new AnimationValidatorContext;return visitAnimationNode(this,ast,context),context.errors}},{key:"visitState",value:function(ast,context){}},{key:"visitTransition",value:function(ast,context){}},{key:"visitSequence",value:function(ast,context){var _this13=this;ast.steps.forEach(function(step){return visitAnimationNode(_this13,step,context)})}},{key:"visitGroup",value:function(ast,context){var _this14=this,currentTime=context.currentTime,furthestTime=0;ast.steps.forEach(function(step){context.currentTime=currentTime,visitAnimationNode(_this14,step,context),furthestTime=Math.max(furthestTime,context.currentTime)}),context.currentTime=furthestTime}},{key:"visitAnimate",value: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}},{key:"visitStyle",value: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})})}},{key:"visitKeyframeSequence",value:function(ast,context){var _this15=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,_this15.visitStyle(step,context)})}}]),AnimationValidatorVisitor}(),AnimationValidatorContext=function AnimationValidatorContext(){_classCallCheck(this,AnimationValidatorContext),this.errors=[],this.currentTime=0,this.collectedStyles={}},AnimationTrigger=function(){function AnimationTrigger(name,states,_transitionAsts){
var _this16=this;_classCallCheck(this,AnimationTrigger),this.name=name,this._transitionAsts=_transitionAsts,this.transitionFactories=[],this.states={},Object.keys(states).forEach(function(stateName){_this16.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,_toConsumableArray(sequenceErrors)):_this16.transitionFactories.push(new AnimationTransitionFactory(_this16.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 _createClass(AnimationTrigger,[{key:"createFallbackInstruction",value: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,[])}},{key:"matchTransition",value: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 AnimationTriggerContext(){_classCallCheck(this,AnimationTriggerContext),this.errors=[],this.states={},this.transitions=[]},AnimationTriggerVisitor=function(){function AnimationTriggerVisitor(){_classCallCheck(this,AnimationTriggerVisitor)}return _createClass(AnimationTriggerVisitor,[{key:"buildTrigger",value:function(name,definitions){var _this17=this,context=new AnimationTriggerContext;return definitions.forEach(function(def){return visitAnimationNode(_this17,def,context)}),new AnimationTrigger(name,context.states,context.transitions)}},{key:"visitState",value:function(ast,context){context.states[ast.name]=normalizeStyles(ast.styles.styles)}},{key:"visitTransition",value:function(ast,context){context.transitions.push(ast)}},{key:"visitSequence",value:function(ast,context){}},{key:"visitGroup",value:function(ast,context){}},{key:"visitAnimate",value:function(ast,context){}},{key:"visitStyle",value:function(ast,context){}},{key:"visitKeyframeSequence",value:function(ast,context){}}]),AnimationTriggerVisitor}(),MARKED_FOR_ANIMATION="ng-animate",MARKED_FOR_REMOVAL="$$ngRemove",DomAnimationEngine=function(){function DomAnimationEngine(_driver,_normalizer){_classCallCheck(this,DomAnimationEngine),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}return _createClass(DomAnimationEngine,[{key:"registerTrigger",value:function(trigger){var name=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;name=name||trigger.name,this._triggers[name]||(this._triggers[name]=buildTrigger(name,trigger.definitions))}},{key:"onInsert",value:function(element,domFn){this._flaggedInserts.add(element),domFn()}},{key:"onRemove",value:function(element,domFn){var _this18=this,lookupRef=this._elementTriggerStates.get(element);if(lookupRef){var possibleTriggers=Object.keys(lookupRef),hasRemoval=possibleTriggers.some(function(triggerName){var oldValue=lookupRef[triggerName],instruction=_this18._triggers[triggerName].matchTransition(oldValue,"void");return!!instruction});if(hasRemoval)return element[MARKED_FOR_REMOVAL]=!0,void this._queuedRemovals.set(element,domFn)}domFn()}},{key:"setProperty",value: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}}},{key:"listen",value:function(element,eventName,eventPhase,callback){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(){var index=elementListeners.indexOf(tuple);index>=0&&elementListeners.splice(index,1)}}},{key:"_onRemovalTransition",value:function(element){for(var _this19=this,elms=element.querySelectorAll(MARKED_FOR_ANIMATION),_loop=function(i){var elm=elms[i],activePlayers=_this19._activeElementAnimations.get(elm);activePlayers&&activePlayers.forEach(function(player){return player.destroy()});var activeTransitions=_this19._activeTransitionAnimations.get(elm);activeTransitions&&Object.keys(activeTransitions).forEach(function(triggerName){var player=activeTransitions[triggerName];player&&player.destroy()})},i=0;i<elms.length;i++)_loop(i);return copyArray(this._activeElementAnimations.get(element))}},{key:"animateTransition",value:function(element,instruction){var _this20=this,triggerName=instruction.triggerName,previousPlayers=void 0;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),_this20._buildPlayer(element,timelineInstruction,previousPlayers)});previousPlayers.forEach(function(previousPlayer){return previousPlayer.destroy()});var player=optimizeGroupPlayer(players);player.onDone(function(){player.destroy();var elmTransitionMap=_this20._activeTransitionAnimations.get(element);elmTransitionMap&&(delete elmTransitionMap[triggerName],0==Object.keys(elmTransitionMap).length&&_this20._activeTransitionAnimations.delete(element)),deleteFromArrayMap(_this20._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}},{key:"animateTimeline",value:function(element,instructions){var _this21=this,previousPlayers=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],players=instructions.map(function(instruction){var player=_this21._buildPlayer(element,instruction,previousPlayers);return player.onDestroy(function(){deleteFromArrayMap(_this21._activeElementAnimations,element,player)}),player.init(),_this21._markPlayerAsActive(element,player),player});return optimizeGroupPlayer(players)}},{key:"_buildPlayer",value:function(element,instruction,previousPlayers){return this._driver.animate(element,this._normalizeKeyframes(instruction.keyframes),instruction.duration,instruction.delay,instruction.easing,previousPlayers)}},{key:"_normalizeKeyframes",value:function(keyframes){var _this22=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=_this22._normalizer.normalizePropertyName(prop,errors),normalizedValue=_this22._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}},{key:"_markPlayerAsActive",value:function(element,player){var elementAnimations=getOrSetAsInMap(this._activeElementAnimations,element,[]);elementAnimations.push(player)}},{key:"_queuePlayer",value: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)})}},{key:"_flushQueuedAnimations",value:function(){var _this23=this,_loop2=function(){for(var _queuedTransitionAnim=_this23._queuedTransitionAnimations.shift(),player=_queuedTransitionAnim.player,element=_queuedTransitionAnim.element,triggerName=_queuedTransitionAnim.triggerName,event=_queuedTransitionAnim.event,parent=element;parent=parent.parentNode;)if(parent[MARKED_FOR_REMOVAL])return"continue|parentLoop";if(_this23._queuedRemovals.has(element))return player.destroy(),"continue";var listeners=_this23._triggerListeners.get(element);listeners&&listeners.forEach(function(tuple){tuple.triggerName==triggerName&&listenOnPlayer(player,tuple.phase,event,tuple.callback)}),_this23._markPlayerAsActive(element,player),player.hasStarted()||player.play()};parentLoop:for(;this._queuedTransitionAnimations.length;){var _ret2=_loop2();switch(_ret2){case"continue|parentLoop":continue parentLoop;case"continue":continue}}}},{key:"flush",value:function(){var _this24=this;this._flushQueuedAnimations();var flushAgain=!1;this._queuedRemovals.forEach(function(callback,element){if(!_this24._flaggedInserts.has(element)){for(var parent=element,players=[];parent=parent.parentNode;){if(parent[MARKED_FOR_REMOVAL])return void callback();var match=_this24._activeElementAnimations.get(parent);if(match){players.push.apply(players,_toConsumableArray(match));break}}if(0==players.length){var stateDetails=_this24._elementTriggerStates.get(element);stateDetails&&Object.keys(stateDetails).forEach(function(triggerName){var oldValue=stateDetails[triggerName],instruction=_this24._triggers[triggerName].matchTransition(oldValue,"void");instruction&&(players.push(_this24.animateTransition(element,instruction)),flushAgain=!0)})}players.length?optimizeGroupPlayer(players).onDone(callback):callback()}}),this._queuedRemovals.clear(),this._flaggedInserts.clear(),flushAgain&&this._flushQueuedAnimations()}},{key:"queuedPlayers",get:function(){return this._queuedTransitionAnimations.map(function(q){return q.player})}},{key:"activePlayers",get:function(){var players=[];return this._activeElementAnimations.forEach(function(activePlayers){return players.push.apply(players,_toConsumableArray(activePlayers))}),players}}]),DomAnimationEngine}(),DEFAULT_STATE_VALUE="void",DEFAULT_STATE_STYLES="*",NoopAnimationEngine=function(_AnimationEngine){function NoopAnimationEngine(){_classCallCheck(this,NoopAnimationEngine);var _this25=_possibleConstructorReturn(this,(NoopAnimationEngine.__proto__||Object.getPrototypeOf(NoopAnimationEngine)).apply(this,arguments));return _this25._listeners=new Map,_this25._changes=[],_this25._flaggedRemovals=new Set,_this25._onDoneFns=[],_this25._triggerStyles=Object.create(null),_this25}return _inherits(NoopAnimationEngine,_AnimationEngine),_createClass(NoopAnimationEngine,[{key:"registerTrigger",value:function(trigger){var name=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if(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}}},{key:"onInsert",value:function(element,domFn){domFn()}},{key:"onRemove",value:function(element,domFn){domFn(),this._flaggedRemovals.add(element)}},{key:"setProperty",value: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)})}},{key:"listen",value: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}}},{key:"flush",value: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 _this26=this,onStartCallbacks=[],onDoneCallbacks=[];this._changes.forEach(function(change){var element=change.element,listeners=_this26._listeners.get(element);listeners&&listeners.forEach(function(listener){listener.triggerName==change.triggerName&&handleListener(listener,change)})}),this._flaggedRemovals.forEach(function(element){var listeners=_this26._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=_this26._listeners.get(element).filter(function(l){return!l.doRemove});listenersToKeep.length?_this26._listeners.set(element,listenersToKeep):_this26._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=[]}},{key:"activePlayers",get:function(){return[]}},{key:"queuedPlayers",get:function(){return[]}}]),NoopAnimationEngine}(AnimationEngine),WebAnimationsPlayer=function(){function WebAnimationsPlayer(element,keyframes,options){var _this27=this,previousPlayers=arguments.length>3&&void 0!==arguments[3]?arguments[3]:[];_classCallCheck(this,WebAnimationsPlayer),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 _this27.previousStyles[prop]=styles[prop]})})}return _createClass(WebAnimationsPlayer,[{key:"_onFinish",value:function(){this._finished||(this._finished=!0,this._onDoneFns.forEach(function(fn){return fn()}),this._onDoneFns=[])}},{key:"init",value:function(){var _this28=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==_animations.AUTO_STYLE&&(value=_computeStyle(_this28.element,prop)),void 0!=value&&(formattedKeyframe[prop]=value)}),formattedKeyframe}),previousStyleProps=Object.keys(this.previousStyles);if(previousStyleProps.length){var startingKeyframe=keyframes[0],missingStyleProps=[];if(previousStyleProps.forEach(function(prop){null!=startingKeyframe[prop]&&missingStyleProps.push(prop),startingKeyframe[prop]=_this28.previousStyles[prop]}),missingStyleProps.length){var i;!function(){var self=_this28,_loop3=function(){var kf=keyframes[i];missingStyleProps.forEach(function(prop){kf[prop]=_computeStyle(self.element,prop)})};for(i=1;i<keyframes.length;i++)_loop3()}()}}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 _this28._onFinish()})}}},{key:"_triggerWebAnimation",value:function(element,keyframes,options){return element.animate(keyframes,options)}},{key:"onStart",value:function(fn){this._onStartFns.push(fn)}},{key:"onDone",value:function(fn){this._onDoneFns.push(fn)}},{key:"onDestroy",value:function(fn){this._onDestroyFns.push(fn)}},{key:"play",value:function(){this.init(),this.hasStarted()||(this._onStartFns.forEach(function(fn){return fn()}),this._onStartFns=[],this._started=!0),this._player.play()}},{key:"pause",value:function(){this.init(),this._player.pause()}},{key:"finish",value:function(){this.init(),this._onFinish(),this._player.finish()}},{key:"reset",value:function(){this._resetDomPlayerState(),this._destroyed=!1,this._finished=!1,this._started=!1}},{key:"_resetDomPlayerState",value:function(){this._player&&this._player.cancel()}},{key:"restart",value:function(){this.reset(),this.play()}},{key:"hasStarted",value:function(){return this._started}},{key:"destroy",value:function(){this._destroyed||(this._resetDomPlayerState(),this._onFinish(),this._destroyed=!0,this._onDestroyFns.forEach(function(fn){return fn()}),this._onDestroyFns=[])}},{key:"setPosition",value:function(p){this._player.currentTime=p*this.time}},{key:"getPosition",value:function(){return this._player.currentTime/this.time}},{key:"_captureStyles",value:function(){var _this29=this,styles={};return this.hasStarted()&&Object.keys(this._finalKeyframe).forEach(function(prop){"offset"!=prop&&(styles[prop]=_this29._finished?_this29._finalKeyframe[prop]:_computeStyle(_this29.element,prop))}),styles}},{key:"domPlayer",get:function(){return this._player}}]),WebAnimationsPlayer}(),WebAnimationsDriver=function(){function WebAnimationsDriver(){_classCallCheck(this,WebAnimationsDriver)}return _createClass(WebAnimationsDriver,[{key:"animate",value:function(element,keyframes,duration,delay,easing){var previousPlayers=arguments.length>5&&void 0!==arguments[5]?arguments[5]:[],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}(),InjectableAnimationEngine=function(_DomAnimationEngine){function InjectableAnimationEngine(driver,normalizer){return _classCallCheck(this,InjectableAnimationEngine),_possibleConstructorReturn(this,(InjectableAnimationEngine.__proto__||Object.getPrototypeOf(InjectableAnimationEngine)).call(this,driver,normalizer))}return _inherits(InjectableAnimationEngine,_DomAnimationEngine),InjectableAnimationEngine}(DomAnimationEngine);InjectableAnimationEngine.decorators=[{type:_core.Injectable}],InjectableAnimationEngine.ctorParameters=function(){return[{type:AnimationDriver},{type:AnimationStyleNormalizer}]};var BROWSER_ANIMATIONS_PROVIDERS=[{provide:AnimationDriver,useFactory:instantiateSupportedAnimationDriver},{provide:AnimationStyleNormalizer,useFactory:instantiateDefaultStyleNormalizer},{provide:AnimationEngine,useClass:InjectableAnimationEngine},{provide:_core.RendererFactoryV2,useFactory:instantiateRendererFactory,deps:[_platformBrowser.ɵDomRendererFactoryV2,AnimationEngine,_core.NgZone]}],BROWSER_NOOP_ANIMATIONS_PROVIDERS=[{provide:AnimationEngine,useClass:NoopAnimationEngine},{provide:_core.RendererFactoryV2,useFactory:instantiateRendererFactory,deps:[_platformBrowser.ɵDomRendererFactoryV2,AnimationEngine,_core.NgZone]}],BrowserAnimationsModule=function BrowserAnimationsModule(){_classCallCheck(this,BrowserAnimationsModule)};BrowserAnimationsModule.decorators=[{type:_core.NgModule,args:[{imports:[_platformBrowser.BrowserModule],providers:BROWSER_ANIMATIONS_PROVIDERS}]}],BrowserAnimationsModule.ctorParameters=function(){return[]};var NoopAnimationsModule=function NoopAnimationsModule(){_classCallCheck(this,NoopAnimationsModule)};NoopAnimationsModule.decorators=[{type:_core.NgModule,args:[{imports:[_platformBrowser.BrowserModule],providers:BROWSER_NOOP_ANIMATIONS_PROVIDERS}]}],NoopAnimationsModule.ctorParameters=function(){return[]};var Animation=function(){function Animation(input){_classCallCheck(this,Animation);var ast=Array.isArray(input)?(0,_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 _createClass(Animation,[{key:"buildTimelines",value:function(startingStyles,destinationStyles){var start=Array.isArray(startingStyles)?normalizeStyles(startingStyles):startingStyles,dest=Array.isArray(destinationStyles)?normalizeStyles(destinationStyles):destinationStyles;return buildAnimationKeyframes(this._animationAst,start,dest)}},{key:"create",value:function(injector,element){var startingStyles=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},destinationStyles=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},instructions=this.buildTimelines(startingStyles,destinationStyles),driver=injector.get(AnimationDriver),normalizer=injector.get(AnimationStyleNormalizer),engine=new DomAnimationEngine(driver,normalizer);return engine.animateTimeline(element,instructions)}}]),Animation}();exports.BrowserAnimationsModule=BrowserAnimationsModule,exports.NoopAnimationsModule=NoopAnimationsModule,exports.AnimationDriver=AnimationDriver,exports.ɵAnimationEngine=AnimationEngine,exports.ɵAnimation=Animation,exports.ɵAnimationStyleNormalizer=AnimationStyleNormalizer,exports.ɵNoopAnimationStyleNormalizer=NoopAnimationStyleNormalizer,exports.ɵNoopAnimationDriver=NoopAnimationDriver,exports.ɵAnimationRenderer=AnimationRenderer,exports.ɵAnimationRendererFactory=AnimationRendererFactory,exports.ɵDomAnimationEngine=DomAnimationEngine,exports.ɵg=WebAnimationsStyleNormalizer,exports.ɵe=BROWSER_ANIMATIONS_PROVIDERS,exports.ɵf=BROWSER_NOOP_ANIMATIONS_PROVIDERS,exports.ɵa=InjectableAnimationEngine,exports.ɵc=instantiateDefaultStyleNormalizer,exports.ɵd=instantiateRendererFactory,exports.ɵb=instantiateSupportedAnimationDriver,exports.ɵh=NoopAnimationEngine});
/**
* @license Angular v4.0.0-rc.1
* @license Angular v4.0.0-rc.2
* (c) 2010-2017 Google, Inc. https://angular.io/

@@ -187,3 +187,3 @@ * License: MIT

exports: [_platformBrowser.BrowserModule],
providers: [{ provide: _core.APP_ID, useValue: 'a' }, _platformBrowser.ɵELEMENT_PROBE_PROVIDERS, { provide: _core.NgZone, useFactory: createNgZone }, { provide: _platformBrowser.AnimationDriver, useValue: _platformBrowser.AnimationDriver.NOOP }]
providers: [{ provide: _core.APP_ID, useValue: 'a' }, _platformBrowser.ɵELEMENT_PROBE_PROVIDERS, { provide: _core.NgZone, useFactory: createNgZone }]
}] }];

@@ -190,0 +190,0 @@ /** @nocollapse */

{
"name": "@angular/platform-browser",
"version": "4.0.0-rc.1",
"version": "4.0.0-rc.2",
"description": "Angular - library for using Angular in a web browser",

@@ -12,4 +12,4 @@ "main": "./bundles/platform-browser.umd.js",

"peerDependencies": {
"@angular/core": "4.0.0-rc.1",
"@angular/common": "4.0.0-rc.1"
"@angular/core": "4.0.0-rc.2",
"@angular/common": "4.0.0-rc.2"
},

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

@@ -11,5 +11,5 @@ /**

export declare function parseTimeExpression(exp: string | number, errors: string[]): AnimateTimings;
export declare function normalizeStyles(styles: ɵStyleData[]): ɵStyleData;
export declare function normalizeStyles(styles: ɵStyleData | ɵStyleData[]): ɵStyleData;
export declare function copyStyles(styles: ɵStyleData, readPrototype: boolean, destination?: ɵStyleData): ɵStyleData;
export declare function setStyles(element: any, styles: ɵStyleData): void;
export declare function eraseStyles(element: any, styles: ɵStyleData): void;

@@ -5,7 +5,7 @@ /**

export * from './public_api';
export { _document as ɵb, _resolveDefaultAnimationDriver as ɵc, errorHandler as ɵa } from './src/browser';
export { GenericBrowserDomAdapter as ɵi } from './src/browser/generic_browser_adapter';
export { SERVER_TRANSITION_PROVIDERS as ɵh, bootstrapListenerFactory as ɵg } from './src/browser/server-transition';
export { _createConditionalRootRenderer as ɵd } from './src/dom/debug/ng_probe';
export { EventManagerPlugin as ɵe } from './src/dom/events/event_manager';
export { DomSanitizerImpl as ɵf } from './src/security/dom_sanitization_service';
export { _document as ɵb, errorHandler as ɵa } from './src/browser';
export { GenericBrowserDomAdapter as ɵh } from './src/browser/generic_browser_adapter';
export { SERVER_TRANSITION_PROVIDERS as ɵg, bootstrapListenerFactory as ɵf } from './src/browser/server-transition';
export { _createNgProbe as ɵc } from './src/dom/debug/ng_probe';
export { EventManagerPlugin as ɵd } from './src/dom/events/event_manager';
export { DomSanitizerImpl as ɵe } from './src/security/dom_sanitization_service';

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

{"__symbolic":"module","version":3,"metadata":{"ɵa":{"__symbolic":"function","parameters":[],"value":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"ErrorHandler"}}},"ɵb":{"__symbolic":"function","parameters":[],"value":{"__symbolic":"reference","name":"document"}},"ɵc":{"__symbolic":"function"},"ɵd":{"__symbolic":"function","parameters":["rootRenderer","extraTokens","coreTokens"],"value":{"__symbolic":"if","condition":{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"isDevMode"}},"thenExpression":{"__symbolic":"error","message":"Reference to a non-exported function","line":47,"character":9,"context":{"name":"_createRootRenderer"},"module":"./src/dom/debug/ng_probe"},"elseExpression":{"__symbolic":"reference","name":"rootRenderer"}}},"ɵe":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"any"}]}],"supports":[{"__symbolic":"method"}],"addEventListener":[{"__symbolic":"method"}],"addGlobalEventListener":[{"__symbolic":"method"}]}},"ɵf":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"DomSanitizer"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable"}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject"},"arguments":[{"__symbolic":"reference","name":"DOCUMENT"}]}]],"parameters":[{"__symbolic":"reference","name":"any"}]}],"sanitize":[{"__symbolic":"method"}],"checkNotSafeValue":[{"__symbolic":"method"}],"bypassSecurityTrustHtml":[{"__symbolic":"method"}],"bypassSecurityTrustStyle":[{"__symbolic":"method"}],"bypassSecurityTrustScript":[{"__symbolic":"method"}],"bypassSecurityTrustUrl":[{"__symbolic":"method"}],"bypassSecurityTrustResourceUrl":[{"__symbolic":"method"}]}},"ɵg":{"__symbolic":"function"},"ɵh":[{"provide":{"__symbolic":"reference","module":"@angular/core","name":"APP_INITIALIZER"},"useFactory":{"__symbolic":"reference","name":"ɵg"},"deps":[{"__symbolic":"reference","name":"ɵTRANSITION_ID"},{"__symbolic":"reference","name":"DOCUMENT"}],"multi":true}],"BrowserModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule"},"arguments":[{"providers":[{"__symbolic":"reference","name":"ɵBROWSER_SANITIZATION_PROVIDERS"},{"provide":{"__symbolic":"reference","module":"@angular/core","name":"ErrorHandler"},"useFactory":{"__symbolic":"reference","name":"ɵa"},"deps":[]},{"provide":{"__symbolic":"reference","name":"EVENT_MANAGER_PLUGINS"},"useClass":{"__symbolic":"reference","name":"ɵDomEventsPlugin"},"multi":true},{"provide":{"__symbolic":"reference","name":"EVENT_MANAGER_PLUGINS"},"useClass":{"__symbolic":"reference","name":"ɵKeyEventsPlugin"},"multi":true},{"provide":{"__symbolic":"reference","name":"EVENT_MANAGER_PLUGINS"},"useClass":{"__symbolic":"reference","name":"ɵHammerGesturesPlugin"},"multi":true},{"provide":{"__symbolic":"reference","name":"HAMMER_GESTURE_CONFIG"},"useClass":{"__symbolic":"reference","name":"HammerGestureConfig"}},{"provide":{"__symbolic":"reference","name":"ɵDomRootRenderer"},"useClass":{"__symbolic":"reference","name":"ɵDomRootRenderer_"}},{"provide":{"__symbolic":"reference","module":"@angular/core","name":"RootRenderer"},"useExisting":{"__symbolic":"reference","name":"ɵDomRootRenderer"}},{"__symbolic":"reference","name":"ɵDomRendererFactoryV2"},{"provide":{"__symbolic":"reference","module":"@angular/core","name":"RendererFactoryV2"},"useExisting":{"__symbolic":"reference","name":"ɵDomRendererFactoryV2"}},{"provide":{"__symbolic":"reference","name":"ɵSharedStylesHost"},"useExisting":{"__symbolic":"reference","name":"ɵDomSharedStylesHost"}},{"provide":{"__symbolic":"reference","name":"AnimationDriver"},"useFactory":{"__symbolic":"reference","name":"ɵc"}},{"__symbolic":"reference","name":"ɵDomSharedStylesHost"},{"__symbolic":"reference","module":"@angular/core","name":"Testability"},{"__symbolic":"reference","name":"EventManager"},{"__symbolic":"reference","name":"ɵELEMENT_PROBE_PROVIDERS"},{"__symbolic":"reference","name":"Meta"},{"__symbolic":"reference","name":"Title"}],"exports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule"},{"__symbolic":"reference","module":"@angular/core","name":"ApplicationModule"}]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional"}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"SkipSelf"}}]],"parameters":[{"__symbolic":"reference","name":"BrowserModule"}]}]},"statics":{"withServerTransition":{"__symbolic":"function","parameters":["params"],"value":{"ngModule":{"__symbolic":"reference","name":"BrowserModule"},"providers":[{"provide":{"__symbolic":"reference","module":"@angular/core","name":"APP_ID"},"useValue":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"params"},"member":"appId"}},{"provide":{"__symbolic":"reference","name":"ɵTRANSITION_ID"},"useExisting":{"__symbolic":"reference","module":"@angular/core","name":"APP_ID"}},{"__symbolic":"reference","name":"ɵh"}]}}}},"platformBrowser":{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"createPlatformFactory"},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"platformCore"},"browser",{"__symbolic":"reference","name":"ɵINTERNAL_BROWSER_PLATFORM_PROVIDERS"}]},"Meta":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable"}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject"},"arguments":[{"__symbolic":"reference","name":"DOCUMENT"}]}]],"parameters":[{"__symbolic":"reference","name":"any"}]}],"addTag":[{"__symbolic":"method"}],"addTags":[{"__symbolic":"method"}],"getTag":[{"__symbolic":"method"}],"getTags":[{"__symbolic":"method"}],"updateTag":[{"__symbolic":"method"}],"removeTag":[{"__symbolic":"method"}],"removeTagElement":[{"__symbolic":"method"}],"_getOrCreateElement":[{"__symbolic":"method"}],"_setMetaElementAttributes":[{"__symbolic":"method"}],"_parseSelector":[{"__symbolic":"method"}],"_containsAttributes":[{"__symbolic":"method"}]}},"Title":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable"}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject"},"arguments":[{"__symbolic":"reference","name":"DOCUMENT"}]}]],"parameters":[{"__symbolic":"reference","name":"any"}]}],"getTitle":[{"__symbolic":"method"}],"setTitle":[{"__symbolic":"method"}]}},"disableDebugTools":{"__symbolic":"function"},"enableDebugTools":{"__symbolic":"function"},"AnimationDriver":{"__symbolic":"class","members":{"animate":[{"__symbolic":"method"}]},"statics":{"NOOP":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"NoOpAnimationDriver"}}}},"By":{"__symbolic":"class","members":{},"statics":{"all":{"__symbolic":"function","parameters":[],"value":{"__symbolic":"error","message":"Function call not supported","line":29,"character":49,"module":"./src/dom/debug/by"}},"css":{"__symbolic":"function","parameters":["selector"],"value":{"__symbolic":"error","message":"Function call not supported","line":39,"character":11,"module":"./src/dom/debug/by"}},"directive":{"__symbolic":"function","parameters":["type"],"value":{"__symbolic":"error","message":"Function call not supported","line":54,"character":11,"module":"./src/dom/debug/by"}}}},"NgProbeToken":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"any"}]}]}},"DOCUMENT":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken"},"arguments":["DocumentToken"]},"EVENT_MANAGER_PLUGINS":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken"},"arguments":["EventManagerPlugins"]},"EventManager":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable"}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject"},"arguments":[{"__symbolic":"reference","name":"EVENT_MANAGER_PLUGINS"}]}],null],"parameters":[{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"reference","name":"ɵe"}]},{"__symbolic":"reference","module":"@angular/core","name":"NgZone"}]}],"addEventListener":[{"__symbolic":"method"}],"addGlobalEventListener":[{"__symbolic":"method"}],"getZone":[{"__symbolic":"method"}],"_findPluginFor":[{"__symbolic":"method"}]}},"HAMMER_GESTURE_CONFIG":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken"},"arguments":["HammerGestureConfig"]},"HammerGestureConfig":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable"}}],"members":{"buildHammer":[{"__symbolic":"method"}]}},"DomSanitizer":{"__symbolic":"class","members":{"sanitize":[{"__symbolic":"method"}],"bypassSecurityTrustHtml":[{"__symbolic":"method"}],"bypassSecurityTrustStyle":[{"__symbolic":"method"}],"bypassSecurityTrustScript":[{"__symbolic":"method"}],"bypassSecurityTrustUrl":[{"__symbolic":"method"}],"bypassSecurityTrustResourceUrl":[{"__symbolic":"method"}]}},"ɵBROWSER_SANITIZATION_PROVIDERS":[{"provide":{"__symbolic":"reference","module":"@angular/core","name":"Sanitizer"},"useExisting":{"__symbolic":"reference","name":"DomSanitizer"}},{"provide":{"__symbolic":"reference","name":"DomSanitizer"},"useClass":{"__symbolic":"reference","name":"ɵf"}}],"ɵINTERNAL_BROWSER_PLATFORM_PROVIDERS":[{"provide":{"__symbolic":"reference","module":"@angular/core","name":"PLATFORM_ID"},"useValue":{"__symbolic":"reference","module":"@angular/common","name":"ɵPLATFORM_BROWSER_ID"}},{"provide":{"__symbolic":"reference","module":"@angular/core","name":"PLATFORM_INITIALIZER"},"useValue":{"__symbolic":"reference","name":"ɵinitDomAdapter"},"multi":true},{"provide":{"__symbolic":"reference","module":"@angular/common","name":"PlatformLocation"},"useClass":{"__symbolic":"reference","name":"ɵBrowserPlatformLocation"}},{"provide":{"__symbolic":"reference","name":"DOCUMENT"},"useFactory":{"__symbolic":"reference","name":"ɵb"},"deps":[]}],"ɵinitDomAdapter":{"__symbolic":"function"},"ɵBrowserDomAdapter":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵi"},"members":{"parse":[{"__symbolic":"method"}],"hasProperty":[{"__symbolic":"method"}],"setProperty":[{"__symbolic":"method"}],"getProperty":[{"__symbolic":"method"}],"invoke":[{"__symbolic":"method"}],"logError":[{"__symbolic":"method"}],"log":[{"__symbolic":"method"}],"logGroup":[{"__symbolic":"method"}],"logGroupEnd":[{"__symbolic":"method"}],"querySelector":[{"__symbolic":"method"}],"querySelectorAll":[{"__symbolic":"method"}],"on":[{"__symbolic":"method"}],"onAndCancel":[{"__symbolic":"method"}],"dispatchEvent":[{"__symbolic":"method"}],"createMouseEvent":[{"__symbolic":"method"}],"createEvent":[{"__symbolic":"method"}],"preventDefault":[{"__symbolic":"method"}],"isPrevented":[{"__symbolic":"method"}],"getInnerHTML":[{"__symbolic":"method"}],"getTemplateContent":[{"__symbolic":"method"}],"getOuterHTML":[{"__symbolic":"method"}],"nodeName":[{"__symbolic":"method"}],"nodeValue":[{"__symbolic":"method"}],"type":[{"__symbolic":"method"}],"content":[{"__symbolic":"method"}],"firstChild":[{"__symbolic":"method"}],"nextSibling":[{"__symbolic":"method"}],"parentElement":[{"__symbolic":"method"}],"childNodes":[{"__symbolic":"method"}],"childNodesAsList":[{"__symbolic":"method"}],"clearNodes":[{"__symbolic":"method"}],"appendChild":[{"__symbolic":"method"}],"removeChild":[{"__symbolic":"method"}],"replaceChild":[{"__symbolic":"method"}],"remove":[{"__symbolic":"method"}],"insertBefore":[{"__symbolic":"method"}],"insertAllBefore":[{"__symbolic":"method"}],"insertAfter":[{"__symbolic":"method"}],"setInnerHTML":[{"__symbolic":"method"}],"getText":[{"__symbolic":"method"}],"setText":[{"__symbolic":"method"}],"getValue":[{"__symbolic":"method"}],"setValue":[{"__symbolic":"method"}],"getChecked":[{"__symbolic":"method"}],"setChecked":[{"__symbolic":"method"}],"createComment":[{"__symbolic":"method"}],"createTemplate":[{"__symbolic":"method"}],"createElement":[{"__symbolic":"method"}],"createElementNS":[{"__symbolic":"method"}],"createTextNode":[{"__symbolic":"method"}],"createScriptTag":[{"__symbolic":"method"}],"createStyleElement":[{"__symbolic":"method"}],"createShadowRoot":[{"__symbolic":"method"}],"getShadowRoot":[{"__symbolic":"method"}],"getHost":[{"__symbolic":"method"}],"clone":[{"__symbolic":"method"}],"getElementsByClassName":[{"__symbolic":"method"}],"getElementsByTagName":[{"__symbolic":"method"}],"classList":[{"__symbolic":"method"}],"addClass":[{"__symbolic":"method"}],"removeClass":[{"__symbolic":"method"}],"hasClass":[{"__symbolic":"method"}],"setStyle":[{"__symbolic":"method"}],"removeStyle":[{"__symbolic":"method"}],"getStyle":[{"__symbolic":"method"}],"hasStyle":[{"__symbolic":"method"}],"tagName":[{"__symbolic":"method"}],"attributeMap":[{"__symbolic":"method"}],"hasAttribute":[{"__symbolic":"method"}],"hasAttributeNS":[{"__symbolic":"method"}],"getAttribute":[{"__symbolic":"method"}],"getAttributeNS":[{"__symbolic":"method"}],"setAttribute":[{"__symbolic":"method"}],"setAttributeNS":[{"__symbolic":"method"}],"removeAttribute":[{"__symbolic":"method"}],"removeAttributeNS":[{"__symbolic":"method"}],"templateAwareRoot":[{"__symbolic":"method"}],"createHtmlDocument":[{"__symbolic":"method"}],"getBoundingClientRect":[{"__symbolic":"method"}],"getTitle":[{"__symbolic":"method"}],"setTitle":[{"__symbolic":"method"}],"elementMatches":[{"__symbolic":"method"}],"isTemplateElement":[{"__symbolic":"method"}],"isTextNode":[{"__symbolic":"method"}],"isCommentNode":[{"__symbolic":"method"}],"isElementNode":[{"__symbolic":"method"}],"hasShadowRoot":[{"__symbolic":"method"}],"isShadowRoot":[{"__symbolic":"method"}],"importIntoDoc":[{"__symbolic":"method"}],"adoptNode":[{"__symbolic":"method"}],"getHref":[{"__symbolic":"method"}],"getEventKey":[{"__symbolic":"method"}],"getGlobalEventTarget":[{"__symbolic":"method"}],"getHistory":[{"__symbolic":"method"}],"getLocation":[{"__symbolic":"method"}],"getBaseHref":[{"__symbolic":"method"}],"resetBaseElement":[{"__symbolic":"method"}],"getUserAgent":[{"__symbolic":"method"}],"setData":[{"__symbolic":"method"}],"getData":[{"__symbolic":"method"}],"getComputedStyle":[{"__symbolic":"method"}],"setGlobalVar":[{"__symbolic":"method"}],"supportsWebAnimation":[{"__symbolic":"method"}],"performanceNow":[{"__symbolic":"method"}],"supportsCookies":[{"__symbolic":"method"}],"getCookie":[{"__symbolic":"method"}],"setCookie":[{"__symbolic":"method"}]}},"ɵBrowserPlatformLocation":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"@angular/common","name":"PlatformLocation"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable"}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject"},"arguments":[{"__symbolic":"reference","name":"DOCUMENT"}]}]],"parameters":[{"__symbolic":"reference","name":"any"}]}],"_init":[{"__symbolic":"method"}],"getBaseHrefFromDOM":[{"__symbolic":"method"}],"onPopState":[{"__symbolic":"method"}],"onHashChange":[{"__symbolic":"method"}],"pushState":[{"__symbolic":"method"}],"replaceState":[{"__symbolic":"method"}],"forward":[{"__symbolic":"method"}],"back":[{"__symbolic":"method"}]}},"ɵTRANSITION_ID":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken"},"arguments":["TRANSITION_ID"]},"ɵBrowserGetTestability":{"__symbolic":"class","members":{"addToWindow":[{"__symbolic":"method"}],"findTestabilityInTree":[{"__symbolic":"method"}]}},"ɵELEMENT_PROBE_PROVIDERS":[{"provide":{"__symbolic":"reference","module":"@angular/core","name":"RootRenderer"},"useFactory":{"__symbolic":"reference","name":"ɵd"},"deps":[{"__symbolic":"reference","name":"ɵDomRootRenderer"},[{"__symbolic":"reference","name":"NgProbeToken"},{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional"}}],[{"__symbolic":"reference","module":"@angular/core","name":"NgProbeToken"},{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional"}}]]}],"ɵDomAdapter":{"__symbolic":"class","members":{"hasProperty":[{"__symbolic":"method"}],"setProperty":[{"__symbolic":"method"}],"getProperty":[{"__symbolic":"method"}],"invoke":[{"__symbolic":"method"}],"logError":[{"__symbolic":"method"}],"log":[{"__symbolic":"method"}],"logGroup":[{"__symbolic":"method"}],"logGroupEnd":[{"__symbolic":"method"}],"parse":[{"__symbolic":"method"}],"querySelector":[{"__symbolic":"method"}],"querySelectorAll":[{"__symbolic":"method"}],"on":[{"__symbolic":"method"}],"onAndCancel":[{"__symbolic":"method"}],"dispatchEvent":[{"__symbolic":"method"}],"createMouseEvent":[{"__symbolic":"method"}],"createEvent":[{"__symbolic":"method"}],"preventDefault":[{"__symbolic":"method"}],"isPrevented":[{"__symbolic":"method"}],"getInnerHTML":[{"__symbolic":"method"}],"getTemplateContent":[{"__symbolic":"method"}],"getOuterHTML":[{"__symbolic":"method"}],"nodeName":[{"__symbolic":"method"}],"nodeValue":[{"__symbolic":"method"}],"type":[{"__symbolic":"method"}],"content":[{"__symbolic":"method"}],"firstChild":[{"__symbolic":"method"}],"nextSibling":[{"__symbolic":"method"}],"parentElement":[{"__symbolic":"method"}],"childNodes":[{"__symbolic":"method"}],"childNodesAsList":[{"__symbolic":"method"}],"clearNodes":[{"__symbolic":"method"}],"appendChild":[{"__symbolic":"method"}],"removeChild":[{"__symbolic":"method"}],"replaceChild":[{"__symbolic":"method"}],"remove":[{"__symbolic":"method"}],"insertBefore":[{"__symbolic":"method"}],"insertAllBefore":[{"__symbolic":"method"}],"insertAfter":[{"__symbolic":"method"}],"setInnerHTML":[{"__symbolic":"method"}],"getText":[{"__symbolic":"method"}],"setText":[{"__symbolic":"method"}],"getValue":[{"__symbolic":"method"}],"setValue":[{"__symbolic":"method"}],"getChecked":[{"__symbolic":"method"}],"setChecked":[{"__symbolic":"method"}],"createComment":[{"__symbolic":"method"}],"createTemplate":[{"__symbolic":"method"}],"createElement":[{"__symbolic":"method"}],"createElementNS":[{"__symbolic":"method"}],"createTextNode":[{"__symbolic":"method"}],"createScriptTag":[{"__symbolic":"method"}],"createStyleElement":[{"__symbolic":"method"}],"createShadowRoot":[{"__symbolic":"method"}],"getShadowRoot":[{"__symbolic":"method"}],"getHost":[{"__symbolic":"method"}],"getDistributedNodes":[{"__symbolic":"method"}],"clone":[{"__symbolic":"method"}],"getElementsByClassName":[{"__symbolic":"method"}],"getElementsByTagName":[{"__symbolic":"method"}],"classList":[{"__symbolic":"method"}],"addClass":[{"__symbolic":"method"}],"removeClass":[{"__symbolic":"method"}],"hasClass":[{"__symbolic":"method"}],"setStyle":[{"__symbolic":"method"}],"removeStyle":[{"__symbolic":"method"}],"getStyle":[{"__symbolic":"method"}],"hasStyle":[{"__symbolic":"method"}],"tagName":[{"__symbolic":"method"}],"attributeMap":[{"__symbolic":"method"}],"hasAttribute":[{"__symbolic":"method"}],"hasAttributeNS":[{"__symbolic":"method"}],"getAttribute":[{"__symbolic":"method"}],"getAttributeNS":[{"__symbolic":"method"}],"setAttribute":[{"__symbolic":"method"}],"setAttributeNS":[{"__symbolic":"method"}],"removeAttribute":[{"__symbolic":"method"}],"removeAttributeNS":[{"__symbolic":"method"}],"templateAwareRoot":[{"__symbolic":"method"}],"createHtmlDocument":[{"__symbolic":"method"}],"getBoundingClientRect":[{"__symbolic":"method"}],"getTitle":[{"__symbolic":"method"}],"setTitle":[{"__symbolic":"method"}],"elementMatches":[{"__symbolic":"method"}],"isTemplateElement":[{"__symbolic":"method"}],"isTextNode":[{"__symbolic":"method"}],"isCommentNode":[{"__symbolic":"method"}],"isElementNode":[{"__symbolic":"method"}],"hasShadowRoot":[{"__symbolic":"method"}],"isShadowRoot":[{"__symbolic":"method"}],"importIntoDoc":[{"__symbolic":"method"}],"adoptNode":[{"__symbolic":"method"}],"getHref":[{"__symbolic":"method"}],"getEventKey":[{"__symbolic":"method"}],"resolveAndSetHref":[{"__symbolic":"method"}],"supportsDOMEvents":[{"__symbolic":"method"}],"supportsNativeShadowDOM":[{"__symbolic":"method"}],"getGlobalEventTarget":[{"__symbolic":"method"}],"getHistory":[{"__symbolic":"method"}],"getLocation":[{"__symbolic":"method"}],"getBaseHref":[{"__symbolic":"method"}],"resetBaseElement":[{"__symbolic":"method"}],"getUserAgent":[{"__symbolic":"method"}],"setData":[{"__symbolic":"method"}],"getComputedStyle":[{"__symbolic":"method"}],"getData":[{"__symbolic":"method"}],"setGlobalVar":[{"__symbolic":"method"}],"supportsWebAnimation":[{"__symbolic":"method"}],"performanceNow":[{"__symbolic":"method"}],"getAnimationPrefix":[{"__symbolic":"method"}],"getTransitionEnd":[{"__symbolic":"method"}],"supportsAnimation":[{"__symbolic":"method"}],"supportsCookies":[{"__symbolic":"method"}],"getCookie":[{"__symbolic":"method"}],"setCookie":[{"__symbolic":"method"}]}},"ɵgetDOM":{"__symbolic":"function","parameters":[],"value":null},"ɵsetRootDomAdapter":{"__symbolic":"function"},"ɵDomRendererFactoryV2":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable"}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"EventManager"},{"__symbolic":"reference","name":"ɵDomSharedStylesHost"}]}],"createRenderer":[{"__symbolic":"method"}]}},"ɵDomRootRenderer":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Could not resolve type","line":30,"character":23,"context":{"typeName":"Document"},"module":"./src/dom/dom_renderer"},{"__symbolic":"reference","name":"EventManager"},{"__symbolic":"reference","name":"ɵDomSharedStylesHost"},{"__symbolic":"reference","name":"AnimationDriver"},{"__symbolic":"reference","name":"string"}]}],"renderComponent":[{"__symbolic":"method"}]}},"ɵDomRootRenderer_":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵDomRootRenderer"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable"}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject"},"arguments":[{"__symbolic":"reference","name":"DOCUMENT"}]}],null,null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject"},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"APP_ID"}]}]],"parameters":[{"__symbolic":"reference","name":"any"},{"__symbolic":"reference","name":"EventManager"},{"__symbolic":"reference","name":"ɵDomSharedStylesHost"},{"__symbolic":"reference","name":"AnimationDriver"},{"__symbolic":"reference","name":"string"}]}]}},"ɵNAMESPACE_URIS":{"xlink":"http://www.w3.org/1999/xlink","svg":"http://www.w3.org/2000/svg","xhtml":"http://www.w3.org/1999/xhtml","xml":"http://www.w3.org/XML/1998/namespace"},"ɵflattenStyles":{"__symbolic":"function"},"ɵisNamespaced":{"__symbolic":"function","parameters":["name"],"value":{"__symbolic":"binop","operator":"===","left":{"__symbolic":"index","expression":{"__symbolic":"reference","name":"name"},"index":0},"right":":"}},"ɵshimContentAttribute":{"__symbolic":"function","parameters":["componentShortId"],"value":{"__symbolic":"error","message":"Reference to a local symbol","line":308,"character":6,"context":{"name":"COMPONENT_REGEX"},"module":"./src/dom/dom_renderer"}},"ɵshimHostAttribute":{"__symbolic":"function","parameters":["componentShortId"],"value":{"__symbolic":"error","message":"Reference to a local symbol","line":308,"character":6,"context":{"name":"COMPONENT_REGEX"},"module":"./src/dom/dom_renderer"}},"ɵsplitNamespace":{"__symbolic":"function"},"ɵDomEventsPlugin":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵe"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable"}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject"},"arguments":[{"__symbolic":"reference","name":"DOCUMENT"}]}]],"parameters":[{"__symbolic":"reference","name":"any"}]}],"supports":[{"__symbolic":"method"}],"addEventListener":[{"__symbolic":"method"}]}},"ɵHammerGesturesPlugin":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵe"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable"}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject"},"arguments":[{"__symbolic":"reference","name":"DOCUMENT"}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject"},"arguments":[{"__symbolic":"reference","name":"HAMMER_GESTURE_CONFIG"}]}]],"parameters":[{"__symbolic":"reference","name":"any"},{"__symbolic":"reference","name":"HammerGestureConfig"}]}],"supports":[{"__symbolic":"method"}],"addEventListener":[{"__symbolic":"method"}],"isCustomEvent":[{"__symbolic":"method"}]}},"ɵKeyEventsPlugin":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵe"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable"}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject"},"arguments":[{"__symbolic":"reference","name":"DOCUMENT"}]}]],"parameters":[{"__symbolic":"reference","name":"any"}]}],"supports":[{"__symbolic":"method"}],"addEventListener":[{"__symbolic":"method"}]},"statics":{"eventCallback":{"__symbolic":"function","parameters":["fullKey","handler","zone"],"value":{"__symbolic":"error","message":"Function call not supported","line":96,"character":11,"module":"./src/dom/events/key_events"}}}},"ɵDomSharedStylesHost":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵSharedStylesHost"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable"}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject"},"arguments":[{"__symbolic":"reference","name":"DOCUMENT"}]}]],"parameters":[{"__symbolic":"reference","name":"any"}]}],"_addStylesToHost":[{"__symbolic":"method"}],"addHost":[{"__symbolic":"method"}],"removeHost":[{"__symbolic":"method"}],"onStylesAdded":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}},"ɵSharedStylesHost":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable"}}],"members":{"addStyles":[{"__symbolic":"method"}],"onStylesAdded":[{"__symbolic":"method"}],"getAllStyles":[{"__symbolic":"method"}]}},"ɵWebAnimationsDriver":{"__symbolic":"class","members":{"animate":[{"__symbolic":"method"}]}},"VERSION":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"Version"},"arguments":["4.0.0-rc.1"]},"ɵi":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵDomAdapter"},"members":{"__ctor__":[{"__symbolic":"constructor"}],"getDistributedNodes":[{"__symbolic":"method"}],"resolveAndSetHref":[{"__symbolic":"method"}],"supportsDOMEvents":[{"__symbolic":"method"}],"supportsNativeShadowDOM":[{"__symbolic":"method"}],"getAnimationPrefix":[{"__symbolic":"method"}],"getTransitionEnd":[{"__symbolic":"method"}],"supportsAnimation":[{"__symbolic":"method"}]}}},"importAs":"@angular/platform-browser"}
{"__symbolic":"module","version":3,"metadata":{"ɵa":{"__symbolic":"function","parameters":[],"value":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"ErrorHandler"}}},"ɵb":{"__symbolic":"function","parameters":[],"value":{"__symbolic":"reference","name":"document"}},"ɵc":{"__symbolic":"function"},"ɵd":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"any"}]}],"supports":[{"__symbolic":"method"}],"addEventListener":[{"__symbolic":"method"}],"addGlobalEventListener":[{"__symbolic":"method"}]}},"ɵe":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"DomSanitizer"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable"}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject"},"arguments":[{"__symbolic":"reference","name":"DOCUMENT"}]}]],"parameters":[{"__symbolic":"reference","name":"any"}]}],"sanitize":[{"__symbolic":"method"}],"checkNotSafeValue":[{"__symbolic":"method"}],"bypassSecurityTrustHtml":[{"__symbolic":"method"}],"bypassSecurityTrustStyle":[{"__symbolic":"method"}],"bypassSecurityTrustScript":[{"__symbolic":"method"}],"bypassSecurityTrustUrl":[{"__symbolic":"method"}],"bypassSecurityTrustResourceUrl":[{"__symbolic":"method"}]}},"ɵf":{"__symbolic":"function"},"ɵg":[{"provide":{"__symbolic":"reference","module":"@angular/core","name":"APP_INITIALIZER"},"useFactory":{"__symbolic":"reference","name":"ɵf"},"deps":[{"__symbolic":"reference","name":"ɵTRANSITION_ID"},{"__symbolic":"reference","name":"DOCUMENT"}],"multi":true}],"BrowserModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule"},"arguments":[{"providers":[{"__symbolic":"reference","name":"ɵBROWSER_SANITIZATION_PROVIDERS"},{"provide":{"__symbolic":"reference","module":"@angular/core","name":"ErrorHandler"},"useFactory":{"__symbolic":"reference","name":"ɵa"},"deps":[]},{"provide":{"__symbolic":"reference","name":"EVENT_MANAGER_PLUGINS"},"useClass":{"__symbolic":"reference","name":"ɵDomEventsPlugin"},"multi":true},{"provide":{"__symbolic":"reference","name":"EVENT_MANAGER_PLUGINS"},"useClass":{"__symbolic":"reference","name":"ɵKeyEventsPlugin"},"multi":true},{"provide":{"__symbolic":"reference","name":"EVENT_MANAGER_PLUGINS"},"useClass":{"__symbolic":"reference","name":"ɵHammerGesturesPlugin"},"multi":true},{"provide":{"__symbolic":"reference","name":"HAMMER_GESTURE_CONFIG"},"useClass":{"__symbolic":"reference","name":"HammerGestureConfig"}},{"__symbolic":"reference","name":"ɵDomRendererFactoryV2"},{"provide":{"__symbolic":"reference","module":"@angular/core","name":"RendererFactoryV2"},"useExisting":{"__symbolic":"reference","name":"ɵDomRendererFactoryV2"}},{"provide":{"__symbolic":"reference","name":"ɵSharedStylesHost"},"useExisting":{"__symbolic":"reference","name":"ɵDomSharedStylesHost"}},{"__symbolic":"reference","name":"ɵDomSharedStylesHost"},{"__symbolic":"reference","module":"@angular/core","name":"Testability"},{"__symbolic":"reference","name":"EventManager"},{"__symbolic":"reference","name":"ɵELEMENT_PROBE_PROVIDERS"},{"__symbolic":"reference","name":"Meta"},{"__symbolic":"reference","name":"Title"}],"exports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule"},{"__symbolic":"reference","module":"@angular/core","name":"ApplicationModule"}]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional"}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"SkipSelf"}}]],"parameters":[{"__symbolic":"reference","name":"BrowserModule"}]}]},"statics":{"withServerTransition":{"__symbolic":"function","parameters":["params"],"value":{"ngModule":{"__symbolic":"reference","name":"BrowserModule"},"providers":[{"provide":{"__symbolic":"reference","module":"@angular/core","name":"APP_ID"},"useValue":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"params"},"member":"appId"}},{"provide":{"__symbolic":"reference","name":"ɵTRANSITION_ID"},"useExisting":{"__symbolic":"reference","module":"@angular/core","name":"APP_ID"}},{"__symbolic":"reference","name":"ɵg"}]}}}},"platformBrowser":{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"createPlatformFactory"},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"platformCore"},"browser",{"__symbolic":"reference","name":"ɵINTERNAL_BROWSER_PLATFORM_PROVIDERS"}]},"Meta":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable"}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject"},"arguments":[{"__symbolic":"reference","name":"DOCUMENT"}]}]],"parameters":[{"__symbolic":"reference","name":"any"}]}],"addTag":[{"__symbolic":"method"}],"addTags":[{"__symbolic":"method"}],"getTag":[{"__symbolic":"method"}],"getTags":[{"__symbolic":"method"}],"updateTag":[{"__symbolic":"method"}],"removeTag":[{"__symbolic":"method"}],"removeTagElement":[{"__symbolic":"method"}],"_getOrCreateElement":[{"__symbolic":"method"}],"_setMetaElementAttributes":[{"__symbolic":"method"}],"_parseSelector":[{"__symbolic":"method"}],"_containsAttributes":[{"__symbolic":"method"}]}},"Title":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable"}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject"},"arguments":[{"__symbolic":"reference","name":"DOCUMENT"}]}]],"parameters":[{"__symbolic":"reference","name":"any"}]}],"getTitle":[{"__symbolic":"method"}],"setTitle":[{"__symbolic":"method"}]}},"disableDebugTools":{"__symbolic":"function"},"enableDebugTools":{"__symbolic":"function"},"By":{"__symbolic":"class","members":{},"statics":{"all":{"__symbolic":"function","parameters":[],"value":{"__symbolic":"error","message":"Function call not supported","line":29,"character":49,"module":"./src/dom/debug/by"}},"css":{"__symbolic":"function","parameters":["selector"],"value":{"__symbolic":"error","message":"Function call not supported","line":39,"character":11,"module":"./src/dom/debug/by"}},"directive":{"__symbolic":"function","parameters":["type"],"value":{"__symbolic":"error","message":"Function call not supported","line":54,"character":11,"module":"./src/dom/debug/by"}}}},"NgProbeToken":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"any"}]}]}},"DOCUMENT":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken"},"arguments":["DocumentToken"]},"EVENT_MANAGER_PLUGINS":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken"},"arguments":["EventManagerPlugins"]},"EventManager":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable"}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject"},"arguments":[{"__symbolic":"reference","name":"EVENT_MANAGER_PLUGINS"}]}],null],"parameters":[{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"reference","name":"ɵd"}]},{"__symbolic":"reference","module":"@angular/core","name":"NgZone"}]}],"addEventListener":[{"__symbolic":"method"}],"addGlobalEventListener":[{"__symbolic":"method"}],"getZone":[{"__symbolic":"method"}],"_findPluginFor":[{"__symbolic":"method"}]}},"HAMMER_GESTURE_CONFIG":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken"},"arguments":["HammerGestureConfig"]},"HammerGestureConfig":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable"}}],"members":{"buildHammer":[{"__symbolic":"method"}]}},"DomSanitizer":{"__symbolic":"class","members":{"sanitize":[{"__symbolic":"method"}],"bypassSecurityTrustHtml":[{"__symbolic":"method"}],"bypassSecurityTrustStyle":[{"__symbolic":"method"}],"bypassSecurityTrustScript":[{"__symbolic":"method"}],"bypassSecurityTrustUrl":[{"__symbolic":"method"}],"bypassSecurityTrustResourceUrl":[{"__symbolic":"method"}]}},"ɵBROWSER_SANITIZATION_PROVIDERS":[{"provide":{"__symbolic":"reference","module":"@angular/core","name":"Sanitizer"},"useExisting":{"__symbolic":"reference","name":"DomSanitizer"}},{"provide":{"__symbolic":"reference","name":"DomSanitizer"},"useClass":{"__symbolic":"reference","name":"ɵe"}}],"ɵINTERNAL_BROWSER_PLATFORM_PROVIDERS":[{"provide":{"__symbolic":"reference","module":"@angular/core","name":"PLATFORM_ID"},"useValue":{"__symbolic":"reference","module":"@angular/common","name":"ɵPLATFORM_BROWSER_ID"}},{"provide":{"__symbolic":"reference","module":"@angular/core","name":"PLATFORM_INITIALIZER"},"useValue":{"__symbolic":"reference","name":"ɵinitDomAdapter"},"multi":true},{"provide":{"__symbolic":"reference","module":"@angular/common","name":"PlatformLocation"},"useClass":{"__symbolic":"reference","name":"ɵBrowserPlatformLocation"}},{"provide":{"__symbolic":"reference","name":"DOCUMENT"},"useFactory":{"__symbolic":"reference","name":"ɵb"},"deps":[]}],"ɵinitDomAdapter":{"__symbolic":"function"},"ɵBrowserDomAdapter":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵh"},"members":{"parse":[{"__symbolic":"method"}],"hasProperty":[{"__symbolic":"method"}],"setProperty":[{"__symbolic":"method"}],"getProperty":[{"__symbolic":"method"}],"invoke":[{"__symbolic":"method"}],"logError":[{"__symbolic":"method"}],"log":[{"__symbolic":"method"}],"logGroup":[{"__symbolic":"method"}],"logGroupEnd":[{"__symbolic":"method"}],"querySelector":[{"__symbolic":"method"}],"querySelectorAll":[{"__symbolic":"method"}],"on":[{"__symbolic":"method"}],"onAndCancel":[{"__symbolic":"method"}],"dispatchEvent":[{"__symbolic":"method"}],"createMouseEvent":[{"__symbolic":"method"}],"createEvent":[{"__symbolic":"method"}],"preventDefault":[{"__symbolic":"method"}],"isPrevented":[{"__symbolic":"method"}],"getInnerHTML":[{"__symbolic":"method"}],"getTemplateContent":[{"__symbolic":"method"}],"getOuterHTML":[{"__symbolic":"method"}],"nodeName":[{"__symbolic":"method"}],"nodeValue":[{"__symbolic":"method"}],"type":[{"__symbolic":"method"}],"content":[{"__symbolic":"method"}],"firstChild":[{"__symbolic":"method"}],"nextSibling":[{"__symbolic":"method"}],"parentElement":[{"__symbolic":"method"}],"childNodes":[{"__symbolic":"method"}],"childNodesAsList":[{"__symbolic":"method"}],"clearNodes":[{"__symbolic":"method"}],"appendChild":[{"__symbolic":"method"}],"removeChild":[{"__symbolic":"method"}],"replaceChild":[{"__symbolic":"method"}],"remove":[{"__symbolic":"method"}],"insertBefore":[{"__symbolic":"method"}],"insertAllBefore":[{"__symbolic":"method"}],"insertAfter":[{"__symbolic":"method"}],"setInnerHTML":[{"__symbolic":"method"}],"getText":[{"__symbolic":"method"}],"setText":[{"__symbolic":"method"}],"getValue":[{"__symbolic":"method"}],"setValue":[{"__symbolic":"method"}],"getChecked":[{"__symbolic":"method"}],"setChecked":[{"__symbolic":"method"}],"createComment":[{"__symbolic":"method"}],"createTemplate":[{"__symbolic":"method"}],"createElement":[{"__symbolic":"method"}],"createElementNS":[{"__symbolic":"method"}],"createTextNode":[{"__symbolic":"method"}],"createScriptTag":[{"__symbolic":"method"}],"createStyleElement":[{"__symbolic":"method"}],"createShadowRoot":[{"__symbolic":"method"}],"getShadowRoot":[{"__symbolic":"method"}],"getHost":[{"__symbolic":"method"}],"clone":[{"__symbolic":"method"}],"getElementsByClassName":[{"__symbolic":"method"}],"getElementsByTagName":[{"__symbolic":"method"}],"classList":[{"__symbolic":"method"}],"addClass":[{"__symbolic":"method"}],"removeClass":[{"__symbolic":"method"}],"hasClass":[{"__symbolic":"method"}],"setStyle":[{"__symbolic":"method"}],"removeStyle":[{"__symbolic":"method"}],"getStyle":[{"__symbolic":"method"}],"hasStyle":[{"__symbolic":"method"}],"tagName":[{"__symbolic":"method"}],"attributeMap":[{"__symbolic":"method"}],"hasAttribute":[{"__symbolic":"method"}],"hasAttributeNS":[{"__symbolic":"method"}],"getAttribute":[{"__symbolic":"method"}],"getAttributeNS":[{"__symbolic":"method"}],"setAttribute":[{"__symbolic":"method"}],"setAttributeNS":[{"__symbolic":"method"}],"removeAttribute":[{"__symbolic":"method"}],"removeAttributeNS":[{"__symbolic":"method"}],"templateAwareRoot":[{"__symbolic":"method"}],"createHtmlDocument":[{"__symbolic":"method"}],"getBoundingClientRect":[{"__symbolic":"method"}],"getTitle":[{"__symbolic":"method"}],"setTitle":[{"__symbolic":"method"}],"elementMatches":[{"__symbolic":"method"}],"isTemplateElement":[{"__symbolic":"method"}],"isTextNode":[{"__symbolic":"method"}],"isCommentNode":[{"__symbolic":"method"}],"isElementNode":[{"__symbolic":"method"}],"hasShadowRoot":[{"__symbolic":"method"}],"isShadowRoot":[{"__symbolic":"method"}],"importIntoDoc":[{"__symbolic":"method"}],"adoptNode":[{"__symbolic":"method"}],"getHref":[{"__symbolic":"method"}],"getEventKey":[{"__symbolic":"method"}],"getGlobalEventTarget":[{"__symbolic":"method"}],"getHistory":[{"__symbolic":"method"}],"getLocation":[{"__symbolic":"method"}],"getBaseHref":[{"__symbolic":"method"}],"resetBaseElement":[{"__symbolic":"method"}],"getUserAgent":[{"__symbolic":"method"}],"setData":[{"__symbolic":"method"}],"getData":[{"__symbolic":"method"}],"getComputedStyle":[{"__symbolic":"method"}],"setGlobalVar":[{"__symbolic":"method"}],"supportsWebAnimation":[{"__symbolic":"method"}],"performanceNow":[{"__symbolic":"method"}],"supportsCookies":[{"__symbolic":"method"}],"getCookie":[{"__symbolic":"method"}],"setCookie":[{"__symbolic":"method"}]}},"ɵBrowserPlatformLocation":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"@angular/common","name":"PlatformLocation"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable"}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject"},"arguments":[{"__symbolic":"reference","name":"DOCUMENT"}]}]],"parameters":[{"__symbolic":"reference","name":"any"}]}],"_init":[{"__symbolic":"method"}],"getBaseHrefFromDOM":[{"__symbolic":"method"}],"onPopState":[{"__symbolic":"method"}],"onHashChange":[{"__symbolic":"method"}],"pushState":[{"__symbolic":"method"}],"replaceState":[{"__symbolic":"method"}],"forward":[{"__symbolic":"method"}],"back":[{"__symbolic":"method"}]}},"ɵTRANSITION_ID":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken"},"arguments":["TRANSITION_ID"]},"ɵBrowserGetTestability":{"__symbolic":"class","members":{"addToWindow":[{"__symbolic":"method"}],"findTestabilityInTree":[{"__symbolic":"method"}]}},"ɵELEMENT_PROBE_PROVIDERS":[{"provide":{"__symbolic":"reference","module":"@angular/core","name":"APP_INITIALIZER"},"useFactory":{"__symbolic":"reference","name":"ɵc"},"deps":[[{"__symbolic":"reference","name":"NgProbeToken"},{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional"}}],[{"__symbolic":"reference","module":"@angular/core","name":"NgProbeToken"},{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional"}}]],"multi":true}],"ɵDomAdapter":{"__symbolic":"class","members":{"hasProperty":[{"__symbolic":"method"}],"setProperty":[{"__symbolic":"method"}],"getProperty":[{"__symbolic":"method"}],"invoke":[{"__symbolic":"method"}],"logError":[{"__symbolic":"method"}],"log":[{"__symbolic":"method"}],"logGroup":[{"__symbolic":"method"}],"logGroupEnd":[{"__symbolic":"method"}],"parse":[{"__symbolic":"method"}],"querySelector":[{"__symbolic":"method"}],"querySelectorAll":[{"__symbolic":"method"}],"on":[{"__symbolic":"method"}],"onAndCancel":[{"__symbolic":"method"}],"dispatchEvent":[{"__symbolic":"method"}],"createMouseEvent":[{"__symbolic":"method"}],"createEvent":[{"__symbolic":"method"}],"preventDefault":[{"__symbolic":"method"}],"isPrevented":[{"__symbolic":"method"}],"getInnerHTML":[{"__symbolic":"method"}],"getTemplateContent":[{"__symbolic":"method"}],"getOuterHTML":[{"__symbolic":"method"}],"nodeName":[{"__symbolic":"method"}],"nodeValue":[{"__symbolic":"method"}],"type":[{"__symbolic":"method"}],"content":[{"__symbolic":"method"}],"firstChild":[{"__symbolic":"method"}],"nextSibling":[{"__symbolic":"method"}],"parentElement":[{"__symbolic":"method"}],"childNodes":[{"__symbolic":"method"}],"childNodesAsList":[{"__symbolic":"method"}],"clearNodes":[{"__symbolic":"method"}],"appendChild":[{"__symbolic":"method"}],"removeChild":[{"__symbolic":"method"}],"replaceChild":[{"__symbolic":"method"}],"remove":[{"__symbolic":"method"}],"insertBefore":[{"__symbolic":"method"}],"insertAllBefore":[{"__symbolic":"method"}],"insertAfter":[{"__symbolic":"method"}],"setInnerHTML":[{"__symbolic":"method"}],"getText":[{"__symbolic":"method"}],"setText":[{"__symbolic":"method"}],"getValue":[{"__symbolic":"method"}],"setValue":[{"__symbolic":"method"}],"getChecked":[{"__symbolic":"method"}],"setChecked":[{"__symbolic":"method"}],"createComment":[{"__symbolic":"method"}],"createTemplate":[{"__symbolic":"method"}],"createElement":[{"__symbolic":"method"}],"createElementNS":[{"__symbolic":"method"}],"createTextNode":[{"__symbolic":"method"}],"createScriptTag":[{"__symbolic":"method"}],"createStyleElement":[{"__symbolic":"method"}],"createShadowRoot":[{"__symbolic":"method"}],"getShadowRoot":[{"__symbolic":"method"}],"getHost":[{"__symbolic":"method"}],"getDistributedNodes":[{"__symbolic":"method"}],"clone":[{"__symbolic":"method"}],"getElementsByClassName":[{"__symbolic":"method"}],"getElementsByTagName":[{"__symbolic":"method"}],"classList":[{"__symbolic":"method"}],"addClass":[{"__symbolic":"method"}],"removeClass":[{"__symbolic":"method"}],"hasClass":[{"__symbolic":"method"}],"setStyle":[{"__symbolic":"method"}],"removeStyle":[{"__symbolic":"method"}],"getStyle":[{"__symbolic":"method"}],"hasStyle":[{"__symbolic":"method"}],"tagName":[{"__symbolic":"method"}],"attributeMap":[{"__symbolic":"method"}],"hasAttribute":[{"__symbolic":"method"}],"hasAttributeNS":[{"__symbolic":"method"}],"getAttribute":[{"__symbolic":"method"}],"getAttributeNS":[{"__symbolic":"method"}],"setAttribute":[{"__symbolic":"method"}],"setAttributeNS":[{"__symbolic":"method"}],"removeAttribute":[{"__symbolic":"method"}],"removeAttributeNS":[{"__symbolic":"method"}],"templateAwareRoot":[{"__symbolic":"method"}],"createHtmlDocument":[{"__symbolic":"method"}],"getBoundingClientRect":[{"__symbolic":"method"}],"getTitle":[{"__symbolic":"method"}],"setTitle":[{"__symbolic":"method"}],"elementMatches":[{"__symbolic":"method"}],"isTemplateElement":[{"__symbolic":"method"}],"isTextNode":[{"__symbolic":"method"}],"isCommentNode":[{"__symbolic":"method"}],"isElementNode":[{"__symbolic":"method"}],"hasShadowRoot":[{"__symbolic":"method"}],"isShadowRoot":[{"__symbolic":"method"}],"importIntoDoc":[{"__symbolic":"method"}],"adoptNode":[{"__symbolic":"method"}],"getHref":[{"__symbolic":"method"}],"getEventKey":[{"__symbolic":"method"}],"resolveAndSetHref":[{"__symbolic":"method"}],"supportsDOMEvents":[{"__symbolic":"method"}],"supportsNativeShadowDOM":[{"__symbolic":"method"}],"getGlobalEventTarget":[{"__symbolic":"method"}],"getHistory":[{"__symbolic":"method"}],"getLocation":[{"__symbolic":"method"}],"getBaseHref":[{"__symbolic":"method"}],"resetBaseElement":[{"__symbolic":"method"}],"getUserAgent":[{"__symbolic":"method"}],"setData":[{"__symbolic":"method"}],"getComputedStyle":[{"__symbolic":"method"}],"getData":[{"__symbolic":"method"}],"setGlobalVar":[{"__symbolic":"method"}],"supportsWebAnimation":[{"__symbolic":"method"}],"performanceNow":[{"__symbolic":"method"}],"getAnimationPrefix":[{"__symbolic":"method"}],"getTransitionEnd":[{"__symbolic":"method"}],"supportsAnimation":[{"__symbolic":"method"}],"supportsCookies":[{"__symbolic":"method"}],"getCookie":[{"__symbolic":"method"}],"setCookie":[{"__symbolic":"method"}]}},"ɵgetDOM":{"__symbolic":"function","parameters":[],"value":null},"ɵsetRootDomAdapter":{"__symbolic":"function"},"ɵDomRendererFactoryV2":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable"}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"EventManager"},{"__symbolic":"reference","name":"ɵDomSharedStylesHost"}]}],"createRenderer":[{"__symbolic":"method"}]}},"ɵNAMESPACE_URIS":{"xlink":"http://www.w3.org/1999/xlink","svg":"http://www.w3.org/2000/svg","xhtml":"http://www.w3.org/1999/xhtml","xml":"http://www.w3.org/XML/1998/namespace"},"ɵflattenStyles":{"__symbolic":"function"},"ɵshimContentAttribute":{"__symbolic":"function","parameters":["componentShortId"],"value":{"__symbolic":"error","message":"Reference to a local symbol","line":23,"character":6,"context":{"name":"COMPONENT_REGEX"},"module":"./src/dom/dom_renderer"}},"ɵshimHostAttribute":{"__symbolic":"function","parameters":["componentShortId"],"value":{"__symbolic":"error","message":"Reference to a local symbol","line":23,"character":6,"context":{"name":"COMPONENT_REGEX"},"module":"./src/dom/dom_renderer"}},"ɵDomEventsPlugin":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵd"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable"}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject"},"arguments":[{"__symbolic":"reference","name":"DOCUMENT"}]}]],"parameters":[{"__symbolic":"reference","name":"any"}]}],"supports":[{"__symbolic":"method"}],"addEventListener":[{"__symbolic":"method"}]}},"ɵHammerGesturesPlugin":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵd"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable"}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject"},"arguments":[{"__symbolic":"reference","name":"DOCUMENT"}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject"},"arguments":[{"__symbolic":"reference","name":"HAMMER_GESTURE_CONFIG"}]}]],"parameters":[{"__symbolic":"reference","name":"any"},{"__symbolic":"reference","name":"HammerGestureConfig"}]}],"supports":[{"__symbolic":"method"}],"addEventListener":[{"__symbolic":"method"}],"isCustomEvent":[{"__symbolic":"method"}]}},"ɵKeyEventsPlugin":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵd"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable"}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject"},"arguments":[{"__symbolic":"reference","name":"DOCUMENT"}]}]],"parameters":[{"__symbolic":"reference","name":"any"}]}],"supports":[{"__symbolic":"method"}],"addEventListener":[{"__symbolic":"method"}]},"statics":{"eventCallback":{"__symbolic":"function","parameters":["fullKey","handler","zone"],"value":{"__symbolic":"error","message":"Function call not supported","line":96,"character":11,"module":"./src/dom/events/key_events"}}}},"ɵDomSharedStylesHost":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵSharedStylesHost"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable"}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject"},"arguments":[{"__symbolic":"reference","name":"DOCUMENT"}]}]],"parameters":[{"__symbolic":"reference","name":"any"}]}],"_addStylesToHost":[{"__symbolic":"method"}],"addHost":[{"__symbolic":"method"}],"removeHost":[{"__symbolic":"method"}],"onStylesAdded":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}},"ɵSharedStylesHost":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable"}}],"members":{"addStyles":[{"__symbolic":"method"}],"onStylesAdded":[{"__symbolic":"method"}],"getAllStyles":[{"__symbolic":"method"}]}},"VERSION":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"Version"},"arguments":["4.0.0-rc.2"]},"ɵh":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵDomAdapter"},"members":{"__ctor__":[{"__symbolic":"constructor"}],"getDistributedNodes":[{"__symbolic":"method"}],"resolveAndSetHref":[{"__symbolic":"method"}],"supportsDOMEvents":[{"__symbolic":"method"}],"supportsNativeShadowDOM":[{"__symbolic":"method"}],"getAnimationPrefix":[{"__symbolic":"method"}],"getTransitionEnd":[{"__symbolic":"method"}],"supportsAnimation":[{"__symbolic":"method"}]}}},"importAs":"@angular/platform-browser"}
import { ErrorHandler, ModuleWithProviders, PlatformRef, Provider } from '@angular/core';
import { AnimationDriver } from '../src/dom/animation_driver';
export declare const INTERNAL_BROWSER_PLATFORM_PROVIDERS: Provider[];

@@ -18,3 +17,2 @@ /**

export declare function _document(): any;
export declare function _resolveDefaultAnimationDriver(): AnimationDriver;
/**

@@ -21,0 +19,0 @@ * The ng module for the browser.

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

}
export declare function _createConditionalRootRenderer(rootRenderer: any, extraTokens: NgProbeToken[], coreTokens: core.NgProbeToken[]): any;
export declare function _createNgProbe(extraTokens: NgProbeToken[], coreTokens: core.NgProbeToken[]): any;
/**

@@ -27,0 +27,0 @@ * Providers which support debugging Angular applications (e.g. via `ng.probe`).

@@ -8,4 +8,3 @@ /**

*/
import { RenderComponentType, Renderer, RendererFactoryV2, RendererTypeV2, RendererV2, RootRenderer, ɵAnimationKeyframe as AnimationKeyframe, ɵAnimationPlayer as AnimationPlayer, ɵAnimationStyles as AnimationStyles, ɵDirectRenderer as DirectRenderer, ɵRenderDebugInfo as RenderDebugInfo } from '@angular/core';
import { AnimationDriver } from './animation_driver';
import { RendererFactoryV2, RendererTypeV2, RendererV2 } from '@angular/core';
import { EventManager } from './events/event_manager';

@@ -16,45 +15,2 @@ import { DomSharedStylesHost } from './shared_styles_host';

};
export declare abstract class DomRootRenderer implements RootRenderer {
document: Document;
eventManager: EventManager;
sharedStylesHost: DomSharedStylesHost;
animationDriver: AnimationDriver;
appId: string;
protected registeredComponents: Map<string, DomRenderer>;
constructor(document: Document, eventManager: EventManager, sharedStylesHost: DomSharedStylesHost, animationDriver: AnimationDriver, appId: string);
renderComponent(componentProto: RenderComponentType): Renderer;
}
export declare class DomRootRenderer_ extends DomRootRenderer {
constructor(_document: any, _eventManager: EventManager, sharedStylesHost: DomSharedStylesHost, animationDriver: AnimationDriver, appId: string);
}
export declare const DIRECT_DOM_RENDERER: DirectRenderer;
export declare class DomRenderer implements Renderer {
private _rootRenderer;
private componentProto;
private _animationDriver;
private _contentAttr;
private _hostAttr;
private _styles;
directRenderer: DirectRenderer;
constructor(_rootRenderer: DomRootRenderer, componentProto: RenderComponentType, _animationDriver: AnimationDriver, styleShimId: string);
selectRootElement(selectorOrNode: string | Element, debugInfo: RenderDebugInfo): Element;
createElement(parent: Element | DocumentFragment, name: string, debugInfo: RenderDebugInfo): Element;
createViewRoot(hostElement: Element): Element | DocumentFragment;
createTemplateAnchor(parentElement: Element | DocumentFragment, debugInfo: RenderDebugInfo): Comment;
createText(parentElement: Element | DocumentFragment, value: string, debugInfo: RenderDebugInfo): any;
projectNodes(parentElement: Element | DocumentFragment, nodes: Node[]): void;
attachViewAfter(node: Node, viewRootNodes: Node[]): void;
detachView(viewRootNodes: (Element | Text | Comment)[]): void;
destroyView(hostElement: Element | DocumentFragment, viewAllNodes: Node[]): void;
listen(renderElement: any, name: string, callback: Function): Function;
listenGlobal(target: string, name: string, callback: Function): Function;
setElementProperty(renderElement: Element | DocumentFragment, propertyName: string, propertyValue: any): void;
setElementAttribute(renderElement: Element, attributeName: string, attributeValue: string): void;
setBindingDebugInfo(renderElement: Element, propertyName: string, propertyValue: string): void;
setElementClass(renderElement: Element, className: string, isAdd: boolean): void;
setElementStyle(renderElement: HTMLElement, styleName: string, styleValue: string): void;
invokeElementMethod(renderElement: Element, methodName: string, args: any[]): void;
setText(renderNode: Text, text: string): void;
animate(element: any, startingStyles: AnimationStyles, keyframes: AnimationKeyframe[], duration: number, delay: number, easing: string, previousPlayers?: AnimationPlayer[]): AnimationPlayer;
}
export declare const COMPONENT_VARIABLE = "%COMP%";

@@ -66,4 +22,2 @@ export declare const HOST_ATTR: string;

export declare function flattenStyles(compId: string, styles: Array<any | any[]>, target: string[]): string[];
export declare function isNamespaced(name: string): boolean;
export declare function splitNamespace(name: string): string[];
export declare class DomRendererFactoryV2 implements RendererFactoryV2 {

@@ -70,0 +24,0 @@ private eventManager;

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

export { disableDebugTools, enableDebugTools } from './browser/tools/tools';
export { AnimationDriver } from './dom/animation_driver';
export { By } from './dom/debug/by';

@@ -15,0 +14,0 @@ export { NgProbeToken } from './dom/debug/ng_probe';

@@ -15,3 +15,3 @@ /**

export { DomAdapter as ɵDomAdapter, getDOM as ɵgetDOM, setRootDomAdapter as ɵsetRootDomAdapter } from './dom/dom_adapter';
export { DomRendererFactoryV2 as ɵDomRendererFactoryV2, DomRootRenderer as ɵDomRootRenderer, DomRootRenderer_ as ɵDomRootRenderer_, NAMESPACE_URIS as ɵNAMESPACE_URIS, flattenStyles as ɵflattenStyles, isNamespaced as ɵisNamespaced, shimContentAttribute as ɵshimContentAttribute, shimHostAttribute as ɵshimHostAttribute, splitNamespace as ɵsplitNamespace } from './dom/dom_renderer';
export { DomRendererFactoryV2 as ɵDomRendererFactoryV2, NAMESPACE_URIS as ɵNAMESPACE_URIS, flattenStyles as ɵflattenStyles, shimContentAttribute as ɵshimContentAttribute, shimHostAttribute as ɵshimHostAttribute } from './dom/dom_renderer';
export { DomEventsPlugin as ɵDomEventsPlugin } from './dom/events/dom_events';

@@ -21,2 +21,1 @@ export { HammerGesturesPlugin as ɵHammerGesturesPlugin } from './dom/events/hammer_gestures';

export { DomSharedStylesHost as ɵDomSharedStylesHost, SharedStylesHost as ɵSharedStylesHost } from './dom/shared_styles_host';
export { WebAnimationsDriver as ɵWebAnimationsDriver } from './dom/web_animations_driver';

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

[{"__symbolic":"module","version":3,"metadata":{"platformBrowserTesting":{"__symbolic":"error","message":"Reference to a local symbol","line":16,"character":6,"context":{"name":"_TEST_BROWSER_PLATFORM_PROVIDERS"}},"BrowserTestingModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule"},"arguments":[{"exports":[{"__symbolic":"reference","module":"@angular/platform-browser","name":"BrowserModule"}],"providers":[{"provide":{"__symbolic":"reference","module":"@angular/core","name":"APP_ID"},"useValue":"a"},{"__symbolic":"reference","module":"@angular/platform-browser","name":"ɵELEMENT_PROBE_PROVIDERS"},{"provide":{"__symbolic":"reference","module":"@angular/core","name":"NgZone"},"useFactory":{"__symbolic":"reference","module":"./browser_util","name":"createNgZone"}},{"provide":{"__symbolic":"reference","module":"@angular/platform-browser","name":"AnimationDriver"},"useValue":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/platform-browser","name":"AnimationDriver"},"member":"NOOP"}}]}]}]}}},{"__symbolic":"module","version":1,"metadata":{"platformBrowserTesting":{"__symbolic":"error","message":"Reference to a local symbol","line":16,"character":6,"context":{"name":"_TEST_BROWSER_PLATFORM_PROVIDERS"}},"BrowserTestingModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule"},"arguments":[{"exports":[{"__symbolic":"reference","module":"@angular/platform-browser","name":"BrowserModule"}],"providers":[{"provide":{"__symbolic":"reference","module":"@angular/core","name":"APP_ID"},"useValue":"a"},{"__symbolic":"reference","module":"@angular/platform-browser","name":"ɵELEMENT_PROBE_PROVIDERS"},{"provide":{"__symbolic":"reference","module":"@angular/core","name":"NgZone"},"useFactory":{"__symbolic":"reference","module":"./browser_util","name":"createNgZone"}},{"provide":{"__symbolic":"reference","module":"@angular/platform-browser","name":"AnimationDriver"},"useValue":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/platform-browser","name":"AnimationDriver"},"member":"NOOP"}}]}]}]}}}]
[{"__symbolic":"module","version":3,"metadata":{"platformBrowserTesting":{"__symbolic":"error","message":"Reference to a local symbol","line":16,"character":6,"context":{"name":"_TEST_BROWSER_PLATFORM_PROVIDERS"}},"BrowserTestingModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule"},"arguments":[{"exports":[{"__symbolic":"reference","module":"@angular/platform-browser","name":"BrowserModule"}],"providers":[{"provide":{"__symbolic":"reference","module":"@angular/core","name":"APP_ID"},"useValue":"a"},{"__symbolic":"reference","module":"@angular/platform-browser","name":"ɵELEMENT_PROBE_PROVIDERS"},{"provide":{"__symbolic":"reference","module":"@angular/core","name":"NgZone"},"useFactory":{"__symbolic":"reference","module":"./browser_util","name":"createNgZone"}}]}]}]}}},{"__symbolic":"module","version":1,"metadata":{"platformBrowserTesting":{"__symbolic":"error","message":"Reference to a local symbol","line":16,"character":6,"context":{"name":"_TEST_BROWSER_PLATFORM_PROVIDERS"}},"BrowserTestingModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule"},"arguments":[{"exports":[{"__symbolic":"reference","module":"@angular/platform-browser","name":"BrowserModule"}],"providers":[{"provide":{"__symbolic":"reference","module":"@angular/core","name":"APP_ID"},"useValue":"a"},{"__symbolic":"reference","module":"@angular/platform-browser","name":"ɵELEMENT_PROBE_PROVIDERS"},{"provide":{"__symbolic":"reference","module":"@angular/core","name":"NgZone"},"useFactory":{"__symbolic":"reference","module":"./browser_util","name":"createNgZone"}}]}]}]}}}]

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

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

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

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

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

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

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

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