@angular/platform-browser
Advanced tools
| /** | ||
| * @license Angular v21.1.4 | ||
| * @license Angular v21.1.5 | ||
| * (c) 2010-2026 Google LLC. https://angular.dev/ | ||
@@ -132,3 +132,3 @@ * License: MIT | ||
| minVersion: "12.0.0", | ||
| version: "21.1.4", | ||
| version: "21.1.5", | ||
| ngImport: i0, | ||
@@ -141,3 +141,3 @@ type: BrowserXhr, | ||
| minVersion: "12.0.0", | ||
| version: "21.1.4", | ||
| version: "21.1.5", | ||
| ngImport: i0, | ||
@@ -149,3 +149,3 @@ type: BrowserXhr | ||
| minVersion: "12.0.0", | ||
| version: "21.1.4", | ||
| version: "21.1.5", | ||
| ngImport: i0, | ||
@@ -260,3 +260,3 @@ type: BrowserXhr, | ||
| minVersion: "12.0.0", | ||
| version: "21.1.4", | ||
| version: "21.1.5", | ||
| ngImport: i0, | ||
@@ -271,3 +271,3 @@ type: KeyEventsPlugin, | ||
| minVersion: "12.0.0", | ||
| version: "21.1.4", | ||
| version: "21.1.5", | ||
| ngImport: i0, | ||
@@ -279,3 +279,3 @@ type: KeyEventsPlugin | ||
| minVersion: "12.0.0", | ||
| version: "21.1.4", | ||
| version: "21.1.5", | ||
| ngImport: i0, | ||
@@ -399,3 +399,3 @@ type: KeyEventsPlugin, | ||
| minVersion: "12.0.0", | ||
| version: "21.1.4", | ||
| version: "21.1.5", | ||
| ngImport: i0, | ||
@@ -408,3 +408,3 @@ type: BrowserModule, | ||
| minVersion: "14.0.0", | ||
| version: "21.1.4", | ||
| version: "21.1.5", | ||
| ngImport: i0, | ||
@@ -416,3 +416,3 @@ type: BrowserModule, | ||
| minVersion: "12.0.0", | ||
| version: "21.1.4", | ||
| version: "21.1.5", | ||
| ngImport: i0, | ||
@@ -426,3 +426,3 @@ type: BrowserModule, | ||
| minVersion: "12.0.0", | ||
| version: "21.1.4", | ||
| version: "21.1.5", | ||
| ngImport: i0, | ||
@@ -429,0 +429,0 @@ type: BrowserModule, |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"_browser-chunk.mjs","sources":["../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/packages/platform-browser/src/browser/browser_adapter.ts","../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/packages/platform-browser/src/browser/testability.ts","../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/packages/platform-browser/src/browser/xhr.ts","../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/packages/platform-browser/src/dom/events/key_events.ts","../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/packages/platform-browser/src/browser.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 {\n ɵparseCookieValue as parseCookieValue,\n ɵsetRootDomAdapter as setRootDomAdapter,\n ɵDomAdapter as DomAdapter,\n} from '@angular/common';\n\n/**\n * A `DomAdapter` powered by full browser DOM APIs.\n *\n * @security Tread carefully! Interacting with the DOM directly is dangerous and\n * can introduce XSS risks.\n */\nexport class BrowserDomAdapter extends DomAdapter {\n override readonly supportsDOMEvents: boolean = true;\n\n static makeCurrent() {\n setRootDomAdapter(new BrowserDomAdapter());\n }\n\n override onAndCancel(el: Node, evt: any, listener: any, options: any): Function {\n el.addEventListener(evt, listener, options);\n return () => {\n el.removeEventListener(evt, listener, options);\n };\n }\n override dispatchEvent(el: Node, evt: any) {\n el.dispatchEvent(evt);\n }\n override remove(node: Node): void {\n (node as Element | Text | Comment).remove();\n }\n override createElement(tagName: string, doc?: Document): HTMLElement {\n doc = doc || this.getDefaultDocument();\n return doc.createElement(tagName);\n }\n override createHtmlDocument(): Document {\n return document.implementation.createHTMLDocument('fakeTitle');\n }\n override getDefaultDocument(): Document {\n return document;\n }\n\n override isElementNode(node: Node): boolean {\n return node.nodeType === Node.ELEMENT_NODE;\n }\n\n override isShadowRoot(node: any): boolean {\n return node instanceof DocumentFragment;\n }\n\n /** @deprecated No longer being used in Ivy code. To be removed in version 14. */\n override getGlobalEventTarget(doc: Document, target: string): EventTarget | null {\n if (target === 'window') {\n return window;\n }\n if (target === 'document') {\n return doc;\n }\n if (target === 'body') {\n return doc.body;\n }\n return null;\n }\n override getBaseHref(doc: Document): string | null {\n const href = getBaseElementHref();\n return href == null ? null : relativePath(href);\n }\n override resetBaseElement(): void {\n baseElement = null;\n }\n override getUserAgent(): string {\n return window.navigator.userAgent;\n }\n override getCookie(name: string): string | null {\n return parseCookieValue(document.cookie, name);\n }\n}\n\nlet baseElement: HTMLElement | null = null;\nfunction getBaseElementHref(): string | null {\n baseElement = baseElement || document.head.querySelector('base');\n return baseElement ? baseElement.getAttribute('href') : null;\n}\n\nfunction relativePath(url: string): string {\n // The base URL doesn't really matter, we just need it so relative paths have something\n // to resolve against. In the browser `HTMLBaseElement.href` is always absolute.\n return new URL(url, document.baseURI).pathname;\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 {\n GetTestability,\n Testability,\n TestabilityRegistry,\n ɵglobal as global,\n ɵRuntimeError as RuntimeError,\n} from '@angular/core';\n\nimport {RuntimeErrorCode} from '../errors';\n\nexport class BrowserGetTestability implements GetTestability {\n addToWindow(registry: TestabilityRegistry): void {\n global['getAngularTestability'] = (elem: any, findInAncestors: boolean = true) => {\n const testability = registry.findTestabilityInTree(elem, findInAncestors);\n if (testability == null) {\n throw new RuntimeError(\n RuntimeErrorCode.TESTABILITY_NOT_FOUND,\n (typeof ngDevMode === 'undefined' || ngDevMode) &&\n 'Could not find testability for element.',\n );\n }\n return testability;\n };\n\n global['getAllAngularTestabilities'] = () => registry.getAllTestabilities();\n\n global['getAllAngularRootElements'] = () => registry.getAllRootElements();\n\n const whenAllStable = (callback: () => void) => {\n const testabilities = global['getAllAngularTestabilities']() as Testability[];\n let count = testabilities.length;\n const decrement = function () {\n count--;\n if (count == 0) {\n callback();\n }\n };\n testabilities.forEach((testability) => {\n testability.whenStable(decrement);\n });\n };\n\n if (!global['frameworkStabilizers']) {\n global['frameworkStabilizers'] = [];\n }\n global['frameworkStabilizers'].push(whenAllStable);\n }\n\n findTestabilityInTree(\n registry: TestabilityRegistry,\n elem: any,\n findInAncestors: boolean,\n ): Testability | null {\n if (elem == null) {\n return null;\n }\n const t = registry.getTestability(elem);\n if (t != null) {\n return t;\n } else if (!findInAncestors) {\n return null;\n }\n if (getDOM().isShadowRoot(elem)) {\n return this.findTestabilityInTree(registry, (<any>elem).host, true);\n }\n return this.findTestabilityInTree(registry, elem.parentElement, true);\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 {XhrFactory} from '@angular/common';\nimport {Injectable} from '@angular/core';\n\n/**\n * A factory for `HttpXhrBackend` that uses the `XMLHttpRequest` browser API.\n */\n@Injectable()\nexport class BrowserXhr implements XhrFactory {\n build(): XMLHttpRequest {\n return new XMLHttpRequest();\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, ɵgetDOM as getDOM} from '@angular/common';\nimport {Inject, Injectable, type ListenerOptions, NgZone} from '@angular/core';\n\nimport {EventManagerPlugin} from './event_manager_plugin';\n\n/**\n * Defines supported modifiers for key events.\n */\nconst MODIFIER_KEYS = ['alt', 'control', 'meta', 'shift'];\n\n// The following values are here for cross-browser compatibility and to match the W3C standard\n// cf https://www.w3.org/TR/DOM-Level-3-Events-key/\nconst _keyMap: {[k: string]: string} = {\n '\\b': 'Backspace',\n '\\t': 'Tab',\n '\\x7F': 'Delete',\n '\\x1B': 'Escape',\n 'Del': 'Delete',\n 'Esc': 'Escape',\n 'Left': 'ArrowLeft',\n 'Right': 'ArrowRight',\n 'Up': 'ArrowUp',\n 'Down': 'ArrowDown',\n 'Menu': 'ContextMenu',\n 'Scroll': 'ScrollLock',\n 'Win': 'OS',\n};\n\n/**\n * Retrieves modifiers from key-event objects.\n */\nconst MODIFIER_KEY_GETTERS: {[key: string]: (event: KeyboardEvent) => boolean} = {\n 'alt': (event: KeyboardEvent) => event.altKey,\n 'control': (event: KeyboardEvent) => event.ctrlKey,\n 'meta': (event: KeyboardEvent) => event.metaKey,\n 'shift': (event: KeyboardEvent) => event.shiftKey,\n};\n\n/**\n * A browser plug-in that provides support for handling of key events in Angular.\n */\n@Injectable()\nexport class KeyEventsPlugin extends EventManagerPlugin {\n /**\n * Initializes an instance of the browser plug-in.\n * @param doc The document in which key events will be detected.\n */\n constructor(@Inject(DOCUMENT) doc: any) {\n super(doc);\n }\n\n /**\n * Reports whether a named key event is supported.\n * @param eventName The event name to query.\n * @return True if the named key event is supported.\n */\n override supports(eventName: string): boolean {\n return KeyEventsPlugin.parseEventName(eventName) != null;\n }\n\n /**\n * Registers a handler for a specific element and key event.\n * @param element The HTML element to receive event notifications.\n * @param eventName The name of the key event to listen for.\n * @param handler A function to call when the notification occurs. Receives the\n * event object as an argument.\n * @returns The key event that was registered.\n */\n override addEventListener(\n element: HTMLElement,\n eventName: string,\n handler: Function,\n options?: ListenerOptions,\n ): Function {\n const parsedEvent = KeyEventsPlugin.parseEventName(eventName)!;\n\n const outsideHandler = KeyEventsPlugin.eventCallback(\n parsedEvent['fullKey'],\n handler,\n this.manager.getZone(),\n );\n\n return this.manager.getZone().runOutsideAngular(() => {\n return getDOM().onAndCancel(element, parsedEvent['domEventName'], outsideHandler, options);\n });\n }\n\n /**\n * Parses the user provided full keyboard event definition and normalizes it for\n * later internal use. It ensures the string is all lowercase, converts special\n * characters to a standard spelling, and orders all the values consistently.\n *\n * @param eventName The name of the key event to listen for.\n * @returns an object with the full, normalized string, and the dom event name\n * or null in the case when the event doesn't match a keyboard event.\n */\n static parseEventName(eventName: string): {fullKey: string; domEventName: string} | null {\n const parts: string[] = eventName.toLowerCase().split('.');\n\n const domEventName = parts.shift();\n if (parts.length === 0 || !(domEventName === 'keydown' || domEventName === 'keyup')) {\n return null;\n }\n\n const key = KeyEventsPlugin._normalizeKey(parts.pop()!);\n\n let fullKey = '';\n let codeIX = parts.indexOf('code');\n if (codeIX > -1) {\n parts.splice(codeIX, 1);\n fullKey = 'code.';\n }\n MODIFIER_KEYS.forEach((modifierName) => {\n const index: number = parts.indexOf(modifierName);\n if (index > -1) {\n parts.splice(index, 1);\n fullKey += modifierName + '.';\n }\n });\n fullKey += key;\n\n if (parts.length != 0 || key.length === 0) {\n // returning null instead of throwing to let another plugin process the event\n return null;\n }\n\n // NOTE: Please don't rewrite this as so, as it will break JSCompiler property renaming.\n // The code must remain in the `result['domEventName']` form.\n // return {domEventName, fullKey};\n const result: {fullKey: string; domEventName: string} = {} as any;\n result['domEventName'] = domEventName;\n result['fullKey'] = fullKey;\n return result;\n }\n\n /**\n * Determines whether the actual keys pressed match the configured key code string.\n * The `fullKeyCode` event is normalized in the `parseEventName` method when the\n * event is attached to the DOM during the `addEventListener` call. This is unseen\n * by the end user and is normalized for internal consistency and parsing.\n *\n * @param event The keyboard event.\n * @param fullKeyCode The normalized user defined expected key event string\n * @returns boolean.\n */\n static matchEventFullKeyCode(event: KeyboardEvent, fullKeyCode: string): boolean {\n let keycode = _keyMap[event.key] || event.key;\n let key = '';\n if (fullKeyCode.indexOf('code.') > -1) {\n keycode = event.code;\n key = 'code.';\n }\n // the keycode could be unidentified so we have to check here\n if (keycode == null || !keycode) return false;\n keycode = keycode.toLowerCase();\n if (keycode === ' ') {\n keycode = 'space'; // for readability\n } else if (keycode === '.') {\n keycode = 'dot'; // because '.' is used as a separator in event names\n }\n MODIFIER_KEYS.forEach((modifierName) => {\n if (modifierName !== keycode) {\n const modifierGetter = MODIFIER_KEY_GETTERS[modifierName];\n if (modifierGetter(event)) {\n key += modifierName + '.';\n }\n }\n });\n key += keycode;\n return key === fullKeyCode;\n }\n\n /**\n * Configures a handler callback for a key event.\n * @param fullKey The event name that combines all simultaneous keystrokes.\n * @param handler The function that responds to the key event.\n * @param zone The zone in which the event occurred.\n * @returns A callback function.\n */\n static eventCallback(fullKey: string, handler: Function, zone: NgZone): Function {\n return (event: KeyboardEvent) => {\n if (KeyEventsPlugin.matchEventFullKeyCode(event, fullKey)) {\n zone.runGuarded(() => handler(event));\n }\n };\n }\n\n /** @internal */\n static _normalizeKey(keyName: string): string {\n return keyName === 'esc' ? 'escape' : keyName;\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 {\n CommonModule,\n DOCUMENT,\n XhrFactory,\n ɵPLATFORM_BROWSER_ID as PLATFORM_BROWSER_ID,\n} from '@angular/common';\nimport {\n ApplicationConfig,\n ApplicationModule,\n ApplicationRef,\n createPlatformFactory,\n ErrorHandler,\n InjectionToken,\n NgModule,\n PLATFORM_ID,\n PLATFORM_INITIALIZER,\n platformCore,\n PlatformRef,\n Provider,\n RendererFactory2,\n StaticProvider,\n Testability,\n Type,\n ɵINJECTOR_SCOPE as INJECTOR_SCOPE,\n ɵinternalCreateApplication as internalCreateApplication,\n ɵRuntimeError as RuntimeError,\n ɵsetDocument,\n ɵTESTABILITY as TESTABILITY,\n ɵTESTABILITY_GETTER as TESTABILITY_GETTER,\n inject,\n ɵresolveComponentResources as resolveComponentResources,\n} from '@angular/core';\n\nimport {BrowserDomAdapter} from './browser/browser_adapter';\nimport {BrowserGetTestability} from './browser/testability';\nimport {BrowserXhr} from './browser/xhr';\nimport {DomRendererFactory2} from './dom/dom_renderer';\nimport {DomEventsPlugin} from './dom/events/dom_events';\nimport {EVENT_MANAGER_PLUGINS, EventManager} from './dom/events/event_manager';\nimport {KeyEventsPlugin} from './dom/events/key_events';\nimport {SharedStylesHost} from './dom/shared_styles_host';\nimport {RuntimeErrorCode} from './errors';\n\n/**\n * A context object that can be passed to `bootstrapApplication` to provide a pre-existing platform\n * injector.\n *\n * @publicApi\n */\nexport interface BootstrapContext {\n /**\n * A reference to a platform.\n */\n platformRef: PlatformRef;\n}\n\n/**\n * Bootstraps an instance of an Angular application and renders a standalone component as the\n * application's root component. More information about standalone components can be found in [this\n * guide](guide/components/importing).\n *\n * @usageNotes\n * The root component passed into this function **must** be a standalone one\n *\n * ```angular-ts\n * @Component({\n * template: 'Hello world!'\n * })\n * class Root {}\n *\n * const appRef: ApplicationRef = await bootstrapApplication(Root);\n * ```\n *\n * You can add the list of providers that should be available in the application injector by\n * specifying the `providers` field in an object passed as the second argument:\n *\n * ```ts\n * await bootstrapApplication(Root, {\n * providers: [\n * {provide: BACKEND_URL, useValue: 'https://yourdomain.com/api'}\n * ]\n * });\n * ```\n *\n * The `importProvidersFrom` helper method can be used to collect all providers from any\n * existing NgModule (and transitively from all NgModules that it imports):\n *\n * ```ts\n * await bootstrapApplication(Root, {\n * providers: [\n * importProvidersFrom(SomeNgModule)\n * ]\n * });\n * ```\n *\n * Note: the `bootstrapApplication` method doesn't include [Testability](api/core/Testability) by\n * default. You can add [Testability](api/core/Testability) by getting the list of necessary\n * providers using `provideProtractorTestingSupport()` function and adding them into the `providers`\n * array, for example:\n *\n * ```ts\n * import {provideProtractorTestingSupport} from '@angular/platform-browser';\n *\n * await bootstrapApplication(Root, {providers: [provideProtractorTestingSupport()]});\n * ```\n *\n * @param rootComponent A reference to a standalone component that should be rendered.\n * @param options Extra configuration for the bootstrap operation, see `ApplicationConfig` for\n * additional info.\n * @param context Optional context object that can be used to provide a pre-existing\n * platform injector. This is useful for advanced use-cases, for example, server-side\n * rendering, where the platform is created for each request.\n * @returns A promise that returns an `ApplicationRef` instance once resolved.\n *\n * @publicApi\n */\nexport async function bootstrapApplication(\n rootComponent: Type<unknown>,\n options?: ApplicationConfig,\n context?: BootstrapContext,\n): Promise<ApplicationRef> {\n const config = {\n rootComponent,\n ...createProvidersConfig(options, context),\n };\n\n if ((typeof ngJitMode === 'undefined' || ngJitMode) && typeof fetch === 'function') {\n await resolveJitResources();\n }\n\n return internalCreateApplication(config);\n}\n\n/**\n * Create an instance of an Angular application without bootstrapping any components. This is useful\n * for the situation where one wants to decouple application environment creation (a platform and\n * associated injectors) from rendering components on a screen. Components can be subsequently\n * bootstrapped on the returned `ApplicationRef`.\n *\n * @param options Extra configuration for the application environment, see `ApplicationConfig` for\n * additional info.\n * @param context Optional context object that can be used to provide a pre-existing\n * platform injector. This is useful for advanced use-cases, for example, server-side\n * rendering, where the platform is created for each request.\n * @returns A promise that returns an `ApplicationRef` instance once resolved.\n *\n * @publicApi\n */\nexport async function createApplication(\n options?: ApplicationConfig,\n context?: BootstrapContext,\n): Promise<ApplicationRef> {\n if ((typeof ngJitMode === 'undefined' || ngJitMode) && typeof fetch === 'function') {\n await resolveJitResources();\n }\n\n return internalCreateApplication(createProvidersConfig(options, context));\n}\n\nfunction createProvidersConfig(options?: ApplicationConfig, context?: BootstrapContext) {\n return {\n platformRef: context?.platformRef,\n appProviders: [...BROWSER_MODULE_PROVIDERS, ...(options?.providers ?? [])],\n platformProviders: INTERNAL_BROWSER_PLATFORM_PROVIDERS,\n };\n}\n\n/** Attempt to resolve component resources before bootstrapping in JIT mode. */\nasync function resolveJitResources(): Promise<void> {\n try {\n return await resolveComponentResources(fetch);\n } catch (error) {\n // Log, but don't block bootstrapping on error.\n // tslint:disable-next-line:no-console\n console.error(error);\n }\n}\n\n/**\n * Returns a set of providers required to setup [Testability](api/core/Testability) for an\n * application bootstrapped using the `bootstrapApplication` function. The set of providers is\n * needed to support testing an application with Protractor (which relies on the Testability APIs\n * to be present).\n *\n * @returns An array of providers required to setup Testability for an application and make it\n * available for testing using Protractor.\n *\n * @publicApi\n */\nexport function provideProtractorTestingSupport(): Provider[] {\n // Return a copy to prevent changes to the original array in case any in-place\n // alterations are performed to the `provideProtractorTestingSupport` call results in app\n // code.\n return [...TESTABILITY_PROVIDERS];\n}\n\nexport function initDomAdapter() {\n BrowserDomAdapter.makeCurrent();\n}\n\nexport function errorHandler(): ErrorHandler {\n return new ErrorHandler();\n}\n\nexport function _document(): any {\n // Tell ivy about the global document\n ɵsetDocument(document);\n return document;\n}\n\nconst INTERNAL_BROWSER_PLATFORM_PROVIDERS: StaticProvider[] = [\n {provide: PLATFORM_ID, useValue: PLATFORM_BROWSER_ID},\n {provide: PLATFORM_INITIALIZER, useValue: initDomAdapter, multi: true},\n {provide: DOCUMENT, useFactory: _document},\n];\n\n/**\n * A factory function that returns a `PlatformRef` instance associated with browser service\n * providers.\n *\n * @publicApi\n */\nexport const platformBrowser: (extraProviders?: StaticProvider[]) => PlatformRef =\n createPlatformFactory(platformCore, 'browser', INTERNAL_BROWSER_PLATFORM_PROVIDERS);\n\n/**\n * Internal marker to signal whether providers from the `BrowserModule` are already present in DI.\n * This is needed to avoid loading `BrowserModule` providers twice. We can't rely on the\n * `BrowserModule` presence itself, since the standalone-based bootstrap just imports\n * `BrowserModule` providers without referencing the module itself.\n */\nconst BROWSER_MODULE_PROVIDERS_MARKER = new InjectionToken(\n typeof ngDevMode === 'undefined' || ngDevMode ? 'BrowserModule Providers Marker' : '',\n);\n\nconst TESTABILITY_PROVIDERS = [\n {\n provide: TESTABILITY_GETTER,\n useClass: BrowserGetTestability,\n },\n {\n provide: TESTABILITY,\n useClass: Testability,\n },\n {\n provide: Testability, // Also provide as `Testability` for backwards-compatibility.\n useClass: Testability,\n },\n];\n\nconst BROWSER_MODULE_PROVIDERS: Provider[] = [\n {provide: INJECTOR_SCOPE, useValue: 'root'},\n {provide: ErrorHandler, useFactory: errorHandler},\n {\n provide: EVENT_MANAGER_PLUGINS,\n useClass: DomEventsPlugin,\n multi: true,\n },\n {provide: EVENT_MANAGER_PLUGINS, useClass: KeyEventsPlugin, multi: true},\n DomRendererFactory2,\n SharedStylesHost,\n EventManager,\n {provide: RendererFactory2, useExisting: DomRendererFactory2},\n {provide: XhrFactory, useClass: BrowserXhr},\n typeof ngDevMode === 'undefined' || ngDevMode\n ? {provide: BROWSER_MODULE_PROVIDERS_MARKER, useValue: true}\n : [],\n];\n\n/**\n * Exports required infrastructure for all Angular apps.\n * Included by default in all Angular apps created with the CLI\n * `new` command.\n * Re-exports `CommonModule` and `ApplicationModule`, making their\n * exports and providers available to all apps.\n *\n * @publicApi\n */\n@NgModule({\n providers: [...BROWSER_MODULE_PROVIDERS, ...TESTABILITY_PROVIDERS],\n exports: [CommonModule, ApplicationModule],\n})\nexport class BrowserModule {\n constructor() {\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n const providersAlreadyPresent = inject(BROWSER_MODULE_PROVIDERS_MARKER, {\n optional: true,\n skipSelf: true,\n });\n\n if (providersAlreadyPresent) {\n throw new RuntimeError(\n RuntimeErrorCode.BROWSER_MODULE_ALREADY_LOADED,\n `Providers from the \\`BrowserModule\\` have already been loaded. If you need access ` +\n `to common directives such as NgIf and NgFor, import the \\`CommonModule\\` instead.`,\n );\n }\n }\n }\n}\n"],"names":["BrowserDomAdapter","DomAdapter","supportsDOMEvents","makeCurrent","setRootDomAdapter","onAndCancel","el","evt","listener","options","addEventListener","removeEventListener","dispatchEvent","remove","node","createElement","tagName","doc","getDefaultDocument","createHtmlDocument","document","implementation","createHTMLDocument","isElementNode","nodeType","Node","ELEMENT_NODE","isShadowRoot","DocumentFragment","getGlobalEventTarget","target","window","body","getBaseHref","href","getBaseElementHref","relativePath","resetBaseElement","baseElement","getUserAgent","navigator","userAgent","getCookie","name","parseCookieValue","cookie","head","querySelector","getAttribute","url","URL","baseURI","pathname","BrowserGetTestability","addToWindow","registry","global","elem","findInAncestors","testability","findTestabilityInTree","RuntimeError","ngDevMode","getAllTestabilities","getAllRootElements","whenAllStable","callback","testabilities","count","length","decrement","forEach","whenStable","push","t","getTestability","getDOM","host","parentElement","BrowserXhr","build","XMLHttpRequest","deps","i0","ɵɵFactoryTarget","Injectable","decorators","MODIFIER_KEYS","_keyMap","MODIFIER_KEY_GETTERS","event","altKey","ctrlKey","metaKey","shiftKey","KeyEventsPlugin","EventManagerPlugin","constructor","supports","eventName","parseEventName","element","handler","parsedEvent","outsideHandler","eventCallback","manager","getZone","runOutsideAngular","parts","toLowerCase","split","domEventName","shift","key","_normalizeKey","pop","fullKey","codeIX","indexOf","splice","modifierName","index","result","matchEventFullKeyCode","fullKeyCode","keycode","code","modifierGetter","zone","runGuarded","keyName","ɵfac","ɵɵngDeclareFactory","minVersion","version","ngImport","type","DOCUMENT","Inject","bootstrapApplication","rootComponent","context","config","createProvidersConfig","ngJitMode","fetch","resolveJitResources","internalCreateApplication","createApplication","platformRef","appProviders","BROWSER_MODULE_PROVIDERS","providers","platformProviders","INTERNAL_BROWSER_PLATFORM_PROVIDERS","resolveComponentResources","error","console","provideProtractorTestingSupport","TESTABILITY_PROVIDERS","initDomAdapter","errorHandler","ErrorHandler","_document","ɵsetDocument","provide","PLATFORM_ID","useValue","PLATFORM_BROWSER_ID","PLATFORM_INITIALIZER","multi","useFactory","platformBrowser","createPlatformFactory","platformCore","BROWSER_MODULE_PROVIDERS_MARKER","InjectionToken","TESTABILITY_GETTER","useClass","TESTABILITY","Testability","INJECTOR_SCOPE","EVENT_MANAGER_PLUGINS","DomEventsPlugin","DomRendererFactory2","SharedStylesHost","EventManager","RendererFactory2","useExisting","XhrFactory","BrowserModule","providersAlreadyPresent","inject","optional","skipSelf","NgModule","exports","CommonModule","ApplicationModule","imports","args"],"mappings":"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"} | ||
| {"version":3,"file":"_browser-chunk.mjs","sources":["../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/packages/platform-browser/src/browser/browser_adapter.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/packages/platform-browser/src/browser/testability.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/packages/platform-browser/src/browser/xhr.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/packages/platform-browser/src/dom/events/key_events.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/packages/platform-browser/src/browser.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 {\n ɵparseCookieValue as parseCookieValue,\n ɵsetRootDomAdapter as setRootDomAdapter,\n ɵDomAdapter as DomAdapter,\n} from '@angular/common';\n\n/**\n * A `DomAdapter` powered by full browser DOM APIs.\n *\n * @security Tread carefully! Interacting with the DOM directly is dangerous and\n * can introduce XSS risks.\n */\nexport class BrowserDomAdapter extends DomAdapter {\n override readonly supportsDOMEvents: boolean = true;\n\n static makeCurrent() {\n setRootDomAdapter(new BrowserDomAdapter());\n }\n\n override onAndCancel(el: Node, evt: any, listener: any, options: any): Function {\n el.addEventListener(evt, listener, options);\n return () => {\n el.removeEventListener(evt, listener, options);\n };\n }\n override dispatchEvent(el: Node, evt: any) {\n el.dispatchEvent(evt);\n }\n override remove(node: Node): void {\n (node as Element | Text | Comment).remove();\n }\n override createElement(tagName: string, doc?: Document): HTMLElement {\n doc = doc || this.getDefaultDocument();\n return doc.createElement(tagName);\n }\n override createHtmlDocument(): Document {\n return document.implementation.createHTMLDocument('fakeTitle');\n }\n override getDefaultDocument(): Document {\n return document;\n }\n\n override isElementNode(node: Node): boolean {\n return node.nodeType === Node.ELEMENT_NODE;\n }\n\n override isShadowRoot(node: any): boolean {\n return node instanceof DocumentFragment;\n }\n\n /** @deprecated No longer being used in Ivy code. To be removed in version 14. */\n override getGlobalEventTarget(doc: Document, target: string): EventTarget | null {\n if (target === 'window') {\n return window;\n }\n if (target === 'document') {\n return doc;\n }\n if (target === 'body') {\n return doc.body;\n }\n return null;\n }\n override getBaseHref(doc: Document): string | null {\n const href = getBaseElementHref();\n return href == null ? null : relativePath(href);\n }\n override resetBaseElement(): void {\n baseElement = null;\n }\n override getUserAgent(): string {\n return window.navigator.userAgent;\n }\n override getCookie(name: string): string | null {\n return parseCookieValue(document.cookie, name);\n }\n}\n\nlet baseElement: HTMLElement | null = null;\nfunction getBaseElementHref(): string | null {\n baseElement = baseElement || document.head.querySelector('base');\n return baseElement ? baseElement.getAttribute('href') : null;\n}\n\nfunction relativePath(url: string): string {\n // The base URL doesn't really matter, we just need it so relative paths have something\n // to resolve against. In the browser `HTMLBaseElement.href` is always absolute.\n return new URL(url, document.baseURI).pathname;\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 {\n GetTestability,\n Testability,\n TestabilityRegistry,\n ɵglobal as global,\n ɵRuntimeError as RuntimeError,\n} from '@angular/core';\n\nimport {RuntimeErrorCode} from '../errors';\n\nexport class BrowserGetTestability implements GetTestability {\n addToWindow(registry: TestabilityRegistry): void {\n global['getAngularTestability'] = (elem: any, findInAncestors: boolean = true) => {\n const testability = registry.findTestabilityInTree(elem, findInAncestors);\n if (testability == null) {\n throw new RuntimeError(\n RuntimeErrorCode.TESTABILITY_NOT_FOUND,\n (typeof ngDevMode === 'undefined' || ngDevMode) &&\n 'Could not find testability for element.',\n );\n }\n return testability;\n };\n\n global['getAllAngularTestabilities'] = () => registry.getAllTestabilities();\n\n global['getAllAngularRootElements'] = () => registry.getAllRootElements();\n\n const whenAllStable = (callback: () => void) => {\n const testabilities = global['getAllAngularTestabilities']() as Testability[];\n let count = testabilities.length;\n const decrement = function () {\n count--;\n if (count == 0) {\n callback();\n }\n };\n testabilities.forEach((testability) => {\n testability.whenStable(decrement);\n });\n };\n\n if (!global['frameworkStabilizers']) {\n global['frameworkStabilizers'] = [];\n }\n global['frameworkStabilizers'].push(whenAllStable);\n }\n\n findTestabilityInTree(\n registry: TestabilityRegistry,\n elem: any,\n findInAncestors: boolean,\n ): Testability | null {\n if (elem == null) {\n return null;\n }\n const t = registry.getTestability(elem);\n if (t != null) {\n return t;\n } else if (!findInAncestors) {\n return null;\n }\n if (getDOM().isShadowRoot(elem)) {\n return this.findTestabilityInTree(registry, (<any>elem).host, true);\n }\n return this.findTestabilityInTree(registry, elem.parentElement, true);\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 {XhrFactory} from '@angular/common';\nimport {Injectable} from '@angular/core';\n\n/**\n * A factory for `HttpXhrBackend` that uses the `XMLHttpRequest` browser API.\n */\n@Injectable()\nexport class BrowserXhr implements XhrFactory {\n build(): XMLHttpRequest {\n return new XMLHttpRequest();\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, ɵgetDOM as getDOM} from '@angular/common';\nimport {Inject, Injectable, type ListenerOptions, NgZone} from '@angular/core';\n\nimport {EventManagerPlugin} from './event_manager_plugin';\n\n/**\n * Defines supported modifiers for key events.\n */\nconst MODIFIER_KEYS = ['alt', 'control', 'meta', 'shift'];\n\n// The following values are here for cross-browser compatibility and to match the W3C standard\n// cf https://www.w3.org/TR/DOM-Level-3-Events-key/\nconst _keyMap: {[k: string]: string} = {\n '\\b': 'Backspace',\n '\\t': 'Tab',\n '\\x7F': 'Delete',\n '\\x1B': 'Escape',\n 'Del': 'Delete',\n 'Esc': 'Escape',\n 'Left': 'ArrowLeft',\n 'Right': 'ArrowRight',\n 'Up': 'ArrowUp',\n 'Down': 'ArrowDown',\n 'Menu': 'ContextMenu',\n 'Scroll': 'ScrollLock',\n 'Win': 'OS',\n};\n\n/**\n * Retrieves modifiers from key-event objects.\n */\nconst MODIFIER_KEY_GETTERS: {[key: string]: (event: KeyboardEvent) => boolean} = {\n 'alt': (event: KeyboardEvent) => event.altKey,\n 'control': (event: KeyboardEvent) => event.ctrlKey,\n 'meta': (event: KeyboardEvent) => event.metaKey,\n 'shift': (event: KeyboardEvent) => event.shiftKey,\n};\n\n/**\n * A browser plug-in that provides support for handling of key events in Angular.\n */\n@Injectable()\nexport class KeyEventsPlugin extends EventManagerPlugin {\n /**\n * Initializes an instance of the browser plug-in.\n * @param doc The document in which key events will be detected.\n */\n constructor(@Inject(DOCUMENT) doc: any) {\n super(doc);\n }\n\n /**\n * Reports whether a named key event is supported.\n * @param eventName The event name to query.\n * @return True if the named key event is supported.\n */\n override supports(eventName: string): boolean {\n return KeyEventsPlugin.parseEventName(eventName) != null;\n }\n\n /**\n * Registers a handler for a specific element and key event.\n * @param element The HTML element to receive event notifications.\n * @param eventName The name of the key event to listen for.\n * @param handler A function to call when the notification occurs. Receives the\n * event object as an argument.\n * @returns The key event that was registered.\n */\n override addEventListener(\n element: HTMLElement,\n eventName: string,\n handler: Function,\n options?: ListenerOptions,\n ): Function {\n const parsedEvent = KeyEventsPlugin.parseEventName(eventName)!;\n\n const outsideHandler = KeyEventsPlugin.eventCallback(\n parsedEvent['fullKey'],\n handler,\n this.manager.getZone(),\n );\n\n return this.manager.getZone().runOutsideAngular(() => {\n return getDOM().onAndCancel(element, parsedEvent['domEventName'], outsideHandler, options);\n });\n }\n\n /**\n * Parses the user provided full keyboard event definition and normalizes it for\n * later internal use. It ensures the string is all lowercase, converts special\n * characters to a standard spelling, and orders all the values consistently.\n *\n * @param eventName The name of the key event to listen for.\n * @returns an object with the full, normalized string, and the dom event name\n * or null in the case when the event doesn't match a keyboard event.\n */\n static parseEventName(eventName: string): {fullKey: string; domEventName: string} | null {\n const parts: string[] = eventName.toLowerCase().split('.');\n\n const domEventName = parts.shift();\n if (parts.length === 0 || !(domEventName === 'keydown' || domEventName === 'keyup')) {\n return null;\n }\n\n const key = KeyEventsPlugin._normalizeKey(parts.pop()!);\n\n let fullKey = '';\n let codeIX = parts.indexOf('code');\n if (codeIX > -1) {\n parts.splice(codeIX, 1);\n fullKey = 'code.';\n }\n MODIFIER_KEYS.forEach((modifierName) => {\n const index: number = parts.indexOf(modifierName);\n if (index > -1) {\n parts.splice(index, 1);\n fullKey += modifierName + '.';\n }\n });\n fullKey += key;\n\n if (parts.length != 0 || key.length === 0) {\n // returning null instead of throwing to let another plugin process the event\n return null;\n }\n\n // NOTE: Please don't rewrite this as so, as it will break JSCompiler property renaming.\n // The code must remain in the `result['domEventName']` form.\n // return {domEventName, fullKey};\n const result: {fullKey: string; domEventName: string} = {} as any;\n result['domEventName'] = domEventName;\n result['fullKey'] = fullKey;\n return result;\n }\n\n /**\n * Determines whether the actual keys pressed match the configured key code string.\n * The `fullKeyCode` event is normalized in the `parseEventName` method when the\n * event is attached to the DOM during the `addEventListener` call. This is unseen\n * by the end user and is normalized for internal consistency and parsing.\n *\n * @param event The keyboard event.\n * @param fullKeyCode The normalized user defined expected key event string\n * @returns boolean.\n */\n static matchEventFullKeyCode(event: KeyboardEvent, fullKeyCode: string): boolean {\n let keycode = _keyMap[event.key] || event.key;\n let key = '';\n if (fullKeyCode.indexOf('code.') > -1) {\n keycode = event.code;\n key = 'code.';\n }\n // the keycode could be unidentified so we have to check here\n if (keycode == null || !keycode) return false;\n keycode = keycode.toLowerCase();\n if (keycode === ' ') {\n keycode = 'space'; // for readability\n } else if (keycode === '.') {\n keycode = 'dot'; // because '.' is used as a separator in event names\n }\n MODIFIER_KEYS.forEach((modifierName) => {\n if (modifierName !== keycode) {\n const modifierGetter = MODIFIER_KEY_GETTERS[modifierName];\n if (modifierGetter(event)) {\n key += modifierName + '.';\n }\n }\n });\n key += keycode;\n return key === fullKeyCode;\n }\n\n /**\n * Configures a handler callback for a key event.\n * @param fullKey The event name that combines all simultaneous keystrokes.\n * @param handler The function that responds to the key event.\n * @param zone The zone in which the event occurred.\n * @returns A callback function.\n */\n static eventCallback(fullKey: string, handler: Function, zone: NgZone): Function {\n return (event: KeyboardEvent) => {\n if (KeyEventsPlugin.matchEventFullKeyCode(event, fullKey)) {\n zone.runGuarded(() => handler(event));\n }\n };\n }\n\n /** @internal */\n static _normalizeKey(keyName: string): string {\n return keyName === 'esc' ? 'escape' : keyName;\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 {\n CommonModule,\n DOCUMENT,\n XhrFactory,\n ɵPLATFORM_BROWSER_ID as PLATFORM_BROWSER_ID,\n} from '@angular/common';\nimport {\n ApplicationConfig,\n ApplicationModule,\n ApplicationRef,\n createPlatformFactory,\n ErrorHandler,\n InjectionToken,\n NgModule,\n PLATFORM_ID,\n PLATFORM_INITIALIZER,\n platformCore,\n PlatformRef,\n Provider,\n RendererFactory2,\n StaticProvider,\n Testability,\n Type,\n ɵINJECTOR_SCOPE as INJECTOR_SCOPE,\n ɵinternalCreateApplication as internalCreateApplication,\n ɵRuntimeError as RuntimeError,\n ɵsetDocument,\n ɵTESTABILITY as TESTABILITY,\n ɵTESTABILITY_GETTER as TESTABILITY_GETTER,\n inject,\n ɵresolveComponentResources as resolveComponentResources,\n} from '@angular/core';\n\nimport {BrowserDomAdapter} from './browser/browser_adapter';\nimport {BrowserGetTestability} from './browser/testability';\nimport {BrowserXhr} from './browser/xhr';\nimport {DomRendererFactory2} from './dom/dom_renderer';\nimport {DomEventsPlugin} from './dom/events/dom_events';\nimport {EVENT_MANAGER_PLUGINS, EventManager} from './dom/events/event_manager';\nimport {KeyEventsPlugin} from './dom/events/key_events';\nimport {SharedStylesHost} from './dom/shared_styles_host';\nimport {RuntimeErrorCode} from './errors';\n\n/**\n * A context object that can be passed to `bootstrapApplication` to provide a pre-existing platform\n * injector.\n *\n * @publicApi\n */\nexport interface BootstrapContext {\n /**\n * A reference to a platform.\n */\n platformRef: PlatformRef;\n}\n\n/**\n * Bootstraps an instance of an Angular application and renders a standalone component as the\n * application's root component. More information about standalone components can be found in [this\n * guide](guide/components/importing).\n *\n * @usageNotes\n * The root component passed into this function **must** be a standalone one\n *\n * ```angular-ts\n * @Component({\n * template: 'Hello world!'\n * })\n * class Root {}\n *\n * const appRef: ApplicationRef = await bootstrapApplication(Root);\n * ```\n *\n * You can add the list of providers that should be available in the application injector by\n * specifying the `providers` field in an object passed as the second argument:\n *\n * ```ts\n * await bootstrapApplication(Root, {\n * providers: [\n * {provide: BACKEND_URL, useValue: 'https://yourdomain.com/api'}\n * ]\n * });\n * ```\n *\n * The `importProvidersFrom` helper method can be used to collect all providers from any\n * existing NgModule (and transitively from all NgModules that it imports):\n *\n * ```ts\n * await bootstrapApplication(Root, {\n * providers: [\n * importProvidersFrom(SomeNgModule)\n * ]\n * });\n * ```\n *\n * Note: the `bootstrapApplication` method doesn't include [Testability](api/core/Testability) by\n * default. You can add [Testability](api/core/Testability) by getting the list of necessary\n * providers using `provideProtractorTestingSupport()` function and adding them into the `providers`\n * array, for example:\n *\n * ```ts\n * import {provideProtractorTestingSupport} from '@angular/platform-browser';\n *\n * await bootstrapApplication(Root, {providers: [provideProtractorTestingSupport()]});\n * ```\n *\n * @param rootComponent A reference to a standalone component that should be rendered.\n * @param options Extra configuration for the bootstrap operation, see `ApplicationConfig` for\n * additional info.\n * @param context Optional context object that can be used to provide a pre-existing\n * platform injector. This is useful for advanced use-cases, for example, server-side\n * rendering, where the platform is created for each request.\n * @returns A promise that returns an `ApplicationRef` instance once resolved.\n *\n * @publicApi\n */\nexport async function bootstrapApplication(\n rootComponent: Type<unknown>,\n options?: ApplicationConfig,\n context?: BootstrapContext,\n): Promise<ApplicationRef> {\n const config = {\n rootComponent,\n ...createProvidersConfig(options, context),\n };\n\n if ((typeof ngJitMode === 'undefined' || ngJitMode) && typeof fetch === 'function') {\n await resolveJitResources();\n }\n\n return internalCreateApplication(config);\n}\n\n/**\n * Create an instance of an Angular application without bootstrapping any components. This is useful\n * for the situation where one wants to decouple application environment creation (a platform and\n * associated injectors) from rendering components on a screen. Components can be subsequently\n * bootstrapped on the returned `ApplicationRef`.\n *\n * @param options Extra configuration for the application environment, see `ApplicationConfig` for\n * additional info.\n * @param context Optional context object that can be used to provide a pre-existing\n * platform injector. This is useful for advanced use-cases, for example, server-side\n * rendering, where the platform is created for each request.\n * @returns A promise that returns an `ApplicationRef` instance once resolved.\n *\n * @publicApi\n */\nexport async function createApplication(\n options?: ApplicationConfig,\n context?: BootstrapContext,\n): Promise<ApplicationRef> {\n if ((typeof ngJitMode === 'undefined' || ngJitMode) && typeof fetch === 'function') {\n await resolveJitResources();\n }\n\n return internalCreateApplication(createProvidersConfig(options, context));\n}\n\nfunction createProvidersConfig(options?: ApplicationConfig, context?: BootstrapContext) {\n return {\n platformRef: context?.platformRef,\n appProviders: [...BROWSER_MODULE_PROVIDERS, ...(options?.providers ?? [])],\n platformProviders: INTERNAL_BROWSER_PLATFORM_PROVIDERS,\n };\n}\n\n/** Attempt to resolve component resources before bootstrapping in JIT mode. */\nasync function resolveJitResources(): Promise<void> {\n try {\n return await resolveComponentResources(fetch);\n } catch (error) {\n // Log, but don't block bootstrapping on error.\n // tslint:disable-next-line:no-console\n console.error(error);\n }\n}\n\n/**\n * Returns a set of providers required to setup [Testability](api/core/Testability) for an\n * application bootstrapped using the `bootstrapApplication` function. The set of providers is\n * needed to support testing an application with Protractor (which relies on the Testability APIs\n * to be present).\n *\n * @returns An array of providers required to setup Testability for an application and make it\n * available for testing using Protractor.\n *\n * @publicApi\n */\nexport function provideProtractorTestingSupport(): Provider[] {\n // Return a copy to prevent changes to the original array in case any in-place\n // alterations are performed to the `provideProtractorTestingSupport` call results in app\n // code.\n return [...TESTABILITY_PROVIDERS];\n}\n\nexport function initDomAdapter() {\n BrowserDomAdapter.makeCurrent();\n}\n\nexport function errorHandler(): ErrorHandler {\n return new ErrorHandler();\n}\n\nexport function _document(): any {\n // Tell ivy about the global document\n ɵsetDocument(document);\n return document;\n}\n\nconst INTERNAL_BROWSER_PLATFORM_PROVIDERS: StaticProvider[] = [\n {provide: PLATFORM_ID, useValue: PLATFORM_BROWSER_ID},\n {provide: PLATFORM_INITIALIZER, useValue: initDomAdapter, multi: true},\n {provide: DOCUMENT, useFactory: _document},\n];\n\n/**\n * A factory function that returns a `PlatformRef` instance associated with browser service\n * providers.\n *\n * @publicApi\n */\nexport const platformBrowser: (extraProviders?: StaticProvider[]) => PlatformRef =\n createPlatformFactory(platformCore, 'browser', INTERNAL_BROWSER_PLATFORM_PROVIDERS);\n\n/**\n * Internal marker to signal whether providers from the `BrowserModule` are already present in DI.\n * This is needed to avoid loading `BrowserModule` providers twice. We can't rely on the\n * `BrowserModule` presence itself, since the standalone-based bootstrap just imports\n * `BrowserModule` providers without referencing the module itself.\n */\nconst BROWSER_MODULE_PROVIDERS_MARKER = new InjectionToken(\n typeof ngDevMode === 'undefined' || ngDevMode ? 'BrowserModule Providers Marker' : '',\n);\n\nconst TESTABILITY_PROVIDERS = [\n {\n provide: TESTABILITY_GETTER,\n useClass: BrowserGetTestability,\n },\n {\n provide: TESTABILITY,\n useClass: Testability,\n },\n {\n provide: Testability, // Also provide as `Testability` for backwards-compatibility.\n useClass: Testability,\n },\n];\n\nconst BROWSER_MODULE_PROVIDERS: Provider[] = [\n {provide: INJECTOR_SCOPE, useValue: 'root'},\n {provide: ErrorHandler, useFactory: errorHandler},\n {\n provide: EVENT_MANAGER_PLUGINS,\n useClass: DomEventsPlugin,\n multi: true,\n },\n {provide: EVENT_MANAGER_PLUGINS, useClass: KeyEventsPlugin, multi: true},\n DomRendererFactory2,\n SharedStylesHost,\n EventManager,\n {provide: RendererFactory2, useExisting: DomRendererFactory2},\n {provide: XhrFactory, useClass: BrowserXhr},\n typeof ngDevMode === 'undefined' || ngDevMode\n ? {provide: BROWSER_MODULE_PROVIDERS_MARKER, useValue: true}\n : [],\n];\n\n/**\n * Exports required infrastructure for all Angular apps.\n * Included by default in all Angular apps created with the CLI\n * `new` command.\n * Re-exports `CommonModule` and `ApplicationModule`, making their\n * exports and providers available to all apps.\n *\n * @publicApi\n */\n@NgModule({\n providers: [...BROWSER_MODULE_PROVIDERS, ...TESTABILITY_PROVIDERS],\n exports: [CommonModule, ApplicationModule],\n})\nexport class BrowserModule {\n constructor() {\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n const providersAlreadyPresent = inject(BROWSER_MODULE_PROVIDERS_MARKER, {\n optional: true,\n skipSelf: true,\n });\n\n if (providersAlreadyPresent) {\n throw new RuntimeError(\n RuntimeErrorCode.BROWSER_MODULE_ALREADY_LOADED,\n `Providers from the \\`BrowserModule\\` have already been loaded. If you need access ` +\n `to common directives such as NgIf and NgFor, import the \\`CommonModule\\` instead.`,\n );\n }\n }\n }\n}\n"],"names":["BrowserDomAdapter","DomAdapter","supportsDOMEvents","makeCurrent","setRootDomAdapter","onAndCancel","el","evt","listener","options","addEventListener","removeEventListener","dispatchEvent","remove","node","createElement","tagName","doc","getDefaultDocument","createHtmlDocument","document","implementation","createHTMLDocument","isElementNode","nodeType","Node","ELEMENT_NODE","isShadowRoot","DocumentFragment","getGlobalEventTarget","target","window","body","getBaseHref","href","getBaseElementHref","relativePath","resetBaseElement","baseElement","getUserAgent","navigator","userAgent","getCookie","name","parseCookieValue","cookie","head","querySelector","getAttribute","url","URL","baseURI","pathname","BrowserGetTestability","addToWindow","registry","global","elem","findInAncestors","testability","findTestabilityInTree","RuntimeError","ngDevMode","getAllTestabilities","getAllRootElements","whenAllStable","callback","testabilities","count","length","decrement","forEach","whenStable","push","t","getTestability","getDOM","host","parentElement","BrowserXhr","build","XMLHttpRequest","deps","i0","ɵɵFactoryTarget","Injectable","decorators","MODIFIER_KEYS","_keyMap","MODIFIER_KEY_GETTERS","event","altKey","ctrlKey","metaKey","shiftKey","KeyEventsPlugin","EventManagerPlugin","constructor","supports","eventName","parseEventName","element","handler","parsedEvent","outsideHandler","eventCallback","manager","getZone","runOutsideAngular","parts","toLowerCase","split","domEventName","shift","key","_normalizeKey","pop","fullKey","codeIX","indexOf","splice","modifierName","index","result","matchEventFullKeyCode","fullKeyCode","keycode","code","modifierGetter","zone","runGuarded","keyName","ɵfac","ɵɵngDeclareFactory","minVersion","version","ngImport","type","DOCUMENT","Inject","bootstrapApplication","rootComponent","context","config","createProvidersConfig","ngJitMode","fetch","resolveJitResources","internalCreateApplication","createApplication","platformRef","appProviders","BROWSER_MODULE_PROVIDERS","providers","platformProviders","INTERNAL_BROWSER_PLATFORM_PROVIDERS","resolveComponentResources","error","console","provideProtractorTestingSupport","TESTABILITY_PROVIDERS","initDomAdapter","errorHandler","ErrorHandler","_document","ɵsetDocument","provide","PLATFORM_ID","useValue","PLATFORM_BROWSER_ID","PLATFORM_INITIALIZER","multi","useFactory","platformBrowser","createPlatformFactory","platformCore","BROWSER_MODULE_PROVIDERS_MARKER","InjectionToken","TESTABILITY_GETTER","useClass","TESTABILITY","Testability","INJECTOR_SCOPE","EVENT_MANAGER_PLUGINS","DomEventsPlugin","DomRendererFactory2","SharedStylesHost","EventManager","RendererFactory2","useExisting","XhrFactory","BrowserModule","providersAlreadyPresent","inject","optional","skipSelf","NgModule","exports","CommonModule","ApplicationModule","imports","args"],"mappings":"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"} |
| /** | ||
| * @license Angular v21.1.4 | ||
| * @license Angular v21.1.5 | ||
| * (c) 2010-2026 Google LLC. https://angular.dev/ | ||
@@ -35,3 +35,3 @@ * License: MIT | ||
| minVersion: "12.0.0", | ||
| version: "21.1.4", | ||
| version: "21.1.5", | ||
| ngImport: i0, | ||
@@ -46,3 +46,3 @@ type: DomEventsPlugin, | ||
| minVersion: "12.0.0", | ||
| version: "21.1.4", | ||
| version: "21.1.5", | ||
| ngImport: i0, | ||
@@ -54,3 +54,3 @@ type: DomEventsPlugin | ||
| minVersion: "12.0.0", | ||
| version: "21.1.4", | ||
| version: "21.1.5", | ||
| ngImport: i0, | ||
@@ -109,3 +109,3 @@ type: DomEventsPlugin, | ||
| minVersion: "12.0.0", | ||
| version: "21.1.4", | ||
| version: "21.1.5", | ||
| ngImport: i0, | ||
@@ -122,3 +122,3 @@ type: EventManager, | ||
| minVersion: "12.0.0", | ||
| version: "21.1.4", | ||
| version: "21.1.5", | ||
| ngImport: i0, | ||
@@ -130,3 +130,3 @@ type: EventManager | ||
| minVersion: "12.0.0", | ||
| version: "21.1.4", | ||
| version: "21.1.5", | ||
| ngImport: i0, | ||
@@ -269,3 +269,3 @@ type: EventManager, | ||
| minVersion: "12.0.0", | ||
| version: "21.1.4", | ||
| version: "21.1.5", | ||
| ngImport: i0, | ||
@@ -287,3 +287,3 @@ type: SharedStylesHost, | ||
| minVersion: "12.0.0", | ||
| version: "21.1.4", | ||
| version: "21.1.5", | ||
| ngImport: i0, | ||
@@ -295,3 +295,3 @@ type: SharedStylesHost | ||
| minVersion: "12.0.0", | ||
| version: "21.1.4", | ||
| version: "21.1.5", | ||
| ngImport: i0, | ||
@@ -452,3 +452,3 @@ type: SharedStylesHost, | ||
| minVersion: "12.0.0", | ||
| version: "21.1.4", | ||
| version: "21.1.5", | ||
| ngImport: i0, | ||
@@ -478,3 +478,3 @@ type: DomRendererFactory2, | ||
| minVersion: "12.0.0", | ||
| version: "21.1.4", | ||
| version: "21.1.5", | ||
| ngImport: i0, | ||
@@ -486,3 +486,3 @@ type: DomRendererFactory2 | ||
| minVersion: "12.0.0", | ||
| version: "21.1.4", | ||
| version: "21.1.5", | ||
| ngImport: i0, | ||
@@ -489,0 +489,0 @@ type: DomRendererFactory2, |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"_dom_renderer-chunk.mjs","sources":["../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/packages/platform-browser/src/dom/events/event_manager_plugin.ts","../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/packages/platform-browser/src/dom/events/dom_events.ts","../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/packages/platform-browser/src/dom/events/event_manager.ts","../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/packages/platform-browser/src/dom/shared_styles_host.ts","../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/packages/platform-browser/src/dom/dom_renderer.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 type {ListenerOptions} from '@angular/core';\nimport type {EventManager} from './event_manager';\n\n/**\n * The plugin definition for the `EventManager` class\n *\n * It can be used as a base class to create custom manager plugins, i.e. you can create your own\n * class that extends the `EventManagerPlugin` one.\n *\n * @see [Extend event handling](guide/templates/event-listeners#extend-event-handling)\n *\n * @publicApi\n */\nexport abstract class EventManagerPlugin {\n // TODO: remove (has some usage in G3)\n constructor(private _doc: any) {}\n\n // Using non-null assertion because it's set by EventManager's constructor\n manager!: EventManager;\n\n /**\n * Should return `true` for every event name that should be supported by this plugin\n */\n abstract supports(eventName: string): boolean;\n\n /**\n * Implement the behaviour for the supported events\n */\n abstract addEventListener(\n element: HTMLElement,\n eventName: string,\n handler: Function,\n options?: ListenerOptions,\n ): Function;\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, type ListenerOptions} from '@angular/core';\nimport {EventManagerPlugin} from './event_manager_plugin';\n\n@Injectable()\nexport class DomEventsPlugin extends EventManagerPlugin {\n constructor(@Inject(DOCUMENT) doc: any) {\n super(doc);\n }\n\n // This plugin should come last in the list of plugins, because it accepts all\n // events.\n override supports(eventName: string): boolean {\n return true;\n }\n\n override addEventListener(\n element: HTMLElement,\n eventName: string,\n handler: Function,\n options?: ListenerOptions,\n ): Function {\n element.addEventListener(eventName, handler as EventListener, options);\n return () => this.removeEventListener(element, eventName, handler as EventListener, options);\n }\n\n removeEventListener(\n target: any,\n eventName: string,\n callback: Function,\n options?: ListenerOptions,\n ): void {\n return target.removeEventListener(eventName, callback as EventListener, options);\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 {\n Inject,\n Injectable,\n InjectionToken,\n NgZone,\n ɵRuntimeError as RuntimeError,\n type ListenerOptions,\n} from '@angular/core';\n\nimport {RuntimeErrorCode} from '../../errors';\n\nimport type {EventManagerPlugin} from './event_manager_plugin';\n\nimport {DomEventsPlugin} from './dom_events';\n\n/**\n * The injection token for plugins of the `EventManager` service.\n *\n * @see [Extend event handling](guide/templates/event-listeners#extend-event-handling)\n *\n * @publicApi\n */\nexport const EVENT_MANAGER_PLUGINS = new InjectionToken<EventManagerPlugin[]>(\n typeof ngDevMode !== 'undefined' && ngDevMode ? 'EventManagerPlugins' : '',\n);\n\n/**\n * An injectable service that provides event management for Angular\n * through a browser plug-in.\n *\n * @publicApi\n */\n@Injectable()\nexport class EventManager {\n private _plugins: EventManagerPlugin[];\n private _eventNameToPlugin = new Map<string, EventManagerPlugin>();\n\n /**\n * Initializes an instance of the event-manager service.\n */\n constructor(\n @Inject(EVENT_MANAGER_PLUGINS) plugins: EventManagerPlugin[],\n private _zone: NgZone,\n ) {\n plugins.forEach((plugin) => {\n plugin.manager = this;\n });\n\n const otherPlugins = plugins.filter((p) => !(p instanceof DomEventsPlugin));\n this._plugins = otherPlugins.slice().reverse();\n\n // DomEventsPlugin.supports() always returns true, it should always be the last plugin.\n const domEventPlugin = plugins.find((p) => p instanceof DomEventsPlugin);\n if (domEventPlugin) {\n this._plugins.push(domEventPlugin);\n }\n }\n\n /**\n * Registers a handler for a specific element and event.\n *\n * @param element The HTML element to receive event notifications.\n * @param eventName The name of the event to listen for.\n * @param handler A function to call when the notification occurs. Receives the\n * event object as an argument.\n * @param options Options that configure how the event listener is bound.\n * @returns A callback function that can be used to remove the handler.\n */\n addEventListener(\n element: HTMLElement,\n eventName: string,\n handler: Function,\n options?: ListenerOptions,\n ): Function {\n const plugin = this._findPluginFor(eventName);\n return plugin.addEventListener(element, eventName, handler, options);\n }\n\n /**\n * Retrieves the compilation zone in which event listeners are registered.\n */\n getZone(): NgZone {\n return this._zone;\n }\n\n /** @internal */\n _findPluginFor(eventName: string): EventManagerPlugin {\n let plugin = this._eventNameToPlugin.get(eventName);\n if (plugin) {\n return plugin;\n }\n\n const plugins = this._plugins;\n plugin = plugins.find((plugin) => plugin.supports(eventName));\n if (!plugin) {\n throw new RuntimeError(\n RuntimeErrorCode.NO_PLUGIN_FOR_EVENT,\n (typeof ngDevMode === 'undefined' || ngDevMode) &&\n `No event manager plugin found for event ${eventName}`,\n );\n }\n\n this._eventNameToPlugin.set(eventName, plugin);\n return plugin;\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 APP_ID,\n CSP_NONCE,\n Inject,\n Injectable,\n OnDestroy,\n Optional,\n PLATFORM_ID,\n} from '@angular/core';\n\n/** The style elements attribute name used to set value of `APP_ID` token. */\nconst APP_ID_ATTRIBUTE_NAME = 'ng-app-id';\n\n/**\n * A record of usage for a specific style including all elements added to the DOM\n * that contain a given style.\n */\ninterface UsageRecord<T> {\n elements: T[];\n usage: number;\n}\n\n/**\n * Removes all provided elements from the document.\n * @param elements An array of HTML Elements.\n */\nfunction removeElements(elements: Iterable<HTMLElement>): void {\n for (const element of elements) {\n element.remove();\n }\n}\n\n/**\n * Creates a `style` element with the provided inline style content.\n * @param style A string of the inline style content.\n * @param doc A DOM Document to use to create the element.\n * @returns An HTMLStyleElement instance.\n */\nfunction createStyleElement(style: string, doc: Document): HTMLStyleElement {\n const styleElement = doc.createElement('style');\n styleElement.textContent = style;\n\n return styleElement;\n}\n\n/**\n * Searches a DOM document's head element for style elements with a matching application\n * identifier attribute (`ng-app-id`) to the provide identifier and adds usage records for each.\n * @param doc An HTML DOM document instance.\n * @param appId A string containing an Angular application identifer.\n * @param inline A Map object for tracking inline (defined via `styles` in component decorator) style usage.\n * @param external A Map object for tracking external (defined via `styleUrls` in component decorator) style usage.\n */\nfunction addServerStyles(\n doc: Document,\n appId: string,\n inline: Map<string, UsageRecord<HTMLStyleElement>>,\n external: Map<string, UsageRecord<HTMLLinkElement>>,\n): void {\n const elements = doc.head?.querySelectorAll<HTMLStyleElement | HTMLLinkElement>(\n `style[${APP_ID_ATTRIBUTE_NAME}=\"${appId}\"],link[${APP_ID_ATTRIBUTE_NAME}=\"${appId}\"]`,\n );\n\n if (elements) {\n for (const styleElement of elements) {\n styleElement.removeAttribute(APP_ID_ATTRIBUTE_NAME);\n if (styleElement instanceof HTMLLinkElement) {\n // Only use filename from href\n // The href is build time generated with a unique value to prevent duplicates.\n external.set(styleElement.href.slice(styleElement.href.lastIndexOf('/') + 1), {\n usage: 0,\n elements: [styleElement],\n });\n } else if (styleElement.textContent) {\n inline.set(styleElement.textContent, {usage: 0, elements: [styleElement]});\n }\n }\n }\n}\n\n/**\n * Creates a `link` element for the provided external style URL.\n * @param url A string of the URL for the stylesheet.\n * @param doc A DOM Document to use to create the element.\n * @returns An HTMLLinkElement instance.\n */\nexport function createLinkElement(url: string, doc: Document): HTMLLinkElement {\n const linkElement = doc.createElement('link');\n linkElement.setAttribute('rel', 'stylesheet');\n linkElement.setAttribute('href', url);\n\n return linkElement;\n}\n\n@Injectable()\nexport class SharedStylesHost implements OnDestroy {\n /**\n * Provides usage information for active inline style content and associated HTML <style> elements.\n * Embedded styles typically originate from the `styles` metadata of a rendered component.\n */\n private readonly inline = new Map<string /** content */, UsageRecord<HTMLStyleElement>>();\n\n /**\n * Provides usage information for active external style URLs and the associated HTML <link> elements.\n * External styles typically originate from the `ɵɵExternalStylesFeature` of a rendered component.\n */\n private readonly external = new Map<string /** URL */, UsageRecord<HTMLLinkElement>>();\n\n /**\n * Set of host DOM nodes that will have styles attached.\n */\n private readonly hosts = new Set<Node>();\n\n constructor(\n @Inject(DOCUMENT) private readonly doc: Document,\n @Inject(APP_ID) private readonly appId: string,\n @Inject(CSP_NONCE) @Optional() private readonly nonce?: string | null,\n // Cannot remove it due to backward compatibility\n // (it seems some TGP targets might be calling this constructor directly).\n @Inject(PLATFORM_ID) platformId: object = {},\n ) {\n addServerStyles(doc, appId, this.inline, this.external);\n this.hosts.add(doc.head);\n }\n\n /**\n * Adds embedded styles to the DOM via HTML `style` elements.\n * @param styles An array of style content strings.\n */\n addStyles(styles: string[], urls?: string[]): void {\n for (const value of styles) {\n this.addUsage(value, this.inline, createStyleElement);\n }\n\n urls?.forEach((value) => this.addUsage(value, this.external, createLinkElement));\n }\n\n /**\n * Removes embedded styles from the DOM that were added as HTML `style` elements.\n * @param styles An array of style content strings.\n */\n removeStyles(styles: string[], urls?: string[]): void {\n for (const value of styles) {\n this.removeUsage(value, this.inline);\n }\n\n urls?.forEach((value) => this.removeUsage(value, this.external));\n }\n\n protected addUsage<T extends HTMLElement>(\n value: string,\n usages: Map<string, UsageRecord<T>>,\n creator: (value: string, doc: Document) => T,\n ): void {\n // Attempt to get any current usage of the value\n const record = usages.get(value);\n\n // If existing, just increment the usage count\n if (record) {\n if ((typeof ngDevMode === 'undefined' || ngDevMode) && record.usage === 0) {\n // A usage count of zero indicates a preexisting server generated style.\n // This attribute is solely used for debugging purposes of SSR style reuse.\n record.elements.forEach((element) => element.setAttribute('ng-style-reused', ''));\n }\n record.usage++;\n } else {\n // Otherwise, create an entry to track the elements and add element for each host\n usages.set(value, {\n usage: 1,\n elements: [...this.hosts].map((host) => this.addElement(host, creator(value, this.doc))),\n });\n }\n }\n\n protected removeUsage<T extends HTMLElement>(\n value: string,\n usages: Map<string, UsageRecord<T>>,\n ): void {\n // Attempt to get any current usage of the value\n const record = usages.get(value);\n\n // If there is a record, reduce the usage count and if no longer used,\n // remove from DOM and delete usage record.\n if (record) {\n record.usage--;\n if (record.usage <= 0) {\n removeElements(record.elements);\n usages.delete(value);\n }\n }\n }\n\n ngOnDestroy(): void {\n for (const [, {elements}] of [...this.inline, ...this.external]) {\n removeElements(elements);\n }\n this.hosts.clear();\n }\n\n /**\n * Adds a host node to the set of style hosts and adds all existing style usage to\n * the newly added host node.\n *\n * This is currently only used for Shadow DOM encapsulation mode.\n */\n addHost(hostNode: Node): void {\n this.hosts.add(hostNode);\n\n // Add existing styles to new host\n for (const [style, {elements}] of this.inline) {\n elements.push(this.addElement(hostNode, createStyleElement(style, this.doc)));\n }\n for (const [url, {elements}] of this.external) {\n elements.push(this.addElement(hostNode, createLinkElement(url, this.doc)));\n }\n }\n\n removeHost(hostNode: Node): void {\n this.hosts.delete(hostNode);\n }\n\n private addElement<T extends HTMLElement>(host: Node, element: T): T {\n // Add a nonce if present\n if (this.nonce) {\n element.setAttribute('nonce', this.nonce);\n }\n\n // Add application identifier when on the server to support client-side reuse\n if (typeof ngServerMode !== 'undefined' && ngServerMode) {\n element.setAttribute(APP_ID_ATTRIBUTE_NAME, this.appId);\n }\n\n // Insert the element into the DOM with the host node as parent\n return host.appendChild(element);\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, ɵgetDOM as getDOM} from '@angular/common';\nimport {\n APP_ID,\n CSP_NONCE,\n Inject,\n Injectable,\n InjectionToken,\n NgZone,\n OnDestroy,\n Renderer2,\n RendererFactory2,\n RendererStyleFlags2,\n RendererType2,\n ViewEncapsulation,\n ɵRuntimeError as RuntimeError,\n type ListenerOptions,\n ɵTracingService as TracingService,\n ɵTracingSnapshot as TracingSnapshot,\n Optional,\n ɵallLeavingAnimations as allLeavingAnimations,\n} from '@angular/core';\n\nimport {RuntimeErrorCode} from '../errors';\n\nimport {EventManager} from './events/event_manager';\nimport {createLinkElement, SharedStylesHost} from './shared_styles_host';\n\nexport const NAMESPACE_URIS: {[ns: string]: string} = {\n 'svg': 'http://www.w3.org/2000/svg',\n 'xhtml': 'http://www.w3.org/1999/xhtml',\n 'xlink': 'http://www.w3.org/1999/xlink',\n 'xml': 'http://www.w3.org/XML/1998/namespace',\n 'xmlns': 'http://www.w3.org/2000/xmlns/',\n 'math': 'http://www.w3.org/1998/Math/MathML',\n};\n\nconst COMPONENT_REGEX = /%COMP%/g;\nconst SOURCEMAP_URL_REGEXP = /\\/\\*#\\s*sourceMappingURL=(.+?)\\s*\\*\\//;\nconst PROTOCOL_REGEXP = /^https?:/;\n\nexport const COMPONENT_VARIABLE = '%COMP%';\nexport const HOST_ATTR = `_nghost-${COMPONENT_VARIABLE}`;\nexport const CONTENT_ATTR = `_ngcontent-${COMPONENT_VARIABLE}`;\n\n/**\n * The default value for the `REMOVE_STYLES_ON_COMPONENT_DESTROY` DI token.\n */\nconst REMOVE_STYLES_ON_COMPONENT_DESTROY_DEFAULT = true;\n\n/**\n * A DI token that indicates whether styles\n * of destroyed components should be removed from DOM.\n *\n * By default, the value is set to `true`.\n * @publicApi\n */\nexport const REMOVE_STYLES_ON_COMPONENT_DESTROY = new InjectionToken<boolean>(\n typeof ngDevMode !== 'undefined' && ngDevMode ? 'RemoveStylesOnCompDestroy' : '',\n {\n factory: () => REMOVE_STYLES_ON_COMPONENT_DESTROY_DEFAULT,\n },\n);\n\nexport function shimContentAttribute(componentShortId: string): string {\n return CONTENT_ATTR.replace(COMPONENT_REGEX, componentShortId);\n}\n\nexport function shimHostAttribute(componentShortId: string): string {\n return HOST_ATTR.replace(COMPONENT_REGEX, componentShortId);\n}\n\nexport function shimStylesContent(compId: string, styles: string[]): string[] {\n return styles.map((s) => s.replace(COMPONENT_REGEX, compId));\n}\n\n/**\n * Prepends a baseHref to the `sourceMappingURL` within the provided CSS content.\n * If the `sourceMappingURL` contains an inline (encoded) map, the function skips processing.\n *\n * @note For inline stylesheets, the `sourceMappingURL` is relative to the page's origin\n * and not the provided baseHref. This function is needed as when accessing the page with a URL\n * containing two or more segments.\n * For example, if the baseHref is set to `/`, and you visit a URL like `http://localhost/foo/bar`,\n * the map would be requested from `http://localhost/foo/bar/comp.css.map` instead of what you'd expect,\n * which is `http://localhost/comp.css.map`. This behavior is corrected by modifying the `sourceMappingURL`\n * to ensure external source maps are loaded relative to the baseHref.\n *\n\n * @param baseHref - The base URL to prepend to the `sourceMappingURL`.\n * @param styles - An array of CSS content strings, each potentially containing a `sourceMappingURL`.\n * @returns The updated array of CSS content strings with modified `sourceMappingURL` values,\n * or the original content if no modification is needed.\n */\nexport function addBaseHrefToCssSourceMap(baseHref: string, styles: string[]): string[] {\n if (!baseHref) {\n return styles;\n }\n\n const absoluteBaseHrefUrl = new URL(baseHref, 'http://localhost');\n\n return styles.map((cssContent) => {\n if (!cssContent.includes('sourceMappingURL=')) {\n return cssContent;\n }\n\n return cssContent.replace(SOURCEMAP_URL_REGEXP, (_, sourceMapUrl) => {\n if (\n sourceMapUrl[0] === '/' ||\n sourceMapUrl.startsWith('data:') ||\n PROTOCOL_REGEXP.test(sourceMapUrl)\n ) {\n return `/*# sourceMappingURL=${sourceMapUrl} */`;\n }\n\n const {pathname: resolvedSourceMapUrl} = new URL(sourceMapUrl, absoluteBaseHrefUrl);\n\n return `/*# sourceMappingURL=${resolvedSourceMapUrl} */`;\n });\n });\n}\n\n@Injectable()\nexport class DomRendererFactory2 implements RendererFactory2, OnDestroy {\n private readonly rendererByCompId = new Map<\n string,\n EmulatedEncapsulationDomRenderer2 | NoneEncapsulationDomRenderer\n >();\n private readonly defaultRenderer: Renderer2;\n\n constructor(\n private readonly eventManager: EventManager,\n private readonly sharedStylesHost: SharedStylesHost,\n @Inject(APP_ID) private readonly appId: string,\n @Inject(REMOVE_STYLES_ON_COMPONENT_DESTROY) private removeStylesOnCompDestroy: boolean,\n @Inject(DOCUMENT) private readonly doc: Document,\n readonly ngZone: NgZone,\n @Inject(CSP_NONCE) private readonly nonce: string | null = null,\n @Inject(TracingService)\n @Optional()\n private readonly tracingService: TracingService<TracingSnapshot> | null = null,\n ) {\n this.defaultRenderer = new DefaultDomRenderer2(eventManager, doc, ngZone, this.tracingService);\n }\n\n createRenderer(element: any, type: RendererType2 | null): Renderer2 {\n if (!element || !type) {\n return this.defaultRenderer;\n }\n\n if (\n typeof ngServerMode !== 'undefined' &&\n ngServerMode &&\n (type.encapsulation === ViewEncapsulation.ShadowDom ||\n type.encapsulation === ViewEncapsulation.ExperimentalIsolatedShadowDom)\n ) {\n // Domino does not support shadow DOM.\n type = {...type, encapsulation: ViewEncapsulation.Emulated};\n }\n\n const renderer = this.getOrCreateRenderer(element, type);\n // Renderers have different logic due to different encapsulation behaviours.\n // Ex: for emulated, an attribute is added to the element.\n if (renderer instanceof EmulatedEncapsulationDomRenderer2) {\n renderer.applyToHost(element);\n } else if (renderer instanceof NoneEncapsulationDomRenderer) {\n renderer.applyStyles();\n }\n\n return renderer;\n }\n\n private getOrCreateRenderer(element: any, type: RendererType2): Renderer2 {\n const rendererByCompId = this.rendererByCompId;\n let renderer = rendererByCompId.get(type.id);\n\n if (!renderer) {\n const doc = this.doc;\n const ngZone = this.ngZone;\n const eventManager = this.eventManager;\n const sharedStylesHost = this.sharedStylesHost;\n const removeStylesOnCompDestroy = this.removeStylesOnCompDestroy;\n const tracingService = this.tracingService;\n\n switch (type.encapsulation) {\n case ViewEncapsulation.Emulated:\n renderer = new EmulatedEncapsulationDomRenderer2(\n eventManager,\n sharedStylesHost,\n type,\n this.appId,\n removeStylesOnCompDestroy,\n doc,\n ngZone,\n tracingService,\n );\n break;\n case ViewEncapsulation.ShadowDom:\n return new ShadowDomRenderer(\n eventManager,\n element,\n type,\n doc,\n ngZone,\n this.nonce,\n tracingService,\n sharedStylesHost,\n );\n case ViewEncapsulation.ExperimentalIsolatedShadowDom:\n return new ShadowDomRenderer(\n eventManager,\n element,\n type,\n doc,\n ngZone,\n this.nonce,\n tracingService,\n );\n\n default:\n renderer = new NoneEncapsulationDomRenderer(\n eventManager,\n sharedStylesHost,\n type,\n removeStylesOnCompDestroy,\n doc,\n ngZone,\n tracingService,\n );\n break;\n }\n\n rendererByCompId.set(type.id, renderer);\n }\n\n return renderer;\n }\n\n ngOnDestroy() {\n this.rendererByCompId.clear();\n }\n\n /**\n * Used during HMR to clear any cached data about a component.\n * @param componentId ID of the component that is being replaced.\n */\n protected componentReplaced(componentId: string) {\n this.rendererByCompId.delete(componentId);\n }\n}\n\nclass DefaultDomRenderer2 implements Renderer2 {\n data: {[key: string]: any} = Object.create(null);\n\n /**\n * By default this renderer throws when encountering synthetic properties\n * This can be disabled for example by the AsyncAnimationRendererFactory\n */\n throwOnSyntheticProps = true;\n\n constructor(\n private readonly eventManager: EventManager,\n private readonly doc: Document,\n protected readonly ngZone: NgZone,\n private readonly tracingService: TracingService<TracingSnapshot> | null,\n ) {}\n\n destroy(): void {}\n\n destroyNode = null;\n\n createElement(name: string, namespace?: string): any {\n if (namespace) {\n // TODO: `|| namespace` was added in\n // https://github.com/angular/angular/commit/2b9cc8503d48173492c29f5a271b61126104fbdb to\n // support how Ivy passed around the namespace URI rather than short name at the time. It did\n // not, however extend the support to other parts of the system (setAttribute, setAttribute,\n // and the ServerRenderer). We should decide what exactly the semantics for dealing with\n // namespaces should be and make it consistent.\n // Related issues:\n // https://github.com/angular/angular/issues/44028\n // https://github.com/angular/angular/issues/44883\n return this.doc.createElementNS(NAMESPACE_URIS[namespace] || namespace, name);\n }\n\n return this.doc.createElement(name);\n }\n\n createComment(value: string): any {\n return this.doc.createComment(value);\n }\n\n createText(value: string): any {\n return this.doc.createTextNode(value);\n }\n\n appendChild(parent: any, newChild: any): void {\n const targetParent = isTemplateNode(parent) ? parent.content : parent;\n targetParent.appendChild(newChild);\n }\n\n insertBefore(parent: any, newChild: any, refChild: any): void {\n if (parent) {\n const targetParent = isTemplateNode(parent) ? parent.content : parent;\n targetParent.insertBefore(newChild, refChild);\n }\n }\n\n removeChild(_parent: any, oldChild: any): void {\n // child was removed\n oldChild.remove();\n }\n\n selectRootElement(selectorOrNode: string | any, preserveContent?: boolean): any {\n let el: any =\n typeof selectorOrNode === 'string' ? this.doc.querySelector(selectorOrNode) : selectorOrNode;\n if (!el) {\n throw new RuntimeError(\n RuntimeErrorCode.ROOT_NODE_NOT_FOUND,\n (typeof ngDevMode === 'undefined' || ngDevMode) &&\n `The selector \"${selectorOrNode}\" did not match any elements`,\n );\n }\n if (!preserveContent) {\n el.textContent = '';\n }\n return el;\n }\n\n parentNode(node: any): any {\n return node.parentNode;\n }\n\n nextSibling(node: any): any {\n return node.nextSibling;\n }\n\n setAttribute(el: any, name: string, value: string, namespace?: string): void {\n if (namespace) {\n name = namespace + ':' + name;\n const namespaceUri = NAMESPACE_URIS[namespace];\n if (namespaceUri) {\n el.setAttributeNS(namespaceUri, name, value);\n } else {\n el.setAttribute(name, value);\n }\n } else {\n el.setAttribute(name, value);\n }\n }\n\n removeAttribute(el: any, name: string, namespace?: string): void {\n if (namespace) {\n const namespaceUri = NAMESPACE_URIS[namespace];\n if (namespaceUri) {\n el.removeAttributeNS(namespaceUri, name);\n } else {\n el.removeAttribute(`${namespace}:${name}`);\n }\n } else {\n el.removeAttribute(name);\n }\n }\n\n addClass(el: any, name: string): void {\n el.classList.add(name);\n }\n\n removeClass(el: any, name: string): void {\n el.classList.remove(name);\n }\n\n setStyle(el: any, style: string, value: any, flags: RendererStyleFlags2): void {\n if (flags & (RendererStyleFlags2.DashCase | RendererStyleFlags2.Important)) {\n el.style.setProperty(style, value, flags & RendererStyleFlags2.Important ? 'important' : '');\n } else {\n el.style[style] = value;\n }\n }\n\n removeStyle(el: any, style: string, flags: RendererStyleFlags2): void {\n if (flags & RendererStyleFlags2.DashCase) {\n // removeProperty has no effect when used on camelCased properties.\n el.style.removeProperty(style);\n } else {\n el.style[style] = '';\n }\n }\n\n setProperty(el: any, name: string, value: any): void {\n if (el == null) {\n return;\n }\n\n (typeof ngDevMode === 'undefined' || ngDevMode) &&\n this.throwOnSyntheticProps &&\n checkNoSyntheticProp(name, 'property');\n el[name] = value;\n }\n\n setValue(node: any, value: string): void {\n node.nodeValue = value;\n }\n\n listen(\n target: 'window' | 'document' | 'body' | any,\n event: string,\n callback: (event: any) => boolean,\n options?: ListenerOptions,\n ): () => void {\n (typeof ngDevMode === 'undefined' || ngDevMode) &&\n this.throwOnSyntheticProps &&\n checkNoSyntheticProp(event, 'listener');\n if (typeof target === 'string') {\n target = getDOM().getGlobalEventTarget(this.doc, target);\n if (!target) {\n throw new RuntimeError(\n RuntimeErrorCode.UNSUPPORTED_EVENT_TARGET,\n (typeof ngDevMode === 'undefined' || ngDevMode) &&\n `Unsupported event target ${target} for event ${event}`,\n );\n }\n }\n\n let wrappedCallback = this.decoratePreventDefault(callback);\n\n if (this.tracingService?.wrapEventListener) {\n wrappedCallback = this.tracingService.wrapEventListener(target, event, wrappedCallback);\n }\n\n return this.eventManager.addEventListener(\n target,\n event,\n wrappedCallback,\n options,\n ) as VoidFunction;\n }\n\n private decoratePreventDefault(eventHandler: Function): Function {\n // `DebugNode.triggerEventHandler` needs to know if the listener was created with\n // decoratePreventDefault or is a listener added outside the Angular context so it can handle\n // the two differently. In the first case, the special '__ngUnwrap__' token is passed to the\n // unwrap the listener (see below).\n return (event: any) => {\n // Ivy uses '__ngUnwrap__' as a special token that allows us to unwrap the function\n // so that it can be invoked programmatically by `DebugNode.triggerEventHandler`. The\n // debug_node can inspect the listener toString contents for the existence of this special\n // token. Because the token is a string literal, it is ensured to not be modified by compiled\n // code.\n if (event === '__ngUnwrap__') {\n return eventHandler;\n }\n\n // Run the event handler inside the ngZone because event handlers are not patched\n // by Zone on the server. This is required only for tests.\n const allowDefaultBehavior =\n typeof ngServerMode !== 'undefined' && ngServerMode\n ? this.ngZone.runGuarded(() => eventHandler(event))\n : eventHandler(event);\n if (allowDefaultBehavior === false) {\n event.preventDefault();\n }\n\n return undefined;\n };\n }\n}\n\nconst AT_CHARCODE = (() => '@'.charCodeAt(0))();\n\nfunction checkNoSyntheticProp(name: string, nameKind: string) {\n if (name.charCodeAt(0) === AT_CHARCODE) {\n throw new RuntimeError(\n RuntimeErrorCode.UNEXPECTED_SYNTHETIC_PROPERTY,\n `Unexpected synthetic ${nameKind} ${name} found. Please make sure that:\n - Make sure \\`provideAnimationsAsync()\\`, \\`provideAnimations()\\` or \\`provideNoopAnimations()\\` call was added to a list of providers used to bootstrap an application.\n - There is a corresponding animation configuration named \\`${name}\\` defined in the \\`animations\\` field of the \\`@Component\\` decorator (see https://angular.dev/api/core/Component#animations).`,\n );\n }\n}\n\nfunction isTemplateNode(node: any): node is HTMLTemplateElement {\n return node.tagName === 'TEMPLATE' && node.content !== undefined;\n}\n\nclass ShadowDomRenderer extends DefaultDomRenderer2 {\n private shadowRoot: any;\n\n constructor(\n eventManager: EventManager,\n private hostEl: any,\n component: RendererType2,\n doc: Document,\n ngZone: NgZone,\n nonce: string | null,\n tracingService: TracingService<TracingSnapshot> | null,\n private sharedStylesHost?: SharedStylesHost,\n ) {\n super(eventManager, doc, ngZone, tracingService);\n this.shadowRoot = (hostEl as any).attachShadow({mode: 'open'});\n\n // SharedStylesHost is used to add styles to the shadow root by ShadowDom.\n // This is optional as it is not used by ExperimentalIsolatedShadowDom.\n if (this.sharedStylesHost) {\n this.sharedStylesHost.addHost(this.shadowRoot);\n }\n let styles = component.styles;\n if (ngDevMode) {\n // We only do this in development, as for production users should not add CSS sourcemaps to components.\n const baseHref = getDOM().getBaseHref(doc) ?? '';\n styles = addBaseHrefToCssSourceMap(baseHref, styles);\n }\n\n styles = shimStylesContent(component.id, styles);\n\n for (const style of styles) {\n const styleEl = document.createElement('style');\n\n if (nonce) {\n styleEl.setAttribute('nonce', nonce);\n }\n\n styleEl.textContent = style;\n this.shadowRoot.appendChild(styleEl);\n }\n\n // Apply any external component styles to the shadow root for the component's element.\n // The ShadowDOM renderer uses an alternative execution path for component styles that\n // does not use the SharedStylesHost that other encapsulation modes leverage. Much like\n // the manual addition of embedded styles directly above, any external stylesheets\n // must be manually added here to ensure ShadowDOM components are correctly styled.\n // TODO: Consider reworking the DOM Renderers to consolidate style handling.\n const styleUrls = component.getExternalStyles?.();\n if (styleUrls) {\n for (const styleUrl of styleUrls) {\n const linkEl = createLinkElement(styleUrl, doc);\n if (nonce) {\n linkEl.setAttribute('nonce', nonce);\n }\n this.shadowRoot.appendChild(linkEl);\n }\n }\n }\n\n private nodeOrShadowRoot(node: any): any {\n return node === this.hostEl ? this.shadowRoot : node;\n }\n\n override appendChild(parent: any, newChild: any): void {\n return super.appendChild(this.nodeOrShadowRoot(parent), newChild);\n }\n\n override insertBefore(parent: any, newChild: any, refChild: any): void {\n return super.insertBefore(this.nodeOrShadowRoot(parent), newChild, refChild);\n }\n\n override removeChild(_parent: any, oldChild: any): void {\n return super.removeChild(null, oldChild);\n }\n\n override parentNode(node: any): any {\n return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(node)));\n }\n\n override destroy() {\n if (this.sharedStylesHost) {\n this.sharedStylesHost.removeHost(this.shadowRoot);\n }\n }\n}\n\nclass NoneEncapsulationDomRenderer extends DefaultDomRenderer2 {\n private readonly styles: string[];\n private readonly styleUrls?: string[];\n\n constructor(\n eventManager: EventManager,\n private readonly sharedStylesHost: SharedStylesHost,\n component: RendererType2,\n private removeStylesOnCompDestroy: boolean,\n doc: Document,\n ngZone: NgZone,\n tracingService: TracingService<TracingSnapshot> | null,\n compId?: string,\n ) {\n super(eventManager, doc, ngZone, tracingService);\n let styles = component.styles;\n if (ngDevMode) {\n // We only do this in development, as for production users should not add CSS sourcemaps to components.\n const baseHref = getDOM().getBaseHref(doc) ?? '';\n styles = addBaseHrefToCssSourceMap(baseHref, styles);\n }\n\n this.styles = compId ? shimStylesContent(compId, styles) : styles;\n this.styleUrls = component.getExternalStyles?.(compId);\n }\n\n applyStyles(): void {\n this.sharedStylesHost.addStyles(this.styles, this.styleUrls);\n }\n\n override destroy(): void {\n if (!this.removeStylesOnCompDestroy) {\n return;\n }\n if (allLeavingAnimations.size === 0) {\n this.sharedStylesHost.removeStyles(this.styles, this.styleUrls);\n }\n }\n}\n\nclass EmulatedEncapsulationDomRenderer2 extends NoneEncapsulationDomRenderer {\n private contentAttr: string;\n private hostAttr: string;\n\n constructor(\n eventManager: EventManager,\n sharedStylesHost: SharedStylesHost,\n component: RendererType2,\n appId: string,\n removeStylesOnCompDestroy: boolean,\n doc: Document,\n ngZone: NgZone,\n tracingService: TracingService<TracingSnapshot> | null,\n ) {\n const compId = appId + '-' + component.id;\n super(\n eventManager,\n sharedStylesHost,\n component,\n removeStylesOnCompDestroy,\n doc,\n ngZone,\n tracingService,\n compId,\n );\n this.contentAttr = shimContentAttribute(compId);\n this.hostAttr = shimHostAttribute(compId);\n }\n\n applyToHost(element: any): void {\n this.applyStyles();\n this.setAttribute(element, this.hostAttr, '');\n }\n\n override createElement(parent: any, name: string): Element {\n const el = super.createElement(parent, name);\n super.setAttribute(el, this.contentAttr, '');\n return el;\n }\n}\n"],"names":["EventManagerPlugin","_doc","constructor","manager","DomEventsPlugin","doc","supports","eventName","addEventListener","element","handler","options","removeEventListener","target","callback","ɵfac","i0","ɵɵngDeclareFactory","minVersion","version","ngImport","type","DOCUMENT","ɵɵFactoryTarget","Injectable","decorators","Inject","EVENT_MANAGER_PLUGINS","InjectionToken","ngDevMode","EventManager","_zone","_plugins","_eventNameToPlugin","Map","plugins","forEach","plugin","otherPlugins","filter","p","slice","reverse","domEventPlugin","find","push","_findPluginFor","getZone","get","RuntimeError","set","token","NgZone","APP_ID_ATTRIBUTE_NAME","removeElements","elements","remove","createStyleElement","style","styleElement","createElement","textContent","addServerStyles","appId","inline","external","head","querySelectorAll","removeAttribute","HTMLLinkElement","href","lastIndexOf","usage","createLinkElement","url","linkElement","setAttribute","SharedStylesHost","nonce","hosts","Set","platformId","add","addStyles","styles","urls","value","addUsage","removeStyles","removeUsage","usages","creator","record","map","host","addElement","delete","ngOnDestroy","clear","addHost","hostNode","removeHost","ngServerMode","appendChild","APP_ID","CSP_NONCE","PLATFORM_ID","Optional","NAMESPACE_URIS","COMPONENT_REGEX","SOURCEMAP_URL_REGEXP","PROTOCOL_REGEXP","COMPONENT_VARIABLE","HOST_ATTR","CONTENT_ATTR","REMOVE_STYLES_ON_COMPONENT_DESTROY_DEFAULT","REMOVE_STYLES_ON_COMPONENT_DESTROY","factory","shimContentAttribute","componentShortId","replace","shimHostAttribute","shimStylesContent","compId","s","addBaseHrefToCssSourceMap","baseHref","absoluteBaseHrefUrl","URL","cssContent","includes","_","sourceMapUrl","startsWith","test","pathname","resolvedSourceMapUrl","DomRendererFactory2","eventManager","sharedStylesHost","removeStylesOnCompDestroy","ngZone","tracingService","rendererByCompId","defaultRenderer","DefaultDomRenderer2","createRenderer","encapsulation","ViewEncapsulation","ShadowDom","ExperimentalIsolatedShadowDom","Emulated","renderer","getOrCreateRenderer","EmulatedEncapsulationDomRenderer2","applyToHost","NoneEncapsulationDomRenderer","applyStyles","id","ShadowDomRenderer","componentReplaced","componentId","deps","i1","i2","TracingService","optional","data","Object","create","throwOnSyntheticProps","destroy","destroyNode","name","namespace","createElementNS","createComment","createText","createTextNode","parent","newChild","targetParent","isTemplateNode","content","insertBefore","refChild","removeChild","_parent","oldChild","selectRootElement","selectorOrNode","preserveContent","el","querySelector","parentNode","node","nextSibling","namespaceUri","setAttributeNS","removeAttributeNS","addClass","classList","removeClass","setStyle","flags","RendererStyleFlags2","DashCase","Important","setProperty","removeStyle","removeProperty","checkNoSyntheticProp","setValue","nodeValue","listen","event","getDOM","getGlobalEventTarget","wrappedCallback","decoratePreventDefault","wrapEventListener","eventHandler","allowDefaultBehavior","runGuarded","preventDefault","undefined","AT_CHARCODE","charCodeAt","nameKind","tagName","hostEl","shadowRoot","component","attachShadow","mode","getBaseHref","styleEl","document","styleUrls","getExternalStyles","styleUrl","linkEl","nodeOrShadowRoot","allLeavingAnimations","size","contentAttr","hostAttr"],"mappings":"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"} | ||
| {"version":3,"file":"_dom_renderer-chunk.mjs","sources":["../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/packages/platform-browser/src/dom/events/event_manager_plugin.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/packages/platform-browser/src/dom/events/dom_events.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/packages/platform-browser/src/dom/events/event_manager.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/packages/platform-browser/src/dom/shared_styles_host.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/packages/platform-browser/src/dom/dom_renderer.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 type {ListenerOptions} from '@angular/core';\nimport type {EventManager} from './event_manager';\n\n/**\n * The plugin definition for the `EventManager` class\n *\n * It can be used as a base class to create custom manager plugins, i.e. you can create your own\n * class that extends the `EventManagerPlugin` one.\n *\n * @see [Extend event handling](guide/templates/event-listeners#extend-event-handling)\n *\n * @publicApi\n */\nexport abstract class EventManagerPlugin {\n // TODO: remove (has some usage in G3)\n constructor(private _doc: any) {}\n\n // Using non-null assertion because it's set by EventManager's constructor\n manager!: EventManager;\n\n /**\n * Should return `true` for every event name that should be supported by this plugin\n */\n abstract supports(eventName: string): boolean;\n\n /**\n * Implement the behaviour for the supported events\n */\n abstract addEventListener(\n element: HTMLElement,\n eventName: string,\n handler: Function,\n options?: ListenerOptions,\n ): Function;\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, type ListenerOptions} from '@angular/core';\nimport {EventManagerPlugin} from './event_manager_plugin';\n\n@Injectable()\nexport class DomEventsPlugin extends EventManagerPlugin {\n constructor(@Inject(DOCUMENT) doc: any) {\n super(doc);\n }\n\n // This plugin should come last in the list of plugins, because it accepts all\n // events.\n override supports(eventName: string): boolean {\n return true;\n }\n\n override addEventListener(\n element: HTMLElement,\n eventName: string,\n handler: Function,\n options?: ListenerOptions,\n ): Function {\n element.addEventListener(eventName, handler as EventListener, options);\n return () => this.removeEventListener(element, eventName, handler as EventListener, options);\n }\n\n removeEventListener(\n target: any,\n eventName: string,\n callback: Function,\n options?: ListenerOptions,\n ): void {\n return target.removeEventListener(eventName, callback as EventListener, options);\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 {\n Inject,\n Injectable,\n InjectionToken,\n NgZone,\n ɵRuntimeError as RuntimeError,\n type ListenerOptions,\n} from '@angular/core';\n\nimport {RuntimeErrorCode} from '../../errors';\n\nimport type {EventManagerPlugin} from './event_manager_plugin';\n\nimport {DomEventsPlugin} from './dom_events';\n\n/**\n * The injection token for plugins of the `EventManager` service.\n *\n * @see [Extend event handling](guide/templates/event-listeners#extend-event-handling)\n *\n * @publicApi\n */\nexport const EVENT_MANAGER_PLUGINS = new InjectionToken<EventManagerPlugin[]>(\n typeof ngDevMode !== 'undefined' && ngDevMode ? 'EventManagerPlugins' : '',\n);\n\n/**\n * An injectable service that provides event management for Angular\n * through a browser plug-in.\n *\n * @publicApi\n */\n@Injectable()\nexport class EventManager {\n private _plugins: EventManagerPlugin[];\n private _eventNameToPlugin = new Map<string, EventManagerPlugin>();\n\n /**\n * Initializes an instance of the event-manager service.\n */\n constructor(\n @Inject(EVENT_MANAGER_PLUGINS) plugins: EventManagerPlugin[],\n private _zone: NgZone,\n ) {\n plugins.forEach((plugin) => {\n plugin.manager = this;\n });\n\n const otherPlugins = plugins.filter((p) => !(p instanceof DomEventsPlugin));\n this._plugins = otherPlugins.slice().reverse();\n\n // DomEventsPlugin.supports() always returns true, it should always be the last plugin.\n const domEventPlugin = plugins.find((p) => p instanceof DomEventsPlugin);\n if (domEventPlugin) {\n this._plugins.push(domEventPlugin);\n }\n }\n\n /**\n * Registers a handler for a specific element and event.\n *\n * @param element The HTML element to receive event notifications.\n * @param eventName The name of the event to listen for.\n * @param handler A function to call when the notification occurs. Receives the\n * event object as an argument.\n * @param options Options that configure how the event listener is bound.\n * @returns A callback function that can be used to remove the handler.\n */\n addEventListener(\n element: HTMLElement,\n eventName: string,\n handler: Function,\n options?: ListenerOptions,\n ): Function {\n const plugin = this._findPluginFor(eventName);\n return plugin.addEventListener(element, eventName, handler, options);\n }\n\n /**\n * Retrieves the compilation zone in which event listeners are registered.\n */\n getZone(): NgZone {\n return this._zone;\n }\n\n /** @internal */\n _findPluginFor(eventName: string): EventManagerPlugin {\n let plugin = this._eventNameToPlugin.get(eventName);\n if (plugin) {\n return plugin;\n }\n\n const plugins = this._plugins;\n plugin = plugins.find((plugin) => plugin.supports(eventName));\n if (!plugin) {\n throw new RuntimeError(\n RuntimeErrorCode.NO_PLUGIN_FOR_EVENT,\n (typeof ngDevMode === 'undefined' || ngDevMode) &&\n `No event manager plugin found for event ${eventName}`,\n );\n }\n\n this._eventNameToPlugin.set(eventName, plugin);\n return plugin;\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 APP_ID,\n CSP_NONCE,\n Inject,\n Injectable,\n OnDestroy,\n Optional,\n PLATFORM_ID,\n} from '@angular/core';\n\n/** The style elements attribute name used to set value of `APP_ID` token. */\nconst APP_ID_ATTRIBUTE_NAME = 'ng-app-id';\n\n/**\n * A record of usage for a specific style including all elements added to the DOM\n * that contain a given style.\n */\ninterface UsageRecord<T> {\n elements: T[];\n usage: number;\n}\n\n/**\n * Removes all provided elements from the document.\n * @param elements An array of HTML Elements.\n */\nfunction removeElements(elements: Iterable<HTMLElement>): void {\n for (const element of elements) {\n element.remove();\n }\n}\n\n/**\n * Creates a `style` element with the provided inline style content.\n * @param style A string of the inline style content.\n * @param doc A DOM Document to use to create the element.\n * @returns An HTMLStyleElement instance.\n */\nfunction createStyleElement(style: string, doc: Document): HTMLStyleElement {\n const styleElement = doc.createElement('style');\n styleElement.textContent = style;\n\n return styleElement;\n}\n\n/**\n * Searches a DOM document's head element for style elements with a matching application\n * identifier attribute (`ng-app-id`) to the provide identifier and adds usage records for each.\n * @param doc An HTML DOM document instance.\n * @param appId A string containing an Angular application identifer.\n * @param inline A Map object for tracking inline (defined via `styles` in component decorator) style usage.\n * @param external A Map object for tracking external (defined via `styleUrls` in component decorator) style usage.\n */\nfunction addServerStyles(\n doc: Document,\n appId: string,\n inline: Map<string, UsageRecord<HTMLStyleElement>>,\n external: Map<string, UsageRecord<HTMLLinkElement>>,\n): void {\n const elements = doc.head?.querySelectorAll<HTMLStyleElement | HTMLLinkElement>(\n `style[${APP_ID_ATTRIBUTE_NAME}=\"${appId}\"],link[${APP_ID_ATTRIBUTE_NAME}=\"${appId}\"]`,\n );\n\n if (elements) {\n for (const styleElement of elements) {\n styleElement.removeAttribute(APP_ID_ATTRIBUTE_NAME);\n if (styleElement instanceof HTMLLinkElement) {\n // Only use filename from href\n // The href is build time generated with a unique value to prevent duplicates.\n external.set(styleElement.href.slice(styleElement.href.lastIndexOf('/') + 1), {\n usage: 0,\n elements: [styleElement],\n });\n } else if (styleElement.textContent) {\n inline.set(styleElement.textContent, {usage: 0, elements: [styleElement]});\n }\n }\n }\n}\n\n/**\n * Creates a `link` element for the provided external style URL.\n * @param url A string of the URL for the stylesheet.\n * @param doc A DOM Document to use to create the element.\n * @returns An HTMLLinkElement instance.\n */\nexport function createLinkElement(url: string, doc: Document): HTMLLinkElement {\n const linkElement = doc.createElement('link');\n linkElement.setAttribute('rel', 'stylesheet');\n linkElement.setAttribute('href', url);\n\n return linkElement;\n}\n\n@Injectable()\nexport class SharedStylesHost implements OnDestroy {\n /**\n * Provides usage information for active inline style content and associated HTML <style> elements.\n * Embedded styles typically originate from the `styles` metadata of a rendered component.\n */\n private readonly inline = new Map<string /** content */, UsageRecord<HTMLStyleElement>>();\n\n /**\n * Provides usage information for active external style URLs and the associated HTML <link> elements.\n * External styles typically originate from the `ɵɵExternalStylesFeature` of a rendered component.\n */\n private readonly external = new Map<string /** URL */, UsageRecord<HTMLLinkElement>>();\n\n /**\n * Set of host DOM nodes that will have styles attached.\n */\n private readonly hosts = new Set<Node>();\n\n constructor(\n @Inject(DOCUMENT) private readonly doc: Document,\n @Inject(APP_ID) private readonly appId: string,\n @Inject(CSP_NONCE) @Optional() private readonly nonce?: string | null,\n // Cannot remove it due to backward compatibility\n // (it seems some TGP targets might be calling this constructor directly).\n @Inject(PLATFORM_ID) platformId: object = {},\n ) {\n addServerStyles(doc, appId, this.inline, this.external);\n this.hosts.add(doc.head);\n }\n\n /**\n * Adds embedded styles to the DOM via HTML `style` elements.\n * @param styles An array of style content strings.\n */\n addStyles(styles: string[], urls?: string[]): void {\n for (const value of styles) {\n this.addUsage(value, this.inline, createStyleElement);\n }\n\n urls?.forEach((value) => this.addUsage(value, this.external, createLinkElement));\n }\n\n /**\n * Removes embedded styles from the DOM that were added as HTML `style` elements.\n * @param styles An array of style content strings.\n */\n removeStyles(styles: string[], urls?: string[]): void {\n for (const value of styles) {\n this.removeUsage(value, this.inline);\n }\n\n urls?.forEach((value) => this.removeUsage(value, this.external));\n }\n\n protected addUsage<T extends HTMLElement>(\n value: string,\n usages: Map<string, UsageRecord<T>>,\n creator: (value: string, doc: Document) => T,\n ): void {\n // Attempt to get any current usage of the value\n const record = usages.get(value);\n\n // If existing, just increment the usage count\n if (record) {\n if ((typeof ngDevMode === 'undefined' || ngDevMode) && record.usage === 0) {\n // A usage count of zero indicates a preexisting server generated style.\n // This attribute is solely used for debugging purposes of SSR style reuse.\n record.elements.forEach((element) => element.setAttribute('ng-style-reused', ''));\n }\n record.usage++;\n } else {\n // Otherwise, create an entry to track the elements and add element for each host\n usages.set(value, {\n usage: 1,\n elements: [...this.hosts].map((host) => this.addElement(host, creator(value, this.doc))),\n });\n }\n }\n\n protected removeUsage<T extends HTMLElement>(\n value: string,\n usages: Map<string, UsageRecord<T>>,\n ): void {\n // Attempt to get any current usage of the value\n const record = usages.get(value);\n\n // If there is a record, reduce the usage count and if no longer used,\n // remove from DOM and delete usage record.\n if (record) {\n record.usage--;\n if (record.usage <= 0) {\n removeElements(record.elements);\n usages.delete(value);\n }\n }\n }\n\n ngOnDestroy(): void {\n for (const [, {elements}] of [...this.inline, ...this.external]) {\n removeElements(elements);\n }\n this.hosts.clear();\n }\n\n /**\n * Adds a host node to the set of style hosts and adds all existing style usage to\n * the newly added host node.\n *\n * This is currently only used for Shadow DOM encapsulation mode.\n */\n addHost(hostNode: Node): void {\n this.hosts.add(hostNode);\n\n // Add existing styles to new host\n for (const [style, {elements}] of this.inline) {\n elements.push(this.addElement(hostNode, createStyleElement(style, this.doc)));\n }\n for (const [url, {elements}] of this.external) {\n elements.push(this.addElement(hostNode, createLinkElement(url, this.doc)));\n }\n }\n\n removeHost(hostNode: Node): void {\n this.hosts.delete(hostNode);\n }\n\n private addElement<T extends HTMLElement>(host: Node, element: T): T {\n // Add a nonce if present\n if (this.nonce) {\n element.setAttribute('nonce', this.nonce);\n }\n\n // Add application identifier when on the server to support client-side reuse\n if (typeof ngServerMode !== 'undefined' && ngServerMode) {\n element.setAttribute(APP_ID_ATTRIBUTE_NAME, this.appId);\n }\n\n // Insert the element into the DOM with the host node as parent\n return host.appendChild(element);\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, ɵgetDOM as getDOM} from '@angular/common';\nimport {\n APP_ID,\n CSP_NONCE,\n Inject,\n Injectable,\n InjectionToken,\n NgZone,\n OnDestroy,\n Renderer2,\n RendererFactory2,\n RendererStyleFlags2,\n RendererType2,\n ViewEncapsulation,\n ɵRuntimeError as RuntimeError,\n type ListenerOptions,\n ɵTracingService as TracingService,\n ɵTracingSnapshot as TracingSnapshot,\n Optional,\n ɵallLeavingAnimations as allLeavingAnimations,\n} from '@angular/core';\n\nimport {RuntimeErrorCode} from '../errors';\n\nimport {EventManager} from './events/event_manager';\nimport {createLinkElement, SharedStylesHost} from './shared_styles_host';\n\nexport const NAMESPACE_URIS: {[ns: string]: string} = {\n 'svg': 'http://www.w3.org/2000/svg',\n 'xhtml': 'http://www.w3.org/1999/xhtml',\n 'xlink': 'http://www.w3.org/1999/xlink',\n 'xml': 'http://www.w3.org/XML/1998/namespace',\n 'xmlns': 'http://www.w3.org/2000/xmlns/',\n 'math': 'http://www.w3.org/1998/Math/MathML',\n};\n\nconst COMPONENT_REGEX = /%COMP%/g;\nconst SOURCEMAP_URL_REGEXP = /\\/\\*#\\s*sourceMappingURL=(.+?)\\s*\\*\\//;\nconst PROTOCOL_REGEXP = /^https?:/;\n\nexport const COMPONENT_VARIABLE = '%COMP%';\nexport const HOST_ATTR = `_nghost-${COMPONENT_VARIABLE}`;\nexport const CONTENT_ATTR = `_ngcontent-${COMPONENT_VARIABLE}`;\n\n/**\n * The default value for the `REMOVE_STYLES_ON_COMPONENT_DESTROY` DI token.\n */\nconst REMOVE_STYLES_ON_COMPONENT_DESTROY_DEFAULT = true;\n\n/**\n * A DI token that indicates whether styles\n * of destroyed components should be removed from DOM.\n *\n * By default, the value is set to `true`.\n * @publicApi\n */\nexport const REMOVE_STYLES_ON_COMPONENT_DESTROY = new InjectionToken<boolean>(\n typeof ngDevMode !== 'undefined' && ngDevMode ? 'RemoveStylesOnCompDestroy' : '',\n {\n factory: () => REMOVE_STYLES_ON_COMPONENT_DESTROY_DEFAULT,\n },\n);\n\nexport function shimContentAttribute(componentShortId: string): string {\n return CONTENT_ATTR.replace(COMPONENT_REGEX, componentShortId);\n}\n\nexport function shimHostAttribute(componentShortId: string): string {\n return HOST_ATTR.replace(COMPONENT_REGEX, componentShortId);\n}\n\nexport function shimStylesContent(compId: string, styles: string[]): string[] {\n return styles.map((s) => s.replace(COMPONENT_REGEX, compId));\n}\n\n/**\n * Prepends a baseHref to the `sourceMappingURL` within the provided CSS content.\n * If the `sourceMappingURL` contains an inline (encoded) map, the function skips processing.\n *\n * @note For inline stylesheets, the `sourceMappingURL` is relative to the page's origin\n * and not the provided baseHref. This function is needed as when accessing the page with a URL\n * containing two or more segments.\n * For example, if the baseHref is set to `/`, and you visit a URL like `http://localhost/foo/bar`,\n * the map would be requested from `http://localhost/foo/bar/comp.css.map` instead of what you'd expect,\n * which is `http://localhost/comp.css.map`. This behavior is corrected by modifying the `sourceMappingURL`\n * to ensure external source maps are loaded relative to the baseHref.\n *\n\n * @param baseHref - The base URL to prepend to the `sourceMappingURL`.\n * @param styles - An array of CSS content strings, each potentially containing a `sourceMappingURL`.\n * @returns The updated array of CSS content strings with modified `sourceMappingURL` values,\n * or the original content if no modification is needed.\n */\nexport function addBaseHrefToCssSourceMap(baseHref: string, styles: string[]): string[] {\n if (!baseHref) {\n return styles;\n }\n\n const absoluteBaseHrefUrl = new URL(baseHref, 'http://localhost');\n\n return styles.map((cssContent) => {\n if (!cssContent.includes('sourceMappingURL=')) {\n return cssContent;\n }\n\n return cssContent.replace(SOURCEMAP_URL_REGEXP, (_, sourceMapUrl) => {\n if (\n sourceMapUrl[0] === '/' ||\n sourceMapUrl.startsWith('data:') ||\n PROTOCOL_REGEXP.test(sourceMapUrl)\n ) {\n return `/*# sourceMappingURL=${sourceMapUrl} */`;\n }\n\n const {pathname: resolvedSourceMapUrl} = new URL(sourceMapUrl, absoluteBaseHrefUrl);\n\n return `/*# sourceMappingURL=${resolvedSourceMapUrl} */`;\n });\n });\n}\n\n@Injectable()\nexport class DomRendererFactory2 implements RendererFactory2, OnDestroy {\n private readonly rendererByCompId = new Map<\n string,\n EmulatedEncapsulationDomRenderer2 | NoneEncapsulationDomRenderer\n >();\n private readonly defaultRenderer: Renderer2;\n\n constructor(\n private readonly eventManager: EventManager,\n private readonly sharedStylesHost: SharedStylesHost,\n @Inject(APP_ID) private readonly appId: string,\n @Inject(REMOVE_STYLES_ON_COMPONENT_DESTROY) private removeStylesOnCompDestroy: boolean,\n @Inject(DOCUMENT) private readonly doc: Document,\n readonly ngZone: NgZone,\n @Inject(CSP_NONCE) private readonly nonce: string | null = null,\n @Inject(TracingService)\n @Optional()\n private readonly tracingService: TracingService<TracingSnapshot> | null = null,\n ) {\n this.defaultRenderer = new DefaultDomRenderer2(eventManager, doc, ngZone, this.tracingService);\n }\n\n createRenderer(element: any, type: RendererType2 | null): Renderer2 {\n if (!element || !type) {\n return this.defaultRenderer;\n }\n\n if (\n typeof ngServerMode !== 'undefined' &&\n ngServerMode &&\n (type.encapsulation === ViewEncapsulation.ShadowDom ||\n type.encapsulation === ViewEncapsulation.ExperimentalIsolatedShadowDom)\n ) {\n // Domino does not support shadow DOM.\n type = {...type, encapsulation: ViewEncapsulation.Emulated};\n }\n\n const renderer = this.getOrCreateRenderer(element, type);\n // Renderers have different logic due to different encapsulation behaviours.\n // Ex: for emulated, an attribute is added to the element.\n if (renderer instanceof EmulatedEncapsulationDomRenderer2) {\n renderer.applyToHost(element);\n } else if (renderer instanceof NoneEncapsulationDomRenderer) {\n renderer.applyStyles();\n }\n\n return renderer;\n }\n\n private getOrCreateRenderer(element: any, type: RendererType2): Renderer2 {\n const rendererByCompId = this.rendererByCompId;\n let renderer = rendererByCompId.get(type.id);\n\n if (!renderer) {\n const doc = this.doc;\n const ngZone = this.ngZone;\n const eventManager = this.eventManager;\n const sharedStylesHost = this.sharedStylesHost;\n const removeStylesOnCompDestroy = this.removeStylesOnCompDestroy;\n const tracingService = this.tracingService;\n\n switch (type.encapsulation) {\n case ViewEncapsulation.Emulated:\n renderer = new EmulatedEncapsulationDomRenderer2(\n eventManager,\n sharedStylesHost,\n type,\n this.appId,\n removeStylesOnCompDestroy,\n doc,\n ngZone,\n tracingService,\n );\n break;\n case ViewEncapsulation.ShadowDom:\n return new ShadowDomRenderer(\n eventManager,\n element,\n type,\n doc,\n ngZone,\n this.nonce,\n tracingService,\n sharedStylesHost,\n );\n case ViewEncapsulation.ExperimentalIsolatedShadowDom:\n return new ShadowDomRenderer(\n eventManager,\n element,\n type,\n doc,\n ngZone,\n this.nonce,\n tracingService,\n );\n\n default:\n renderer = new NoneEncapsulationDomRenderer(\n eventManager,\n sharedStylesHost,\n type,\n removeStylesOnCompDestroy,\n doc,\n ngZone,\n tracingService,\n );\n break;\n }\n\n rendererByCompId.set(type.id, renderer);\n }\n\n return renderer;\n }\n\n ngOnDestroy() {\n this.rendererByCompId.clear();\n }\n\n /**\n * Used during HMR to clear any cached data about a component.\n * @param componentId ID of the component that is being replaced.\n */\n protected componentReplaced(componentId: string) {\n this.rendererByCompId.delete(componentId);\n }\n}\n\nclass DefaultDomRenderer2 implements Renderer2 {\n data: {[key: string]: any} = Object.create(null);\n\n /**\n * By default this renderer throws when encountering synthetic properties\n * This can be disabled for example by the AsyncAnimationRendererFactory\n */\n throwOnSyntheticProps = true;\n\n constructor(\n private readonly eventManager: EventManager,\n private readonly doc: Document,\n protected readonly ngZone: NgZone,\n private readonly tracingService: TracingService<TracingSnapshot> | null,\n ) {}\n\n destroy(): void {}\n\n destroyNode = null;\n\n createElement(name: string, namespace?: string): any {\n if (namespace) {\n // TODO: `|| namespace` was added in\n // https://github.com/angular/angular/commit/2b9cc8503d48173492c29f5a271b61126104fbdb to\n // support how Ivy passed around the namespace URI rather than short name at the time. It did\n // not, however extend the support to other parts of the system (setAttribute, setAttribute,\n // and the ServerRenderer). We should decide what exactly the semantics for dealing with\n // namespaces should be and make it consistent.\n // Related issues:\n // https://github.com/angular/angular/issues/44028\n // https://github.com/angular/angular/issues/44883\n return this.doc.createElementNS(NAMESPACE_URIS[namespace] || namespace, name);\n }\n\n return this.doc.createElement(name);\n }\n\n createComment(value: string): any {\n return this.doc.createComment(value);\n }\n\n createText(value: string): any {\n return this.doc.createTextNode(value);\n }\n\n appendChild(parent: any, newChild: any): void {\n const targetParent = isTemplateNode(parent) ? parent.content : parent;\n targetParent.appendChild(newChild);\n }\n\n insertBefore(parent: any, newChild: any, refChild: any): void {\n if (parent) {\n const targetParent = isTemplateNode(parent) ? parent.content : parent;\n targetParent.insertBefore(newChild, refChild);\n }\n }\n\n removeChild(_parent: any, oldChild: any): void {\n // child was removed\n oldChild.remove();\n }\n\n selectRootElement(selectorOrNode: string | any, preserveContent?: boolean): any {\n let el: any =\n typeof selectorOrNode === 'string' ? this.doc.querySelector(selectorOrNode) : selectorOrNode;\n if (!el) {\n throw new RuntimeError(\n RuntimeErrorCode.ROOT_NODE_NOT_FOUND,\n (typeof ngDevMode === 'undefined' || ngDevMode) &&\n `The selector \"${selectorOrNode}\" did not match any elements`,\n );\n }\n if (!preserveContent) {\n el.textContent = '';\n }\n return el;\n }\n\n parentNode(node: any): any {\n return node.parentNode;\n }\n\n nextSibling(node: any): any {\n return node.nextSibling;\n }\n\n setAttribute(el: any, name: string, value: string, namespace?: string): void {\n if (namespace) {\n name = namespace + ':' + name;\n const namespaceUri = NAMESPACE_URIS[namespace];\n if (namespaceUri) {\n el.setAttributeNS(namespaceUri, name, value);\n } else {\n el.setAttribute(name, value);\n }\n } else {\n el.setAttribute(name, value);\n }\n }\n\n removeAttribute(el: any, name: string, namespace?: string): void {\n if (namespace) {\n const namespaceUri = NAMESPACE_URIS[namespace];\n if (namespaceUri) {\n el.removeAttributeNS(namespaceUri, name);\n } else {\n el.removeAttribute(`${namespace}:${name}`);\n }\n } else {\n el.removeAttribute(name);\n }\n }\n\n addClass(el: any, name: string): void {\n el.classList.add(name);\n }\n\n removeClass(el: any, name: string): void {\n el.classList.remove(name);\n }\n\n setStyle(el: any, style: string, value: any, flags: RendererStyleFlags2): void {\n if (flags & (RendererStyleFlags2.DashCase | RendererStyleFlags2.Important)) {\n el.style.setProperty(style, value, flags & RendererStyleFlags2.Important ? 'important' : '');\n } else {\n el.style[style] = value;\n }\n }\n\n removeStyle(el: any, style: string, flags: RendererStyleFlags2): void {\n if (flags & RendererStyleFlags2.DashCase) {\n // removeProperty has no effect when used on camelCased properties.\n el.style.removeProperty(style);\n } else {\n el.style[style] = '';\n }\n }\n\n setProperty(el: any, name: string, value: any): void {\n if (el == null) {\n return;\n }\n\n (typeof ngDevMode === 'undefined' || ngDevMode) &&\n this.throwOnSyntheticProps &&\n checkNoSyntheticProp(name, 'property');\n el[name] = value;\n }\n\n setValue(node: any, value: string): void {\n node.nodeValue = value;\n }\n\n listen(\n target: 'window' | 'document' | 'body' | any,\n event: string,\n callback: (event: any) => boolean,\n options?: ListenerOptions,\n ): () => void {\n (typeof ngDevMode === 'undefined' || ngDevMode) &&\n this.throwOnSyntheticProps &&\n checkNoSyntheticProp(event, 'listener');\n if (typeof target === 'string') {\n target = getDOM().getGlobalEventTarget(this.doc, target);\n if (!target) {\n throw new RuntimeError(\n RuntimeErrorCode.UNSUPPORTED_EVENT_TARGET,\n (typeof ngDevMode === 'undefined' || ngDevMode) &&\n `Unsupported event target ${target} for event ${event}`,\n );\n }\n }\n\n let wrappedCallback = this.decoratePreventDefault(callback);\n\n if (this.tracingService?.wrapEventListener) {\n wrappedCallback = this.tracingService.wrapEventListener(target, event, wrappedCallback);\n }\n\n return this.eventManager.addEventListener(\n target,\n event,\n wrappedCallback,\n options,\n ) as VoidFunction;\n }\n\n private decoratePreventDefault(eventHandler: Function): Function {\n // `DebugNode.triggerEventHandler` needs to know if the listener was created with\n // decoratePreventDefault or is a listener added outside the Angular context so it can handle\n // the two differently. In the first case, the special '__ngUnwrap__' token is passed to the\n // unwrap the listener (see below).\n return (event: any) => {\n // Ivy uses '__ngUnwrap__' as a special token that allows us to unwrap the function\n // so that it can be invoked programmatically by `DebugNode.triggerEventHandler`. The\n // debug_node can inspect the listener toString contents for the existence of this special\n // token. Because the token is a string literal, it is ensured to not be modified by compiled\n // code.\n if (event === '__ngUnwrap__') {\n return eventHandler;\n }\n\n // Run the event handler inside the ngZone because event handlers are not patched\n // by Zone on the server. This is required only for tests.\n const allowDefaultBehavior =\n typeof ngServerMode !== 'undefined' && ngServerMode\n ? this.ngZone.runGuarded(() => eventHandler(event))\n : eventHandler(event);\n if (allowDefaultBehavior === false) {\n event.preventDefault();\n }\n\n return undefined;\n };\n }\n}\n\nconst AT_CHARCODE = (() => '@'.charCodeAt(0))();\n\nfunction checkNoSyntheticProp(name: string, nameKind: string) {\n if (name.charCodeAt(0) === AT_CHARCODE) {\n throw new RuntimeError(\n RuntimeErrorCode.UNEXPECTED_SYNTHETIC_PROPERTY,\n `Unexpected synthetic ${nameKind} ${name} found. Please make sure that:\n - Make sure \\`provideAnimationsAsync()\\`, \\`provideAnimations()\\` or \\`provideNoopAnimations()\\` call was added to a list of providers used to bootstrap an application.\n - There is a corresponding animation configuration named \\`${name}\\` defined in the \\`animations\\` field of the \\`@Component\\` decorator (see https://angular.dev/api/core/Component#animations).`,\n );\n }\n}\n\nfunction isTemplateNode(node: any): node is HTMLTemplateElement {\n return node.tagName === 'TEMPLATE' && node.content !== undefined;\n}\n\nclass ShadowDomRenderer extends DefaultDomRenderer2 {\n private shadowRoot: any;\n\n constructor(\n eventManager: EventManager,\n private hostEl: any,\n component: RendererType2,\n doc: Document,\n ngZone: NgZone,\n nonce: string | null,\n tracingService: TracingService<TracingSnapshot> | null,\n private sharedStylesHost?: SharedStylesHost,\n ) {\n super(eventManager, doc, ngZone, tracingService);\n this.shadowRoot = (hostEl as any).attachShadow({mode: 'open'});\n\n // SharedStylesHost is used to add styles to the shadow root by ShadowDom.\n // This is optional as it is not used by ExperimentalIsolatedShadowDom.\n if (this.sharedStylesHost) {\n this.sharedStylesHost.addHost(this.shadowRoot);\n }\n let styles = component.styles;\n if (ngDevMode) {\n // We only do this in development, as for production users should not add CSS sourcemaps to components.\n const baseHref = getDOM().getBaseHref(doc) ?? '';\n styles = addBaseHrefToCssSourceMap(baseHref, styles);\n }\n\n styles = shimStylesContent(component.id, styles);\n\n for (const style of styles) {\n const styleEl = document.createElement('style');\n\n if (nonce) {\n styleEl.setAttribute('nonce', nonce);\n }\n\n styleEl.textContent = style;\n this.shadowRoot.appendChild(styleEl);\n }\n\n // Apply any external component styles to the shadow root for the component's element.\n // The ShadowDOM renderer uses an alternative execution path for component styles that\n // does not use the SharedStylesHost that other encapsulation modes leverage. Much like\n // the manual addition of embedded styles directly above, any external stylesheets\n // must be manually added here to ensure ShadowDOM components are correctly styled.\n // TODO: Consider reworking the DOM Renderers to consolidate style handling.\n const styleUrls = component.getExternalStyles?.();\n if (styleUrls) {\n for (const styleUrl of styleUrls) {\n const linkEl = createLinkElement(styleUrl, doc);\n if (nonce) {\n linkEl.setAttribute('nonce', nonce);\n }\n this.shadowRoot.appendChild(linkEl);\n }\n }\n }\n\n private nodeOrShadowRoot(node: any): any {\n return node === this.hostEl ? this.shadowRoot : node;\n }\n\n override appendChild(parent: any, newChild: any): void {\n return super.appendChild(this.nodeOrShadowRoot(parent), newChild);\n }\n\n override insertBefore(parent: any, newChild: any, refChild: any): void {\n return super.insertBefore(this.nodeOrShadowRoot(parent), newChild, refChild);\n }\n\n override removeChild(_parent: any, oldChild: any): void {\n return super.removeChild(null, oldChild);\n }\n\n override parentNode(node: any): any {\n return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(node)));\n }\n\n override destroy() {\n if (this.sharedStylesHost) {\n this.sharedStylesHost.removeHost(this.shadowRoot);\n }\n }\n}\n\nclass NoneEncapsulationDomRenderer extends DefaultDomRenderer2 {\n private readonly styles: string[];\n private readonly styleUrls?: string[];\n\n constructor(\n eventManager: EventManager,\n private readonly sharedStylesHost: SharedStylesHost,\n component: RendererType2,\n private removeStylesOnCompDestroy: boolean,\n doc: Document,\n ngZone: NgZone,\n tracingService: TracingService<TracingSnapshot> | null,\n compId?: string,\n ) {\n super(eventManager, doc, ngZone, tracingService);\n let styles = component.styles;\n if (ngDevMode) {\n // We only do this in development, as for production users should not add CSS sourcemaps to components.\n const baseHref = getDOM().getBaseHref(doc) ?? '';\n styles = addBaseHrefToCssSourceMap(baseHref, styles);\n }\n\n this.styles = compId ? shimStylesContent(compId, styles) : styles;\n this.styleUrls = component.getExternalStyles?.(compId);\n }\n\n applyStyles(): void {\n this.sharedStylesHost.addStyles(this.styles, this.styleUrls);\n }\n\n override destroy(): void {\n if (!this.removeStylesOnCompDestroy) {\n return;\n }\n if (allLeavingAnimations.size === 0) {\n this.sharedStylesHost.removeStyles(this.styles, this.styleUrls);\n }\n }\n}\n\nclass EmulatedEncapsulationDomRenderer2 extends NoneEncapsulationDomRenderer {\n private contentAttr: string;\n private hostAttr: string;\n\n constructor(\n eventManager: EventManager,\n sharedStylesHost: SharedStylesHost,\n component: RendererType2,\n appId: string,\n removeStylesOnCompDestroy: boolean,\n doc: Document,\n ngZone: NgZone,\n tracingService: TracingService<TracingSnapshot> | null,\n ) {\n const compId = appId + '-' + component.id;\n super(\n eventManager,\n sharedStylesHost,\n component,\n removeStylesOnCompDestroy,\n doc,\n ngZone,\n tracingService,\n compId,\n );\n this.contentAttr = shimContentAttribute(compId);\n this.hostAttr = shimHostAttribute(compId);\n }\n\n applyToHost(element: any): void {\n this.applyStyles();\n this.setAttribute(element, this.hostAttr, '');\n }\n\n override createElement(parent: any, name: string): Element {\n const el = super.createElement(parent, name);\n super.setAttribute(el, this.contentAttr, '');\n return el;\n }\n}\n"],"names":["EventManagerPlugin","_doc","constructor","manager","DomEventsPlugin","doc","supports","eventName","addEventListener","element","handler","options","removeEventListener","target","callback","ɵfac","i0","ɵɵngDeclareFactory","minVersion","version","ngImport","type","DOCUMENT","ɵɵFactoryTarget","Injectable","decorators","Inject","EVENT_MANAGER_PLUGINS","InjectionToken","ngDevMode","EventManager","_zone","_plugins","_eventNameToPlugin","Map","plugins","forEach","plugin","otherPlugins","filter","p","slice","reverse","domEventPlugin","find","push","_findPluginFor","getZone","get","RuntimeError","set","token","NgZone","APP_ID_ATTRIBUTE_NAME","removeElements","elements","remove","createStyleElement","style","styleElement","createElement","textContent","addServerStyles","appId","inline","external","head","querySelectorAll","removeAttribute","HTMLLinkElement","href","lastIndexOf","usage","createLinkElement","url","linkElement","setAttribute","SharedStylesHost","nonce","hosts","Set","platformId","add","addStyles","styles","urls","value","addUsage","removeStyles","removeUsage","usages","creator","record","map","host","addElement","delete","ngOnDestroy","clear","addHost","hostNode","removeHost","ngServerMode","appendChild","APP_ID","CSP_NONCE","PLATFORM_ID","Optional","NAMESPACE_URIS","COMPONENT_REGEX","SOURCEMAP_URL_REGEXP","PROTOCOL_REGEXP","COMPONENT_VARIABLE","HOST_ATTR","CONTENT_ATTR","REMOVE_STYLES_ON_COMPONENT_DESTROY_DEFAULT","REMOVE_STYLES_ON_COMPONENT_DESTROY","factory","shimContentAttribute","componentShortId","replace","shimHostAttribute","shimStylesContent","compId","s","addBaseHrefToCssSourceMap","baseHref","absoluteBaseHrefUrl","URL","cssContent","includes","_","sourceMapUrl","startsWith","test","pathname","resolvedSourceMapUrl","DomRendererFactory2","eventManager","sharedStylesHost","removeStylesOnCompDestroy","ngZone","tracingService","rendererByCompId","defaultRenderer","DefaultDomRenderer2","createRenderer","encapsulation","ViewEncapsulation","ShadowDom","ExperimentalIsolatedShadowDom","Emulated","renderer","getOrCreateRenderer","EmulatedEncapsulationDomRenderer2","applyToHost","NoneEncapsulationDomRenderer","applyStyles","id","ShadowDomRenderer","componentReplaced","componentId","deps","i1","i2","TracingService","optional","data","Object","create","throwOnSyntheticProps","destroy","destroyNode","name","namespace","createElementNS","createComment","createText","createTextNode","parent","newChild","targetParent","isTemplateNode","content","insertBefore","refChild","removeChild","_parent","oldChild","selectRootElement","selectorOrNode","preserveContent","el","querySelector","parentNode","node","nextSibling","namespaceUri","setAttributeNS","removeAttributeNS","addClass","classList","removeClass","setStyle","flags","RendererStyleFlags2","DashCase","Important","setProperty","removeStyle","removeProperty","checkNoSyntheticProp","setValue","nodeValue","listen","event","getDOM","getGlobalEventTarget","wrappedCallback","decoratePreventDefault","wrapEventListener","eventHandler","allowDefaultBehavior","runGuarded","preventDefault","undefined","AT_CHARCODE","charCodeAt","nameKind","tagName","hostEl","shadowRoot","component","attachShadow","mode","getBaseHref","styleEl","document","styleUrls","getExternalStyles","styleUrl","linkEl","nodeOrShadowRoot","allLeavingAnimations","size","contentAttr","hostAttr"],"mappings":"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"} |
| /** | ||
| * @license Angular v21.1.4 | ||
| * @license Angular v21.1.5 | ||
| * (c) 2010-2026 Google LLC. https://angular.dev/ | ||
@@ -95,3 +95,3 @@ * License: MIT | ||
| minVersion: "12.0.0", | ||
| version: "21.1.4", | ||
| version: "21.1.5", | ||
| ngImport: i0, | ||
@@ -104,3 +104,3 @@ type: AsyncAnimationRendererFactory, | ||
| minVersion: "12.0.0", | ||
| version: "21.1.4", | ||
| version: "21.1.5", | ||
| ngImport: i0, | ||
@@ -112,3 +112,3 @@ type: AsyncAnimationRendererFactory | ||
| minVersion: "12.0.0", | ||
| version: "21.1.4", | ||
| version: "21.1.5", | ||
| ngImport: i0, | ||
@@ -115,0 +115,0 @@ type: AsyncAnimationRendererFactory, |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"animations-async.mjs","sources":["../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/packages/platform-browser/animations/async/src/async_animation_renderer.ts","../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/packages/platform-browser/animations/async/src/providers.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 {\n ɵAnimationEngine as AnimationEngine,\n ɵAnimationRenderer as AnimationRenderer,\n ɵAnimationRendererFactory as AnimationRendererFactory,\n} from '@angular/animations/browser';\nimport {\n ɵAnimationRendererType as AnimationRendererType,\n ɵChangeDetectionScheduler as ChangeDetectionScheduler,\n inject,\n Injectable,\n InjectionToken,\n Injector,\n NgZone,\n ɵNotificationSource as NotificationSource,\n OnDestroy,\n Renderer2,\n RendererFactory2,\n RendererStyleFlags2,\n RendererType2,\n ɵRuntimeError as RuntimeError,\n type ListenerOptions,\n} from '@angular/core';\nimport {ɵRuntimeErrorCode as RuntimeErrorCode} from '../../../index';\n\nconst ANIMATION_PREFIX = '@';\n\n@Injectable()\nexport class AsyncAnimationRendererFactory implements OnDestroy, RendererFactory2 {\n private _rendererFactoryPromise: Promise<AnimationRendererFactory> | null = null;\n private scheduler: ChangeDetectionScheduler | null = null;\n private readonly injector = inject(Injector);\n private readonly loadingSchedulerFn = inject(ɵASYNC_ANIMATION_LOADING_SCHEDULER_FN, {\n optional: true,\n });\n private _engine?: AnimationEngine;\n\n /**\n *\n * @param moduleImpl allows to provide a mock implmentation (or will load the animation module)\n */\n constructor(\n private doc: Document,\n private delegate: RendererFactory2,\n private zone: NgZone,\n private animationType: 'animations' | 'noop',\n private moduleImpl?: Promise<{\n ɵcreateEngine: (type: 'animations' | 'noop', doc: Document) => AnimationEngine;\n ɵAnimationRendererFactory: typeof AnimationRendererFactory;\n }>,\n ) {}\n\n /** @docs-private */\n ngOnDestroy(): void {\n // When the root view is removed, the renderer defers the actual work to the\n // `TransitionAnimationEngine` to do this, and the `TransitionAnimationEngine` doesn't actually\n // remove the DOM node, but just calls `markElementAsRemoved()`. The actual DOM node is not\n // removed until `TransitionAnimationEngine` \"flushes\".\n // Note: we already flush on destroy within the `InjectableAnimationEngine`. The injectable\n // engine is not provided when async animations are used.\n this._engine?.flush();\n }\n\n /**\n * @internal\n */\n private loadImpl(): Promise<AnimationRendererFactory> {\n // Note on the `.then(m => m)` part below: Closure compiler optimizations in g3 require\n // `.then` to be present for a dynamic import (or an import should be `await`ed) to detect\n // the set of imported symbols.\n const loadFn = () => this.moduleImpl ?? import('@angular/animations/browser').then((m) => m);\n\n let moduleImplPromise: typeof this.moduleImpl;\n if (this.loadingSchedulerFn) {\n moduleImplPromise = this.loadingSchedulerFn(loadFn);\n } else {\n moduleImplPromise = loadFn();\n }\n\n return moduleImplPromise\n .catch((e) => {\n throw new RuntimeError(\n RuntimeErrorCode.ANIMATION_RENDERER_ASYNC_LOADING_FAILURE,\n (typeof ngDevMode === 'undefined' || ngDevMode) &&\n 'Async loading for animations package was ' +\n 'enabled, but loading failed. Angular falls back to using regular rendering. ' +\n \"No animations will be displayed and their styles won't be applied.\",\n );\n })\n .then(({ɵcreateEngine, ɵAnimationRendererFactory}) => {\n // We can't create the renderer yet because we might need the hostElement and the type\n // Both are provided in createRenderer().\n this._engine = ɵcreateEngine(this.animationType, this.doc);\n const rendererFactory = new ɵAnimationRendererFactory(\n this.delegate,\n this._engine,\n this.zone,\n );\n this.delegate = rendererFactory;\n return rendererFactory;\n });\n }\n\n /**\n * This method is delegating the renderer creation to the factories.\n * It uses default factory while the animation factory isn't loaded\n * and will rely on the animation factory once it is loaded.\n *\n * Calling this method will trigger as side effect the loading of the animation module\n * if the renderered component uses animations.\n */\n createRenderer(hostElement: any, rendererType: RendererType2): Renderer2 {\n const renderer = this.delegate.createRenderer(hostElement, rendererType);\n\n if ((renderer as AnimationRenderer).ɵtype === AnimationRendererType.Regular) {\n // The factory is already loaded, this is an animation renderer\n return renderer;\n }\n\n // We need to prevent the DomRenderer to throw an error because of synthetic properties\n if (typeof (renderer as any).throwOnSyntheticProps === 'boolean') {\n (renderer as any).throwOnSyntheticProps = false;\n }\n\n // Using a dynamic renderer to switch the renderer implementation once the module is loaded.\n const dynamicRenderer = new DynamicDelegationRenderer(renderer);\n\n // Kick off the module loading if the component uses animations but the module hasn't been\n // loaded yet.\n if (rendererType?.data?.['animation'] && !this._rendererFactoryPromise) {\n this._rendererFactoryPromise = this.loadImpl();\n }\n\n this._rendererFactoryPromise\n ?.then((animationRendererFactory) => {\n const animationRenderer = animationRendererFactory.createRenderer(\n hostElement,\n rendererType,\n );\n dynamicRenderer.use(animationRenderer);\n this.scheduler ??= this.injector.get(ChangeDetectionScheduler, null, {optional: true});\n this.scheduler?.notify(NotificationSource.AsyncAnimationsLoaded);\n })\n .catch((e) => {\n // Permanently use regular renderer when loading fails.\n dynamicRenderer.use(renderer);\n });\n\n return dynamicRenderer;\n }\n\n begin(): void {\n this.delegate.begin?.();\n }\n\n end(): void {\n this.delegate.end?.();\n }\n\n whenRenderingDone?(): Promise<any> {\n return this.delegate.whenRenderingDone?.() ?? Promise.resolve();\n }\n\n /**\n * Used during HMR to clear any cached data about a component.\n * @param componentId ID of the component that is being replaced.\n */\n protected componentReplaced(componentId: string) {\n // Flush the engine since the renderer destruction waits for animations to be done.\n this._engine?.flush();\n (this.delegate as {componentReplaced?: (id: string) => void}).componentReplaced?.(componentId);\n }\n}\n\n/**\n * The class allows to dynamicly switch between different renderer implementations\n * by changing the delegate renderer.\n */\nexport class DynamicDelegationRenderer implements Renderer2 {\n // List of callbacks that need to be replayed on the animation renderer once its loaded\n private replay: ((renderer: Renderer2) => void)[] | null = [];\n readonly ɵtype = AnimationRendererType.Delegated;\n\n constructor(private delegate: Renderer2) {}\n\n use(impl: Renderer2) {\n this.delegate = impl;\n\n if (this.replay !== null) {\n // Replay queued actions using the animation renderer to apply\n // all events and properties collected while loading was in progress.\n for (const fn of this.replay) {\n fn(impl);\n }\n // Set to `null` to indicate that the queue was processed\n // and we no longer need to collect events and properties.\n this.replay = null;\n }\n }\n\n get data(): {[key: string]: any} {\n return this.delegate.data;\n }\n\n destroy(): void {\n this.replay = null;\n this.delegate.destroy();\n }\n\n createElement(name: string, namespace?: string | null) {\n return this.delegate.createElement(name, namespace);\n }\n\n createComment(value: string): void {\n return this.delegate.createComment(value);\n }\n\n createText(value: string): any {\n return this.delegate.createText(value);\n }\n\n get destroyNode(): ((node: any) => void) | null {\n return this.delegate.destroyNode;\n }\n\n appendChild(parent: any, newChild: any): void {\n this.delegate.appendChild(parent, newChild);\n }\n\n insertBefore(parent: any, newChild: any, refChild: any, isMove?: boolean | undefined): void {\n this.delegate.insertBefore(parent, newChild, refChild, isMove);\n }\n\n removeChild(\n parent: any,\n oldChild: any,\n isHostElement?: boolean | undefined,\n requireSynchronousElementRemoval?: boolean,\n ): void {\n this.delegate.removeChild(parent, oldChild, isHostElement, requireSynchronousElementRemoval);\n }\n\n selectRootElement(selectorOrNode: any, preserveContent?: boolean | undefined): any {\n return this.delegate.selectRootElement(selectorOrNode, preserveContent);\n }\n\n parentNode(node: any): any {\n return this.delegate.parentNode(node);\n }\n\n nextSibling(node: any): any {\n return this.delegate.nextSibling(node);\n }\n\n setAttribute(el: any, name: string, value: string, namespace?: string | null | undefined): void {\n this.delegate.setAttribute(el, name, value, namespace);\n }\n\n removeAttribute(el: any, name: string, namespace?: string | null | undefined): void {\n this.delegate.removeAttribute(el, name, namespace);\n }\n\n addClass(el: any, name: string): void {\n this.delegate.addClass(el, name);\n }\n\n removeClass(el: any, name: string): void {\n this.delegate.removeClass(el, name);\n }\n\n setStyle(el: any, style: string, value: any, flags?: RendererStyleFlags2 | undefined): void {\n this.delegate.setStyle(el, style, value, flags);\n }\n\n removeStyle(el: any, style: string, flags?: RendererStyleFlags2 | undefined): void {\n this.delegate.removeStyle(el, style, flags);\n }\n\n setProperty(el: any, name: string, value: any): void {\n // We need to keep track of animation properties set on default renderer\n // So we can also set them also on the animation renderer\n if (this.shouldReplay(name)) {\n this.replay!.push((renderer: Renderer2) => renderer.setProperty(el, name, value));\n }\n this.delegate.setProperty(el, name, value);\n }\n\n setValue(node: any, value: string): void {\n this.delegate.setValue(node, value);\n }\n\n listen(\n target: any,\n eventName: string,\n callback: (event: any) => boolean | void,\n options?: ListenerOptions,\n ): () => void {\n // We need to keep track of animation events registred by the default renderer\n // So we can also register them against the animation renderer\n if (this.shouldReplay(eventName)) {\n this.replay!.push((renderer: Renderer2) =>\n renderer.listen(target, eventName, callback, options),\n );\n }\n return this.delegate.listen(target, eventName, callback, options);\n }\n\n private shouldReplay(propOrEventName: string): boolean {\n //`null` indicates that we no longer need to collect events and properties\n return this.replay !== null && propOrEventName.startsWith(ANIMATION_PREFIX);\n }\n}\n\n/**\n * Provides a custom scheduler function for the async loading of the animation package.\n *\n * Private token for investigation purposes\n */\nexport const ɵASYNC_ANIMATION_LOADING_SCHEDULER_FN = new InjectionToken<<T>(loadFn: () => T) => T>(\n typeof ngDevMode !== 'undefined' && ngDevMode ? 'async_animation_loading_scheduler_fn' : '',\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 ANIMATION_MODULE_TYPE,\n EnvironmentProviders,\n makeEnvironmentProviders,\n NgZone,\n RendererFactory2,\n ɵperformanceMarkFeature as performanceMarkFeature,\n inject,\n} from '@angular/core';\nimport {ɵDomRendererFactory2 as DomRendererFactory2} from '../../../index';\n\nimport {AsyncAnimationRendererFactory} from './async_animation_renderer';\n\n/**\n * Returns the set of dependency-injection providers\n * to enable animations in an application. See [animations guide](guide/animations)\n * to learn more about animations in Angular.\n *\n * When you use this function instead of the eager `provideAnimations()`, animations won't be\n * rendered until the renderer is loaded.\n *\n * @usageNotes\n *\n * The function is useful when you want to enable animations in an application\n * bootstrapped using the `bootstrapApplication` function. In this scenario there\n * is no need to import the `BrowserAnimationsModule` NgModule at all, just add\n * providers returned by this function to the `providers` list as show below.\n *\n * ```ts\n * bootstrapApplication(RootComponent, {\n * providers: [\n * provideAnimationsAsync()\n * ]\n * });\n * ```\n *\n * @param type pass `'noop'` as argument to disable animations.\n *\n * @publicApi\n *\n * @deprecated 20.2 Use `animate.enter` or `animate.leave` instead. Intent to remove in v23\n */\nexport function provideAnimationsAsync(\n type: 'animations' | 'noop' = 'animations',\n): EnvironmentProviders {\n performanceMarkFeature('NgAsyncAnimations');\n\n // Animations don't work on the server so we switch them over to no-op automatically.\n if (typeof ngServerMode !== 'undefined' && ngServerMode) {\n type = 'noop';\n }\n\n return makeEnvironmentProviders([\n {\n provide: RendererFactory2,\n useFactory: () => {\n return new AsyncAnimationRendererFactory(\n inject(DOCUMENT),\n inject(DomRendererFactory2),\n inject(NgZone),\n type,\n );\n },\n },\n {\n provide: ANIMATION_MODULE_TYPE,\n useValue: type === 'noop' ? 'NoopAnimations' : 'BrowserAnimations',\n },\n ]);\n}\n"],"names":["ANIMATION_PREFIX","AsyncAnimationRendererFactory","doc","delegate","zone","animationType","moduleImpl","_rendererFactoryPromise","scheduler","injector","inject","Injector","loadingSchedulerFn","ɵASYNC_ANIMATION_LOADING_SCHEDULER_FN","optional","_engine","constructor","ngOnDestroy","flush","loadImpl","loadFn","then","m","moduleImplPromise","catch","e","RuntimeError","ngDevMode","ɵcreateEngine","ɵAnimationRendererFactory","rendererFactory","createRenderer","hostElement","rendererType","renderer","ɵtype","throwOnSyntheticProps","dynamicRenderer","DynamicDelegationRenderer","data","animationRendererFactory","animationRenderer","use","get","ChangeDetectionScheduler","notify","begin","end","whenRenderingDone","Promise","resolve","componentReplaced","componentId","deps","target","i0","ɵɵFactoryTarget","Injectable","decorators","replay","impl","fn","destroy","createElement","name","namespace","createComment","value","createText","destroyNode","appendChild","parent","newChild","insertBefore","refChild","isMove","removeChild","oldChild","isHostElement","requireSynchronousElementRemoval","selectRootElement","selectorOrNode","preserveContent","parentNode","node","nextSibling","setAttribute","el","removeAttribute","addClass","removeClass","setStyle","style","flags","removeStyle","setProperty","shouldReplay","push","setValue","listen","eventName","callback","options","propOrEventName","startsWith","InjectionToken","provideAnimationsAsync","type","performanceMarkFeature","ngServerMode","makeEnvironmentProviders","provide","RendererFactory2","useFactory","DOCUMENT","DomRendererFactory2","NgZone","ANIMATION_MODULE_TYPE","useValue"],"mappings":"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"} | ||
| {"version":3,"file":"animations-async.mjs","sources":["../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/packages/platform-browser/animations/async/src/async_animation_renderer.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/packages/platform-browser/animations/async/src/providers.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 {\n ɵAnimationEngine as AnimationEngine,\n ɵAnimationRenderer as AnimationRenderer,\n ɵAnimationRendererFactory as AnimationRendererFactory,\n} from '@angular/animations/browser';\nimport {\n ɵAnimationRendererType as AnimationRendererType,\n ɵChangeDetectionScheduler as ChangeDetectionScheduler,\n inject,\n Injectable,\n InjectionToken,\n Injector,\n NgZone,\n ɵNotificationSource as NotificationSource,\n OnDestroy,\n Renderer2,\n RendererFactory2,\n RendererStyleFlags2,\n RendererType2,\n ɵRuntimeError as RuntimeError,\n type ListenerOptions,\n} from '@angular/core';\nimport {ɵRuntimeErrorCode as RuntimeErrorCode} from '../../../index';\n\nconst ANIMATION_PREFIX = '@';\n\n@Injectable()\nexport class AsyncAnimationRendererFactory implements OnDestroy, RendererFactory2 {\n private _rendererFactoryPromise: Promise<AnimationRendererFactory> | null = null;\n private scheduler: ChangeDetectionScheduler | null = null;\n private readonly injector = inject(Injector);\n private readonly loadingSchedulerFn = inject(ɵASYNC_ANIMATION_LOADING_SCHEDULER_FN, {\n optional: true,\n });\n private _engine?: AnimationEngine;\n\n /**\n *\n * @param moduleImpl allows to provide a mock implmentation (or will load the animation module)\n */\n constructor(\n private doc: Document,\n private delegate: RendererFactory2,\n private zone: NgZone,\n private animationType: 'animations' | 'noop',\n private moduleImpl?: Promise<{\n ɵcreateEngine: (type: 'animations' | 'noop', doc: Document) => AnimationEngine;\n ɵAnimationRendererFactory: typeof AnimationRendererFactory;\n }>,\n ) {}\n\n /** @docs-private */\n ngOnDestroy(): void {\n // When the root view is removed, the renderer defers the actual work to the\n // `TransitionAnimationEngine` to do this, and the `TransitionAnimationEngine` doesn't actually\n // remove the DOM node, but just calls `markElementAsRemoved()`. The actual DOM node is not\n // removed until `TransitionAnimationEngine` \"flushes\".\n // Note: we already flush on destroy within the `InjectableAnimationEngine`. The injectable\n // engine is not provided when async animations are used.\n this._engine?.flush();\n }\n\n /**\n * @internal\n */\n private loadImpl(): Promise<AnimationRendererFactory> {\n // Note on the `.then(m => m)` part below: Closure compiler optimizations in g3 require\n // `.then` to be present for a dynamic import (or an import should be `await`ed) to detect\n // the set of imported symbols.\n const loadFn = () => this.moduleImpl ?? import('@angular/animations/browser').then((m) => m);\n\n let moduleImplPromise: typeof this.moduleImpl;\n if (this.loadingSchedulerFn) {\n moduleImplPromise = this.loadingSchedulerFn(loadFn);\n } else {\n moduleImplPromise = loadFn();\n }\n\n return moduleImplPromise\n .catch((e) => {\n throw new RuntimeError(\n RuntimeErrorCode.ANIMATION_RENDERER_ASYNC_LOADING_FAILURE,\n (typeof ngDevMode === 'undefined' || ngDevMode) &&\n 'Async loading for animations package was ' +\n 'enabled, but loading failed. Angular falls back to using regular rendering. ' +\n \"No animations will be displayed and their styles won't be applied.\",\n );\n })\n .then(({ɵcreateEngine, ɵAnimationRendererFactory}) => {\n // We can't create the renderer yet because we might need the hostElement and the type\n // Both are provided in createRenderer().\n this._engine = ɵcreateEngine(this.animationType, this.doc);\n const rendererFactory = new ɵAnimationRendererFactory(\n this.delegate,\n this._engine,\n this.zone,\n );\n this.delegate = rendererFactory;\n return rendererFactory;\n });\n }\n\n /**\n * This method is delegating the renderer creation to the factories.\n * It uses default factory while the animation factory isn't loaded\n * and will rely on the animation factory once it is loaded.\n *\n * Calling this method will trigger as side effect the loading of the animation module\n * if the renderered component uses animations.\n */\n createRenderer(hostElement: any, rendererType: RendererType2): Renderer2 {\n const renderer = this.delegate.createRenderer(hostElement, rendererType);\n\n if ((renderer as AnimationRenderer).ɵtype === AnimationRendererType.Regular) {\n // The factory is already loaded, this is an animation renderer\n return renderer;\n }\n\n // We need to prevent the DomRenderer to throw an error because of synthetic properties\n if (typeof (renderer as any).throwOnSyntheticProps === 'boolean') {\n (renderer as any).throwOnSyntheticProps = false;\n }\n\n // Using a dynamic renderer to switch the renderer implementation once the module is loaded.\n const dynamicRenderer = new DynamicDelegationRenderer(renderer);\n\n // Kick off the module loading if the component uses animations but the module hasn't been\n // loaded yet.\n if (rendererType?.data?.['animation'] && !this._rendererFactoryPromise) {\n this._rendererFactoryPromise = this.loadImpl();\n }\n\n this._rendererFactoryPromise\n ?.then((animationRendererFactory) => {\n const animationRenderer = animationRendererFactory.createRenderer(\n hostElement,\n rendererType,\n );\n dynamicRenderer.use(animationRenderer);\n this.scheduler ??= this.injector.get(ChangeDetectionScheduler, null, {optional: true});\n this.scheduler?.notify(NotificationSource.AsyncAnimationsLoaded);\n })\n .catch((e) => {\n // Permanently use regular renderer when loading fails.\n dynamicRenderer.use(renderer);\n });\n\n return dynamicRenderer;\n }\n\n begin(): void {\n this.delegate.begin?.();\n }\n\n end(): void {\n this.delegate.end?.();\n }\n\n whenRenderingDone?(): Promise<any> {\n return this.delegate.whenRenderingDone?.() ?? Promise.resolve();\n }\n\n /**\n * Used during HMR to clear any cached data about a component.\n * @param componentId ID of the component that is being replaced.\n */\n protected componentReplaced(componentId: string) {\n // Flush the engine since the renderer destruction waits for animations to be done.\n this._engine?.flush();\n (this.delegate as {componentReplaced?: (id: string) => void}).componentReplaced?.(componentId);\n }\n}\n\n/**\n * The class allows to dynamicly switch between different renderer implementations\n * by changing the delegate renderer.\n */\nexport class DynamicDelegationRenderer implements Renderer2 {\n // List of callbacks that need to be replayed on the animation renderer once its loaded\n private replay: ((renderer: Renderer2) => void)[] | null = [];\n readonly ɵtype = AnimationRendererType.Delegated;\n\n constructor(private delegate: Renderer2) {}\n\n use(impl: Renderer2) {\n this.delegate = impl;\n\n if (this.replay !== null) {\n // Replay queued actions using the animation renderer to apply\n // all events and properties collected while loading was in progress.\n for (const fn of this.replay) {\n fn(impl);\n }\n // Set to `null` to indicate that the queue was processed\n // and we no longer need to collect events and properties.\n this.replay = null;\n }\n }\n\n get data(): {[key: string]: any} {\n return this.delegate.data;\n }\n\n destroy(): void {\n this.replay = null;\n this.delegate.destroy();\n }\n\n createElement(name: string, namespace?: string | null) {\n return this.delegate.createElement(name, namespace);\n }\n\n createComment(value: string): void {\n return this.delegate.createComment(value);\n }\n\n createText(value: string): any {\n return this.delegate.createText(value);\n }\n\n get destroyNode(): ((node: any) => void) | null {\n return this.delegate.destroyNode;\n }\n\n appendChild(parent: any, newChild: any): void {\n this.delegate.appendChild(parent, newChild);\n }\n\n insertBefore(parent: any, newChild: any, refChild: any, isMove?: boolean | undefined): void {\n this.delegate.insertBefore(parent, newChild, refChild, isMove);\n }\n\n removeChild(\n parent: any,\n oldChild: any,\n isHostElement?: boolean | undefined,\n requireSynchronousElementRemoval?: boolean,\n ): void {\n this.delegate.removeChild(parent, oldChild, isHostElement, requireSynchronousElementRemoval);\n }\n\n selectRootElement(selectorOrNode: any, preserveContent?: boolean | undefined): any {\n return this.delegate.selectRootElement(selectorOrNode, preserveContent);\n }\n\n parentNode(node: any): any {\n return this.delegate.parentNode(node);\n }\n\n nextSibling(node: any): any {\n return this.delegate.nextSibling(node);\n }\n\n setAttribute(el: any, name: string, value: string, namespace?: string | null | undefined): void {\n this.delegate.setAttribute(el, name, value, namespace);\n }\n\n removeAttribute(el: any, name: string, namespace?: string | null | undefined): void {\n this.delegate.removeAttribute(el, name, namespace);\n }\n\n addClass(el: any, name: string): void {\n this.delegate.addClass(el, name);\n }\n\n removeClass(el: any, name: string): void {\n this.delegate.removeClass(el, name);\n }\n\n setStyle(el: any, style: string, value: any, flags?: RendererStyleFlags2 | undefined): void {\n this.delegate.setStyle(el, style, value, flags);\n }\n\n removeStyle(el: any, style: string, flags?: RendererStyleFlags2 | undefined): void {\n this.delegate.removeStyle(el, style, flags);\n }\n\n setProperty(el: any, name: string, value: any): void {\n // We need to keep track of animation properties set on default renderer\n // So we can also set them also on the animation renderer\n if (this.shouldReplay(name)) {\n this.replay!.push((renderer: Renderer2) => renderer.setProperty(el, name, value));\n }\n this.delegate.setProperty(el, name, value);\n }\n\n setValue(node: any, value: string): void {\n this.delegate.setValue(node, value);\n }\n\n listen(\n target: any,\n eventName: string,\n callback: (event: any) => boolean | void,\n options?: ListenerOptions,\n ): () => void {\n // We need to keep track of animation events registred by the default renderer\n // So we can also register them against the animation renderer\n if (this.shouldReplay(eventName)) {\n this.replay!.push((renderer: Renderer2) =>\n renderer.listen(target, eventName, callback, options),\n );\n }\n return this.delegate.listen(target, eventName, callback, options);\n }\n\n private shouldReplay(propOrEventName: string): boolean {\n //`null` indicates that we no longer need to collect events and properties\n return this.replay !== null && propOrEventName.startsWith(ANIMATION_PREFIX);\n }\n}\n\n/**\n * Provides a custom scheduler function for the async loading of the animation package.\n *\n * Private token for investigation purposes\n */\nexport const ɵASYNC_ANIMATION_LOADING_SCHEDULER_FN = new InjectionToken<<T>(loadFn: () => T) => T>(\n typeof ngDevMode !== 'undefined' && ngDevMode ? 'async_animation_loading_scheduler_fn' : '',\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 ANIMATION_MODULE_TYPE,\n EnvironmentProviders,\n makeEnvironmentProviders,\n NgZone,\n RendererFactory2,\n ɵperformanceMarkFeature as performanceMarkFeature,\n inject,\n} from '@angular/core';\nimport {ɵDomRendererFactory2 as DomRendererFactory2} from '../../../index';\n\nimport {AsyncAnimationRendererFactory} from './async_animation_renderer';\n\n/**\n * Returns the set of dependency-injection providers\n * to enable animations in an application. See [animations guide](guide/animations)\n * to learn more about animations in Angular.\n *\n * When you use this function instead of the eager `provideAnimations()`, animations won't be\n * rendered until the renderer is loaded.\n *\n * @usageNotes\n *\n * The function is useful when you want to enable animations in an application\n * bootstrapped using the `bootstrapApplication` function. In this scenario there\n * is no need to import the `BrowserAnimationsModule` NgModule at all, just add\n * providers returned by this function to the `providers` list as show below.\n *\n * ```ts\n * bootstrapApplication(RootComponent, {\n * providers: [\n * provideAnimationsAsync()\n * ]\n * });\n * ```\n *\n * @param type pass `'noop'` as argument to disable animations.\n *\n * @publicApi\n *\n * @deprecated 20.2 Use `animate.enter` or `animate.leave` instead. Intent to remove in v23\n */\nexport function provideAnimationsAsync(\n type: 'animations' | 'noop' = 'animations',\n): EnvironmentProviders {\n performanceMarkFeature('NgAsyncAnimations');\n\n // Animations don't work on the server so we switch them over to no-op automatically.\n if (typeof ngServerMode !== 'undefined' && ngServerMode) {\n type = 'noop';\n }\n\n return makeEnvironmentProviders([\n {\n provide: RendererFactory2,\n useFactory: () => {\n return new AsyncAnimationRendererFactory(\n inject(DOCUMENT),\n inject(DomRendererFactory2),\n inject(NgZone),\n type,\n );\n },\n },\n {\n provide: ANIMATION_MODULE_TYPE,\n useValue: type === 'noop' ? 'NoopAnimations' : 'BrowserAnimations',\n },\n ]);\n}\n"],"names":["ANIMATION_PREFIX","AsyncAnimationRendererFactory","doc","delegate","zone","animationType","moduleImpl","_rendererFactoryPromise","scheduler","injector","inject","Injector","loadingSchedulerFn","ɵASYNC_ANIMATION_LOADING_SCHEDULER_FN","optional","_engine","constructor","ngOnDestroy","flush","loadImpl","loadFn","then","m","moduleImplPromise","catch","e","RuntimeError","ngDevMode","ɵcreateEngine","ɵAnimationRendererFactory","rendererFactory","createRenderer","hostElement","rendererType","renderer","ɵtype","throwOnSyntheticProps","dynamicRenderer","DynamicDelegationRenderer","data","animationRendererFactory","animationRenderer","use","get","ChangeDetectionScheduler","notify","begin","end","whenRenderingDone","Promise","resolve","componentReplaced","componentId","deps","target","i0","ɵɵFactoryTarget","Injectable","decorators","replay","impl","fn","destroy","createElement","name","namespace","createComment","value","createText","destroyNode","appendChild","parent","newChild","insertBefore","refChild","isMove","removeChild","oldChild","isHostElement","requireSynchronousElementRemoval","selectRootElement","selectorOrNode","preserveContent","parentNode","node","nextSibling","setAttribute","el","removeAttribute","addClass","removeClass","setStyle","style","flags","removeStyle","setProperty","shouldReplay","push","setValue","listen","eventName","callback","options","propOrEventName","startsWith","InjectionToken","provideAnimationsAsync","type","performanceMarkFeature","ngServerMode","makeEnvironmentProviders","provide","RendererFactory2","useFactory","DOCUMENT","DomRendererFactory2","NgZone","ANIMATION_MODULE_TYPE","useValue"],"mappings":"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"} |
+12
-12
| /** | ||
| * @license Angular v21.1.4 | ||
| * @license Angular v21.1.5 | ||
| * (c) 2010-2026 Google LLC. https://angular.dev/ | ||
@@ -25,3 +25,3 @@ * License: MIT | ||
| minVersion: "12.0.0", | ||
| version: "21.1.4", | ||
| version: "21.1.5", | ||
| ngImport: i0, | ||
@@ -40,3 +40,3 @@ type: InjectableAnimationEngine, | ||
| minVersion: "12.0.0", | ||
| version: "21.1.4", | ||
| version: "21.1.5", | ||
| ngImport: i0, | ||
@@ -48,3 +48,3 @@ type: InjectableAnimationEngine | ||
| minVersion: "12.0.0", | ||
| version: "21.1.4", | ||
| version: "21.1.5", | ||
| ngImport: i0, | ||
@@ -107,3 +107,3 @@ type: InjectableAnimationEngine, | ||
| minVersion: "12.0.0", | ||
| version: "21.1.4", | ||
| version: "21.1.5", | ||
| ngImport: i0, | ||
@@ -116,3 +116,3 @@ type: BrowserAnimationsModule, | ||
| minVersion: "14.0.0", | ||
| version: "21.1.4", | ||
| version: "21.1.5", | ||
| ngImport: i0, | ||
@@ -124,3 +124,3 @@ type: BrowserAnimationsModule, | ||
| minVersion: "12.0.0", | ||
| version: "21.1.4", | ||
| version: "21.1.5", | ||
| ngImport: i0, | ||
@@ -134,3 +134,3 @@ type: BrowserAnimationsModule, | ||
| minVersion: "12.0.0", | ||
| version: "21.1.4", | ||
| version: "21.1.5", | ||
| ngImport: i0, | ||
@@ -153,3 +153,3 @@ type: BrowserAnimationsModule, | ||
| minVersion: "12.0.0", | ||
| version: "21.1.4", | ||
| version: "21.1.5", | ||
| ngImport: i0, | ||
@@ -162,3 +162,3 @@ type: NoopAnimationsModule, | ||
| minVersion: "14.0.0", | ||
| version: "21.1.4", | ||
| version: "21.1.5", | ||
| ngImport: i0, | ||
@@ -170,3 +170,3 @@ type: NoopAnimationsModule, | ||
| minVersion: "12.0.0", | ||
| version: "21.1.4", | ||
| version: "21.1.5", | ||
| ngImport: i0, | ||
@@ -180,3 +180,3 @@ type: NoopAnimationsModule, | ||
| minVersion: "12.0.0", | ||
| version: "21.1.4", | ||
| version: "21.1.5", | ||
| ngImport: i0, | ||
@@ -183,0 +183,0 @@ type: NoopAnimationsModule, |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"animations.mjs","sources":["../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/packages/platform-browser/animations/src/providers.ts","../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/packages/platform-browser/animations/src/module.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 {\n AnimationDriver,\n NoopAnimationDriver,\n ɵAnimationEngine as AnimationEngine,\n ɵAnimationRendererFactory as AnimationRendererFactory,\n ɵAnimationStyleNormalizer as AnimationStyleNormalizer,\n ɵWebAnimationsDriver as WebAnimationsDriver,\n ɵWebAnimationsStyleNormalizer as WebAnimationsStyleNormalizer,\n} from '@angular/animations/browser';\nimport {DOCUMENT} from '@angular/common';\nimport {\n ANIMATION_MODULE_TYPE,\n inject,\n Inject,\n Injectable,\n NgZone,\n OnDestroy,\n Provider,\n RendererFactory2,\n} from '@angular/core';\nimport {ɵDomRendererFactory2 as DomRendererFactory2} from '../../index';\n\n@Injectable()\nexport class InjectableAnimationEngine extends AnimationEngine implements OnDestroy {\n // The `ApplicationRef` is injected here explicitly to force the dependency ordering.\n // Since the `ApplicationRef` should be created earlier before the `AnimationEngine`, they\n // both have `ngOnDestroy` hooks and `flush()` must be called after all views are destroyed.\n constructor(\n @Inject(DOCUMENT) doc: Document,\n driver: AnimationDriver,\n normalizer: AnimationStyleNormalizer,\n ) {\n super(doc, driver, normalizer);\n }\n\n ngOnDestroy(): void {\n this.flush();\n }\n}\n\nexport function instantiateDefaultStyleNormalizer() {\n return new WebAnimationsStyleNormalizer();\n}\n\nexport function instantiateRendererFactory() {\n return new AnimationRendererFactory(\n inject(DomRendererFactory2),\n inject(AnimationEngine),\n inject(NgZone),\n );\n}\n\nconst SHARED_ANIMATION_PROVIDERS: Provider[] = [\n {provide: AnimationStyleNormalizer, useFactory: instantiateDefaultStyleNormalizer},\n {provide: AnimationEngine, useClass: InjectableAnimationEngine},\n {\n provide: RendererFactory2,\n useFactory: instantiateRendererFactory,\n },\n];\n\n/**\n * Separate providers from the actual module so that we can do a local modification in Google3 to\n * include them in the BrowserTestingModule.\n */\nexport const BROWSER_NOOP_ANIMATIONS_PROVIDERS: Provider[] = [\n {provide: AnimationDriver, useClass: NoopAnimationDriver},\n {provide: ANIMATION_MODULE_TYPE, useValue: 'NoopAnimations'},\n ...SHARED_ANIMATION_PROVIDERS,\n];\n\n/**\n * Separate providers from the actual module so that we can do a local modification in Google3 to\n * include them in the BrowserModule.\n */\nexport const BROWSER_ANIMATIONS_PROVIDERS: Provider[] = [\n // Note: the `ngServerMode` happen inside factories to give the variable time to initialize.\n {\n provide: AnimationDriver,\n useFactory: () =>\n typeof ngServerMode !== 'undefined' && ngServerMode\n ? new NoopAnimationDriver()\n : new WebAnimationsDriver(),\n },\n {\n provide: ANIMATION_MODULE_TYPE,\n useFactory: () =>\n typeof ngServerMode !== 'undefined' && ngServerMode ? 'NoopAnimations' : 'BrowserAnimations',\n },\n ...SHARED_ANIMATION_PROVIDERS,\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 */\nimport {\n ModuleWithProviders,\n NgModule,\n Provider,\n ɵperformanceMarkFeature as performanceMarkFeature,\n} from '@angular/core';\nimport {BrowserModule} from '../../index';\n\nimport {BROWSER_ANIMATIONS_PROVIDERS, BROWSER_NOOP_ANIMATIONS_PROVIDERS} from './providers';\n\n/**\n * Object used to configure the behavior of {@link BrowserAnimationsModule}\n * @publicApi\n *\n * @deprecated 20.2 Use `animate.enter` or `animate.leave` instead. Intent to remove in v23\n */\nexport interface BrowserAnimationsModuleConfig {\n /**\n * Whether animations should be disabled. Passing this is identical to providing the\n * `NoopAnimationsModule`, but it can be controlled based on a runtime value.\n */\n disableAnimations?: boolean;\n}\n\n/**\n * Exports `BrowserModule` with additional dependency-injection providers\n * for use with animations. See [Animations](guide/animations).\n * @publicApi\n *\n * @deprecated 20.2 Use `animate.enter` or `animate.leave` instead. Intent to remove in v23\n */\n@NgModule({\n exports: [BrowserModule],\n providers: BROWSER_ANIMATIONS_PROVIDERS,\n})\nexport class BrowserAnimationsModule {\n /**\n * Configures the module based on the specified object.\n *\n * @param config Object used to configure the behavior of the `BrowserAnimationsModule`.\n * @see {@link BrowserAnimationsModuleConfig}\n *\n * @usageNotes\n * When registering the `BrowserAnimationsModule`, you can use the `withConfig`\n * function as follows:\n * ```ts\n * @NgModule({\n * imports: [BrowserAnimationsModule.withConfig(config)]\n * })\n * class MyNgModule {}\n * ```\n */\n static withConfig(\n config: BrowserAnimationsModuleConfig,\n ): ModuleWithProviders<BrowserAnimationsModule> {\n return {\n ngModule: BrowserAnimationsModule,\n providers: config.disableAnimations\n ? BROWSER_NOOP_ANIMATIONS_PROVIDERS\n : BROWSER_ANIMATIONS_PROVIDERS,\n };\n }\n}\n\n/**\n * Returns the set of dependency-injection providers\n * to enable animations in an application. See [animations guide](guide/animations)\n * to learn more about animations in Angular.\n *\n * @usageNotes\n *\n * The function is useful when you want to enable animations in an application\n * bootstrapped using the `bootstrapApplication` function. In this scenario there\n * is no need to import the `BrowserAnimationsModule` NgModule at all, just add\n * providers returned by this function to the `providers` list as show below.\n *\n * ```ts\n * bootstrapApplication(RootComponent, {\n * providers: [\n * provideAnimations()\n * ]\n * });\n * ```\n *\n * @publicApi\n *\n * @deprecated 20.2 Use `animate.enter` or `animate.leave` instead. Intent to remove in v23\n *\n */\nexport function provideAnimations(): Provider[] {\n performanceMarkFeature('NgEagerAnimations');\n // Return a copy to prevent changes to the original array in case any in-place\n // alterations are performed to the `provideAnimations` call results in app code.\n return [...BROWSER_ANIMATIONS_PROVIDERS];\n}\n\n/**\n * A null player that must be imported to allow disabling of animations.\n * @publicApi\n *\n * @deprecated 20.2 Use `animate.enter` or `animate.leave` instead. Intent to remove in v23\n */\n@NgModule({\n exports: [BrowserModule],\n providers: BROWSER_NOOP_ANIMATIONS_PROVIDERS,\n})\nexport class NoopAnimationsModule {}\n\n/**\n * Returns the set of dependency-injection providers\n * to disable animations in an application. See [animations guide](guide/animations)\n * to learn more about animations in Angular.\n *\n * @usageNotes\n *\n * The function is useful when you want to bootstrap an application using\n * the `bootstrapApplication` function, but you need to disable animations\n * (for example, when running tests).\n *\n * ```ts\n * bootstrapApplication(RootComponent, {\n * providers: [\n * provideNoopAnimations()\n * ]\n * });\n * ```\n *\n * @publicApi\n *\n * @deprecated 20.2 Use `animate.enter` or `animate.leave` instead. Intent to remove in v23\n */\nexport function provideNoopAnimations(): Provider[] {\n // Return a copy to prevent changes to the original array in case any in-place\n // alterations are performed to the `provideNoopAnimations` call results in app code.\n return [...BROWSER_NOOP_ANIMATIONS_PROVIDERS];\n}\n"],"names":["InjectableAnimationEngine","AnimationEngine","constructor","doc","driver","normalizer","ngOnDestroy","flush","ɵfac","i0","ɵɵngDeclareFactory","minVersion","version","ngImport","type","DOCUMENT","token","i1","AnimationDriver","ɵAnimationStyleNormalizer","target","ɵɵFactoryTarget","Injectable","decorators","Inject","instantiateDefaultStyleNormalizer","WebAnimationsStyleNormalizer","instantiateRendererFactory","AnimationRendererFactory","inject","DomRendererFactory2","NgZone","SHARED_ANIMATION_PROVIDERS","provide","AnimationStyleNormalizer","useFactory","useClass","RendererFactory2","BROWSER_NOOP_ANIMATIONS_PROVIDERS","NoopAnimationDriver","ANIMATION_MODULE_TYPE","useValue","BROWSER_ANIMATIONS_PROVIDERS","ngServerMode","WebAnimationsDriver","BrowserAnimationsModule","withConfig","config","ngModule","providers","disableAnimations","deps","NgModule","ɵmod","ɵɵngDeclareNgModule","BrowserModule","imports","args","exports","provideAnimations","performanceMarkFeature","NoopAnimationsModule","provideNoopAnimations"],"mappings":"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"} | ||
| {"version":3,"file":"animations.mjs","sources":["../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/packages/platform-browser/animations/src/providers.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/packages/platform-browser/animations/src/module.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 {\n AnimationDriver,\n NoopAnimationDriver,\n ɵAnimationEngine as AnimationEngine,\n ɵAnimationRendererFactory as AnimationRendererFactory,\n ɵAnimationStyleNormalizer as AnimationStyleNormalizer,\n ɵWebAnimationsDriver as WebAnimationsDriver,\n ɵWebAnimationsStyleNormalizer as WebAnimationsStyleNormalizer,\n} from '@angular/animations/browser';\nimport {DOCUMENT} from '@angular/common';\nimport {\n ANIMATION_MODULE_TYPE,\n inject,\n Inject,\n Injectable,\n NgZone,\n OnDestroy,\n Provider,\n RendererFactory2,\n} from '@angular/core';\nimport {ɵDomRendererFactory2 as DomRendererFactory2} from '../../index';\n\n@Injectable()\nexport class InjectableAnimationEngine extends AnimationEngine implements OnDestroy {\n // The `ApplicationRef` is injected here explicitly to force the dependency ordering.\n // Since the `ApplicationRef` should be created earlier before the `AnimationEngine`, they\n // both have `ngOnDestroy` hooks and `flush()` must be called after all views are destroyed.\n constructor(\n @Inject(DOCUMENT) doc: Document,\n driver: AnimationDriver,\n normalizer: AnimationStyleNormalizer,\n ) {\n super(doc, driver, normalizer);\n }\n\n ngOnDestroy(): void {\n this.flush();\n }\n}\n\nexport function instantiateDefaultStyleNormalizer() {\n return new WebAnimationsStyleNormalizer();\n}\n\nexport function instantiateRendererFactory() {\n return new AnimationRendererFactory(\n inject(DomRendererFactory2),\n inject(AnimationEngine),\n inject(NgZone),\n );\n}\n\nconst SHARED_ANIMATION_PROVIDERS: Provider[] = [\n {provide: AnimationStyleNormalizer, useFactory: instantiateDefaultStyleNormalizer},\n {provide: AnimationEngine, useClass: InjectableAnimationEngine},\n {\n provide: RendererFactory2,\n useFactory: instantiateRendererFactory,\n },\n];\n\n/**\n * Separate providers from the actual module so that we can do a local modification in Google3 to\n * include them in the BrowserTestingModule.\n */\nexport const BROWSER_NOOP_ANIMATIONS_PROVIDERS: Provider[] = [\n {provide: AnimationDriver, useClass: NoopAnimationDriver},\n {provide: ANIMATION_MODULE_TYPE, useValue: 'NoopAnimations'},\n ...SHARED_ANIMATION_PROVIDERS,\n];\n\n/**\n * Separate providers from the actual module so that we can do a local modification in Google3 to\n * include them in the BrowserModule.\n */\nexport const BROWSER_ANIMATIONS_PROVIDERS: Provider[] = [\n // Note: the `ngServerMode` happen inside factories to give the variable time to initialize.\n {\n provide: AnimationDriver,\n useFactory: () =>\n typeof ngServerMode !== 'undefined' && ngServerMode\n ? new NoopAnimationDriver()\n : new WebAnimationsDriver(),\n },\n {\n provide: ANIMATION_MODULE_TYPE,\n useFactory: () =>\n typeof ngServerMode !== 'undefined' && ngServerMode ? 'NoopAnimations' : 'BrowserAnimations',\n },\n ...SHARED_ANIMATION_PROVIDERS,\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 */\nimport {\n ModuleWithProviders,\n NgModule,\n Provider,\n ɵperformanceMarkFeature as performanceMarkFeature,\n} from '@angular/core';\nimport {BrowserModule} from '../../index';\n\nimport {BROWSER_ANIMATIONS_PROVIDERS, BROWSER_NOOP_ANIMATIONS_PROVIDERS} from './providers';\n\n/**\n * Object used to configure the behavior of {@link BrowserAnimationsModule}\n * @publicApi\n *\n * @deprecated 20.2 Use `animate.enter` or `animate.leave` instead. Intent to remove in v23\n */\nexport interface BrowserAnimationsModuleConfig {\n /**\n * Whether animations should be disabled. Passing this is identical to providing the\n * `NoopAnimationsModule`, but it can be controlled based on a runtime value.\n */\n disableAnimations?: boolean;\n}\n\n/**\n * Exports `BrowserModule` with additional dependency-injection providers\n * for use with animations. See [Animations](guide/animations).\n * @publicApi\n *\n * @deprecated 20.2 Use `animate.enter` or `animate.leave` instead. Intent to remove in v23\n */\n@NgModule({\n exports: [BrowserModule],\n providers: BROWSER_ANIMATIONS_PROVIDERS,\n})\nexport class BrowserAnimationsModule {\n /**\n * Configures the module based on the specified object.\n *\n * @param config Object used to configure the behavior of the `BrowserAnimationsModule`.\n * @see {@link BrowserAnimationsModuleConfig}\n *\n * @usageNotes\n * When registering the `BrowserAnimationsModule`, you can use the `withConfig`\n * function as follows:\n * ```ts\n * @NgModule({\n * imports: [BrowserAnimationsModule.withConfig(config)]\n * })\n * class MyNgModule {}\n * ```\n */\n static withConfig(\n config: BrowserAnimationsModuleConfig,\n ): ModuleWithProviders<BrowserAnimationsModule> {\n return {\n ngModule: BrowserAnimationsModule,\n providers: config.disableAnimations\n ? BROWSER_NOOP_ANIMATIONS_PROVIDERS\n : BROWSER_ANIMATIONS_PROVIDERS,\n };\n }\n}\n\n/**\n * Returns the set of dependency-injection providers\n * to enable animations in an application. See [animations guide](guide/animations)\n * to learn more about animations in Angular.\n *\n * @usageNotes\n *\n * The function is useful when you want to enable animations in an application\n * bootstrapped using the `bootstrapApplication` function. In this scenario there\n * is no need to import the `BrowserAnimationsModule` NgModule at all, just add\n * providers returned by this function to the `providers` list as show below.\n *\n * ```ts\n * bootstrapApplication(RootComponent, {\n * providers: [\n * provideAnimations()\n * ]\n * });\n * ```\n *\n * @publicApi\n *\n * @deprecated 20.2 Use `animate.enter` or `animate.leave` instead. Intent to remove in v23\n *\n */\nexport function provideAnimations(): Provider[] {\n performanceMarkFeature('NgEagerAnimations');\n // Return a copy to prevent changes to the original array in case any in-place\n // alterations are performed to the `provideAnimations` call results in app code.\n return [...BROWSER_ANIMATIONS_PROVIDERS];\n}\n\n/**\n * A null player that must be imported to allow disabling of animations.\n * @publicApi\n *\n * @deprecated 20.2 Use `animate.enter` or `animate.leave` instead. Intent to remove in v23\n */\n@NgModule({\n exports: [BrowserModule],\n providers: BROWSER_NOOP_ANIMATIONS_PROVIDERS,\n})\nexport class NoopAnimationsModule {}\n\n/**\n * Returns the set of dependency-injection providers\n * to disable animations in an application. See [animations guide](guide/animations)\n * to learn more about animations in Angular.\n *\n * @usageNotes\n *\n * The function is useful when you want to bootstrap an application using\n * the `bootstrapApplication` function, but you need to disable animations\n * (for example, when running tests).\n *\n * ```ts\n * bootstrapApplication(RootComponent, {\n * providers: [\n * provideNoopAnimations()\n * ]\n * });\n * ```\n *\n * @publicApi\n *\n * @deprecated 20.2 Use `animate.enter` or `animate.leave` instead. Intent to remove in v23\n */\nexport function provideNoopAnimations(): Provider[] {\n // Return a copy to prevent changes to the original array in case any in-place\n // alterations are performed to the `provideNoopAnimations` call results in app code.\n return [...BROWSER_NOOP_ANIMATIONS_PROVIDERS];\n}\n"],"names":["InjectableAnimationEngine","AnimationEngine","constructor","doc","driver","normalizer","ngOnDestroy","flush","ɵfac","i0","ɵɵngDeclareFactory","minVersion","version","ngImport","type","DOCUMENT","token","i1","AnimationDriver","ɵAnimationStyleNormalizer","target","ɵɵFactoryTarget","Injectable","decorators","Inject","instantiateDefaultStyleNormalizer","WebAnimationsStyleNormalizer","instantiateRendererFactory","AnimationRendererFactory","inject","DomRendererFactory2","NgZone","SHARED_ANIMATION_PROVIDERS","provide","AnimationStyleNormalizer","useFactory","useClass","RendererFactory2","BROWSER_NOOP_ANIMATIONS_PROVIDERS","NoopAnimationDriver","ANIMATION_MODULE_TYPE","useValue","BROWSER_ANIMATIONS_PROVIDERS","ngServerMode","WebAnimationsDriver","BrowserAnimationsModule","withConfig","config","ngModule","providers","disableAnimations","deps","NgModule","ɵmod","ɵɵngDeclareNgModule","BrowserModule","imports","args","exports","provideAnimations","performanceMarkFeature","NoopAnimationsModule","provideNoopAnimations"],"mappings":"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"} |
| /** | ||
| * @license Angular v21.1.4 | ||
| * @license Angular v21.1.5 | ||
| * (c) 2010-2026 Google LLC. https://angular.dev/ | ||
@@ -90,3 +90,3 @@ * License: MIT | ||
| minVersion: "12.0.0", | ||
| version: "21.1.4", | ||
| version: "21.1.5", | ||
| ngImport: i0, | ||
@@ -101,3 +101,3 @@ type: Meta, | ||
| minVersion: "12.0.0", | ||
| version: "21.1.4", | ||
| version: "21.1.5", | ||
| ngImport: i0, | ||
@@ -110,3 +110,3 @@ type: Meta, | ||
| minVersion: "12.0.0", | ||
| version: "21.1.4", | ||
| version: "21.1.5", | ||
| ngImport: i0, | ||
@@ -145,3 +145,3 @@ type: Meta, | ||
| minVersion: "12.0.0", | ||
| version: "21.1.4", | ||
| version: "21.1.5", | ||
| ngImport: i0, | ||
@@ -156,3 +156,3 @@ type: Title, | ||
| minVersion: "12.0.0", | ||
| version: "21.1.4", | ||
| version: "21.1.5", | ||
| ngImport: i0, | ||
@@ -165,3 +165,3 @@ type: Title, | ||
| minVersion: "12.0.0", | ||
| version: "21.1.4", | ||
| version: "21.1.5", | ||
| ngImport: i0, | ||
@@ -309,3 +309,3 @@ type: Title, | ||
| minVersion: "12.0.0", | ||
| version: "21.1.4", | ||
| version: "21.1.5", | ||
| ngImport: i0, | ||
@@ -318,3 +318,3 @@ type: HammerGestureConfig, | ||
| minVersion: "12.0.0", | ||
| version: "21.1.4", | ||
| version: "21.1.5", | ||
| ngImport: i0, | ||
@@ -326,3 +326,3 @@ type: HammerGestureConfig | ||
| minVersion: "12.0.0", | ||
| version: "21.1.4", | ||
| version: "21.1.5", | ||
| ngImport: i0, | ||
@@ -411,3 +411,3 @@ type: HammerGestureConfig, | ||
| minVersion: "12.0.0", | ||
| version: "21.1.4", | ||
| version: "21.1.5", | ||
| ngImport: i0, | ||
@@ -429,3 +429,3 @@ type: HammerGesturesPlugin, | ||
| minVersion: "12.0.0", | ||
| version: "21.1.4", | ||
| version: "21.1.5", | ||
| ngImport: i0, | ||
@@ -437,3 +437,3 @@ type: HammerGesturesPlugin | ||
| minVersion: "12.0.0", | ||
| version: "21.1.4", | ||
| version: "21.1.5", | ||
| ngImport: i0, | ||
@@ -471,3 +471,3 @@ type: HammerGesturesPlugin, | ||
| minVersion: "12.0.0", | ||
| version: "21.1.4", | ||
| version: "21.1.5", | ||
| ngImport: i0, | ||
@@ -480,3 +480,3 @@ type: HammerModule, | ||
| minVersion: "14.0.0", | ||
| version: "21.1.4", | ||
| version: "21.1.5", | ||
| ngImport: i0, | ||
@@ -487,3 +487,3 @@ type: HammerModule | ||
| minVersion: "12.0.0", | ||
| version: "21.1.4", | ||
| version: "21.1.5", | ||
| ngImport: i0, | ||
@@ -504,3 +504,3 @@ type: HammerModule, | ||
| minVersion: "12.0.0", | ||
| version: "21.1.4", | ||
| version: "21.1.5", | ||
| ngImport: i0, | ||
@@ -527,3 +527,3 @@ type: HammerModule, | ||
| minVersion: "12.0.0", | ||
| version: "21.1.4", | ||
| version: "21.1.5", | ||
| ngImport: i0, | ||
@@ -536,3 +536,3 @@ type: DomSanitizer, | ||
| minVersion: "12.0.0", | ||
| version: "21.1.4", | ||
| version: "21.1.5", | ||
| ngImport: i0, | ||
@@ -546,3 +546,3 @@ type: DomSanitizer, | ||
| minVersion: "12.0.0", | ||
| version: "21.1.4", | ||
| version: "21.1.5", | ||
| ngImport: i0, | ||
@@ -615,3 +615,3 @@ type: DomSanitizer, | ||
| minVersion: "12.0.0", | ||
| version: "21.1.4", | ||
| version: "21.1.5", | ||
| ngImport: i0, | ||
@@ -626,3 +626,3 @@ type: DomSanitizerImpl, | ||
| minVersion: "12.0.0", | ||
| version: "21.1.4", | ||
| version: "21.1.5", | ||
| ngImport: i0, | ||
@@ -635,3 +635,3 @@ type: DomSanitizerImpl, | ||
| minVersion: "12.0.0", | ||
| version: "21.1.4", | ||
| version: "21.1.5", | ||
| ngImport: i0, | ||
@@ -718,5 +718,5 @@ type: DomSanitizerImpl, | ||
| const VERSION = /* @__PURE__ */new Version('21.1.4'); | ||
| const VERSION = /* @__PURE__ */new Version('21.1.5'); | ||
| export { By, DomSanitizer, EVENT_MANAGER_PLUGINS, EventManagerPlugin, HAMMER_GESTURE_CONFIG, HAMMER_LOADER, HammerGestureConfig, HammerModule, HydrationFeatureKind, Meta, Title, VERSION, disableDebugTools, enableDebugTools, provideClientHydration, withEventReplay, withHttpTransferCacheOptions, withI18nSupport, withIncrementalHydration, withNoHttpTransferCache, DomSanitizerImpl as ɵDomSanitizerImpl, HammerGesturesPlugin as ɵHammerGesturesPlugin }; | ||
| //# sourceMappingURL=platform-browser.mjs.map |
| /** | ||
| * @license Angular v21.1.4 | ||
| * @license Angular v21.1.5 | ||
| * (c) 2010-2026 Google LLC. https://angular.dev/ | ||
@@ -40,3 +40,3 @@ * License: MIT | ||
| minVersion: "12.0.0", | ||
| version: "21.1.4", | ||
| version: "21.1.5", | ||
| ngImport: i0, | ||
@@ -51,3 +51,3 @@ type: DOMTestComponentRenderer, | ||
| minVersion: "12.0.0", | ||
| version: "21.1.4", | ||
| version: "21.1.5", | ||
| ngImport: i0, | ||
@@ -59,3 +59,3 @@ type: DOMTestComponentRenderer | ||
| minVersion: "12.0.0", | ||
| version: "21.1.4", | ||
| version: "21.1.5", | ||
| ngImport: i0, | ||
@@ -79,3 +79,3 @@ type: DOMTestComponentRenderer, | ||
| minVersion: "12.0.0", | ||
| version: "21.1.4", | ||
| version: "21.1.5", | ||
| ngImport: i0, | ||
@@ -88,3 +88,3 @@ type: BrowserTestingModule, | ||
| minVersion: "14.0.0", | ||
| version: "21.1.4", | ||
| version: "21.1.5", | ||
| ngImport: i0, | ||
@@ -96,3 +96,3 @@ type: BrowserTestingModule, | ||
| minVersion: "12.0.0", | ||
| version: "21.1.4", | ||
| version: "21.1.5", | ||
| ngImport: i0, | ||
@@ -112,3 +112,3 @@ type: BrowserTestingModule, | ||
| minVersion: "12.0.0", | ||
| version: "21.1.4", | ||
| version: "21.1.5", | ||
| ngImport: i0, | ||
@@ -115,0 +115,0 @@ type: BrowserTestingModule, |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"testing.mjs","sources":["../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/packages/platform-browser/testing/src/dom_test_component_renderer.ts","../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/packages/platform-browser/testing/src/browser.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, ɵgetDOM as getDOM} from '@angular/common';\nimport {Inject, Injectable} from '@angular/core';\nimport {TestComponentRenderer} from '@angular/core/testing';\n\n/**\n * A DOM based implementation of the TestComponentRenderer.\n */\n@Injectable()\nexport class DOMTestComponentRenderer extends TestComponentRenderer {\n constructor(@Inject(DOCUMENT) private _doc: any) {\n super();\n }\n\n override insertRootElement(rootElId: string, tagName = 'div') {\n this.removeAllRootElementsImpl();\n const rootElement = getDOM().getDefaultDocument().createElement(tagName);\n rootElement.setAttribute('id', rootElId);\n this._doc.body.appendChild(rootElement);\n }\n\n override removeAllRootElements() {\n // Check whether the `DOCUMENT` instance retrieved from DI contains\n // the necessary function to complete the cleanup. In tests that don't\n // interact with DOM, the `DOCUMENT` might be mocked and some functions\n // might be missing. For such tests, DOM cleanup is not required and\n // we skip the logic if there are missing functions.\n if (typeof this._doc.querySelectorAll === 'function') {\n this.removeAllRootElementsImpl();\n }\n }\n\n private removeAllRootElementsImpl() {\n const oldRoots = this._doc.querySelectorAll('[id^=root]');\n for (let i = 0; i < oldRoots.length; i++) {\n getDOM().remove(oldRoots[i]);\n }\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 */\nimport {ɵprovideFakePlatformNavigation} from '@angular/common/testing';\nimport {APP_ID, createPlatformFactory, NgModule, StaticProvider, PlatformRef} from '@angular/core';\nimport {TestComponentRenderer} from '@angular/core/testing';\nimport {BrowserModule, platformBrowser} from '../../index';\nimport {DOMTestComponentRenderer} from './dom_test_component_renderer';\n\n/**\n * Platform for testing\n *\n * @publicApi\n */\nexport const platformBrowserTesting: (extraProviders?: StaticProvider[]) => PlatformRef =\n createPlatformFactory(platformBrowser, 'browserTesting');\n\n/**\n * NgModule for testing.\n *\n * @publicApi\n */\n@NgModule({\n exports: [BrowserModule],\n providers: [\n {provide: APP_ID, useValue: 'a'},\n ɵprovideFakePlatformNavigation(),\n {provide: TestComponentRenderer, useClass: DOMTestComponentRenderer},\n ],\n})\nexport class BrowserTestingModule {}\n"],"names":["DOMTestComponentRenderer","TestComponentRenderer","_doc","constructor","insertRootElement","rootElId","tagName","removeAllRootElementsImpl","rootElement","getDOM","getDefaultDocument","createElement","setAttribute","body","appendChild","removeAllRootElements","querySelectorAll","oldRoots","i","length","remove","ɵfac","i0","ɵɵngDeclareFactory","minVersion","version","ngImport","type","DOCUMENT","target","ɵɵFactoryTarget","Injectable","decorators","Inject","platformBrowserTesting","createPlatformFactory","platformBrowser","BrowserTestingModule","deps","NgModule","ɵmod","ɵɵngDeclareNgModule","BrowserModule","ɵinj","ɵɵngDeclareInjector","providers","provide","APP_ID","useValue","ɵprovideFakePlatformNavigation","useClass","imports","args","exports"],"mappings":"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"} | ||
| {"version":3,"file":"testing.mjs","sources":["../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/packages/platform-browser/testing/src/dom_test_component_renderer.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/packages/platform-browser/testing/src/browser.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, ɵgetDOM as getDOM} from '@angular/common';\nimport {Inject, Injectable} from '@angular/core';\nimport {TestComponentRenderer} from '@angular/core/testing';\n\n/**\n * A DOM based implementation of the TestComponentRenderer.\n */\n@Injectable()\nexport class DOMTestComponentRenderer extends TestComponentRenderer {\n constructor(@Inject(DOCUMENT) private _doc: any) {\n super();\n }\n\n override insertRootElement(rootElId: string, tagName = 'div') {\n this.removeAllRootElementsImpl();\n const rootElement = getDOM().getDefaultDocument().createElement(tagName);\n rootElement.setAttribute('id', rootElId);\n this._doc.body.appendChild(rootElement);\n }\n\n override removeAllRootElements() {\n // Check whether the `DOCUMENT` instance retrieved from DI contains\n // the necessary function to complete the cleanup. In tests that don't\n // interact with DOM, the `DOCUMENT` might be mocked and some functions\n // might be missing. For such tests, DOM cleanup is not required and\n // we skip the logic if there are missing functions.\n if (typeof this._doc.querySelectorAll === 'function') {\n this.removeAllRootElementsImpl();\n }\n }\n\n private removeAllRootElementsImpl() {\n const oldRoots = this._doc.querySelectorAll('[id^=root]');\n for (let i = 0; i < oldRoots.length; i++) {\n getDOM().remove(oldRoots[i]);\n }\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 */\nimport {ɵprovideFakePlatformNavigation} from '@angular/common/testing';\nimport {APP_ID, createPlatformFactory, NgModule, StaticProvider, PlatformRef} from '@angular/core';\nimport {TestComponentRenderer} from '@angular/core/testing';\nimport {BrowserModule, platformBrowser} from '../../index';\nimport {DOMTestComponentRenderer} from './dom_test_component_renderer';\n\n/**\n * Platform for testing\n *\n * @publicApi\n */\nexport const platformBrowserTesting: (extraProviders?: StaticProvider[]) => PlatformRef =\n createPlatformFactory(platformBrowser, 'browserTesting');\n\n/**\n * NgModule for testing.\n *\n * @publicApi\n */\n@NgModule({\n exports: [BrowserModule],\n providers: [\n {provide: APP_ID, useValue: 'a'},\n ɵprovideFakePlatformNavigation(),\n {provide: TestComponentRenderer, useClass: DOMTestComponentRenderer},\n ],\n})\nexport class BrowserTestingModule {}\n"],"names":["DOMTestComponentRenderer","TestComponentRenderer","_doc","constructor","insertRootElement","rootElId","tagName","removeAllRootElementsImpl","rootElement","getDOM","getDefaultDocument","createElement","setAttribute","body","appendChild","removeAllRootElements","querySelectorAll","oldRoots","i","length","remove","ɵfac","i0","ɵɵngDeclareFactory","minVersion","version","ngImport","type","DOCUMENT","target","ɵɵFactoryTarget","Injectable","decorators","Inject","platformBrowserTesting","createPlatformFactory","platformBrowser","BrowserTestingModule","deps","NgModule","ɵmod","ɵɵngDeclareNgModule","BrowserModule","ɵinj","ɵɵngDeclareInjector","providers","provide","APP_ID","useValue","ɵprovideFakePlatformNavigation","useClass","imports","args","exports"],"mappings":"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"} |
+4
-4
| { | ||
| "name": "@angular/platform-browser", | ||
| "version": "21.1.4", | ||
| "version": "21.1.5", | ||
| "description": "Angular - library for using Angular in a web browser", | ||
@@ -14,5 +14,5 @@ "author": "angular", | ||
| "peerDependencies": { | ||
| "@angular/animations": "21.1.4", | ||
| "@angular/core": "21.1.4", | ||
| "@angular/common": "21.1.4" | ||
| "@angular/animations": "21.1.5", | ||
| "@angular/core": "21.1.5", | ||
| "@angular/common": "21.1.5" | ||
| }, | ||
@@ -19,0 +19,0 @@ "peerDependenciesMeta": { |
| /** | ||
| * @license Angular v21.1.4 | ||
| * @license Angular v21.1.5 | ||
| * (c) 2010-2026 Google LLC. https://angular.dev/ | ||
@@ -4,0 +4,0 @@ * License: MIT |
| /** | ||
| * @license Angular v21.1.4 | ||
| * @license Angular v21.1.5 | ||
| * (c) 2010-2026 Google LLC. https://angular.dev/ | ||
@@ -4,0 +4,0 @@ * License: MIT |
| /** | ||
| * @license Angular v21.1.4 | ||
| * @license Angular v21.1.5 | ||
| * (c) 2010-2026 Google LLC. https://angular.dev/ | ||
@@ -4,0 +4,0 @@ * License: MIT |
| /** | ||
| * @license Angular v21.1.4 | ||
| * @license Angular v21.1.5 | ||
| * (c) 2010-2026 Google LLC. https://angular.dev/ | ||
@@ -4,0 +4,0 @@ * License: MIT |
| /** | ||
| * @license Angular v21.1.4 | ||
| * @license Angular v21.1.5 | ||
| * (c) 2010-2026 Google LLC. https://angular.dev/ | ||
@@ -4,0 +4,0 @@ * License: MIT |
Sorry, the diff of this file is too big to display
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
337430
0.08%