@angular/platform-browser 16.0.0-next.4 → 16.0.0-next.5

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.
Files changed (64) hide show
  1. package/animations/index.d.ts +1 -1
  2. package/{esm2020 → esm2022}/animations/src/animation_builder.mjs +4 -4
  3. package/{esm2020 → esm2022}/animations/src/animation_renderer.mjs +4 -4
  4. package/{esm2020 → esm2022}/animations/src/module.mjs +9 -9
  5. package/{esm2020 → esm2022}/animations/src/providers.mjs +4 -4
  6. package/esm2022/src/browser/browser_adapter.mjs +93 -0
  7. package/{esm2020 → esm2022}/src/browser/generic_browser_adapter.mjs +1 -1
  8. package/{esm2020 → esm2022}/src/browser/meta.mjs +4 -4
  9. package/{esm2020 → esm2022}/src/browser/title.mjs +4 -4
  10. package/{esm2020 → esm2022}/src/browser/transfer_state_module.mjs +5 -5
  11. package/{esm2020 → esm2022}/src/browser/xhr.mjs +4 -4
  12. package/esm2022/src/browser.mjs +238 -0
  13. package/esm2022/src/dom/dom_renderer.mjs +357 -0
  14. package/{esm2020 → esm2022}/src/dom/events/dom_events.mjs +4 -4
  15. package/{esm2020 → esm2022}/src/dom/events/event_manager.mjs +4 -4
  16. package/{esm2020 → esm2022}/src/dom/events/hammer_gestures.mjs +19 -19
  17. package/{esm2020 → esm2022}/src/dom/events/key_events.mjs +4 -4
  18. package/{esm2020 → esm2022}/src/dom/shared_styles_host.mjs +5 -6
  19. package/esm2022/src/platform-browser.mjs +60 -0
  20. package/{esm2020 → esm2022}/src/security/dom_sanitization_service.mjs +7 -7
  21. package/{esm2020 → esm2022}/src/version.mjs +1 -1
  22. package/{esm2020 → esm2022}/testing/src/browser.mjs +9 -9
  23. package/{fesm2020 → fesm2022}/animations.mjs +18 -18
  24. package/fesm2022/animations.mjs.map +1 -0
  25. package/{fesm2020 → fesm2022}/platform-browser.mjs +107 -72
  26. package/fesm2022/platform-browser.mjs.map +1 -0
  27. package/{fesm2015 → fesm2022}/testing.mjs +10 -10
  28. package/{fesm2020 → fesm2022}/testing.mjs.map +1 -1
  29. package/index.d.ts +58 -7
  30. package/package.json +14 -24
  31. package/testing/index.d.ts +1 -1
  32. package/esm2020/src/browser/browser_adapter.mjs +0 -93
  33. package/esm2020/src/browser.mjs +0 -237
  34. package/esm2020/src/dom/dom_renderer.mjs +0 -359
  35. package/esm2020/src/platform-browser.mjs +0 -22
  36. package/fesm2015/animations.mjs +0 -548
  37. package/fesm2015/animations.mjs.map +0 -1
  38. package/fesm2015/platform-browser.mjs +0 -1996
  39. package/fesm2015/platform-browser.mjs.map +0 -1
  40. package/fesm2015/testing.mjs.map +0 -1
  41. package/fesm2020/animations.mjs.map +0 -1
  42. package/fesm2020/platform-browser.mjs.map +0 -1
  43. package/fesm2020/testing.mjs +0 -232
  44. /package/{esm2020 → esm2022}/animations/animations.mjs +0 -0
  45. /package/{esm2020 → esm2022}/animations/index.mjs +0 -0
  46. /package/{esm2020 → esm2022}/animations/public_api.mjs +0 -0
  47. /package/{esm2020 → esm2022}/animations/src/animations.mjs +0 -0
  48. /package/{esm2020 → esm2022}/animations/src/private_export.mjs +0 -0
  49. /package/{esm2020 → esm2022}/index.mjs +0 -0
  50. /package/{esm2020 → esm2022}/platform-browser.mjs +0 -0
  51. /package/{esm2020 → esm2022}/public_api.mjs +0 -0
  52. /package/{esm2020 → esm2022}/src/browser/testability.mjs +0 -0
  53. /package/{esm2020 → esm2022}/src/browser/tools/browser.mjs +0 -0
  54. /package/{esm2020 → esm2022}/src/browser/tools/common_tools.mjs +0 -0
  55. /package/{esm2020 → esm2022}/src/browser/tools/tools.mjs +0 -0
  56. /package/{esm2020 → esm2022}/src/dom/debug/by.mjs +0 -0
  57. /package/{esm2020 → esm2022}/src/dom/util.mjs +0 -0
  58. /package/{esm2020 → esm2022}/src/private_export.mjs +0 -0
  59. /package/{esm2020 → esm2022}/testing/index.mjs +0 -0
  60. /package/{esm2020 → esm2022}/testing/public_api.mjs +0 -0
  61. /package/{esm2020 → esm2022}/testing/src/browser_util.mjs +0 -0
  62. /package/{esm2020 → esm2022}/testing/src/matchers.mjs +0 -0
  63. /package/{esm2020 → esm2022}/testing/src/testing.mjs +0 -0
  64. /package/{esm2020 → esm2022}/testing/testing.mjs +0 -0
@@ -1,548 +0,0 @@
1
- /**
2
- * @license Angular v16.0.0-next.4
3
- * (c) 2010-2022 Google LLC. https://angular.io/
4
- * License: MIT
5
- */
6
-
7
- import * as i0 from '@angular/core';
8
- import { ViewEncapsulation, Injectable, Inject, RendererFactory2, NgZone, ANIMATION_MODULE_TYPE, NgModule } from '@angular/core';
9
- export { ANIMATION_MODULE_TYPE } from '@angular/core';
10
- import { ɵDomRendererFactory2, BrowserModule } from '@angular/platform-browser';
11
- import { AnimationBuilder, sequence, AnimationFactory } from '@angular/animations';
12
- import * as i1 from '@angular/animations/browser';
13
- import { ɵAnimationEngine, ɵWebAnimationsStyleNormalizer, ɵAnimationStyleNormalizer, AnimationDriver, ɵWebAnimationsDriver, ɵNoopAnimationDriver } from '@angular/animations/browser';
14
- import { DOCUMENT } from '@angular/common';
15
-
16
- class BrowserAnimationBuilder extends AnimationBuilder {
17
- constructor(rootRenderer, doc) {
18
- super();
19
- this._nextAnimationId = 0;
20
- const typeData = { id: '0', encapsulation: ViewEncapsulation.None, styles: [], data: { animation: [] } };
21
- this._renderer = rootRenderer.createRenderer(doc.body, typeData);
22
- }
23
- build(animation) {
24
- const id = this._nextAnimationId.toString();
25
- this._nextAnimationId++;
26
- const entry = Array.isArray(animation) ? sequence(animation) : animation;
27
- issueAnimationCommand(this._renderer, null, id, 'register', [entry]);
28
- return new BrowserAnimationFactory(id, this._renderer);
29
- }
30
- }
31
- BrowserAnimationBuilder.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.4", ngImport: i0, type: BrowserAnimationBuilder, deps: [{ token: i0.RendererFactory2 }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable });
32
- BrowserAnimationBuilder.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0-next.4", ngImport: i0, type: BrowserAnimationBuilder });
33
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.4", ngImport: i0, type: BrowserAnimationBuilder, decorators: [{
34
- type: Injectable
35
- }], ctorParameters: function () {
36
- return [{ type: i0.RendererFactory2 }, { type: undefined, decorators: [{
37
- type: Inject,
38
- args: [DOCUMENT]
39
- }] }];
40
- } });
41
- class BrowserAnimationFactory extends AnimationFactory {
42
- constructor(_id, _renderer) {
43
- super();
44
- this._id = _id;
45
- this._renderer = _renderer;
46
- }
47
- create(element, options) {
48
- return new RendererAnimationPlayer(this._id, element, options || {}, this._renderer);
49
- }
50
- }
51
- class RendererAnimationPlayer {
52
- constructor(id, element, options, _renderer) {
53
- this.id = id;
54
- this.element = element;
55
- this._renderer = _renderer;
56
- this.parentPlayer = null;
57
- this._started = false;
58
- this.totalTime = 0;
59
- this._command('create', options);
60
- }
61
- _listen(eventName, callback) {
62
- return this._renderer.listen(this.element, `@@${this.id}:${eventName}`, callback);
63
- }
64
- _command(command, ...args) {
65
- return issueAnimationCommand(this._renderer, this.element, this.id, command, args);
66
- }
67
- onDone(fn) {
68
- this._listen('done', fn);
69
- }
70
- onStart(fn) {
71
- this._listen('start', fn);
72
- }
73
- onDestroy(fn) {
74
- this._listen('destroy', fn);
75
- }
76
- init() {
77
- this._command('init');
78
- }
79
- hasStarted() {
80
- return this._started;
81
- }
82
- play() {
83
- this._command('play');
84
- this._started = true;
85
- }
86
- pause() {
87
- this._command('pause');
88
- }
89
- restart() {
90
- this._command('restart');
91
- }
92
- finish() {
93
- this._command('finish');
94
- }
95
- destroy() {
96
- this._command('destroy');
97
- }
98
- reset() {
99
- this._command('reset');
100
- this._started = false;
101
- }
102
- setPosition(p) {
103
- this._command('setPosition', p);
104
- }
105
- getPosition() {
106
- var _a, _b;
107
- return (_b = (_a = this._renderer.engine.players[+this.id]) === null || _a === void 0 ? void 0 : _a.getPosition()) !== null && _b !== void 0 ? _b : 0;
108
- }
109
- }
110
- function issueAnimationCommand(renderer, element, id, command, args) {
111
- return renderer.setProperty(element, `@@${id}:${command}`, args);
112
- }
113
-
114
- const ANIMATION_PREFIX = '@';
115
- const DISABLE_ANIMATIONS_FLAG = '@.disabled';
116
- class AnimationRendererFactory {
117
- constructor(delegate, engine, _zone) {
118
- this.delegate = delegate;
119
- this.engine = engine;
120
- this._zone = _zone;
121
- this._currentId = 0;
122
- this._microtaskId = 1;
123
- this._animationCallbacksBuffer = [];
124
- this._rendererCache = new Map();
125
- this._cdRecurDepth = 0;
126
- this.promise = Promise.resolve(0);
127
- engine.onRemovalComplete = (element, delegate) => {
128
- // Note: if a component element has a leave animation, and a host leave animation,
129
- // the view engine will call `removeChild` for the parent
130
- // component renderer as well as for the child component renderer.
131
- // Therefore, we need to check if we already removed the element.
132
- const parentNode = delegate === null || delegate === void 0 ? void 0 : delegate.parentNode(element);
133
- if (parentNode) {
134
- delegate.removeChild(parentNode, element);
135
- }
136
- };
137
- }
138
- createRenderer(hostElement, type) {
139
- const EMPTY_NAMESPACE_ID = '';
140
- // cache the delegates to find out which cached delegate can
141
- // be used by which cached renderer
142
- const delegate = this.delegate.createRenderer(hostElement, type);
143
- if (!hostElement || !type || !type.data || !type.data['animation']) {
144
- let renderer = this._rendererCache.get(delegate);
145
- if (!renderer) {
146
- // Ensure that the renderer is removed from the cache on destroy
147
- // since it may contain references to detached DOM nodes.
148
- const onRendererDestroy = () => this._rendererCache.delete(delegate);
149
- renderer =
150
- new BaseAnimationRenderer(EMPTY_NAMESPACE_ID, delegate, this.engine, onRendererDestroy);
151
- // only cache this result when the base renderer is used
152
- this._rendererCache.set(delegate, renderer);
153
- }
154
- return renderer;
155
- }
156
- const componentId = type.id;
157
- const namespaceId = type.id + '-' + this._currentId;
158
- this._currentId++;
159
- this.engine.register(namespaceId, hostElement);
160
- const registerTrigger = (trigger) => {
161
- if (Array.isArray(trigger)) {
162
- trigger.forEach(registerTrigger);
163
- }
164
- else {
165
- this.engine.registerTrigger(componentId, namespaceId, hostElement, trigger.name, trigger);
166
- }
167
- };
168
- const animationTriggers = type.data['animation'];
169
- animationTriggers.forEach(registerTrigger);
170
- return new AnimationRenderer(this, namespaceId, delegate, this.engine);
171
- }
172
- begin() {
173
- this._cdRecurDepth++;
174
- if (this.delegate.begin) {
175
- this.delegate.begin();
176
- }
177
- }
178
- _scheduleCountTask() {
179
- // always use promise to schedule microtask instead of use Zone
180
- this.promise.then(() => {
181
- this._microtaskId++;
182
- });
183
- }
184
- /** @internal */
185
- scheduleListenerCallback(count, fn, data) {
186
- if (count >= 0 && count < this._microtaskId) {
187
- this._zone.run(() => fn(data));
188
- return;
189
- }
190
- if (this._animationCallbacksBuffer.length == 0) {
191
- Promise.resolve(null).then(() => {
192
- this._zone.run(() => {
193
- this._animationCallbacksBuffer.forEach(tuple => {
194
- const [fn, data] = tuple;
195
- fn(data);
196
- });
197
- this._animationCallbacksBuffer = [];
198
- });
199
- });
200
- }
201
- this._animationCallbacksBuffer.push([fn, data]);
202
- }
203
- end() {
204
- this._cdRecurDepth--;
205
- // this is to prevent animations from running twice when an inner
206
- // component does CD when a parent component instead has inserted it
207
- if (this._cdRecurDepth == 0) {
208
- this._zone.runOutsideAngular(() => {
209
- this._scheduleCountTask();
210
- this.engine.flush(this._microtaskId);
211
- });
212
- }
213
- if (this.delegate.end) {
214
- this.delegate.end();
215
- }
216
- }
217
- whenRenderingDone() {
218
- return this.engine.whenRenderingDone();
219
- }
220
- }
221
- AnimationRendererFactory.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.4", ngImport: i0, type: AnimationRendererFactory, deps: [{ token: i0.RendererFactory2 }, { token: i1.ɵAnimationEngine }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });
222
- AnimationRendererFactory.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0-next.4", ngImport: i0, type: AnimationRendererFactory });
223
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.4", ngImport: i0, type: AnimationRendererFactory, decorators: [{
224
- type: Injectable
225
- }], ctorParameters: function () { return [{ type: i0.RendererFactory2 }, { type: i1.ɵAnimationEngine }, { type: i0.NgZone }]; } });
226
- class BaseAnimationRenderer {
227
- constructor(namespaceId, delegate, engine, _onDestroy) {
228
- this.namespaceId = namespaceId;
229
- this.delegate = delegate;
230
- this.engine = engine;
231
- this._onDestroy = _onDestroy;
232
- this.destroyNode = this.delegate.destroyNode ? (n) => delegate.destroyNode(n) : null;
233
- }
234
- get data() {
235
- return this.delegate.data;
236
- }
237
- destroy() {
238
- var _a;
239
- this.engine.destroy(this.namespaceId, this.delegate);
240
- this.delegate.destroy();
241
- (_a = this._onDestroy) === null || _a === void 0 ? void 0 : _a.call(this);
242
- }
243
- createElement(name, namespace) {
244
- return this.delegate.createElement(name, namespace);
245
- }
246
- createComment(value) {
247
- return this.delegate.createComment(value);
248
- }
249
- createText(value) {
250
- return this.delegate.createText(value);
251
- }
252
- appendChild(parent, newChild) {
253
- this.delegate.appendChild(parent, newChild);
254
- this.engine.onInsert(this.namespaceId, newChild, parent, false);
255
- }
256
- insertBefore(parent, newChild, refChild, isMove = true) {
257
- this.delegate.insertBefore(parent, newChild, refChild);
258
- // If `isMove` true than we should animate this insert.
259
- this.engine.onInsert(this.namespaceId, newChild, parent, isMove);
260
- }
261
- removeChild(parent, oldChild, isHostElement) {
262
- this.engine.onRemove(this.namespaceId, oldChild, this.delegate, isHostElement);
263
- }
264
- selectRootElement(selectorOrNode, preserveContent) {
265
- return this.delegate.selectRootElement(selectorOrNode, preserveContent);
266
- }
267
- parentNode(node) {
268
- return this.delegate.parentNode(node);
269
- }
270
- nextSibling(node) {
271
- return this.delegate.nextSibling(node);
272
- }
273
- setAttribute(el, name, value, namespace) {
274
- this.delegate.setAttribute(el, name, value, namespace);
275
- }
276
- removeAttribute(el, name, namespace) {
277
- this.delegate.removeAttribute(el, name, namespace);
278
- }
279
- addClass(el, name) {
280
- this.delegate.addClass(el, name);
281
- }
282
- removeClass(el, name) {
283
- this.delegate.removeClass(el, name);
284
- }
285
- setStyle(el, style, value, flags) {
286
- this.delegate.setStyle(el, style, value, flags);
287
- }
288
- removeStyle(el, style, flags) {
289
- this.delegate.removeStyle(el, style, flags);
290
- }
291
- setProperty(el, name, value) {
292
- if (name.charAt(0) == ANIMATION_PREFIX && name == DISABLE_ANIMATIONS_FLAG) {
293
- this.disableAnimations(el, !!value);
294
- }
295
- else {
296
- this.delegate.setProperty(el, name, value);
297
- }
298
- }
299
- setValue(node, value) {
300
- this.delegate.setValue(node, value);
301
- }
302
- listen(target, eventName, callback) {
303
- return this.delegate.listen(target, eventName, callback);
304
- }
305
- disableAnimations(element, value) {
306
- this.engine.disableAnimations(element, value);
307
- }
308
- }
309
- class AnimationRenderer extends BaseAnimationRenderer {
310
- constructor(factory, namespaceId, delegate, engine, onDestroy) {
311
- super(namespaceId, delegate, engine, onDestroy);
312
- this.factory = factory;
313
- this.namespaceId = namespaceId;
314
- }
315
- setProperty(el, name, value) {
316
- if (name.charAt(0) == ANIMATION_PREFIX) {
317
- if (name.charAt(1) == '.' && name == DISABLE_ANIMATIONS_FLAG) {
318
- value = value === undefined ? true : !!value;
319
- this.disableAnimations(el, value);
320
- }
321
- else {
322
- this.engine.process(this.namespaceId, el, name.slice(1), value);
323
- }
324
- }
325
- else {
326
- this.delegate.setProperty(el, name, value);
327
- }
328
- }
329
- listen(target, eventName, callback) {
330
- if (eventName.charAt(0) == ANIMATION_PREFIX) {
331
- const element = resolveElementFromTarget(target);
332
- let name = eventName.slice(1);
333
- let phase = '';
334
- // @listener.phase is for trigger animation callbacks
335
- // @@listener is for animation builder callbacks
336
- if (name.charAt(0) != ANIMATION_PREFIX) {
337
- [name, phase] = parseTriggerCallbackName(name);
338
- }
339
- return this.engine.listen(this.namespaceId, element, name, phase, event => {
340
- const countId = event['_data'] || -1;
341
- this.factory.scheduleListenerCallback(countId, callback, event);
342
- });
343
- }
344
- return this.delegate.listen(target, eventName, callback);
345
- }
346
- }
347
- function resolveElementFromTarget(target) {
348
- switch (target) {
349
- case 'body':
350
- return document.body;
351
- case 'document':
352
- return document;
353
- case 'window':
354
- return window;
355
- default:
356
- return target;
357
- }
358
- }
359
- function parseTriggerCallbackName(triggerName) {
360
- const dotIndex = triggerName.indexOf('.');
361
- const trigger = triggerName.substring(0, dotIndex);
362
- const phase = triggerName.slice(dotIndex + 1);
363
- return [trigger, phase];
364
- }
365
-
366
- class InjectableAnimationEngine extends ɵAnimationEngine {
367
- // The `ApplicationRef` is injected here explicitly to force the dependency ordering.
368
- // Since the `ApplicationRef` should be created earlier before the `AnimationEngine`, they
369
- // both have `ngOnDestroy` hooks and `flush()` must be called after all views are destroyed.
370
- constructor(doc, driver, normalizer, appRef) {
371
- super(doc.body, driver, normalizer);
372
- }
373
- ngOnDestroy() {
374
- this.flush();
375
- }
376
- }
377
- InjectableAnimationEngine.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.4", ngImport: i0, type: InjectableAnimationEngine, deps: [{ token: DOCUMENT }, { token: i1.AnimationDriver }, { token: i1.ɵAnimationStyleNormalizer }, { token: i0.ApplicationRef }], target: i0.ɵɵFactoryTarget.Injectable });
378
- InjectableAnimationEngine.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0-next.4", ngImport: i0, type: InjectableAnimationEngine });
379
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.4", ngImport: i0, type: InjectableAnimationEngine, decorators: [{
380
- type: Injectable
381
- }], ctorParameters: function () {
382
- return [{ type: undefined, decorators: [{
383
- type: Inject,
384
- args: [DOCUMENT]
385
- }] }, { type: i1.AnimationDriver }, { type: i1.ɵAnimationStyleNormalizer }, { type: i0.ApplicationRef }];
386
- } });
387
- function instantiateDefaultStyleNormalizer() {
388
- return new ɵWebAnimationsStyleNormalizer();
389
- }
390
- function instantiateRendererFactory(renderer, engine, zone) {
391
- return new AnimationRendererFactory(renderer, engine, zone);
392
- }
393
- const SHARED_ANIMATION_PROVIDERS = [
394
- { provide: AnimationBuilder, useClass: BrowserAnimationBuilder },
395
- { provide: ɵAnimationStyleNormalizer, useFactory: instantiateDefaultStyleNormalizer },
396
- { provide: ɵAnimationEngine, useClass: InjectableAnimationEngine }, {
397
- provide: RendererFactory2,
398
- useFactory: instantiateRendererFactory,
399
- deps: [ɵDomRendererFactory2, ɵAnimationEngine, NgZone]
400
- }
401
- ];
402
- /**
403
- * Separate providers from the actual module so that we can do a local modification in Google3 to
404
- * include them in the BrowserModule.
405
- */
406
- const BROWSER_ANIMATIONS_PROVIDERS = [
407
- { provide: AnimationDriver, useFactory: () => new ɵWebAnimationsDriver() },
408
- { provide: ANIMATION_MODULE_TYPE, useValue: 'BrowserAnimations' }, ...SHARED_ANIMATION_PROVIDERS
409
- ];
410
- /**
411
- * Separate providers from the actual module so that we can do a local modification in Google3 to
412
- * include them in the BrowserTestingModule.
413
- */
414
- const BROWSER_NOOP_ANIMATIONS_PROVIDERS = [
415
- { provide: AnimationDriver, useClass: ɵNoopAnimationDriver },
416
- { provide: ANIMATION_MODULE_TYPE, useValue: 'NoopAnimations' }, ...SHARED_ANIMATION_PROVIDERS
417
- ];
418
-
419
- /**
420
- * Exports `BrowserModule` with additional [dependency-injection providers](guide/glossary#provider)
421
- * for use with animations. See [Animations](guide/animations).
422
- * @publicApi
423
- */
424
- class BrowserAnimationsModule {
425
- /**
426
- * Configures the module based on the specified object.
427
- *
428
- * @param config Object used to configure the behavior of the `BrowserAnimationsModule`.
429
- * @see `BrowserAnimationsModuleConfig`
430
- *
431
- * @usageNotes
432
- * When registering the `BrowserAnimationsModule`, you can use the `withConfig`
433
- * function as follows:
434
- * ```
435
- * @NgModule({
436
- * imports: [BrowserAnimationsModule.withConfig(config)]
437
- * })
438
- * class MyNgModule {}
439
- * ```
440
- */
441
- static withConfig(config) {
442
- return {
443
- ngModule: BrowserAnimationsModule,
444
- providers: config.disableAnimations ? BROWSER_NOOP_ANIMATIONS_PROVIDERS :
445
- BROWSER_ANIMATIONS_PROVIDERS
446
- };
447
- }
448
- }
449
- BrowserAnimationsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.4", ngImport: i0, type: BrowserAnimationsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
450
- BrowserAnimationsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.0-next.4", ngImport: i0, type: BrowserAnimationsModule, exports: [BrowserModule] });
451
- BrowserAnimationsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.0-next.4", ngImport: i0, type: BrowserAnimationsModule, providers: BROWSER_ANIMATIONS_PROVIDERS, imports: [BrowserModule] });
452
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.4", ngImport: i0, type: BrowserAnimationsModule, decorators: [{
453
- type: NgModule,
454
- args: [{
455
- exports: [BrowserModule],
456
- providers: BROWSER_ANIMATIONS_PROVIDERS,
457
- }]
458
- }] });
459
- /**
460
- * Returns the set of [dependency-injection providers](guide/glossary#provider)
461
- * to enable animations in an application. See [animations guide](guide/animations)
462
- * to learn more about animations in Angular.
463
- *
464
- * @usageNotes
465
- *
466
- * The function is useful when you want to enable animations in an application
467
- * bootstrapped using the `bootstrapApplication` function. In this scenario there
468
- * is no need to import the `BrowserAnimationsModule` NgModule at all, just add
469
- * providers returned by this function to the `providers` list as show below.
470
- *
471
- * ```typescript
472
- * bootstrapApplication(RootComponent, {
473
- * providers: [
474
- * provideAnimations()
475
- * ]
476
- * });
477
- * ```
478
- *
479
- * @publicApi
480
- */
481
- function provideAnimations() {
482
- // Return a copy to prevent changes to the original array in case any in-place
483
- // alterations are performed to the `provideAnimations` call results in app code.
484
- return [...BROWSER_ANIMATIONS_PROVIDERS];
485
- }
486
- /**
487
- * A null player that must be imported to allow disabling of animations.
488
- * @publicApi
489
- */
490
- class NoopAnimationsModule {
491
- }
492
- NoopAnimationsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.4", ngImport: i0, type: NoopAnimationsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
493
- NoopAnimationsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.0-next.4", ngImport: i0, type: NoopAnimationsModule, exports: [BrowserModule] });
494
- NoopAnimationsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.0-next.4", ngImport: i0, type: NoopAnimationsModule, providers: BROWSER_NOOP_ANIMATIONS_PROVIDERS, imports: [BrowserModule] });
495
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.4", ngImport: i0, type: NoopAnimationsModule, decorators: [{
496
- type: NgModule,
497
- args: [{
498
- exports: [BrowserModule],
499
- providers: BROWSER_NOOP_ANIMATIONS_PROVIDERS,
500
- }]
501
- }] });
502
- /**
503
- * Returns the set of [dependency-injection providers](guide/glossary#provider)
504
- * to disable animations in an application. See [animations guide](guide/animations)
505
- * to learn more about animations in Angular.
506
- *
507
- * @usageNotes
508
- *
509
- * The function is useful when you want to bootstrap an application using
510
- * the `bootstrapApplication` function, but you need to disable animations
511
- * (for example, when running tests).
512
- *
513
- * ```typescript
514
- * bootstrapApplication(RootComponent, {
515
- * providers: [
516
- * provideNoopAnimations()
517
- * ]
518
- * });
519
- * ```
520
- *
521
- * @publicApi
522
- */
523
- function provideNoopAnimations() {
524
- // Return a copy to prevent changes to the original array in case any in-place
525
- // alterations are performed to the `provideNoopAnimations` call results in app code.
526
- return [...BROWSER_NOOP_ANIMATIONS_PROVIDERS];
527
- }
528
-
529
- /**
530
- * @module
531
- * @description
532
- * Entry point for all animation APIs of the animation browser package.
533
- */
534
-
535
- /**
536
- * @module
537
- * @description
538
- * Entry point for all public APIs of this package.
539
- */
540
-
541
- // This file is not used to build this module. It is only used during editing
542
-
543
- /**
544
- * Generated bundle index. Do not edit.
545
- */
546
-
547
- export { BrowserAnimationsModule, NoopAnimationsModule, provideAnimations, provideNoopAnimations, AnimationRenderer as ɵAnimationRenderer, AnimationRendererFactory as ɵAnimationRendererFactory, BrowserAnimationBuilder as ɵBrowserAnimationBuilder, BrowserAnimationFactory as ɵBrowserAnimationFactory, InjectableAnimationEngine as ɵInjectableAnimationEngine };
548
- //# sourceMappingURL=animations.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"animations.mjs","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/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 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 */\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 this._started = false;\n }\n\n setPosition(p: number): void {\n this._command('setPosition', p);\n }\n\n getPosition(): number {\n return this._renderer.engine.players[+this.id]?.getPosition() ?? 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 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 */\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 a component element has a leave animation, and a host leave animation,\n // 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 const parentNode = delegate?.parentNode(element);\n if (parentNode) {\n delegate.removeChild(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 // Ensure that the renderer is removed from the cache on destroy\n // since it may contain references to detached DOM nodes.\n const onRendererDestroy = () => this._rendererCache.delete(delegate);\n renderer =\n new BaseAnimationRenderer(EMPTY_NAMESPACE_ID, delegate, this.engine, onRendererDestroy);\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 private _onDestroy?: () => void) {\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 this._onDestroy?.();\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, isMove: boolean = true): void {\n this.delegate.insertBefore(parent, newChild, refChild);\n // If `isMove` true than we should animate this insert.\n this.engine.onInsert(this.namespaceId, newChild, parent, isMove);\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, onDestroy?: () => void) {\n super(namespaceId, delegate, engine, onDestroy);\n this.namespaceId = namespaceId;\n }\n\n override 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.slice(1), value);\n }\n } else {\n this.delegate.setProperty(el, name, value);\n }\n }\n\n override listen(\n target: 'window'|'document'|'body'|any, eventName: string,\n callback: (event: any) => any): () => void {\n if (eventName.charAt(0) == ANIMATION_PREFIX) {\n const element = resolveElementFromTarget(target);\n let name = eventName.slice(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.slice(dotIndex + 1);\n return [trigger, phase];\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 {AnimationBuilder} from '@angular/animations';\nimport {AnimationDriver, ɵAnimationEngine as AnimationEngine, ɵAnimationStyleNormalizer as AnimationStyleNormalizer, ɵNoopAnimationDriver as NoopAnimationDriver, ɵWebAnimationsDriver as WebAnimationsDriver, ɵWebAnimationsStyleNormalizer as WebAnimationsStyleNormalizer} from '@angular/animations/browser';\nimport {DOCUMENT} from '@angular/common';\nimport {ANIMATION_MODULE_TYPE, ApplicationRef, Inject, Injectable, NgZone, OnDestroy, 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 implements OnDestroy {\n // The `ApplicationRef` is injected here explicitly to force the dependency ordering.\n // Since the `ApplicationRef` should be created earlier before the `AnimationEngine`, they\n // both have `ngOnDestroy` hooks and `flush()` must be called after all views are destroyed.\n constructor(\n @Inject(DOCUMENT) doc: any, driver: AnimationDriver, normalizer: AnimationStyleNormalizer,\n appRef: ApplicationRef) {\n super(doc.body, driver, normalizer);\n }\n\n ngOnDestroy(): void {\n this.flush();\n }\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\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: () => new WebAnimationsDriver()},\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 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 */\nimport {ModuleWithProviders, NgModule, Provider} from '@angular/core';\nimport {BrowserModule} from '@angular/platform-browser';\n\nimport {BROWSER_ANIMATIONS_PROVIDERS, BROWSER_NOOP_ANIMATIONS_PROVIDERS} from './providers';\n\n/**\n * Object used to configure the behavior of {@link BrowserAnimationsModule}\n * @publicApi\n */\nexport interface BrowserAnimationsModuleConfig {\n /**\n * Whether animations should be disabled. Passing this is identical to providing the\n * `NoopAnimationsModule`, but it can be controlled based on a runtime value.\n */\n disableAnimations?: boolean;\n}\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 * Configures the module based on the specified object.\n *\n * @param config Object used to configure the behavior of the `BrowserAnimationsModule`.\n * @see `BrowserAnimationsModuleConfig`\n *\n * @usageNotes\n * When registering the `BrowserAnimationsModule`, you can use the `withConfig`\n * function as follows:\n * ```\n * @NgModule({\n * imports: [BrowserAnimationsModule.withConfig(config)]\n * })\n * class MyNgModule {}\n * ```\n */\n static withConfig(config: BrowserAnimationsModuleConfig):\n ModuleWithProviders<BrowserAnimationsModule> {\n return {\n ngModule: BrowserAnimationsModule,\n providers: config.disableAnimations ? BROWSER_NOOP_ANIMATIONS_PROVIDERS :\n BROWSER_ANIMATIONS_PROVIDERS\n };\n }\n}\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 * @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 * provideAnimations()\n * ]\n * });\n * ```\n *\n * @publicApi\n */\nexport function provideAnimations(): Provider[] {\n // Return a copy to prevent changes to the original array in case any in-place\n // alterations are performed to the `provideAnimations` call results in app code.\n return [...BROWSER_ANIMATIONS_PROVIDERS];\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/**\n * Returns the set of [dependency-injection providers](guide/glossary#provider)\n * to disable animations in an application. See [animations guide](guide/animations)\n * to learn more about animations in Angular.\n *\n * @usageNotes\n *\n * The function is useful when you want to bootstrap an application using\n * the `bootstrapApplication` function, but you need to disable animations\n * (for example, when running tests).\n *\n * ```typescript\n * bootstrapApplication(RootComponent, {\n * providers: [\n * provideNoopAnimations()\n * ]\n * });\n * ```\n *\n * @publicApi\n */\nexport function provideNoopAnimations(): Provider[] {\n // Return a copy to prevent changes to the original array in case any in-place\n // alterations are performed to the `provideNoopAnimations` call results in app code.\n return [...BROWSER_NOOP_ANIMATIONS_PROVIDERS];\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 {ANIMATION_MODULE_TYPE} from '@angular/core';\nexport {BrowserAnimationsModule, BrowserAnimationsModuleConfig, NoopAnimationsModule, provideAnimations, provideNoopAnimations} from './module';\n\nexport * from './private_export';\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/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":["AnimationEngine","WebAnimationsStyleNormalizer","AnimationStyleNormalizer","DomRendererFactory2","WebAnimationsDriver","NoopAnimationDriver"],"mappings":"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"}