UNPKG

26.2 kBJavaScriptView Raw
1/**
2 * @license Angular v9.1.3
3 * (c) 2010-2020 Google LLC. https://angular.io/
4 * License: MIT
5 */
6
7import { ViewEncapsulation, Injectable, RendererFactory2, Inject, NgZone, InjectionToken, NgModule } from '@angular/core';
8import { ɵDomRendererFactory2, BrowserModule } from '@angular/platform-browser';
9import { AnimationBuilder, sequence, AnimationFactory } from '@angular/animations';
10import { ɵAnimationEngine, AnimationDriver, ɵAnimationStyleNormalizer, ɵsupportsWebAnimations, ɵWebAnimationsDriver, ɵCssKeyframesDriver, ɵWebAnimationsStyleNormalizer, ɵNoopAnimationDriver } from '@angular/animations/browser';
11import { DOCUMENT } from '@angular/common';
12
13/**
14 * @fileoverview added by tsickle
15 * Generated from: packages/platform-browser/animations/src/animation_builder.ts
16 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
17 */
18class BrowserAnimationBuilder extends AnimationBuilder {
19 /**
20 * @param {?} rootRenderer
21 * @param {?} doc
22 */
23 constructor(rootRenderer, doc) {
24 super();
25 this._nextAnimationId = 0;
26 /** @type {?} */
27 const typeData = (/** @type {?} */ ({ id: '0', encapsulation: ViewEncapsulation.None, styles: [], data: { animation: [] } }));
28 this._renderer = (/** @type {?} */ (rootRenderer.createRenderer(doc.body, typeData)));
29 }
30 /**
31 * @param {?} animation
32 * @return {?}
33 */
34 build(animation) {
35 /** @type {?} */
36 const id = this._nextAnimationId.toString();
37 this._nextAnimationId++;
38 /** @type {?} */
39 const entry = Array.isArray(animation) ? sequence(animation) : animation;
40 issueAnimationCommand(this._renderer, null, id, 'register', [entry]);
41 return new BrowserAnimationFactory(id, this._renderer);
42 }
43}
44BrowserAnimationBuilder.decorators = [
45 { type: Injectable }
46];
47/** @nocollapse */
48BrowserAnimationBuilder.ctorParameters = () => [
49 { type: RendererFactory2 },
50 { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] }
51];
52if (false) {
53 /**
54 * @type {?}
55 * @private
56 */
57 BrowserAnimationBuilder.prototype._nextAnimationId;
58 /**
59 * @type {?}
60 * @private
61 */
62 BrowserAnimationBuilder.prototype._renderer;
63}
64class BrowserAnimationFactory extends AnimationFactory {
65 /**
66 * @param {?} _id
67 * @param {?} _renderer
68 */
69 constructor(_id, _renderer) {
70 super();
71 this._id = _id;
72 this._renderer = _renderer;
73 }
74 /**
75 * @param {?} element
76 * @param {?=} options
77 * @return {?}
78 */
79 create(element, options) {
80 return new RendererAnimationPlayer(this._id, element, options || {}, this._renderer);
81 }
82}
83if (false) {
84 /**
85 * @type {?}
86 * @private
87 */
88 BrowserAnimationFactory.prototype._id;
89 /**
90 * @type {?}
91 * @private
92 */
93 BrowserAnimationFactory.prototype._renderer;
94}
95class RendererAnimationPlayer {
96 /**
97 * @param {?} id
98 * @param {?} element
99 * @param {?} options
100 * @param {?} _renderer
101 */
102 constructor(id, element, options, _renderer) {
103 this.id = id;
104 this.element = element;
105 this._renderer = _renderer;
106 this.parentPlayer = null;
107 this._started = false;
108 this.totalTime = 0;
109 this._command('create', options);
110 }
111 /**
112 * @private
113 * @param {?} eventName
114 * @param {?} callback
115 * @return {?}
116 */
117 _listen(eventName, callback) {
118 return this._renderer.listen(this.element, `@@${this.id}:${eventName}`, callback);
119 }
120 /**
121 * @private
122 * @param {?} command
123 * @param {...?} args
124 * @return {?}
125 */
126 _command(command, ...args) {
127 return issueAnimationCommand(this._renderer, this.element, this.id, command, args);
128 }
129 /**
130 * @param {?} fn
131 * @return {?}
132 */
133 onDone(fn) {
134 this._listen('done', fn);
135 }
136 /**
137 * @param {?} fn
138 * @return {?}
139 */
140 onStart(fn) {
141 this._listen('start', fn);
142 }
143 /**
144 * @param {?} fn
145 * @return {?}
146 */
147 onDestroy(fn) {
148 this._listen('destroy', fn);
149 }
150 /**
151 * @return {?}
152 */
153 init() {
154 this._command('init');
155 }
156 /**
157 * @return {?}
158 */
159 hasStarted() {
160 return this._started;
161 }
162 /**
163 * @return {?}
164 */
165 play() {
166 this._command('play');
167 this._started = true;
168 }
169 /**
170 * @return {?}
171 */
172 pause() {
173 this._command('pause');
174 }
175 /**
176 * @return {?}
177 */
178 restart() {
179 this._command('restart');
180 }
181 /**
182 * @return {?}
183 */
184 finish() {
185 this._command('finish');
186 }
187 /**
188 * @return {?}
189 */
190 destroy() {
191 this._command('destroy');
192 }
193 /**
194 * @return {?}
195 */
196 reset() {
197 this._command('reset');
198 }
199 /**
200 * @param {?} p
201 * @return {?}
202 */
203 setPosition(p) {
204 this._command('setPosition', p);
205 }
206 /**
207 * @return {?}
208 */
209 getPosition() {
210 return 0;
211 }
212}
213if (false) {
214 /** @type {?} */
215 RendererAnimationPlayer.prototype.parentPlayer;
216 /**
217 * @type {?}
218 * @private
219 */
220 RendererAnimationPlayer.prototype._started;
221 /** @type {?} */
222 RendererAnimationPlayer.prototype.totalTime;
223 /** @type {?} */
224 RendererAnimationPlayer.prototype.id;
225 /** @type {?} */
226 RendererAnimationPlayer.prototype.element;
227 /**
228 * @type {?}
229 * @private
230 */
231 RendererAnimationPlayer.prototype._renderer;
232}
233/**
234 * @param {?} renderer
235 * @param {?} element
236 * @param {?} id
237 * @param {?} command
238 * @param {?} args
239 * @return {?}
240 */
241function issueAnimationCommand(renderer, element, id, command, args) {
242 return renderer.setProperty(element, `@@${id}:${command}`, args);
243}
244
245/**
246 * @fileoverview added by tsickle
247 * Generated from: packages/platform-browser/animations/src/animation_renderer.ts
248 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
249 */
250/** @type {?} */
251const ANIMATION_PREFIX = '@';
252/** @type {?} */
253const DISABLE_ANIMATIONS_FLAG = '@.disabled';
254/**
255 * @record
256 */
257function RecursiveAnimationTriggerMetadata() { }
258class AnimationRendererFactory {
259 /**
260 * @param {?} delegate
261 * @param {?} engine
262 * @param {?} _zone
263 */
264 constructor(delegate, engine, _zone) {
265 this.delegate = delegate;
266 this.engine = engine;
267 this._zone = _zone;
268 this._currentId = 0;
269 this._microtaskId = 1;
270 this._animationCallbacksBuffer = [];
271 this._rendererCache = new Map();
272 this._cdRecurDepth = 0;
273 this.promise = Promise.resolve(0);
274 engine.onRemovalComplete = (/**
275 * @param {?} element
276 * @param {?} delegate
277 * @return {?}
278 */
279 (element, delegate) => {
280 // Note: if an component element has a leave animation, and the component
281 // a host leave animation, the view engine will call `removeChild` for the parent
282 // component renderer as well as for the child component renderer.
283 // Therefore, we need to check if we already removed the element.
284 if (delegate && delegate.parentNode(element)) {
285 delegate.removeChild(element.parentNode, element);
286 }
287 });
288 }
289 /**
290 * @param {?} hostElement
291 * @param {?} type
292 * @return {?}
293 */
294 createRenderer(hostElement, type) {
295 /** @type {?} */
296 const EMPTY_NAMESPACE_ID = '';
297 // cache the delegates to find out which cached delegate can
298 // be used by which cached renderer
299 /** @type {?} */
300 const delegate = this.delegate.createRenderer(hostElement, type);
301 if (!hostElement || !type || !type.data || !type.data['animation']) {
302 /** @type {?} */
303 let renderer = this._rendererCache.get(delegate);
304 if (!renderer) {
305 renderer = new BaseAnimationRenderer(EMPTY_NAMESPACE_ID, delegate, this.engine);
306 // only cache this result when the base renderer is used
307 this._rendererCache.set(delegate, renderer);
308 }
309 return renderer;
310 }
311 /** @type {?} */
312 const componentId = type.id;
313 /** @type {?} */
314 const namespaceId = type.id + '-' + this._currentId;
315 this._currentId++;
316 this.engine.register(namespaceId, hostElement);
317 /** @type {?} */
318 const registerTrigger = (/**
319 * @param {?} trigger
320 * @return {?}
321 */
322 (trigger) => {
323 if (Array.isArray(trigger)) {
324 trigger.forEach(registerTrigger);
325 }
326 else {
327 this.engine.registerTrigger(componentId, namespaceId, hostElement, trigger.name, trigger);
328 }
329 });
330 /** @type {?} */
331 const animationTriggers = (/** @type {?} */ (type.data['animation']));
332 animationTriggers.forEach(registerTrigger);
333 return new AnimationRenderer(this, namespaceId, delegate, this.engine);
334 }
335 /**
336 * @return {?}
337 */
338 begin() {
339 this._cdRecurDepth++;
340 if (this.delegate.begin) {
341 this.delegate.begin();
342 }
343 }
344 /**
345 * @private
346 * @return {?}
347 */
348 _scheduleCountTask() {
349 // always use promise to schedule microtask instead of use Zone
350 this.promise.then((/**
351 * @return {?}
352 */
353 () => {
354 this._microtaskId++;
355 }));
356 }
357 /**
358 * \@internal
359 * @param {?} count
360 * @param {?} fn
361 * @param {?} data
362 * @return {?}
363 */
364 scheduleListenerCallback(count, fn, data) {
365 if (count >= 0 && count < this._microtaskId) {
366 this._zone.run((/**
367 * @return {?}
368 */
369 () => fn(data)));
370 return;
371 }
372 if (this._animationCallbacksBuffer.length == 0) {
373 Promise.resolve(null).then((/**
374 * @return {?}
375 */
376 () => {
377 this._zone.run((/**
378 * @return {?}
379 */
380 () => {
381 this._animationCallbacksBuffer.forEach((/**
382 * @param {?} tuple
383 * @return {?}
384 */
385 tuple => {
386 const [fn, data] = tuple;
387 fn(data);
388 }));
389 this._animationCallbacksBuffer = [];
390 }));
391 }));
392 }
393 this._animationCallbacksBuffer.push([fn, data]);
394 }
395 /**
396 * @return {?}
397 */
398 end() {
399 this._cdRecurDepth--;
400 // this is to prevent animations from running twice when an inner
401 // component does CD when a parent component instead has inserted it
402 if (this._cdRecurDepth == 0) {
403 this._zone.runOutsideAngular((/**
404 * @return {?}
405 */
406 () => {
407 this._scheduleCountTask();
408 this.engine.flush(this._microtaskId);
409 }));
410 }
411 if (this.delegate.end) {
412 this.delegate.end();
413 }
414 }
415 /**
416 * @return {?}
417 */
418 whenRenderingDone() {
419 return this.engine.whenRenderingDone();
420 }
421}
422AnimationRendererFactory.decorators = [
423 { type: Injectable }
424];
425/** @nocollapse */
426AnimationRendererFactory.ctorParameters = () => [
427 { type: RendererFactory2 },
428 { type: ɵAnimationEngine },
429 { type: NgZone }
430];
431if (false) {
432 /**
433 * @type {?}
434 * @private
435 */
436 AnimationRendererFactory.prototype._currentId;
437 /**
438 * @type {?}
439 * @private
440 */
441 AnimationRendererFactory.prototype._microtaskId;
442 /**
443 * @type {?}
444 * @private
445 */
446 AnimationRendererFactory.prototype._animationCallbacksBuffer;
447 /**
448 * @type {?}
449 * @private
450 */
451 AnimationRendererFactory.prototype._rendererCache;
452 /**
453 * @type {?}
454 * @private
455 */
456 AnimationRendererFactory.prototype._cdRecurDepth;
457 /**
458 * @type {?}
459 * @private
460 */
461 AnimationRendererFactory.prototype.promise;
462 /**
463 * @type {?}
464 * @private
465 */
466 AnimationRendererFactory.prototype.delegate;
467 /**
468 * @type {?}
469 * @private
470 */
471 AnimationRendererFactory.prototype.engine;
472 /**
473 * @type {?}
474 * @private
475 */
476 AnimationRendererFactory.prototype._zone;
477}
478class BaseAnimationRenderer {
479 /**
480 * @param {?} namespaceId
481 * @param {?} delegate
482 * @param {?} engine
483 */
484 constructor(namespaceId, delegate, engine) {
485 this.namespaceId = namespaceId;
486 this.delegate = delegate;
487 this.engine = engine;
488 this.destroyNode = this.delegate.destroyNode ? (/**
489 * @param {?} n
490 * @return {?}
491 */
492 (n) => (/** @type {?} */ (delegate.destroyNode))(n)) : null;
493 }
494 /**
495 * @return {?}
496 */
497 get data() {
498 return this.delegate.data;
499 }
500 /**
501 * @return {?}
502 */
503 destroy() {
504 this.engine.destroy(this.namespaceId, this.delegate);
505 this.delegate.destroy();
506 }
507 /**
508 * @param {?} name
509 * @param {?=} namespace
510 * @return {?}
511 */
512 createElement(name, namespace) {
513 return this.delegate.createElement(name, namespace);
514 }
515 /**
516 * @param {?} value
517 * @return {?}
518 */
519 createComment(value) {
520 return this.delegate.createComment(value);
521 }
522 /**
523 * @param {?} value
524 * @return {?}
525 */
526 createText(value) {
527 return this.delegate.createText(value);
528 }
529 /**
530 * @param {?} parent
531 * @param {?} newChild
532 * @return {?}
533 */
534 appendChild(parent, newChild) {
535 this.delegate.appendChild(parent, newChild);
536 this.engine.onInsert(this.namespaceId, newChild, parent, false);
537 }
538 /**
539 * @param {?} parent
540 * @param {?} newChild
541 * @param {?} refChild
542 * @return {?}
543 */
544 insertBefore(parent, newChild, refChild) {
545 this.delegate.insertBefore(parent, newChild, refChild);
546 this.engine.onInsert(this.namespaceId, newChild, parent, true);
547 }
548 /**
549 * @param {?} parent
550 * @param {?} oldChild
551 * @param {?} isHostElement
552 * @return {?}
553 */
554 removeChild(parent, oldChild, isHostElement) {
555 this.engine.onRemove(this.namespaceId, oldChild, this.delegate, isHostElement);
556 }
557 /**
558 * @param {?} selectorOrNode
559 * @param {?=} preserveContent
560 * @return {?}
561 */
562 selectRootElement(selectorOrNode, preserveContent) {
563 return this.delegate.selectRootElement(selectorOrNode, preserveContent);
564 }
565 /**
566 * @param {?} node
567 * @return {?}
568 */
569 parentNode(node) {
570 return this.delegate.parentNode(node);
571 }
572 /**
573 * @param {?} node
574 * @return {?}
575 */
576 nextSibling(node) {
577 return this.delegate.nextSibling(node);
578 }
579 /**
580 * @param {?} el
581 * @param {?} name
582 * @param {?} value
583 * @param {?=} namespace
584 * @return {?}
585 */
586 setAttribute(el, name, value, namespace) {
587 this.delegate.setAttribute(el, name, value, namespace);
588 }
589 /**
590 * @param {?} el
591 * @param {?} name
592 * @param {?=} namespace
593 * @return {?}
594 */
595 removeAttribute(el, name, namespace) {
596 this.delegate.removeAttribute(el, name, namespace);
597 }
598 /**
599 * @param {?} el
600 * @param {?} name
601 * @return {?}
602 */
603 addClass(el, name) {
604 this.delegate.addClass(el, name);
605 }
606 /**
607 * @param {?} el
608 * @param {?} name
609 * @return {?}
610 */
611 removeClass(el, name) {
612 this.delegate.removeClass(el, name);
613 }
614 /**
615 * @param {?} el
616 * @param {?} style
617 * @param {?} value
618 * @param {?=} flags
619 * @return {?}
620 */
621 setStyle(el, style, value, flags) {
622 this.delegate.setStyle(el, style, value, flags);
623 }
624 /**
625 * @param {?} el
626 * @param {?} style
627 * @param {?=} flags
628 * @return {?}
629 */
630 removeStyle(el, style, flags) {
631 this.delegate.removeStyle(el, style, flags);
632 }
633 /**
634 * @param {?} el
635 * @param {?} name
636 * @param {?} value
637 * @return {?}
638 */
639 setProperty(el, name, value) {
640 if (name.charAt(0) == ANIMATION_PREFIX && name == DISABLE_ANIMATIONS_FLAG) {
641 this.disableAnimations(el, !!value);
642 }
643 else {
644 this.delegate.setProperty(el, name, value);
645 }
646 }
647 /**
648 * @param {?} node
649 * @param {?} value
650 * @return {?}
651 */
652 setValue(node, value) {
653 this.delegate.setValue(node, value);
654 }
655 /**
656 * @param {?} target
657 * @param {?} eventName
658 * @param {?} callback
659 * @return {?}
660 */
661 listen(target, eventName, callback) {
662 return this.delegate.listen(target, eventName, callback);
663 }
664 /**
665 * @protected
666 * @param {?} element
667 * @param {?} value
668 * @return {?}
669 */
670 disableAnimations(element, value) {
671 this.engine.disableAnimations(element, value);
672 }
673}
674if (false) {
675 /** @type {?} */
676 BaseAnimationRenderer.prototype.destroyNode;
677 /**
678 * @type {?}
679 * @protected
680 */
681 BaseAnimationRenderer.prototype.namespaceId;
682 /** @type {?} */
683 BaseAnimationRenderer.prototype.delegate;
684 /** @type {?} */
685 BaseAnimationRenderer.prototype.engine;
686}
687class AnimationRenderer extends BaseAnimationRenderer {
688 /**
689 * @param {?} factory
690 * @param {?} namespaceId
691 * @param {?} delegate
692 * @param {?} engine
693 */
694 constructor(factory, namespaceId, delegate, engine) {
695 super(namespaceId, delegate, engine);
696 this.factory = factory;
697 this.namespaceId = namespaceId;
698 }
699 /**
700 * @param {?} el
701 * @param {?} name
702 * @param {?} value
703 * @return {?}
704 */
705 setProperty(el, name, value) {
706 if (name.charAt(0) == ANIMATION_PREFIX) {
707 if (name.charAt(1) == '.' && name == DISABLE_ANIMATIONS_FLAG) {
708 value = value === undefined ? true : !!value;
709 this.disableAnimations(el, (/** @type {?} */ (value)));
710 }
711 else {
712 this.engine.process(this.namespaceId, el, name.substr(1), value);
713 }
714 }
715 else {
716 this.delegate.setProperty(el, name, value);
717 }
718 }
719 /**
720 * @param {?} target
721 * @param {?} eventName
722 * @param {?} callback
723 * @return {?}
724 */
725 listen(target, eventName, callback) {
726 if (eventName.charAt(0) == ANIMATION_PREFIX) {
727 /** @type {?} */
728 const element = resolveElementFromTarget(target);
729 /** @type {?} */
730 let name = eventName.substr(1);
731 /** @type {?} */
732 let phase = '';
733 // @listener.phase is for trigger animation callbacks
734 // @@listener is for animation builder callbacks
735 if (name.charAt(0) != ANIMATION_PREFIX) {
736 [name, phase] = parseTriggerCallbackName(name);
737 }
738 return this.engine.listen(this.namespaceId, element, name, phase, (/**
739 * @param {?} event
740 * @return {?}
741 */
742 event => {
743 /** @type {?} */
744 const countId = ((/** @type {?} */ (event)))['_data'] || -1;
745 this.factory.scheduleListenerCallback(countId, callback, event);
746 }));
747 }
748 return this.delegate.listen(target, eventName, callback);
749 }
750}
751if (false) {
752 /** @type {?} */
753 AnimationRenderer.prototype.factory;
754}
755/**
756 * @param {?} target
757 * @return {?}
758 */
759function resolveElementFromTarget(target) {
760 switch (target) {
761 case 'body':
762 return document.body;
763 case 'document':
764 return document;
765 case 'window':
766 return window;
767 default:
768 return target;
769 }
770}
771/**
772 * @param {?} triggerName
773 * @return {?}
774 */
775function parseTriggerCallbackName(triggerName) {
776 /** @type {?} */
777 const dotIndex = triggerName.indexOf('.');
778 /** @type {?} */
779 const trigger = triggerName.substring(0, dotIndex);
780 /** @type {?} */
781 const phase = triggerName.substr(dotIndex + 1);
782 return [trigger, phase];
783}
784
785/**
786 * @fileoverview added by tsickle
787 * Generated from: packages/platform-browser/animations/src/providers.ts
788 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
789 */
790class InjectableAnimationEngine extends ɵAnimationEngine {
791 /**
792 * @param {?} doc
793 * @param {?} driver
794 * @param {?} normalizer
795 */
796 constructor(doc, driver, normalizer) {
797 super(doc.body, driver, normalizer);
798 }
799}
800InjectableAnimationEngine.decorators = [
801 { type: Injectable }
802];
803/** @nocollapse */
804InjectableAnimationEngine.ctorParameters = () => [
805 { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] },
806 { type: AnimationDriver },
807 { type: ɵAnimationStyleNormalizer }
808];
809/**
810 * @return {?}
811 */
812function instantiateSupportedAnimationDriver() {
813 return ɵsupportsWebAnimations() ? new ɵWebAnimationsDriver() : new ɵCssKeyframesDriver();
814}
815/**
816 * @return {?}
817 */
818function instantiateDefaultStyleNormalizer() {
819 return new ɵWebAnimationsStyleNormalizer();
820}
821/**
822 * @param {?} renderer
823 * @param {?} engine
824 * @param {?} zone
825 * @return {?}
826 */
827function instantiateRendererFactory(renderer, engine, zone) {
828 return new AnimationRendererFactory(renderer, engine, zone);
829}
830/**
831 * \@publicApi
832 * @type {?}
833 */
834const ANIMATION_MODULE_TYPE = new InjectionToken('AnimationModuleType');
835/** @type {?} */
836const SHARED_ANIMATION_PROVIDERS = [
837 { provide: AnimationBuilder, useClass: BrowserAnimationBuilder },
838 { provide: ɵAnimationStyleNormalizer, useFactory: instantiateDefaultStyleNormalizer },
839 { provide: ɵAnimationEngine, useClass: InjectableAnimationEngine }, {
840 provide: RendererFactory2,
841 useFactory: instantiateRendererFactory,
842 deps: [ɵDomRendererFactory2, ɵAnimationEngine, NgZone]
843 }
844];
845/**
846 * Separate providers from the actual module so that we can do a local modification in Google3 to
847 * include them in the BrowserModule.
848 * @type {?}
849 */
850const BROWSER_ANIMATIONS_PROVIDERS = [
851 { provide: AnimationDriver, useFactory: instantiateSupportedAnimationDriver },
852 { provide: ANIMATION_MODULE_TYPE, useValue: 'BrowserAnimations' }, ...SHARED_ANIMATION_PROVIDERS
853];
854/**
855 * Separate providers from the actual module so that we can do a local modification in Google3 to
856 * include them in the BrowserTestingModule.
857 * @type {?}
858 */
859const BROWSER_NOOP_ANIMATIONS_PROVIDERS = [
860 { provide: AnimationDriver, useClass: ɵNoopAnimationDriver },
861 { provide: ANIMATION_MODULE_TYPE, useValue: 'NoopAnimations' }, ...SHARED_ANIMATION_PROVIDERS
862];
863
864/**
865 * @fileoverview added by tsickle
866 * Generated from: packages/platform-browser/animations/src/module.ts
867 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
868 */
869/**
870 * Exports `BrowserModule` with additional [dependency-injection providers](guide/glossary#provider)
871 * for use with animations. See [Animations](guide/animations).
872 * \@publicApi
873 */
874class BrowserAnimationsModule {
875}
876BrowserAnimationsModule.decorators = [
877 { type: NgModule, args: [{
878 exports: [BrowserModule],
879 providers: BROWSER_ANIMATIONS_PROVIDERS,
880 },] }
881];
882/**
883 * A null player that must be imported to allow disabling of animations.
884 * \@publicApi
885 */
886class NoopAnimationsModule {
887}
888NoopAnimationsModule.decorators = [
889 { type: NgModule, args: [{
890 exports: [BrowserModule],
891 providers: BROWSER_NOOP_ANIMATIONS_PROVIDERS,
892 },] }
893];
894
895/**
896 * @fileoverview added by tsickle
897 * Generated from: packages/platform-browser/animations/src/private_export.ts
898 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
899 */
900
901/**
902 * @fileoverview added by tsickle
903 * Generated from: packages/platform-browser/animations/src/animations.ts
904 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
905 */
906
907/**
908 * @fileoverview added by tsickle
909 * Generated from: packages/platform-browser/animations/public_api.ts
910 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
911 */
912
913/**
914 * @fileoverview added by tsickle
915 * Generated from: packages/platform-browser/animations/index.ts
916 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
917 */
918
919/**
920 * Generated bundle index. Do not edit.
921 */
922
923export { ANIMATION_MODULE_TYPE, BrowserAnimationsModule, NoopAnimationsModule, AnimationRenderer as ɵAnimationRenderer, AnimationRendererFactory as ɵAnimationRendererFactory, BrowserAnimationBuilder as ɵBrowserAnimationBuilder, BrowserAnimationFactory as ɵBrowserAnimationFactory, InjectableAnimationEngine as ɵInjectableAnimationEngine, instantiateSupportedAnimationDriver as ɵangular_packages_platform_browser_animations_animations_a, instantiateDefaultStyleNormalizer as ɵangular_packages_platform_browser_animations_animations_b, instantiateRendererFactory as ɵangular_packages_platform_browser_animations_animations_c, BROWSER_ANIMATIONS_PROVIDERS as ɵangular_packages_platform_browser_animations_animations_d, BROWSER_NOOP_ANIMATIONS_PROVIDERS as ɵangular_packages_platform_browser_animations_animations_e, BaseAnimationRenderer as ɵangular_packages_platform_browser_animations_animations_f };
924//# sourceMappingURL=animations.js.map