@angular/platform-browser 9.1.0 → 9.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/animations/animations.d.ts +1 -1
- package/animations/animations.metadata.json +1 -1
- package/animations.d.ts +1 -1
- package/bundles/platform-browser-animations.umd.js +88 -32
- package/bundles/platform-browser-animations.umd.js.map +1 -1
- package/bundles/platform-browser-animations.umd.min.js +1 -1
- package/bundles/platform-browser-animations.umd.min.js.map +1 -1
- package/bundles/platform-browser-testing.umd.js +42 -11
- package/bundles/platform-browser-testing.umd.js.map +1 -1
- package/bundles/platform-browser-testing.umd.min.js +1 -1
- package/bundles/platform-browser-testing.umd.min.js.map +1 -1
- package/bundles/platform-browser.umd.js +182 -71
- package/bundles/platform-browser.umd.js.map +1 -1
- package/bundles/platform-browser.umd.min.js +7 -7
- package/bundles/platform-browser.umd.min.js.map +1 -1
- package/esm2015/animations/src/animation_builder.js +38 -19
- package/esm2015/animations/src/animation_renderer.js +31 -11
- package/esm2015/animations/src/providers.js +2 -2
- package/esm2015/index.js +1 -1
- package/esm2015/public_api.js +1 -1
- package/esm2015/src/browser/browser_adapter.js +43 -15
- package/esm2015/src/browser/generic_browser_adapter.js +7 -3
- package/esm2015/src/browser/meta.js +4 -2
- package/esm2015/src/browser/testability.js +4 -2
- package/esm2015/src/browser/title.js +7 -3
- package/esm2015/src/browser/tools/common_tools.js +4 -2
- package/esm2015/src/browser/transfer_state.js +10 -4
- package/esm2015/src/browser.js +2 -2
- package/esm2015/src/dom/debug/by.js +7 -5
- package/esm2015/src/dom/dom_renderer.js +34 -12
- package/esm2015/src/dom/events/dom_events.js +7 -3
- package/esm2015/src/dom/events/event_manager.js +4 -2
- package/esm2015/src/dom/events/hammer_gestures.js +13 -5
- package/esm2015/src/dom/events/key_events.js +7 -3
- package/esm2015/src/dom/shared_styles_host.js +14 -8
- package/esm2015/src/dom/util.js +1 -1
- package/esm2015/src/platform-browser.js +3 -3
- package/esm2015/src/private_export.js +3 -3
- package/esm2015/src/security/dom_sanitization_service.js +11 -5
- package/esm2015/src/version.js +1 -1
- package/esm2015/testing/src/browser.js +2 -2
- package/esm2015/testing/src/browser_util.js +25 -9
- package/esm2015/testing/src/matchers.js +22 -9
- package/esm5/animations/src/animation_builder.js +38 -19
- package/esm5/animations/src/animation_renderer.js +31 -11
- package/esm5/animations/src/providers.js +2 -2
- package/esm5/src/browser/browser_adapter.js +43 -15
- package/esm5/src/browser/generic_browser_adapter.js +4 -2
- package/esm5/src/browser/meta.js +4 -2
- package/esm5/src/browser/testability.js +4 -2
- package/esm5/src/browser/title.js +7 -3
- package/esm5/src/browser/tools/common_tools.js +1 -1
- package/esm5/src/browser/transfer_state.js +10 -4
- package/esm5/src/browser.js +2 -2
- package/esm5/src/dom/debug/by.js +4 -2
- package/esm5/src/dom/dom_renderer.js +34 -12
- package/esm5/src/dom/events/dom_events.js +4 -2
- package/esm5/src/dom/events/event_manager.js +4 -2
- package/esm5/src/dom/events/hammer_gestures.js +28 -20
- package/esm5/src/dom/events/key_events.js +8 -6
- package/esm5/src/dom/shared_styles_host.js +10 -4
- package/esm5/src/dom/util.js +1 -1
- package/esm5/src/platform-browser.js +2 -2
- package/esm5/src/private_export.js +3 -3
- package/esm5/src/security/dom_sanitization_service.js +11 -5
- package/esm5/src/version.js +1 -1
- package/esm5/testing/src/browser.js +2 -2
- package/esm5/testing/src/browser_util.js +22 -8
- package/esm5/testing/src/matchers.js +21 -8
- package/fesm2015/animations.js +68 -29
- package/fesm2015/animations.js.map +1 -1
- package/fesm2015/platform-browser.js +162 -60
- package/fesm2015/platform-browser.js.map +1 -1
- package/fesm2015/testing.js +25 -9
- package/fesm2015/testing.js.map +1 -1
- package/fesm5/animations.js +68 -29
- package/fesm5/animations.js.map +1 -1
- package/fesm5/platform-browser.js +162 -68
- package/fesm5/platform-browser.js.map +1 -1
- package/fesm5/testing.js +22 -8
- package/fesm5/testing.js.map +1 -1
- package/package.json +4 -4
- package/platform-browser.d.ts +20 -20
- package/platform-browser.metadata.json +1 -1
- package/testing/testing.d.ts +1 -1
- package/testing/testing.metadata.json +1 -1
- package/testing.d.ts +1 -1
package/fesm2015/testing.js
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
/**
|
2
|
-
* @license Angular v9.1.
|
2
|
+
* @license Angular v9.1.4
|
3
3
|
* (c) 2010-2020 Google LLC. https://angular.io/
|
4
4
|
* License: MIT
|
5
5
|
*/
|
@@ -17,7 +17,9 @@ class BrowserDetection {
|
|
17
17
|
/**
|
18
18
|
* @param {?} ua
|
19
19
|
*/
|
20
|
-
constructor(ua) {
|
20
|
+
constructor(ua) {
|
21
|
+
this._overrideUa = ua;
|
22
|
+
}
|
21
23
|
/**
|
22
24
|
* @private
|
23
25
|
* @return {?}
|
@@ -31,11 +33,15 @@ class BrowserDetection {
|
|
31
33
|
/**
|
32
34
|
* @return {?}
|
33
35
|
*/
|
34
|
-
static setup() {
|
36
|
+
static setup() {
|
37
|
+
return new BrowserDetection(null);
|
38
|
+
}
|
35
39
|
/**
|
36
40
|
* @return {?}
|
37
41
|
*/
|
38
|
-
get isFirefox() {
|
42
|
+
get isFirefox() {
|
43
|
+
return this._ua.indexOf('Firefox') > -1;
|
44
|
+
}
|
39
45
|
/**
|
40
46
|
* @return {?}
|
41
47
|
*/
|
@@ -47,11 +53,15 @@ class BrowserDetection {
|
|
47
53
|
/**
|
48
54
|
* @return {?}
|
49
55
|
*/
|
50
|
-
get isEdge() {
|
56
|
+
get isEdge() {
|
57
|
+
return this._ua.indexOf('Edge') > -1;
|
58
|
+
}
|
51
59
|
/**
|
52
60
|
* @return {?}
|
53
61
|
*/
|
54
|
-
get isIE() {
|
62
|
+
get isIE() {
|
63
|
+
return this._ua.indexOf('Trident') > -1;
|
64
|
+
}
|
55
65
|
/**
|
56
66
|
* @return {?}
|
57
67
|
*/
|
@@ -69,7 +79,9 @@ class BrowserDetection {
|
|
69
79
|
/**
|
70
80
|
* @return {?}
|
71
81
|
*/
|
72
|
-
get isSlow() {
|
82
|
+
get isSlow() {
|
83
|
+
return this.isAndroid || this.isIE || this.isIOS7;
|
84
|
+
}
|
73
85
|
// The Intl API is only natively supported in Chrome, Firefox, IE11 and Edge.
|
74
86
|
// This detector is needed in tests to make the difference between:
|
75
87
|
// 1) IE11/Edge: they have a native Intl API, but with some discrepancies
|
@@ -99,7 +111,9 @@ class BrowserDetection {
|
|
99
111
|
/**
|
100
112
|
* @return {?}
|
101
113
|
*/
|
102
|
-
get supportsCustomElements() {
|
114
|
+
get supportsCustomElements() {
|
115
|
+
return (typeof ((/** @type {?} */ (ɵglobal))).customElements !== 'undefined');
|
116
|
+
}
|
103
117
|
/**
|
104
118
|
* @return {?}
|
105
119
|
*/
|
@@ -109,7 +123,9 @@ class BrowserDetection {
|
|
109
123
|
/**
|
110
124
|
* @return {?}
|
111
125
|
*/
|
112
|
-
get supportsRegExUnicodeFlag() {
|
126
|
+
get supportsRegExUnicodeFlag() {
|
127
|
+
return RegExp.prototype.hasOwnProperty('unicode');
|
128
|
+
}
|
113
129
|
/**
|
114
130
|
* @return {?}
|
115
131
|
*/
|
package/fesm2015/testing.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"testing.js","sources":["../../../../../../packages/platform-browser/testing/src/browser_util.ts","../../../../../../packages/platform-browser/testing/src/browser.ts","../../../../../../packages/platform-browser/testing/testing.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {ɵgetDOM as getDOM} from '@angular/common';\nimport {NgZone, ɵglobal as global} from '@angular/core';\n\nexport class BrowserDetection {\n private _overrideUa: string|null;\n private get _ua(): string {\n if (typeof this._overrideUa === 'string') {\n return this._overrideUa;\n }\n\n return getDOM() ? getDOM().getUserAgent() : '';\n }\n\n static setup() { return new BrowserDetection(null); }\n\n constructor(ua: string|null) { this._overrideUa = ua; }\n\n get isFirefox(): boolean { return this._ua.indexOf('Firefox') > -1; }\n\n get isAndroid(): boolean {\n return this._ua.indexOf('Mozilla/5.0') > -1 && this._ua.indexOf('Android') > -1 &&\n this._ua.indexOf('AppleWebKit') > -1 && this._ua.indexOf('Chrome') == -1 &&\n this._ua.indexOf('IEMobile') == -1;\n }\n\n get isEdge(): boolean { return this._ua.indexOf('Edge') > -1; }\n\n get isIE(): boolean { return this._ua.indexOf('Trident') > -1; }\n\n get isWebkit(): boolean {\n return this._ua.indexOf('AppleWebKit') > -1 && this._ua.indexOf('Edge') == -1 &&\n this._ua.indexOf('IEMobile') == -1;\n }\n\n get isIOS7(): boolean {\n return (this._ua.indexOf('iPhone OS 7') > -1 || this._ua.indexOf('iPad OS 7') > -1) &&\n this._ua.indexOf('IEMobile') == -1;\n }\n\n get isSlow(): boolean { return this.isAndroid || this.isIE || this.isIOS7; }\n\n // The Intl API is only natively supported in Chrome, Firefox, IE11 and Edge.\n // This detector is needed in tests to make the difference between:\n // 1) IE11/Edge: they have a native Intl API, but with some discrepancies\n // 2) IE9/IE10: they use the polyfill, and so no discrepancies\n get supportsNativeIntlApi(): boolean {\n return !!(<any>global).Intl && (<any>global).Intl !== (<any>global).IntlPolyfill;\n }\n\n get isChromeDesktop(): boolean {\n return this._ua.indexOf('Chrome') > -1 && this._ua.indexOf('Mobile Safari') == -1 &&\n this._ua.indexOf('Edge') == -1;\n }\n\n // \"Old Chrome\" means Chrome 3X, where there are some discrepancies in the Intl API.\n // Android 4.4 and 5.X have such browsers by default (respectively 30 and 39).\n get isOldChrome(): boolean {\n return this._ua.indexOf('Chrome') > -1 && this._ua.indexOf('Chrome/3') > -1 &&\n this._ua.indexOf('Edge') == -1;\n }\n\n get supportsCustomElements() { return (typeof(<any>global).customElements !== 'undefined'); }\n\n get supportsDeprecatedCustomCustomElementsV0() {\n return (typeof(document as any).registerElement !== 'undefined');\n }\n\n get supportsRegExUnicodeFlag(): boolean { return RegExp.prototype.hasOwnProperty('unicode'); }\n\n get supportsShadowDom() {\n const testEl = document.createElement('div');\n return (typeof testEl.attachShadow !== 'undefined');\n }\n\n get supportsDeprecatedShadowDomV0() {\n const testEl = document.createElement('div') as any;\n return (typeof testEl.createShadowRoot !== 'undefined');\n }\n}\n\nexport const browserDetection: BrowserDetection = BrowserDetection.setup();\n\nexport function dispatchEvent(element: any, eventType: any): void {\n const evt: Event = getDOM().getDefaultDocument().createEvent('Event');\n evt.initEvent(eventType, true, true);\n getDOM().dispatchEvent(element, evt);\n}\n\nexport function createMouseEvent(eventType: string): MouseEvent {\n const evt: MouseEvent = getDOM().getDefaultDocument().createEvent('MouseEvent');\n evt.initEvent(eventType, true, true);\n return evt;\n}\n\nexport function el(html: string): HTMLElement {\n return <HTMLElement>getContent(createTemplate(html)).firstChild;\n}\n\nexport function normalizeCSS(css: string): string {\n return css.replace(/\\s+/g, ' ')\n .replace(/:\\s/g, ':')\n .replace(/'/g, '\"')\n .replace(/ }/g, '}')\n .replace(/url\\((\\\"|\\s)(.+)(\\\"|\\s)\\)(\\s*)/g, (...match: string[]) => `url(\"${match[2]}\")`)\n .replace(/\\[(.+)=([^\"\\]]+)\\]/g, (...match: string[]) => `[${match[1]}=\"${match[2]}\"]`);\n}\n\nfunction getAttributeMap(element: any): Map<string, string> {\n const res = new Map<string, string>();\n const elAttrs = element.attributes;\n for (let i = 0; i < elAttrs.length; i++) {\n const attrib = elAttrs.item(i);\n res.set(attrib.name, attrib.value);\n }\n return res;\n}\n\nconst _selfClosingTags = ['br', 'hr', 'input'];\nexport function stringifyElement(el: any /** TODO #9100 */): string {\n let result = '';\n if (getDOM().isElementNode(el)) {\n const tagName = el.tagName.toLowerCase();\n\n // Opening tag\n result += `<${tagName}`;\n\n // Attributes in an ordered way\n const attributeMap = getAttributeMap(el);\n const sortedKeys = Array.from(attributeMap.keys()).sort();\n for (const key of sortedKeys) {\n const lowerCaseKey = key.toLowerCase();\n let attValue = attributeMap.get(key);\n\n if (typeof attValue !== 'string') {\n result += ` ${lowerCaseKey}`;\n } else {\n // Browsers order style rules differently. Order them alphabetically for consistency.\n if (lowerCaseKey === 'style') {\n attValue = attValue.split(/; ?/).filter(s => !!s).sort().map(s => `${s};`).join(' ');\n }\n\n result += ` ${lowerCaseKey}=\"${attValue}\"`;\n }\n }\n result += '>';\n\n // Children\n const childrenRoot = templateAwareRoot(el);\n const children = childrenRoot ? childrenRoot.childNodes : [];\n for (let j = 0; j < children.length; j++) {\n result += stringifyElement(children[j]);\n }\n\n // Closing tag\n if (_selfClosingTags.indexOf(tagName) == -1) {\n result += `</${tagName}>`;\n }\n } else if (isCommentNode(el)) {\n result += `<!--${el.nodeValue}-->`;\n } else {\n result += el.textContent;\n }\n\n return result;\n}\n\nexport function createNgZone(): NgZone {\n return new NgZone({enableLongStackTrace: true, shouldCoalesceEventChangeDetection: false});\n}\n\nexport function isCommentNode(node: Node): boolean {\n return node.nodeType === Node.COMMENT_NODE;\n}\n\nexport function isTextNode(node: Node): boolean {\n return node.nodeType === Node.TEXT_NODE;\n}\n\nexport function getContent(node: Node): Node {\n if ('content' in node) {\n return (<any>node).content;\n } else {\n return node;\n }\n}\n\nexport function templateAwareRoot(el: Node): any {\n return getDOM().isElementNode(el) && el.nodeName === 'TEMPLATE' ? getContent(el) : el;\n}\n\nexport function setCookie(name: string, value: string) {\n // document.cookie is magical, assigning into it assigns/overrides one cookie value, but does\n // not clear other cookies.\n document.cookie = encodeURIComponent(name) + '=' + encodeURIComponent(value);\n}\n\nexport function supportsWebAnimation(): boolean {\n return typeof(<any>Element).prototype['animate'] === 'function';\n}\n\nexport function hasStyle(element: any, styleName: string, styleValue?: string | null): boolean {\n const value = element.style[styleName] || '';\n return styleValue ? value == styleValue : value.length > 0;\n}\n\nexport function hasClass(element: any, className: string): boolean {\n return element.classList.contains(className);\n}\n\nexport function sortedClassList(element: any): any[] {\n return Array.prototype.slice.call(element.classList, 0).sort();\n}\n\nexport function createTemplate(html: any): HTMLElement {\n const t = getDOM().getDefaultDocument().createElement('template');\n t.innerHTML = html;\n return t;\n}\n\nexport function childNodesAsList(el: Node): any[] {\n const childNodes = el.childNodes;\n const res = [];\n for (let i = 0; i < childNodes.length; i++) {\n res[i] = childNodes[i];\n }\n return res;\n}\n","/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {APP_ID, NgModule, NgZone, PLATFORM_INITIALIZER, PlatformRef, StaticProvider, createPlatformFactory, platformCore} from '@angular/core';\nimport {BrowserModule, ɵBrowserDomAdapter as BrowserDomAdapter, ɵELEMENT_PROBE_PROVIDERS as ELEMENT_PROBE_PROVIDERS} from '@angular/platform-browser';\nimport {BrowserDetection, createNgZone} from './browser_util';\n\nfunction initBrowserTests() {\n BrowserDomAdapter.makeCurrent();\n BrowserDetection.setup();\n}\n\nconst _TEST_BROWSER_PLATFORM_PROVIDERS: StaticProvider[] =\n [{provide: PLATFORM_INITIALIZER, useValue: initBrowserTests, multi: true}];\n\n/**\n * Platform for testing\n *\n * @publicApi\n */\nexport const platformBrowserTesting =\n createPlatformFactory(platformCore, 'browserTesting', _TEST_BROWSER_PLATFORM_PROVIDERS);\n\n/**\n * NgModule for testing.\n *\n * @publicApi\n */\n@NgModule({\n exports: [BrowserModule],\n providers: [\n {provide: APP_ID, useValue: 'a'},\n ELEMENT_PROBE_PROVIDERS,\n {provide: NgZone, useFactory: createNgZone},\n ]\n})\nexport class BrowserTestingModule {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n\nexport {createNgZone as ɵangular_packages_platform_browser_testing_testing_a} from './src/browser_util';"],"names":["getDOM","global","BrowserDomAdapter","ELEMENT_PROBE_PROVIDERS"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"testing.js","sources":["../../../../../../packages/platform-browser/testing/src/browser_util.ts","../../../../../../packages/platform-browser/testing/src/browser.ts","../../../../../../packages/platform-browser/testing/testing.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {ɵgetDOM as getDOM} from '@angular/common';\nimport {NgZone, ɵglobal as global} from '@angular/core';\n\nexport class BrowserDetection {\n private _overrideUa: string|null;\n private get _ua(): string {\n if (typeof this._overrideUa === 'string') {\n return this._overrideUa;\n }\n\n return getDOM() ? getDOM().getUserAgent() : '';\n }\n\n static setup() {\n return new BrowserDetection(null);\n }\n\n constructor(ua: string|null) {\n this._overrideUa = ua;\n }\n\n get isFirefox(): boolean {\n return this._ua.indexOf('Firefox') > -1;\n }\n\n get isAndroid(): boolean {\n return this._ua.indexOf('Mozilla/5.0') > -1 && this._ua.indexOf('Android') > -1 &&\n this._ua.indexOf('AppleWebKit') > -1 && this._ua.indexOf('Chrome') == -1 &&\n this._ua.indexOf('IEMobile') == -1;\n }\n\n get isEdge(): boolean {\n return this._ua.indexOf('Edge') > -1;\n }\n\n get isIE(): boolean {\n return this._ua.indexOf('Trident') > -1;\n }\n\n get isWebkit(): boolean {\n return this._ua.indexOf('AppleWebKit') > -1 && this._ua.indexOf('Edge') == -1 &&\n this._ua.indexOf('IEMobile') == -1;\n }\n\n get isIOS7(): boolean {\n return (this._ua.indexOf('iPhone OS 7') > -1 || this._ua.indexOf('iPad OS 7') > -1) &&\n this._ua.indexOf('IEMobile') == -1;\n }\n\n get isSlow(): boolean {\n return this.isAndroid || this.isIE || this.isIOS7;\n }\n\n // The Intl API is only natively supported in Chrome, Firefox, IE11 and Edge.\n // This detector is needed in tests to make the difference between:\n // 1) IE11/Edge: they have a native Intl API, but with some discrepancies\n // 2) IE9/IE10: they use the polyfill, and so no discrepancies\n get supportsNativeIntlApi(): boolean {\n return !!(<any>global).Intl && (<any>global).Intl !== (<any>global).IntlPolyfill;\n }\n\n get isChromeDesktop(): boolean {\n return this._ua.indexOf('Chrome') > -1 && this._ua.indexOf('Mobile Safari') == -1 &&\n this._ua.indexOf('Edge') == -1;\n }\n\n // \"Old Chrome\" means Chrome 3X, where there are some discrepancies in the Intl API.\n // Android 4.4 and 5.X have such browsers by default (respectively 30 and 39).\n get isOldChrome(): boolean {\n return this._ua.indexOf('Chrome') > -1 && this._ua.indexOf('Chrome/3') > -1 &&\n this._ua.indexOf('Edge') == -1;\n }\n\n get supportsCustomElements() {\n return (typeof (<any>global).customElements !== 'undefined');\n }\n\n get supportsDeprecatedCustomCustomElementsV0() {\n return (typeof (document as any).registerElement !== 'undefined');\n }\n\n get supportsRegExUnicodeFlag(): boolean {\n return RegExp.prototype.hasOwnProperty('unicode');\n }\n\n get supportsShadowDom() {\n const testEl = document.createElement('div');\n return (typeof testEl.attachShadow !== 'undefined');\n }\n\n get supportsDeprecatedShadowDomV0() {\n const testEl = document.createElement('div') as any;\n return (typeof testEl.createShadowRoot !== 'undefined');\n }\n}\n\nexport const browserDetection: BrowserDetection = BrowserDetection.setup();\n\nexport function dispatchEvent(element: any, eventType: any): void {\n const evt: Event = getDOM().getDefaultDocument().createEvent('Event');\n evt.initEvent(eventType, true, true);\n getDOM().dispatchEvent(element, evt);\n}\n\nexport function createMouseEvent(eventType: string): MouseEvent {\n const evt: MouseEvent = getDOM().getDefaultDocument().createEvent('MouseEvent');\n evt.initEvent(eventType, true, true);\n return evt;\n}\n\nexport function el(html: string): HTMLElement {\n return <HTMLElement>getContent(createTemplate(html)).firstChild;\n}\n\nexport function normalizeCSS(css: string): string {\n return css.replace(/\\s+/g, ' ')\n .replace(/:\\s/g, ':')\n .replace(/'/g, '\"')\n .replace(/ }/g, '}')\n .replace(/url\\((\\\"|\\s)(.+)(\\\"|\\s)\\)(\\s*)/g, (...match: string[]) => `url(\"${match[2]}\")`)\n .replace(/\\[(.+)=([^\"\\]]+)\\]/g, (...match: string[]) => `[${match[1]}=\"${match[2]}\"]`);\n}\n\nfunction getAttributeMap(element: any): Map<string, string> {\n const res = new Map<string, string>();\n const elAttrs = element.attributes;\n for (let i = 0; i < elAttrs.length; i++) {\n const attrib = elAttrs.item(i);\n res.set(attrib.name, attrib.value);\n }\n return res;\n}\n\nconst _selfClosingTags = ['br', 'hr', 'input'];\nexport function stringifyElement(el: any /** TODO #9100 */): string {\n let result = '';\n if (getDOM().isElementNode(el)) {\n const tagName = el.tagName.toLowerCase();\n\n // Opening tag\n result += `<${tagName}`;\n\n // Attributes in an ordered way\n const attributeMap = getAttributeMap(el);\n const sortedKeys = Array.from(attributeMap.keys()).sort();\n for (const key of sortedKeys) {\n const lowerCaseKey = key.toLowerCase();\n let attValue = attributeMap.get(key);\n\n if (typeof attValue !== 'string') {\n result += ` ${lowerCaseKey}`;\n } else {\n // Browsers order style rules differently. Order them alphabetically for consistency.\n if (lowerCaseKey === 'style') {\n attValue = attValue.split(/; ?/).filter(s => !!s).sort().map(s => `${s};`).join(' ');\n }\n\n result += ` ${lowerCaseKey}=\"${attValue}\"`;\n }\n }\n result += '>';\n\n // Children\n const childrenRoot = templateAwareRoot(el);\n const children = childrenRoot ? childrenRoot.childNodes : [];\n for (let j = 0; j < children.length; j++) {\n result += stringifyElement(children[j]);\n }\n\n // Closing tag\n if (_selfClosingTags.indexOf(tagName) == -1) {\n result += `</${tagName}>`;\n }\n } else if (isCommentNode(el)) {\n result += `<!--${el.nodeValue}-->`;\n } else {\n result += el.textContent;\n }\n\n return result;\n}\n\nexport function createNgZone(): NgZone {\n return new NgZone({enableLongStackTrace: true, shouldCoalesceEventChangeDetection: false});\n}\n\nexport function isCommentNode(node: Node): boolean {\n return node.nodeType === Node.COMMENT_NODE;\n}\n\nexport function isTextNode(node: Node): boolean {\n return node.nodeType === Node.TEXT_NODE;\n}\n\nexport function getContent(node: Node): Node {\n if ('content' in node) {\n return (<any>node).content;\n } else {\n return node;\n }\n}\n\nexport function templateAwareRoot(el: Node): any {\n return getDOM().isElementNode(el) && el.nodeName === 'TEMPLATE' ? getContent(el) : el;\n}\n\nexport function setCookie(name: string, value: string) {\n // document.cookie is magical, assigning into it assigns/overrides one cookie value, but does\n // not clear other cookies.\n document.cookie = encodeURIComponent(name) + '=' + encodeURIComponent(value);\n}\n\nexport function supportsWebAnimation(): boolean {\n return typeof (<any>Element).prototype['animate'] === 'function';\n}\n\nexport function hasStyle(element: any, styleName: string, styleValue?: string|null): boolean {\n const value = element.style[styleName] || '';\n return styleValue ? value == styleValue : value.length > 0;\n}\n\nexport function hasClass(element: any, className: string): boolean {\n return element.classList.contains(className);\n}\n\nexport function sortedClassList(element: any): any[] {\n return Array.prototype.slice.call(element.classList, 0).sort();\n}\n\nexport function createTemplate(html: any): HTMLElement {\n const t = getDOM().getDefaultDocument().createElement('template');\n t.innerHTML = html;\n return t;\n}\n\nexport function childNodesAsList(el: Node): any[] {\n const childNodes = el.childNodes;\n const res = [];\n for (let i = 0; i < childNodes.length; i++) {\n res[i] = childNodes[i];\n }\n return res;\n}\n","/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {APP_ID, createPlatformFactory, NgModule, NgZone, PLATFORM_INITIALIZER, platformCore, PlatformRef, StaticProvider} from '@angular/core';\nimport {BrowserModule, ɵBrowserDomAdapter as BrowserDomAdapter, ɵELEMENT_PROBE_PROVIDERS as ELEMENT_PROBE_PROVIDERS} from '@angular/platform-browser';\n\nimport {BrowserDetection, createNgZone} from './browser_util';\n\nfunction initBrowserTests() {\n BrowserDomAdapter.makeCurrent();\n BrowserDetection.setup();\n}\n\nconst _TEST_BROWSER_PLATFORM_PROVIDERS: StaticProvider[] =\n [{provide: PLATFORM_INITIALIZER, useValue: initBrowserTests, multi: true}];\n\n/**\n * Platform for testing\n *\n * @publicApi\n */\nexport const platformBrowserTesting =\n createPlatformFactory(platformCore, 'browserTesting', _TEST_BROWSER_PLATFORM_PROVIDERS);\n\n/**\n * NgModule for testing.\n *\n * @publicApi\n */\n@NgModule({\n exports: [BrowserModule],\n providers: [\n {provide: APP_ID, useValue: 'a'},\n ELEMENT_PROBE_PROVIDERS,\n {provide: NgZone, useFactory: createNgZone},\n ]\n})\nexport class BrowserTestingModule {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n\nexport {createNgZone as ɵangular_packages_platform_browser_testing_testing_a} from './src/browser_util';"],"names":["getDOM","global","BrowserDomAdapter","ELEMENT_PROBE_PROVIDERS"],"mappings":"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"}
|
package/fesm5/animations.js
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
/**
|
2
|
-
* @license Angular v9.1.
|
2
|
+
* @license Angular v9.1.4
|
3
3
|
* (c) 2010-2020 Google LLC. https://angular.io/
|
4
4
|
* License: MIT
|
5
5
|
*/
|
@@ -16,12 +16,7 @@ var BrowserAnimationBuilder = /** @class */ (function (_super) {
|
|
16
16
|
function BrowserAnimationBuilder(rootRenderer, doc) {
|
17
17
|
var _this = _super.call(this) || this;
|
18
18
|
_this._nextAnimationId = 0;
|
19
|
-
var typeData = {
|
20
|
-
id: '0',
|
21
|
-
encapsulation: ViewEncapsulation.None,
|
22
|
-
styles: [],
|
23
|
-
data: { animation: [] }
|
24
|
-
};
|
19
|
+
var typeData = { id: '0', encapsulation: ViewEncapsulation.None, styles: [], data: { animation: [] } };
|
25
20
|
_this._renderer = rootRenderer.createRenderer(doc.body, typeData);
|
26
21
|
return _this;
|
27
22
|
}
|
@@ -72,22 +67,46 @@ var RendererAnimationPlayer = /** @class */ (function () {
|
|
72
67
|
}
|
73
68
|
return issueAnimationCommand(this._renderer, this.element, this.id, command, args);
|
74
69
|
};
|
75
|
-
RendererAnimationPlayer.prototype.onDone = function (fn) {
|
76
|
-
|
77
|
-
|
78
|
-
RendererAnimationPlayer.prototype.
|
79
|
-
|
70
|
+
RendererAnimationPlayer.prototype.onDone = function (fn) {
|
71
|
+
this._listen('done', fn);
|
72
|
+
};
|
73
|
+
RendererAnimationPlayer.prototype.onStart = function (fn) {
|
74
|
+
this._listen('start', fn);
|
75
|
+
};
|
76
|
+
RendererAnimationPlayer.prototype.onDestroy = function (fn) {
|
77
|
+
this._listen('destroy', fn);
|
78
|
+
};
|
79
|
+
RendererAnimationPlayer.prototype.init = function () {
|
80
|
+
this._command('init');
|
81
|
+
};
|
82
|
+
RendererAnimationPlayer.prototype.hasStarted = function () {
|
83
|
+
return this._started;
|
84
|
+
};
|
80
85
|
RendererAnimationPlayer.prototype.play = function () {
|
81
86
|
this._command('play');
|
82
87
|
this._started = true;
|
83
88
|
};
|
84
|
-
RendererAnimationPlayer.prototype.pause = function () {
|
85
|
-
|
86
|
-
|
87
|
-
RendererAnimationPlayer.prototype.
|
88
|
-
|
89
|
-
|
90
|
-
RendererAnimationPlayer.prototype.
|
89
|
+
RendererAnimationPlayer.prototype.pause = function () {
|
90
|
+
this._command('pause');
|
91
|
+
};
|
92
|
+
RendererAnimationPlayer.prototype.restart = function () {
|
93
|
+
this._command('restart');
|
94
|
+
};
|
95
|
+
RendererAnimationPlayer.prototype.finish = function () {
|
96
|
+
this._command('finish');
|
97
|
+
};
|
98
|
+
RendererAnimationPlayer.prototype.destroy = function () {
|
99
|
+
this._command('destroy');
|
100
|
+
};
|
101
|
+
RendererAnimationPlayer.prototype.reset = function () {
|
102
|
+
this._command('reset');
|
103
|
+
};
|
104
|
+
RendererAnimationPlayer.prototype.setPosition = function (p) {
|
105
|
+
this._command('setPosition', p);
|
106
|
+
};
|
107
|
+
RendererAnimationPlayer.prototype.getPosition = function () {
|
108
|
+
return 0;
|
109
|
+
};
|
91
110
|
return RendererAnimationPlayer;
|
92
111
|
}());
|
93
112
|
function issueAnimationCommand(renderer, element, id, command, args) {
|
@@ -157,7 +176,9 @@ var AnimationRendererFactory = /** @class */ (function () {
|
|
157
176
|
AnimationRendererFactory.prototype._scheduleCountTask = function () {
|
158
177
|
var _this = this;
|
159
178
|
// always use promise to schedule microtask instead of use Zone
|
160
|
-
this.promise.then(function () {
|
179
|
+
this.promise.then(function () {
|
180
|
+
_this._microtaskId++;
|
181
|
+
});
|
161
182
|
};
|
162
183
|
/** @internal */
|
163
184
|
AnimationRendererFactory.prototype.scheduleListenerCallback = function (count, fn, data) {
|
@@ -194,7 +215,9 @@ var AnimationRendererFactory = /** @class */ (function () {
|
|
194
215
|
this.delegate.end();
|
195
216
|
}
|
196
217
|
};
|
197
|
-
AnimationRendererFactory.prototype.whenRenderingDone = function () {
|
218
|
+
AnimationRendererFactory.prototype.whenRenderingDone = function () {
|
219
|
+
return this.engine.whenRenderingDone();
|
220
|
+
};
|
198
221
|
AnimationRendererFactory = __decorate([
|
199
222
|
Injectable(),
|
200
223
|
__metadata("design:paramtypes", [RendererFactory2, ɵAnimationEngine, NgZone])
|
@@ -209,7 +232,9 @@ var BaseAnimationRenderer = /** @class */ (function () {
|
|
209
232
|
this.destroyNode = this.delegate.destroyNode ? function (n) { return delegate.destroyNode(n); } : null;
|
210
233
|
}
|
211
234
|
Object.defineProperty(BaseAnimationRenderer.prototype, "data", {
|
212
|
-
get: function () {
|
235
|
+
get: function () {
|
236
|
+
return this.delegate.data;
|
237
|
+
},
|
213
238
|
enumerable: true,
|
214
239
|
configurable: true
|
215
240
|
});
|
@@ -220,8 +245,12 @@ var BaseAnimationRenderer = /** @class */ (function () {
|
|
220
245
|
BaseAnimationRenderer.prototype.createElement = function (name, namespace) {
|
221
246
|
return this.delegate.createElement(name, namespace);
|
222
247
|
};
|
223
|
-
BaseAnimationRenderer.prototype.createComment = function (value) {
|
224
|
-
|
248
|
+
BaseAnimationRenderer.prototype.createComment = function (value) {
|
249
|
+
return this.delegate.createComment(value);
|
250
|
+
};
|
251
|
+
BaseAnimationRenderer.prototype.createText = function (value) {
|
252
|
+
return this.delegate.createText(value);
|
253
|
+
};
|
225
254
|
BaseAnimationRenderer.prototype.appendChild = function (parent, newChild) {
|
226
255
|
this.delegate.appendChild(parent, newChild);
|
227
256
|
this.engine.onInsert(this.namespaceId, newChild, parent, false);
|
@@ -236,16 +265,24 @@ var BaseAnimationRenderer = /** @class */ (function () {
|
|
236
265
|
BaseAnimationRenderer.prototype.selectRootElement = function (selectorOrNode, preserveContent) {
|
237
266
|
return this.delegate.selectRootElement(selectorOrNode, preserveContent);
|
238
267
|
};
|
239
|
-
BaseAnimationRenderer.prototype.parentNode = function (node) {
|
240
|
-
|
268
|
+
BaseAnimationRenderer.prototype.parentNode = function (node) {
|
269
|
+
return this.delegate.parentNode(node);
|
270
|
+
};
|
271
|
+
BaseAnimationRenderer.prototype.nextSibling = function (node) {
|
272
|
+
return this.delegate.nextSibling(node);
|
273
|
+
};
|
241
274
|
BaseAnimationRenderer.prototype.setAttribute = function (el, name, value, namespace) {
|
242
275
|
this.delegate.setAttribute(el, name, value, namespace);
|
243
276
|
};
|
244
277
|
BaseAnimationRenderer.prototype.removeAttribute = function (el, name, namespace) {
|
245
278
|
this.delegate.removeAttribute(el, name, namespace);
|
246
279
|
};
|
247
|
-
BaseAnimationRenderer.prototype.addClass = function (el, name) {
|
248
|
-
|
280
|
+
BaseAnimationRenderer.prototype.addClass = function (el, name) {
|
281
|
+
this.delegate.addClass(el, name);
|
282
|
+
};
|
283
|
+
BaseAnimationRenderer.prototype.removeClass = function (el, name) {
|
284
|
+
this.delegate.removeClass(el, name);
|
285
|
+
};
|
249
286
|
BaseAnimationRenderer.prototype.setStyle = function (el, style, value, flags) {
|
250
287
|
this.delegate.setStyle(el, style, value, flags);
|
251
288
|
};
|
@@ -260,7 +297,9 @@ var BaseAnimationRenderer = /** @class */ (function () {
|
|
260
297
|
this.delegate.setProperty(el, name, value);
|
261
298
|
}
|
262
299
|
};
|
263
|
-
BaseAnimationRenderer.prototype.setValue = function (node, value) {
|
300
|
+
BaseAnimationRenderer.prototype.setValue = function (node, value) {
|
301
|
+
this.delegate.setValue(node, value);
|
302
|
+
};
|
264
303
|
BaseAnimationRenderer.prototype.listen = function (target, eventName, callback) {
|
265
304
|
return this.delegate.listen(target, eventName, callback);
|
266
305
|
};
|
package/fesm5/animations.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"animations.js","sources":["../../../../../../packages/platform-browser/animations/src/animation_builder.ts","../../../../../../packages/platform-browser/animations/src/animation_renderer.ts","../../../../../../packages/platform-browser/animations/src/providers.ts","../../../../../../packages/platform-browser/animations/src/module.ts","../../../../../../packages/platform-browser/animations/src/private_export.ts","../../../../../../packages/platform-browser/animations/src/animations.ts","../../../../../../packages/platform-browser/animations/public_api.ts","../../../../../../packages/platform-browser/animations/index.ts","../../../../../../packages/platform-browser/animations/animations.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {AnimationBuilder, AnimationFactory, AnimationMetadata, AnimationOptions, AnimationPlayer, sequence} from '@angular/animations';\nimport {DOCUMENT} from '@angular/common';\nimport {Inject, Injectable, RendererFactory2, RendererType2, ViewEncapsulation} from '@angular/core';\n\nimport {AnimationRenderer} from './animation_renderer';\n\n@Injectable()\nexport class BrowserAnimationBuilder extends AnimationBuilder {\n private _nextAnimationId = 0;\n private _renderer: AnimationRenderer;\n\n constructor(rootRenderer: RendererFactory2, @Inject(DOCUMENT) doc: any) {\n super();\n const typeData = {\n id: '0',\n encapsulation: ViewEncapsulation.None,\n styles: [],\n data: {animation: []}\n } as RendererType2;\n this._renderer = rootRenderer.createRenderer(doc.body, typeData) as AnimationRenderer;\n }\n\n build(animation: AnimationMetadata|AnimationMetadata[]): AnimationFactory {\n const id = this._nextAnimationId.toString();\n this._nextAnimationId++;\n const entry = Array.isArray(animation) ? sequence(animation) : animation;\n issueAnimationCommand(this._renderer, null, id, 'register', [entry]);\n return new BrowserAnimationFactory(id, this._renderer);\n }\n}\n\nexport class BrowserAnimationFactory extends AnimationFactory {\n constructor(private _id: string, private _renderer: AnimationRenderer) { super(); }\n\n create(element: any, options?: AnimationOptions): AnimationPlayer {\n return new RendererAnimationPlayer(this._id, element, options || {}, this._renderer);\n }\n}\n\nexport class RendererAnimationPlayer implements AnimationPlayer {\n public parentPlayer: AnimationPlayer|null = null;\n private _started = false;\n\n constructor(\n public id: string, public element: any, options: AnimationOptions,\n private _renderer: AnimationRenderer) {\n this._command('create', options);\n }\n\n private _listen(eventName: string, callback: (event: any) => any): () => void {\n return this._renderer.listen(this.element, `@@${this.id}:${eventName}`, callback);\n }\n\n private _command(command: string, ...args: any[]) {\n return issueAnimationCommand(this._renderer, this.element, this.id, command, args);\n }\n\n onDone(fn: () => void): void { this._listen('done', fn); }\n\n onStart(fn: () => void): void { this._listen('start', fn); }\n\n onDestroy(fn: () => void): void { this._listen('destroy', fn); }\n\n init(): void { this._command('init'); }\n\n hasStarted(): boolean { return this._started; }\n\n play(): void {\n this._command('play');\n this._started = true;\n }\n\n pause(): void { this._command('pause'); }\n\n restart(): void { this._command('restart'); }\n\n finish(): void { this._command('finish'); }\n\n destroy(): void { this._command('destroy'); }\n\n reset(): void { this._command('reset'); }\n\n setPosition(p: number): void { this._command('setPosition', p); }\n\n getPosition(): number { return 0; }\n\n public totalTime = 0;\n}\n\nfunction issueAnimationCommand(\n renderer: AnimationRenderer, element: any, id: string, command: string, args: any[]): any {\n return renderer.setProperty(element, `@@${id}:${command}`, args);\n}\n","/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {AnimationTriggerMetadata} from '@angular/animations';\nimport {ɵAnimationEngine as AnimationEngine} from '@angular/animations/browser';\nimport {Injectable, NgZone, Renderer2, RendererFactory2, RendererStyleFlags2, RendererType2} from '@angular/core';\n\nconst ANIMATION_PREFIX = '@';\nconst DISABLE_ANIMATIONS_FLAG = '@.disabled';\n\n// Define a recursive type to allow for nested arrays of `AnimationTriggerMetadata`. Note that an\n// interface declaration is used as TypeScript prior to 3.7 does not support recursive type\n// references, see https://github.com/microsoft/TypeScript/pull/33050 for details.\ntype NestedAnimationTriggerMetadata = AnimationTriggerMetadata | RecursiveAnimationTriggerMetadata;\ninterface RecursiveAnimationTriggerMetadata extends Array<NestedAnimationTriggerMetadata> {}\n\n@Injectable()\nexport class AnimationRendererFactory implements RendererFactory2 {\n private _currentId: number = 0;\n private _microtaskId: number = 1;\n private _animationCallbacksBuffer: [(e: any) => any, any][] = [];\n private _rendererCache = new Map<Renderer2, BaseAnimationRenderer>();\n private _cdRecurDepth = 0;\n private promise: Promise<any> = Promise.resolve(0);\n\n constructor(\n private delegate: RendererFactory2, private engine: AnimationEngine, private _zone: NgZone) {\n engine.onRemovalComplete = (element: any, delegate: Renderer2) => {\n // Note: if an component element has a leave animation, and the component\n // a host leave animation, the view engine will call `removeChild` for the parent\n // component renderer as well as for the child component renderer.\n // Therefore, we need to check if we already removed the element.\n if (delegate && delegate.parentNode(element)) {\n delegate.removeChild(element.parentNode, element);\n }\n };\n }\n\n createRenderer(hostElement: any, type: RendererType2): Renderer2 {\n const EMPTY_NAMESPACE_ID = '';\n\n // cache the delegates to find out which cached delegate can\n // be used by which cached renderer\n const delegate = this.delegate.createRenderer(hostElement, type);\n if (!hostElement || !type || !type.data || !type.data['animation']) {\n let renderer: BaseAnimationRenderer|undefined = this._rendererCache.get(delegate);\n if (!renderer) {\n renderer = new BaseAnimationRenderer(EMPTY_NAMESPACE_ID, delegate, this.engine);\n // only cache this result when the base renderer is used\n this._rendererCache.set(delegate, renderer);\n }\n return renderer;\n }\n\n const componentId = type.id;\n const namespaceId = type.id + '-' + this._currentId;\n this._currentId++;\n\n this.engine.register(namespaceId, hostElement);\n\n const registerTrigger = (trigger: NestedAnimationTriggerMetadata) => {\n if (Array.isArray(trigger)) {\n trigger.forEach(registerTrigger);\n } else {\n this.engine.registerTrigger(componentId, namespaceId, hostElement, trigger.name, trigger);\n }\n };\n const animationTriggers = type.data['animation'] as NestedAnimationTriggerMetadata[];\n animationTriggers.forEach(registerTrigger);\n\n return new AnimationRenderer(this, namespaceId, delegate, this.engine);\n }\n\n begin() {\n this._cdRecurDepth++;\n if (this.delegate.begin) {\n this.delegate.begin();\n }\n }\n\n private _scheduleCountTask() {\n // always use promise to schedule microtask instead of use Zone\n this.promise.then(() => { this._microtaskId++; });\n }\n\n /** @internal */\n scheduleListenerCallback(count: number, fn: (e: any) => any, data: any) {\n if (count >= 0 && count < this._microtaskId) {\n this._zone.run(() => fn(data));\n return;\n }\n\n if (this._animationCallbacksBuffer.length == 0) {\n Promise.resolve(null).then(() => {\n this._zone.run(() => {\n this._animationCallbacksBuffer.forEach(tuple => {\n const [fn, data] = tuple;\n fn(data);\n });\n this._animationCallbacksBuffer = [];\n });\n });\n }\n\n this._animationCallbacksBuffer.push([fn, data]);\n }\n\n end() {\n this._cdRecurDepth--;\n\n // this is to prevent animations from running twice when an inner\n // component does CD when a parent component instead has inserted it\n if (this._cdRecurDepth == 0) {\n this._zone.runOutsideAngular(() => {\n this._scheduleCountTask();\n this.engine.flush(this._microtaskId);\n });\n }\n if (this.delegate.end) {\n this.delegate.end();\n }\n }\n\n whenRenderingDone(): Promise<any> { return this.engine.whenRenderingDone(); }\n}\n\nexport class BaseAnimationRenderer implements Renderer2 {\n constructor(\n protected namespaceId: string, public delegate: Renderer2, public engine: AnimationEngine) {\n this.destroyNode = this.delegate.destroyNode ? (n) => delegate.destroyNode !(n) : null;\n }\n\n get data() { return this.delegate.data; }\n\n destroyNode: ((n: any) => void)|null;\n\n destroy(): void {\n this.engine.destroy(this.namespaceId, this.delegate);\n this.delegate.destroy();\n }\n\n createElement(name: string, namespace?: string|null|undefined) {\n return this.delegate.createElement(name, namespace);\n }\n\n createComment(value: string) { return this.delegate.createComment(value); }\n\n createText(value: string) { return this.delegate.createText(value); }\n\n appendChild(parent: any, newChild: any): void {\n this.delegate.appendChild(parent, newChild);\n this.engine.onInsert(this.namespaceId, newChild, parent, false);\n }\n\n insertBefore(parent: any, newChild: any, refChild: any): void {\n this.delegate.insertBefore(parent, newChild, refChild);\n this.engine.onInsert(this.namespaceId, newChild, parent, true);\n }\n\n removeChild(parent: any, oldChild: any, isHostElement: boolean): void {\n this.engine.onRemove(this.namespaceId, oldChild, this.delegate, isHostElement);\n }\n\n selectRootElement(selectorOrNode: any, preserveContent?: boolean) {\n return this.delegate.selectRootElement(selectorOrNode, preserveContent);\n }\n\n parentNode(node: any) { return this.delegate.parentNode(node); }\n\n nextSibling(node: any) { return this.delegate.nextSibling(node); }\n\n setAttribute(el: any, name: string, value: string, namespace?: string|null|undefined): void {\n this.delegate.setAttribute(el, name, value, namespace);\n }\n\n removeAttribute(el: any, name: string, namespace?: string|null|undefined): void {\n this.delegate.removeAttribute(el, name, namespace);\n }\n\n addClass(el: any, name: string): void { this.delegate.addClass(el, name); }\n\n removeClass(el: any, name: string): void { this.delegate.removeClass(el, name); }\n\n setStyle(el: any, style: string, value: any, flags?: RendererStyleFlags2|undefined): void {\n this.delegate.setStyle(el, style, value, flags);\n }\n\n removeStyle(el: any, style: string, flags?: RendererStyleFlags2|undefined): void {\n this.delegate.removeStyle(el, style, flags);\n }\n\n setProperty(el: any, name: string, value: any): void {\n if (name.charAt(0) == ANIMATION_PREFIX && name == DISABLE_ANIMATIONS_FLAG) {\n this.disableAnimations(el, !!value);\n } else {\n this.delegate.setProperty(el, name, value);\n }\n }\n\n setValue(node: any, value: string): void { this.delegate.setValue(node, value); }\n\n listen(target: any, eventName: string, callback: (event: any) => boolean | void): () => void {\n return this.delegate.listen(target, eventName, callback);\n }\n\n protected disableAnimations(element: any, value: boolean) {\n this.engine.disableAnimations(element, value);\n }\n}\n\nexport class AnimationRenderer extends BaseAnimationRenderer implements Renderer2 {\n constructor(\n public factory: AnimationRendererFactory, namespaceId: string, delegate: Renderer2,\n engine: AnimationEngine) {\n super(namespaceId, delegate, engine);\n this.namespaceId = namespaceId;\n }\n\n setProperty(el: any, name: string, value: any): void {\n if (name.charAt(0) == ANIMATION_PREFIX) {\n if (name.charAt(1) == '.' && name == DISABLE_ANIMATIONS_FLAG) {\n value = value === undefined ? true : !!value;\n this.disableAnimations(el, value as boolean);\n } else {\n this.engine.process(this.namespaceId, el, name.substr(1), value);\n }\n } else {\n this.delegate.setProperty(el, name, value);\n }\n }\n\n listen(target: 'window'|'document'|'body'|any, eventName: string, callback: (event: any) => any):\n () => void {\n if (eventName.charAt(0) == ANIMATION_PREFIX) {\n const element = resolveElementFromTarget(target);\n let name = eventName.substr(1);\n let phase = '';\n // @listener.phase is for trigger animation callbacks\n // @@listener is for animation builder callbacks\n if (name.charAt(0) != ANIMATION_PREFIX) {\n [name, phase] = parseTriggerCallbackName(name);\n }\n return this.engine.listen(this.namespaceId, element, name, phase, event => {\n const countId = (event as any)['_data'] || -1;\n this.factory.scheduleListenerCallback(countId, callback, event);\n });\n }\n return this.delegate.listen(target, eventName, callback);\n }\n}\n\nfunction resolveElementFromTarget(target: 'window' | 'document' | 'body' | any): any {\n switch (target) {\n case 'body':\n return document.body;\n case 'document':\n return document;\n case 'window':\n return window;\n default:\n return target;\n }\n}\n\nfunction parseTriggerCallbackName(triggerName: string) {\n const dotIndex = triggerName.indexOf('.');\n const trigger = triggerName.substring(0, dotIndex);\n const phase = triggerName.substr(dotIndex + 1);\n return [trigger, phase];\n}\n","/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {AnimationBuilder} from '@angular/animations';\nimport {AnimationDriver, ɵAnimationEngine as AnimationEngine, ɵAnimationStyleNormalizer as AnimationStyleNormalizer, ɵCssKeyframesDriver as CssKeyframesDriver, ɵNoopAnimationDriver as NoopAnimationDriver, ɵWebAnimationsDriver as WebAnimationsDriver, ɵWebAnimationsStyleNormalizer as WebAnimationsStyleNormalizer, ɵsupportsWebAnimations as supportsWebAnimations} from '@angular/animations/browser';\nimport {DOCUMENT} from '@angular/common';\nimport {Inject, Injectable, InjectionToken, NgZone, Provider, RendererFactory2} from '@angular/core';\nimport {ɵDomRendererFactory2 as DomRendererFactory2} from '@angular/platform-browser';\n\nimport {BrowserAnimationBuilder} from './animation_builder';\nimport {AnimationRendererFactory} from './animation_renderer';\n\n@Injectable()\nexport class InjectableAnimationEngine extends AnimationEngine {\n constructor(\n @Inject(DOCUMENT) doc: any, driver: AnimationDriver, normalizer: AnimationStyleNormalizer) {\n super(doc.body, driver, normalizer);\n }\n}\n\nexport function instantiateSupportedAnimationDriver() {\n return supportsWebAnimations() ? new WebAnimationsDriver() : new CssKeyframesDriver();\n}\n\nexport function instantiateDefaultStyleNormalizer() {\n return new WebAnimationsStyleNormalizer();\n}\n\nexport function instantiateRendererFactory(\n renderer: DomRendererFactory2, engine: AnimationEngine, zone: NgZone) {\n return new AnimationRendererFactory(renderer, engine, zone);\n}\n\n/**\n * @publicApi\n */\nexport const ANIMATION_MODULE_TYPE =\n new InjectionToken<'NoopAnimations'|'BrowserAnimations'>('AnimationModuleType');\n\nconst SHARED_ANIMATION_PROVIDERS: Provider[] = [\n {provide: AnimationBuilder, useClass: BrowserAnimationBuilder},\n {provide: AnimationStyleNormalizer, useFactory: instantiateDefaultStyleNormalizer},\n {provide: AnimationEngine, useClass: InjectableAnimationEngine}, {\n provide: RendererFactory2,\n useFactory: instantiateRendererFactory,\n deps: [DomRendererFactory2, AnimationEngine, NgZone]\n }\n];\n\n/**\n * Separate providers from the actual module so that we can do a local modification in Google3 to\n * include them in the BrowserModule.\n */\nexport const BROWSER_ANIMATIONS_PROVIDERS: Provider[] = [\n {provide: AnimationDriver, useFactory: instantiateSupportedAnimationDriver},\n {provide: ANIMATION_MODULE_TYPE, useValue: 'BrowserAnimations'}, ...SHARED_ANIMATION_PROVIDERS\n];\n\n/**\n * Separate providers from the actual module so that we can do a local modification in Google3 to\n * include them in the BrowserTestingModule.\n */\nexport const BROWSER_NOOP_ANIMATIONS_PROVIDERS: Provider[] = [\n {provide: AnimationDriver, useClass: NoopAnimationDriver},\n {provide: ANIMATION_MODULE_TYPE, useValue: 'NoopAnimations'}, ...SHARED_ANIMATION_PROVIDERS\n];\n","/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {NgModule} from '@angular/core';\nimport {BrowserModule} from '@angular/platform-browser';\n\nimport {BROWSER_ANIMATIONS_PROVIDERS, BROWSER_NOOP_ANIMATIONS_PROVIDERS} from './providers';\n\n/**\n * Exports `BrowserModule` with additional [dependency-injection providers](guide/glossary#provider)\n * for use with animations. See [Animations](guide/animations).\n * @publicApi\n */\n@NgModule({\n exports: [BrowserModule],\n providers: BROWSER_ANIMATIONS_PROVIDERS,\n})\nexport class BrowserAnimationsModule {\n}\n\n/**\n * A null player that must be imported to allow disabling of animations.\n * @publicApi\n */\n@NgModule({\n exports: [BrowserModule],\n providers: BROWSER_NOOP_ANIMATIONS_PROVIDERS,\n})\nexport class NoopAnimationsModule {\n}\n","/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nexport {BrowserAnimationBuilder as ɵBrowserAnimationBuilder, BrowserAnimationFactory as ɵBrowserAnimationFactory} from './animation_builder';\nexport {AnimationRenderer as ɵAnimationRenderer, AnimationRendererFactory as ɵAnimationRendererFactory} from './animation_renderer';\nexport {InjectableAnimationEngine as ɵInjectableAnimationEngine} from './providers';\n","/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @module\n * @description\n * Entry point for all animation APIs of the animation browser package.\n */\nexport {BrowserAnimationsModule, NoopAnimationsModule} from './module';\n\nexport {ANIMATION_MODULE_TYPE} from './providers';\n\nexport * from './private_export';\n","/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @module\n * @description\n * Entry point for all public APIs of this package.\n */\nexport * from './src/animations';\n","/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n// This file is not used to build this module. It is only used during editing\n// by the TypeScript language service and during build for verifcation. `ngc`\n// replaces this file with production index.ts when it rewrites private symbol\n// names.\n\nexport * from './public_api';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n\nexport {BaseAnimationRenderer as ɵangular_packages_platform_browser_animations_animations_f} from './src/animation_renderer';\nexport {BROWSER_ANIMATIONS_PROVIDERS as ɵangular_packages_platform_browser_animations_animations_d,BROWSER_NOOP_ANIMATIONS_PROVIDERS as ɵangular_packages_platform_browser_animations_animations_e,instantiateDefaultStyleNormalizer as ɵangular_packages_platform_browser_animations_animations_b,instantiateRendererFactory as ɵangular_packages_platform_browser_animations_animations_c,instantiateSupportedAnimationDriver as ɵangular_packages_platform_browser_animations_animations_a} from './src/providers';"],"names":["AnimationEngine","AnimationStyleNormalizer","supportsWebAnimations","WebAnimationsDriver","CssKeyframesDriver","WebAnimationsStyleNormalizer","DomRendererFactory2","NoopAnimationDriver"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"animations.js","sources":["../../../../../../packages/platform-browser/animations/src/animation_builder.ts","../../../../../../packages/platform-browser/animations/src/animation_renderer.ts","../../../../../../packages/platform-browser/animations/src/providers.ts","../../../../../../packages/platform-browser/animations/src/module.ts","../../../../../../packages/platform-browser/animations/src/private_export.ts","../../../../../../packages/platform-browser/animations/src/animations.ts","../../../../../../packages/platform-browser/animations/public_api.ts","../../../../../../packages/platform-browser/animations/index.ts","../../../../../../packages/platform-browser/animations/animations.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {AnimationBuilder, AnimationFactory, AnimationMetadata, AnimationOptions, AnimationPlayer, sequence} from '@angular/animations';\nimport {DOCUMENT} from '@angular/common';\nimport {Inject, Injectable, RendererFactory2, RendererType2, ViewEncapsulation} from '@angular/core';\n\nimport {AnimationRenderer} from './animation_renderer';\n\n@Injectable()\nexport class BrowserAnimationBuilder extends AnimationBuilder {\n private _nextAnimationId = 0;\n private _renderer: AnimationRenderer;\n\n constructor(rootRenderer: RendererFactory2, @Inject(DOCUMENT) doc: any) {\n super();\n const typeData =\n {id: '0', encapsulation: ViewEncapsulation.None, styles: [], data: {animation: []}} as\n RendererType2;\n this._renderer = rootRenderer.createRenderer(doc.body, typeData) as AnimationRenderer;\n }\n\n build(animation: AnimationMetadata|AnimationMetadata[]): AnimationFactory {\n const id = this._nextAnimationId.toString();\n this._nextAnimationId++;\n const entry = Array.isArray(animation) ? sequence(animation) : animation;\n issueAnimationCommand(this._renderer, null, id, 'register', [entry]);\n return new BrowserAnimationFactory(id, this._renderer);\n }\n}\n\nexport class BrowserAnimationFactory extends AnimationFactory {\n constructor(private _id: string, private _renderer: AnimationRenderer) {\n super();\n }\n\n create(element: any, options?: AnimationOptions): AnimationPlayer {\n return new RendererAnimationPlayer(this._id, element, options || {}, this._renderer);\n }\n}\n\nexport class RendererAnimationPlayer implements AnimationPlayer {\n public parentPlayer: AnimationPlayer|null = null;\n private _started = false;\n\n constructor(\n public id: string, public element: any, options: AnimationOptions,\n private _renderer: AnimationRenderer) {\n this._command('create', options);\n }\n\n private _listen(eventName: string, callback: (event: any) => any): () => void {\n return this._renderer.listen(this.element, `@@${this.id}:${eventName}`, callback);\n }\n\n private _command(command: string, ...args: any[]) {\n return issueAnimationCommand(this._renderer, this.element, this.id, command, args);\n }\n\n onDone(fn: () => void): void {\n this._listen('done', fn);\n }\n\n onStart(fn: () => void): void {\n this._listen('start', fn);\n }\n\n onDestroy(fn: () => void): void {\n this._listen('destroy', fn);\n }\n\n init(): void {\n this._command('init');\n }\n\n hasStarted(): boolean {\n return this._started;\n }\n\n play(): void {\n this._command('play');\n this._started = true;\n }\n\n pause(): void {\n this._command('pause');\n }\n\n restart(): void {\n this._command('restart');\n }\n\n finish(): void {\n this._command('finish');\n }\n\n destroy(): void {\n this._command('destroy');\n }\n\n reset(): void {\n this._command('reset');\n }\n\n setPosition(p: number): void {\n this._command('setPosition', p);\n }\n\n getPosition(): number {\n return 0;\n }\n\n public totalTime = 0;\n}\n\nfunction issueAnimationCommand(\n renderer: AnimationRenderer, element: any, id: string, command: string, args: any[]): any {\n return renderer.setProperty(element, `@@${id}:${command}`, args);\n}\n","/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {AnimationTriggerMetadata} from '@angular/animations';\nimport {ɵAnimationEngine as AnimationEngine} from '@angular/animations/browser';\nimport {Injectable, NgZone, Renderer2, RendererFactory2, RendererStyleFlags2, RendererType2} from '@angular/core';\n\nconst ANIMATION_PREFIX = '@';\nconst DISABLE_ANIMATIONS_FLAG = '@.disabled';\n\n// Define a recursive type to allow for nested arrays of `AnimationTriggerMetadata`. Note that an\n// interface declaration is used as TypeScript prior to 3.7 does not support recursive type\n// references, see https://github.com/microsoft/TypeScript/pull/33050 for details.\ntype NestedAnimationTriggerMetadata = AnimationTriggerMetadata|RecursiveAnimationTriggerMetadata;\ninterface RecursiveAnimationTriggerMetadata extends Array<NestedAnimationTriggerMetadata> {}\n\n@Injectable()\nexport class AnimationRendererFactory implements RendererFactory2 {\n private _currentId: number = 0;\n private _microtaskId: number = 1;\n private _animationCallbacksBuffer: [(e: any) => any, any][] = [];\n private _rendererCache = new Map<Renderer2, BaseAnimationRenderer>();\n private _cdRecurDepth = 0;\n private promise: Promise<any> = Promise.resolve(0);\n\n constructor(\n private delegate: RendererFactory2, private engine: AnimationEngine, private _zone: NgZone) {\n engine.onRemovalComplete = (element: any, delegate: Renderer2) => {\n // Note: if an component element has a leave animation, and the component\n // a host leave animation, the view engine will call `removeChild` for the parent\n // component renderer as well as for the child component renderer.\n // Therefore, we need to check if we already removed the element.\n if (delegate && delegate.parentNode(element)) {\n delegate.removeChild(element.parentNode, element);\n }\n };\n }\n\n createRenderer(hostElement: any, type: RendererType2): Renderer2 {\n const EMPTY_NAMESPACE_ID = '';\n\n // cache the delegates to find out which cached delegate can\n // be used by which cached renderer\n const delegate = this.delegate.createRenderer(hostElement, type);\n if (!hostElement || !type || !type.data || !type.data['animation']) {\n let renderer: BaseAnimationRenderer|undefined = this._rendererCache.get(delegate);\n if (!renderer) {\n renderer = new BaseAnimationRenderer(EMPTY_NAMESPACE_ID, delegate, this.engine);\n // only cache this result when the base renderer is used\n this._rendererCache.set(delegate, renderer);\n }\n return renderer;\n }\n\n const componentId = type.id;\n const namespaceId = type.id + '-' + this._currentId;\n this._currentId++;\n\n this.engine.register(namespaceId, hostElement);\n\n const registerTrigger = (trigger: NestedAnimationTriggerMetadata) => {\n if (Array.isArray(trigger)) {\n trigger.forEach(registerTrigger);\n } else {\n this.engine.registerTrigger(componentId, namespaceId, hostElement, trigger.name, trigger);\n }\n };\n const animationTriggers = type.data['animation'] as NestedAnimationTriggerMetadata[];\n animationTriggers.forEach(registerTrigger);\n\n return new AnimationRenderer(this, namespaceId, delegate, this.engine);\n }\n\n begin() {\n this._cdRecurDepth++;\n if (this.delegate.begin) {\n this.delegate.begin();\n }\n }\n\n private _scheduleCountTask() {\n // always use promise to schedule microtask instead of use Zone\n this.promise.then(() => {\n this._microtaskId++;\n });\n }\n\n /** @internal */\n scheduleListenerCallback(count: number, fn: (e: any) => any, data: any) {\n if (count >= 0 && count < this._microtaskId) {\n this._zone.run(() => fn(data));\n return;\n }\n\n if (this._animationCallbacksBuffer.length == 0) {\n Promise.resolve(null).then(() => {\n this._zone.run(() => {\n this._animationCallbacksBuffer.forEach(tuple => {\n const [fn, data] = tuple;\n fn(data);\n });\n this._animationCallbacksBuffer = [];\n });\n });\n }\n\n this._animationCallbacksBuffer.push([fn, data]);\n }\n\n end() {\n this._cdRecurDepth--;\n\n // this is to prevent animations from running twice when an inner\n // component does CD when a parent component instead has inserted it\n if (this._cdRecurDepth == 0) {\n this._zone.runOutsideAngular(() => {\n this._scheduleCountTask();\n this.engine.flush(this._microtaskId);\n });\n }\n if (this.delegate.end) {\n this.delegate.end();\n }\n }\n\n whenRenderingDone(): Promise<any> {\n return this.engine.whenRenderingDone();\n }\n}\n\nexport class BaseAnimationRenderer implements Renderer2 {\n constructor(\n protected namespaceId: string, public delegate: Renderer2, public engine: AnimationEngine) {\n this.destroyNode = this.delegate.destroyNode ? (n) => delegate.destroyNode!(n) : null;\n }\n\n get data() {\n return this.delegate.data;\n }\n\n destroyNode: ((n: any) => void)|null;\n\n destroy(): void {\n this.engine.destroy(this.namespaceId, this.delegate);\n this.delegate.destroy();\n }\n\n createElement(name: string, namespace?: string|null|undefined) {\n return this.delegate.createElement(name, namespace);\n }\n\n createComment(value: string) {\n return this.delegate.createComment(value);\n }\n\n createText(value: string) {\n return this.delegate.createText(value);\n }\n\n appendChild(parent: any, newChild: any): void {\n this.delegate.appendChild(parent, newChild);\n this.engine.onInsert(this.namespaceId, newChild, parent, false);\n }\n\n insertBefore(parent: any, newChild: any, refChild: any): void {\n this.delegate.insertBefore(parent, newChild, refChild);\n this.engine.onInsert(this.namespaceId, newChild, parent, true);\n }\n\n removeChild(parent: any, oldChild: any, isHostElement: boolean): void {\n this.engine.onRemove(this.namespaceId, oldChild, this.delegate, isHostElement);\n }\n\n selectRootElement(selectorOrNode: any, preserveContent?: boolean) {\n return this.delegate.selectRootElement(selectorOrNode, preserveContent);\n }\n\n parentNode(node: any) {\n return this.delegate.parentNode(node);\n }\n\n nextSibling(node: any) {\n return this.delegate.nextSibling(node);\n }\n\n setAttribute(el: any, name: string, value: string, namespace?: string|null|undefined): void {\n this.delegate.setAttribute(el, name, value, namespace);\n }\n\n removeAttribute(el: any, name: string, namespace?: string|null|undefined): void {\n this.delegate.removeAttribute(el, name, namespace);\n }\n\n addClass(el: any, name: string): void {\n this.delegate.addClass(el, name);\n }\n\n removeClass(el: any, name: string): void {\n this.delegate.removeClass(el, name);\n }\n\n setStyle(el: any, style: string, value: any, flags?: RendererStyleFlags2|undefined): void {\n this.delegate.setStyle(el, style, value, flags);\n }\n\n removeStyle(el: any, style: string, flags?: RendererStyleFlags2|undefined): void {\n this.delegate.removeStyle(el, style, flags);\n }\n\n setProperty(el: any, name: string, value: any): void {\n if (name.charAt(0) == ANIMATION_PREFIX && name == DISABLE_ANIMATIONS_FLAG) {\n this.disableAnimations(el, !!value);\n } else {\n this.delegate.setProperty(el, name, value);\n }\n }\n\n setValue(node: any, value: string): void {\n this.delegate.setValue(node, value);\n }\n\n listen(target: any, eventName: string, callback: (event: any) => boolean | void): () => void {\n return this.delegate.listen(target, eventName, callback);\n }\n\n protected disableAnimations(element: any, value: boolean) {\n this.engine.disableAnimations(element, value);\n }\n}\n\nexport class AnimationRenderer extends BaseAnimationRenderer implements Renderer2 {\n constructor(\n public factory: AnimationRendererFactory, namespaceId: string, delegate: Renderer2,\n engine: AnimationEngine) {\n super(namespaceId, delegate, engine);\n this.namespaceId = namespaceId;\n }\n\n setProperty(el: any, name: string, value: any): void {\n if (name.charAt(0) == ANIMATION_PREFIX) {\n if (name.charAt(1) == '.' && name == DISABLE_ANIMATIONS_FLAG) {\n value = value === undefined ? true : !!value;\n this.disableAnimations(el, value as boolean);\n } else {\n this.engine.process(this.namespaceId, el, name.substr(1), value);\n }\n } else {\n this.delegate.setProperty(el, name, value);\n }\n }\n\n listen(target: 'window'|'document'|'body'|any, eventName: string, callback: (event: any) => any):\n () => void {\n if (eventName.charAt(0) == ANIMATION_PREFIX) {\n const element = resolveElementFromTarget(target);\n let name = eventName.substr(1);\n let phase = '';\n // @listener.phase is for trigger animation callbacks\n // @@listener is for animation builder callbacks\n if (name.charAt(0) != ANIMATION_PREFIX) {\n [name, phase] = parseTriggerCallbackName(name);\n }\n return this.engine.listen(this.namespaceId, element, name, phase, event => {\n const countId = (event as any)['_data'] || -1;\n this.factory.scheduleListenerCallback(countId, callback, event);\n });\n }\n return this.delegate.listen(target, eventName, callback);\n }\n}\n\nfunction resolveElementFromTarget(target: 'window'|'document'|'body'|any): any {\n switch (target) {\n case 'body':\n return document.body;\n case 'document':\n return document;\n case 'window':\n return window;\n default:\n return target;\n }\n}\n\nfunction parseTriggerCallbackName(triggerName: string) {\n const dotIndex = triggerName.indexOf('.');\n const trigger = triggerName.substring(0, dotIndex);\n const phase = triggerName.substr(dotIndex + 1);\n return [trigger, phase];\n}\n","/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {AnimationBuilder} from '@angular/animations';\nimport {AnimationDriver, ɵAnimationEngine as AnimationEngine, ɵAnimationStyleNormalizer as AnimationStyleNormalizer, ɵCssKeyframesDriver as CssKeyframesDriver, ɵNoopAnimationDriver as NoopAnimationDriver, ɵsupportsWebAnimations as supportsWebAnimations, ɵWebAnimationsDriver as WebAnimationsDriver, ɵWebAnimationsStyleNormalizer as WebAnimationsStyleNormalizer} from '@angular/animations/browser';\nimport {DOCUMENT} from '@angular/common';\nimport {Inject, Injectable, InjectionToken, NgZone, Provider, RendererFactory2} from '@angular/core';\nimport {ɵDomRendererFactory2 as DomRendererFactory2} from '@angular/platform-browser';\n\nimport {BrowserAnimationBuilder} from './animation_builder';\nimport {AnimationRendererFactory} from './animation_renderer';\n\n@Injectable()\nexport class InjectableAnimationEngine extends AnimationEngine {\n constructor(\n @Inject(DOCUMENT) doc: any, driver: AnimationDriver, normalizer: AnimationStyleNormalizer) {\n super(doc.body, driver, normalizer);\n }\n}\n\nexport function instantiateSupportedAnimationDriver() {\n return supportsWebAnimations() ? new WebAnimationsDriver() : new CssKeyframesDriver();\n}\n\nexport function instantiateDefaultStyleNormalizer() {\n return new WebAnimationsStyleNormalizer();\n}\n\nexport function instantiateRendererFactory(\n renderer: DomRendererFactory2, engine: AnimationEngine, zone: NgZone) {\n return new AnimationRendererFactory(renderer, engine, zone);\n}\n\n/**\n * @publicApi\n */\nexport const ANIMATION_MODULE_TYPE =\n new InjectionToken<'NoopAnimations'|'BrowserAnimations'>('AnimationModuleType');\n\nconst SHARED_ANIMATION_PROVIDERS: Provider[] = [\n {provide: AnimationBuilder, useClass: BrowserAnimationBuilder},\n {provide: AnimationStyleNormalizer, useFactory: instantiateDefaultStyleNormalizer},\n {provide: AnimationEngine, useClass: InjectableAnimationEngine}, {\n provide: RendererFactory2,\n useFactory: instantiateRendererFactory,\n deps: [DomRendererFactory2, AnimationEngine, NgZone]\n }\n];\n\n/**\n * Separate providers from the actual module so that we can do a local modification in Google3 to\n * include them in the BrowserModule.\n */\nexport const BROWSER_ANIMATIONS_PROVIDERS: Provider[] = [\n {provide: AnimationDriver, useFactory: instantiateSupportedAnimationDriver},\n {provide: ANIMATION_MODULE_TYPE, useValue: 'BrowserAnimations'}, ...SHARED_ANIMATION_PROVIDERS\n];\n\n/**\n * Separate providers from the actual module so that we can do a local modification in Google3 to\n * include them in the BrowserTestingModule.\n */\nexport const BROWSER_NOOP_ANIMATIONS_PROVIDERS: Provider[] = [\n {provide: AnimationDriver, useClass: NoopAnimationDriver},\n {provide: ANIMATION_MODULE_TYPE, useValue: 'NoopAnimations'}, ...SHARED_ANIMATION_PROVIDERS\n];\n","/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {NgModule} from '@angular/core';\nimport {BrowserModule} from '@angular/platform-browser';\n\nimport {BROWSER_ANIMATIONS_PROVIDERS, BROWSER_NOOP_ANIMATIONS_PROVIDERS} from './providers';\n\n/**\n * Exports `BrowserModule` with additional [dependency-injection providers](guide/glossary#provider)\n * for use with animations. See [Animations](guide/animations).\n * @publicApi\n */\n@NgModule({\n exports: [BrowserModule],\n providers: BROWSER_ANIMATIONS_PROVIDERS,\n})\nexport class BrowserAnimationsModule {\n}\n\n/**\n * A null player that must be imported to allow disabling of animations.\n * @publicApi\n */\n@NgModule({\n exports: [BrowserModule],\n providers: BROWSER_NOOP_ANIMATIONS_PROVIDERS,\n})\nexport class NoopAnimationsModule {\n}\n","/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nexport {BrowserAnimationBuilder as ɵBrowserAnimationBuilder, BrowserAnimationFactory as ɵBrowserAnimationFactory} from './animation_builder';\nexport {AnimationRenderer as ɵAnimationRenderer, AnimationRendererFactory as ɵAnimationRendererFactory} from './animation_renderer';\nexport {InjectableAnimationEngine as ɵInjectableAnimationEngine} from './providers';\n","/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @module\n * @description\n * Entry point for all animation APIs of the animation browser package.\n */\nexport {BrowserAnimationsModule, NoopAnimationsModule} from './module';\n\nexport {ANIMATION_MODULE_TYPE} from './providers';\n\nexport * from './private_export';\n","/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @module\n * @description\n * Entry point for all public APIs of this package.\n */\nexport * from './src/animations';\n","/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n// This file is not used to build this module. It is only used during editing\n// by the TypeScript language service and during build for verifcation. `ngc`\n// replaces this file with production index.ts when it rewrites private symbol\n// names.\n\nexport * from './public_api';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n\nexport {BaseAnimationRenderer as ɵangular_packages_platform_browser_animations_animations_f} from './src/animation_renderer';\nexport {BROWSER_ANIMATIONS_PROVIDERS as ɵangular_packages_platform_browser_animations_animations_d,BROWSER_NOOP_ANIMATIONS_PROVIDERS as ɵangular_packages_platform_browser_animations_animations_e,instantiateDefaultStyleNormalizer as ɵangular_packages_platform_browser_animations_animations_b,instantiateRendererFactory as ɵangular_packages_platform_browser_animations_animations_c,instantiateSupportedAnimationDriver as ɵangular_packages_platform_browser_animations_animations_a} from './src/providers';"],"names":["AnimationEngine","AnimationStyleNormalizer","supportsWebAnimations","WebAnimationsDriver","CssKeyframesDriver","WebAnimationsStyleNormalizer","DomRendererFactory2","NoopAnimationDriver"],"mappings":"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"}
|