animations.js 22 KB

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