@angular/platform-browser 16.0.0-next.2 → 16.0.0-next.4
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.
- package/animations/index.d.ts +1 -1
- package/esm2020/animations/src/animation_builder.mjs +3 -3
- package/esm2020/animations/src/animation_renderer.mjs +3 -3
- package/esm2020/animations/src/module.mjs +8 -8
- package/esm2020/animations/src/providers.mjs +3 -3
- package/esm2020/src/browser/meta.mjs +3 -3
- package/esm2020/src/browser/title.mjs +3 -3
- package/esm2020/src/browser/transfer_state_module.mjs +4 -4
- package/esm2020/src/browser/xhr.mjs +3 -3
- package/esm2020/src/browser.mjs +12 -25
- package/esm2020/src/dom/dom_renderer.mjs +20 -10
- package/esm2020/src/dom/events/dom_events.mjs +3 -3
- package/esm2020/src/dom/events/event_manager.mjs +3 -3
- package/esm2020/src/dom/events/hammer_gestures.mjs +10 -10
- package/esm2020/src/dom/events/key_events.mjs +3 -3
- package/esm2020/src/dom/shared_styles_host.mjs +99 -59
- package/esm2020/src/private_export.mjs +2 -3
- package/esm2020/src/security/dom_sanitization_service.mjs +6 -6
- package/esm2020/src/version.mjs +1 -1
- package/esm2020/testing/src/browser.mjs +8 -8
- package/fesm2015/animations.mjs +18 -18
- package/fesm2015/platform-browser.mjs +168 -154
- package/fesm2015/platform-browser.mjs.map +1 -1
- package/fesm2015/testing.mjs +8 -8
- package/fesm2015/testing.mjs.map +1 -1
- package/fesm2020/animations.mjs +18 -18
- package/fesm2020/platform-browser.mjs +165 -153
- package/fesm2020/platform-browser.mjs.map +1 -1
- package/fesm2020/testing.mjs +8 -8
- package/fesm2020/testing.mjs.map +1 -1
- package/index.d.ts +26 -31
- package/package.json +4 -4
- package/testing/index.d.ts +1 -1
- package/esm2020/src/browser/server-transition.mjs +0 -36
package/fesm2020/testing.mjs
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
/**
|
2
|
-
* @license Angular v16.0.0-next.
|
2
|
+
* @license Angular v16.0.0-next.4
|
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, NgModule } from '@angular/core';
|
10
|
+
import { NgZone, PLATFORM_INITIALIZER, createPlatformFactory, platformCore, APP_ID, ɵprovideNgZoneChangeDetection, NgModule } from '@angular/core';
|
11
11
|
import { ɵBrowserDomAdapter, BrowserModule } from '@angular/platform-browser';
|
12
12
|
|
13
13
|
class BrowserDetection {
|
@@ -195,20 +195,20 @@ const platformBrowserTesting = createPlatformFactory(platformCore, 'browserTesti
|
|
195
195
|
*/
|
196
196
|
class BrowserTestingModule {
|
197
197
|
}
|
198
|
-
BrowserTestingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.
|
199
|
-
BrowserTestingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.0-next.
|
200
|
-
BrowserTestingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.0-next.
|
198
|
+
BrowserTestingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.4", ngImport: i0, type: BrowserTestingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
199
|
+
BrowserTestingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.0-next.4", ngImport: i0, type: BrowserTestingModule, exports: [BrowserModule] });
|
200
|
+
BrowserTestingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.0-next.4", ngImport: i0, type: BrowserTestingModule, providers: [
|
201
201
|
{ provide: APP_ID, useValue: 'a' },
|
202
|
-
|
202
|
+
ɵprovideNgZoneChangeDetection(createNgZone()),
|
203
203
|
{ provide: PlatformLocation, useClass: MockPlatformLocation },
|
204
204
|
], imports: [BrowserModule] });
|
205
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.
|
205
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.4", 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
|
-
|
211
|
+
ɵprovideNgZoneChangeDetection(createNgZone()),
|
212
212
|
{ provide: PlatformLocation, useClass: MockPlatformLocation },
|
213
213
|
]
|
214
214
|
}]
|
package/fesm2020/testing.mjs.map
CHANGED
@@ -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, NgZone, PLATFORM_INITIALIZER, platformCore, 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 {provide: NgZone, useFactory: 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"],"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, 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":";;;;;;;;;;;;MAWa,gBAAgB,CAAA;AAE3B,IAAA,IAAY,GAAG,GAAA;AACb,QAAA,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,QAAQ,EAAE;YACxC,OAAO,IAAI,CAAC,WAAW,CAAC;AACzB,SAAA;AAED,QAAA,OAAOA,OAAM,EAAE,GAAGA,OAAM,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC;KAChD;AAED,IAAA,OAAO,KAAK,GAAA;AACV,QAAA,OAAO,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC;KACnC;AAED,IAAA,WAAA,CAAY,EAAe,EAAA;AACzB,QAAA,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;KACvB;AAED,IAAA,IAAI,SAAS,GAAA;QACX,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;KACzC;AAED,IAAA,IAAI,SAAS,GAAA;QACX,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YAC3E,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACxE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;KACxC;AAED,IAAA,IAAI,MAAM,GAAA;QACR,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;KACtC;AAED,IAAA,IAAI,QAAQ,GAAA;QACV,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACzE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;KACxC;AAED,IAAA,IAAI,MAAM,GAAA;QACR,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YAC9E,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;KACxC;AAED,IAAA,IAAI,MAAM,GAAA;AACR,QAAA,OAAO,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC;KACtC;AAED,IAAA,IAAI,eAAe,GAAA;QACjB,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YAC7E,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;KACpC;;;AAID,IAAA,IAAI,WAAW,GAAA;QACb,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YACvE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;KACpC;AAED,IAAA,IAAI,iBAAiB,GAAA;QACnB,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC7C,QAAQ,OAAO,MAAM,CAAC,YAAY,KAAK,WAAW,EAAE;KACrD;AACF,CAAA;AAEM,MAAM,gBAAgB,GAAqB,gBAAgB,CAAC,KAAK,EAAE,CAAC;AAE3D,SAAA,aAAa,CAAC,OAAY,EAAE,SAAc,EAAA;AACxD,IAAA,MAAM,GAAG,GAAUA,OAAM,EAAE,CAAC,kBAAkB,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IACtE,GAAG,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACrCA,OAAM,EAAE,CAAC,aAAa,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;AACrC,IAAA,OAAO,GAAG,CAAC;AACb,CAAC;AAEK,SAAU,gBAAgB,CAAC,SAAiB,EAAA;AAChD,IAAA,MAAM,GAAG,GAAeA,OAAM,EAAE,CAAC,kBAAkB,EAAE,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;IAChF,GAAG,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AACrC,IAAA,OAAO,GAAG,CAAC;AACb,CAAC;AAEK,SAAU,EAAE,CAAC,IAAY,EAAA;IAC7B,OAAoB,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC;AAClE,CAAC;AAED,SAAS,eAAe,CAAC,OAAY,EAAA;AACnC,IAAA,MAAM,GAAG,GAAG,IAAI,GAAG,EAAkB,CAAC;AACtC,IAAA,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC;AACnC,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACvC,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC/B,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;AACpC,KAAA;AACD,IAAA,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,gBAAgB,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;AAC/B,SAAA,gBAAgB,CAAC,EAAO,oBAAkB;IACxD,IAAI,MAAM,GAAG,EAAE,CAAC;AAChB,IAAA,IAAIA,OAAM,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,EAAE;QAC9B,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;;AAGzC,QAAA,MAAM,IAAI,CAAA,CAAA,EAAI,OAAO,CAAA,CAAE,CAAC;;AAGxB,QAAA,MAAM,YAAY,GAAG,eAAe,CAAC,EAAE,CAAC,CAAC;AACzC,QAAA,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;AAC1D,QAAA,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE;AAC5B,YAAA,MAAM,YAAY,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;YACvC,IAAI,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAErC,YAAA,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;AAChC,gBAAA,MAAM,IAAI,CAAA,CAAA,EAAI,YAAY,CAAA,CAAE,CAAC;AAC9B,aAAA;AAAM,iBAAA;;gBAEL,IAAI,YAAY,KAAK,OAAO,EAAE;AAC5B,oBAAA,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAG,EAAA,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACtF,iBAAA;AAED,gBAAA,MAAM,IAAI,CAAI,CAAA,EAAA,YAAY,CAAK,EAAA,EAAA,QAAQ,GAAG,CAAC;AAC5C,aAAA;AACF,SAAA;QACD,MAAM,IAAI,GAAG,CAAC;;AAGd,QAAA,MAAM,YAAY,GAAG,iBAAiB,CAAC,EAAE,CAAC,CAAC;AAC3C,QAAA,MAAM,QAAQ,GAAG,YAAY,GAAG,YAAY,CAAC,UAAU,GAAG,EAAE,CAAC;AAC7D,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACxC,MAAM,IAAI,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AACzC,SAAA;;QAGD,IAAI,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE;AAC3C,YAAA,MAAM,IAAI,CAAA,EAAA,EAAK,OAAO,CAAA,CAAA,CAAG,CAAC;AAC3B,SAAA;AACF,KAAA;AAAM,SAAA,IAAI,aAAa,CAAC,EAAE,CAAC,EAAE;AAC5B,QAAA,MAAM,IAAI,CAAO,IAAA,EAAA,EAAE,CAAC,SAAS,KAAK,CAAC;AACpC,KAAA;AAAM,SAAA;AACL,QAAA,MAAM,IAAI,EAAE,CAAC,WAAW,CAAC;AAC1B,KAAA;AAED,IAAA,OAAO,MAAM,CAAC;AAChB,CAAC;SAEe,YAAY,GAAA;AAC1B,IAAA,OAAO,IAAI,MAAM,CAAC,EAAC,oBAAoB,EAAE,IAAI,EAAE,kCAAkC,EAAE,KAAK,EAAC,CAAC,CAAC;AAC7F,CAAC;AAEK,SAAU,aAAa,CAAC,IAAU,EAAA;AACtC,IAAA,OAAO,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,YAAY,CAAC;AAC7C,CAAC;AAEK,SAAU,UAAU,CAAC,IAAU,EAAA;AACnC,IAAA,OAAO,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,SAAS,CAAC;AAC1C,CAAC;AAEK,SAAU,UAAU,CAAC,IAAU,EAAA;IACnC,IAAI,SAAS,IAAI,IAAI,EAAE;QACrB,OAAa,IAAK,CAAC,OAAO,CAAC;AAC5B,KAAA;AAAM,SAAA;AACL,QAAA,OAAO,IAAI,CAAC;AACb,KAAA;AACH,CAAC;AAEK,SAAU,iBAAiB,CAAC,EAAQ,EAAA;IACxC,OAAOA,OAAM,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,KAAK,UAAU,GAAG,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;AACxF,CAAC;AAEe,SAAA,SAAS,CAAC,IAAY,EAAE,KAAa,EAAA;;;AAGnD,IAAA,QAAQ,CAAC,MAAM,GAAG,kBAAkB,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;AAC/E,CAAC;SAEe,QAAQ,CAAC,OAAY,EAAE,SAAiB,EAAE,UAAwB,EAAA;IAChF,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;AAC7C,IAAA,OAAO,UAAU,GAAG,KAAK,IAAI,UAAU,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;AAC7D,CAAC;AAEe,SAAA,QAAQ,CAAC,OAAY,EAAE,SAAiB,EAAA;IACtD,OAAO,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;AAC/C,CAAC;AAEK,SAAU,eAAe,CAAC,OAAY,EAAA;AAC1C,IAAA,OAAO,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AACjE,CAAC;AAEK,SAAU,cAAc,CAAC,IAAS,EAAA;AACtC,IAAA,MAAM,CAAC,GAAGA,OAAM,EAAE,CAAC,kBAAkB,EAAE,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;AAClE,IAAA,CAAC,CAAC,SAAS,GAAG,IAAI,CAAC;AACnB,IAAA,OAAO,CAAC,CAAC;AACX,CAAC;AAEK,SAAU,gBAAgB,CAAC,EAAQ,EAAA;AACvC,IAAA,MAAM,UAAU,GAAG,EAAE,CAAC,UAAU,CAAC;IACjC,MAAM,GAAG,GAAG,EAAE,CAAC;AACf,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QAC1C,GAAG,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;AACxB,KAAA;AACD,IAAA,OAAO,GAAG,CAAC;AACb;;ACnMA,SAAS,gBAAgB,GAAA;IACvBC,kBAAiB,CAAC,WAAW,EAAE,CAAC;IAChC,gBAAgB,CAAC,KAAK,EAAE,CAAC;AAC3B,CAAC;AAED,MAAM,gCAAgC,GAClC,CAAC,EAAC,OAAO,EAAE,oBAAoB,EAAE,QAAQ,EAAE,gBAAgB,EAAE,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;AAE/E;;;;AAIG;AACI,MAAM,sBAAsB,GAC/B,qBAAqB,CAAC,YAAY,EAAE,gBAAgB,EAAE,gCAAgC,EAAE;AAE5F;;;;AAIG;AACH,MAQa,oBAAoB,CAAA;;4HAApB,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAApB,oBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,mBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,YAPrB,aAAa,CAAA,EAAA,CAAA,CAAA;AAOZ,oBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,mBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,EANpB,SAAA,EAAA;AACT,QAAA,EAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAC;QAChCC,6BAA4B,CAAC,YAAY,EAAE,CAAC;AAC5C,QAAA,EAAC,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,oBAAoB,EAAC;AAC5D,KAAA,EAAA,OAAA,EAAA,CALS,aAAa,CAAA,EAAA,CAAA,CAAA;sGAOZ,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBARhC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,OAAO,EAAE,CAAC,aAAa,CAAC;AACxB,oBAAA,SAAS,EAAE;AACT,wBAAA,EAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAC;wBAChCA,6BAA4B,CAAC,YAAY,EAAE,CAAC;AAC5C,wBAAA,EAAC,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,oBAAoB,EAAC;AAC5D,qBAAA;AACF,iBAAA,CAAA;;;AClCD;;;;AAIG;;ACJH;;ACAA;;ACRA;;AAEG;;;;"}
|
package/index.d.ts
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
/**
|
2
|
-
* @license Angular v16.0.0-next.
|
2
|
+
* @license Angular v16.0.0-next.4
|
3
3
|
* (c) 2010-2022 Google LLC. https://angular.io/
|
4
4
|
* License: MIT
|
5
5
|
*/
|
@@ -126,6 +126,8 @@ export declare class BrowserModule {
|
|
126
126
|
* @param params An object containing an identifier for the app to transition.
|
127
127
|
* The ID must match between the client and server versions of the app.
|
128
128
|
* @returns The reconfigured `BrowserModule` to import into the app's root `AppModule`.
|
129
|
+
*
|
130
|
+
* @deprecated Use {@link APP_ID} instead to set the application ID.
|
129
131
|
*/
|
130
132
|
static withServerTransition(params: {
|
131
133
|
appId: string;
|
@@ -750,15 +752,16 @@ export declare class ɵDomRendererFactory2 implements RendererFactory2, OnDestro
|
|
750
752
|
private sharedStylesHost;
|
751
753
|
private appId;
|
752
754
|
private removeStylesOnCompDestory;
|
755
|
+
private nonce?;
|
753
756
|
private rendererByCompId;
|
754
757
|
private defaultRenderer;
|
755
|
-
constructor(eventManager: EventManager, sharedStylesHost:
|
758
|
+
constructor(eventManager: EventManager, sharedStylesHost: ɵSharedStylesHost, appId: string, removeStylesOnCompDestory: boolean, nonce?: string | null | undefined);
|
756
759
|
createRenderer(element: any, type: RendererType2 | null): Renderer2;
|
757
760
|
private getOrCreateRenderer;
|
758
761
|
ngOnDestroy(): void;
|
759
762
|
begin(): void;
|
760
763
|
end(): void;
|
761
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<ɵDomRendererFactory2,
|
764
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ɵDomRendererFactory2, [null, null, null, null, { optional: true; }]>;
|
762
765
|
static ɵprov: i0.ɵɵInjectableDeclaration<ɵDomRendererFactory2>;
|
763
766
|
}
|
764
767
|
|
@@ -775,22 +778,6 @@ export declare class ɵDomSanitizerImpl extends DomSanitizer {
|
|
775
778
|
static ɵprov: i0.ɵɵInjectableDeclaration<ɵDomSanitizerImpl>;
|
776
779
|
}
|
777
780
|
|
778
|
-
export declare class ɵDomSharedStylesHost extends ɵSharedStylesHost implements OnDestroy {
|
779
|
-
private readonly doc;
|
780
|
-
private readonly styleRef;
|
781
|
-
private hostNodes;
|
782
|
-
constructor(doc: any);
|
783
|
-
onStyleAdded(style: string): void;
|
784
|
-
onStyleRemoved(style: string): void;
|
785
|
-
ngOnDestroy(): void;
|
786
|
-
addHost(hostNode: Node): void;
|
787
|
-
removeHost(hostNode: Node): void;
|
788
|
-
private addStyleToHost;
|
789
|
-
private resetHostNodes;
|
790
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<ɵDomSharedStylesHost, never>;
|
791
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<ɵDomSharedStylesHost>;
|
792
|
-
}
|
793
|
-
|
794
781
|
export { ɵgetDOM }
|
795
782
|
|
796
783
|
/**
|
@@ -881,15 +868,29 @@ export declare const ɵNAMESPACE_URIS: {
|
|
881
868
|
};
|
882
869
|
|
883
870
|
export declare class ɵSharedStylesHost implements OnDestroy {
|
884
|
-
private readonly
|
871
|
+
private readonly doc;
|
872
|
+
private readonly appId;
|
873
|
+
private nonce?;
|
874
|
+
readonly platformId: object;
|
875
|
+
private readonly styleRef;
|
876
|
+
private readonly hostNodes;
|
877
|
+
private readonly styleNodesInDOM;
|
878
|
+
private readonly platformIsServer;
|
879
|
+
constructor(doc: Document, appId: string, nonce?: string | null | undefined, platformId?: object);
|
885
880
|
addStyles(styles: string[]): void;
|
886
881
|
removeStyles(styles: string[]): void;
|
887
|
-
onStyleRemoved(style: string): void;
|
888
|
-
onStyleAdded(style: string): void;
|
889
|
-
getAllStyles(): IterableIterator<string>;
|
890
|
-
private changeUsageCount;
|
891
882
|
ngOnDestroy(): void;
|
892
|
-
|
883
|
+
addHost(hostNode: Node): void;
|
884
|
+
removeHost(hostNode: Node): void;
|
885
|
+
private getAllStyles;
|
886
|
+
private onStyleAdded;
|
887
|
+
private onStyleRemoved;
|
888
|
+
private collectServerRenderedStyles;
|
889
|
+
private changeUsageCount;
|
890
|
+
private getStyleElement;
|
891
|
+
private addStyleToHost;
|
892
|
+
private resetHostNodes;
|
893
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ɵSharedStylesHost, [null, null, { optional: true; }, null]>;
|
893
894
|
static ɵprov: i0.ɵɵInjectableDeclaration<ɵSharedStylesHost>;
|
894
895
|
}
|
895
896
|
|
@@ -899,10 +900,4 @@ export declare function ɵshimHostAttribute(componentShortId: string): string;
|
|
899
900
|
|
900
901
|
export declare function ɵshimStyles(compId: string, styles: string[]): string[];
|
901
902
|
|
902
|
-
/**
|
903
|
-
* An id that identifies a particular application being bootstrapped, that should
|
904
|
-
* match across the client/server boundary.
|
905
|
-
*/
|
906
|
-
export declare const ɵTRANSITION_ID: InjectionToken<unknown>;
|
907
|
-
|
908
903
|
export { }
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@angular/platform-browser",
|
3
|
-
"version": "16.0.0-next.
|
3
|
+
"version": "16.0.0-next.4",
|
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.
|
15
|
-
"@angular/core": "16.0.0-next.
|
16
|
-
"@angular/common": "16.0.0-next.
|
14
|
+
"@angular/animations": "16.0.0-next.4",
|
15
|
+
"@angular/core": "16.0.0-next.4",
|
16
|
+
"@angular/common": "16.0.0-next.4"
|
17
17
|
},
|
18
18
|
"peerDependenciesMeta": {
|
19
19
|
"@angular/animations": {
|
package/testing/index.d.ts
CHANGED
@@ -1,36 +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 { DOCUMENT, ɵgetDOM as getDOM } from '@angular/common';
|
9
|
-
import { APP_INITIALIZER, ApplicationInitStatus, InjectionToken, Injector } from '@angular/core';
|
10
|
-
/**
|
11
|
-
* An id that identifies a particular application being bootstrapped, that should
|
12
|
-
* match across the client/server boundary.
|
13
|
-
*/
|
14
|
-
export const TRANSITION_ID = new InjectionToken('TRANSITION_ID');
|
15
|
-
export function appInitializerFactory(transitionId, document, injector) {
|
16
|
-
return () => {
|
17
|
-
// Wait for all application initializers to be completed before removing the styles set by
|
18
|
-
// the server.
|
19
|
-
injector.get(ApplicationInitStatus).donePromise.then(() => {
|
20
|
-
const dom = getDOM();
|
21
|
-
const styles = document.querySelectorAll(`style[ng-transition="${transitionId}"]`);
|
22
|
-
for (let i = 0; i < styles.length; i++) {
|
23
|
-
dom.remove(styles[i]);
|
24
|
-
}
|
25
|
-
});
|
26
|
-
};
|
27
|
-
}
|
28
|
-
export const SERVER_TRANSITION_PROVIDERS = [
|
29
|
-
{
|
30
|
-
provide: APP_INITIALIZER,
|
31
|
-
useFactory: appInitializerFactory,
|
32
|
-
deps: [TRANSITION_ID, DOCUMENT, Injector],
|
33
|
-
multi: true
|
34
|
-
},
|
35
|
-
];
|
36
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmVyLXRyYW5zaXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wbGF0Zm9ybS1icm93c2VyL3NyYy9icm93c2VyL3NlcnZlci10cmFuc2l0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUVILE9BQU8sRUFBQyxRQUFRLEVBQUUsT0FBTyxJQUFJLE1BQU0sRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzVELE9BQU8sRUFBQyxlQUFlLEVBQUUscUJBQXFCLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFFL0c7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLElBQUksY0FBYyxDQUFDLGVBQWUsQ0FBQyxDQUFDO0FBRWpFLE1BQU0sVUFBVSxxQkFBcUIsQ0FBQyxZQUFvQixFQUFFLFFBQWEsRUFBRSxRQUFrQjtJQUMzRixPQUFPLEdBQUcsRUFBRTtRQUNWLDBGQUEwRjtRQUMxRixjQUFjO1FBQ2QsUUFBUSxDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO1lBQ3hELE1BQU0sR0FBRyxHQUFHLE1BQU0sRUFBRSxDQUFDO1lBQ3JCLE1BQU0sTUFBTSxHQUNSLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyx3QkFBd0IsWUFBWSxJQUFJLENBQUMsQ0FBQztZQUN4RSxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtnQkFDdEMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUN2QjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLDJCQUEyQixHQUFxQjtJQUMzRDtRQUNFLE9BQU8sRUFBRSxlQUFlO1FBQ3hCLFVBQVUsRUFBRSxxQkFBcUI7UUFDakMsSUFBSSxFQUFFLENBQUMsYUFBYSxFQUFFLFFBQVEsRUFBRSxRQUFRLENBQUM7UUFDekMsS0FBSyxFQUFFLElBQUk7S0FDWjtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0IHtET0NVTUVOVCwgybVnZXRET00gYXMgZ2V0RE9NfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtBUFBfSU5JVElBTElaRVIsIEFwcGxpY2F0aW9uSW5pdFN0YXR1cywgSW5qZWN0aW9uVG9rZW4sIEluamVjdG9yLCBTdGF0aWNQcm92aWRlcn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICogQW4gaWQgdGhhdCBpZGVudGlmaWVzIGEgcGFydGljdWxhciBhcHBsaWNhdGlvbiBiZWluZyBib290c3RyYXBwZWQsIHRoYXQgc2hvdWxkXG4gKiBtYXRjaCBhY3Jvc3MgdGhlIGNsaWVudC9zZXJ2ZXIgYm91bmRhcnkuXG4gKi9cbmV4cG9ydCBjb25zdCBUUkFOU0lUSU9OX0lEID0gbmV3IEluamVjdGlvblRva2VuKCdUUkFOU0lUSU9OX0lEJyk7XG5cbmV4cG9ydCBmdW5jdGlvbiBhcHBJbml0aWFsaXplckZhY3RvcnkodHJhbnNpdGlvbklkOiBzdHJpbmcsIGRvY3VtZW50OiBhbnksIGluamVjdG9yOiBJbmplY3Rvcikge1xuICByZXR1cm4gKCkgPT4ge1xuICAgIC8vIFdhaXQgZm9yIGFsbCBhcHBsaWNhdGlvbiBpbml0aWFsaXplcnMgdG8gYmUgY29tcGxldGVkIGJlZm9yZSByZW1vdmluZyB0aGUgc3R5bGVzIHNldCBieVxuICAgIC8vIHRoZSBzZXJ2ZXIuXG4gICAgaW5qZWN0b3IuZ2V0KEFwcGxpY2F0aW9uSW5pdFN0YXR1cykuZG9uZVByb21pc2UudGhlbigoKSA9PiB7XG4gICAgICBjb25zdCBkb20gPSBnZXRET00oKTtcbiAgICAgIGNvbnN0IHN0eWxlczogSFRNTENvbGxlY3Rpb25PZjxIVE1MU3R5bGVFbGVtZW50PiA9XG4gICAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChgc3R5bGVbbmctdHJhbnNpdGlvbj1cIiR7dHJhbnNpdGlvbklkfVwiXWApO1xuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBzdHlsZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgZG9tLnJlbW92ZShzdHlsZXNbaV0pO1xuICAgICAgfVxuICAgIH0pO1xuICB9O1xufVxuXG5leHBvcnQgY29uc3QgU0VSVkVSX1RSQU5TSVRJT05fUFJPVklERVJTOiBTdGF0aWNQcm92aWRlcltdID0gW1xuICB7XG4gICAgcHJvdmlkZTogQVBQX0lOSVRJQUxJWkVSLFxuICAgIHVzZUZhY3Rvcnk6IGFwcEluaXRpYWxpemVyRmFjdG9yeSxcbiAgICBkZXBzOiBbVFJBTlNJVElPTl9JRCwgRE9DVU1FTlQsIEluamVjdG9yXSxcbiAgICBtdWx0aTogdHJ1ZVxuICB9LFxuXTtcbiJdfQ==
|