@angular/platform-browser 17.0.0-next.5 → 17.0.0-next.7
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/async/index.d.ts +40 -0
- package/animations/index.d.ts +1 -72
- package/esm2022/animations/async/async.mjs +5 -0
- package/esm2022/animations/async/index.mjs +13 -0
- package/esm2022/animations/async/public_api.mjs +14 -0
- package/esm2022/animations/async/src/async-animations.mjs +14 -0
- package/esm2022/animations/async/src/async_animation_renderer.mjs +156 -0
- package/esm2022/animations/async/src/providers.mjs +55 -0
- package/esm2022/animations/src/animation_builder.mjs +7 -7
- package/esm2022/animations/src/module.mjs +8 -8
- package/esm2022/animations/src/private_export.mjs +2 -3
- package/esm2022/animations/src/providers.mjs +7 -8
- package/esm2022/src/browser/meta.mjs +5 -5
- package/esm2022/src/browser/title.mjs +5 -5
- package/esm2022/src/browser/xhr.mjs +3 -3
- package/esm2022/src/browser.mjs +6 -6
- package/esm2022/src/dom/dom_renderer.mjs +30 -23
- package/esm2022/src/dom/events/dom_events.mjs +5 -5
- package/esm2022/src/dom/events/event_manager.mjs +5 -5
- package/esm2022/src/dom/events/hammer_gestures.mjs +12 -12
- package/esm2022/src/dom/events/key_events.mjs +5 -5
- package/esm2022/src/dom/shared_styles_host.mjs +48 -21
- package/esm2022/src/security/dom_sanitization_service.mjs +9 -9
- package/esm2022/src/version.mjs +1 -1
- package/esm2022/testing/src/browser.mjs +4 -4
- package/fesm2022/animations/async.mjs +223 -0
- package/fesm2022/animations/async.mjs.map +1 -0
- package/fesm2022/animations.mjs +23 -280
- package/fesm2022/animations.mjs.map +1 -1
- package/fesm2022/platform-browser.mjs +132 -98
- package/fesm2022/platform-browser.mjs.map +1 -1
- package/fesm2022/testing.mjs +5 -5
- package/index.d.ts +6 -6
- package/package.json +10 -4
- package/testing/index.d.ts +1 -1
- package/esm2022/animations/src/animation_renderer.mjs +0 -261
@@ -0,0 +1,223 @@
|
|
1
|
+
/**
|
2
|
+
* @license Angular v17.0.0-next.7
|
3
|
+
* (c) 2010-2022 Google LLC. https://angular.io/
|
4
|
+
* License: MIT
|
5
|
+
*/
|
6
|
+
|
7
|
+
import { DOCUMENT } from '@angular/common';
|
8
|
+
import { RendererFactory2, NgZone, ANIMATION_MODULE_TYPE } from '@angular/core';
|
9
|
+
import { ɵDomRendererFactory2 } from '@angular/platform-browser';
|
10
|
+
|
11
|
+
class AsyncAnimationRendererFactory {
|
12
|
+
/**
|
13
|
+
*
|
14
|
+
* @param moduleImpl allows to provide a mock implmentation (or will load the animation module)
|
15
|
+
*/
|
16
|
+
constructor(doc, delegate, zone, animationType, moduleImpl) {
|
17
|
+
this.doc = doc;
|
18
|
+
this.delegate = delegate;
|
19
|
+
this.zone = zone;
|
20
|
+
this.animationType = animationType;
|
21
|
+
this.moduleImpl = moduleImpl;
|
22
|
+
this._rendererFactoryPromise = null;
|
23
|
+
}
|
24
|
+
/**
|
25
|
+
* @internal
|
26
|
+
*/
|
27
|
+
loadImpl() {
|
28
|
+
const moduleImpl = this.moduleImpl ?? import('@angular/animations/browser');
|
29
|
+
return moduleImpl
|
30
|
+
.catch((e) => {
|
31
|
+
// TODO: Create a runtime error
|
32
|
+
throw new Error('Failed to load the @angular/animations/browser module');
|
33
|
+
})
|
34
|
+
.then(({ ɵcreateEngine, ɵAnimationRendererFactory }) => {
|
35
|
+
// We can't create the renderer yet because we might need the hostElement and the type
|
36
|
+
// Both are provided in createRenderer().
|
37
|
+
const engine = ɵcreateEngine(this.animationType, this.doc);
|
38
|
+
const rendererFactory = new ɵAnimationRendererFactory(this.delegate, engine, this.zone);
|
39
|
+
this.delegate = rendererFactory;
|
40
|
+
return rendererFactory;
|
41
|
+
});
|
42
|
+
}
|
43
|
+
/**
|
44
|
+
* This method is delegating the renderer creation to the factories.
|
45
|
+
* It uses default factory while the animation factory isn't loaded
|
46
|
+
* and will rely on the animation factory once it is loaded.
|
47
|
+
*
|
48
|
+
* Calling this method will trigger as side effect the loading of the animation module
|
49
|
+
* if the renderered component uses animations.
|
50
|
+
*/
|
51
|
+
createRenderer(hostElement, rendererType) {
|
52
|
+
const renderer = this.delegate.createRenderer(hostElement, rendererType);
|
53
|
+
if (renderer.isAnimationRenderer) {
|
54
|
+
// The factory is already loaded, this is an animation renderer
|
55
|
+
return renderer;
|
56
|
+
}
|
57
|
+
// We need to prevent the DomRenderer to throw an error because of synthetic properties
|
58
|
+
if (typeof renderer.throwOnSyntheticProps === 'boolean') {
|
59
|
+
renderer.throwOnSyntheticProps = false;
|
60
|
+
}
|
61
|
+
// Using a dynamic renderer to switch the renderer implementation once the module is loaded.
|
62
|
+
const dynamicRenderer = new DynamicDelegationRenderer(renderer);
|
63
|
+
// Kick off the module loading if the component uses animations but the module hasn't been
|
64
|
+
// loaded yet.
|
65
|
+
if (rendererType?.data?.['animation'] && !this._rendererFactoryPromise) {
|
66
|
+
this._rendererFactoryPromise = this.loadImpl();
|
67
|
+
}
|
68
|
+
this._rendererFactoryPromise?.then((animationRendererFactory) => {
|
69
|
+
const animationRenderer = animationRendererFactory.createRenderer(hostElement, rendererType);
|
70
|
+
dynamicRenderer.use(animationRenderer);
|
71
|
+
});
|
72
|
+
return dynamicRenderer;
|
73
|
+
}
|
74
|
+
begin() {
|
75
|
+
this.delegate.begin?.();
|
76
|
+
}
|
77
|
+
end() {
|
78
|
+
this.delegate.end?.();
|
79
|
+
}
|
80
|
+
whenRenderingDone() {
|
81
|
+
return this.delegate.whenRenderingDone?.() ?? Promise.resolve();
|
82
|
+
}
|
83
|
+
}
|
84
|
+
/**
|
85
|
+
* The class allows to dynamicly switch between different renderer implementations
|
86
|
+
* by changing the delegate renderer.
|
87
|
+
*/
|
88
|
+
class DynamicDelegationRenderer {
|
89
|
+
constructor(delegate) {
|
90
|
+
this.delegate = delegate;
|
91
|
+
}
|
92
|
+
use(impl) {
|
93
|
+
this.delegate = impl;
|
94
|
+
}
|
95
|
+
get data() {
|
96
|
+
return this.delegate.data;
|
97
|
+
}
|
98
|
+
destroy() {
|
99
|
+
this.delegate.destroy();
|
100
|
+
}
|
101
|
+
createElement(name, namespace) {
|
102
|
+
return this.delegate.createElement(name, namespace);
|
103
|
+
}
|
104
|
+
createComment(value) {
|
105
|
+
return this.delegate.createComment(value);
|
106
|
+
}
|
107
|
+
createText(value) {
|
108
|
+
return this.delegate.createText(value);
|
109
|
+
}
|
110
|
+
get destroyNode() {
|
111
|
+
return this.delegate.destroyNode;
|
112
|
+
}
|
113
|
+
appendChild(parent, newChild) {
|
114
|
+
this.delegate.appendChild(parent, newChild);
|
115
|
+
}
|
116
|
+
insertBefore(parent, newChild, refChild, isMove) {
|
117
|
+
this.delegate.insertBefore(parent, newChild, refChild, isMove);
|
118
|
+
}
|
119
|
+
removeChild(parent, oldChild, isHostElement) {
|
120
|
+
this.delegate.removeChild(parent, oldChild, isHostElement);
|
121
|
+
}
|
122
|
+
selectRootElement(selectorOrNode, preserveContent) {
|
123
|
+
return this.delegate.selectRootElement(selectorOrNode, preserveContent);
|
124
|
+
}
|
125
|
+
parentNode(node) {
|
126
|
+
return this.delegate.parentNode(node);
|
127
|
+
}
|
128
|
+
nextSibling(node) {
|
129
|
+
return this.delegate.nextSibling(node);
|
130
|
+
}
|
131
|
+
setAttribute(el, name, value, namespace) {
|
132
|
+
this.delegate.setAttribute(el, name, value, namespace);
|
133
|
+
}
|
134
|
+
removeAttribute(el, name, namespace) {
|
135
|
+
this.delegate.removeAttribute(el, name, namespace);
|
136
|
+
}
|
137
|
+
addClass(el, name) {
|
138
|
+
this.delegate.addClass(el, name);
|
139
|
+
}
|
140
|
+
removeClass(el, name) {
|
141
|
+
this.delegate.removeClass(el, name);
|
142
|
+
}
|
143
|
+
setStyle(el, style, value, flags) {
|
144
|
+
this.delegate.setStyle(el, style, value, flags);
|
145
|
+
}
|
146
|
+
removeStyle(el, style, flags) {
|
147
|
+
this.delegate.removeStyle(el, style, flags);
|
148
|
+
}
|
149
|
+
setProperty(el, name, value) {
|
150
|
+
this.delegate.setProperty(el, name, value);
|
151
|
+
}
|
152
|
+
setValue(node, value) {
|
153
|
+
this.delegate.setValue(node, value);
|
154
|
+
}
|
155
|
+
listen(target, eventName, callback) {
|
156
|
+
return this.delegate.listen(target, eventName, callback);
|
157
|
+
}
|
158
|
+
}
|
159
|
+
|
160
|
+
/**
|
161
|
+
* Returns the set of [dependency-injection providers](guide/glossary#provider)
|
162
|
+
* to enable animations in an application. See [animations guide](guide/animations)
|
163
|
+
* to learn more about animations in Angular.
|
164
|
+
*
|
165
|
+
* When you use this function instead of the eager `provideAnimations()`, animations won't be
|
166
|
+
* renderered until the renderer is loaded.
|
167
|
+
*
|
168
|
+
* @usageNotes
|
169
|
+
*
|
170
|
+
* The function is useful when you want to enable animations in an application
|
171
|
+
* bootstrapped using the `bootstrapApplication` function. In this scenario there
|
172
|
+
* is no need to import the `BrowserAnimationsModule` NgModule at all, just add
|
173
|
+
* providers returned by this function to the `providers` list as show below.
|
174
|
+
*
|
175
|
+
* ```typescript
|
176
|
+
* bootstrapApplication(RootComponent, {
|
177
|
+
* providers: [
|
178
|
+
* provideAnimationsAsync()
|
179
|
+
* ]
|
180
|
+
* });
|
181
|
+
* ```
|
182
|
+
*
|
183
|
+
* @param type pass `'noop'` as argument to disable animations.
|
184
|
+
*
|
185
|
+
* @publicApi
|
186
|
+
* @developerPreview
|
187
|
+
*/
|
188
|
+
function provideAnimationsAsync(type = 'animations') {
|
189
|
+
return [
|
190
|
+
{
|
191
|
+
provide: RendererFactory2,
|
192
|
+
useFactory: (doc, renderer, zone) => {
|
193
|
+
return new AsyncAnimationRendererFactory(doc, renderer, zone, type);
|
194
|
+
},
|
195
|
+
deps: [DOCUMENT, ɵDomRendererFactory2, NgZone],
|
196
|
+
},
|
197
|
+
{
|
198
|
+
provide: ANIMATION_MODULE_TYPE,
|
199
|
+
useValue: type === 'noop' ? 'NoopAnimations' : 'BrowserAnimations',
|
200
|
+
},
|
201
|
+
];
|
202
|
+
}
|
203
|
+
|
204
|
+
/**
|
205
|
+
* @module
|
206
|
+
* @description
|
207
|
+
* Entry point for all animation APIs of the animation browser package.
|
208
|
+
*/
|
209
|
+
|
210
|
+
/**
|
211
|
+
* @module
|
212
|
+
* @description
|
213
|
+
* Entry point for all public APIs of this package.
|
214
|
+
*/
|
215
|
+
|
216
|
+
// This file is not used to build this module. It is only used during editing
|
217
|
+
|
218
|
+
/**
|
219
|
+
* Generated bundle index. Do not edit.
|
220
|
+
*/
|
221
|
+
|
222
|
+
export { provideAnimationsAsync };
|
223
|
+
//# sourceMappingURL=async.mjs.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"async.mjs","sources":["../../../../../../../packages/platform-browser/animations/async/src/async_animation_renderer.ts","../../../../../../../packages/platform-browser/animations/async/src/providers.ts","../../../../../../../packages/platform-browser/animations/async/src/async-animations.ts","../../../../../../../packages/platform-browser/animations/async/public_api.ts","../../../../../../../packages/platform-browser/animations/async/index.ts","../../../../../../../packages/platform-browser/animations/async/async.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC 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 type {ɵAnimationRendererFactory as AnimationRendererFactory, ɵAnimationRenderer as AnimationRenderer} from '@angular/animations/browser';\nimport {NgZone, Renderer2, RendererFactory2, RendererStyleFlags2, RendererType2} from '@angular/core';\n\n/**\n * This alias narrows down to only the properties we need when lazy loading (or mock) the module\n */\ntype AnimationBrowserModuleImports =\n Pick<typeof import('@angular/animations/browser'), 'ɵcreateEngine'|'ɵAnimationRendererFactory'>;\n\nexport class AsyncAnimationRendererFactory implements RendererFactory2 {\n private _rendererFactoryPromise: Promise<AnimationRendererFactory>|null = null;\n\n /**\n *\n * @param moduleImpl allows to provide a mock implmentation (or will load the animation module)\n */\n constructor(\n private doc: Document, private delegate: RendererFactory2, private zone: NgZone,\n private animationType: 'animations'|'noop',\n private moduleImpl?: Promise<AnimationBrowserModuleImports>) {}\n\n /**\n * @internal\n */\n private loadImpl(): Promise<AnimationRendererFactory> {\n const moduleImpl = this.moduleImpl ?? import('@angular/animations/browser');\n\n return moduleImpl\n .catch((e) => {\n // TODO: Create a runtime error\n throw new Error('Failed to load the @angular/animations/browser module');\n })\n .then(({ɵcreateEngine, ɵAnimationRendererFactory}) => {\n // We can't create the renderer yet because we might need the hostElement and the type\n // Both are provided in createRenderer().\n const engine = ɵcreateEngine(this.animationType, this.doc);\n const rendererFactory = new ɵAnimationRendererFactory(this.delegate, engine, this.zone);\n this.delegate = rendererFactory;\n return rendererFactory;\n });\n }\n\n /**\n * This method is delegating the renderer creation to the factories.\n * It uses default factory while the animation factory isn't loaded\n * and will rely on the animation factory once it is loaded.\n *\n * Calling this method will trigger as side effect the loading of the animation module\n * if the renderered component uses animations.\n */\n createRenderer(hostElement: any, rendererType: RendererType2): Renderer2 {\n const renderer = this.delegate.createRenderer(hostElement, rendererType);\n\n if ((renderer as AnimationRenderer).isAnimationRenderer) {\n // The factory is already loaded, this is an animation renderer\n return renderer;\n }\n\n // We need to prevent the DomRenderer to throw an error because of synthetic properties\n if (typeof (renderer as any).throwOnSyntheticProps === 'boolean') {\n (renderer as any).throwOnSyntheticProps = false;\n }\n\n // Using a dynamic renderer to switch the renderer implementation once the module is loaded.\n const dynamicRenderer = new DynamicDelegationRenderer(renderer);\n\n // Kick off the module loading if the component uses animations but the module hasn't been\n // loaded yet.\n if (rendererType?.data?.['animation'] && !this._rendererFactoryPromise) {\n this._rendererFactoryPromise = this.loadImpl();\n }\n\n this._rendererFactoryPromise?.then((animationRendererFactory) => {\n const animationRenderer = animationRendererFactory.createRenderer(hostElement, rendererType);\n dynamicRenderer.use(animationRenderer);\n });\n\n return dynamicRenderer;\n }\n\n begin(): void {\n this.delegate.begin?.();\n }\n\n end(): void {\n this.delegate.end?.();\n }\n\n whenRenderingDone?(): Promise<any> {\n return this.delegate.whenRenderingDone?.() ?? Promise.resolve();\n }\n}\n\n/**\n * The class allows to dynamicly switch between different renderer implementations\n * by changing the delegate renderer.\n */\nexport class DynamicDelegationRenderer implements Renderer2 {\n constructor(private delegate: Renderer2) {}\n\n use(impl: Renderer2) {\n this.delegate = impl;\n }\n\n get data(): {[key: string]: any;} {\n return this.delegate.data;\n }\n\n destroy(): void {\n this.delegate.destroy();\n }\n\n createElement(name: string, namespace?: string|null) {\n return this.delegate.createElement(name, namespace);\n }\n\n createComment(value: string): void {\n return this.delegate.createComment(value);\n }\n\n createText(value: string): any {\n return this.delegate.createText(value);\n }\n\n get destroyNode(): ((node: any) => void)|null {\n return this.delegate.destroyNode;\n }\n\n appendChild(parent: any, newChild: any): void {\n this.delegate.appendChild(parent, newChild);\n }\n\n insertBefore(parent: any, newChild: any, refChild: any, isMove?: boolean|undefined): void {\n this.delegate.insertBefore(parent, newChild, refChild, isMove);\n }\n\n removeChild(parent: any, oldChild: any, isHostElement?: boolean|undefined): void {\n this.delegate.removeChild(parent, oldChild, isHostElement);\n }\n\n selectRootElement(selectorOrNode: any, preserveContent?: boolean|undefined): any {\n return this.delegate.selectRootElement(selectorOrNode, preserveContent);\n }\n\n parentNode(node: any): any {\n return this.delegate.parentNode(node);\n }\n\n nextSibling(node: any): 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 this.delegate.setProperty(el, name, value);\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","/**\n * @license\n * Copyright Google LLC 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 {DOCUMENT} from '@angular/common';\nimport {ANIMATION_MODULE_TYPE, NgZone, Provider, RendererFactory2} from '@angular/core';\nimport {ɵDomRendererFactory2 as DomRendererFactory2} from '@angular/platform-browser';\n\nimport {AsyncAnimationRendererFactory} from './async_animation_renderer';\n\n/**\n * Returns the set of [dependency-injection providers](guide/glossary#provider)\n * to enable animations in an application. See [animations guide](guide/animations)\n * to learn more about animations in Angular.\n *\n * When you use this function instead of the eager `provideAnimations()`, animations won't be\n * renderered until the renderer is loaded.\n *\n * @usageNotes\n *\n * The function is useful when you want to enable animations in an application\n * bootstrapped using the `bootstrapApplication` function. In this scenario there\n * is no need to import the `BrowserAnimationsModule` NgModule at all, just add\n * providers returned by this function to the `providers` list as show below.\n *\n * ```typescript\n * bootstrapApplication(RootComponent, {\n * providers: [\n * provideAnimationsAsync()\n * ]\n * });\n * ```\n *\n * @param type pass `'noop'` as argument to disable animations.\n *\n * @publicApi\n * @developerPreview\n */\nexport function provideAnimationsAsync(type: 'animations'|'noop' = 'animations'): Provider[] {\n return [\n {\n provide: RendererFactory2,\n useFactory: (doc: Document, renderer: DomRendererFactory2, zone: NgZone) => {\n return new AsyncAnimationRendererFactory(doc, renderer, zone, type);\n },\n deps: [DOCUMENT, DomRendererFactory2, NgZone],\n },\n {\n provide: ANIMATION_MODULE_TYPE,\n useValue: type === 'noop' ? 'NoopAnimations' : 'BrowserAnimations',\n },\n ];\n}\n","/**\n * @license\n * Copyright Google LLC 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 {provideAnimationsAsync} from './providers';\n","/**\n * @license\n * Copyright Google LLC 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/async-animations';\n","/**\n * @license\n * Copyright Google LLC 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 verification. `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"],"names":["DomRendererFactory2"],"mappings":"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"}
|
package/fesm2022/animations.mjs
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
/**
|
2
|
-
* @license Angular v17.0.0-next.
|
2
|
+
* @license Angular v17.0.0-next.7
|
3
3
|
* (c) 2010-2022 Google LLC. https://angular.io/
|
4
4
|
* License: MIT
|
5
5
|
*/
|
@@ -10,7 +10,7 @@ export { ANIMATION_MODULE_TYPE } from '@angular/core';
|
|
10
10
|
import { ɵDomRendererFactory2, BrowserModule } from '@angular/platform-browser';
|
11
11
|
import { AnimationBuilder, sequence, AnimationFactory } from '@angular/animations';
|
12
12
|
import * as i1 from '@angular/animations/browser';
|
13
|
-
import { ɵAnimationEngine, ɵWebAnimationsStyleNormalizer, ɵAnimationStyleNormalizer, AnimationDriver, ɵWebAnimationsDriver,
|
13
|
+
import { ɵAnimationEngine, ɵWebAnimationsStyleNormalizer, ɵAnimationRendererFactory, ɵAnimationStyleNormalizer, AnimationDriver, ɵWebAnimationsDriver, NoopAnimationDriver } from '@angular/animations/browser';
|
14
14
|
import { DOCUMENT } from '@angular/common';
|
15
15
|
|
16
16
|
class BrowserAnimationBuilder extends AnimationBuilder {
|
@@ -27,15 +27,15 @@ class BrowserAnimationBuilder extends AnimationBuilder {
|
|
27
27
|
issueAnimationCommand(this._renderer, null, id, 'register', [entry]);
|
28
28
|
return new BrowserAnimationFactory(id, this._renderer);
|
29
29
|
}
|
30
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.
|
31
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.0-next.
|
30
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.7", ngImport: i0, type: BrowserAnimationBuilder, deps: [{ token: i0.RendererFactory2 }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
31
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.0-next.7", ngImport: i0, type: BrowserAnimationBuilder }); }
|
32
32
|
}
|
33
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.
|
33
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.7", ngImport: i0, type: BrowserAnimationBuilder, decorators: [{
|
34
34
|
type: Injectable
|
35
|
-
}], ctorParameters:
|
35
|
+
}], ctorParameters: () => [{ type: i0.RendererFactory2 }, { type: Document, decorators: [{
|
36
36
|
type: Inject,
|
37
37
|
args: [DOCUMENT]
|
38
|
-
}] }]
|
38
|
+
}] }] });
|
39
39
|
class BrowserAnimationFactory extends AnimationFactory {
|
40
40
|
constructor(_id, _renderer) {
|
41
41
|
super();
|
@@ -108,263 +108,6 @@ function issueAnimationCommand(renderer, element, id, command, args) {
|
|
108
108
|
return renderer.setProperty(element, `@@${id}:${command}`, args);
|
109
109
|
}
|
110
110
|
|
111
|
-
const ANIMATION_PREFIX = '@';
|
112
|
-
const DISABLE_ANIMATIONS_FLAG = '@.disabled';
|
113
|
-
class AnimationRendererFactory {
|
114
|
-
constructor(delegate, engine, _zone) {
|
115
|
-
this.delegate = delegate;
|
116
|
-
this.engine = engine;
|
117
|
-
this._zone = _zone;
|
118
|
-
this._currentId = 0;
|
119
|
-
this._microtaskId = 1;
|
120
|
-
this._animationCallbacksBuffer = [];
|
121
|
-
this._rendererCache = new Map();
|
122
|
-
this._cdRecurDepth = 0;
|
123
|
-
engine.onRemovalComplete = (element, delegate) => {
|
124
|
-
// Note: if a component element has a leave animation, and a host leave animation,
|
125
|
-
// the view engine will call `removeChild` for the parent
|
126
|
-
// component renderer as well as for the child component renderer.
|
127
|
-
// Therefore, we need to check if we already removed the element.
|
128
|
-
const parentNode = delegate?.parentNode(element);
|
129
|
-
if (parentNode) {
|
130
|
-
delegate.removeChild(parentNode, element);
|
131
|
-
}
|
132
|
-
};
|
133
|
-
}
|
134
|
-
createRenderer(hostElement, type) {
|
135
|
-
const EMPTY_NAMESPACE_ID = '';
|
136
|
-
// cache the delegates to find out which cached delegate can
|
137
|
-
// be used by which cached renderer
|
138
|
-
const delegate = this.delegate.createRenderer(hostElement, type);
|
139
|
-
if (!hostElement || !type || !type.data || !type.data['animation']) {
|
140
|
-
let renderer = this._rendererCache.get(delegate);
|
141
|
-
if (!renderer) {
|
142
|
-
// Ensure that the renderer is removed from the cache on destroy
|
143
|
-
// since it may contain references to detached DOM nodes.
|
144
|
-
const onRendererDestroy = () => this._rendererCache.delete(delegate);
|
145
|
-
renderer =
|
146
|
-
new BaseAnimationRenderer(EMPTY_NAMESPACE_ID, delegate, this.engine, onRendererDestroy);
|
147
|
-
// only cache this result when the base renderer is used
|
148
|
-
this._rendererCache.set(delegate, renderer);
|
149
|
-
}
|
150
|
-
return renderer;
|
151
|
-
}
|
152
|
-
const componentId = type.id;
|
153
|
-
const namespaceId = type.id + '-' + this._currentId;
|
154
|
-
this._currentId++;
|
155
|
-
this.engine.register(namespaceId, hostElement);
|
156
|
-
const registerTrigger = (trigger) => {
|
157
|
-
if (Array.isArray(trigger)) {
|
158
|
-
trigger.forEach(registerTrigger);
|
159
|
-
}
|
160
|
-
else {
|
161
|
-
this.engine.registerTrigger(componentId, namespaceId, hostElement, trigger.name, trigger);
|
162
|
-
}
|
163
|
-
};
|
164
|
-
const animationTriggers = type.data['animation'];
|
165
|
-
animationTriggers.forEach(registerTrigger);
|
166
|
-
return new AnimationRenderer(this, namespaceId, delegate, this.engine);
|
167
|
-
}
|
168
|
-
begin() {
|
169
|
-
this._cdRecurDepth++;
|
170
|
-
if (this.delegate.begin) {
|
171
|
-
this.delegate.begin();
|
172
|
-
}
|
173
|
-
}
|
174
|
-
_scheduleCountTask() {
|
175
|
-
queueMicrotask(() => {
|
176
|
-
this._microtaskId++;
|
177
|
-
});
|
178
|
-
}
|
179
|
-
/** @internal */
|
180
|
-
scheduleListenerCallback(count, fn, data) {
|
181
|
-
if (count >= 0 && count < this._microtaskId) {
|
182
|
-
this._zone.run(() => fn(data));
|
183
|
-
return;
|
184
|
-
}
|
185
|
-
if (this._animationCallbacksBuffer.length == 0) {
|
186
|
-
queueMicrotask(() => {
|
187
|
-
this._zone.run(() => {
|
188
|
-
this._animationCallbacksBuffer.forEach(tuple => {
|
189
|
-
const [fn, data] = tuple;
|
190
|
-
fn(data);
|
191
|
-
});
|
192
|
-
this._animationCallbacksBuffer = [];
|
193
|
-
});
|
194
|
-
});
|
195
|
-
}
|
196
|
-
this._animationCallbacksBuffer.push([fn, data]);
|
197
|
-
}
|
198
|
-
end() {
|
199
|
-
this._cdRecurDepth--;
|
200
|
-
// this is to prevent animations from running twice when an inner
|
201
|
-
// component does CD when a parent component instead has inserted it
|
202
|
-
if (this._cdRecurDepth == 0) {
|
203
|
-
this._zone.runOutsideAngular(() => {
|
204
|
-
this._scheduleCountTask();
|
205
|
-
this.engine.flush(this._microtaskId);
|
206
|
-
});
|
207
|
-
}
|
208
|
-
if (this.delegate.end) {
|
209
|
-
this.delegate.end();
|
210
|
-
}
|
211
|
-
}
|
212
|
-
whenRenderingDone() {
|
213
|
-
return this.engine.whenRenderingDone();
|
214
|
-
}
|
215
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.5", ngImport: i0, type: AnimationRendererFactory, deps: [{ token: i0.RendererFactory2 }, { token: i1.ɵAnimationEngine }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
216
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.0-next.5", ngImport: i0, type: AnimationRendererFactory }); }
|
217
|
-
}
|
218
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.5", ngImport: i0, type: AnimationRendererFactory, decorators: [{
|
219
|
-
type: Injectable
|
220
|
-
}], ctorParameters: function () { return [{ type: i0.RendererFactory2 }, { type: i1.ɵAnimationEngine }, { type: i0.NgZone }]; } });
|
221
|
-
class BaseAnimationRenderer {
|
222
|
-
constructor(namespaceId, delegate, engine, _onDestroy) {
|
223
|
-
this.namespaceId = namespaceId;
|
224
|
-
this.delegate = delegate;
|
225
|
-
this.engine = engine;
|
226
|
-
this._onDestroy = _onDestroy;
|
227
|
-
}
|
228
|
-
get data() {
|
229
|
-
return this.delegate.data;
|
230
|
-
}
|
231
|
-
destroyNode(node) {
|
232
|
-
this.delegate.destroyNode?.(node);
|
233
|
-
}
|
234
|
-
destroy() {
|
235
|
-
this.engine.destroy(this.namespaceId, this.delegate);
|
236
|
-
this.engine.afterFlushAnimationsDone(() => {
|
237
|
-
// Call the renderer destroy method after the animations has finished as otherwise
|
238
|
-
// styles will be removed too early which will cause an unstyled animation.
|
239
|
-
queueMicrotask(() => {
|
240
|
-
this.delegate.destroy();
|
241
|
-
});
|
242
|
-
});
|
243
|
-
this._onDestroy?.();
|
244
|
-
}
|
245
|
-
createElement(name, namespace) {
|
246
|
-
return this.delegate.createElement(name, namespace);
|
247
|
-
}
|
248
|
-
createComment(value) {
|
249
|
-
return this.delegate.createComment(value);
|
250
|
-
}
|
251
|
-
createText(value) {
|
252
|
-
return this.delegate.createText(value);
|
253
|
-
}
|
254
|
-
appendChild(parent, newChild) {
|
255
|
-
this.delegate.appendChild(parent, newChild);
|
256
|
-
this.engine.onInsert(this.namespaceId, newChild, parent, false);
|
257
|
-
}
|
258
|
-
insertBefore(parent, newChild, refChild, isMove = true) {
|
259
|
-
this.delegate.insertBefore(parent, newChild, refChild);
|
260
|
-
// If `isMove` true than we should animate this insert.
|
261
|
-
this.engine.onInsert(this.namespaceId, newChild, parent, isMove);
|
262
|
-
}
|
263
|
-
removeChild(parent, oldChild, isHostElement) {
|
264
|
-
this.engine.onRemove(this.namespaceId, oldChild, this.delegate);
|
265
|
-
}
|
266
|
-
selectRootElement(selectorOrNode, preserveContent) {
|
267
|
-
return this.delegate.selectRootElement(selectorOrNode, preserveContent);
|
268
|
-
}
|
269
|
-
parentNode(node) {
|
270
|
-
return this.delegate.parentNode(node);
|
271
|
-
}
|
272
|
-
nextSibling(node) {
|
273
|
-
return this.delegate.nextSibling(node);
|
274
|
-
}
|
275
|
-
setAttribute(el, name, value, namespace) {
|
276
|
-
this.delegate.setAttribute(el, name, value, namespace);
|
277
|
-
}
|
278
|
-
removeAttribute(el, name, namespace) {
|
279
|
-
this.delegate.removeAttribute(el, name, namespace);
|
280
|
-
}
|
281
|
-
addClass(el, name) {
|
282
|
-
this.delegate.addClass(el, name);
|
283
|
-
}
|
284
|
-
removeClass(el, name) {
|
285
|
-
this.delegate.removeClass(el, name);
|
286
|
-
}
|
287
|
-
setStyle(el, style, value, flags) {
|
288
|
-
this.delegate.setStyle(el, style, value, flags);
|
289
|
-
}
|
290
|
-
removeStyle(el, style, flags) {
|
291
|
-
this.delegate.removeStyle(el, style, flags);
|
292
|
-
}
|
293
|
-
setProperty(el, name, value) {
|
294
|
-
if (name.charAt(0) == ANIMATION_PREFIX && name == DISABLE_ANIMATIONS_FLAG) {
|
295
|
-
this.disableAnimations(el, !!value);
|
296
|
-
}
|
297
|
-
else {
|
298
|
-
this.delegate.setProperty(el, name, value);
|
299
|
-
}
|
300
|
-
}
|
301
|
-
setValue(node, value) {
|
302
|
-
this.delegate.setValue(node, value);
|
303
|
-
}
|
304
|
-
listen(target, eventName, callback) {
|
305
|
-
return this.delegate.listen(target, eventName, callback);
|
306
|
-
}
|
307
|
-
disableAnimations(element, value) {
|
308
|
-
this.engine.disableAnimations(element, value);
|
309
|
-
}
|
310
|
-
}
|
311
|
-
class AnimationRenderer extends BaseAnimationRenderer {
|
312
|
-
constructor(factory, namespaceId, delegate, engine, onDestroy) {
|
313
|
-
super(namespaceId, delegate, engine, onDestroy);
|
314
|
-
this.factory = factory;
|
315
|
-
this.namespaceId = namespaceId;
|
316
|
-
}
|
317
|
-
setProperty(el, name, value) {
|
318
|
-
if (name.charAt(0) == ANIMATION_PREFIX) {
|
319
|
-
if (name.charAt(1) == '.' && name == DISABLE_ANIMATIONS_FLAG) {
|
320
|
-
value = value === undefined ? true : !!value;
|
321
|
-
this.disableAnimations(el, value);
|
322
|
-
}
|
323
|
-
else {
|
324
|
-
this.engine.process(this.namespaceId, el, name.slice(1), value);
|
325
|
-
}
|
326
|
-
}
|
327
|
-
else {
|
328
|
-
this.delegate.setProperty(el, name, value);
|
329
|
-
}
|
330
|
-
}
|
331
|
-
listen(target, eventName, callback) {
|
332
|
-
if (eventName.charAt(0) == ANIMATION_PREFIX) {
|
333
|
-
const element = resolveElementFromTarget(target);
|
334
|
-
let name = eventName.slice(1);
|
335
|
-
let phase = '';
|
336
|
-
// @listener.phase is for trigger animation callbacks
|
337
|
-
// @@listener is for animation builder callbacks
|
338
|
-
if (name.charAt(0) != ANIMATION_PREFIX) {
|
339
|
-
[name, phase] = parseTriggerCallbackName(name);
|
340
|
-
}
|
341
|
-
return this.engine.listen(this.namespaceId, element, name, phase, event => {
|
342
|
-
const countId = event['_data'] || -1;
|
343
|
-
this.factory.scheduleListenerCallback(countId, callback, event);
|
344
|
-
});
|
345
|
-
}
|
346
|
-
return this.delegate.listen(target, eventName, callback);
|
347
|
-
}
|
348
|
-
}
|
349
|
-
function resolveElementFromTarget(target) {
|
350
|
-
switch (target) {
|
351
|
-
case 'body':
|
352
|
-
return document.body;
|
353
|
-
case 'document':
|
354
|
-
return document;
|
355
|
-
case 'window':
|
356
|
-
return window;
|
357
|
-
default:
|
358
|
-
return target;
|
359
|
-
}
|
360
|
-
}
|
361
|
-
function parseTriggerCallbackName(triggerName) {
|
362
|
-
const dotIndex = triggerName.indexOf('.');
|
363
|
-
const trigger = triggerName.substring(0, dotIndex);
|
364
|
-
const phase = triggerName.slice(dotIndex + 1);
|
365
|
-
return [trigger, phase];
|
366
|
-
}
|
367
|
-
|
368
111
|
class InjectableAnimationEngine extends ɵAnimationEngine {
|
369
112
|
// The `ApplicationRef` is injected here explicitly to force the dependency ordering.
|
370
113
|
// Since the `ApplicationRef` should be created earlier before the `AnimationEngine`, they
|
@@ -375,20 +118,20 @@ class InjectableAnimationEngine extends ɵAnimationEngine {
|
|
375
118
|
ngOnDestroy() {
|
376
119
|
this.flush();
|
377
120
|
}
|
378
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.
|
379
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.0-next.
|
121
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.7", ngImport: i0, type: InjectableAnimationEngine, deps: [{ token: DOCUMENT }, { token: i1.AnimationDriver }, { token: i1.ɵAnimationStyleNormalizer }, { token: i0.ApplicationRef }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
122
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.0-next.7", ngImport: i0, type: InjectableAnimationEngine }); }
|
380
123
|
}
|
381
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.
|
124
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.7", ngImport: i0, type: InjectableAnimationEngine, decorators: [{
|
382
125
|
type: Injectable
|
383
|
-
}], ctorParameters:
|
126
|
+
}], ctorParameters: () => [{ type: Document, decorators: [{
|
384
127
|
type: Inject,
|
385
128
|
args: [DOCUMENT]
|
386
|
-
}] }, { type: i1.AnimationDriver }, { type: i1.ɵAnimationStyleNormalizer }, { type: i0.ApplicationRef }]
|
129
|
+
}] }, { type: i1.AnimationDriver }, { type: i1.ɵAnimationStyleNormalizer }, { type: i0.ApplicationRef }] });
|
387
130
|
function instantiateDefaultStyleNormalizer() {
|
388
131
|
return new ɵWebAnimationsStyleNormalizer();
|
389
132
|
}
|
390
133
|
function instantiateRendererFactory(renderer, engine, zone) {
|
391
|
-
return new
|
134
|
+
return new ɵAnimationRendererFactory(renderer, engine, zone);
|
392
135
|
}
|
393
136
|
const SHARED_ANIMATION_PROVIDERS = [
|
394
137
|
{ provide: AnimationBuilder, useClass: BrowserAnimationBuilder },
|
@@ -412,7 +155,7 @@ const BROWSER_ANIMATIONS_PROVIDERS = [
|
|
412
155
|
* include them in the BrowserTestingModule.
|
413
156
|
*/
|
414
157
|
const BROWSER_NOOP_ANIMATIONS_PROVIDERS = [
|
415
|
-
{ provide: AnimationDriver, useClass:
|
158
|
+
{ provide: AnimationDriver, useClass: NoopAnimationDriver },
|
416
159
|
{ provide: ANIMATION_MODULE_TYPE, useValue: 'NoopAnimations' }, ...SHARED_ANIMATION_PROVIDERS
|
417
160
|
];
|
418
161
|
|
@@ -445,11 +188,11 @@ class BrowserAnimationsModule {
|
|
445
188
|
BROWSER_ANIMATIONS_PROVIDERS
|
446
189
|
};
|
447
190
|
}
|
448
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.
|
449
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.0-next.
|
450
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.0-next.
|
191
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.7", ngImport: i0, type: BrowserAnimationsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
192
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.0-next.7", ngImport: i0, type: BrowserAnimationsModule, exports: [BrowserModule] }); }
|
193
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.0-next.7", ngImport: i0, type: BrowserAnimationsModule, providers: BROWSER_ANIMATIONS_PROVIDERS, imports: [BrowserModule] }); }
|
451
194
|
}
|
452
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.
|
195
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.7", ngImport: i0, type: BrowserAnimationsModule, decorators: [{
|
453
196
|
type: NgModule,
|
454
197
|
args: [{
|
455
198
|
exports: [BrowserModule],
|
@@ -488,11 +231,11 @@ function provideAnimations() {
|
|
488
231
|
* @publicApi
|
489
232
|
*/
|
490
233
|
class NoopAnimationsModule {
|
491
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.
|
492
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.0-next.
|
493
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.0-next.
|
234
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.7", ngImport: i0, type: NoopAnimationsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
235
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.0-next.7", ngImport: i0, type: NoopAnimationsModule, exports: [BrowserModule] }); }
|
236
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.0-next.7", ngImport: i0, type: NoopAnimationsModule, providers: BROWSER_NOOP_ANIMATIONS_PROVIDERS, imports: [BrowserModule] }); }
|
494
237
|
}
|
495
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.
|
238
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.7", ngImport: i0, type: NoopAnimationsModule, decorators: [{
|
496
239
|
type: NgModule,
|
497
240
|
args: [{
|
498
241
|
exports: [BrowserModule],
|
@@ -544,5 +287,5 @@ function provideNoopAnimations() {
|
|
544
287
|
* Generated bundle index. Do not edit.
|
545
288
|
*/
|
546
289
|
|
547
|
-
export { BrowserAnimationsModule, NoopAnimationsModule, provideAnimations, provideNoopAnimations,
|
290
|
+
export { BrowserAnimationsModule, NoopAnimationsModule, provideAnimations, provideNoopAnimations, BrowserAnimationBuilder as ɵBrowserAnimationBuilder, InjectableAnimationEngine as ɵInjectableAnimationEngine };
|
548
291
|
//# sourceMappingURL=animations.mjs.map
|