@angular/platform-browser 7.0.0-rc.1 → 7.0.3

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 (73) hide show
  1. package/animations/src/module.d.ts +2 -2
  2. package/animations/src/providers.d.ts +1 -1
  3. package/bundles/platform-browser-animations.umd.js +4 -4
  4. package/bundles/platform-browser-animations.umd.js.map +1 -1
  5. package/bundles/platform-browser-animations.umd.min.js +1 -1
  6. package/bundles/platform-browser-animations.umd.min.js.map +1 -1
  7. package/bundles/platform-browser-testing.umd.js +3 -3
  8. package/bundles/platform-browser-testing.umd.js.map +1 -1
  9. package/bundles/platform-browser-testing.umd.min.js +1 -1
  10. package/bundles/platform-browser-testing.umd.min.js.map +1 -1
  11. package/bundles/platform-browser.umd.js +32 -23
  12. package/bundles/platform-browser.umd.js.map +1 -1
  13. package/bundles/platform-browser.umd.min.js +2 -2
  14. package/bundles/platform-browser.umd.min.js.map +1 -1
  15. package/esm2015/animations/src/module.js +3 -3
  16. package/esm2015/animations/src/providers.js +2 -2
  17. package/esm2015/src/browser/meta.js +2 -2
  18. package/esm2015/src/browser/title.js +2 -2
  19. package/esm2015/src/browser/tools/common_tools.js +2 -6
  20. package/esm2015/src/browser/tools/tools.js +3 -3
  21. package/esm2015/src/browser/transfer_state.js +4 -4
  22. package/esm2015/src/browser.js +6 -6
  23. package/esm2015/src/dom/debug/by.js +2 -2
  24. package/esm2015/src/dom/dom_tokens.js +2 -1
  25. package/esm2015/src/dom/events/event_manager.js +5 -1
  26. package/esm2015/src/dom/events/hammer_gestures.js +5 -3
  27. package/esm2015/src/dom/events/key_events.js +2 -2
  28. package/esm2015/src/security/dom_sanitization_service.js +8 -8
  29. package/esm2015/src/version.js +5 -3
  30. package/esm2015/testing/src/browser.js +3 -3
  31. package/esm5/animations/src/module.js +3 -3
  32. package/esm5/animations/src/providers.js +2 -2
  33. package/esm5/src/browser/meta.js +2 -2
  34. package/esm5/src/browser/title.js +2 -2
  35. package/esm5/src/browser/tools/common_tools.js +1 -5
  36. package/esm5/src/browser/tools/tools.js +3 -3
  37. package/esm5/src/browser/transfer_state.js +4 -4
  38. package/esm5/src/browser.js +6 -5
  39. package/esm5/src/dom/debug/by.js +2 -2
  40. package/esm5/src/dom/dom_tokens.js +2 -1
  41. package/esm5/src/dom/events/event_manager.js +5 -1
  42. package/esm5/src/dom/events/hammer_gestures.js +8 -4
  43. package/esm5/src/dom/events/key_events.js +2 -2
  44. package/esm5/src/security/dom_sanitization_service.js +2 -2
  45. package/esm5/src/version.js +5 -2
  46. package/esm5/testing/src/browser.js +3 -3
  47. package/fesm2015/animations.js +4 -4
  48. package/fesm2015/animations.js.map +1 -1
  49. package/fesm2015/platform-browser.js +31 -26
  50. package/fesm2015/platform-browser.js.map +1 -1
  51. package/fesm2015/testing.js +3 -3
  52. package/fesm2015/testing.js.map +1 -1
  53. package/fesm5/animations.js +4 -4
  54. package/fesm5/animations.js.map +1 -1
  55. package/fesm5/platform-browser.js +32 -23
  56. package/fesm5/platform-browser.js.map +1 -1
  57. package/fesm5/testing.js +3 -3
  58. package/fesm5/testing.js.map +1 -1
  59. package/package.json +3 -3
  60. package/platform-browser.metadata.json +1 -1
  61. package/src/browser/meta.d.ts +2 -2
  62. package/src/browser/title.d.ts +1 -1
  63. package/src/browser/tools/tools.d.ts +2 -2
  64. package/src/browser/transfer_state.d.ts +4 -4
  65. package/src/browser.d.ts +5 -4
  66. package/src/dom/debug/by.d.ts +1 -1
  67. package/src/dom/dom_tokens.d.ts +1 -0
  68. package/src/dom/events/event_manager.d.ts +4 -0
  69. package/src/dom/events/hammer_gestures.d.ts +12 -4
  70. package/src/dom/events/key_events.d.ts +1 -1
  71. package/src/security/dom_sanitization_service.d.ts +7 -7
  72. package/src/version.d.ts +3 -0
  73. package/testing/src/browser.d.ts +2 -2
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v7.0.0-rc.1
2
+ * @license Angular v7.0.3
3
3
  * (c) 2010-2018 Google, Inc. https://angular.io/
4
4
  * License: MIT
5
5
  */
@@ -622,7 +622,7 @@ function instantiateRendererFactory(renderer, engine, zone) {
622
622
  return new AnimationRendererFactory(renderer, engine, zone);
623
623
  }
624
624
  /** *
625
- * \@experimental Animation support is experimental.
625
+ * \@publicApi
626
626
  @type {?} */
627
627
  const ANIMATION_MODULE_TYPE = new InjectionToken('AnimationModuleType');
628
628
  /** @type {?} */
@@ -659,7 +659,7 @@ const BROWSER_NOOP_ANIMATIONS_PROVIDERS = [
659
659
  /**
660
660
  * Exports `BrowserModule` with additional [dependency-injection providers](guide/glossary#provider)
661
661
  * for use with animations. See [Animations](guide/animations).
662
- * \@experimental
662
+ * \@publicApi
663
663
  */
664
664
  class BrowserAnimationsModule {
665
665
  }
@@ -671,7 +671,7 @@ BrowserAnimationsModule.decorators = [
671
671
  ];
672
672
  /**
673
673
  * A null player that must be imported to allow disabling of animations.
674
- * \@experimental
674
+ * \@publicApi
675
675
  */
676
676
  class NoopAnimationsModule {
677
677
  }
@@ -1 +1 @@
1
- {"version":3,"file":"animations.js","sources":["../animations/src/animation_builder.ts","../animations/src/animation_renderer.ts","../animations/src/providers.ts","../animations/src/module.ts","../animations/animations.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google Inc. 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, NoopAnimationPlayer, sequence} from '@angular/animations';\nimport {Inject, Injectable, RendererFactory2, RendererType2, ViewEncapsulation} from '@angular/core';\nimport {DOCUMENT} from '@angular/platform-browser';\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',\n encapsulation: ViewEncapsulation.None,\n styles: [],\n data: {animation: []}\n } as 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) { super(); }\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 { this._listen('done', fn); }\n\n onStart(fn: () => void): void { this._listen('start', fn); }\n\n onDestroy(fn: () => void): void { this._listen('destroy', fn); }\n\n init(): void { this._command('init'); }\n\n hasStarted(): boolean { return this._started; }\n\n play(): void {\n this._command('play');\n this._started = true;\n }\n\n pause(): void { this._command('pause'); }\n\n restart(): void { this._command('restart'); }\n\n finish(): void { this._command('finish'); }\n\n destroy(): void { this._command('destroy'); }\n\n reset(): void { this._command('reset'); }\n\n setPosition(p: number): void { this._command('setPosition', p); }\n\n getPosition(): number { return 0; }\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 Inc. 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@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 an component element has a leave animation, and the component\n // a host leave animation, 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 if (delegate && delegate.parentNode(element)) {\n delegate.removeChild(element.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 renderer = new BaseAnimationRenderer(EMPTY_NAMESPACE_ID, delegate, this.engine);\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 const animationTriggers = type.data['animation'] as AnimationTriggerMetadata[];\n animationTriggers.forEach(\n trigger => this.engine.registerTrigger(\n componentId, namespaceId, hostElement, trigger.name, trigger));\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(() => { this._microtaskId++; });\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 insted 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> { return this.engine.whenRenderingDone(); }\n}\n\nexport class BaseAnimationRenderer implements Renderer2 {\n constructor(\n protected namespaceId: string, public delegate: Renderer2, public engine: AnimationEngine) {\n this.destroyNode = this.delegate.destroyNode ? (n) => delegate.destroyNode !(n) : null;\n }\n\n get data() { return this.delegate.data; }\n\n destroyNode: ((n: any) => void)|null;\n\n destroy(): void {\n this.engine.destroy(this.namespaceId, this.delegate);\n this.delegate.destroy();\n }\n\n createElement(name: string, namespace?: string|null|undefined) {\n return this.delegate.createElement(name, namespace);\n }\n\n createComment(value: string) { return this.delegate.createComment(value); }\n\n createText(value: string) { return this.delegate.createText(value); }\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): void {\n this.delegate.insertBefore(parent, newChild, refChild);\n this.engine.onInsert(this.namespaceId, newChild, parent, true);\n }\n\n removeChild(parent: any, oldChild: any): void {\n this.engine.onRemove(this.namespaceId, oldChild, this.delegate);\n }\n\n selectRootElement(selectorOrNode: any, preserveContent?: boolean) {\n return this.delegate.selectRootElement(selectorOrNode, preserveContent);\n }\n\n parentNode(node: any) { return this.delegate.parentNode(node); }\n\n nextSibling(node: any) { return this.delegate.nextSibling(node); }\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 { this.delegate.addClass(el, name); }\n\n removeClass(el: any, name: string): void { this.delegate.removeClass(el, name); }\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 { this.delegate.setValue(node, value); }\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) {\n super(namespaceId, delegate, engine);\n this.namespaceId = namespaceId;\n }\n\n 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.substr(1), value);\n }\n } else {\n this.delegate.setProperty(el, name, value);\n }\n }\n\n listen(target: 'window'|'document'|'body'|any, eventName: string, callback: (event: any) => any):\n () => void {\n if (eventName.charAt(0) == ANIMATION_PREFIX) {\n const element = resolveElementFromTarget(target);\n let name = eventName.substr(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.substr(dotIndex + 1);\n return [trigger, phase];\n}\n","/**\n * @license\n * Copyright Google Inc. 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, ɵCssKeyframesDriver as CssKeyframesDriver, ɵNoopAnimationDriver as NoopAnimationDriver, ɵWebAnimationsDriver as WebAnimationsDriver, ɵWebAnimationsStyleNormalizer as WebAnimationsStyleNormalizer, ɵsupportsWebAnimations as supportsWebAnimations} from '@angular/animations/browser';\nimport {DOCUMENT} from '@angular/common';\nimport {Inject, Injectable, InjectionToken, NgZone, 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 {\n constructor(\n @Inject(DOCUMENT) doc: any, driver: AnimationDriver, normalizer: AnimationStyleNormalizer) {\n super(doc.body, driver, normalizer);\n }\n}\n\nexport function instantiateSupportedAnimationDriver() {\n return supportsWebAnimations() ? new WebAnimationsDriver() : new CssKeyframesDriver();\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\n/**\n * @experimental Animation support is experimental.\n */\nexport const ANIMATION_MODULE_TYPE =\n new InjectionToken<'NoopAnimations'|'BrowserAnimations'>('AnimationModuleType');\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: instantiateSupportedAnimationDriver},\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 Inc. 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 {NgModule} from '@angular/core';\nimport {BrowserModule} from '@angular/platform-browser';\n\nimport {BROWSER_ANIMATIONS_PROVIDERS, BROWSER_NOOP_ANIMATIONS_PROVIDERS} from './providers';\n\n/**\n * Exports `BrowserModule` with additional [dependency-injection providers](guide/glossary#provider)\n * for use with animations. See [Animations](guide/animations).\n * @experimental\n */\n@NgModule({\n exports: [BrowserModule],\n providers: BROWSER_ANIMATIONS_PROVIDERS,\n})\nexport class BrowserAnimationsModule {\n}\n\n/**\n * A null player that must be imported to allow disabling of animations.\n * @experimental\n */\n@NgModule({\n exports: [BrowserModule],\n providers: BROWSER_NOOP_ANIMATIONS_PROVIDERS,\n})\nexport class NoopAnimationsModule {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n\nexport {BaseAnimationRenderer as ɵangular_packages_platform_browser_animations_animations_g} from './src/animation_renderer';\nexport {BROWSER_ANIMATIONS_PROVIDERS as ɵangular_packages_platform_browser_animations_animations_e,BROWSER_NOOP_ANIMATIONS_PROVIDERS as ɵangular_packages_platform_browser_animations_animations_f,InjectableAnimationEngine as ɵangular_packages_platform_browser_animations_animations_a,instantiateDefaultStyleNormalizer as ɵangular_packages_platform_browser_animations_animations_c,instantiateRendererFactory as ɵangular_packages_platform_browser_animations_animations_d,instantiateSupportedAnimationDriver as ɵangular_packages_platform_browser_animations_animations_b} from './src/providers';"],"names":["AnimationEngine","DOCUMENT","AnimationStyleNormalizer","supportsWebAnimations","WebAnimationsDriver","CssKeyframesDriver","WebAnimationsStyleNormalizer","DomRendererFactory2","NoopAnimationDriver"],"mappings":"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"}
1
+ {"version":3,"file":"animations.js","sources":["../animations/src/animation_builder.ts","../animations/src/animation_renderer.ts","../animations/src/providers.ts","../animations/src/module.ts","../animations/animations.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google Inc. 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, NoopAnimationPlayer, sequence} from '@angular/animations';\nimport {Inject, Injectable, RendererFactory2, RendererType2, ViewEncapsulation} from '@angular/core';\nimport {DOCUMENT} from '@angular/platform-browser';\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',\n encapsulation: ViewEncapsulation.None,\n styles: [],\n data: {animation: []}\n } as 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) { super(); }\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 { this._listen('done', fn); }\n\n onStart(fn: () => void): void { this._listen('start', fn); }\n\n onDestroy(fn: () => void): void { this._listen('destroy', fn); }\n\n init(): void { this._command('init'); }\n\n hasStarted(): boolean { return this._started; }\n\n play(): void {\n this._command('play');\n this._started = true;\n }\n\n pause(): void { this._command('pause'); }\n\n restart(): void { this._command('restart'); }\n\n finish(): void { this._command('finish'); }\n\n destroy(): void { this._command('destroy'); }\n\n reset(): void { this._command('reset'); }\n\n setPosition(p: number): void { this._command('setPosition', p); }\n\n getPosition(): number { return 0; }\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 Inc. 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@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 an component element has a leave animation, and the component\n // a host leave animation, 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 if (delegate && delegate.parentNode(element)) {\n delegate.removeChild(element.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 renderer = new BaseAnimationRenderer(EMPTY_NAMESPACE_ID, delegate, this.engine);\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 const animationTriggers = type.data['animation'] as AnimationTriggerMetadata[];\n animationTriggers.forEach(\n trigger => this.engine.registerTrigger(\n componentId, namespaceId, hostElement, trigger.name, trigger));\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(() => { this._microtaskId++; });\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 insted 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> { return this.engine.whenRenderingDone(); }\n}\n\nexport class BaseAnimationRenderer implements Renderer2 {\n constructor(\n protected namespaceId: string, public delegate: Renderer2, public engine: AnimationEngine) {\n this.destroyNode = this.delegate.destroyNode ? (n) => delegate.destroyNode !(n) : null;\n }\n\n get data() { return this.delegate.data; }\n\n destroyNode: ((n: any) => void)|null;\n\n destroy(): void {\n this.engine.destroy(this.namespaceId, this.delegate);\n this.delegate.destroy();\n }\n\n createElement(name: string, namespace?: string|null|undefined) {\n return this.delegate.createElement(name, namespace);\n }\n\n createComment(value: string) { return this.delegate.createComment(value); }\n\n createText(value: string) { return this.delegate.createText(value); }\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): void {\n this.delegate.insertBefore(parent, newChild, refChild);\n this.engine.onInsert(this.namespaceId, newChild, parent, true);\n }\n\n removeChild(parent: any, oldChild: any): void {\n this.engine.onRemove(this.namespaceId, oldChild, this.delegate);\n }\n\n selectRootElement(selectorOrNode: any, preserveContent?: boolean) {\n return this.delegate.selectRootElement(selectorOrNode, preserveContent);\n }\n\n parentNode(node: any) { return this.delegate.parentNode(node); }\n\n nextSibling(node: any) { return this.delegate.nextSibling(node); }\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 { this.delegate.addClass(el, name); }\n\n removeClass(el: any, name: string): void { this.delegate.removeClass(el, name); }\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 { this.delegate.setValue(node, value); }\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) {\n super(namespaceId, delegate, engine);\n this.namespaceId = namespaceId;\n }\n\n 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.substr(1), value);\n }\n } else {\n this.delegate.setProperty(el, name, value);\n }\n }\n\n listen(target: 'window'|'document'|'body'|any, eventName: string, callback: (event: any) => any):\n () => void {\n if (eventName.charAt(0) == ANIMATION_PREFIX) {\n const element = resolveElementFromTarget(target);\n let name = eventName.substr(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.substr(dotIndex + 1);\n return [trigger, phase];\n}\n","/**\n * @license\n * Copyright Google Inc. 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, ɵCssKeyframesDriver as CssKeyframesDriver, ɵNoopAnimationDriver as NoopAnimationDriver, ɵWebAnimationsDriver as WebAnimationsDriver, ɵWebAnimationsStyleNormalizer as WebAnimationsStyleNormalizer, ɵsupportsWebAnimations as supportsWebAnimations} from '@angular/animations/browser';\nimport {DOCUMENT} from '@angular/common';\nimport {Inject, Injectable, InjectionToken, NgZone, 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 {\n constructor(\n @Inject(DOCUMENT) doc: any, driver: AnimationDriver, normalizer: AnimationStyleNormalizer) {\n super(doc.body, driver, normalizer);\n }\n}\n\nexport function instantiateSupportedAnimationDriver() {\n return supportsWebAnimations() ? new WebAnimationsDriver() : new CssKeyframesDriver();\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\n/**\n * @publicApi\n */\nexport const ANIMATION_MODULE_TYPE =\n new InjectionToken<'NoopAnimations'|'BrowserAnimations'>('AnimationModuleType');\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: instantiateSupportedAnimationDriver},\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 Inc. 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 {NgModule} from '@angular/core';\nimport {BrowserModule} from '@angular/platform-browser';\n\nimport {BROWSER_ANIMATIONS_PROVIDERS, BROWSER_NOOP_ANIMATIONS_PROVIDERS} from './providers';\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\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 * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n\nexport {BaseAnimationRenderer as ɵangular_packages_platform_browser_animations_animations_g} from './src/animation_renderer';\nexport {BROWSER_ANIMATIONS_PROVIDERS as ɵangular_packages_platform_browser_animations_animations_e,BROWSER_NOOP_ANIMATIONS_PROVIDERS as ɵangular_packages_platform_browser_animations_animations_f,InjectableAnimationEngine as ɵangular_packages_platform_browser_animations_animations_a,instantiateDefaultStyleNormalizer as ɵangular_packages_platform_browser_animations_animations_c,instantiateRendererFactory as ɵangular_packages_platform_browser_animations_animations_d,instantiateSupportedAnimationDriver as ɵangular_packages_platform_browser_animations_animations_b} from './src/providers';"],"names":["AnimationEngine","DOCUMENT","AnimationStyleNormalizer","supportsWebAnimations","WebAnimationsDriver","CssKeyframesDriver","WebAnimationsStyleNormalizer","DomRendererFactory2","NoopAnimationDriver"],"mappings":"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"}
@@ -1,11 +1,11 @@
1
1
  /**
2
- * @license Angular v7.0.0-rc.1
2
+ * @license Angular v7.0.3
3
3
  * (c) 2010-2018 Google, Inc. https://angular.io/
4
4
  * License: MIT
5
5
  */
6
6
 
7
7
  import { ɵparseCookieValue, DOCUMENT, PlatformLocation, isPlatformServer, CommonModule, ɵPLATFORM_BROWSER_ID } from '@angular/common';
8
- import { ɵglobal, Inject, Injectable, APP_INITIALIZER, ApplicationInitStatus, InjectionToken, Injector, setTestabilityGetter, inject, APP_ID, NgModule, NgZone, Optional, ɵConsole, RendererStyleFlags2, ViewEncapsulation, SecurityContext, ɵ_sanitizeHtml, ɵ_sanitizeStyle, ɵ_sanitizeUrl, Version, ApplicationRef, defineInjectable, getDebugNode, NgProbeToken, PLATFORM_ID, PLATFORM_INITIALIZER, Sanitizer, createPlatformFactory, platformCore, ErrorHandler, ɵAPP_ROOT, RendererFactory2, Testability, ApplicationModule, SkipSelf } from '@angular/core';
8
+ import { ɵglobal, Inject, Injectable, APP_INITIALIZER, ApplicationInitStatus, InjectionToken, Injector, setTestabilityGetter, inject, APP_ID, NgModule, NgZone, Optional, ɵConsole, SecurityContext, ɵ_sanitizeHtml, ɵ_sanitizeStyle, ɵ_sanitizeUrl, RendererStyleFlags2, ViewEncapsulation, Version, ApplicationRef, defineInjectable, getDebugNode, NgProbeToken, PLATFORM_ID, PLATFORM_INITIALIZER, Sanitizer, createPlatformFactory, platformCore, ErrorHandler, ɵAPP_ROOT, RendererFactory2, Testability, ApplicationModule, SkipSelf } from '@angular/core';
9
9
 
10
10
  /**
11
11
  * @fileoverview added by tsickle
@@ -1066,6 +1066,7 @@ function relativePath(url) {
1066
1066
  * Contexts are not the same (e.g. when running the application into a Web Worker).
1067
1067
  *
1068
1068
  * @deprecated import from `\@angular/common` instead.
1069
+ * \@publicApi
1069
1070
  @type {?} */
1070
1071
  const DOCUMENT$1 = DOCUMENT;
1071
1072
 
@@ -1385,11 +1386,15 @@ const ELEMENT_PROBE_PROVIDERS = [
1385
1386
  */
1386
1387
  /** *
1387
1388
  * The injection token for the event-manager plug-in service.
1389
+ *
1390
+ * \@publicApi
1388
1391
  @type {?} */
1389
1392
  const EVENT_MANAGER_PLUGINS = new InjectionToken('EventManagerPlugins');
1390
1393
  /**
1391
1394
  * An injectable service that provides event management for Angular
1392
1395
  * through a browser plug-in.
1396
+ *
1397
+ * \@publicApi
1393
1398
  */
1394
1399
  class EventManager {
1395
1400
  /**
@@ -2332,17 +2337,19 @@ const EVENT_NAMES = {
2332
2337
  * DI token for providing [HammerJS](http://hammerjs.github.io/) support to Angular.
2333
2338
  * @see `HammerGestureConfig`
2334
2339
  *
2335
- * \@experimental
2340
+ * \@publicApi
2336
2341
  @type {?} */
2337
2342
  const HAMMER_GESTURE_CONFIG = new InjectionToken('HammerGestureConfig');
2338
2343
  /** *
2339
2344
  * Injection token used to provide a {\@link HammerLoader} to Angular.
2345
+ *
2346
+ * \@publicApi
2340
2347
  @type {?} */
2341
2348
  const HAMMER_LOADER = new InjectionToken('HammerLoader');
2342
2349
  /**
2343
2350
  * An injectable [HammerJS Manager](http://hammerjs.github.io/api/#hammer.manager)
2344
2351
  * for gesture recognition. Configures specific event recognition.
2345
- * \@experimental
2352
+ * \@publicApi
2346
2353
  */
2347
2354
  class HammerGestureConfig {
2348
2355
  constructor() {
@@ -2512,7 +2519,7 @@ const MODIFIER_KEY_GETTERS = {
2512
2519
  'shift': ɵ3
2513
2520
  };
2514
2521
  /**
2515
- * \@experimental
2522
+ * \@publicApi
2516
2523
  * A browser plug-in that provides support for handling of key events in Angular.
2517
2524
  */
2518
2525
  class KeyEventsPlugin extends EventManagerPlugin {
@@ -2677,7 +2684,7 @@ KeyEventsPlugin.ctorParameters = () => [
2677
2684
  * into this call. Make sure any user data is appropriately escaped for this security context.
2678
2685
  * For more detail, see the [Security Guide](http://g.co/ng/security).
2679
2686
  *
2680
- *
2687
+ * \@publicApi
2681
2688
  * @abstract
2682
2689
  */
2683
2690
  class DomSanitizer {
@@ -2844,13 +2851,15 @@ const INTERNAL_BROWSER_PLATFORM_PROVIDERS = [
2844
2851
  * \@security Replacing built-in sanitization providers exposes the application to XSS risks.
2845
2852
  * Attacker-controlled data introduced by an unsanitized provider could expose your
2846
2853
  * application to XSS risks. For more detail, see the [Security Guide](http://g.co/ng/security).
2847
- * \@experimental
2854
+ * \@publicApi
2848
2855
  @type {?} */
2849
2856
  const BROWSER_SANITIZATION_PROVIDERS = [
2850
2857
  { provide: Sanitizer, useExisting: DomSanitizer },
2851
2858
  { provide: DomSanitizer, useClass: DomSanitizerImpl, deps: [DOCUMENT$1] },
2852
2859
  ];
2853
- /** @type {?} */
2860
+ /** *
2861
+ * \@publicApi
2862
+ @type {?} */
2854
2863
  const platformBrowser = createPlatformFactory(platformCore, 'browser', INTERNAL_BROWSER_PLATFORM_PROVIDERS);
2855
2864
  /**
2856
2865
  * @return {?}
@@ -2909,7 +2918,7 @@ const BROWSER_MODULE_PROVIDERS = [
2909
2918
  * Re-exports `CommonModule` and `ApplicationModule`, making their
2910
2919
  * exports and providers available to all apps.
2911
2920
  *
2912
- *
2921
+ * \@publicApi
2913
2922
  */
2914
2923
  class BrowserModule {
2915
2924
  /**
@@ -2924,11 +2933,9 @@ class BrowserModule {
2924
2933
  * Configures a browser-based app to transition from a server-rendered app, if
2925
2934
  * one is present on the page.
2926
2935
  *
2927
- * \@experimental
2928
2936
  * @param {?} params An object containing an identifier for the app to transition.
2929
2937
  * The ID must match between the client and server versions of the app.
2930
2938
  * @return {?} The reconfigured `BrowserModule` to import into the app's root `AppModule`.
2931
- *
2932
2939
  */
2933
2940
  static withServerTransition(params) {
2934
2941
  return {
@@ -2963,7 +2970,7 @@ function createMeta() {
2963
2970
  /**
2964
2971
  * A service that can be used to get and add meta tags.
2965
2972
  *
2966
- * \@experimental
2973
+ * \@publicApi
2967
2974
  */
2968
2975
  class Meta {
2969
2976
  /**
@@ -3128,7 +3135,7 @@ function createTitle() {
3128
3135
  * (representing the `<title>` tag). Instead, this service can be used to set and get the current
3129
3136
  * title value.
3130
3137
  *
3131
- * \@experimental
3138
+ * \@publicApi
3132
3139
  */
3133
3140
  class Title {
3134
3141
  /**
@@ -3234,11 +3241,7 @@ class AngularProfiler {
3234
3241
  /** @type {?} */
3235
3242
  const end = getDOM().performanceNow();
3236
3243
  if (record && isProfilerAvailable) {
3237
- // need to cast to <any> because type checker thinks there's no argument
3238
- // while in fact there is:
3239
- //
3240
- // https://developer.mozilla.org/en-US/docs/Web/API/Console/profileEnd
3241
- (/** @type {?} */ (win.console.profileEnd))(profileName);
3244
+ win.console.profileEnd(profileName);
3242
3245
  }
3243
3246
  /** @type {?} */
3244
3247
  const msPerTick = (end - start) / numTicks;
@@ -3265,7 +3268,7 @@ const PROFILER_GLOBAL_NAME = 'profiler';
3265
3268
  * 1. Try the change detection profiler `ng.profiler.timeChangeDetection()`
3266
3269
  * then hit Enter.
3267
3270
  *
3268
- * \@experimental All debugging apis are currently experimental.
3271
+ * \@publicApi
3269
3272
  * @template T
3270
3273
  * @param {?} ref
3271
3274
  * @return {?}
@@ -3277,7 +3280,7 @@ function enableDebugTools(ref) {
3277
3280
  /**
3278
3281
  * Disables Angular tools.
3279
3282
  *
3280
- * \@experimental All debugging apis are currently experimental.
3283
+ * \@publicApi
3281
3284
  * @return {?}
3282
3285
  */
3283
3286
  function disableDebugTools() {
@@ -3330,7 +3333,7 @@ function unescapeHtml(text) {
3330
3333
  * transferState.set(COUNTER_KEY, value);
3331
3334
  * ```
3332
3335
  *
3333
- * \@experimental
3336
+ * \@publicApi
3334
3337
  * @template T
3335
3338
  * @param {?} key
3336
3339
  * @return {?}
@@ -3349,7 +3352,7 @@ function makeStateKey(key) {
3349
3352
  * boolean, number, string, null and non-class objects will be serialized and deserialzied in a
3350
3353
  * non-lossy manner.
3351
3354
  *
3352
- * \@experimental
3355
+ * \@publicApi
3353
3356
  */
3354
3357
  class TransferState {
3355
3358
  constructor() {
@@ -3455,7 +3458,7 @@ function initTransferState(doc, appId) {
3455
3458
  * NgModule to install on the client side while using the `TransferState` to transfer state from
3456
3459
  * server to client.
3457
3460
  *
3458
- * \@experimental
3461
+ * \@publicApi
3459
3462
  */
3460
3463
  class BrowserTransferStateModule {
3461
3464
  }
@@ -3472,7 +3475,7 @@ BrowserTransferStateModule.decorators = [
3472
3475
  /**
3473
3476
  * Predicates for use with {\@link DebugElement}'s query functions.
3474
3477
  *
3475
- * \@experimental All debugging apis are currently experimental.
3478
+ * \@publicApi
3476
3479
  */
3477
3480
  class By {
3478
3481
  /**
@@ -3526,8 +3529,10 @@ class By {
3526
3529
  * @fileoverview added by tsickle
3527
3530
  * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
3528
3531
  */
3529
- /** @type {?} */
3530
- const VERSION = new Version('7.0.0-rc.1');
3532
+ /** *
3533
+ * \@publicApi
3534
+ @type {?} */
3535
+ const VERSION = new Version('7.0.3');
3531
3536
 
3532
3537
  /**
3533
3538
  * @fileoverview added by tsickle