@angular/cdk 21.0.0 → 21.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/fesm2022/_a11y-module-chunk.mjs +23 -23
  2. package/fesm2022/_a11y-module-chunk.mjs.map +1 -1
  3. package/fesm2022/_breakpoints-observer-chunk.mjs +6 -6
  4. package/fesm2022/_breakpoints-observer-chunk.mjs.map +1 -1
  5. package/fesm2022/_directionality-chunk.mjs +3 -3
  6. package/fesm2022/_directionality-chunk.mjs.map +1 -1
  7. package/fesm2022/_focus-monitor-chunk.mjs +9 -9
  8. package/fesm2022/_focus-monitor-chunk.mjs.map +1 -1
  9. package/fesm2022/_id-generator-chunk.mjs +3 -3
  10. package/fesm2022/_id-generator-chunk.mjs.map +1 -1
  11. package/fesm2022/_overlay-module-chunk.mjs +52 -68
  12. package/fesm2022/_overlay-module-chunk.mjs.map +1 -1
  13. package/fesm2022/_platform-chunk.mjs +3 -3
  14. package/fesm2022/_platform-chunk.mjs.map +1 -1
  15. package/fesm2022/_style-loader-chunk.mjs +3 -3
  16. package/fesm2022/_style-loader-chunk.mjs.map +1 -1
  17. package/fesm2022/_unique-selection-dispatcher-chunk.mjs +3 -3
  18. package/fesm2022/_unique-selection-dispatcher-chunk.mjs.map +1 -1
  19. package/fesm2022/_visually-hidden-chunk.mjs +46 -0
  20. package/fesm2022/_visually-hidden-chunk.mjs.map +1 -0
  21. package/fesm2022/a11y.mjs +10 -10
  22. package/fesm2022/a11y.mjs.map +1 -1
  23. package/fesm2022/accordion.mjs +10 -10
  24. package/fesm2022/accordion.mjs.map +1 -1
  25. package/fesm2022/bidi.mjs +7 -7
  26. package/fesm2022/bidi.mjs.map +1 -1
  27. package/fesm2022/cdk.mjs +1 -1
  28. package/fesm2022/cdk.mjs.map +1 -1
  29. package/fesm2022/clipboard.mjs +10 -10
  30. package/fesm2022/clipboard.mjs.map +1 -1
  31. package/fesm2022/dialog.mjs +11 -11
  32. package/fesm2022/dialog.mjs.map +1 -1
  33. package/fesm2022/drag-drop.mjs +31 -31
  34. package/fesm2022/drag-drop.mjs.map +1 -1
  35. package/fesm2022/layout.mjs +4 -4
  36. package/fesm2022/listbox.mjs +10 -10
  37. package/fesm2022/listbox.mjs.map +1 -1
  38. package/fesm2022/menu.mjs +49 -49
  39. package/fesm2022/menu.mjs.map +1 -1
  40. package/fesm2022/observers-private.mjs +3 -3
  41. package/fesm2022/observers-private.mjs.map +1 -1
  42. package/fesm2022/observers.mjs +13 -13
  43. package/fesm2022/observers.mjs.map +1 -1
  44. package/fesm2022/overlay.mjs +3 -3
  45. package/fesm2022/overlay.mjs.map +1 -1
  46. package/fesm2022/platform.mjs +4 -4
  47. package/fesm2022/portal.mjs +10 -10
  48. package/fesm2022/portal.mjs.map +1 -1
  49. package/fesm2022/private.mjs +20 -42
  50. package/fesm2022/private.mjs.map +1 -1
  51. package/fesm2022/scrolling.mjs +35 -35
  52. package/fesm2022/scrolling.mjs.map +1 -1
  53. package/fesm2022/stepper.mjs +22 -22
  54. package/fesm2022/stepper.mjs.map +1 -1
  55. package/fesm2022/table.mjs +73 -73
  56. package/fesm2022/table.mjs.map +1 -1
  57. package/fesm2022/testing-testbed.mjs +6 -3
  58. package/fesm2022/testing-testbed.mjs.map +1 -1
  59. package/fesm2022/text-field.mjs +16 -16
  60. package/fesm2022/text-field.mjs.map +1 -1
  61. package/fesm2022/tree.mjs +25 -25
  62. package/fesm2022/tree.mjs.map +1 -1
  63. package/package.json +1 -1
  64. package/schematics/ng-add/index.js +1 -1
  65. package/types/private.d.ts +17 -1
@@ -1 +1 @@
1
- {"version":3,"file":"portal.mjs","sources":["../../../../../darwin_arm64-fastbuild-ST-199a4f3c4e20/bin/src/cdk/portal/portal-errors.ts","../../../../../darwin_arm64-fastbuild-ST-199a4f3c4e20/bin/src/cdk/portal/portal.ts","../../../../../darwin_arm64-fastbuild-ST-199a4f3c4e20/bin/src/cdk/portal/dom-portal-outlet.ts","../../../../../darwin_arm64-fastbuild-ST-199a4f3c4e20/bin/src/cdk/portal/portal-directives.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\n/**\n * Throws an exception when attempting to attach a null portal to a host.\n * @docs-private\n */\nexport function throwNullPortalError() {\n throw Error('Must provide a portal to attach');\n}\n\n/**\n * Throws an exception when attempting to attach a portal to a host that is already attached.\n * @docs-private\n */\nexport function throwPortalAlreadyAttachedError() {\n throw Error('Host already has a portal attached');\n}\n\n/**\n * Throws an exception when attempting to attach a portal to an already-disposed host.\n * @docs-private\n */\nexport function throwPortalOutletAlreadyDisposedError() {\n throw Error('This PortalOutlet has already been disposed');\n}\n\n/**\n * Throws an exception when attempting to attach an unknown portal type.\n * @docs-private\n */\nexport function throwUnknownPortalTypeError() {\n throw Error(\n 'Attempting to attach an unknown Portal type. BasePortalOutlet accepts either ' +\n 'a ComponentPortal or a TemplatePortal.',\n );\n}\n\n/**\n * Throws an exception when attempting to attach a portal to a null host.\n * @docs-private\n */\nexport function throwNullPortalOutletError() {\n throw Error('Attempting to attach a portal to a null PortalOutlet');\n}\n\n/**\n * Throws an exception when attempting to detach a portal that is not attached.\n * @docs-private\n */\nexport function throwNoPortalAttachedError() {\n throw Error('Attempting to detach a portal that is not attached to a host');\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 TemplateRef,\n ViewContainerRef,\n ElementRef,\n ComponentRef,\n EmbeddedViewRef,\n Injector,\n} from '@angular/core';\nimport {\n throwNullPortalOutletError,\n throwPortalAlreadyAttachedError,\n throwNoPortalAttachedError,\n throwNullPortalError,\n throwPortalOutletAlreadyDisposedError,\n throwUnknownPortalTypeError,\n} from './portal-errors';\n\n/** Interface that can be used to generically type a class. */\nexport interface ComponentType<T> {\n new (...args: any[]): T;\n}\n\n/**\n * A `Portal` is something that you want to render somewhere else.\n * It can be attach to / detached from a `PortalOutlet`.\n */\nexport abstract class Portal<T> {\n private _attachedHost: PortalOutlet | null;\n\n /** Attach this portal to a host. */\n attach(host: PortalOutlet): T {\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n if (host == null) {\n throwNullPortalOutletError();\n }\n\n if (host.hasAttached()) {\n throwPortalAlreadyAttachedError();\n }\n }\n\n this._attachedHost = host;\n return <T>host.attach(this);\n }\n\n /** Detach this portal from its host */\n detach(): void {\n let host = this._attachedHost;\n\n if (host != null) {\n this._attachedHost = null;\n host.detach();\n } else if (typeof ngDevMode === 'undefined' || ngDevMode) {\n throwNoPortalAttachedError();\n }\n }\n\n /** Whether this portal is attached to a host. */\n get isAttached(): boolean {\n return this._attachedHost != null;\n }\n\n /**\n * Sets the PortalOutlet reference without performing `attach()`. This is used directly by\n * the PortalOutlet when it is performing an `attach()` or `detach()`.\n */\n setAttachedHost(host: PortalOutlet | null) {\n this._attachedHost = host;\n }\n}\n\n/**\n * A `ComponentPortal` is a portal that instantiates some Component upon attachment.\n */\nexport class ComponentPortal<T> extends Portal<ComponentRef<T>> {\n /** The type of the component that will be instantiated for attachment. */\n component: ComponentType<T>;\n\n /**\n * Where the attached component should live in Angular's *logical* component tree.\n * This is different from where the component *renders*, which is determined by the PortalOutlet.\n * The origin is necessary when the host is outside of the Angular application context.\n */\n viewContainerRef?: ViewContainerRef | null;\n\n /** Injector used for the instantiation of the component. */\n injector?: Injector | null;\n\n /**\n * List of DOM nodes that should be projected through `<ng-content>` of the attached component.\n */\n projectableNodes?: Node[][] | null;\n\n constructor(\n component: ComponentType<T>,\n viewContainerRef?: ViewContainerRef | null,\n injector?: Injector | null,\n projectableNodes?: Node[][] | null,\n ) {\n super();\n this.component = component;\n this.viewContainerRef = viewContainerRef;\n this.injector = injector;\n this.projectableNodes = projectableNodes;\n }\n}\n\n/**\n * A `TemplatePortal` is a portal that represents some embedded template (TemplateRef).\n */\nexport class TemplatePortal<C = any> extends Portal<EmbeddedViewRef<C>> {\n constructor(\n /** The embedded template that will be used to instantiate an embedded View in the host. */\n public templateRef: TemplateRef<C>,\n /** Reference to the ViewContainer into which the template will be stamped out. */\n public viewContainerRef: ViewContainerRef,\n /** Contextual data to be passed in to the embedded view. */\n public context?: C,\n /** The injector to use for the embedded view. */\n public injector?: Injector,\n ) {\n super();\n }\n\n get origin(): ElementRef {\n return this.templateRef.elementRef;\n }\n\n /**\n * Attach the portal to the provided `PortalOutlet`.\n * When a context is provided it will override the `context` property of the `TemplatePortal`\n * instance.\n */\n override attach(host: PortalOutlet, context: C | undefined = this.context): EmbeddedViewRef<C> {\n this.context = context;\n return super.attach(host);\n }\n\n override detach(): void {\n this.context = undefined;\n return super.detach();\n }\n}\n\n/**\n * A `DomPortal` is a portal whose DOM element will be taken from its current position\n * in the DOM and moved into a portal outlet, when it is attached. On detach, the content\n * will be restored to its original position.\n */\nexport class DomPortal<T = HTMLElement> extends Portal<T> {\n /** DOM node hosting the portal's content. */\n readonly element: T;\n\n constructor(element: T | ElementRef<T>) {\n super();\n this.element = element instanceof ElementRef ? element.nativeElement : element;\n }\n}\n\n/** A `PortalOutlet` is a space that can contain a single `Portal`. */\nexport interface PortalOutlet {\n /** Attaches a portal to this outlet. */\n attach(portal: Portal<any>): any;\n\n /** Detaches the currently attached portal from this outlet. */\n detach(): any;\n\n /** Performs cleanup before the outlet is destroyed. */\n dispose(): void;\n\n /** Whether there is currently a portal attached to this outlet. */\n hasAttached(): boolean;\n}\n\n/**\n * Partial implementation of PortalOutlet that handles attaching\n * ComponentPortal and TemplatePortal.\n */\nexport abstract class BasePortalOutlet implements PortalOutlet {\n /** The portal currently attached to the host. */\n protected _attachedPortal: Portal<any> | null;\n\n /** A function that will permanently dispose this host. */\n private _disposeFn: (() => void) | null;\n\n /** Whether this host has already been permanently disposed. */\n private _isDisposed: boolean = false;\n\n /** Whether this host has an attached portal. */\n hasAttached(): boolean {\n return !!this._attachedPortal;\n }\n\n attach<T>(portal: ComponentPortal<T>): ComponentRef<T>;\n attach<T>(portal: TemplatePortal<T>): EmbeddedViewRef<T>;\n attach(portal: any): any;\n\n /** Attaches a portal. */\n attach(portal: Portal<any>): any {\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n if (!portal) {\n throwNullPortalError();\n }\n\n if (this.hasAttached()) {\n throwPortalAlreadyAttachedError();\n }\n\n if (this._isDisposed) {\n throwPortalOutletAlreadyDisposedError();\n }\n }\n\n if (portal instanceof ComponentPortal) {\n this._attachedPortal = portal;\n return this.attachComponentPortal(portal);\n } else if (portal instanceof TemplatePortal) {\n this._attachedPortal = portal;\n return this.attachTemplatePortal(portal);\n // @breaking-change 10.0.0 remove null check for `this.attachDomPortal`.\n } else if (this.attachDomPortal && portal instanceof DomPortal) {\n this._attachedPortal = portal;\n return this.attachDomPortal(portal);\n }\n\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n throwUnknownPortalTypeError();\n }\n }\n\n abstract attachComponentPortal<T>(portal: ComponentPortal<T>): ComponentRef<T>;\n\n abstract attachTemplatePortal<C>(portal: TemplatePortal<C>): EmbeddedViewRef<C>;\n\n // @breaking-change 10.0.0 `attachDomPortal` to become a required abstract method.\n readonly attachDomPortal: null | ((portal: DomPortal) => any) = null;\n\n /** Detaches a previously attached portal. */\n detach(): void {\n if (this._attachedPortal) {\n this._attachedPortal.setAttachedHost(null);\n this._attachedPortal = null;\n }\n\n this._invokeDisposeFn();\n }\n\n /** Permanently dispose of this portal host. */\n dispose(): void {\n if (this.hasAttached()) {\n this.detach();\n }\n\n this._invokeDisposeFn();\n this._isDisposed = true;\n }\n\n /** @docs-private */\n setDisposeFn(fn: () => void) {\n this._disposeFn = fn;\n }\n\n private _invokeDisposeFn() {\n if (this._disposeFn) {\n this._disposeFn();\n this._disposeFn = null;\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 */\n\nimport {\n ApplicationRef,\n ComponentRef,\n EmbeddedViewRef,\n EnvironmentInjector,\n Injector,\n NgModuleRef,\n createComponent,\n} from '@angular/core';\nimport {BasePortalOutlet, ComponentPortal, DomPortal, TemplatePortal} from './portal';\n\n/**\n * A PortalOutlet for attaching portals to an arbitrary DOM element outside of the Angular\n * application context.\n */\nexport class DomPortalOutlet extends BasePortalOutlet {\n /**\n * @param outletElement Element into which the content is projected.\n * @param _appRef Reference to the application. Only used in component portals when there\n * is no `ViewContainerRef` available.\n * @param _defaultInjector Injector to use as a fallback when the portal being attached doesn't\n * have one. Only used for component portals.\n */\n constructor(\n /** Element into which the content is projected. */\n public outletElement: Element,\n private _appRef?: ApplicationRef,\n private _defaultInjector?: Injector,\n ) {\n super();\n }\n\n /**\n * Attach the given ComponentPortal to DOM element.\n * @param portal Portal to be attached\n * @returns Reference to the created component.\n */\n attachComponentPortal<T>(portal: ComponentPortal<T>): ComponentRef<T> {\n let componentRef: ComponentRef<T>;\n\n // If the portal specifies a ViewContainerRef, we will use that as the attachment point\n // for the component (in terms of Angular's component tree, not rendering).\n // When the ViewContainerRef is missing, we use the factory to create the component directly\n // and then manually attach the view to the application.\n if (portal.viewContainerRef) {\n const injector = portal.injector || portal.viewContainerRef.injector;\n const ngModuleRef = injector.get(NgModuleRef, null, {optional: true}) || undefined;\n\n componentRef = portal.viewContainerRef.createComponent(portal.component, {\n index: portal.viewContainerRef.length,\n injector,\n ngModuleRef,\n projectableNodes: portal.projectableNodes || undefined,\n });\n\n this.setDisposeFn(() => componentRef.destroy());\n } else {\n if ((typeof ngDevMode === 'undefined' || ngDevMode) && !this._appRef) {\n throw Error('Cannot attach component portal to outlet without an ApplicationRef.');\n }\n const appRef = this._appRef!;\n\n const elementInjector = portal.injector || this._defaultInjector || Injector.NULL;\n const environmentInjector = elementInjector.get(EnvironmentInjector, appRef.injector);\n componentRef = createComponent(portal.component, {\n elementInjector,\n environmentInjector,\n projectableNodes: portal.projectableNodes || undefined,\n });\n\n appRef.attachView(componentRef.hostView);\n this.setDisposeFn(() => {\n // Verify that the ApplicationRef has registered views before trying to detach a host view.\n // This check also protects the `detachView` from being called on a destroyed ApplicationRef.\n if (appRef.viewCount > 0) {\n appRef.detachView(componentRef.hostView);\n }\n componentRef.destroy();\n });\n }\n // At this point the component has been instantiated, so we move it to the location in the DOM\n // where we want it to be rendered.\n this.outletElement.appendChild(this._getComponentRootNode(componentRef));\n this._attachedPortal = portal;\n\n return componentRef;\n }\n\n /**\n * Attaches a template portal to the DOM as an embedded view.\n * @param portal Portal to be attached.\n * @returns Reference to the created embedded view.\n */\n attachTemplatePortal<C>(portal: TemplatePortal<C>): EmbeddedViewRef<C> {\n let viewContainer = portal.viewContainerRef;\n let viewRef = viewContainer.createEmbeddedView(portal.templateRef, portal.context, {\n injector: portal.injector,\n });\n\n // The method `createEmbeddedView` will add the view as a child of the viewContainer.\n // But for the DomPortalOutlet the view can be added everywhere in the DOM\n // (e.g Overlay Container) To move the view to the specified host element. We just\n // re-append the existing root nodes.\n viewRef.rootNodes.forEach(rootNode => this.outletElement.appendChild(rootNode));\n\n // Note that we want to detect changes after the nodes have been moved so that\n // any directives inside the portal that are looking at the DOM inside a lifecycle\n // hook won't be invoked too early.\n viewRef.detectChanges();\n\n this.setDisposeFn(() => {\n let index = viewContainer.indexOf(viewRef);\n if (index !== -1) {\n viewContainer.remove(index);\n }\n });\n\n this._attachedPortal = portal;\n\n // TODO(jelbourn): Return locals from view.\n return viewRef;\n }\n\n /**\n * Attaches a DOM portal by transferring its content into the outlet.\n * @param portal Portal to be attached.\n * @deprecated To be turned into a method.\n * @breaking-change 10.0.0\n */\n override attachDomPortal = (portal: DomPortal) => {\n const element = portal.element;\n if (!element.parentNode && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('DOM portal content must be attached to a parent node.');\n }\n\n // Anchor used to save the element's previous position so\n // that we can restore it when the portal is detached.\n const anchorNode = this.outletElement.ownerDocument.createComment('dom-portal');\n\n element.parentNode!.insertBefore(anchorNode, element);\n this.outletElement.appendChild(element);\n this._attachedPortal = portal;\n\n super.setDisposeFn(() => {\n // We can't use `replaceWith` here because IE doesn't support it.\n if (anchorNode.parentNode) {\n anchorNode.parentNode.replaceChild(element, anchorNode);\n }\n });\n };\n\n /**\n * Clears out a portal from the DOM.\n */\n override dispose(): void {\n super.dispose();\n this.outletElement.remove();\n }\n\n /** Gets the root HTMLElement for an instantiated component. */\n private _getComponentRootNode(componentRef: ComponentRef<any>): HTMLElement {\n return (componentRef.hostView as EmbeddedViewRef<any>).rootNodes[0] as HTMLElement;\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 ComponentRef,\n Directive,\n EmbeddedViewRef,\n EventEmitter,\n NgModule,\n OnDestroy,\n OnInit,\n Output,\n TemplateRef,\n ViewContainerRef,\n Input,\n inject,\n NgModuleRef,\n DOCUMENT,\n} from '@angular/core';\n\nimport {BasePortalOutlet, ComponentPortal, Portal, TemplatePortal, DomPortal} from './portal';\n\n/**\n * Directive version of a `TemplatePortal`. Because the directive *is* a TemplatePortal,\n * the directive instance itself can be attached to a host, enabling declarative use of portals.\n */\n@Directive({\n selector: '[cdkPortal]',\n exportAs: 'cdkPortal',\n})\nexport class CdkPortal extends TemplatePortal {\n constructor(...args: unknown[]);\n\n constructor() {\n const templateRef = inject<TemplateRef<any>>(TemplateRef);\n const viewContainerRef = inject(ViewContainerRef);\n\n super(templateRef, viewContainerRef);\n }\n}\n\n/**\n * Possible attached references to the CdkPortalOutlet.\n */\nexport type CdkPortalOutletAttachedRef = ComponentRef<any> | EmbeddedViewRef<any> | null;\n\n/**\n * Directive version of a PortalOutlet. Because the directive *is* a PortalOutlet, portals can be\n * directly attached to it, enabling declarative use.\n *\n * Usage:\n * `<ng-template [cdkPortalOutlet]=\"greeting\"></ng-template>`\n */\n@Directive({\n selector: '[cdkPortalOutlet]',\n exportAs: 'cdkPortalOutlet',\n})\nexport class CdkPortalOutlet extends BasePortalOutlet implements OnInit, OnDestroy {\n private _moduleRef = inject(NgModuleRef, {optional: true});\n private _document = inject(DOCUMENT);\n private _viewContainerRef = inject(ViewContainerRef);\n\n /** Whether the portal component is initialized. */\n private _isInitialized = false;\n\n /** Reference to the currently-attached component/view ref. */\n private _attachedRef: CdkPortalOutletAttachedRef;\n\n constructor(...args: unknown[]);\n\n constructor() {\n super();\n }\n\n /** Portal associated with the Portal outlet. */\n @Input('cdkPortalOutlet')\n get portal(): Portal<any> | null {\n return this._attachedPortal;\n }\n\n set portal(portal: Portal<any> | null | undefined | '') {\n // Ignore the cases where the `portal` is set to a falsy value before the lifecycle hooks have\n // run. This handles the cases where the user might do something like `<div cdkPortalOutlet>`\n // and attach a portal programmatically in the parent component. When Angular does the first CD\n // round, it will fire the setter with empty string, causing the user's content to be cleared.\n if (this.hasAttached() && !portal && !this._isInitialized) {\n return;\n }\n\n if (this.hasAttached()) {\n super.detach();\n }\n\n if (portal) {\n super.attach(portal);\n }\n\n this._attachedPortal = portal || null;\n }\n\n /** Emits when a portal is attached to the outlet. */\n @Output() readonly attached: EventEmitter<CdkPortalOutletAttachedRef> =\n new EventEmitter<CdkPortalOutletAttachedRef>();\n\n /** Component or view reference that is attached to the portal. */\n get attachedRef(): CdkPortalOutletAttachedRef {\n return this._attachedRef;\n }\n\n ngOnInit() {\n this._isInitialized = true;\n }\n\n ngOnDestroy() {\n super.dispose();\n this._attachedRef = this._attachedPortal = null;\n }\n\n /**\n * Attach the given ComponentPortal to this PortalOutlet.\n *\n * @param portal Portal to be attached to the portal outlet.\n * @returns Reference to the created component.\n */\n attachComponentPortal<T>(portal: ComponentPortal<T>): ComponentRef<T> {\n portal.setAttachedHost(this);\n\n // If the portal specifies an origin, use that as the logical location of the component\n // in the application tree. Otherwise use the location of this PortalOutlet.\n const viewContainerRef =\n portal.viewContainerRef != null ? portal.viewContainerRef : this._viewContainerRef;\n\n const ref = viewContainerRef.createComponent(portal.component, {\n index: viewContainerRef.length,\n injector: portal.injector || viewContainerRef.injector,\n projectableNodes: portal.projectableNodes || undefined,\n ngModuleRef: this._moduleRef || undefined,\n });\n\n // If we're using a view container that's different from the injected one (e.g. when the portal\n // specifies its own) we need to move the component into the outlet, otherwise it'll be rendered\n // inside of the alternate view container.\n if (viewContainerRef !== this._viewContainerRef) {\n this._getRootNode().appendChild((ref.hostView as EmbeddedViewRef<any>).rootNodes[0]);\n }\n\n super.setDisposeFn(() => ref.destroy());\n this._attachedPortal = portal;\n this._attachedRef = ref;\n this.attached.emit(ref);\n\n return ref;\n }\n\n /**\n * Attach the given TemplatePortal to this PortalHost as an embedded View.\n * @param portal Portal to be attached.\n * @returns Reference to the created embedded view.\n */\n attachTemplatePortal<C>(portal: TemplatePortal<C>): EmbeddedViewRef<C> {\n portal.setAttachedHost(this);\n const viewRef = this._viewContainerRef.createEmbeddedView(portal.templateRef, portal.context, {\n injector: portal.injector,\n });\n super.setDisposeFn(() => this._viewContainerRef.clear());\n\n this._attachedPortal = portal;\n this._attachedRef = viewRef;\n this.attached.emit(viewRef);\n\n return viewRef;\n }\n\n /**\n * Attaches the given DomPortal to this PortalHost by moving all of the portal content into it.\n * @param portal Portal to be attached.\n * @deprecated To be turned into a method.\n * @breaking-change 10.0.0\n */\n override attachDomPortal = (portal: DomPortal) => {\n const element = portal.element;\n if (!element.parentNode && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('DOM portal content must be attached to a parent node.');\n }\n\n // Anchor used to save the element's previous position so\n // that we can restore it when the portal is detached.\n const anchorNode = this._document.createComment('dom-portal');\n\n portal.setAttachedHost(this);\n element.parentNode!.insertBefore(anchorNode, element);\n this._getRootNode().appendChild(element);\n this._attachedPortal = portal;\n\n super.setDisposeFn(() => {\n if (anchorNode.parentNode) {\n anchorNode.parentNode!.replaceChild(element, anchorNode);\n }\n });\n };\n\n /** Gets the root node of the portal outlet. */\n private _getRootNode(): HTMLElement {\n const nativeElement: Node = this._viewContainerRef.element.nativeElement;\n\n // The directive could be set on a template which will result in a comment\n // node being the root. Use the comment's parent node if that is the case.\n return (\n nativeElement.nodeType === nativeElement.ELEMENT_NODE\n ? nativeElement\n : nativeElement.parentNode!\n ) as HTMLElement;\n }\n}\n\n@NgModule({\n imports: [CdkPortal, CdkPortalOutlet],\n exports: [CdkPortal, CdkPortalOutlet],\n})\nexport class PortalModule {}\n"],"names":["throwNullPortalError","Error","throwPortalAlreadyAttachedError","throwPortalOutletAlreadyDisposedError","throwUnknownPortalTypeError","throwNullPortalOutletError","throwNoPortalAttachedError","Portal","_attachedHost","attach","host","ngDevMode","hasAttached","detach","isAttached","setAttachedHost","ComponentPortal","component","viewContainerRef","injector","projectableNodes","constructor","TemplatePortal","templateRef","context","origin","elementRef","undefined","DomPortal","element","ElementRef","nativeElement","BasePortalOutlet","_attachedPortal","_disposeFn","_isDisposed","portal","attachComponentPortal","attachTemplatePortal","attachDomPortal","_invokeDisposeFn","dispose","setDisposeFn","fn","DomPortalOutlet","outletElement","_appRef","_defaultInjector","componentRef","ngModuleRef","get","NgModuleRef","optional","createComponent","index","length","destroy","appRef","elementInjector","Injector","NULL","environmentInjector","EnvironmentInjector","attachView","hostView","viewCount","detachView","appendChild","_getComponentRootNode","viewContainer","viewRef","createEmbeddedView","rootNodes","forEach","rootNode","detectChanges","indexOf","remove","parentNode","anchorNode","ownerDocument","createComment","insertBefore","replaceChild","CdkPortal","inject","TemplateRef","ViewContainerRef","deps","target","i0","ɵɵFactoryTarget","Directive","isStandalone","selector","exportAs","usesInheritance","ngImport","decorators","args","CdkPortalOutlet","_moduleRef","_document","DOCUMENT","_viewContainerRef","_isInitialized","_attachedRef","attached","EventEmitter","attachedRef","ngOnInit","ngOnDestroy","ref","_getRootNode","emit","clear","nodeType","ELEMENT_NODE","inputs","outputs","Input","Output","PortalModule","NgModule","ɵmod","ɵɵngDeclareNgModule","minVersion","version","type","exports","imports"],"mappings":"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"}
1
+ {"version":3,"file":"portal.mjs","sources":["../../../../../darwin_arm64-fastbuild-ST-199a4f3c4e20/bin/src/cdk/portal/portal-errors.ts","../../../../../darwin_arm64-fastbuild-ST-199a4f3c4e20/bin/src/cdk/portal/portal.ts","../../../../../darwin_arm64-fastbuild-ST-199a4f3c4e20/bin/src/cdk/portal/dom-portal-outlet.ts","../../../../../darwin_arm64-fastbuild-ST-199a4f3c4e20/bin/src/cdk/portal/portal-directives.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\n/**\n * Throws an exception when attempting to attach a null portal to a host.\n * @docs-private\n */\nexport function throwNullPortalError() {\n throw Error('Must provide a portal to attach');\n}\n\n/**\n * Throws an exception when attempting to attach a portal to a host that is already attached.\n * @docs-private\n */\nexport function throwPortalAlreadyAttachedError() {\n throw Error('Host already has a portal attached');\n}\n\n/**\n * Throws an exception when attempting to attach a portal to an already-disposed host.\n * @docs-private\n */\nexport function throwPortalOutletAlreadyDisposedError() {\n throw Error('This PortalOutlet has already been disposed');\n}\n\n/**\n * Throws an exception when attempting to attach an unknown portal type.\n * @docs-private\n */\nexport function throwUnknownPortalTypeError() {\n throw Error(\n 'Attempting to attach an unknown Portal type. BasePortalOutlet accepts either ' +\n 'a ComponentPortal or a TemplatePortal.',\n );\n}\n\n/**\n * Throws an exception when attempting to attach a portal to a null host.\n * @docs-private\n */\nexport function throwNullPortalOutletError() {\n throw Error('Attempting to attach a portal to a null PortalOutlet');\n}\n\n/**\n * Throws an exception when attempting to detach a portal that is not attached.\n * @docs-private\n */\nexport function throwNoPortalAttachedError() {\n throw Error('Attempting to detach a portal that is not attached to a host');\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 TemplateRef,\n ViewContainerRef,\n ElementRef,\n ComponentRef,\n EmbeddedViewRef,\n Injector,\n} from '@angular/core';\nimport {\n throwNullPortalOutletError,\n throwPortalAlreadyAttachedError,\n throwNoPortalAttachedError,\n throwNullPortalError,\n throwPortalOutletAlreadyDisposedError,\n throwUnknownPortalTypeError,\n} from './portal-errors';\n\n/** Interface that can be used to generically type a class. */\nexport interface ComponentType<T> {\n new (...args: any[]): T;\n}\n\n/**\n * A `Portal` is something that you want to render somewhere else.\n * It can be attach to / detached from a `PortalOutlet`.\n */\nexport abstract class Portal<T> {\n private _attachedHost: PortalOutlet | null;\n\n /** Attach this portal to a host. */\n attach(host: PortalOutlet): T {\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n if (host == null) {\n throwNullPortalOutletError();\n }\n\n if (host.hasAttached()) {\n throwPortalAlreadyAttachedError();\n }\n }\n\n this._attachedHost = host;\n return <T>host.attach(this);\n }\n\n /** Detach this portal from its host */\n detach(): void {\n let host = this._attachedHost;\n\n if (host != null) {\n this._attachedHost = null;\n host.detach();\n } else if (typeof ngDevMode === 'undefined' || ngDevMode) {\n throwNoPortalAttachedError();\n }\n }\n\n /** Whether this portal is attached to a host. */\n get isAttached(): boolean {\n return this._attachedHost != null;\n }\n\n /**\n * Sets the PortalOutlet reference without performing `attach()`. This is used directly by\n * the PortalOutlet when it is performing an `attach()` or `detach()`.\n */\n setAttachedHost(host: PortalOutlet | null) {\n this._attachedHost = host;\n }\n}\n\n/**\n * A `ComponentPortal` is a portal that instantiates some Component upon attachment.\n */\nexport class ComponentPortal<T> extends Portal<ComponentRef<T>> {\n /** The type of the component that will be instantiated for attachment. */\n component: ComponentType<T>;\n\n /**\n * Where the attached component should live in Angular's *logical* component tree.\n * This is different from where the component *renders*, which is determined by the PortalOutlet.\n * The origin is necessary when the host is outside of the Angular application context.\n */\n viewContainerRef?: ViewContainerRef | null;\n\n /** Injector used for the instantiation of the component. */\n injector?: Injector | null;\n\n /**\n * List of DOM nodes that should be projected through `<ng-content>` of the attached component.\n */\n projectableNodes?: Node[][] | null;\n\n constructor(\n component: ComponentType<T>,\n viewContainerRef?: ViewContainerRef | null,\n injector?: Injector | null,\n projectableNodes?: Node[][] | null,\n ) {\n super();\n this.component = component;\n this.viewContainerRef = viewContainerRef;\n this.injector = injector;\n this.projectableNodes = projectableNodes;\n }\n}\n\n/**\n * A `TemplatePortal` is a portal that represents some embedded template (TemplateRef).\n */\nexport class TemplatePortal<C = any> extends Portal<EmbeddedViewRef<C>> {\n constructor(\n /** The embedded template that will be used to instantiate an embedded View in the host. */\n public templateRef: TemplateRef<C>,\n /** Reference to the ViewContainer into which the template will be stamped out. */\n public viewContainerRef: ViewContainerRef,\n /** Contextual data to be passed in to the embedded view. */\n public context?: C,\n /** The injector to use for the embedded view. */\n public injector?: Injector,\n ) {\n super();\n }\n\n get origin(): ElementRef {\n return this.templateRef.elementRef;\n }\n\n /**\n * Attach the portal to the provided `PortalOutlet`.\n * When a context is provided it will override the `context` property of the `TemplatePortal`\n * instance.\n */\n override attach(host: PortalOutlet, context: C | undefined = this.context): EmbeddedViewRef<C> {\n this.context = context;\n return super.attach(host);\n }\n\n override detach(): void {\n this.context = undefined;\n return super.detach();\n }\n}\n\n/**\n * A `DomPortal` is a portal whose DOM element will be taken from its current position\n * in the DOM and moved into a portal outlet, when it is attached. On detach, the content\n * will be restored to its original position.\n */\nexport class DomPortal<T = HTMLElement> extends Portal<T> {\n /** DOM node hosting the portal's content. */\n readonly element: T;\n\n constructor(element: T | ElementRef<T>) {\n super();\n this.element = element instanceof ElementRef ? element.nativeElement : element;\n }\n}\n\n/** A `PortalOutlet` is a space that can contain a single `Portal`. */\nexport interface PortalOutlet {\n /** Attaches a portal to this outlet. */\n attach(portal: Portal<any>): any;\n\n /** Detaches the currently attached portal from this outlet. */\n detach(): any;\n\n /** Performs cleanup before the outlet is destroyed. */\n dispose(): void;\n\n /** Whether there is currently a portal attached to this outlet. */\n hasAttached(): boolean;\n}\n\n/**\n * Partial implementation of PortalOutlet that handles attaching\n * ComponentPortal and TemplatePortal.\n */\nexport abstract class BasePortalOutlet implements PortalOutlet {\n /** The portal currently attached to the host. */\n protected _attachedPortal: Portal<any> | null;\n\n /** A function that will permanently dispose this host. */\n private _disposeFn: (() => void) | null;\n\n /** Whether this host has already been permanently disposed. */\n private _isDisposed: boolean = false;\n\n /** Whether this host has an attached portal. */\n hasAttached(): boolean {\n return !!this._attachedPortal;\n }\n\n attach<T>(portal: ComponentPortal<T>): ComponentRef<T>;\n attach<T>(portal: TemplatePortal<T>): EmbeddedViewRef<T>;\n attach(portal: any): any;\n\n /** Attaches a portal. */\n attach(portal: Portal<any>): any {\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n if (!portal) {\n throwNullPortalError();\n }\n\n if (this.hasAttached()) {\n throwPortalAlreadyAttachedError();\n }\n\n if (this._isDisposed) {\n throwPortalOutletAlreadyDisposedError();\n }\n }\n\n if (portal instanceof ComponentPortal) {\n this._attachedPortal = portal;\n return this.attachComponentPortal(portal);\n } else if (portal instanceof TemplatePortal) {\n this._attachedPortal = portal;\n return this.attachTemplatePortal(portal);\n // @breaking-change 10.0.0 remove null check for `this.attachDomPortal`.\n } else if (this.attachDomPortal && portal instanceof DomPortal) {\n this._attachedPortal = portal;\n return this.attachDomPortal(portal);\n }\n\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n throwUnknownPortalTypeError();\n }\n }\n\n abstract attachComponentPortal<T>(portal: ComponentPortal<T>): ComponentRef<T>;\n\n abstract attachTemplatePortal<C>(portal: TemplatePortal<C>): EmbeddedViewRef<C>;\n\n // @breaking-change 10.0.0 `attachDomPortal` to become a required abstract method.\n readonly attachDomPortal: null | ((portal: DomPortal) => any) = null;\n\n /** Detaches a previously attached portal. */\n detach(): void {\n if (this._attachedPortal) {\n this._attachedPortal.setAttachedHost(null);\n this._attachedPortal = null;\n }\n\n this._invokeDisposeFn();\n }\n\n /** Permanently dispose of this portal host. */\n dispose(): void {\n if (this.hasAttached()) {\n this.detach();\n }\n\n this._invokeDisposeFn();\n this._isDisposed = true;\n }\n\n /** @docs-private */\n setDisposeFn(fn: () => void) {\n this._disposeFn = fn;\n }\n\n private _invokeDisposeFn() {\n if (this._disposeFn) {\n this._disposeFn();\n this._disposeFn = null;\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 */\n\nimport {\n ApplicationRef,\n ComponentRef,\n EmbeddedViewRef,\n EnvironmentInjector,\n Injector,\n NgModuleRef,\n createComponent,\n} from '@angular/core';\nimport {BasePortalOutlet, ComponentPortal, DomPortal, TemplatePortal} from './portal';\n\n/**\n * A PortalOutlet for attaching portals to an arbitrary DOM element outside of the Angular\n * application context.\n */\nexport class DomPortalOutlet extends BasePortalOutlet {\n /**\n * @param outletElement Element into which the content is projected.\n * @param _appRef Reference to the application. Only used in component portals when there\n * is no `ViewContainerRef` available.\n * @param _defaultInjector Injector to use as a fallback when the portal being attached doesn't\n * have one. Only used for component portals.\n */\n constructor(\n /** Element into which the content is projected. */\n public outletElement: Element,\n private _appRef?: ApplicationRef,\n private _defaultInjector?: Injector,\n ) {\n super();\n }\n\n /**\n * Attach the given ComponentPortal to DOM element.\n * @param portal Portal to be attached\n * @returns Reference to the created component.\n */\n attachComponentPortal<T>(portal: ComponentPortal<T>): ComponentRef<T> {\n let componentRef: ComponentRef<T>;\n\n // If the portal specifies a ViewContainerRef, we will use that as the attachment point\n // for the component (in terms of Angular's component tree, not rendering).\n // When the ViewContainerRef is missing, we use the factory to create the component directly\n // and then manually attach the view to the application.\n if (portal.viewContainerRef) {\n const injector = portal.injector || portal.viewContainerRef.injector;\n const ngModuleRef = injector.get(NgModuleRef, null, {optional: true}) || undefined;\n\n componentRef = portal.viewContainerRef.createComponent(portal.component, {\n index: portal.viewContainerRef.length,\n injector,\n ngModuleRef,\n projectableNodes: portal.projectableNodes || undefined,\n });\n\n this.setDisposeFn(() => componentRef.destroy());\n } else {\n if ((typeof ngDevMode === 'undefined' || ngDevMode) && !this._appRef) {\n throw Error('Cannot attach component portal to outlet without an ApplicationRef.');\n }\n const appRef = this._appRef!;\n\n const elementInjector = portal.injector || this._defaultInjector || Injector.NULL;\n const environmentInjector = elementInjector.get(EnvironmentInjector, appRef.injector);\n componentRef = createComponent(portal.component, {\n elementInjector,\n environmentInjector,\n projectableNodes: portal.projectableNodes || undefined,\n });\n\n appRef.attachView(componentRef.hostView);\n this.setDisposeFn(() => {\n // Verify that the ApplicationRef has registered views before trying to detach a host view.\n // This check also protects the `detachView` from being called on a destroyed ApplicationRef.\n if (appRef.viewCount > 0) {\n appRef.detachView(componentRef.hostView);\n }\n componentRef.destroy();\n });\n }\n // At this point the component has been instantiated, so we move it to the location in the DOM\n // where we want it to be rendered.\n this.outletElement.appendChild(this._getComponentRootNode(componentRef));\n this._attachedPortal = portal;\n\n return componentRef;\n }\n\n /**\n * Attaches a template portal to the DOM as an embedded view.\n * @param portal Portal to be attached.\n * @returns Reference to the created embedded view.\n */\n attachTemplatePortal<C>(portal: TemplatePortal<C>): EmbeddedViewRef<C> {\n let viewContainer = portal.viewContainerRef;\n let viewRef = viewContainer.createEmbeddedView(portal.templateRef, portal.context, {\n injector: portal.injector,\n });\n\n // The method `createEmbeddedView` will add the view as a child of the viewContainer.\n // But for the DomPortalOutlet the view can be added everywhere in the DOM\n // (e.g Overlay Container) To move the view to the specified host element. We just\n // re-append the existing root nodes.\n viewRef.rootNodes.forEach(rootNode => this.outletElement.appendChild(rootNode));\n\n // Note that we want to detect changes after the nodes have been moved so that\n // any directives inside the portal that are looking at the DOM inside a lifecycle\n // hook won't be invoked too early.\n viewRef.detectChanges();\n\n this.setDisposeFn(() => {\n let index = viewContainer.indexOf(viewRef);\n if (index !== -1) {\n viewContainer.remove(index);\n }\n });\n\n this._attachedPortal = portal;\n\n // TODO(jelbourn): Return locals from view.\n return viewRef;\n }\n\n /**\n * Attaches a DOM portal by transferring its content into the outlet.\n * @param portal Portal to be attached.\n * @deprecated To be turned into a method.\n * @breaking-change 10.0.0\n */\n override attachDomPortal = (portal: DomPortal) => {\n const element = portal.element;\n if (!element.parentNode && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('DOM portal content must be attached to a parent node.');\n }\n\n // Anchor used to save the element's previous position so\n // that we can restore it when the portal is detached.\n const anchorNode = this.outletElement.ownerDocument.createComment('dom-portal');\n\n element.parentNode!.insertBefore(anchorNode, element);\n this.outletElement.appendChild(element);\n this._attachedPortal = portal;\n\n super.setDisposeFn(() => {\n // We can't use `replaceWith` here because IE doesn't support it.\n if (anchorNode.parentNode) {\n anchorNode.parentNode.replaceChild(element, anchorNode);\n }\n });\n };\n\n /**\n * Clears out a portal from the DOM.\n */\n override dispose(): void {\n super.dispose();\n this.outletElement.remove();\n }\n\n /** Gets the root HTMLElement for an instantiated component. */\n private _getComponentRootNode(componentRef: ComponentRef<any>): HTMLElement {\n return (componentRef.hostView as EmbeddedViewRef<any>).rootNodes[0] as HTMLElement;\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 ComponentRef,\n Directive,\n EmbeddedViewRef,\n EventEmitter,\n NgModule,\n OnDestroy,\n OnInit,\n Output,\n TemplateRef,\n ViewContainerRef,\n Input,\n inject,\n NgModuleRef,\n DOCUMENT,\n} from '@angular/core';\n\nimport {BasePortalOutlet, ComponentPortal, Portal, TemplatePortal, DomPortal} from './portal';\n\n/**\n * Directive version of a `TemplatePortal`. Because the directive *is* a TemplatePortal,\n * the directive instance itself can be attached to a host, enabling declarative use of portals.\n */\n@Directive({\n selector: '[cdkPortal]',\n exportAs: 'cdkPortal',\n})\nexport class CdkPortal extends TemplatePortal {\n constructor(...args: unknown[]);\n\n constructor() {\n const templateRef = inject<TemplateRef<any>>(TemplateRef);\n const viewContainerRef = inject(ViewContainerRef);\n\n super(templateRef, viewContainerRef);\n }\n}\n\n/**\n * Possible attached references to the CdkPortalOutlet.\n */\nexport type CdkPortalOutletAttachedRef = ComponentRef<any> | EmbeddedViewRef<any> | null;\n\n/**\n * Directive version of a PortalOutlet. Because the directive *is* a PortalOutlet, portals can be\n * directly attached to it, enabling declarative use.\n *\n * Usage:\n * `<ng-template [cdkPortalOutlet]=\"greeting\"></ng-template>`\n */\n@Directive({\n selector: '[cdkPortalOutlet]',\n exportAs: 'cdkPortalOutlet',\n})\nexport class CdkPortalOutlet extends BasePortalOutlet implements OnInit, OnDestroy {\n private _moduleRef = inject(NgModuleRef, {optional: true});\n private _document = inject(DOCUMENT);\n private _viewContainerRef = inject(ViewContainerRef);\n\n /** Whether the portal component is initialized. */\n private _isInitialized = false;\n\n /** Reference to the currently-attached component/view ref. */\n private _attachedRef: CdkPortalOutletAttachedRef;\n\n constructor(...args: unknown[]);\n\n constructor() {\n super();\n }\n\n /** Portal associated with the Portal outlet. */\n @Input('cdkPortalOutlet')\n get portal(): Portal<any> | null {\n return this._attachedPortal;\n }\n\n set portal(portal: Portal<any> | null | undefined | '') {\n // Ignore the cases where the `portal` is set to a falsy value before the lifecycle hooks have\n // run. This handles the cases where the user might do something like `<div cdkPortalOutlet>`\n // and attach a portal programmatically in the parent component. When Angular does the first CD\n // round, it will fire the setter with empty string, causing the user's content to be cleared.\n if (this.hasAttached() && !portal && !this._isInitialized) {\n return;\n }\n\n if (this.hasAttached()) {\n super.detach();\n }\n\n if (portal) {\n super.attach(portal);\n }\n\n this._attachedPortal = portal || null;\n }\n\n /** Emits when a portal is attached to the outlet. */\n @Output() readonly attached: EventEmitter<CdkPortalOutletAttachedRef> =\n new EventEmitter<CdkPortalOutletAttachedRef>();\n\n /** Component or view reference that is attached to the portal. */\n get attachedRef(): CdkPortalOutletAttachedRef {\n return this._attachedRef;\n }\n\n ngOnInit() {\n this._isInitialized = true;\n }\n\n ngOnDestroy() {\n super.dispose();\n this._attachedRef = this._attachedPortal = null;\n }\n\n /**\n * Attach the given ComponentPortal to this PortalOutlet.\n *\n * @param portal Portal to be attached to the portal outlet.\n * @returns Reference to the created component.\n */\n attachComponentPortal<T>(portal: ComponentPortal<T>): ComponentRef<T> {\n portal.setAttachedHost(this);\n\n // If the portal specifies an origin, use that as the logical location of the component\n // in the application tree. Otherwise use the location of this PortalOutlet.\n const viewContainerRef =\n portal.viewContainerRef != null ? portal.viewContainerRef : this._viewContainerRef;\n\n const ref = viewContainerRef.createComponent(portal.component, {\n index: viewContainerRef.length,\n injector: portal.injector || viewContainerRef.injector,\n projectableNodes: portal.projectableNodes || undefined,\n ngModuleRef: this._moduleRef || undefined,\n });\n\n // If we're using a view container that's different from the injected one (e.g. when the portal\n // specifies its own) we need to move the component into the outlet, otherwise it'll be rendered\n // inside of the alternate view container.\n if (viewContainerRef !== this._viewContainerRef) {\n this._getRootNode().appendChild((ref.hostView as EmbeddedViewRef<any>).rootNodes[0]);\n }\n\n super.setDisposeFn(() => ref.destroy());\n this._attachedPortal = portal;\n this._attachedRef = ref;\n this.attached.emit(ref);\n\n return ref;\n }\n\n /**\n * Attach the given TemplatePortal to this PortalHost as an embedded View.\n * @param portal Portal to be attached.\n * @returns Reference to the created embedded view.\n */\n attachTemplatePortal<C>(portal: TemplatePortal<C>): EmbeddedViewRef<C> {\n portal.setAttachedHost(this);\n const viewRef = this._viewContainerRef.createEmbeddedView(portal.templateRef, portal.context, {\n injector: portal.injector,\n });\n super.setDisposeFn(() => this._viewContainerRef.clear());\n\n this._attachedPortal = portal;\n this._attachedRef = viewRef;\n this.attached.emit(viewRef);\n\n return viewRef;\n }\n\n /**\n * Attaches the given DomPortal to this PortalHost by moving all of the portal content into it.\n * @param portal Portal to be attached.\n * @deprecated To be turned into a method.\n * @breaking-change 10.0.0\n */\n override attachDomPortal = (portal: DomPortal) => {\n const element = portal.element;\n if (!element.parentNode && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('DOM portal content must be attached to a parent node.');\n }\n\n // Anchor used to save the element's previous position so\n // that we can restore it when the portal is detached.\n const anchorNode = this._document.createComment('dom-portal');\n\n portal.setAttachedHost(this);\n element.parentNode!.insertBefore(anchorNode, element);\n this._getRootNode().appendChild(element);\n this._attachedPortal = portal;\n\n super.setDisposeFn(() => {\n if (anchorNode.parentNode) {\n anchorNode.parentNode!.replaceChild(element, anchorNode);\n }\n });\n };\n\n /** Gets the root node of the portal outlet. */\n private _getRootNode(): HTMLElement {\n const nativeElement: Node = this._viewContainerRef.element.nativeElement;\n\n // The directive could be set on a template which will result in a comment\n // node being the root. Use the comment's parent node if that is the case.\n return (\n nativeElement.nodeType === nativeElement.ELEMENT_NODE\n ? nativeElement\n : nativeElement.parentNode!\n ) as HTMLElement;\n }\n}\n\n@NgModule({\n imports: [CdkPortal, CdkPortalOutlet],\n exports: [CdkPortal, CdkPortalOutlet],\n})\nexport class PortalModule {}\n"],"names":["throwNullPortalError","Error","throwPortalAlreadyAttachedError","throwPortalOutletAlreadyDisposedError","throwUnknownPortalTypeError","throwNullPortalOutletError","throwNoPortalAttachedError","Portal","_attachedHost","attach","host","ngDevMode","hasAttached","detach","isAttached","setAttachedHost","ComponentPortal","component","viewContainerRef","injector","projectableNodes","constructor","TemplatePortal","templateRef","context","origin","elementRef","undefined","DomPortal","element","ElementRef","nativeElement","BasePortalOutlet","_attachedPortal","_disposeFn","_isDisposed","portal","attachComponentPortal","attachTemplatePortal","attachDomPortal","_invokeDisposeFn","dispose","setDisposeFn","fn","DomPortalOutlet","outletElement","_appRef","_defaultInjector","componentRef","ngModuleRef","get","NgModuleRef","optional","createComponent","index","length","destroy","appRef","elementInjector","Injector","NULL","environmentInjector","EnvironmentInjector","attachView","hostView","viewCount","detachView","appendChild","_getComponentRootNode","viewContainer","viewRef","createEmbeddedView","rootNodes","forEach","rootNode","detectChanges","indexOf","remove","parentNode","anchorNode","ownerDocument","createComment","insertBefore","replaceChild","CdkPortal","inject","TemplateRef","ViewContainerRef","deps","target","i0","ɵɵFactoryTarget","Directive","isStandalone","selector","exportAs","usesInheritance","ngImport","decorators","args","CdkPortalOutlet","_moduleRef","_document","DOCUMENT","_viewContainerRef","_isInitialized","_attachedRef","attached","EventEmitter","attachedRef","ngOnInit","ngOnDestroy","ref","_getRootNode","emit","clear","nodeType","ELEMENT_NODE","inputs","outputs","Input","Output","PortalModule","NgModule","ɵmod","ɵɵngDeclareNgModule","minVersion","version","type","exports","imports"],"mappings":"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"}
@@ -1,47 +1,25 @@
1
1
  export { _CdkPrivateStyleLoader } from './_style-loader-chunk.mjs';
2
- import * as i0 from '@angular/core';
3
- import { Component, ViewEncapsulation, ChangeDetectionStrategy } from '@angular/core';
2
+ export { _VisuallyHiddenLoader } from './_visually-hidden-chunk.mjs';
3
+ import '@angular/core';
4
4
 
5
- class _VisuallyHiddenLoader {
6
- static ɵfac = i0.ɵɵngDeclareFactory({
7
- minVersion: "12.0.0",
8
- version: "20.2.0-next.2",
9
- ngImport: i0,
10
- type: _VisuallyHiddenLoader,
11
- deps: [],
12
- target: i0.ɵɵFactoryTarget.Component
13
- });
14
- static ɵcmp = i0.ɵɵngDeclareComponent({
15
- minVersion: "14.0.0",
16
- version: "20.2.0-next.2",
17
- type: _VisuallyHiddenLoader,
18
- isStandalone: true,
19
- selector: "ng-component",
20
- exportAs: ["cdkVisuallyHidden"],
21
- ngImport: i0,
22
- template: '',
23
- isInline: true,
24
- styles: [".cdk-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap;outline:0;-webkit-appearance:none;-moz-appearance:none;left:0}[dir=rtl] .cdk-visually-hidden{left:auto;right:0}\n"],
25
- changeDetection: i0.ChangeDetectionStrategy.OnPush,
26
- encapsulation: i0.ViewEncapsulation.None
27
- });
5
+ let policy;
6
+ function getPolicy() {
7
+ if (policy === undefined) {
8
+ policy = null;
9
+ if (typeof window !== 'undefined') {
10
+ const ttWindow = window;
11
+ if (ttWindow.trustedTypes !== undefined) {
12
+ policy = ttWindow.trustedTypes.createPolicy('angular#components', {
13
+ createHTML: s => s
14
+ });
15
+ }
16
+ }
17
+ }
18
+ return policy;
19
+ }
20
+ function trustedHTMLFromString(html) {
21
+ return getPolicy()?.createHTML(html) || html;
28
22
  }
29
- i0.ɵɵngDeclareClassMetadata({
30
- minVersion: "12.0.0",
31
- version: "20.2.0-next.2",
32
- ngImport: i0,
33
- type: _VisuallyHiddenLoader,
34
- decorators: [{
35
- type: Component,
36
- args: [{
37
- exportAs: 'cdkVisuallyHidden',
38
- encapsulation: ViewEncapsulation.None,
39
- template: '',
40
- changeDetection: ChangeDetectionStrategy.OnPush,
41
- styles: [".cdk-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap;outline:0;-webkit-appearance:none;-moz-appearance:none;left:0}[dir=rtl] .cdk-visually-hidden{left:auto;right:0}\n"]
42
- }]
43
- }]
44
- });
45
23
 
46
- export { _VisuallyHiddenLoader };
24
+ export { trustedHTMLFromString };
47
25
  //# sourceMappingURL=private.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"private.mjs","sources":["../../../../../darwin_arm64-fastbuild-ST-199a4f3c4e20/bin/src/cdk/private/visually-hidden/visually-hidden.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 {ChangeDetectionStrategy, Component, ViewEncapsulation} from '@angular/core';\n\n/**\n * Component used to load the .cdk-visually-hidden styles.\n * @docs-private\n */\n@Component({\n styleUrl: 'visually-hidden.css',\n exportAs: 'cdkVisuallyHidden',\n encapsulation: ViewEncapsulation.None,\n template: '',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class _VisuallyHiddenLoader {}\n"],"names":["_VisuallyHiddenLoader","deps","target","i0","ɵɵFactoryTarget","Component","ɵcmp","ɵɵngDeclareComponent","minVersion","version","type","isInline","styles","changeDetection","ChangeDetectionStrategy","OnPush","encapsulation","ViewEncapsulation","None","decorators"],"mappings":";;;;MAqBaA,qBAAqB,CAAA;;;;;UAArBA,qBAAqB;AAAAC,IAAAA,IAAA,EAAA,EAAA;AAAAC,IAAAA,MAAA,EAAAC,EAAA,CAAAC,eAAA,CAAAC;AAAA,GAAA,CAAA;AAArB,EAAA,OAAAC,IAAA,GAAAH,EAAA,CAAAI,oBAAA,CAAA;AAAAC,IAAAA,UAAA,EAAA,QAAA;AAAAC,IAAAA,OAAA,EAAA,eAAA;AAAAC,IAAAA,IAAA,EAAAV,qBAAqB;;;;;cAHtB,EAAE;AAAAW,IAAAA,QAAA,EAAA,IAAA;IAAAC,MAAA,EAAA,CAAA,oQAAA,CAAA;AAAAC,IAAAA,eAAA,EAAAV,EAAA,CAAAW,uBAAA,CAAAC,MAAA;AAAAC,IAAAA,aAAA,EAAAb,EAAA,CAAAc,iBAAA,CAAAC;AAAA,GAAA,CAAA;;;;;;QAGDlB,qBAAqB;AAAAmB,EAAAA,UAAA,EAAA,CAAA;UAPjCd,SAAS;;gBAEE,mBAAmB;MAAAW,aAAA,EACdC,iBAAiB,CAACC,IAAI;gBAC3B,EAAE;MAAAL,eAAA,EACKC,uBAAuB,CAACC,MAAM;MAAAH,MAAA,EAAA,CAAA,oQAAA;KAAA;;;;;;"}
1
+ {"version":3,"file":"private.mjs","sources":["../../../../../darwin_arm64-fastbuild-ST-199a4f3c4e20/bin/src/cdk/private/trusted-types.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\n// A module to facilitate use of a Trusted Types policy internally within\n// Angular Material. It lazily constructs the Trusted Types policy, providing\n// helper utilities for promoting strings to Trusted Types. When Trusted Types\n// are not available, strings are used as a fallback.\n// All use of this module is security-sensitive and should go through security review.\n\nexport interface TrustedHTML {\n __brand__: 'TrustedHTML';\n}\n\ninterface TrustedTypePolicyFactory {\n createPolicy(\n policyName: string,\n policyOptions: {\n createHTML?: (input: string) => string;\n },\n ): TrustedTypePolicy;\n}\n\ninterface TrustedTypePolicy {\n createHTML(input: string): TrustedHTML;\n}\n\n/**\n * The Trusted Types policy, or null if Trusted Types are not\n * enabled/supported, or undefined if the policy has not been created yet.\n */\nlet policy: TrustedTypePolicy | null | undefined;\n\n/**\n * Returns the Trusted Types policy, or null if Trusted Types are not\n * enabled/supported. The first call to this function will create the policy.\n */\nfunction getPolicy(): TrustedTypePolicy | null {\n if (policy === undefined) {\n policy = null;\n if (typeof window !== 'undefined') {\n const ttWindow = window as unknown as {trustedTypes?: TrustedTypePolicyFactory};\n if (ttWindow.trustedTypes !== undefined) {\n policy = ttWindow.trustedTypes.createPolicy('angular#components', {\n createHTML: (s: string) => s,\n });\n }\n }\n }\n return policy;\n}\n\n/**\n * Unsafely promote a string to a TrustedHTML, falling back to strings when\n * Trusted Types are not available.\n *\n * Important!!! This is a security-sensitive function; any use of this function\n * must go through security review. In particular, it must be assured that the\n * provided string will never cause an XSS vulnerability if used in a context\n * that will be interpreted as HTML by a browser, e.g. when assigning to\n * element.innerHTML.\n */\nexport function trustedHTMLFromString(html: string): TrustedHTML {\n return getPolicy()?.createHTML(html) || (html as unknown as TrustedHTML);\n}\n"],"names":["policy","getPolicy","undefined","window","ttWindow","trustedTypes","createPolicy","createHTML","s","trustedHTMLFromString","html"],"mappings":";;;;AAmCA,IAAIA,MAA4C;AAMhD,SAASC,SAASA,GAAA;EAChB,IAAID,MAAM,KAAKE,SAAS,EAAE;AACxBF,IAAAA,MAAM,GAAG,IAAI;AACb,IAAA,IAAI,OAAOG,MAAM,KAAK,WAAW,EAAE;MACjC,MAAMC,QAAQ,GAAGD,MAA8D;AAC/E,MAAA,IAAIC,QAAQ,CAACC,YAAY,KAAKH,SAAS,EAAE;QACvCF,MAAM,GAAGI,QAAQ,CAACC,YAAY,CAACC,YAAY,CAAC,oBAAoB,EAAE;UAChEC,UAAU,EAAGC,CAAS,IAAKA;AAC5B,SAAA,CAAC;AACJ;AACF;AACF;AACA,EAAA,OAAOR,MAAM;AACf;AAYM,SAAUS,qBAAqBA,CAACC,IAAY,EAAA;EAChD,OAAOT,SAAS,EAAE,EAAEM,UAAU,CAACG,IAAI,CAAC,IAAKA,IAA+B;AAC1E;;;;"}
@@ -139,7 +139,7 @@ class CdkFixedSizeVirtualScroll {
139
139
  }
140
140
  static ɵfac = i0.ɵɵngDeclareFactory({
141
141
  minVersion: "12.0.0",
142
- version: "20.2.0-next.2",
142
+ version: "21.0.0",
143
143
  ngImport: i0,
144
144
  type: CdkFixedSizeVirtualScroll,
145
145
  deps: [],
@@ -147,7 +147,7 @@ class CdkFixedSizeVirtualScroll {
147
147
  });
148
148
  static ɵdir = i0.ɵɵngDeclareDirective({
149
149
  minVersion: "14.0.0",
150
- version: "20.2.0-next.2",
150
+ version: "21.0.0",
151
151
  type: CdkFixedSizeVirtualScroll,
152
152
  isStandalone: true,
153
153
  selector: "cdk-virtual-scroll-viewport[itemSize]",
@@ -167,7 +167,7 @@ class CdkFixedSizeVirtualScroll {
167
167
  }
168
168
  i0.ɵɵngDeclareClassMetadata({
169
169
  minVersion: "12.0.0",
170
- version: "20.2.0-next.2",
170
+ version: "21.0.0",
171
171
  ngImport: i0,
172
172
  type: CdkFixedSizeVirtualScroll,
173
173
  decorators: [{
@@ -267,7 +267,7 @@ class ScrollDispatcher {
267
267
  }
268
268
  static ɵfac = i0.ɵɵngDeclareFactory({
269
269
  minVersion: "12.0.0",
270
- version: "20.2.0-next.2",
270
+ version: "21.0.0",
271
271
  ngImport: i0,
272
272
  type: ScrollDispatcher,
273
273
  deps: [],
@@ -275,7 +275,7 @@ class ScrollDispatcher {
275
275
  });
276
276
  static ɵprov = i0.ɵɵngDeclareInjectable({
277
277
  minVersion: "12.0.0",
278
- version: "20.2.0-next.2",
278
+ version: "21.0.0",
279
279
  ngImport: i0,
280
280
  type: ScrollDispatcher,
281
281
  providedIn: 'root'
@@ -283,7 +283,7 @@ class ScrollDispatcher {
283
283
  }
284
284
  i0.ɵɵngDeclareClassMetadata({
285
285
  minVersion: "12.0.0",
286
- version: "20.2.0-next.2",
286
+ version: "21.0.0",
287
287
  ngImport: i0,
288
288
  type: ScrollDispatcher,
289
289
  decorators: [{
@@ -404,7 +404,7 @@ class CdkScrollable {
404
404
  }
405
405
  static ɵfac = i0.ɵɵngDeclareFactory({
406
406
  minVersion: "12.0.0",
407
- version: "20.2.0-next.2",
407
+ version: "21.0.0",
408
408
  ngImport: i0,
409
409
  type: CdkScrollable,
410
410
  deps: [],
@@ -412,7 +412,7 @@ class CdkScrollable {
412
412
  });
413
413
  static ɵdir = i0.ɵɵngDeclareDirective({
414
414
  minVersion: "14.0.0",
415
- version: "20.2.0-next.2",
415
+ version: "21.0.0",
416
416
  type: CdkScrollable,
417
417
  isStandalone: true,
418
418
  selector: "[cdk-scrollable], [cdkScrollable]",
@@ -421,7 +421,7 @@ class CdkScrollable {
421
421
  }
422
422
  i0.ɵɵngDeclareClassMetadata({
423
423
  minVersion: "12.0.0",
424
- version: "20.2.0-next.2",
424
+ version: "21.0.0",
425
425
  ngImport: i0,
426
426
  type: CdkScrollable,
427
427
  decorators: [{
@@ -519,7 +519,7 @@ class ViewportRuler {
519
519
  }
520
520
  static ɵfac = i0.ɵɵngDeclareFactory({
521
521
  minVersion: "12.0.0",
522
- version: "20.2.0-next.2",
522
+ version: "21.0.0",
523
523
  ngImport: i0,
524
524
  type: ViewportRuler,
525
525
  deps: [],
@@ -527,7 +527,7 @@ class ViewportRuler {
527
527
  });
528
528
  static ɵprov = i0.ɵɵngDeclareInjectable({
529
529
  minVersion: "12.0.0",
530
- version: "20.2.0-next.2",
530
+ version: "21.0.0",
531
531
  ngImport: i0,
532
532
  type: ViewportRuler,
533
533
  providedIn: 'root'
@@ -535,7 +535,7 @@ class ViewportRuler {
535
535
  }
536
536
  i0.ɵɵngDeclareClassMetadata({
537
537
  minVersion: "12.0.0",
538
- version: "20.2.0-next.2",
538
+ version: "21.0.0",
539
539
  ngImport: i0,
540
540
  type: ViewportRuler,
541
541
  decorators: [{
@@ -558,7 +558,7 @@ class CdkVirtualScrollable extends CdkScrollable {
558
558
  }
559
559
  static ɵfac = i0.ɵɵngDeclareFactory({
560
560
  minVersion: "12.0.0",
561
- version: "20.2.0-next.2",
561
+ version: "21.0.0",
562
562
  ngImport: i0,
563
563
  type: CdkVirtualScrollable,
564
564
  deps: [],
@@ -566,7 +566,7 @@ class CdkVirtualScrollable extends CdkScrollable {
566
566
  });
567
567
  static ɵdir = i0.ɵɵngDeclareDirective({
568
568
  minVersion: "14.0.0",
569
- version: "20.2.0-next.2",
569
+ version: "21.0.0",
570
570
  type: CdkVirtualScrollable,
571
571
  isStandalone: true,
572
572
  usesInheritance: true,
@@ -575,7 +575,7 @@ class CdkVirtualScrollable extends CdkScrollable {
575
575
  }
576
576
  i0.ɵɵngDeclareClassMetadata({
577
577
  minVersion: "12.0.0",
578
- version: "20.2.0-next.2",
578
+ version: "21.0.0",
579
579
  ngImport: i0,
580
580
  type: CdkVirtualScrollable,
581
581
  decorators: [{
@@ -863,7 +863,7 @@ class CdkVirtualScrollViewport extends CdkVirtualScrollable {
863
863
  }
864
864
  static ɵfac = i0.ɵɵngDeclareFactory({
865
865
  minVersion: "12.0.0",
866
- version: "20.2.0-next.2",
866
+ version: "21.0.0",
867
867
  ngImport: i0,
868
868
  type: CdkVirtualScrollViewport,
869
869
  deps: [],
@@ -871,7 +871,7 @@ class CdkVirtualScrollViewport extends CdkVirtualScrollable {
871
871
  });
872
872
  static ɵcmp = i0.ɵɵngDeclareComponent({
873
873
  minVersion: "16.1.0",
874
- version: "20.2.0-next.2",
874
+ version: "21.0.0",
875
875
  type: CdkVirtualScrollViewport,
876
876
  isStandalone: true,
877
877
  selector: "cdk-virtual-scroll-viewport",
@@ -912,7 +912,7 @@ class CdkVirtualScrollViewport extends CdkVirtualScrollable {
912
912
  }
913
913
  i0.ɵɵngDeclareClassMetadata({
914
914
  minVersion: "12.0.0",
915
- version: "20.2.0-next.2",
915
+ version: "21.0.0",
916
916
  ngImport: i0,
917
917
  type: CdkVirtualScrollViewport,
918
918
  decorators: [{
@@ -1153,7 +1153,7 @@ class CdkVirtualForOf {
1153
1153
  }
1154
1154
  static ɵfac = i0.ɵɵngDeclareFactory({
1155
1155
  minVersion: "12.0.0",
1156
- version: "20.2.0-next.2",
1156
+ version: "21.0.0",
1157
1157
  ngImport: i0,
1158
1158
  type: CdkVirtualForOf,
1159
1159
  deps: [],
@@ -1161,7 +1161,7 @@ class CdkVirtualForOf {
1161
1161
  });
1162
1162
  static ɵdir = i0.ɵɵngDeclareDirective({
1163
1163
  minVersion: "14.0.0",
1164
- version: "20.2.0-next.2",
1164
+ version: "21.0.0",
1165
1165
  type: CdkVirtualForOf,
1166
1166
  isStandalone: true,
1167
1167
  selector: "[cdkVirtualFor][cdkVirtualForOf]",
@@ -1180,7 +1180,7 @@ class CdkVirtualForOf {
1180
1180
  }
1181
1181
  i0.ɵɵngDeclareClassMetadata({
1182
1182
  minVersion: "12.0.0",
1183
- version: "20.2.0-next.2",
1183
+ version: "21.0.0",
1184
1184
  ngImport: i0,
1185
1185
  type: CdkVirtualForOf,
1186
1186
  decorators: [{
@@ -1219,7 +1219,7 @@ class CdkVirtualScrollableElement extends CdkVirtualScrollable {
1219
1219
  }
1220
1220
  static ɵfac = i0.ɵɵngDeclareFactory({
1221
1221
  minVersion: "12.0.0",
1222
- version: "20.2.0-next.2",
1222
+ version: "21.0.0",
1223
1223
  ngImport: i0,
1224
1224
  type: CdkVirtualScrollableElement,
1225
1225
  deps: [],
@@ -1227,7 +1227,7 @@ class CdkVirtualScrollableElement extends CdkVirtualScrollable {
1227
1227
  });
1228
1228
  static ɵdir = i0.ɵɵngDeclareDirective({
1229
1229
  minVersion: "14.0.0",
1230
- version: "20.2.0-next.2",
1230
+ version: "21.0.0",
1231
1231
  type: CdkVirtualScrollableElement,
1232
1232
  isStandalone: true,
1233
1233
  selector: "[cdkVirtualScrollingElement]",
@@ -1244,7 +1244,7 @@ class CdkVirtualScrollableElement extends CdkVirtualScrollable {
1244
1244
  }
1245
1245
  i0.ɵɵngDeclareClassMetadata({
1246
1246
  minVersion: "12.0.0",
1247
- version: "20.2.0-next.2",
1247
+ version: "21.0.0",
1248
1248
  ngImport: i0,
1249
1249
  type: CdkVirtualScrollableElement,
1250
1250
  decorators: [{
@@ -1275,7 +1275,7 @@ class CdkVirtualScrollableWindow extends CdkVirtualScrollable {
1275
1275
  }
1276
1276
  static ɵfac = i0.ɵɵngDeclareFactory({
1277
1277
  minVersion: "12.0.0",
1278
- version: "20.2.0-next.2",
1278
+ version: "21.0.0",
1279
1279
  ngImport: i0,
1280
1280
  type: CdkVirtualScrollableWindow,
1281
1281
  deps: [],
@@ -1283,7 +1283,7 @@ class CdkVirtualScrollableWindow extends CdkVirtualScrollable {
1283
1283
  });
1284
1284
  static ɵdir = i0.ɵɵngDeclareDirective({
1285
1285
  minVersion: "14.0.0",
1286
- version: "20.2.0-next.2",
1286
+ version: "21.0.0",
1287
1287
  type: CdkVirtualScrollableWindow,
1288
1288
  isStandalone: true,
1289
1289
  selector: "cdk-virtual-scroll-viewport[scrollWindow]",
@@ -1297,7 +1297,7 @@ class CdkVirtualScrollableWindow extends CdkVirtualScrollable {
1297
1297
  }
1298
1298
  i0.ɵɵngDeclareClassMetadata({
1299
1299
  minVersion: "12.0.0",
1300
- version: "20.2.0-next.2",
1300
+ version: "21.0.0",
1301
1301
  ngImport: i0,
1302
1302
  type: CdkVirtualScrollableWindow,
1303
1303
  decorators: [{
@@ -1316,7 +1316,7 @@ i0.ɵɵngDeclareClassMetadata({
1316
1316
  class CdkScrollableModule {
1317
1317
  static ɵfac = i0.ɵɵngDeclareFactory({
1318
1318
  minVersion: "12.0.0",
1319
- version: "20.2.0-next.2",
1319
+ version: "21.0.0",
1320
1320
  ngImport: i0,
1321
1321
  type: CdkScrollableModule,
1322
1322
  deps: [],
@@ -1324,7 +1324,7 @@ class CdkScrollableModule {
1324
1324
  });
1325
1325
  static ɵmod = i0.ɵɵngDeclareNgModule({
1326
1326
  minVersion: "14.0.0",
1327
- version: "20.2.0-next.2",
1327
+ version: "21.0.0",
1328
1328
  ngImport: i0,
1329
1329
  type: CdkScrollableModule,
1330
1330
  imports: [CdkScrollable],
@@ -1332,14 +1332,14 @@ class CdkScrollableModule {
1332
1332
  });
1333
1333
  static ɵinj = i0.ɵɵngDeclareInjector({
1334
1334
  minVersion: "12.0.0",
1335
- version: "20.2.0-next.2",
1335
+ version: "21.0.0",
1336
1336
  ngImport: i0,
1337
1337
  type: CdkScrollableModule
1338
1338
  });
1339
1339
  }
1340
1340
  i0.ɵɵngDeclareClassMetadata({
1341
1341
  minVersion: "12.0.0",
1342
- version: "20.2.0-next.2",
1342
+ version: "21.0.0",
1343
1343
  ngImport: i0,
1344
1344
  type: CdkScrollableModule,
1345
1345
  decorators: [{
@@ -1353,7 +1353,7 @@ i0.ɵɵngDeclareClassMetadata({
1353
1353
  class ScrollingModule {
1354
1354
  static ɵfac = i0.ɵɵngDeclareFactory({
1355
1355
  minVersion: "12.0.0",
1356
- version: "20.2.0-next.2",
1356
+ version: "21.0.0",
1357
1357
  ngImport: i0,
1358
1358
  type: ScrollingModule,
1359
1359
  deps: [],
@@ -1361,7 +1361,7 @@ class ScrollingModule {
1361
1361
  });
1362
1362
  static ɵmod = i0.ɵɵngDeclareNgModule({
1363
1363
  minVersion: "14.0.0",
1364
- version: "20.2.0-next.2",
1364
+ version: "21.0.0",
1365
1365
  ngImport: i0,
1366
1366
  type: ScrollingModule,
1367
1367
  imports: [BidiModule, CdkScrollableModule, CdkVirtualScrollViewport, CdkFixedSizeVirtualScroll, CdkVirtualForOf, CdkVirtualScrollableWindow, CdkVirtualScrollableElement],
@@ -1369,7 +1369,7 @@ class ScrollingModule {
1369
1369
  });
1370
1370
  static ɵinj = i0.ɵɵngDeclareInjector({
1371
1371
  minVersion: "12.0.0",
1372
- version: "20.2.0-next.2",
1372
+ version: "21.0.0",
1373
1373
  ngImport: i0,
1374
1374
  type: ScrollingModule,
1375
1375
  imports: [BidiModule, CdkScrollableModule, BidiModule, CdkScrollableModule]
@@ -1377,7 +1377,7 @@ class ScrollingModule {
1377
1377
  }
1378
1378
  i0.ɵɵngDeclareClassMetadata({
1379
1379
  minVersion: "12.0.0",
1380
- version: "20.2.0-next.2",
1380
+ version: "21.0.0",
1381
1381
  ngImport: i0,
1382
1382
  type: ScrollingModule,
1383
1383
  decorators: [{