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

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.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v16.0.0-next.5
2
+ * @license Angular v16.0.0-next.7
3
3
  * (c) 2010-2022 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
@@ -7,7 +7,7 @@
7
7
  import { ɵgetDOM, PlatformLocation } from '@angular/common';
8
8
  import { MockPlatformLocation } from '@angular/common/testing';
9
9
  import * as i0 from '@angular/core';
10
- import { NgZone, PLATFORM_INITIALIZER, createPlatformFactory, platformCore, APP_ID, ɵprovideNgZoneChangeDetection, NgModule } from '@angular/core';
10
+ import { NgZone, PLATFORM_INITIALIZER, createPlatformFactory, platformCore, APP_ID, provideZoneChangeDetection, NgModule } from '@angular/core';
11
11
  import { ɵBrowserDomAdapter, BrowserModule } from '@angular/platform-browser';
12
12
 
13
13
  class BrowserDetection {
@@ -194,21 +194,21 @@ const platformBrowserTesting = createPlatformFactory(platformCore, 'browserTesti
194
194
  * @publicApi
195
195
  */
196
196
  class BrowserTestingModule {
197
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.5", ngImport: i0, type: BrowserTestingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
198
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.0-next.5", ngImport: i0, type: BrowserTestingModule, exports: [BrowserModule] }); }
199
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.0-next.5", ngImport: i0, type: BrowserTestingModule, providers: [
197
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.7", ngImport: i0, type: BrowserTestingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
198
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.0-next.7", ngImport: i0, type: BrowserTestingModule, exports: [BrowserModule] }); }
199
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.0-next.7", ngImport: i0, type: BrowserTestingModule, providers: [
200
200
  { provide: APP_ID, useValue: 'a' },
201
- ɵprovideNgZoneChangeDetection(createNgZone()),
201
+ provideZoneChangeDetection(),
202
202
  { provide: PlatformLocation, useClass: MockPlatformLocation },
203
203
  ], imports: [BrowserModule] }); }
204
204
  }
205
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.5", ngImport: i0, type: BrowserTestingModule, decorators: [{
205
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.7", ngImport: i0, type: BrowserTestingModule, decorators: [{
206
206
  type: NgModule,
207
207
  args: [{
208
208
  exports: [BrowserModule],
209
209
  providers: [
210
210
  { provide: APP_ID, useValue: 'a' },
211
- ɵprovideNgZoneChangeDetection(createNgZone()),
211
+ provideZoneChangeDetection(),
212
212
  { provide: PlatformLocation, useClass: MockPlatformLocation },
213
213
  ]
214
214
  }]
@@ -1 +1 @@
1
- {"version":3,"file":"testing.mjs","sources":["../../../../../../packages/platform-browser/testing/src/browser_util.ts","../../../../../../packages/platform-browser/testing/src/browser.ts","../../../../../../packages/platform-browser/testing/src/testing.ts","../../../../../../packages/platform-browser/testing/public_api.ts","../../../../../../packages/platform-browser/testing/index.ts","../../../../../../packages/platform-browser/testing/testing.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {ɵgetDOM as getDOM} from '@angular/common';\nimport {NgZone, ɵglobal as global} from '@angular/core';\n\nexport class BrowserDetection {\n private _overrideUa: string|null;\n private get _ua(): string {\n if (typeof this._overrideUa === 'string') {\n return this._overrideUa;\n }\n\n return getDOM() ? getDOM().getUserAgent() : '';\n }\n\n static setup() {\n return new BrowserDetection(null);\n }\n\n constructor(ua: string|null) {\n this._overrideUa = ua;\n }\n\n get isFirefox(): boolean {\n return this._ua.indexOf('Firefox') > -1;\n }\n\n get isAndroid(): boolean {\n return this._ua.indexOf('Mozilla/5.0') > -1 && this._ua.indexOf('Android') > -1 &&\n this._ua.indexOf('AppleWebKit') > -1 && this._ua.indexOf('Chrome') == -1 &&\n this._ua.indexOf('IEMobile') == -1;\n }\n\n get isEdge(): boolean {\n return this._ua.indexOf('Edge') > -1;\n }\n\n get isWebkit(): boolean {\n return this._ua.indexOf('AppleWebKit') > -1 && this._ua.indexOf('Edge') == -1 &&\n this._ua.indexOf('IEMobile') == -1;\n }\n\n get isIOS7(): boolean {\n return (this._ua.indexOf('iPhone OS 7') > -1 || this._ua.indexOf('iPad OS 7') > -1) &&\n this._ua.indexOf('IEMobile') == -1;\n }\n\n get isSlow(): boolean {\n return this.isAndroid || this.isIOS7;\n }\n\n get isChromeDesktop(): boolean {\n return this._ua.indexOf('Chrome') > -1 && this._ua.indexOf('Mobile Safari') == -1 &&\n this._ua.indexOf('Edge') == -1;\n }\n\n // \"Old Chrome\" means Chrome 3X, where there are some discrepancies in the Intl API.\n // Android 4.4 and 5.X have such browsers by default (respectively 30 and 39).\n get isOldChrome(): boolean {\n return this._ua.indexOf('Chrome') > -1 && this._ua.indexOf('Chrome/3') > -1 &&\n this._ua.indexOf('Edge') == -1;\n }\n\n get supportsShadowDom() {\n const testEl = document.createElement('div');\n return (typeof testEl.attachShadow !== 'undefined');\n }\n}\n\nexport const browserDetection: BrowserDetection = BrowserDetection.setup();\n\nexport function dispatchEvent(element: any, eventType: any): Event {\n const evt: Event = getDOM().getDefaultDocument().createEvent('Event');\n evt.initEvent(eventType, true, true);\n getDOM().dispatchEvent(element, evt);\n return evt;\n}\n\nexport function createMouseEvent(eventType: string): MouseEvent {\n const evt: MouseEvent = getDOM().getDefaultDocument().createEvent('MouseEvent');\n evt.initEvent(eventType, true, true);\n return evt;\n}\n\nexport function el(html: string): HTMLElement {\n return <HTMLElement>getContent(createTemplate(html)).firstChild;\n}\n\nfunction getAttributeMap(element: any): Map<string, string> {\n const res = new Map<string, string>();\n const elAttrs = element.attributes;\n for (let i = 0; i < elAttrs.length; i++) {\n const attrib = elAttrs.item(i);\n res.set(attrib.name, attrib.value);\n }\n return res;\n}\n\nconst _selfClosingTags = ['br', 'hr', 'input'];\nexport function stringifyElement(el: any /** TODO #9100 */): string {\n let result = '';\n if (getDOM().isElementNode(el)) {\n const tagName = el.tagName.toLowerCase();\n\n // Opening tag\n result += `<${tagName}`;\n\n // Attributes in an ordered way\n const attributeMap = getAttributeMap(el);\n const sortedKeys = Array.from(attributeMap.keys()).sort();\n for (const key of sortedKeys) {\n const lowerCaseKey = key.toLowerCase();\n let attValue = attributeMap.get(key);\n\n if (typeof attValue !== 'string') {\n result += ` ${lowerCaseKey}`;\n } else {\n // Browsers order style rules differently. Order them alphabetically for consistency.\n if (lowerCaseKey === 'style') {\n attValue = attValue.split(/; ?/).filter(s => !!s).sort().map(s => `${s};`).join(' ');\n }\n\n result += ` ${lowerCaseKey}=\"${attValue}\"`;\n }\n }\n result += '>';\n\n // Children\n const childrenRoot = templateAwareRoot(el);\n const children = childrenRoot ? childrenRoot.childNodes : [];\n for (let j = 0; j < children.length; j++) {\n result += stringifyElement(children[j]);\n }\n\n // Closing tag\n if (_selfClosingTags.indexOf(tagName) == -1) {\n result += `</${tagName}>`;\n }\n } else if (isCommentNode(el)) {\n result += `<!--${el.nodeValue}-->`;\n } else {\n result += el.textContent;\n }\n\n return result;\n}\n\nexport function createNgZone(): NgZone {\n return new NgZone({enableLongStackTrace: true, shouldCoalesceEventChangeDetection: false});\n}\n\nexport function isCommentNode(node: Node): boolean {\n return node.nodeType === Node.COMMENT_NODE;\n}\n\nexport function isTextNode(node: Node): boolean {\n return node.nodeType === Node.TEXT_NODE;\n}\n\nexport function getContent(node: Node): Node {\n if ('content' in node) {\n return (<any>node).content;\n } else {\n return node;\n }\n}\n\nexport function templateAwareRoot(el: Node): any {\n return getDOM().isElementNode(el) && el.nodeName === 'TEMPLATE' ? getContent(el) : el;\n}\n\nexport function setCookie(name: string, value: string) {\n // document.cookie is magical, assigning into it assigns/overrides one cookie value, but does\n // not clear other cookies.\n document.cookie = encodeURIComponent(name) + '=' + encodeURIComponent(value);\n}\n\nexport function hasStyle(element: any, styleName: string, styleValue?: string|null): boolean {\n const value = element.style[styleName] || '';\n return styleValue ? value == styleValue : value.length > 0;\n}\n\nexport function hasClass(element: any, className: string): boolean {\n return element.classList.contains(className);\n}\n\nexport function sortedClassList(element: any): any[] {\n return Array.prototype.slice.call(element.classList, 0).sort();\n}\n\nexport function createTemplate(html: any): HTMLElement {\n const t = getDOM().getDefaultDocument().createElement('template');\n t.innerHTML = html;\n return t;\n}\n\nexport function childNodesAsList(el: Node): any[] {\n const childNodes = el.childNodes;\n const res = [];\n for (let i = 0; i < childNodes.length; i++) {\n res[i] = childNodes[i];\n }\n return res;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {PlatformLocation} from '@angular/common';\nimport {MockPlatformLocation} from '@angular/common/testing';\nimport {APP_ID, createPlatformFactory, NgModule, PLATFORM_INITIALIZER, platformCore, StaticProvider, ɵprovideNgZoneChangeDetection as provideNgZoneChangeDetection} from '@angular/core';\nimport {BrowserModule, ɵBrowserDomAdapter as BrowserDomAdapter} from '@angular/platform-browser';\n\nimport {BrowserDetection, createNgZone} from './browser_util';\n\nfunction initBrowserTests() {\n BrowserDomAdapter.makeCurrent();\n BrowserDetection.setup();\n}\n\nconst _TEST_BROWSER_PLATFORM_PROVIDERS: StaticProvider[] =\n [{provide: PLATFORM_INITIALIZER, useValue: initBrowserTests, multi: true}];\n\n/**\n * Platform for testing\n *\n * @publicApi\n */\nexport const platformBrowserTesting =\n createPlatformFactory(platformCore, 'browserTesting', _TEST_BROWSER_PLATFORM_PROVIDERS);\n\n/**\n * NgModule for testing.\n *\n * @publicApi\n */\n@NgModule({\n exports: [BrowserModule],\n providers: [\n {provide: APP_ID, useValue: 'a'},\n provideNgZoneChangeDetection(createNgZone()),\n {provide: PlatformLocation, useClass: MockPlatformLocation},\n ]\n})\nexport class BrowserTestingModule {\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @module\n * @description\n * Entry point for all public APIs of the platform-browser/testing package.\n */\nexport * from './browser';\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/// <reference types=\"jasmine\" />\n\n/**\n * @module\n * @description\n * Entry point for all public APIs of this package.\n */\nexport * from './src/testing';\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n// This file is not used to build this module. It is only used during editing\n// by the TypeScript language service and during build for verification. `ngc`\n// replaces this file with production index.ts when it rewrites private symbol\n// names.\n\nexport * from './public_api';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["getDOM","BrowserDomAdapter","provideNgZoneChangeDetection"],"mappings":"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"}
1
+ {"version":3,"file":"testing.mjs","sources":["../../../../../../packages/platform-browser/testing/src/browser_util.ts","../../../../../../packages/platform-browser/testing/src/browser.ts","../../../../../../packages/platform-browser/testing/src/testing.ts","../../../../../../packages/platform-browser/testing/public_api.ts","../../../../../../packages/platform-browser/testing/index.ts","../../../../../../packages/platform-browser/testing/testing.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {ɵgetDOM as getDOM} from '@angular/common';\nimport {NgZone, ɵglobal as global} from '@angular/core';\n\nexport class BrowserDetection {\n private _overrideUa: string|null;\n private get _ua(): string {\n if (typeof this._overrideUa === 'string') {\n return this._overrideUa;\n }\n\n return getDOM() ? getDOM().getUserAgent() : '';\n }\n\n static setup() {\n return new BrowserDetection(null);\n }\n\n constructor(ua: string|null) {\n this._overrideUa = ua;\n }\n\n get isFirefox(): boolean {\n return this._ua.indexOf('Firefox') > -1;\n }\n\n get isAndroid(): boolean {\n return this._ua.indexOf('Mozilla/5.0') > -1 && this._ua.indexOf('Android') > -1 &&\n this._ua.indexOf('AppleWebKit') > -1 && this._ua.indexOf('Chrome') == -1 &&\n this._ua.indexOf('IEMobile') == -1;\n }\n\n get isEdge(): boolean {\n return this._ua.indexOf('Edge') > -1;\n }\n\n get isWebkit(): boolean {\n return this._ua.indexOf('AppleWebKit') > -1 && this._ua.indexOf('Edge') == -1 &&\n this._ua.indexOf('IEMobile') == -1;\n }\n\n get isIOS7(): boolean {\n return (this._ua.indexOf('iPhone OS 7') > -1 || this._ua.indexOf('iPad OS 7') > -1) &&\n this._ua.indexOf('IEMobile') == -1;\n }\n\n get isSlow(): boolean {\n return this.isAndroid || this.isIOS7;\n }\n\n get isChromeDesktop(): boolean {\n return this._ua.indexOf('Chrome') > -1 && this._ua.indexOf('Mobile Safari') == -1 &&\n this._ua.indexOf('Edge') == -1;\n }\n\n // \"Old Chrome\" means Chrome 3X, where there are some discrepancies in the Intl API.\n // Android 4.4 and 5.X have such browsers by default (respectively 30 and 39).\n get isOldChrome(): boolean {\n return this._ua.indexOf('Chrome') > -1 && this._ua.indexOf('Chrome/3') > -1 &&\n this._ua.indexOf('Edge') == -1;\n }\n\n get supportsShadowDom() {\n const testEl = document.createElement('div');\n return (typeof testEl.attachShadow !== 'undefined');\n }\n}\n\nexport const browserDetection: BrowserDetection = BrowserDetection.setup();\n\nexport function dispatchEvent(element: any, eventType: any): Event {\n const evt: Event = getDOM().getDefaultDocument().createEvent('Event');\n evt.initEvent(eventType, true, true);\n getDOM().dispatchEvent(element, evt);\n return evt;\n}\n\nexport function createMouseEvent(eventType: string): MouseEvent {\n const evt: MouseEvent = getDOM().getDefaultDocument().createEvent('MouseEvent');\n evt.initEvent(eventType, true, true);\n return evt;\n}\n\nexport function el(html: string): HTMLElement {\n return <HTMLElement>getContent(createTemplate(html)).firstChild;\n}\n\nfunction getAttributeMap(element: any): Map<string, string> {\n const res = new Map<string, string>();\n const elAttrs = element.attributes;\n for (let i = 0; i < elAttrs.length; i++) {\n const attrib = elAttrs.item(i);\n res.set(attrib.name, attrib.value);\n }\n return res;\n}\n\nconst _selfClosingTags = ['br', 'hr', 'input'];\nexport function stringifyElement(el: any /** TODO #9100 */): string {\n let result = '';\n if (getDOM().isElementNode(el)) {\n const tagName = el.tagName.toLowerCase();\n\n // Opening tag\n result += `<${tagName}`;\n\n // Attributes in an ordered way\n const attributeMap = getAttributeMap(el);\n const sortedKeys = Array.from(attributeMap.keys()).sort();\n for (const key of sortedKeys) {\n const lowerCaseKey = key.toLowerCase();\n let attValue = attributeMap.get(key);\n\n if (typeof attValue !== 'string') {\n result += ` ${lowerCaseKey}`;\n } else {\n // Browsers order style rules differently. Order them alphabetically for consistency.\n if (lowerCaseKey === 'style') {\n attValue = attValue.split(/; ?/).filter(s => !!s).sort().map(s => `${s};`).join(' ');\n }\n\n result += ` ${lowerCaseKey}=\"${attValue}\"`;\n }\n }\n result += '>';\n\n // Children\n const childrenRoot = templateAwareRoot(el);\n const children = childrenRoot ? childrenRoot.childNodes : [];\n for (let j = 0; j < children.length; j++) {\n result += stringifyElement(children[j]);\n }\n\n // Closing tag\n if (_selfClosingTags.indexOf(tagName) == -1) {\n result += `</${tagName}>`;\n }\n } else if (isCommentNode(el)) {\n result += `<!--${el.nodeValue}-->`;\n } else {\n result += el.textContent;\n }\n\n return result;\n}\n\nexport function createNgZone(): NgZone {\n return new NgZone({enableLongStackTrace: true, shouldCoalesceEventChangeDetection: false});\n}\n\nexport function isCommentNode(node: Node): boolean {\n return node.nodeType === Node.COMMENT_NODE;\n}\n\nexport function isTextNode(node: Node): boolean {\n return node.nodeType === Node.TEXT_NODE;\n}\n\nexport function getContent(node: Node): Node {\n if ('content' in node) {\n return (<any>node).content;\n } else {\n return node;\n }\n}\n\nexport function templateAwareRoot(el: Node): any {\n return getDOM().isElementNode(el) && el.nodeName === 'TEMPLATE' ? getContent(el) : el;\n}\n\nexport function setCookie(name: string, value: string) {\n // document.cookie is magical, assigning into it assigns/overrides one cookie value, but does\n // not clear other cookies.\n document.cookie = encodeURIComponent(name) + '=' + encodeURIComponent(value);\n}\n\nexport function hasStyle(element: any, styleName: string, styleValue?: string|null): boolean {\n const value = element.style[styleName] || '';\n return styleValue ? value == styleValue : value.length > 0;\n}\n\nexport function hasClass(element: any, className: string): boolean {\n return element.classList.contains(className);\n}\n\nexport function sortedClassList(element: any): any[] {\n return Array.prototype.slice.call(element.classList, 0).sort();\n}\n\nexport function createTemplate(html: any): HTMLElement {\n const t = getDOM().getDefaultDocument().createElement('template');\n t.innerHTML = html;\n return t;\n}\n\nexport function childNodesAsList(el: Node): any[] {\n const childNodes = el.childNodes;\n const res = [];\n for (let i = 0; i < childNodes.length; i++) {\n res[i] = childNodes[i];\n }\n return res;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {PlatformLocation} from '@angular/common';\nimport {MockPlatformLocation} from '@angular/common/testing';\nimport {APP_ID, createPlatformFactory, NgModule, PLATFORM_INITIALIZER, platformCore, provideZoneChangeDetection, StaticProvider} from '@angular/core';\nimport {BrowserModule, ɵBrowserDomAdapter as BrowserDomAdapter} from '@angular/platform-browser';\n\nimport {BrowserDetection, createNgZone} from './browser_util';\n\nfunction initBrowserTests() {\n BrowserDomAdapter.makeCurrent();\n BrowserDetection.setup();\n}\n\nconst _TEST_BROWSER_PLATFORM_PROVIDERS: StaticProvider[] =\n [{provide: PLATFORM_INITIALIZER, useValue: initBrowserTests, multi: true}];\n\n/**\n * Platform for testing\n *\n * @publicApi\n */\nexport const platformBrowserTesting =\n createPlatformFactory(platformCore, 'browserTesting', _TEST_BROWSER_PLATFORM_PROVIDERS);\n\n/**\n * NgModule for testing.\n *\n * @publicApi\n */\n@NgModule({\n exports: [BrowserModule],\n providers: [\n {provide: APP_ID, useValue: 'a'},\n provideZoneChangeDetection(),\n {provide: PlatformLocation, useClass: MockPlatformLocation},\n ]\n})\nexport class BrowserTestingModule {\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @module\n * @description\n * Entry point for all public APIs of the platform-browser/testing package.\n */\nexport * from './browser';\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/// <reference types=\"jasmine\" />\n\n/**\n * @module\n * @description\n * Entry point for all public APIs of this package.\n */\nexport * from './src/testing';\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n// This file is not used to build this module. It is only used during editing\n// by the TypeScript language service and during build for verification. `ngc`\n// replaces this file with production index.ts when it rewrites private symbol\n// names.\n\nexport * from './public_api';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["getDOM","BrowserDomAdapter"],"mappings":"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"}
package/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v16.0.0-next.5
2
+ * @license Angular v16.0.0-next.7
3
3
  * (c) 2010-2022 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
@@ -10,6 +10,7 @@ import { ApplicationRef } from '@angular/core';
10
10
  import { ComponentRef } from '@angular/core';
11
11
  import { DebugElement } from '@angular/core';
12
12
  import { DebugNode } from '@angular/core';
13
+ import { EnvironmentProviders } from '@angular/core';
13
14
  import { GetTestability } from '@angular/core';
14
15
  import * as i0 from '@angular/core';
15
16
  import * as i1 from '@angular/common';
@@ -137,20 +138,6 @@ export declare class BrowserModule {
137
138
  static ɵinj: i0.ɵɵInjectorDeclaration<BrowserModule>;
138
139
  }
139
140
 
140
- /**
141
- * NgModule to install on the client side while using the `TransferState` to transfer state from
142
- * server to client.
143
- *
144
- * @publicApi
145
- * @deprecated no longer needed, you can inject the `TransferState` in an app without providing
146
- * this module.
147
- */
148
- export declare class BrowserTransferStateModule {
149
- static ɵfac: i0.ɵɵFactoryDeclaration<BrowserTransferStateModule, never>;
150
- static ɵmod: i0.ɵɵNgModuleDeclaration<BrowserTransferStateModule, never, never, never>;
151
- static ɵinj: i0.ɵɵInjectorDeclaration<BrowserTransferStateModule>;
152
- }
153
-
154
141
  /**
155
142
  * Predicates for use with {@link DebugElement}'s query functions.
156
143
  *
@@ -338,17 +325,6 @@ export declare class EventManager {
338
325
  * @returns A callback function that can be used to remove the handler.
339
326
  */
340
327
  addEventListener(element: HTMLElement, eventName: string, handler: Function): Function;
341
- /**
342
- * Registers a global handler for an event in a target view.
343
- *
344
- * @param target A target for global event notifications. One of "window", "document", or "body".
345
- * @param eventName The name of the event to listen for.
346
- * @param handler A function to call when the notification occurs. Receives the
347
- * event object as an argument.
348
- * @returns A callback function that can be used to remove the handler.
349
- * @deprecated No longer being used in Ivy code. To be removed in version 14.
350
- */
351
- addGlobalEventListener(target: string, eventName: string, handler: Function): Function;
352
328
  /**
353
329
  * Retrieves the compilation zone in which event listeners are registered.
354
330
  */
@@ -363,7 +339,6 @@ declare abstract class EventManagerPlugin {
363
339
  manager: EventManager;
364
340
  abstract supports(eventName: string): boolean;
365
341
  abstract addEventListener(element: HTMLElement, eventName: string, handler: Function): Function;
366
- addGlobalEventListener(element: string, eventName: string, handler: Function): Function;
367
342
  }
368
343
 
369
344
  /**
@@ -481,6 +456,29 @@ export declare class HammerModule {
481
456
  static ɵinj: i0.ɵɵInjectorDeclaration<HammerModule>;
482
457
  }
483
458
 
459
+ /**
460
+ * Helper type to represent a Hydration feature.
461
+ *
462
+ * @publicApi
463
+ * @developerPreview
464
+ */
465
+ export declare interface HydrationFeature<FeatureKind extends HydrationFeatureKind> {
466
+ ɵkind: FeatureKind;
467
+ ɵproviders: Provider[];
468
+ }
469
+
470
+ /**
471
+ * The list of features as an enum to uniquely type each `HydrationFeature`.
472
+ * @see HydrationFeature
473
+ *
474
+ * @publicApi
475
+ * @developerPreview
476
+ */
477
+ export declare const enum HydrationFeatureKind {
478
+ NoDomReuseFeature = 0,
479
+ NoHttpTransferCache = 1
480
+ }
481
+
484
482
  /**
485
483
  * Create a `StateKey<T>` that can be used to store value of type T with `TransferState`.
486
484
  *
@@ -619,6 +617,45 @@ export declare type MetaDefinition = {
619
617
  */
620
618
  export declare const platformBrowser: (extraProviders?: StaticProvider[]) => PlatformRef;
621
619
 
620
+ /**
621
+ * Sets up providers necessary to enable hydration functionality for the application.
622
+ * By default, the function enables the recommended set of features for the optimal
623
+ * performance for most of the applications. You can enable/disable features by
624
+ * passing special functions (from the `HydrationFeatures` set) as arguments to the
625
+ * `provideClientHydration` function.
626
+ *
627
+ * @usageNotes
628
+ *
629
+ * Basic example of how you can enable hydration in your application when
630
+ * `bootstrapApplication` function is used:
631
+ * ```
632
+ * bootstrapApplication(AppComponent, {
633
+ * providers: [provideClientHydration()]
634
+ * });
635
+ * ```
636
+ *
637
+ * Alternatively if you are using NgModules, you would add `provideClientHydration`
638
+ * to your root app module's provider list.
639
+ * ```
640
+ * @NgModule({
641
+ * declarations: [RootCmp],
642
+ * bootstrap: [RootCmp],
643
+ * providers: [provideClientHydration()],
644
+ * })
645
+ * export class AppModule {}
646
+ * ```
647
+ *
648
+ * @see `withNoDomReuse`
649
+ * @see `withNoHttpTransferCache`
650
+ *
651
+ * @param features Optional features to configure additional router behaviors.
652
+ * @returns A set of providers to enable hydration.
653
+ *
654
+ * @publicApi
655
+ * @developerPreview
656
+ */
657
+ export declare function provideClientHydration(...features: HydrationFeature<HydrationFeatureKind>[]): EnvironmentProviders;
658
+
622
659
  /**
623
660
  * Returns a set of providers required to setup [Testability](api/core/Testability) for an
624
661
  * application bootstrapped using the `bootstrapApplication` function. The set of providers is
@@ -760,6 +797,24 @@ export declare const TransferState: {
760
797
  */
761
798
  export declare const VERSION: Version;
762
799
 
800
+ /**
801
+ * Disables DOM nodes reuse during hydration. Effectively makes
802
+ * Angular re-render an application from scratch on the client.
803
+ *
804
+ * @publicApi
805
+ * @developerPreview
806
+ */
807
+ export declare function withNoDomReuse(): HydrationFeature<HydrationFeatureKind.NoDomReuseFeature>;
808
+
809
+ /**
810
+ * Disables HTTP transfer cache. Effectively causes HTTP requests to be performed twice: once on the
811
+ * server and other one on the browser.
812
+ *
813
+ * @publicApi
814
+ * @developerPreview
815
+ */
816
+ export declare function withNoHttpTransferCache(): HydrationFeature<HydrationFeatureKind.NoHttpTransferCache>;
817
+
763
818
  /**
764
819
  * A `DomAdapter` powered by full browser DOM APIs.
765
820
  *
@@ -799,20 +854,22 @@ export declare class ɵDomEventsPlugin extends EventManagerPlugin {
799
854
  }
800
855
 
801
856
  export declare class ɵDomRendererFactory2 implements RendererFactory2, OnDestroy {
802
- private eventManager;
803
- private sharedStylesHost;
804
- private appId;
857
+ private readonly eventManager;
858
+ private readonly sharedStylesHost;
859
+ private readonly appId;
805
860
  private removeStylesOnCompDestory;
806
- private nonce?;
807
- private rendererByCompId;
808
- private defaultRenderer;
809
- constructor(eventManager: EventManager, sharedStylesHost: ɵSharedStylesHost, appId: string, removeStylesOnCompDestory: boolean, nonce?: string | null | undefined);
861
+ private readonly doc;
862
+ readonly platformId: Object;
863
+ readonly ngZone: NgZone;
864
+ private readonly nonce;
865
+ private readonly rendererByCompId;
866
+ private readonly defaultRenderer;
867
+ private readonly platformIsServer;
868
+ constructor(eventManager: EventManager, sharedStylesHost: ɵSharedStylesHost, appId: string, removeStylesOnCompDestory: boolean, doc: Document, platformId: Object, ngZone: NgZone, nonce?: string | null);
810
869
  createRenderer(element: any, type: RendererType2 | null): Renderer2;
811
870
  private getOrCreateRenderer;
812
871
  ngOnDestroy(): void;
813
- begin(): void;
814
- end(): void;
815
- static ɵfac: i0.ɵɵFactoryDeclaration<ɵDomRendererFactory2, [null, null, null, null, { optional: true; }]>;
872
+ static ɵfac: i0.ɵɵFactoryDeclaration<ɵDomRendererFactory2, never>;
816
873
  static ɵprov: i0.ɵɵInjectableDeclaration<ɵDomRendererFactory2>;
817
874
  }
818
875
 
@@ -914,10 +971,6 @@ export declare class ɵKeyEventsPlugin extends EventManagerPlugin {
914
971
  static ɵprov: i0.ɵɵInjectableDeclaration<ɵKeyEventsPlugin>;
915
972
  }
916
973
 
917
- export declare const ɵNAMESPACE_URIS: {
918
- [ns: string]: string;
919
- };
920
-
921
974
  export declare class ɵSharedStylesHost implements OnDestroy {
922
975
  private readonly doc;
923
976
  private readonly appId;
@@ -945,10 +998,4 @@ export declare class ɵSharedStylesHost implements OnDestroy {
945
998
  static ɵprov: i0.ɵɵInjectableDeclaration<ɵSharedStylesHost>;
946
999
  }
947
1000
 
948
- export declare function ɵshimContentAttribute(componentShortId: string): string;
949
-
950
- export declare function ɵshimHostAttribute(componentShortId: string): string;
951
-
952
- export declare function ɵshimStyles(compId: string, styles: string[]): string[];
953
-
954
1001
  export { }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@angular/platform-browser",
3
- "version": "16.0.0-next.5",
3
+ "version": "16.0.0-next.7",
4
4
  "description": "Angular - library for using Angular in a web browser",
5
5
  "author": "angular",
6
6
  "license": "MIT",
@@ -11,9 +11,9 @@
11
11
  "tslib": "^2.3.0"
12
12
  },
13
13
  "peerDependencies": {
14
- "@angular/animations": "16.0.0-next.5",
15
- "@angular/core": "16.0.0-next.5",
16
- "@angular/common": "16.0.0-next.5"
14
+ "@angular/animations": "16.0.0-next.7",
15
+ "@angular/core": "16.0.0-next.7",
16
+ "@angular/common": "16.0.0-next.7"
17
17
  },
18
18
  "peerDependenciesMeta": {
19
19
  "@angular/animations": {
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v16.0.0-next.5
2
+ * @license Angular v16.0.0-next.7
3
3
  * (c) 2010-2022 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
@@ -1,28 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright Google LLC All Rights Reserved.
4
- *
5
- * Use of this source code is governed by an MIT-style license that can be
6
- * found in the LICENSE file at https://angular.io/license
7
- */
8
- import { NgModule } from '@angular/core';
9
- import * as i0 from "@angular/core";
10
- /**
11
- * NgModule to install on the client side while using the `TransferState` to transfer state from
12
- * server to client.
13
- *
14
- * @publicApi
15
- * @deprecated no longer needed, you can inject the `TransferState` in an app without providing
16
- * this module.
17
- */
18
- class BrowserTransferStateModule {
19
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.5", ngImport: i0, type: BrowserTransferStateModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
20
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.0-next.5", ngImport: i0, type: BrowserTransferStateModule }); }
21
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.0-next.5", ngImport: i0, type: BrowserTransferStateModule }); }
22
- }
23
- export { BrowserTransferStateModule };
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.5", ngImport: i0, type: BrowserTransferStateModule, decorators: [{
25
- type: NgModule,
26
- args: [{}]
27
- }] });
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmZXJfc3RhdGVfbW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGxhdGZvcm0tYnJvd3Nlci9zcmMvYnJvd3Nlci90cmFuc2Zlcl9zdGF0ZV9tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBRUgsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQzs7QUFFdkM7Ozs7Ozs7R0FPRztBQUNILE1BQ2EsMEJBQTBCO3lIQUExQiwwQkFBMEI7MEhBQTFCLDBCQUEwQjswSEFBMUIsMEJBQTBCOztTQUExQiwwQkFBMEI7c0dBQTFCLDBCQUEwQjtrQkFEdEMsUUFBUTttQkFBQyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmltcG9ydCB7TmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIE5nTW9kdWxlIHRvIGluc3RhbGwgb24gdGhlIGNsaWVudCBzaWRlIHdoaWxlIHVzaW5nIHRoZSBgVHJhbnNmZXJTdGF0ZWAgdG8gdHJhbnNmZXIgc3RhdGUgZnJvbVxuICogc2VydmVyIHRvIGNsaWVudC5cbiAqXG4gKiBAcHVibGljQXBpXG4gKiBAZGVwcmVjYXRlZCBubyBsb25nZXIgbmVlZGVkLCB5b3UgY2FuIGluamVjdCB0aGUgYFRyYW5zZmVyU3RhdGVgIGluIGFuIGFwcCB3aXRob3V0IHByb3ZpZGluZ1xuICogICAgIHRoaXMgbW9kdWxlLlxuICovXG5ATmdNb2R1bGUoe30pXG5leHBvcnQgY2xhc3MgQnJvd3NlclRyYW5zZmVyU3RhdGVNb2R1bGUge1xufVxuIl19