@angular/platform-browser
Advanced tools
| /** | ||
| * @license Angular v22.0.0-next.5 | ||
| * @license Angular v22.0.0-next.6 | ||
| * (c) 2010-2026 Google LLC. https://angular.dev/ | ||
@@ -132,3 +132,3 @@ * License: MIT | ||
| minVersion: "12.0.0", | ||
| version: "22.0.0-next.5", | ||
| version: "22.0.0-next.6", | ||
| ngImport: i0, | ||
@@ -141,3 +141,3 @@ type: BrowserXhr, | ||
| minVersion: "12.0.0", | ||
| version: "22.0.0-next.5", | ||
| version: "22.0.0-next.6", | ||
| ngImport: i0, | ||
@@ -149,3 +149,3 @@ type: BrowserXhr | ||
| minVersion: "12.0.0", | ||
| version: "22.0.0-next.5", | ||
| version: "22.0.0-next.6", | ||
| ngImport: i0, | ||
@@ -260,3 +260,3 @@ type: BrowserXhr, | ||
| minVersion: "12.0.0", | ||
| version: "22.0.0-next.5", | ||
| version: "22.0.0-next.6", | ||
| ngImport: i0, | ||
@@ -271,3 +271,3 @@ type: KeyEventsPlugin, | ||
| minVersion: "12.0.0", | ||
| version: "22.0.0-next.5", | ||
| version: "22.0.0-next.6", | ||
| ngImport: i0, | ||
@@ -279,3 +279,3 @@ type: KeyEventsPlugin | ||
| minVersion: "12.0.0", | ||
| version: "22.0.0-next.5", | ||
| version: "22.0.0-next.6", | ||
| ngImport: i0, | ||
@@ -399,3 +399,3 @@ type: KeyEventsPlugin, | ||
| minVersion: "12.0.0", | ||
| version: "22.0.0-next.5", | ||
| version: "22.0.0-next.6", | ||
| ngImport: i0, | ||
@@ -408,3 +408,3 @@ type: BrowserModule, | ||
| minVersion: "14.0.0", | ||
| version: "22.0.0-next.5", | ||
| version: "22.0.0-next.6", | ||
| ngImport: i0, | ||
@@ -416,3 +416,3 @@ type: BrowserModule, | ||
| minVersion: "12.0.0", | ||
| version: "22.0.0-next.5", | ||
| version: "22.0.0-next.6", | ||
| ngImport: i0, | ||
@@ -426,3 +426,3 @@ type: BrowserModule, | ||
| minVersion: "12.0.0", | ||
| version: "22.0.0-next.5", | ||
| version: "22.0.0-next.6", | ||
| ngImport: i0, | ||
@@ -429,0 +429,0 @@ type: BrowserModule, |
| /** | ||
| * @license Angular v22.0.0-next.5 | ||
| * @license Angular v22.0.0-next.6 | ||
| * (c) 2010-2026 Google LLC. https://angular.dev/ | ||
@@ -35,3 +35,3 @@ * License: MIT | ||
| minVersion: "12.0.0", | ||
| version: "22.0.0-next.5", | ||
| version: "22.0.0-next.6", | ||
| ngImport: i0, | ||
@@ -46,3 +46,3 @@ type: DomEventsPlugin, | ||
| minVersion: "12.0.0", | ||
| version: "22.0.0-next.5", | ||
| version: "22.0.0-next.6", | ||
| ngImport: i0, | ||
@@ -54,3 +54,3 @@ type: DomEventsPlugin | ||
| minVersion: "12.0.0", | ||
| version: "22.0.0-next.5", | ||
| version: "22.0.0-next.6", | ||
| ngImport: i0, | ||
@@ -109,3 +109,3 @@ type: DomEventsPlugin, | ||
| minVersion: "12.0.0", | ||
| version: "22.0.0-next.5", | ||
| version: "22.0.0-next.6", | ||
| ngImport: i0, | ||
@@ -122,3 +122,3 @@ type: EventManager, | ||
| minVersion: "12.0.0", | ||
| version: "22.0.0-next.5", | ||
| version: "22.0.0-next.6", | ||
| ngImport: i0, | ||
@@ -130,3 +130,3 @@ type: EventManager | ||
| minVersion: "12.0.0", | ||
| version: "22.0.0-next.5", | ||
| version: "22.0.0-next.6", | ||
| ngImport: i0, | ||
@@ -269,3 +269,3 @@ type: EventManager, | ||
| minVersion: "12.0.0", | ||
| version: "22.0.0-next.5", | ||
| version: "22.0.0-next.6", | ||
| ngImport: i0, | ||
@@ -287,3 +287,3 @@ type: SharedStylesHost, | ||
| minVersion: "12.0.0", | ||
| version: "22.0.0-next.5", | ||
| version: "22.0.0-next.6", | ||
| ngImport: i0, | ||
@@ -295,3 +295,3 @@ type: SharedStylesHost | ||
| minVersion: "12.0.0", | ||
| version: "22.0.0-next.5", | ||
| version: "22.0.0-next.6", | ||
| ngImport: i0, | ||
@@ -452,3 +452,3 @@ type: SharedStylesHost, | ||
| minVersion: "12.0.0", | ||
| version: "22.0.0-next.5", | ||
| version: "22.0.0-next.6", | ||
| ngImport: i0, | ||
@@ -478,3 +478,3 @@ type: DomRendererFactory2, | ||
| minVersion: "12.0.0", | ||
| version: "22.0.0-next.5", | ||
| version: "22.0.0-next.6", | ||
| ngImport: i0, | ||
@@ -486,3 +486,3 @@ type: DomRendererFactory2 | ||
| minVersion: "12.0.0", | ||
| version: "22.0.0-next.5", | ||
| version: "22.0.0-next.6", | ||
| ngImport: i0, | ||
@@ -489,0 +489,0 @@ type: DomRendererFactory2, |
| /** | ||
| * @license Angular v22.0.0-next.5 | ||
| * @license Angular v22.0.0-next.6 | ||
| * (c) 2010-2026 Google LLC. https://angular.dev/ | ||
@@ -95,3 +95,3 @@ * License: MIT | ||
| minVersion: "12.0.0", | ||
| version: "22.0.0-next.5", | ||
| version: "22.0.0-next.6", | ||
| ngImport: i0, | ||
@@ -104,3 +104,3 @@ type: AsyncAnimationRendererFactory, | ||
| minVersion: "12.0.0", | ||
| version: "22.0.0-next.5", | ||
| version: "22.0.0-next.6", | ||
| ngImport: i0, | ||
@@ -112,3 +112,3 @@ type: AsyncAnimationRendererFactory | ||
| minVersion: "12.0.0", | ||
| version: "22.0.0-next.5", | ||
| version: "22.0.0-next.6", | ||
| ngImport: i0, | ||
@@ -115,0 +115,0 @@ type: AsyncAnimationRendererFactory, |
+12
-12
| /** | ||
| * @license Angular v22.0.0-next.5 | ||
| * @license Angular v22.0.0-next.6 | ||
| * (c) 2010-2026 Google LLC. https://angular.dev/ | ||
@@ -25,3 +25,3 @@ * License: MIT | ||
| minVersion: "12.0.0", | ||
| version: "22.0.0-next.5", | ||
| version: "22.0.0-next.6", | ||
| ngImport: i0, | ||
@@ -40,3 +40,3 @@ type: InjectableAnimationEngine, | ||
| minVersion: "12.0.0", | ||
| version: "22.0.0-next.5", | ||
| version: "22.0.0-next.6", | ||
| ngImport: i0, | ||
@@ -48,3 +48,3 @@ type: InjectableAnimationEngine | ||
| minVersion: "12.0.0", | ||
| version: "22.0.0-next.5", | ||
| version: "22.0.0-next.6", | ||
| ngImport: i0, | ||
@@ -107,3 +107,3 @@ type: InjectableAnimationEngine, | ||
| minVersion: "12.0.0", | ||
| version: "22.0.0-next.5", | ||
| version: "22.0.0-next.6", | ||
| ngImport: i0, | ||
@@ -116,3 +116,3 @@ type: BrowserAnimationsModule, | ||
| minVersion: "14.0.0", | ||
| version: "22.0.0-next.5", | ||
| version: "22.0.0-next.6", | ||
| ngImport: i0, | ||
@@ -124,3 +124,3 @@ type: BrowserAnimationsModule, | ||
| minVersion: "12.0.0", | ||
| version: "22.0.0-next.5", | ||
| version: "22.0.0-next.6", | ||
| ngImport: i0, | ||
@@ -134,3 +134,3 @@ type: BrowserAnimationsModule, | ||
| minVersion: "12.0.0", | ||
| version: "22.0.0-next.5", | ||
| version: "22.0.0-next.6", | ||
| ngImport: i0, | ||
@@ -153,3 +153,3 @@ type: BrowserAnimationsModule, | ||
| minVersion: "12.0.0", | ||
| version: "22.0.0-next.5", | ||
| version: "22.0.0-next.6", | ||
| ngImport: i0, | ||
@@ -162,3 +162,3 @@ type: NoopAnimationsModule, | ||
| minVersion: "14.0.0", | ||
| version: "22.0.0-next.5", | ||
| version: "22.0.0-next.6", | ||
| ngImport: i0, | ||
@@ -170,3 +170,3 @@ type: NoopAnimationsModule, | ||
| minVersion: "12.0.0", | ||
| version: "22.0.0-next.5", | ||
| version: "22.0.0-next.6", | ||
| ngImport: i0, | ||
@@ -180,3 +180,3 @@ type: NoopAnimationsModule, | ||
| minVersion: "12.0.0", | ||
| version: "22.0.0-next.5", | ||
| version: "22.0.0-next.6", | ||
| ngImport: i0, | ||
@@ -183,0 +183,0 @@ type: NoopAnimationsModule, |
| /** | ||
| * @license Angular v22.0.0-next.5 | ||
| * @license Angular v22.0.0-next.6 | ||
| * (c) 2010-2026 Google LLC. https://angular.dev/ | ||
@@ -89,3 +89,3 @@ * License: MIT | ||
| minVersion: "12.0.0", | ||
| version: "22.0.0-next.5", | ||
| version: "22.0.0-next.6", | ||
| ngImport: i0, | ||
@@ -100,3 +100,3 @@ type: Meta, | ||
| minVersion: "12.0.0", | ||
| version: "22.0.0-next.5", | ||
| version: "22.0.0-next.6", | ||
| ngImport: i0, | ||
@@ -109,3 +109,3 @@ type: Meta, | ||
| minVersion: "12.0.0", | ||
| version: "22.0.0-next.5", | ||
| version: "22.0.0-next.6", | ||
| ngImport: i0, | ||
@@ -144,3 +144,3 @@ type: Meta, | ||
| minVersion: "12.0.0", | ||
| version: "22.0.0-next.5", | ||
| version: "22.0.0-next.6", | ||
| ngImport: i0, | ||
@@ -155,3 +155,3 @@ type: Title, | ||
| minVersion: "12.0.0", | ||
| version: "22.0.0-next.5", | ||
| version: "22.0.0-next.6", | ||
| ngImport: i0, | ||
@@ -164,3 +164,3 @@ type: Title, | ||
| minVersion: "12.0.0", | ||
| version: "22.0.0-next.5", | ||
| version: "22.0.0-next.6", | ||
| ngImport: i0, | ||
@@ -322,3 +322,3 @@ type: Title, | ||
| minVersion: "12.0.0", | ||
| version: "22.0.0-next.5", | ||
| version: "22.0.0-next.6", | ||
| ngImport: i0, | ||
@@ -331,3 +331,3 @@ type: DomSanitizer, | ||
| minVersion: "12.0.0", | ||
| version: "22.0.0-next.5", | ||
| version: "22.0.0-next.6", | ||
| ngImport: i0, | ||
@@ -341,3 +341,3 @@ type: DomSanitizer, | ||
| minVersion: "12.0.0", | ||
| version: "22.0.0-next.5", | ||
| version: "22.0.0-next.6", | ||
| ngImport: i0, | ||
@@ -410,3 +410,3 @@ type: DomSanitizer, | ||
| minVersion: "12.0.0", | ||
| version: "22.0.0-next.5", | ||
| version: "22.0.0-next.6", | ||
| ngImport: i0, | ||
@@ -421,3 +421,3 @@ type: DomSanitizerImpl, | ||
| minVersion: "12.0.0", | ||
| version: "22.0.0-next.5", | ||
| version: "22.0.0-next.6", | ||
| ngImport: i0, | ||
@@ -430,3 +430,3 @@ type: DomSanitizerImpl, | ||
| minVersion: "12.0.0", | ||
| version: "22.0.0-next.5", | ||
| version: "22.0.0-next.6", | ||
| ngImport: i0, | ||
@@ -449,5 +449,5 @@ type: DomSanitizerImpl, | ||
| const VERSION = /* @__PURE__ */new Version('22.0.0-next.5'); | ||
| const VERSION = /* @__PURE__ */new Version('22.0.0-next.6'); | ||
| export { By, DomSanitizer, HydrationFeatureKind, Meta, Title, VERSION, disableDebugTools, enableDebugTools, provideClientHydration, withEventReplay, withHttpTransferCacheOptions, withI18nSupport, withIncrementalHydration, withNoHttpTransferCache, DomSanitizerImpl as ɵDomSanitizerImpl }; | ||
| //# sourceMappingURL=platform-browser.mjs.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"platform-browser.mjs","sources":["../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/packages/platform-browser/src/browser/meta.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/packages/platform-browser/src/browser/title.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/packages/platform-browser/src/dom/util.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/packages/platform-browser/src/browser/tools/common_tools.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/packages/platform-browser/src/browser/tools/tools.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/packages/platform-browser/src/dom/debug/by.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/packages/platform-browser/src/hydration.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/packages/platform-browser/src/security/dom_sanitization_service.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/packages/platform-browser/src/version.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.dev/license\n */\n\nimport {DOCUMENT, ɵDomAdapter as DomAdapter, ɵgetDOM as getDOM} from '@angular/common';\nimport {Inject, Injectable} from '@angular/core';\n\n/**\n * Represents the attributes of an HTML `<meta>` element. The element itself is\n * represented by the internal `HTMLMetaElement`.\n *\n * @see [HTML meta tag](https://developer.mozilla.org/docs/Web/HTML/Element/meta)\n * @see {@link Meta}\n *\n * @publicApi\n */\nexport type MetaDefinition = {\n charset?: string;\n content?: string;\n httpEquiv?: string;\n id?: string;\n itemprop?: string;\n name?: string;\n property?: string;\n scheme?: string;\n url?: string;\n} & {\n // TODO(IgorMinar): this type looks wrong\n [prop: string]: string;\n};\n\n/**\n * A service for managing HTML `<meta>` tags.\n *\n * Properties of the `MetaDefinition` object match the attributes of the\n * HTML `<meta>` tag. These tags define document metadata that is important for\n * things like configuring a Content Security Policy, defining browser compatibility\n * and security settings, setting HTTP Headers, defining rich content for social sharing,\n * and Search Engine Optimization (SEO).\n *\n * To identify specific `<meta>` tags in a document, use an attribute selection\n * string in the format `\"tag_attribute='value string'\"`.\n * For example, an `attrSelector` value of `\"name='description'\"` matches a tag\n * whose `name` attribute has the value `\"description\"`.\n * Selectors are used with the `querySelector()` Document method,\n * in the format `meta[{attrSelector}]`.\n *\n * @see [HTML meta tag](https://developer.mozilla.org/docs/Web/HTML/Element/meta)\n * @see [Document.querySelector()](https://developer.mozilla.org/docs/Web/API/Document/querySelector)\n *\n *\n * @publicApi\n */\n@Injectable({providedIn: 'root'})\nexport class Meta {\n private _dom: DomAdapter;\n constructor(@Inject(DOCUMENT) private _doc: any) {\n this._dom = getDOM();\n }\n /**\n * Retrieves or creates a specific `<meta>` tag element in the current HTML document.\n * In searching for an existing tag, Angular attempts to match the `name` or `property` attribute\n * values in the provided tag definition, and verifies that all other attribute values are equal.\n * If an existing element is found, it is returned and is not modified in any way.\n * @param tag The definition of a `<meta>` element to match or create.\n * @param forceCreation True to create a new element without checking whether one already exists.\n * @returns The existing element with the same attributes and values if found,\n * the new element if no match is found, or `null` if the tag parameter is not defined.\n */\n addTag(tag: MetaDefinition, forceCreation: boolean = false): HTMLMetaElement | null {\n if (!tag) return null;\n return this._getOrCreateElement(tag, forceCreation);\n }\n\n /**\n * Retrieves or creates a set of `<meta>` tag elements in the current HTML document.\n * In searching for an existing tag, Angular attempts to match the `name` or `property` attribute\n * values in the provided tag definition, and verifies that all other attribute values are equal.\n * @param tags An array of tag definitions to match or create.\n * @param forceCreation True to create new elements without checking whether they already exist.\n * @returns The matching elements if found, or the new elements.\n */\n addTags(tags: MetaDefinition[], forceCreation: boolean = false): HTMLMetaElement[] {\n if (!tags) return [];\n return tags.reduce((result: HTMLMetaElement[], tag: MetaDefinition) => {\n if (tag) {\n result.push(this._getOrCreateElement(tag, forceCreation));\n }\n return result;\n }, []);\n }\n\n /**\n * Retrieves a `<meta>` tag element in the current HTML document.\n * @param attrSelector The tag attribute and value to match against, in the format\n * `\"tag_attribute='value string'\"`.\n * @returns The matching element, if any.\n */\n getTag(attrSelector: string): HTMLMetaElement | null {\n if (!attrSelector) return null;\n return this._doc.querySelector(`meta[${attrSelector}]`) || null;\n }\n\n /**\n * Retrieves a set of `<meta>` tag elements in the current HTML document.\n * @param attrSelector The tag attribute and value to match against, in the format\n * `\"tag_attribute='value string'\"`.\n * @returns The matching elements, if any.\n */\n getTags(attrSelector: string): HTMLMetaElement[] {\n if (!attrSelector) return [];\n const list /*NodeList*/ = this._doc.querySelectorAll(`meta[${attrSelector}]`);\n return list ? [].slice.call(list) : [];\n }\n\n /**\n * Modifies an existing `<meta>` tag element in the current HTML document.\n * @param tag The tag description with which to replace the existing tag content.\n * @param selector A tag attribute and value to match against, to identify\n * an existing tag. A string in the format `\"tag_attribute=`value string`\"`.\n * If not supplied, matches a tag with the same `name` or `property` attribute value as the\n * replacement tag.\n * @return The modified element.\n */\n updateTag(tag: MetaDefinition, selector?: string): HTMLMetaElement | null {\n if (!tag) return null;\n selector = selector || this._parseSelector(tag);\n const meta: HTMLMetaElement = this.getTag(selector)!;\n if (meta) {\n return this._setMetaElementAttributes(tag, meta);\n }\n return this._getOrCreateElement(tag, true);\n }\n\n /**\n * Removes an existing `<meta>` tag element from the current HTML document.\n * @param attrSelector A tag attribute and value to match against, to identify\n * an existing tag. A string in the format `\"tag_attribute=`value string`\"`.\n */\n removeTag(attrSelector: string): void {\n this.removeTagElement(this.getTag(attrSelector)!);\n }\n\n /**\n * Removes an existing `<meta>` tag element from the current HTML document.\n * @param meta The tag definition to match against to identify an existing tag.\n */\n removeTagElement(meta: HTMLMetaElement): void {\n if (meta) {\n this._dom.remove(meta);\n }\n }\n\n private _getOrCreateElement(\n meta: MetaDefinition,\n forceCreation: boolean = false,\n ): HTMLMetaElement {\n if (!forceCreation) {\n const selector: string = this._parseSelector(meta);\n // It's allowed to have multiple elements with the same name so it's not enough to\n // just check that element with the same name already present on the page. We also need to\n // check if element has tag attributes\n const elem = this.getTags(selector).filter((elem) => this._containsAttributes(meta, elem))[0];\n if (elem !== undefined) return elem;\n }\n const element: HTMLMetaElement = this._dom.createElement('meta') as HTMLMetaElement;\n this._setMetaElementAttributes(meta, element);\n const head = this._doc.getElementsByTagName('head')[0];\n head.appendChild(element);\n return element;\n }\n\n private _setMetaElementAttributes(tag: MetaDefinition, el: HTMLMetaElement): HTMLMetaElement {\n Object.keys(tag).forEach((prop: string) =>\n el.setAttribute(this._getMetaKeyMap(prop), tag[prop]),\n );\n return el;\n }\n\n private _parseSelector(tag: MetaDefinition): string {\n const attr: string = tag.name ? 'name' : 'property';\n return `${attr}=\"${tag[attr]}\"`;\n }\n\n private _containsAttributes(tag: MetaDefinition, elem: HTMLMetaElement): boolean {\n return Object.keys(tag).every(\n (key: string) => elem.getAttribute(this._getMetaKeyMap(key)) === tag[key],\n );\n }\n\n private _getMetaKeyMap(prop: string): string {\n return META_KEYS_MAP[prop] || prop;\n }\n}\n\n/**\n * Mapping for MetaDefinition properties with their correct meta attribute names\n */\nconst META_KEYS_MAP: {[prop: string]: string} = {\n httpEquiv: 'http-equiv',\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.dev/license\n */\n\nimport {DOCUMENT} from '@angular/common';\nimport {Inject, Injectable} from '@angular/core';\n\n/**\n * A service that can be used to get and set the title of a current HTML document.\n *\n * Since an Angular application can't be bootstrapped on the entire HTML document (`<html>` tag)\n * it is not possible to bind to the `text` property of the `HTMLTitleElement` elements\n * (representing the `<title>` tag). Instead, this service can be used to set and get the current\n * title value.\n *\n * @publicApi\n */\n@Injectable({providedIn: 'root'})\nexport class Title {\n constructor(@Inject(DOCUMENT) private _doc: any) {}\n /**\n * Get the title of the current HTML document.\n */\n getTitle(): string {\n return this._doc.title;\n }\n\n /**\n * Set the title of the current HTML document.\n * @param newTitle\n */\n setTitle(newTitle: string) {\n this._doc.title = newTitle || '';\n }\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.dev/license\n */\n\n/// <reference path=\"../../../goog.d.ts\" />\n\nimport {ɵglobal as global} from '@angular/core';\n\n/**\n * Exports the value under a given `name` in the global property `ng`. For example `ng.probe` if\n * `name` is `'probe'`.\n * @param name Name under which it will be exported. Keep in mind this will be a property of the\n * global `ng` object.\n * @param value The value to export.\n */\nexport function exportNgVar(name: string, value: any): void {\n if (typeof COMPILED === 'undefined' || !COMPILED) {\n // Note: we can't export `ng` when using closure enhanced optimization as:\n // - closure declares globals itself for minified names, which sometimes clobber our `ng` global\n // - we can't declare a closure extern as the namespace `ng` is already used within Google\n // for typings for angularJS (via `goog.provide('ng....')`).\n const ng = (global['ng'] = (global['ng'] as {[key: string]: any} | undefined) || {});\n ng[name] = value;\n }\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.dev/license\n */\n\nimport {ApplicationRef, ComponentRef} from '@angular/core';\n\nexport class ChangeDetectionPerfRecord {\n constructor(\n public msPerTick: number,\n public numTicks: number,\n ) {}\n}\n\n/**\n * Entry point for all Angular profiling-related debug tools. This object\n * corresponds to the `ng.profiler` in the dev console.\n */\nexport class AngularProfiler {\n appRef: ApplicationRef;\n\n constructor(ref: ComponentRef<any>) {\n this.appRef = ref.injector.get(ApplicationRef);\n }\n\n // tslint:disable:no-console\n /**\n * Exercises change detection in a loop and then prints the average amount of\n * time in milliseconds how long a single round of change detection takes for\n * the current state of the UI. It runs a minimum of 5 rounds for a minimum\n * of 500 milliseconds.\n *\n * Optionally, a user may pass a `config` parameter containing a map of\n * options. Supported options are:\n *\n * `record` (boolean) - causes the profiler to record a CPU profile while\n * it exercises the change detector. Example:\n *\n * ```ts\n * ng.profiler.timeChangeDetection({record: true})\n * ```\n */\n timeChangeDetection(config: any): ChangeDetectionPerfRecord {\n const record = config && config['record'];\n const profileName = 'Change Detection';\n // Profiler is not available in Android browsers without dev tools opened\n if (record && 'profile' in console && typeof console.profile === 'function') {\n console.profile(profileName);\n }\n const start = performance.now();\n let numTicks = 0;\n while (numTicks < 5 || performance.now() - start < 500) {\n this.appRef.tick();\n numTicks++;\n }\n const end = performance.now();\n if (record && 'profileEnd' in console && typeof console.profileEnd === 'function') {\n console.profileEnd(profileName);\n }\n const msPerTick = (end - start) / numTicks;\n console.log(`ran ${numTicks} change detection cycles`);\n console.log(`${msPerTick.toFixed(2)} ms per check`);\n\n return new ChangeDetectionPerfRecord(msPerTick, numTicks);\n }\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.dev/license\n */\n\nimport {ComponentRef} from '@angular/core';\n\nimport {exportNgVar} from '../../dom/util';\n\nimport {AngularProfiler} from './common_tools';\n\nconst PROFILER_GLOBAL_NAME = 'profiler';\n\n/**\n * Enabled Angular debug tools that are accessible via your browser's\n * developer console.\n *\n * Usage:\n *\n * 1. Open developer console (e.g. in Chrome Ctrl + Shift + j)\n * 1. Type `ng.` (usually the console will show auto-complete suggestion)\n * 1. Try the change detection profiler `ng.profiler.timeChangeDetection()`\n * then hit Enter.\n *\n * @publicApi\n */\nexport function enableDebugTools<T>(ref: ComponentRef<T>): ComponentRef<T> {\n exportNgVar(PROFILER_GLOBAL_NAME, new AngularProfiler(ref));\n return ref;\n}\n\n/**\n * Disables Angular tools.\n *\n * @publicApi\n */\nexport function disableDebugTools(): void {\n exportNgVar(PROFILER_GLOBAL_NAME, null);\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.dev/license\n */\n\nimport {ɵgetDOM as getDOM} from '@angular/common';\nimport {DebugElement, DebugNode, Predicate, Type} from '@angular/core';\n\n/**\n * Predicates for use with {@link DebugElement}'s query functions.\n *\n * @publicApi\n */\nexport class By {\n /**\n * Match all nodes.\n *\n * @usageNotes\n * ### Example\n *\n * {@example platform-browser/dom/debug/ts/by/by.ts region='by_all'}\n */\n static all(): Predicate<DebugNode> {\n return () => true;\n }\n\n /**\n * Match elements by the given CSS selector.\n *\n * @usageNotes\n * ### Example\n *\n * {@example platform-browser/dom/debug/ts/by/by.ts region='by_css'}\n */\n static css(selector: string): Predicate<DebugElement> {\n return (debugElement) => {\n return debugElement.nativeElement != null\n ? elementMatches(debugElement.nativeElement, selector)\n : false;\n };\n }\n\n /**\n * Match nodes that have the given directive present.\n *\n * @usageNotes\n * ### Example\n *\n * {@example platform-browser/dom/debug/ts/by/by.ts region='by_directive'}\n */\n static directive(type: Type<any>): Predicate<DebugNode> {\n return (debugNode) => debugNode.providerTokens!.indexOf(type) !== -1;\n }\n}\n\nfunction elementMatches(n: any, selector: string): boolean {\n if (getDOM().isElementNode(n)) {\n return (\n (n.matches && n.matches(selector)) ||\n (n.msMatchesSelector && n.msMatchesSelector(selector)) ||\n (n.webkitMatchesSelector && n.webkitMatchesSelector(selector))\n );\n }\n\n return false;\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.dev/license\n */\n\nimport {HttpTransferCacheOptions, ɵwithHttpTransferCache} from '@angular/common/http';\nimport {\n ENVIRONMENT_INITIALIZER,\n EnvironmentProviders,\n inject,\n makeEnvironmentProviders,\n Provider,\n ɵConsole as Console,\n ɵRuntimeError as RuntimeError,\n ɵformatRuntimeError as formatRuntimeError,\n ɵwithDomHydration as withDomHydration,\n ɵwithEventReplay,\n ɵwithI18nSupport,\n ɵZONELESS_ENABLED as ZONELESS_ENABLED,\n ɵwithIncrementalHydration,\n ɵIS_ENABLED_BLOCKING_INITIAL_NAVIGATION as IS_ENABLED_BLOCKING_INITIAL_NAVIGATION,\n provideStabilityDebugging,\n} from '@angular/core';\nimport {RuntimeErrorCode} from './errors';\n\n/**\n * The list of features as an enum to uniquely type each `HydrationFeature`.\n * @see {@link HydrationFeature}\n *\n * @publicApi\n */\nexport enum HydrationFeatureKind {\n NoHttpTransferCache,\n HttpTransferCacheOptions,\n I18nSupport,\n EventReplay,\n IncrementalHydration,\n}\n\n/**\n * Helper type to represent a Hydration feature.\n *\n * @publicApi\n */\nexport interface HydrationFeature<FeatureKind extends HydrationFeatureKind> {\n ɵkind: FeatureKind;\n ɵproviders: Provider[];\n}\n\n/**\n * Helper function to create an object that represents a Hydration feature.\n */\nfunction hydrationFeature<FeatureKind extends HydrationFeatureKind>(\n ɵkind: FeatureKind,\n ɵproviders: Provider[] = [],\n ɵoptions: unknown = {},\n): HydrationFeature<FeatureKind> {\n return {ɵkind, ɵproviders};\n}\n\n/**\n * Disables HTTP transfer cache. Effectively causes HTTP requests to be performed twice: once on the\n * server and other one on the browser.\n *\n * @see [Disabling Caching](guide/ssr#disabling-caching)\n *\n * @publicApi\n */\nexport function withNoHttpTransferCache(): HydrationFeature<HydrationFeatureKind.NoHttpTransferCache> {\n // This feature has no providers and acts as a flag that turns off\n // HTTP transfer cache (which otherwise is turned on by default).\n return hydrationFeature(HydrationFeatureKind.NoHttpTransferCache);\n}\n\n/**\n * The function accepts an object, which allows to configure cache parameters,\n * such as which headers should be included (no headers are included by default),\n * whether POST requests should be cached or a callback function to determine if a\n * particular request should be cached.\n *\n * @see [Configuring HTTP transfer cache options](guide/ssr#caching-data-when-using-httpclient)\n *\n * @publicApi\n */\nexport function withHttpTransferCacheOptions(\n options: HttpTransferCacheOptions,\n): HydrationFeature<HydrationFeatureKind.HttpTransferCacheOptions> {\n // This feature has no providers and acts as a flag to pass options to the HTTP transfer cache.\n return hydrationFeature(\n HydrationFeatureKind.HttpTransferCacheOptions,\n ɵwithHttpTransferCache(options),\n );\n}\n\n/**\n * Enables support for hydrating i18n blocks.\n *\n * @publicApi 20.0\n */\nexport function withI18nSupport(): HydrationFeature<HydrationFeatureKind.I18nSupport> {\n return hydrationFeature(HydrationFeatureKind.I18nSupport, ɵwithI18nSupport());\n}\n\n/**\n * Enables support for replaying user events (e.g. `click`s) that happened on a page\n * before hydration logic has completed. Once an application is hydrated, all captured\n * events are replayed and relevant event listeners are executed.\n *\n * @usageNotes\n *\n * Basic example of how you can enable event replay in your application when\n * `bootstrapApplication` function is used:\n * ```ts\n * bootstrapApplication(AppComponent, {\n * providers: [provideClientHydration(withEventReplay())]\n * });\n * ```\n * @publicApi\n * @see {@link provideClientHydration}\n */\nexport function withEventReplay(): HydrationFeature<HydrationFeatureKind.EventReplay> {\n return hydrationFeature(HydrationFeatureKind.EventReplay, ɵwithEventReplay());\n}\n\n/**\n * Enables support for incremental hydration using the `hydrate` trigger syntax.\n *\n * @usageNotes\n *\n * Basic example of how you can enable incremental hydration in your application when\n * the `bootstrapApplication` function is used:\n * ```ts\n * bootstrapApplication(AppComponent, {\n * providers: [provideClientHydration(withIncrementalHydration())]\n * });\n * ```\n * @publicApi 20.0\n * @see {@link provideClientHydration}\n */\nexport function withIncrementalHydration(): HydrationFeature<HydrationFeatureKind.IncrementalHydration> {\n return hydrationFeature(HydrationFeatureKind.IncrementalHydration, ɵwithIncrementalHydration());\n}\n\n/**\n * Returns an `ENVIRONMENT_INITIALIZER` token setup with a function\n * that verifies whether enabledBlocking initial navigation is used in an application\n * and logs a warning in a console if it's not compatible with hydration.\n */\nfunction provideEnabledBlockingInitialNavigationDetector(): Provider[] {\n return [\n {\n provide: ENVIRONMENT_INITIALIZER,\n useValue: () => {\n const isEnabledBlockingInitialNavigation = inject(IS_ENABLED_BLOCKING_INITIAL_NAVIGATION, {\n optional: true,\n });\n\n if (isEnabledBlockingInitialNavigation) {\n const console = inject(Console);\n const message = formatRuntimeError(\n RuntimeErrorCode.HYDRATION_CONFLICTING_FEATURES,\n 'Configuration error: found both hydration and enabledBlocking initial navigation ' +\n 'in the same application, which is a contradiction.',\n );\n console.warn(message);\n }\n },\n multi: true,\n },\n ];\n}\n\n/**\n * Sets up providers necessary to enable hydration functionality for the application.\n *\n * By default, the function enables the recommended set of features for the optimal\n * performance for most of the applications. It includes the following features:\n *\n * * Reconciling DOM hydration. Learn more about it [here](guide/hydration).\n * * [`HttpClient`](api/common/http/HttpClient) response caching while running on the server and\n * transferring this cache to the client to avoid extra HTTP requests. Learn more about data caching\n * [here](guide/ssr#caching-data-when-using-httpclient).\n *\n * These functions allow you to disable some of the default features or enable new ones:\n *\n * * {@link withNoHttpTransferCache} to disable HTTP transfer cache\n * * {@link withHttpTransferCacheOptions} to configure some HTTP transfer cache options\n * * {@link withI18nSupport} to enable hydration support for i18n blocks\n * * {@link withEventReplay} to enable support for replaying user events\n *\n * @usageNotes\n *\n * Basic example of how you can enable hydration in your application when\n * `bootstrapApplication` function is used:\n * ```ts\n * bootstrapApplication(AppComponent, {\n * providers: [provideClientHydration()]\n * });\n * ```\n *\n * Alternatively if you are using NgModules, you would add `provideClientHydration`\n * to your root app module's provider list.\n * ```ts\n * @NgModule({\n * declarations: [RootCmp],\n * bootstrap: [RootCmp],\n * providers: [provideClientHydration()],\n * })\n * export class AppModule {}\n * ```\n *\n * @see {@link withNoHttpTransferCache}\n * @see {@link withHttpTransferCacheOptions}\n * @see {@link withI18nSupport}\n * @see {@link withEventReplay}\n *\n * @param features Optional features to configure additional hydration behaviors.\n * @returns A set of providers to enable hydration.\n *\n * @publicApi 17.0\n */\nexport function provideClientHydration(\n ...features: HydrationFeature<HydrationFeatureKind>[]\n): EnvironmentProviders {\n const providers: Provider[] = [];\n const featuresKind = new Set<HydrationFeatureKind>();\n\n for (const {ɵproviders, ɵkind} of features) {\n featuresKind.add(ɵkind);\n\n if (ɵproviders.length) {\n providers.push(ɵproviders);\n }\n }\n\n const hasHttpTransferCacheOptions = featuresKind.has(\n HydrationFeatureKind.HttpTransferCacheOptions,\n );\n\n if (\n typeof ngDevMode !== 'undefined' &&\n ngDevMode &&\n featuresKind.has(HydrationFeatureKind.NoHttpTransferCache) &&\n hasHttpTransferCacheOptions\n ) {\n throw new RuntimeError(\n RuntimeErrorCode.HYDRATION_CONFLICTING_FEATURES,\n 'Configuration error: found both withHttpTransferCacheOptions() and withNoHttpTransferCache() in the same call to provideClientHydration(), which is a contradiction.',\n );\n }\n\n return makeEnvironmentProviders([\n typeof ngDevMode !== 'undefined' && ngDevMode\n ? provideEnabledBlockingInitialNavigationDetector()\n : [],\n typeof ngDevMode !== 'undefined' && ngDevMode ? provideStabilityDebugging() : [],\n withDomHydration(),\n featuresKind.has(HydrationFeatureKind.NoHttpTransferCache) || hasHttpTransferCacheOptions\n ? []\n : ɵwithHttpTransferCache({}),\n providers,\n ]);\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.dev/license\n */\n\nimport {DOCUMENT} from '@angular/common';\nimport {\n forwardRef,\n Inject,\n Injectable,\n Sanitizer,\n SecurityContext,\n ɵ_sanitizeHtml as _sanitizeHtml,\n ɵ_sanitizeUrl as _sanitizeUrl,\n ɵallowSanitizationBypassAndThrow as allowSanitizationBypassOrThrow,\n ɵbypassSanitizationTrustHtml as bypassSanitizationTrustHtml,\n ɵbypassSanitizationTrustResourceUrl as bypassSanitizationTrustResourceUrl,\n ɵbypassSanitizationTrustScript as bypassSanitizationTrustScript,\n ɵbypassSanitizationTrustStyle as bypassSanitizationTrustStyle,\n ɵbypassSanitizationTrustUrl as bypassSanitizationTrustUrl,\n ɵBypassType as BypassType,\n ɵRuntimeError as RuntimeError,\n ɵunwrapSafeValue as unwrapSafeValue,\n ɵXSS_SECURITY_URL as XSS_SECURITY_URL,\n} from '@angular/core';\n\nimport {RuntimeErrorCode} from '../errors';\n\nexport {SecurityContext};\n\n/**\n * Marker interface for a value that's safe to use in a particular context.\n *\n * @publicApi\n */\nexport interface SafeValue {}\n\n/**\n * Marker interface for a value that's safe to use as HTML.\n *\n * @publicApi\n */\nexport interface SafeHtml extends SafeValue {}\n\n/**\n * Marker interface for a value that's safe to use as style (CSS).\n *\n * @publicApi\n */\nexport interface SafeStyle extends SafeValue {}\n\n/**\n * Marker interface for a value that's safe to use as JavaScript.\n *\n * @publicApi\n */\nexport interface SafeScript extends SafeValue {}\n\n/**\n * Marker interface for a value that's safe to use as a URL linking to a document.\n *\n * @publicApi\n */\nexport interface SafeUrl extends SafeValue {}\n\n/**\n * Marker interface for a value that's safe to use as a URL to load executable code from.\n *\n * @publicApi\n */\nexport interface SafeResourceUrl extends SafeValue {}\n\n/**\n * DomSanitizer helps preventing Cross Site Scripting Security bugs (XSS) by sanitizing\n * values to be safe to use in the different DOM contexts.\n *\n * For example, when binding a URL in an `<a [href]=\"someValue\">` hyperlink, `someValue` will be\n * sanitized so that an attacker cannot inject e.g. a `javascript:` URL that would execute code on\n * the website.\n *\n * In specific situations, it might be necessary to disable sanitization, for example if the\n * application genuinely needs to produce a `javascript:` style link with a dynamic value in it.\n * Users can bypass security by constructing a value with one of the `bypassSecurityTrust...`\n * methods, and then binding to that value from the template.\n *\n * These situations should be very rare, and extraordinary care must be taken to avoid creating a\n * Cross Site Scripting (XSS) security bug!\n *\n * When using `bypassSecurityTrust...`, make sure to call the method as early as possible and as\n * close as possible to the source of the value, to make it easy to verify no security bug is\n * created by its use.\n *\n * It is not required (and not recommended) to bypass security if the value is safe, e.g. a URL that\n * does not start with a suspicious protocol, or an HTML snippet that does not contain dangerous\n * code. The sanitizer leaves safe values intact.\n *\n * @security Calling any of the `bypassSecurityTrust...` APIs disables Angular's built-in\n * sanitization for the value passed in. Carefully check and audit all values and code paths going\n * into this call. Make sure any user data is appropriately escaped for this security context.\n * For more detail, see the [Security Guide](https://g.co/ng/security).\n *\n * @publicApi\n */\n@Injectable({providedIn: 'root', useExisting: forwardRef(() => DomSanitizerImpl)})\nexport abstract class DomSanitizer implements Sanitizer {\n /**\n * Gets a safe value from either a known safe value or a value with unknown safety.\n *\n * If the given value is already a `SafeValue`, this method returns the unwrapped value.\n * If the security context is HTML and the given value is a plain string, this method\n * sanitizes the string, removing any potentially unsafe content.\n * For any other security context, this method throws an error if provided\n * with a plain string.\n */\n abstract sanitize(context: SecurityContext, value: SafeValue | string | null): string | null;\n\n /**\n * Bypass security and trust the given value to be safe HTML. Only use this when the bound HTML\n * is unsafe (e.g. contains `<script>` tags) and the code should be executed. The sanitizer will\n * leave safe HTML intact, so in most situations this method should not be used.\n *\n * **WARNING:** calling this method with untrusted user data exposes your application to XSS\n * security risks!\n */\n abstract bypassSecurityTrustHtml(value: string): SafeHtml;\n\n /**\n * Bypass security and trust the given value to be safe style value (CSS).\n *\n * **WARNING:** calling this method with untrusted user data exposes your application to XSS\n * security risks!\n */\n abstract bypassSecurityTrustStyle(value: string): SafeStyle;\n\n /**\n * Bypass security and trust the given value to be safe JavaScript.\n *\n * **WARNING:** calling this method with untrusted user data exposes your application to XSS\n * security risks!\n */\n abstract bypassSecurityTrustScript(value: string): SafeScript;\n\n /**\n * Bypass security and trust the given value to be a safe style URL, i.e. a value that can be used\n * in hyperlinks or `<img src>`.\n *\n * **WARNING:** calling this method with untrusted user data exposes your application to XSS\n * security risks!\n */\n abstract bypassSecurityTrustUrl(value: string): SafeUrl;\n\n /**\n * Bypass security and trust the given value to be a safe resource URL, i.e. a location that may\n * be used to load executable code from, like `<script src>`, or `<iframe src>`.\n *\n * **WARNING:** calling this method with untrusted user data exposes your application to XSS\n * security risks!\n */\n abstract bypassSecurityTrustResourceUrl(value: string): SafeResourceUrl;\n}\n\n@Injectable({providedIn: 'root'})\nexport class DomSanitizerImpl extends DomSanitizer {\n constructor(@Inject(DOCUMENT) private _doc: any) {\n super();\n }\n\n override sanitize(ctx: SecurityContext, value: SafeValue | string | null): string | null {\n if (value == null) return null;\n switch (ctx) {\n case SecurityContext.NONE:\n return value as string;\n case SecurityContext.HTML:\n if (allowSanitizationBypassOrThrow(value, BypassType.Html)) {\n return unwrapSafeValue(value);\n }\n return _sanitizeHtml(this._doc, String(value)).toString();\n case SecurityContext.STYLE:\n if (allowSanitizationBypassOrThrow(value, BypassType.Style)) {\n return unwrapSafeValue(value);\n }\n return value as string;\n case SecurityContext.SCRIPT:\n if (allowSanitizationBypassOrThrow(value, BypassType.Script)) {\n return unwrapSafeValue(value);\n }\n throw new RuntimeError(\n RuntimeErrorCode.SANITIZATION_UNSAFE_SCRIPT,\n (typeof ngDevMode === 'undefined' || ngDevMode) &&\n 'unsafe value used in a script context',\n );\n case SecurityContext.URL:\n if (allowSanitizationBypassOrThrow(value, BypassType.Url)) {\n return unwrapSafeValue(value);\n }\n return _sanitizeUrl(String(value));\n case SecurityContext.RESOURCE_URL:\n if (allowSanitizationBypassOrThrow(value, BypassType.ResourceUrl)) {\n return unwrapSafeValue(value);\n }\n throw new RuntimeError(\n RuntimeErrorCode.SANITIZATION_UNSAFE_RESOURCE_URL,\n (typeof ngDevMode === 'undefined' || ngDevMode) &&\n `unsafe value used in a resource URL context (see ${XSS_SECURITY_URL})`,\n );\n default:\n throw new RuntimeError(\n RuntimeErrorCode.SANITIZATION_UNEXPECTED_CTX,\n (typeof ngDevMode === 'undefined' || ngDevMode) &&\n `Unexpected SecurityContext ${ctx} (see ${XSS_SECURITY_URL})`,\n );\n }\n }\n\n override bypassSecurityTrustHtml(value: string): SafeHtml {\n return bypassSanitizationTrustHtml(value);\n }\n override bypassSecurityTrustStyle(value: string): SafeStyle {\n return bypassSanitizationTrustStyle(value);\n }\n override bypassSecurityTrustScript(value: string): SafeScript {\n return bypassSanitizationTrustScript(value);\n }\n override bypassSecurityTrustUrl(value: string): SafeUrl {\n return bypassSanitizationTrustUrl(value);\n }\n override bypassSecurityTrustResourceUrl(value: string): SafeResourceUrl {\n return bypassSanitizationTrustResourceUrl(value);\n }\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.dev/license\n */\n\n/**\n * @module\n * @description\n * Entry point for all public APIs of the platform-browser package.\n */\n\nimport {Version} from '@angular/core';\n\n/**\n * @publicApi\n */\nexport const VERSION = /* @__PURE__ */ new Version('22.0.0-next.5');\n"],"names":["Meta","_doc","_dom","constructor","getDOM","addTag","tag","forceCreation","_getOrCreateElement","addTags","tags","reduce","result","push","getTag","attrSelector","querySelector","getTags","list","querySelectorAll","slice","call","updateTag","selector","_parseSelector","meta","_setMetaElementAttributes","removeTag","removeTagElement","remove","elem","filter","_containsAttributes","undefined","element","createElement","head","getElementsByTagName","appendChild","el","Object","keys","forEach","prop","setAttribute","_getMetaKeyMap","attr","name","every","key","getAttribute","META_KEYS_MAP","ɵfac","i0","ɵɵngDeclareFactory","minVersion","version","ngImport","type","DOCUMENT","target","ɵɵFactoryTarget","Injectable","ɵprov","ɵɵngDeclareInjectable","decorators","providedIn","Inject","httpEquiv","Title","getTitle","title","setTitle","newTitle","exportNgVar","value","COMPILED","ng","global","ChangeDetectionPerfRecord","msPerTick","numTicks","AngularProfiler","appRef","ref","injector","get","ApplicationRef","timeChangeDetection","config","record","profileName","console","profile","start","performance","now","tick","end","profileEnd","log","toFixed","PROFILER_GLOBAL_NAME","enableDebugTools","disableDebugTools","By","all","css","debugElement","nativeElement","elementMatches","directive","debugNode","providerTokens","indexOf","n","isElementNode","matches","msMatchesSelector","webkitMatchesSelector","HydrationFeatureKind","hydrationFeature","ɵkind","ɵproviders","ɵoptions","withNoHttpTransferCache","NoHttpTransferCache","withHttpTransferCacheOptions","options","HttpTransferCacheOptions","ɵwithHttpTransferCache","withI18nSupport","I18nSupport","ɵwithI18nSupport","withEventReplay","EventReplay","ɵwithEventReplay","withIncrementalHydration","IncrementalHydration","ɵwithIncrementalHydration","provideEnabledBlockingInitialNavigationDetector","provide","ENVIRONMENT_INITIALIZER","useValue","isEnabledBlockingInitialNavigation","inject","IS_ENABLED_BLOCKING_INITIAL_NAVIGATION","optional","Console","message","formatRuntimeError","warn","multi","provideClientHydration","features","providers","featuresKind","Set","add","length","hasHttpTransferCacheOptions","has","ngDevMode","RuntimeError","makeEnvironmentProviders","provideStabilityDebugging","withDomHydration","DomSanitizer","deps","useExisting","forwardRef","DomSanitizerImpl","args","sanitize","ctx","SecurityContext","NONE","HTML","allowSanitizationBypassOrThrow","unwrapSafeValue","_sanitizeHtml","String","toString","STYLE","SCRIPT","URL","_sanitizeUrl","RESOURCE_URL","XSS_SECURITY_URL","bypassSecurityTrustHtml","bypassSanitizationTrustHtml","bypassSecurityTrustStyle","bypassSanitizationTrustStyle","bypassSecurityTrustScript","bypassSanitizationTrustScript","bypassSecurityTrustUrl","bypassSanitizationTrustUrl","bypassSecurityTrustResourceUrl","bypassSanitizationTrustResourceUrl","VERSION","Version"],"mappings":"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"} | ||
| {"version":3,"file":"platform-browser.mjs","sources":["../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/packages/platform-browser/src/browser/meta.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/packages/platform-browser/src/browser/title.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/packages/platform-browser/src/dom/util.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/packages/platform-browser/src/browser/tools/common_tools.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/packages/platform-browser/src/browser/tools/tools.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/packages/platform-browser/src/dom/debug/by.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/packages/platform-browser/src/hydration.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/packages/platform-browser/src/security/dom_sanitization_service.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/packages/platform-browser/src/version.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.dev/license\n */\n\nimport {DOCUMENT, ɵDomAdapter as DomAdapter, ɵgetDOM as getDOM} from '@angular/common';\nimport {Inject, Injectable} from '@angular/core';\n\n/**\n * Represents the attributes of an HTML `<meta>` element. The element itself is\n * represented by the internal `HTMLMetaElement`.\n *\n * @see [HTML meta tag](https://developer.mozilla.org/docs/Web/HTML/Element/meta)\n * @see {@link Meta}\n *\n * @publicApi\n */\nexport type MetaDefinition = {\n charset?: string;\n content?: string;\n httpEquiv?: string;\n id?: string;\n itemprop?: string;\n name?: string;\n property?: string;\n scheme?: string;\n url?: string;\n} & {\n // TODO(IgorMinar): this type looks wrong\n [prop: string]: string;\n};\n\n/**\n * A service for managing HTML `<meta>` tags.\n *\n * Properties of the `MetaDefinition` object match the attributes of the\n * HTML `<meta>` tag. These tags define document metadata that is important for\n * things like configuring a Content Security Policy, defining browser compatibility\n * and security settings, setting HTTP Headers, defining rich content for social sharing,\n * and Search Engine Optimization (SEO).\n *\n * To identify specific `<meta>` tags in a document, use an attribute selection\n * string in the format `\"tag_attribute='value string'\"`.\n * For example, an `attrSelector` value of `\"name='description'\"` matches a tag\n * whose `name` attribute has the value `\"description\"`.\n * Selectors are used with the `querySelector()` Document method,\n * in the format `meta[{attrSelector}]`.\n *\n * @see [HTML meta tag](https://developer.mozilla.org/docs/Web/HTML/Element/meta)\n * @see [Document.querySelector()](https://developer.mozilla.org/docs/Web/API/Document/querySelector)\n *\n *\n * @publicApi\n */\n@Injectable({providedIn: 'root'})\nexport class Meta {\n private _dom: DomAdapter;\n constructor(@Inject(DOCUMENT) private _doc: any) {\n this._dom = getDOM();\n }\n /**\n * Retrieves or creates a specific `<meta>` tag element in the current HTML document.\n * In searching for an existing tag, Angular attempts to match the `name` or `property` attribute\n * values in the provided tag definition, and verifies that all other attribute values are equal.\n * If an existing element is found, it is returned and is not modified in any way.\n * @param tag The definition of a `<meta>` element to match or create.\n * @param forceCreation True to create a new element without checking whether one already exists.\n * @returns The existing element with the same attributes and values if found,\n * the new element if no match is found, or `null` if the tag parameter is not defined.\n */\n addTag(tag: MetaDefinition, forceCreation: boolean = false): HTMLMetaElement | null {\n if (!tag) return null;\n return this._getOrCreateElement(tag, forceCreation);\n }\n\n /**\n * Retrieves or creates a set of `<meta>` tag elements in the current HTML document.\n * In searching for an existing tag, Angular attempts to match the `name` or `property` attribute\n * values in the provided tag definition, and verifies that all other attribute values are equal.\n * @param tags An array of tag definitions to match or create.\n * @param forceCreation True to create new elements without checking whether they already exist.\n * @returns The matching elements if found, or the new elements.\n */\n addTags(tags: MetaDefinition[], forceCreation: boolean = false): HTMLMetaElement[] {\n if (!tags) return [];\n return tags.reduce((result: HTMLMetaElement[], tag: MetaDefinition) => {\n if (tag) {\n result.push(this._getOrCreateElement(tag, forceCreation));\n }\n return result;\n }, []);\n }\n\n /**\n * Retrieves a `<meta>` tag element in the current HTML document.\n * @param attrSelector The tag attribute and value to match against, in the format\n * `\"tag_attribute='value string'\"`.\n * @returns The matching element, if any.\n */\n getTag(attrSelector: string): HTMLMetaElement | null {\n if (!attrSelector) return null;\n return this._doc.querySelector(`meta[${attrSelector}]`) || null;\n }\n\n /**\n * Retrieves a set of `<meta>` tag elements in the current HTML document.\n * @param attrSelector The tag attribute and value to match against, in the format\n * `\"tag_attribute='value string'\"`.\n * @returns The matching elements, if any.\n */\n getTags(attrSelector: string): HTMLMetaElement[] {\n if (!attrSelector) return [];\n const list /*NodeList*/ = this._doc.querySelectorAll(`meta[${attrSelector}]`);\n return list ? [].slice.call(list) : [];\n }\n\n /**\n * Modifies an existing `<meta>` tag element in the current HTML document.\n * @param tag The tag description with which to replace the existing tag content.\n * @param selector A tag attribute and value to match against, to identify\n * an existing tag. A string in the format `\"tag_attribute=`value string`\"`.\n * If not supplied, matches a tag with the same `name` or `property` attribute value as the\n * replacement tag.\n * @return The modified element.\n */\n updateTag(tag: MetaDefinition, selector?: string): HTMLMetaElement | null {\n if (!tag) return null;\n selector = selector || this._parseSelector(tag);\n const meta: HTMLMetaElement = this.getTag(selector)!;\n if (meta) {\n return this._setMetaElementAttributes(tag, meta);\n }\n return this._getOrCreateElement(tag, true);\n }\n\n /**\n * Removes an existing `<meta>` tag element from the current HTML document.\n * @param attrSelector A tag attribute and value to match against, to identify\n * an existing tag. A string in the format `\"tag_attribute=`value string`\"`.\n */\n removeTag(attrSelector: string): void {\n this.removeTagElement(this.getTag(attrSelector)!);\n }\n\n /**\n * Removes an existing `<meta>` tag element from the current HTML document.\n * @param meta The tag definition to match against to identify an existing tag.\n */\n removeTagElement(meta: HTMLMetaElement): void {\n if (meta) {\n this._dom.remove(meta);\n }\n }\n\n private _getOrCreateElement(\n meta: MetaDefinition,\n forceCreation: boolean = false,\n ): HTMLMetaElement {\n if (!forceCreation) {\n const selector: string = this._parseSelector(meta);\n // It's allowed to have multiple elements with the same name so it's not enough to\n // just check that element with the same name already present on the page. We also need to\n // check if element has tag attributes\n const elem = this.getTags(selector).filter((elem) => this._containsAttributes(meta, elem))[0];\n if (elem !== undefined) return elem;\n }\n const element: HTMLMetaElement = this._dom.createElement('meta') as HTMLMetaElement;\n this._setMetaElementAttributes(meta, element);\n const head = this._doc.getElementsByTagName('head')[0];\n head.appendChild(element);\n return element;\n }\n\n private _setMetaElementAttributes(tag: MetaDefinition, el: HTMLMetaElement): HTMLMetaElement {\n Object.keys(tag).forEach((prop: string) =>\n el.setAttribute(this._getMetaKeyMap(prop), tag[prop]),\n );\n return el;\n }\n\n private _parseSelector(tag: MetaDefinition): string {\n const attr: string = tag.name ? 'name' : 'property';\n return `${attr}=\"${tag[attr]}\"`;\n }\n\n private _containsAttributes(tag: MetaDefinition, elem: HTMLMetaElement): boolean {\n return Object.keys(tag).every(\n (key: string) => elem.getAttribute(this._getMetaKeyMap(key)) === tag[key],\n );\n }\n\n private _getMetaKeyMap(prop: string): string {\n return META_KEYS_MAP[prop] || prop;\n }\n}\n\n/**\n * Mapping for MetaDefinition properties with their correct meta attribute names\n */\nconst META_KEYS_MAP: {[prop: string]: string} = {\n httpEquiv: 'http-equiv',\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.dev/license\n */\n\nimport {DOCUMENT} from '@angular/common';\nimport {Inject, Injectable} from '@angular/core';\n\n/**\n * A service that can be used to get and set the title of a current HTML document.\n *\n * Since an Angular application can't be bootstrapped on the entire HTML document (`<html>` tag)\n * it is not possible to bind to the `text` property of the `HTMLTitleElement` elements\n * (representing the `<title>` tag). Instead, this service can be used to set and get the current\n * title value.\n *\n * @publicApi\n */\n@Injectable({providedIn: 'root'})\nexport class Title {\n constructor(@Inject(DOCUMENT) private _doc: any) {}\n /**\n * Get the title of the current HTML document.\n */\n getTitle(): string {\n return this._doc.title;\n }\n\n /**\n * Set the title of the current HTML document.\n * @param newTitle\n */\n setTitle(newTitle: string) {\n this._doc.title = newTitle || '';\n }\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.dev/license\n */\n\n/// <reference path=\"../../../goog.d.ts\" />\n\nimport {ɵglobal as global} from '@angular/core';\n\n/**\n * Exports the value under a given `name` in the global property `ng`. For example `ng.probe` if\n * `name` is `'probe'`.\n * @param name Name under which it will be exported. Keep in mind this will be a property of the\n * global `ng` object.\n * @param value The value to export.\n */\nexport function exportNgVar(name: string, value: any): void {\n if (typeof COMPILED === 'undefined' || !COMPILED) {\n // Note: we can't export `ng` when using closure enhanced optimization as:\n // - closure declares globals itself for minified names, which sometimes clobber our `ng` global\n // - we can't declare a closure extern as the namespace `ng` is already used within Google\n // for typings for angularJS (via `goog.provide('ng....')`).\n const ng = (global['ng'] = (global['ng'] as {[key: string]: any} | undefined) || {});\n ng[name] = value;\n }\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.dev/license\n */\n\nimport {ApplicationRef, ComponentRef} from '@angular/core';\n\nexport class ChangeDetectionPerfRecord {\n constructor(\n public msPerTick: number,\n public numTicks: number,\n ) {}\n}\n\n/**\n * Entry point for all Angular profiling-related debug tools. This object\n * corresponds to the `ng.profiler` in the dev console.\n */\nexport class AngularProfiler {\n appRef: ApplicationRef;\n\n constructor(ref: ComponentRef<any>) {\n this.appRef = ref.injector.get(ApplicationRef);\n }\n\n // tslint:disable:no-console\n /**\n * Exercises change detection in a loop and then prints the average amount of\n * time in milliseconds how long a single round of change detection takes for\n * the current state of the UI. It runs a minimum of 5 rounds for a minimum\n * of 500 milliseconds.\n *\n * Optionally, a user may pass a `config` parameter containing a map of\n * options. Supported options are:\n *\n * `record` (boolean) - causes the profiler to record a CPU profile while\n * it exercises the change detector. Example:\n *\n * ```ts\n * ng.profiler.timeChangeDetection({record: true})\n * ```\n */\n timeChangeDetection(config: any): ChangeDetectionPerfRecord {\n const record = config && config['record'];\n const profileName = 'Change Detection';\n // Profiler is not available in Android browsers without dev tools opened\n if (record && 'profile' in console && typeof console.profile === 'function') {\n console.profile(profileName);\n }\n const start = performance.now();\n let numTicks = 0;\n while (numTicks < 5 || performance.now() - start < 500) {\n this.appRef.tick();\n numTicks++;\n }\n const end = performance.now();\n if (record && 'profileEnd' in console && typeof console.profileEnd === 'function') {\n console.profileEnd(profileName);\n }\n const msPerTick = (end - start) / numTicks;\n console.log(`ran ${numTicks} change detection cycles`);\n console.log(`${msPerTick.toFixed(2)} ms per check`);\n\n return new ChangeDetectionPerfRecord(msPerTick, numTicks);\n }\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.dev/license\n */\n\nimport {ComponentRef} from '@angular/core';\n\nimport {exportNgVar} from '../../dom/util';\n\nimport {AngularProfiler} from './common_tools';\n\nconst PROFILER_GLOBAL_NAME = 'profiler';\n\n/**\n * Enabled Angular debug tools that are accessible via your browser's\n * developer console.\n *\n * Usage:\n *\n * 1. Open developer console (e.g. in Chrome Ctrl + Shift + j)\n * 1. Type `ng.` (usually the console will show auto-complete suggestion)\n * 1. Try the change detection profiler `ng.profiler.timeChangeDetection()`\n * then hit Enter.\n *\n * @publicApi\n */\nexport function enableDebugTools<T>(ref: ComponentRef<T>): ComponentRef<T> {\n exportNgVar(PROFILER_GLOBAL_NAME, new AngularProfiler(ref));\n return ref;\n}\n\n/**\n * Disables Angular tools.\n *\n * @publicApi\n */\nexport function disableDebugTools(): void {\n exportNgVar(PROFILER_GLOBAL_NAME, null);\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.dev/license\n */\n\nimport {ɵgetDOM as getDOM} from '@angular/common';\nimport {DebugElement, DebugNode, Predicate, Type} from '@angular/core';\n\n/**\n * Predicates for use with {@link DebugElement}'s query functions.\n *\n * @publicApi\n */\nexport class By {\n /**\n * Match all nodes.\n *\n * @usageNotes\n * ### Example\n *\n * {@example platform-browser/dom/debug/ts/by/by.ts region='by_all'}\n */\n static all(): Predicate<DebugNode> {\n return () => true;\n }\n\n /**\n * Match elements by the given CSS selector.\n *\n * @usageNotes\n * ### Example\n *\n * {@example platform-browser/dom/debug/ts/by/by.ts region='by_css'}\n */\n static css(selector: string): Predicate<DebugElement> {\n return (debugElement) => {\n return debugElement.nativeElement != null\n ? elementMatches(debugElement.nativeElement, selector)\n : false;\n };\n }\n\n /**\n * Match nodes that have the given directive present.\n *\n * @usageNotes\n * ### Example\n *\n * {@example platform-browser/dom/debug/ts/by/by.ts region='by_directive'}\n */\n static directive(type: Type<any>): Predicate<DebugNode> {\n return (debugNode) => debugNode.providerTokens!.indexOf(type) !== -1;\n }\n}\n\nfunction elementMatches(n: any, selector: string): boolean {\n if (getDOM().isElementNode(n)) {\n return (\n (n.matches && n.matches(selector)) ||\n (n.msMatchesSelector && n.msMatchesSelector(selector)) ||\n (n.webkitMatchesSelector && n.webkitMatchesSelector(selector))\n );\n }\n\n return false;\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.dev/license\n */\n\nimport {HttpTransferCacheOptions, ɵwithHttpTransferCache} from '@angular/common/http';\nimport {\n ENVIRONMENT_INITIALIZER,\n EnvironmentProviders,\n inject,\n makeEnvironmentProviders,\n Provider,\n ɵConsole as Console,\n ɵRuntimeError as RuntimeError,\n ɵformatRuntimeError as formatRuntimeError,\n ɵwithDomHydration as withDomHydration,\n ɵwithEventReplay,\n ɵwithI18nSupport,\n ɵZONELESS_ENABLED as ZONELESS_ENABLED,\n ɵwithIncrementalHydration,\n ɵIS_ENABLED_BLOCKING_INITIAL_NAVIGATION as IS_ENABLED_BLOCKING_INITIAL_NAVIGATION,\n provideStabilityDebugging,\n} from '@angular/core';\nimport {RuntimeErrorCode} from './errors';\n\n/**\n * The list of features as an enum to uniquely type each `HydrationFeature`.\n * @see {@link HydrationFeature}\n *\n * @publicApi\n */\nexport enum HydrationFeatureKind {\n NoHttpTransferCache,\n HttpTransferCacheOptions,\n I18nSupport,\n EventReplay,\n IncrementalHydration,\n}\n\n/**\n * Helper type to represent a Hydration feature.\n *\n * @publicApi\n */\nexport interface HydrationFeature<FeatureKind extends HydrationFeatureKind> {\n ɵkind: FeatureKind;\n ɵproviders: Provider[];\n}\n\n/**\n * Helper function to create an object that represents a Hydration feature.\n */\nfunction hydrationFeature<FeatureKind extends HydrationFeatureKind>(\n ɵkind: FeatureKind,\n ɵproviders: Provider[] = [],\n ɵoptions: unknown = {},\n): HydrationFeature<FeatureKind> {\n return {ɵkind, ɵproviders};\n}\n\n/**\n * Disables HTTP transfer cache. Effectively causes HTTP requests to be performed twice: once on the\n * server and other one on the browser.\n *\n * @see [Disabling Caching](guide/ssr#disabling-caching)\n *\n * @publicApi\n */\nexport function withNoHttpTransferCache(): HydrationFeature<HydrationFeatureKind.NoHttpTransferCache> {\n // This feature has no providers and acts as a flag that turns off\n // HTTP transfer cache (which otherwise is turned on by default).\n return hydrationFeature(HydrationFeatureKind.NoHttpTransferCache);\n}\n\n/**\n * The function accepts an object, which allows to configure cache parameters,\n * such as which headers should be included (no headers are included by default),\n * whether POST requests should be cached or a callback function to determine if a\n * particular request should be cached.\n *\n * @see [Configuring HTTP transfer cache options](guide/ssr#caching-data-when-using-httpclient)\n *\n * @publicApi\n */\nexport function withHttpTransferCacheOptions(\n options: HttpTransferCacheOptions,\n): HydrationFeature<HydrationFeatureKind.HttpTransferCacheOptions> {\n // This feature has no providers and acts as a flag to pass options to the HTTP transfer cache.\n return hydrationFeature(\n HydrationFeatureKind.HttpTransferCacheOptions,\n ɵwithHttpTransferCache(options),\n );\n}\n\n/**\n * Enables support for hydrating i18n blocks.\n *\n * @publicApi 20.0\n */\nexport function withI18nSupport(): HydrationFeature<HydrationFeatureKind.I18nSupport> {\n return hydrationFeature(HydrationFeatureKind.I18nSupport, ɵwithI18nSupport());\n}\n\n/**\n * Enables support for replaying user events (e.g. `click`s) that happened on a page\n * before hydration logic has completed. Once an application is hydrated, all captured\n * events are replayed and relevant event listeners are executed.\n *\n * @usageNotes\n *\n * Basic example of how you can enable event replay in your application when\n * `bootstrapApplication` function is used:\n * ```ts\n * bootstrapApplication(AppComponent, {\n * providers: [provideClientHydration(withEventReplay())]\n * });\n * ```\n * @publicApi\n * @see {@link provideClientHydration}\n */\nexport function withEventReplay(): HydrationFeature<HydrationFeatureKind.EventReplay> {\n return hydrationFeature(HydrationFeatureKind.EventReplay, ɵwithEventReplay());\n}\n\n/**\n * Enables support for incremental hydration using the `hydrate` trigger syntax.\n *\n * @usageNotes\n *\n * Basic example of how you can enable incremental hydration in your application when\n * the `bootstrapApplication` function is used:\n * ```ts\n * bootstrapApplication(AppComponent, {\n * providers: [provideClientHydration(withIncrementalHydration())]\n * });\n * ```\n * @publicApi 20.0\n * @see {@link provideClientHydration}\n */\nexport function withIncrementalHydration(): HydrationFeature<HydrationFeatureKind.IncrementalHydration> {\n return hydrationFeature(HydrationFeatureKind.IncrementalHydration, ɵwithIncrementalHydration());\n}\n\n/**\n * Returns an `ENVIRONMENT_INITIALIZER` token setup with a function\n * that verifies whether enabledBlocking initial navigation is used in an application\n * and logs a warning in a console if it's not compatible with hydration.\n */\nfunction provideEnabledBlockingInitialNavigationDetector(): Provider[] {\n return [\n {\n provide: ENVIRONMENT_INITIALIZER,\n useValue: () => {\n const isEnabledBlockingInitialNavigation = inject(IS_ENABLED_BLOCKING_INITIAL_NAVIGATION, {\n optional: true,\n });\n\n if (isEnabledBlockingInitialNavigation) {\n const console = inject(Console);\n const message = formatRuntimeError(\n RuntimeErrorCode.HYDRATION_CONFLICTING_FEATURES,\n 'Configuration error: found both hydration and enabledBlocking initial navigation ' +\n 'in the same application, which is a contradiction.',\n );\n console.warn(message);\n }\n },\n multi: true,\n },\n ];\n}\n\n/**\n * Sets up providers necessary to enable hydration functionality for the application.\n *\n * By default, the function enables the recommended set of features for the optimal\n * performance for most of the applications. It includes the following features:\n *\n * * Reconciling DOM hydration. Learn more about it [here](guide/hydration).\n * * [`HttpClient`](api/common/http/HttpClient) response caching while running on the server and\n * transferring this cache to the client to avoid extra HTTP requests. Learn more about data caching\n * [here](guide/ssr#caching-data-when-using-httpclient).\n *\n * These functions allow you to disable some of the default features or enable new ones:\n *\n * * {@link withNoHttpTransferCache} to disable HTTP transfer cache\n * * {@link withHttpTransferCacheOptions} to configure some HTTP transfer cache options\n * * {@link withI18nSupport} to enable hydration support for i18n blocks\n * * {@link withEventReplay} to enable support for replaying user events\n *\n * @usageNotes\n *\n * Basic example of how you can enable hydration in your application when\n * `bootstrapApplication` function is used:\n * ```ts\n * bootstrapApplication(AppComponent, {\n * providers: [provideClientHydration()]\n * });\n * ```\n *\n * Alternatively if you are using NgModules, you would add `provideClientHydration`\n * to your root app module's provider list.\n * ```ts\n * @NgModule({\n * declarations: [RootCmp],\n * bootstrap: [RootCmp],\n * providers: [provideClientHydration()],\n * })\n * export class AppModule {}\n * ```\n *\n * @see {@link withNoHttpTransferCache}\n * @see {@link withHttpTransferCacheOptions}\n * @see {@link withI18nSupport}\n * @see {@link withEventReplay}\n *\n * @param features Optional features to configure additional hydration behaviors.\n * @returns A set of providers to enable hydration.\n *\n * @publicApi 17.0\n */\nexport function provideClientHydration(\n ...features: HydrationFeature<HydrationFeatureKind>[]\n): EnvironmentProviders {\n const providers: Provider[] = [];\n const featuresKind = new Set<HydrationFeatureKind>();\n\n for (const {ɵproviders, ɵkind} of features) {\n featuresKind.add(ɵkind);\n\n if (ɵproviders.length) {\n providers.push(ɵproviders);\n }\n }\n\n const hasHttpTransferCacheOptions = featuresKind.has(\n HydrationFeatureKind.HttpTransferCacheOptions,\n );\n\n if (\n typeof ngDevMode !== 'undefined' &&\n ngDevMode &&\n featuresKind.has(HydrationFeatureKind.NoHttpTransferCache) &&\n hasHttpTransferCacheOptions\n ) {\n throw new RuntimeError(\n RuntimeErrorCode.HYDRATION_CONFLICTING_FEATURES,\n 'Configuration error: found both withHttpTransferCacheOptions() and withNoHttpTransferCache() in the same call to provideClientHydration(), which is a contradiction.',\n );\n }\n\n return makeEnvironmentProviders([\n typeof ngDevMode !== 'undefined' && ngDevMode\n ? provideEnabledBlockingInitialNavigationDetector()\n : [],\n typeof ngDevMode !== 'undefined' && ngDevMode ? provideStabilityDebugging() : [],\n withDomHydration(),\n featuresKind.has(HydrationFeatureKind.NoHttpTransferCache) || hasHttpTransferCacheOptions\n ? []\n : ɵwithHttpTransferCache({}),\n providers,\n ]);\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.dev/license\n */\n\nimport {DOCUMENT} from '@angular/common';\nimport {\n forwardRef,\n Inject,\n Injectable,\n Sanitizer,\n SecurityContext,\n ɵ_sanitizeHtml as _sanitizeHtml,\n ɵ_sanitizeUrl as _sanitizeUrl,\n ɵallowSanitizationBypassAndThrow as allowSanitizationBypassOrThrow,\n ɵbypassSanitizationTrustHtml as bypassSanitizationTrustHtml,\n ɵbypassSanitizationTrustResourceUrl as bypassSanitizationTrustResourceUrl,\n ɵbypassSanitizationTrustScript as bypassSanitizationTrustScript,\n ɵbypassSanitizationTrustStyle as bypassSanitizationTrustStyle,\n ɵbypassSanitizationTrustUrl as bypassSanitizationTrustUrl,\n ɵBypassType as BypassType,\n ɵRuntimeError as RuntimeError,\n ɵunwrapSafeValue as unwrapSafeValue,\n ɵXSS_SECURITY_URL as XSS_SECURITY_URL,\n} from '@angular/core';\n\nimport {RuntimeErrorCode} from '../errors';\n\nexport {SecurityContext};\n\n/**\n * Marker interface for a value that's safe to use in a particular context.\n *\n * @publicApi\n */\nexport interface SafeValue {}\n\n/**\n * Marker interface for a value that's safe to use as HTML.\n *\n * @publicApi\n */\nexport interface SafeHtml extends SafeValue {}\n\n/**\n * Marker interface for a value that's safe to use as style (CSS).\n *\n * @publicApi\n */\nexport interface SafeStyle extends SafeValue {}\n\n/**\n * Marker interface for a value that's safe to use as JavaScript.\n *\n * @publicApi\n */\nexport interface SafeScript extends SafeValue {}\n\n/**\n * Marker interface for a value that's safe to use as a URL linking to a document.\n *\n * @publicApi\n */\nexport interface SafeUrl extends SafeValue {}\n\n/**\n * Marker interface for a value that's safe to use as a URL to load executable code from.\n *\n * @publicApi\n */\nexport interface SafeResourceUrl extends SafeValue {}\n\n/**\n * DomSanitizer helps preventing Cross Site Scripting Security bugs (XSS) by sanitizing\n * values to be safe to use in the different DOM contexts.\n *\n * For example, when binding a URL in an `<a [href]=\"someValue\">` hyperlink, `someValue` will be\n * sanitized so that an attacker cannot inject e.g. a `javascript:` URL that would execute code on\n * the website.\n *\n * In specific situations, it might be necessary to disable sanitization, for example if the\n * application genuinely needs to produce a `javascript:` style link with a dynamic value in it.\n * Users can bypass security by constructing a value with one of the `bypassSecurityTrust...`\n * methods, and then binding to that value from the template.\n *\n * These situations should be very rare, and extraordinary care must be taken to avoid creating a\n * Cross Site Scripting (XSS) security bug!\n *\n * When using `bypassSecurityTrust...`, make sure to call the method as early as possible and as\n * close as possible to the source of the value, to make it easy to verify no security bug is\n * created by its use.\n *\n * It is not required (and not recommended) to bypass security if the value is safe, e.g. a URL that\n * does not start with a suspicious protocol, or an HTML snippet that does not contain dangerous\n * code. The sanitizer leaves safe values intact.\n *\n * @security Calling any of the `bypassSecurityTrust...` APIs disables Angular's built-in\n * sanitization for the value passed in. Carefully check and audit all values and code paths going\n * into this call. Make sure any user data is appropriately escaped for this security context.\n * For more detail, see the [Security Guide](https://g.co/ng/security).\n *\n * @publicApi\n */\n@Injectable({providedIn: 'root', useExisting: forwardRef(() => DomSanitizerImpl)})\nexport abstract class DomSanitizer implements Sanitizer {\n /**\n * Gets a safe value from either a known safe value or a value with unknown safety.\n *\n * If the given value is already a `SafeValue`, this method returns the unwrapped value.\n * If the security context is HTML and the given value is a plain string, this method\n * sanitizes the string, removing any potentially unsafe content.\n * For any other security context, this method throws an error if provided\n * with a plain string.\n */\n abstract sanitize(context: SecurityContext, value: SafeValue | string | null): string | null;\n\n /**\n * Bypass security and trust the given value to be safe HTML. Only use this when the bound HTML\n * is unsafe (e.g. contains `<script>` tags) and the code should be executed. The sanitizer will\n * leave safe HTML intact, so in most situations this method should not be used.\n *\n * **WARNING:** calling this method with untrusted user data exposes your application to XSS\n * security risks!\n */\n abstract bypassSecurityTrustHtml(value: string): SafeHtml;\n\n /**\n * Bypass security and trust the given value to be safe style value (CSS).\n *\n * **WARNING:** calling this method with untrusted user data exposes your application to XSS\n * security risks!\n */\n abstract bypassSecurityTrustStyle(value: string): SafeStyle;\n\n /**\n * Bypass security and trust the given value to be safe JavaScript.\n *\n * **WARNING:** calling this method with untrusted user data exposes your application to XSS\n * security risks!\n */\n abstract bypassSecurityTrustScript(value: string): SafeScript;\n\n /**\n * Bypass security and trust the given value to be a safe style URL, i.e. a value that can be used\n * in hyperlinks or `<img src>`.\n *\n * **WARNING:** calling this method with untrusted user data exposes your application to XSS\n * security risks!\n */\n abstract bypassSecurityTrustUrl(value: string): SafeUrl;\n\n /**\n * Bypass security and trust the given value to be a safe resource URL, i.e. a location that may\n * be used to load executable code from, like `<script src>`, or `<iframe src>`.\n *\n * **WARNING:** calling this method with untrusted user data exposes your application to XSS\n * security risks!\n */\n abstract bypassSecurityTrustResourceUrl(value: string): SafeResourceUrl;\n}\n\n@Injectable({providedIn: 'root'})\nexport class DomSanitizerImpl extends DomSanitizer {\n constructor(@Inject(DOCUMENT) private _doc: any) {\n super();\n }\n\n override sanitize(ctx: SecurityContext, value: SafeValue | string | null): string | null {\n if (value == null) return null;\n switch (ctx) {\n case SecurityContext.NONE:\n return value as string;\n case SecurityContext.HTML:\n if (allowSanitizationBypassOrThrow(value, BypassType.Html)) {\n return unwrapSafeValue(value);\n }\n return _sanitizeHtml(this._doc, String(value)).toString();\n case SecurityContext.STYLE:\n if (allowSanitizationBypassOrThrow(value, BypassType.Style)) {\n return unwrapSafeValue(value);\n }\n return value as string;\n case SecurityContext.SCRIPT:\n if (allowSanitizationBypassOrThrow(value, BypassType.Script)) {\n return unwrapSafeValue(value);\n }\n throw new RuntimeError(\n RuntimeErrorCode.SANITIZATION_UNSAFE_SCRIPT,\n (typeof ngDevMode === 'undefined' || ngDevMode) &&\n 'unsafe value used in a script context',\n );\n case SecurityContext.URL:\n if (allowSanitizationBypassOrThrow(value, BypassType.Url)) {\n return unwrapSafeValue(value);\n }\n return _sanitizeUrl(String(value));\n case SecurityContext.RESOURCE_URL:\n if (allowSanitizationBypassOrThrow(value, BypassType.ResourceUrl)) {\n return unwrapSafeValue(value);\n }\n throw new RuntimeError(\n RuntimeErrorCode.SANITIZATION_UNSAFE_RESOURCE_URL,\n (typeof ngDevMode === 'undefined' || ngDevMode) &&\n `unsafe value used in a resource URL context (see ${XSS_SECURITY_URL})`,\n );\n default:\n throw new RuntimeError(\n RuntimeErrorCode.SANITIZATION_UNEXPECTED_CTX,\n (typeof ngDevMode === 'undefined' || ngDevMode) &&\n `Unexpected SecurityContext ${ctx} (see ${XSS_SECURITY_URL})`,\n );\n }\n }\n\n override bypassSecurityTrustHtml(value: string): SafeHtml {\n return bypassSanitizationTrustHtml(value);\n }\n override bypassSecurityTrustStyle(value: string): SafeStyle {\n return bypassSanitizationTrustStyle(value);\n }\n override bypassSecurityTrustScript(value: string): SafeScript {\n return bypassSanitizationTrustScript(value);\n }\n override bypassSecurityTrustUrl(value: string): SafeUrl {\n return bypassSanitizationTrustUrl(value);\n }\n override bypassSecurityTrustResourceUrl(value: string): SafeResourceUrl {\n return bypassSanitizationTrustResourceUrl(value);\n }\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.dev/license\n */\n\n/**\n * @module\n * @description\n * Entry point for all public APIs of the platform-browser package.\n */\n\nimport {Version} from '@angular/core';\n\n/**\n * @publicApi\n */\nexport const VERSION = /* @__PURE__ */ new Version('22.0.0-next.6');\n"],"names":["Meta","_doc","_dom","constructor","getDOM","addTag","tag","forceCreation","_getOrCreateElement","addTags","tags","reduce","result","push","getTag","attrSelector","querySelector","getTags","list","querySelectorAll","slice","call","updateTag","selector","_parseSelector","meta","_setMetaElementAttributes","removeTag","removeTagElement","remove","elem","filter","_containsAttributes","undefined","element","createElement","head","getElementsByTagName","appendChild","el","Object","keys","forEach","prop","setAttribute","_getMetaKeyMap","attr","name","every","key","getAttribute","META_KEYS_MAP","ɵfac","i0","ɵɵngDeclareFactory","minVersion","version","ngImport","type","DOCUMENT","target","ɵɵFactoryTarget","Injectable","ɵprov","ɵɵngDeclareInjectable","decorators","providedIn","Inject","httpEquiv","Title","getTitle","title","setTitle","newTitle","exportNgVar","value","COMPILED","ng","global","ChangeDetectionPerfRecord","msPerTick","numTicks","AngularProfiler","appRef","ref","injector","get","ApplicationRef","timeChangeDetection","config","record","profileName","console","profile","start","performance","now","tick","end","profileEnd","log","toFixed","PROFILER_GLOBAL_NAME","enableDebugTools","disableDebugTools","By","all","css","debugElement","nativeElement","elementMatches","directive","debugNode","providerTokens","indexOf","n","isElementNode","matches","msMatchesSelector","webkitMatchesSelector","HydrationFeatureKind","hydrationFeature","ɵkind","ɵproviders","ɵoptions","withNoHttpTransferCache","NoHttpTransferCache","withHttpTransferCacheOptions","options","HttpTransferCacheOptions","ɵwithHttpTransferCache","withI18nSupport","I18nSupport","ɵwithI18nSupport","withEventReplay","EventReplay","ɵwithEventReplay","withIncrementalHydration","IncrementalHydration","ɵwithIncrementalHydration","provideEnabledBlockingInitialNavigationDetector","provide","ENVIRONMENT_INITIALIZER","useValue","isEnabledBlockingInitialNavigation","inject","IS_ENABLED_BLOCKING_INITIAL_NAVIGATION","optional","Console","message","formatRuntimeError","warn","multi","provideClientHydration","features","providers","featuresKind","Set","add","length","hasHttpTransferCacheOptions","has","ngDevMode","RuntimeError","makeEnvironmentProviders","provideStabilityDebugging","withDomHydration","DomSanitizer","deps","useExisting","forwardRef","DomSanitizerImpl","args","sanitize","ctx","SecurityContext","NONE","HTML","allowSanitizationBypassOrThrow","unwrapSafeValue","_sanitizeHtml","String","toString","STYLE","SCRIPT","URL","_sanitizeUrl","RESOURCE_URL","XSS_SECURITY_URL","bypassSecurityTrustHtml","bypassSanitizationTrustHtml","bypassSecurityTrustStyle","bypassSanitizationTrustStyle","bypassSecurityTrustScript","bypassSanitizationTrustScript","bypassSecurityTrustUrl","bypassSanitizationTrustUrl","bypassSecurityTrustResourceUrl","bypassSanitizationTrustResourceUrl","VERSION","Version"],"mappings":"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"} |
| /** | ||
| * @license Angular v22.0.0-next.5 | ||
| * @license Angular v22.0.0-next.6 | ||
| * (c) 2010-2026 Google LLC. https://angular.dev/ | ||
@@ -40,3 +40,3 @@ * License: MIT | ||
| minVersion: "12.0.0", | ||
| version: "22.0.0-next.5", | ||
| version: "22.0.0-next.6", | ||
| ngImport: i0, | ||
@@ -51,3 +51,3 @@ type: DOMTestComponentRenderer, | ||
| minVersion: "12.0.0", | ||
| version: "22.0.0-next.5", | ||
| version: "22.0.0-next.6", | ||
| ngImport: i0, | ||
@@ -59,3 +59,3 @@ type: DOMTestComponentRenderer | ||
| minVersion: "12.0.0", | ||
| version: "22.0.0-next.5", | ||
| version: "22.0.0-next.6", | ||
| ngImport: i0, | ||
@@ -79,3 +79,3 @@ type: DOMTestComponentRenderer, | ||
| minVersion: "12.0.0", | ||
| version: "22.0.0-next.5", | ||
| version: "22.0.0-next.6", | ||
| ngImport: i0, | ||
@@ -88,3 +88,3 @@ type: BrowserTestingModule, | ||
| minVersion: "14.0.0", | ||
| version: "22.0.0-next.5", | ||
| version: "22.0.0-next.6", | ||
| ngImport: i0, | ||
@@ -96,3 +96,3 @@ type: BrowserTestingModule, | ||
| minVersion: "12.0.0", | ||
| version: "22.0.0-next.5", | ||
| version: "22.0.0-next.6", | ||
| ngImport: i0, | ||
@@ -112,3 +112,3 @@ type: BrowserTestingModule, | ||
| minVersion: "12.0.0", | ||
| version: "22.0.0-next.5", | ||
| version: "22.0.0-next.6", | ||
| ngImport: i0, | ||
@@ -115,0 +115,0 @@ type: BrowserTestingModule, |
+4
-4
| { | ||
| "name": "@angular/platform-browser", | ||
| "version": "22.0.0-next.5", | ||
| "version": "22.0.0-next.6", | ||
| "description": "Angular - library for using Angular in a web browser", | ||
@@ -14,5 +14,5 @@ "author": "angular", | ||
| "peerDependencies": { | ||
| "@angular/animations": "22.0.0-next.5", | ||
| "@angular/core": "22.0.0-next.5", | ||
| "@angular/common": "22.0.0-next.5" | ||
| "@angular/animations": "22.0.0-next.6", | ||
| "@angular/core": "22.0.0-next.6", | ||
| "@angular/common": "22.0.0-next.6" | ||
| }, | ||
@@ -19,0 +19,0 @@ "peerDependenciesMeta": { |
| /** | ||
| * @license Angular v22.0.0-next.5 | ||
| * @license Angular v22.0.0-next.6 | ||
| * (c) 2010-2026 Google LLC. https://angular.dev/ | ||
@@ -4,0 +4,0 @@ * License: MIT |
| /** | ||
| * @license Angular v22.0.0-next.5 | ||
| * @license Angular v22.0.0-next.6 | ||
| * (c) 2010-2026 Google LLC. https://angular.dev/ | ||
@@ -4,0 +4,0 @@ * License: MIT |
| /** | ||
| * @license Angular v22.0.0-next.5 | ||
| * @license Angular v22.0.0-next.6 | ||
| * (c) 2010-2026 Google LLC. https://angular.dev/ | ||
@@ -4,0 +4,0 @@ * License: MIT |
| /** | ||
| * @license Angular v22.0.0-next.5 | ||
| * @license Angular v22.0.0-next.6 | ||
| * (c) 2010-2026 Google LLC. https://angular.dev/ | ||
@@ -4,0 +4,0 @@ * License: MIT |
| /** | ||
| * @license Angular v22.0.0-next.5 | ||
| * @license Angular v22.0.0-next.6 | ||
| * (c) 2010-2026 Google LLC. https://angular.dev/ | ||
@@ -4,0 +4,0 @@ * License: MIT |
Network access
Supply chain riskThis module accesses the network.
Found 1 instance in 1 package
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Found 1 instance in 1 package
Network access
Supply chain riskThis module accesses the network.
Found 1 instance in 1 package
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Found 1 instance in 1 package