UNPKG

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