@angular/router
Advanced tools
| /** | ||
| * @license Angular v22.1.2 | ||
| * @license Angular v22.1.3 | ||
| * (c) 2010-2026 Google LLC. https://angular.dev/ | ||
@@ -10,6 +10,6 @@ * License: MIT | ||
| import * as i0 from '@angular/core'; | ||
| import { inject, HostAttributeToken, linkedSignal, untracked, signal, input, ɵINTERNAL_APPLICATION_ERROR_HANDLER as _INTERNAL_APPLICATION_ERROR_HANDLER, effect, ɵRuntimeError as _RuntimeError, computed, booleanAttribute, Service, HostListener, Input, Attribute, Directive, EventEmitter, Output, ContentChildren, createEnvironmentInjector, Injectable, InjectionToken, ɵIS_HYDRATION_DOM_REUSE_ENABLED as _IS_HYDRATION_DOM_REUSE_ENABLED, NgZone, ApplicationRef, EnvironmentInjector, DestroyRef, afterNextRender, ɵpromiseWithResolvers as _promiseWithResolvers, ɵpublishNonCoreGlobalUtil as _publishNonCoreGlobalUtil, makeEnvironmentProviders, APP_BOOTSTRAP_LISTENER, provideAppInitializer, ɵIS_ENABLED_BLOCKING_INITIAL_NAVIGATION as _IS_ENABLED_BLOCKING_INITIAL_NAVIGATION, Injector, provideEnvironmentInitializer, ɵperformanceMarkFeature as _performanceMarkFeature, ENVIRONMENT_INITIALIZER, NgModule } from '@angular/core'; | ||
| import { ROUTER_CONFIGURATION, isUrlTree, Router, ActivatedRoute, StateManager, UrlSerializer, NavigationEnd, UrlTree, isActive, subsetMatchOptions, exactMatchOptions, RouterConfigLoader, IMPERATIVE_NAVIGATION, NavigationTransitions, NavigationStart, NavigationSkipped, NavigationSkippedCode, Scroll, BeforeRoutesRecognized, BeforeActivateRoutes, NavigationCancel, NavigationError, isRedirectingEvent, NavigationCancellationCode, ROUTES, afterNextNavigation, NAVIGATION_ERROR_HANDLER, routeInjectorCleanup, ROUTE_INJECTOR_CLEANUP, RoutedComponentInputBinder, INPUT_BINDER, createViewTransition, CREATE_VIEW_TRANSITION, VIEW_TRANSITION_OPTIONS, ACTIVATED_ROUTE_INJECTOR_FEATURE, stringifyEvent, DefaultUrlSerializer, ChildrenOutletContexts, RouterOutlet, ɵEmptyOutletComponent as _EmptyOutletComponent } from './_router-chunk.mjs'; | ||
| import { Subject, of, from } from 'rxjs'; | ||
| import { mergeAll, catchError, filter, concatMap, mergeMap, tap } from 'rxjs/operators'; | ||
| import { inject, HostAttributeToken, linkedSignal, untracked, signal, input, ɵINTERNAL_APPLICATION_ERROR_HANDLER as _INTERNAL_APPLICATION_ERROR_HANDLER, effect, ɵRuntimeError as _RuntimeError, computed, booleanAttribute, Service, HostListener, Input, Attribute, Directive, EventEmitter, Output, ContentChildren, assertInInjectionContext, Injector, resourceFromSnapshots, DestroyRef, createEnvironmentInjector, runInInjectionContext, Injectable, InjectionToken, ɵIS_HYDRATION_DOM_REUSE_ENABLED as _IS_HYDRATION_DOM_REUSE_ENABLED, NgZone, ApplicationRef, EnvironmentInjector, afterNextRender, ɵpromiseWithResolvers as _promiseWithResolvers, ɵpublishNonCoreGlobalUtil as _publishNonCoreGlobalUtil, makeEnvironmentProviders, APP_BOOTSTRAP_LISTENER, provideAppInitializer, ɵIS_ENABLED_BLOCKING_INITIAL_NAVIGATION as _IS_ENABLED_BLOCKING_INITIAL_NAVIGATION, provideEnvironmentInitializer, ɵperformanceMarkFeature as _performanceMarkFeature, ENVIRONMENT_INITIALIZER, NgModule } from '@angular/core'; | ||
| import { ROUTER_CONFIGURATION, isUrlTree, Router, ActivatedRoute, StateManager, UrlSerializer, NavigationEnd, UrlTree, isActive, subsetMatchOptions, exactMatchOptions, NavigationStart, NavigationSkipped, NavigationCancel, NavigationError, NavigationCancellationCode, switchTap, initializeActivatedRoute, RouterConfigLoader, IMPERATIVE_NAVIGATION, NavigationTransitions, NavigationSkippedCode, Scroll, BeforeRoutesRecognized, BeforeActivateRoutes, isRedirectingEvent, ROUTES, afterNextNavigation, NAVIGATION_ERROR_HANDLER, routeInjectorCleanup, ROUTE_INJECTOR_CLEANUP, RoutedComponentInputBinder, INPUT_BINDER, createViewTransition, CREATE_VIEW_TRANSITION, VIEW_TRANSITION_OPTIONS, ROUTER_RESOURCES_FEATURE, stringifyEvent, DefaultUrlSerializer, ChildrenOutletContexts, RouterOutlet, ɵEmptyOutletComponent as _EmptyOutletComponent } from './_router-chunk.mjs'; | ||
| import { Subject, of, from, pipe } from 'rxjs'; | ||
| import { mergeAll, catchError, filter, concatMap, mergeMap } from 'rxjs/operators'; | ||
@@ -49,3 +49,3 @@ class ReactiveRouterState { | ||
| minVersion: "12.0.0", | ||
| version: "22.1.2", | ||
| version: "22.1.3", | ||
| ngImport: i0, | ||
@@ -58,3 +58,3 @@ type: ReactiveRouterState, | ||
| minVersion: "22.0.0", | ||
| version: "22.1.2", | ||
| version: "22.1.3", | ||
| ngImport: i0, | ||
@@ -66,3 +66,3 @@ type: ReactiveRouterState | ||
| minVersion: "12.0.0", | ||
| version: "22.1.2", | ||
| version: "22.1.3", | ||
| ngImport: i0, | ||
@@ -324,3 +324,3 @@ type: ReactiveRouterState, | ||
| minVersion: "12.0.0", | ||
| version: "22.1.2", | ||
| version: "22.1.3", | ||
| ngImport: i0, | ||
@@ -346,3 +346,3 @@ type: RouterLink, | ||
| minVersion: "17.1.0", | ||
| version: "22.1.2", | ||
| version: "22.1.3", | ||
| type: RouterLink, | ||
@@ -452,3 +452,3 @@ isStandalone: true, | ||
| minVersion: "12.0.0", | ||
| version: "22.1.2", | ||
| version: "22.1.3", | ||
| ngImport: i0, | ||
@@ -659,3 +659,3 @@ type: RouterLink, | ||
| minVersion: "12.0.0", | ||
| version: "22.1.2", | ||
| version: "22.1.3", | ||
| ngImport: i0, | ||
@@ -676,3 +676,3 @@ type: RouterLinkActive, | ||
| minVersion: "14.0.0", | ||
| version: "22.1.2", | ||
| version: "22.1.3", | ||
| type: RouterLinkActive, | ||
@@ -701,3 +701,3 @@ isStandalone: true, | ||
| minVersion: "12.0.0", | ||
| version: "22.1.2", | ||
| version: "22.1.3", | ||
| ngImport: i0, | ||
@@ -747,2 +747,167 @@ type: RouterLinkActive, | ||
| const BLOCKING_SYMBOL = Symbol(typeof ngDevMode === 'undefined' || ngDevMode ? '__isBlocking' : ''); | ||
| function nonBlocking(res) { | ||
| res[BLOCKING_SYMBOL] = false; | ||
| return res; | ||
| } | ||
| function routerResource(source) { | ||
| ngDevMode && assertInInjectionContext(routerResource); | ||
| const injector = inject(Injector); | ||
| const router = injector.get(Router); | ||
| const { | ||
| snapshot: snapshotSignal, | ||
| frozenSnapshot | ||
| } = createTransactionalSnapshot(source, router, injector); | ||
| const res = resourceFromSnapshots(snapshotSignal); | ||
| if (source[BLOCKING_SYMBOL] === false) { | ||
| res[BLOCKING_SYMBOL] = false; | ||
| } else { | ||
| res[BLOCKING_SYMBOL] = true; | ||
| } | ||
| if (typeof source.reload === 'function') { | ||
| res.reload = function () { | ||
| if (frozenSnapshot() !== null) { | ||
| return false; | ||
| } | ||
| return source.reload(); | ||
| }; | ||
| } else { | ||
| res.reload = () => false; | ||
| } | ||
| return res; | ||
| } | ||
| function createTransactionalSnapshot(source, router, injector) { | ||
| const frozenSnapshot = signal(null, ...(ngDevMode ? [{ | ||
| debugName: "frozenSnapshot" | ||
| }] : [])); | ||
| const isRollbackRecoveryPending = signal(false, ...(ngDevMode ? [{ | ||
| debugName: "isRollbackRecoveryPending" | ||
| }] : [])); | ||
| const sub = router.events.subscribe(e => { | ||
| if (e instanceof NavigationStart) { | ||
| isRollbackRecoveryPending.set(false); | ||
| if (frozenSnapshot() === null) { | ||
| frozenSnapshot.set(source.snapshot()); | ||
| } | ||
| } else if (e instanceof NavigationEnd) { | ||
| frozenSnapshot.set(null); | ||
| isRollbackRecoveryPending.set(false); | ||
| } else if (e instanceof NavigationSkipped) { | ||
| if (frozenSnapshot() !== null) { | ||
| isRollbackRecoveryPending.set(true); | ||
| } | ||
| } else if (e instanceof NavigationCancel || e instanceof NavigationError) { | ||
| const isRollback = e instanceof NavigationError || e instanceof NavigationCancel && e.code !== NavigationCancellationCode.SupersededByNewNavigation && e.code !== NavigationCancellationCode.Redirect; | ||
| if (!isRollback) return; | ||
| isRollbackRecoveryPending.set(true); | ||
| } | ||
| }); | ||
| injector.get(DestroyRef).onDestroy(() => sub.unsubscribe()); | ||
| effect(() => { | ||
| if (isRollbackRecoveryPending() && !source.isLoading()) { | ||
| isRollbackRecoveryPending.set(false); | ||
| frozenSnapshot.set(null); | ||
| } | ||
| }, { | ||
| injector | ||
| }); | ||
| return { | ||
| snapshot: computed(() => frozenSnapshot() ?? source.snapshot()), | ||
| frozenSnapshot | ||
| }; | ||
| } | ||
| function setupAndRunResources(abortSignal) { | ||
| return pipe(switchTap(({ | ||
| newlyCreatedRoutes, | ||
| targetRouterState | ||
| }) => { | ||
| if (!newlyCreatedRoutes || !targetRouterState) { | ||
| return; | ||
| } | ||
| const resourceSetupPromises = []; | ||
| const traverse = stateNode => { | ||
| const route = stateNode.value; | ||
| if (route) { | ||
| initializeActivatedRoute(route); | ||
| processRoute(route, newlyCreatedRoutes, resourceSetupPromises, abortSignal); | ||
| } | ||
| for (const childState of stateNode.children) { | ||
| traverse(childState); | ||
| } | ||
| }; | ||
| traverse(targetRouterState._root); | ||
| return Promise.all(resourceSetupPromises); | ||
| })); | ||
| } | ||
| function processRoute(route, newlyCreatedRoutes, resourceSetupPromises, abortSignal) { | ||
| const resources = route.routeConfig?.resources; | ||
| if (!resources) { | ||
| return; | ||
| } | ||
| if (newlyCreatedRoutes.has(route)) { | ||
| resourceSetupPromises.push(setupNewRouterResources(route._futureSnapshot, route, abortSignal)); | ||
| } else { | ||
| updateExistingResources(route); | ||
| } | ||
| } | ||
| async function setupNewRouterResources(snapshot, route, abortSignal) { | ||
| const resourcesFn = snapshot?.routeConfig?.resources; | ||
| const parentInjector = snapshot?._environmentInjector; | ||
| if (!resourcesFn || !parentInjector) { | ||
| return; | ||
| } | ||
| let childInjector = route._localInjector; | ||
| if (!childInjector) { | ||
| childInjector = createEnvironmentInjector([], parentInjector); | ||
| route._localInjector = childInjector; | ||
| } | ||
| const context = { | ||
| params: route.paramsSignal, | ||
| queryParams: route.queryParamsSignal, | ||
| fragment: route.fragmentSignal, | ||
| data: route.dataSignal, | ||
| snapshot: route._futureSnapshot | ||
| }; | ||
| const resourceResultRaw = runInInjectionContext(childInjector, () => resourcesFn(context)); | ||
| let resourceResult; | ||
| if (resourceResultRaw instanceof Promise) { | ||
| resourceResult = await resourceResultRaw; | ||
| if (abortSignal.aborted) return; | ||
| } else { | ||
| resourceResult = resourceResultRaw; | ||
| } | ||
| if (!resourceResult) return; | ||
| const wrappedResult = {}; | ||
| for (const [key, res] of Object.entries(resourceResult)) { | ||
| if (typeof ngDevMode === 'undefined' || ngDevMode) { | ||
| if (!res || typeof res !== 'object' || typeof res.snapshot !== 'function') { | ||
| throw new Error(`Invalid resource returned for key "${key}". Expected a Resource, but got ${res === null ? 'null' : typeof res}.`); | ||
| } | ||
| } | ||
| wrappedResult[key] = runInInjectionContext(childInjector, () => routerResource(res)); | ||
| } | ||
| route.resources = route._futureSnapshot.resources = snapshot.resources = wrappedResult; | ||
| prohibitBlockingResources(route, wrappedResult); | ||
| } | ||
| function updateExistingResources(route) { | ||
| const currentResources = route.snapshot?.resources; | ||
| if (!currentResources) { | ||
| return; | ||
| } | ||
| route._futureSnapshot.resources = currentResources; | ||
| prohibitBlockingResources(route, currentResources); | ||
| } | ||
| function prohibitBlockingResources(route, resourceResult) { | ||
| const childInjector = route._localInjector; | ||
| if (!childInjector || !resourceResult) return; | ||
| for (const r of Object.values(resourceResult)) { | ||
| const res = r; | ||
| if (res[BLOCKING_SYMBOL] === false) { | ||
| continue; | ||
| } | ||
| throw new Error('blocking resources not implemented yet'); | ||
| } | ||
| } | ||
| class PreloadingStrategy {} | ||
@@ -755,3 +920,3 @@ class PreloadAllModules { | ||
| minVersion: "12.0.0", | ||
| version: "22.1.2", | ||
| version: "22.1.3", | ||
| ngImport: i0, | ||
@@ -764,3 +929,3 @@ type: PreloadAllModules, | ||
| minVersion: "22.0.0", | ||
| version: "22.1.2", | ||
| version: "22.1.3", | ||
| ngImport: i0, | ||
@@ -772,3 +937,3 @@ type: PreloadAllModules | ||
| minVersion: "12.0.0", | ||
| version: "22.1.2", | ||
| version: "22.1.3", | ||
| ngImport: i0, | ||
@@ -786,3 +951,3 @@ type: PreloadAllModules, | ||
| minVersion: "12.0.0", | ||
| version: "22.1.2", | ||
| version: "22.1.3", | ||
| ngImport: i0, | ||
@@ -795,3 +960,3 @@ type: NoPreloading, | ||
| minVersion: "22.0.0", | ||
| version: "22.1.2", | ||
| version: "22.1.3", | ||
| ngImport: i0, | ||
@@ -803,3 +968,3 @@ type: NoPreloading | ||
| minVersion: "12.0.0", | ||
| version: "22.1.2", | ||
| version: "22.1.3", | ||
| ngImport: i0, | ||
@@ -882,3 +1047,3 @@ type: NoPreloading, | ||
| minVersion: "12.0.0", | ||
| version: "22.1.2", | ||
| version: "22.1.3", | ||
| ngImport: i0, | ||
@@ -899,3 +1064,3 @@ type: RouterPreloader, | ||
| minVersion: "12.0.0", | ||
| version: "22.1.2", | ||
| version: "22.1.3", | ||
| ngImport: i0, | ||
@@ -908,3 +1073,3 @@ type: RouterPreloader, | ||
| minVersion: "12.0.0", | ||
| version: "22.1.2", | ||
| version: "22.1.3", | ||
| ngImport: i0, | ||
@@ -1020,3 +1185,3 @@ type: RouterPreloader, | ||
| minVersion: "12.0.0", | ||
| version: "22.1.2", | ||
| version: "22.1.3", | ||
| ngImport: i0, | ||
@@ -1029,3 +1194,3 @@ type: RouterScroller, | ||
| minVersion: "12.0.0", | ||
| version: "22.1.2", | ||
| version: "22.1.3", | ||
| ngImport: i0, | ||
@@ -1037,3 +1202,3 @@ type: RouterScroller | ||
| minVersion: "12.0.0", | ||
| version: "22.1.2", | ||
| version: "22.1.3", | ||
| ngImport: i0, | ||
@@ -1378,3 +1543,3 @@ type: RouterScroller, | ||
| minVersion: "12.0.0", | ||
| version: "22.1.2", | ||
| version: "22.1.3", | ||
| ngImport: i0, | ||
@@ -1387,3 +1552,3 @@ type: NavigationStateManager, | ||
| minVersion: "22.0.0", | ||
| version: "22.1.2", | ||
| version: "22.1.3", | ||
| ngImport: i0, | ||
@@ -1395,3 +1560,3 @@ type: NavigationStateManager | ||
| minVersion: "12.0.0", | ||
| version: "22.1.2", | ||
| version: "22.1.3", | ||
| ngImport: i0, | ||
@@ -1410,38 +1575,2 @@ type: NavigationStateManager, | ||
| function setupActivatedRouteInjectors() { | ||
| return tap(({ | ||
| newlyCreatedRoutes, | ||
| targetRouterState | ||
| }) => { | ||
| if (!newlyCreatedRoutes || !targetRouterState) { | ||
| return; | ||
| } | ||
| const traverse = stateNode => { | ||
| const route = stateNode.value; | ||
| if (route) { | ||
| processRoute(route, newlyCreatedRoutes); | ||
| } | ||
| for (const childState of stateNode.children) { | ||
| traverse(childState); | ||
| } | ||
| }; | ||
| traverse(targetRouterState._root); | ||
| }); | ||
| } | ||
| function processRoute(route, newlyCreatedRoutes) { | ||
| const useActivatedRouteInjector = route?.routeConfig?.ɵUseActivatedRouteInjector; | ||
| if (!useActivatedRouteInjector) { | ||
| return; | ||
| } | ||
| if (newlyCreatedRoutes.has(route)) { | ||
| setupNewActivatedRouteInjector(route._futureSnapshot, route); | ||
| } | ||
| } | ||
| function setupNewActivatedRouteInjector(snapshot, route) { | ||
| if (ngDevMode && !!route._localInjector) { | ||
| throw new Error('invalid state: _localInjector should not exist on newly created ActivatedRoute yet'); | ||
| } | ||
| route._localInjector = createEnvironmentInjector([], snapshot._environmentInjector); | ||
| } | ||
| function provideRouter(routes, ...features) { | ||
@@ -1653,7 +1782,7 @@ if (typeof ngDevMode === 'undefined' || ngDevMode) { | ||
| } | ||
| function withActivatedRouteInjectors() { | ||
| function withRouterResources() { | ||
| const providers = [{ | ||
| provide: ACTIVATED_ROUTE_INJECTOR_FEATURE, | ||
| provide: ROUTER_RESOURCES_FEATURE, | ||
| useValue: { | ||
| operator: setupActivatedRouteInjectors | ||
| setupAndRunResources | ||
| } | ||
@@ -1712,3 +1841,3 @@ }]; | ||
| minVersion: "12.0.0", | ||
| version: "22.1.2", | ||
| version: "22.1.3", | ||
| ngImport: i0, | ||
@@ -1721,3 +1850,3 @@ type: RouterModule, | ||
| minVersion: "14.0.0", | ||
| version: "22.1.2", | ||
| version: "22.1.3", | ||
| ngImport: i0, | ||
@@ -1730,3 +1859,3 @@ type: RouterModule, | ||
| minVersion: "12.0.0", | ||
| version: "22.1.2", | ||
| version: "22.1.3", | ||
| ngImport: i0, | ||
@@ -1738,3 +1867,3 @@ type: RouterModule | ||
| minVersion: "12.0.0", | ||
| version: "22.1.2", | ||
| version: "22.1.3", | ||
| ngImport: i0, | ||
@@ -1801,3 +1930,3 @@ type: RouterModule, | ||
| export { NoPreloading, PreloadAllModules, PreloadingStrategy, ROUTER_INITIALIZER, ROUTER_PROVIDERS, RouterLink, RouterLinkActive, RouterModule, RouterPreloader, provideRouter, withActivatedRouteInjectors, withComponentInputBinding, withDebugTracing, withDisabledInitialNavigation, withEnabledBlockingInitialNavigation, withExperimentalAutoCleanupInjectors, withExperimentalPlatformNavigation, withHashLocation, withInMemoryScrolling, withNavigationErrorHandler, withPreloading, withRouterConfig, withViewTransitions }; | ||
| export { NoPreloading, PreloadAllModules, PreloadingStrategy, ROUTER_INITIALIZER, ROUTER_PROVIDERS, RouterLink, RouterLinkActive, RouterModule, RouterPreloader, nonBlocking, provideRouter, withComponentInputBinding, withDebugTracing, withDisabledInitialNavigation, withEnabledBlockingInitialNavigation, withExperimentalAutoCleanupInjectors, withExperimentalPlatformNavigation, withHashLocation, withInMemoryScrolling, withNavigationErrorHandler, withPreloading, withRouterConfig, withRouterResources, withViewTransitions }; | ||
| //# sourceMappingURL=_router_module-chunk.mjs.map |
| /** | ||
| * @license Angular v22.1.2 | ||
| * @license Angular v22.1.3 | ||
| * (c) 2010-2026 Google LLC. https://angular.dev/ | ||
@@ -8,3 +8,3 @@ * License: MIT | ||
| export { ActivatedRoute, ActivatedRouteSnapshot, ActivationEnd, ActivationStart, BaseRouteReuseStrategy, ChildActivationEnd, ChildActivationStart, ChildrenOutletContexts, DefaultTitleStrategy, DefaultUrlSerializer, EventType, GuardsCheckEnd, GuardsCheckStart, NavigationCancel, NavigationCancellationCode, NavigationEnd, NavigationError, NavigationSkipped, NavigationSkippedCode, NavigationStart, OutletContext, PRIMARY_OUTLET, ROUTER_CONFIGURATION, ROUTER_OUTLET_DATA, ROUTES, RedirectCommand, ResolveEnd, ResolveStart, RouteConfigLoadEnd, RouteConfigLoadStart, RouteReuseStrategy, Router, RouterEvent, RouterOutlet, RouterState, RouterStateSnapshot, RoutesRecognized, Scroll, TitleStrategy, UrlHandlingStrategy, UrlSegment, UrlSegmentGroup, UrlSerializer, UrlTree, convertToParamMap, createUrlTreeFromSnapshot, defaultUrlMatcher, destroyDetachedRouteHandle, isActive, ɵEmptyOutletComponent, afterNextNavigation as ɵafterNextNavigation, loadChildren as ɵloadChildren } from './_router-chunk.mjs'; | ||
| export { NoPreloading, PreloadAllModules, PreloadingStrategy, ROUTER_INITIALIZER, RouterLink, RouterLinkActive, RouterLink as RouterLinkWithHref, RouterModule, RouterPreloader, provideRouter, withComponentInputBinding, withDebugTracing, withDisabledInitialNavigation, withEnabledBlockingInitialNavigation, withExperimentalAutoCleanupInjectors, withExperimentalPlatformNavigation, withHashLocation, withInMemoryScrolling, withNavigationErrorHandler, withPreloading, withRouterConfig, withViewTransitions, ROUTER_PROVIDERS as ɵROUTER_PROVIDERS, withActivatedRouteInjectors as ɵwithActivatedRouteInjectors } from './_router_module-chunk.mjs'; | ||
| export { NoPreloading, PreloadAllModules, PreloadingStrategy, ROUTER_INITIALIZER, RouterLink, RouterLinkActive, RouterLink as RouterLinkWithHref, RouterModule, RouterPreloader, provideRouter, withComponentInputBinding, withDebugTracing, withDisabledInitialNavigation, withEnabledBlockingInitialNavigation, withExperimentalAutoCleanupInjectors, withExperimentalPlatformNavigation, withHashLocation, withInMemoryScrolling, withNavigationErrorHandler, withPreloading, withRouterConfig, withViewTransitions, ROUTER_PROVIDERS as ɵROUTER_PROVIDERS, nonBlocking as ɵnonBlocking, withRouterResources as ɵwithRouterResources } from './_router_module-chunk.mjs'; | ||
| import { inject, Version } from '@angular/core'; | ||
@@ -32,5 +32,5 @@ import '@angular/common'; | ||
| const VERSION = /* @__PURE__ */new Version('22.1.2'); | ||
| const VERSION = /* @__PURE__ */new Version('22.1.3'); | ||
| export { VERSION, mapToCanActivate, mapToCanActivateChild, mapToCanDeactivate, mapToCanMatch, mapToResolve }; | ||
| //# sourceMappingURL=router.mjs.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"router.mjs","sources":["../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/packages/router/src/utils/functional_guards.ts","../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/packages/router/src/version.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {inject, Type} from '@angular/core';\n\nimport {\n CanActivate,\n CanActivateChild,\n CanActivateChildFn,\n CanActivateFn,\n CanDeactivate,\n CanDeactivateFn,\n CanMatch,\n CanMatchFn,\n Resolve,\n ResolveFn,\n} from '../models';\n\n/**\n * Maps an array of injectable classes with canMatch functions to an array of equivalent\n * `CanMatchFn` for use in a `Route` definition.\n *\n * Usage {@example router/utils/functional_guards.ts region='CanActivate'}\n *\n * @publicApi\n * @see {@link Route}\n */\nexport function mapToCanMatch(providers: Array<Type<CanMatch>>): CanMatchFn[] {\n return providers.map(\n (provider) =>\n (...params) =>\n inject(provider).canMatch(...params),\n );\n}\n\n/**\n * Maps an array of injectable classes with canActivate functions to an array of equivalent\n * `CanActivateFn` for use in a `Route` definition.\n *\n * Usage {@example router/utils/functional_guards.ts region='CanActivate'}\n *\n * @publicApi\n * @see {@link Route}\n */\nexport function mapToCanActivate(providers: Array<Type<CanActivate>>): CanActivateFn[] {\n return providers.map(\n (provider) =>\n (...params) =>\n inject(provider).canActivate(...params),\n );\n}\n/**\n * Maps an array of injectable classes with canActivateChild functions to an array of equivalent\n * `CanActivateChildFn` for use in a `Route` definition.\n *\n * Usage {@example router/utils/functional_guards.ts region='CanActivate'}\n *\n * @publicApi\n * @see {@link Route}\n */\nexport function mapToCanActivateChild(\n providers: Array<Type<CanActivateChild>>,\n): CanActivateChildFn[] {\n return providers.map(\n (provider) =>\n (...params) =>\n inject(provider).canActivateChild(...params),\n );\n}\n/**\n * Maps an array of injectable classes with canDeactivate functions to an array of equivalent\n * `CanDeactivateFn` for use in a `Route` definition.\n *\n * Usage {@example router/utils/functional_guards.ts region='CanActivate'}\n *\n * @publicApi\n * @see {@link Route}\n */\nexport function mapToCanDeactivate<T = unknown>(\n providers: Array<Type<CanDeactivate<T>>>,\n): CanDeactivateFn<T>[] {\n return providers.map(\n (provider) =>\n (...params) =>\n inject(provider).canDeactivate(...params),\n );\n}\n/**\n * Maps an injectable class with a resolve function to an equivalent `ResolveFn`\n * for use in a `Route` definition.\n *\n * Usage {@example router/utils/functional_guards.ts region='Resolve'}\n *\n * @publicApi\n * @see {@link Route}\n */\nexport function mapToResolve<T>(provider: Type<Resolve<T>>): ResolveFn<T> {\n return (...params) => inject(provider).resolve(...params);\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\n/**\n * @module\n * @description\n * Entry point for all public APIs of the router package.\n */\n\nimport {Version} from '@angular/core';\n\n/**\n * @publicApi\n */\nexport const VERSION = /* @__PURE__ */ new Version('22.1.2');\n"],"names":[],"mappings":";;;;;;;;;;;;;;AAgCM,SAAU,aAAa,CAAC,SAAgC,EAAA;EAC5D,OAAO,SAAS,CAAC,GAAG,CACjB,QAAQ,IACP,CAAC,GAAG,MAAM,KACR,MAAM,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,CACzC;AACH;AAWM,SAAU,gBAAgB,CAAC,SAAmC,EAAA;EAClE,OAAO,SAAS,CAAC,GAAG,CACjB,QAAQ,IACP,CAAC,GAAG,MAAM,KACR,MAAM,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,GAAG,MAAM,CAAC,CAC5C;AACH;AAUM,SAAU,qBAAqB,CACnC,SAAwC,EAAA;EAExC,OAAO,SAAS,CAAC,GAAG,CACjB,QAAQ,IACP,CAAC,GAAG,MAAM,KACR,MAAM,CAAC,QAAQ,CAAC,CAAC,gBAAgB,CAAC,GAAG,MAAM,CAAC,CACjD;AACH;AAUM,SAAU,kBAAkB,CAChC,SAAwC,EAAA;EAExC,OAAO,SAAS,CAAC,GAAG,CACjB,QAAQ,IACP,CAAC,GAAG,MAAM,KACR,MAAM,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,GAAG,MAAM,CAAC,CAC9C;AACH;AAUM,SAAU,YAAY,CAAI,QAA0B,EAAA;AACxD,EAAA,OAAO,CAAC,GAAG,MAAM,KAAK,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC;AAC3D;;ACpFO,MAAM,OAAO,kBAAmB,IAAI,OAAO,CAAC,mBAAmB;;;;"} | ||
| {"version":3,"file":"router.mjs","sources":["../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/packages/router/src/utils/functional_guards.ts","../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/packages/router/src/version.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {inject, Type} from '@angular/core';\n\nimport {\n CanActivate,\n CanActivateChild,\n CanActivateChildFn,\n CanActivateFn,\n CanDeactivate,\n CanDeactivateFn,\n CanMatch,\n CanMatchFn,\n Resolve,\n ResolveFn,\n} from '../models';\n\n/**\n * Maps an array of injectable classes with canMatch functions to an array of equivalent\n * `CanMatchFn` for use in a `Route` definition.\n *\n * Usage {@example router/utils/functional_guards.ts region='CanActivate'}\n *\n * @publicApi\n * @see {@link Route}\n */\nexport function mapToCanMatch(providers: Array<Type<CanMatch>>): CanMatchFn[] {\n return providers.map(\n (provider) =>\n (...params) =>\n inject(provider).canMatch(...params),\n );\n}\n\n/**\n * Maps an array of injectable classes with canActivate functions to an array of equivalent\n * `CanActivateFn` for use in a `Route` definition.\n *\n * Usage {@example router/utils/functional_guards.ts region='CanActivate'}\n *\n * @publicApi\n * @see {@link Route}\n */\nexport function mapToCanActivate(providers: Array<Type<CanActivate>>): CanActivateFn[] {\n return providers.map(\n (provider) =>\n (...params) =>\n inject(provider).canActivate(...params),\n );\n}\n/**\n * Maps an array of injectable classes with canActivateChild functions to an array of equivalent\n * `CanActivateChildFn` for use in a `Route` definition.\n *\n * Usage {@example router/utils/functional_guards.ts region='CanActivate'}\n *\n * @publicApi\n * @see {@link Route}\n */\nexport function mapToCanActivateChild(\n providers: Array<Type<CanActivateChild>>,\n): CanActivateChildFn[] {\n return providers.map(\n (provider) =>\n (...params) =>\n inject(provider).canActivateChild(...params),\n );\n}\n/**\n * Maps an array of injectable classes with canDeactivate functions to an array of equivalent\n * `CanDeactivateFn` for use in a `Route` definition.\n *\n * Usage {@example router/utils/functional_guards.ts region='CanActivate'}\n *\n * @publicApi\n * @see {@link Route}\n */\nexport function mapToCanDeactivate<T = unknown>(\n providers: Array<Type<CanDeactivate<T>>>,\n): CanDeactivateFn<T>[] {\n return providers.map(\n (provider) =>\n (...params) =>\n inject(provider).canDeactivate(...params),\n );\n}\n/**\n * Maps an injectable class with a resolve function to an equivalent `ResolveFn`\n * for use in a `Route` definition.\n *\n * Usage {@example router/utils/functional_guards.ts region='Resolve'}\n *\n * @publicApi\n * @see {@link Route}\n */\nexport function mapToResolve<T>(provider: Type<Resolve<T>>): ResolveFn<T> {\n return (...params) => inject(provider).resolve(...params);\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\n/**\n * @module\n * @description\n * Entry point for all public APIs of the router package.\n */\n\nimport {Version} from '@angular/core';\n\n/**\n * @publicApi\n */\nexport const VERSION = /* @__PURE__ */ new Version('22.1.3');\n"],"names":[],"mappings":";;;;;;;;;;;;;;AAgCM,SAAU,aAAa,CAAC,SAAgC,EAAA;EAC5D,OAAO,SAAS,CAAC,GAAG,CACjB,QAAQ,IACP,CAAC,GAAG,MAAM,KACR,MAAM,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,CACzC;AACH;AAWM,SAAU,gBAAgB,CAAC,SAAmC,EAAA;EAClE,OAAO,SAAS,CAAC,GAAG,CACjB,QAAQ,IACP,CAAC,GAAG,MAAM,KACR,MAAM,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,GAAG,MAAM,CAAC,CAC5C;AACH;AAUM,SAAU,qBAAqB,CACnC,SAAwC,EAAA;EAExC,OAAO,SAAS,CAAC,GAAG,CACjB,QAAQ,IACP,CAAC,GAAG,MAAM,KACR,MAAM,CAAC,QAAQ,CAAC,CAAC,gBAAgB,CAAC,GAAG,MAAM,CAAC,CACjD;AACH;AAUM,SAAU,kBAAkB,CAChC,SAAwC,EAAA;EAExC,OAAO,SAAS,CAAC,GAAG,CACjB,QAAQ,IACP,CAAC,GAAG,MAAM,KACR,MAAM,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,GAAG,MAAM,CAAC,CAC9C;AACH;AAUM,SAAU,YAAY,CAAI,QAA0B,EAAA;AACxD,EAAA,OAAO,CAAC,GAAG,MAAM,KAAK,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC;AAC3D;;ACpFO,MAAM,OAAO,kBAAmB,IAAI,OAAO,CAAC,mBAAmB;;;;"} |
+11
-11
| /** | ||
| * @license Angular v22.1.2 | ||
| * @license Angular v22.1.3 | ||
| * (c) 2010-2026 Google LLC. https://angular.dev/ | ||
@@ -36,3 +36,3 @@ * License: MIT | ||
| minVersion: "12.0.0", | ||
| version: "22.1.2", | ||
| version: "22.1.3", | ||
| ngImport: i0, | ||
@@ -45,3 +45,3 @@ type: RouterTestingModule, | ||
| minVersion: "14.0.0", | ||
| version: "22.1.2", | ||
| version: "22.1.3", | ||
| ngImport: i0, | ||
@@ -53,3 +53,3 @@ type: RouterTestingModule, | ||
| minVersion: "12.0.0", | ||
| version: "22.1.2", | ||
| version: "22.1.3", | ||
| ngImport: i0, | ||
@@ -67,3 +67,3 @@ type: RouterTestingModule, | ||
| minVersion: "12.0.0", | ||
| version: "22.1.2", | ||
| version: "22.1.3", | ||
| ngImport: i0, | ||
@@ -104,3 +104,3 @@ type: RouterTestingModule, | ||
| minVersion: "12.0.0", | ||
| version: "22.1.2", | ||
| version: "22.1.3", | ||
| ngImport: i0, | ||
@@ -113,3 +113,3 @@ type: RootFixtureService, | ||
| minVersion: "22.0.0", | ||
| version: "22.1.2", | ||
| version: "22.1.3", | ||
| ngImport: i0, | ||
@@ -121,3 +121,3 @@ type: RootFixtureService | ||
| minVersion: "12.0.0", | ||
| version: "22.1.2", | ||
| version: "22.1.3", | ||
| ngImport: i0, | ||
@@ -136,3 +136,3 @@ type: RootFixtureService, | ||
| minVersion: "12.0.0", | ||
| version: "22.1.2", | ||
| version: "22.1.3", | ||
| ngImport: i0, | ||
@@ -145,3 +145,3 @@ type: RootCmp, | ||
| minVersion: "14.0.0", | ||
| version: "22.1.2", | ||
| version: "22.1.3", | ||
| type: RootCmp, | ||
@@ -172,3 +172,3 @@ isStandalone: true, | ||
| minVersion: "12.0.0", | ||
| version: "22.1.2", | ||
| version: "22.1.3", | ||
| ngImport: i0, | ||
@@ -175,0 +175,0 @@ type: RootCmp, |
| /** | ||
| * @license Angular v22.1.2 | ||
| * @license Angular v22.1.3 | ||
| * (c) 2010-2026 Google LLC. https://angular.dev/ | ||
@@ -4,0 +4,0 @@ * License: MIT |
+4
-4
| { | ||
| "name": "@angular/router", | ||
| "version": "22.1.2", | ||
| "version": "22.1.3", | ||
| "description": "Angular - the routing library", | ||
@@ -30,5 +30,5 @@ "keywords": [ | ||
| "peerDependencies": { | ||
| "@angular/core": "22.1.2", | ||
| "@angular/common": "22.1.2", | ||
| "@angular/platform-browser": "22.1.2", | ||
| "@angular/core": "22.1.3", | ||
| "@angular/common": "22.1.3", | ||
| "@angular/platform-browser": "22.1.3", | ||
| "rxjs": "^6.5.3 || ^7.4.0" | ||
@@ -35,0 +35,0 @@ }, |
+41
-6
| /** | ||
| * @license Angular v22.1.2 | ||
| * @license Angular v22.1.3 | ||
| * (c) 2010-2026 Google LLC. https://angular.dev/ | ||
@@ -8,6 +8,6 @@ * License: MIT | ||
| import { RouterOutletContract, ActivatedRoute, ActivatedRouteSnapshot, Params, DefaultUrlSerializer, UrlTree, RouterStateSnapshot, Route, LoadedRouterConfig, Router, Routes, ComponentInputBindingOptions, InMemoryScrollingOptions, NavigationError, RedirectCommand, RouterConfigOptions, CanActivate, CanActivateFn, CanActivateChild, CanActivateChildFn, CanDeactivate, CanDeactivateFn, CanMatch, CanMatchFn, Resolve, ResolveFn, Event } from './_router_module-chunk.js'; | ||
| export { ActivationEnd, ActivationStart, BaseRouteReuseStrategy, CanLoad, CanLoadFn, ChildActivationEnd, ChildActivationStart, Data, DeprecatedGuard, DeprecatedResolve, DetachedRouteHandle, EventType, ExtraOptions, GuardResult, GuardsCheckEnd, GuardsCheckStart, InitialNavigation, IsActiveMatchOptions, LoadChildren, LoadChildrenCallback, MaybeAsync, Navigation, NavigationBehaviorOptions, NavigationCancel, NavigationCancellationCode, NavigationEnd, NavigationExtras, NavigationSkipped, NavigationSkippedCode, NavigationStart, OnSameUrlNavigation, PRIMARY_OUTLET, ParamMap, PartialMatchRouteSnapshot, QueryParamsHandling, ROUTER_CONFIGURATION, ROUTER_INITIALIZER, ROUTER_OUTLET_DATA, RedirectFunction, ResolveData, ResolveEnd, ResolveStart, RouteConfigLoadEnd, RouteConfigLoadStart, RouteReuseStrategy, RouterEvent, RouterLink, RouterLinkActive, RouterLink as RouterLinkWithHref, RouterModule, RouterOutlet, RouterState, RoutesRecognized, RunGuardsAndResolvers, Scroll, UrlCreationOptions, UrlMatchResult, UrlMatcher, UrlSegment, UrlSegmentGroup, UrlSerializer, convertToParamMap, defaultUrlMatcher, destroyDetachedRouteHandle, isActive, ɵEmptyOutletComponent, ROUTER_PROVIDERS as ɵROUTER_PROVIDERS, RestoredState as ɵRestoredState } from './_router_module-chunk.js'; | ||
| export { ActivationEnd, ActivationStart, BaseRouteReuseStrategy, CanLoad, CanLoadFn, ChildActivationEnd, ChildActivationStart, Data, DeprecatedGuard, DeprecatedResolve, DetachedRouteHandle, EventType, ExtraOptions, GuardResult, GuardsCheckEnd, GuardsCheckStart, InitialNavigation, IsActiveMatchOptions, LoadChildren, LoadChildrenCallback, MaybeAsync, Navigation, NavigationBehaviorOptions, NavigationCancel, NavigationCancellationCode, NavigationEnd, NavigationExtras, NavigationSkipped, NavigationSkippedCode, NavigationStart, OnSameUrlNavigation, PRIMARY_OUTLET, ParamMap, PartialMatchRouteSnapshot, QueryParamsHandling, ROUTER_CONFIGURATION, ROUTER_INITIALIZER, ROUTER_OUTLET_DATA, RedirectFunction, ResolveData, ResolveEnd, ResolveStart, RouteConfigLoadEnd, RouteConfigLoadStart, RouteReuseStrategy, RouterEvent, RouterLink, RouterLinkActive, RouterLink as RouterLinkWithHref, RouterModule, RouterOutlet, RouterState, RoutesRecognized, RunGuardsAndResolvers, Scroll, UrlCreationOptions, UrlMatchResult, UrlMatcher, UrlSegment, UrlSegmentGroup, UrlSerializer, convertToParamMap, defaultUrlMatcher, destroyDetachedRouteHandle, isActive, ɵEmptyOutletComponent, ROUTER_PROVIDERS as ɵROUTER_PROVIDERS, ResourceContext as ɵResourceContext, ResourceResult as ɵResourceResult, RestoredState as ɵRestoredState } from './_router_module-chunk.js'; | ||
| import { Title } from '@angular/platform-browser'; | ||
| import * as i0 from '@angular/core'; | ||
| import { EnvironmentInjector, ComponentRef, InjectionToken, Type, Injector, Compiler, OnDestroy, Provider, EnvironmentProviders, Version } from '@angular/core'; | ||
| import { EnvironmentInjector, ComponentRef, InjectionToken, Type, Injector, Compiler, OnDestroy, Provider, EnvironmentProviders, Version, Resource } from '@angular/core'; | ||
| export { DefaultExport } from '@angular/core'; | ||
@@ -866,5 +866,33 @@ import { Observable } from 'rxjs'; | ||
| declare function withViewTransitions(options?: ViewTransitionsFeatureOptions): ViewTransitionsFeature; | ||
| type ActivatedRouteInjectorFeature = RouterFeature<RouterFeatureKind.ViewTransitionsFeature>; | ||
| declare function withActivatedRouteInjectors(): ActivatedRouteInjectorFeature; | ||
| /** | ||
| * A type alias for providers returned by `withRouterResources` for use with `provideRouter`. | ||
| * | ||
| * @see {@link withRouterResources} | ||
| * @see {@link provideRouter} | ||
| * | ||
| * @experimental | ||
| */ | ||
| type RouterResourcesFeature = RouterFeature<RouterFeatureKind.ViewTransitionsFeature>; | ||
| /** | ||
| * Enables `resources` capabilities for Route definitions. | ||
| * | ||
| * @usageNotes | ||
| * | ||
| * Basic example of how you can enable the feature: | ||
| * ```ts | ||
| * const appRoutes: Routes = []; | ||
| * bootstrapApplication(AppComponent, | ||
| * { | ||
| * providers: [ | ||
| * provideRouter(appRoutes, withRouterResources()) | ||
| * ] | ||
| * } | ||
| * ); | ||
| * ``` | ||
| * | ||
| * @experimental | ||
| * @returns A set of providers for use with `provideRouter`. | ||
| */ | ||
| declare function withRouterResources(): RouterResourcesFeature; | ||
| /** | ||
| * A type alias that represents all Router features available for use with `provideRouter`. | ||
@@ -1005,3 +1033,10 @@ * Features can be enabled by adding special functions to the `provideRouter` call. | ||
| export { ActivatedRoute, ActivatedRouteSnapshot, CanActivate, CanActivateChild, CanActivateChildFn, CanActivateFn, CanDeactivate, CanDeactivateFn, CanMatch, CanMatchFn, ChildrenOutletContexts, ComponentInputBindingOptions, DefaultTitleStrategy, DefaultUrlSerializer, Event, InMemoryScrollingOptions, NavigationError, NoPreloading, OutletContext, Params, PreloadAllModules, PreloadingStrategy, ROUTES, RedirectCommand, Resolve, ResolveFn, Route, Router, RouterConfigOptions, RouterOutletContract, RouterPreloader, RouterStateSnapshot, Routes, TitleStrategy, UrlHandlingStrategy, UrlTree, VERSION, createUrlTreeFromSnapshot, mapToCanActivate, mapToCanActivateChild, mapToCanDeactivate, mapToCanMatch, mapToResolve, provideRouter, withComponentInputBinding, withDebugTracing, withDisabledInitialNavigation, withEnabledBlockingInitialNavigation, withExperimentalAutoCleanupInjectors, withExperimentalPlatformNavigation, withHashLocation, withInMemoryScrolling, withNavigationErrorHandler, withPreloading, withRouterConfig, withViewTransitions, afterNextNavigation as ɵafterNextNavigation, loadChildren as ɵloadChildren, withActivatedRouteInjectors as ɵwithActivatedRouteInjectors }; | ||
| /** | ||
| * Marks a resource as non-blocking. The Router will NOT wait for this resource to resolve | ||
| * before completing the navigation. | ||
| * @experimental | ||
| */ | ||
| declare function nonBlocking<T, R extends Resource<T>>(res: R): R; | ||
| export { ActivatedRoute, ActivatedRouteSnapshot, CanActivate, CanActivateChild, CanActivateChildFn, CanActivateFn, CanDeactivate, CanDeactivateFn, CanMatch, CanMatchFn, ChildrenOutletContexts, ComponentInputBindingOptions, DefaultTitleStrategy, DefaultUrlSerializer, Event, InMemoryScrollingOptions, NavigationError, NoPreloading, OutletContext, Params, PreloadAllModules, PreloadingStrategy, ROUTES, RedirectCommand, Resolve, ResolveFn, Route, Router, RouterConfigOptions, RouterOutletContract, RouterPreloader, RouterStateSnapshot, Routes, TitleStrategy, UrlHandlingStrategy, UrlTree, VERSION, createUrlTreeFromSnapshot, mapToCanActivate, mapToCanActivateChild, mapToCanDeactivate, mapToCanMatch, mapToResolve, provideRouter, withComponentInputBinding, withDebugTracing, withDisabledInitialNavigation, withEnabledBlockingInitialNavigation, withExperimentalAutoCleanupInjectors, withExperimentalPlatformNavigation, withHashLocation, withInMemoryScrolling, withNavigationErrorHandler, withPreloading, withRouterConfig, withViewTransitions, afterNextNavigation as ɵafterNextNavigation, loadChildren as ɵloadChildren, nonBlocking as ɵnonBlocking, withRouterResources as ɵwithRouterResources }; | ||
| export type { ComponentInputBindingFeature, DebugTracingFeature, DisabledInitialNavigationFeature, EnabledBlockingInitialNavigationFeature, InMemoryScrollingFeature, InitialNavigationFeature, NavigationErrorHandlerFeature, PreloadingFeature, RouterConfigurationFeature, RouterFeature, RouterFeatures, RouterHashLocationFeature, ViewTransitionInfo, ViewTransitionsFeature, ViewTransitionsFeatureOptions }; |
| /** | ||
| * @license Angular v22.1.2 | ||
| * @license Angular v22.1.3 | ||
| * (c) 2010-2026 Google LLC. https://angular.dev/ | ||
@@ -4,0 +4,0 @@ * License: MIT |
| /** | ||
| * @license Angular v22.1.2 | ||
| * @license Angular v22.1.3 | ||
| * (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
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
1216222
2.51%12374
2.11%