@angular/cdk 22.2.0-next.4 → 22.2.0-next.5

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 (90) hide show
  1. package/fesm2022/_a11y-module-chunk.mjs +22 -22
  2. package/fesm2022/_a11y-module-chunk.mjs.map +1 -1
  3. package/fesm2022/_activedescendant-key-manager-chunk.mjs.map +1 -1
  4. package/fesm2022/_array-chunk.mjs.map +1 -1
  5. package/fesm2022/_breakpoints-observer-chunk.mjs +6 -6
  6. package/fesm2022/_breakpoints-observer-chunk.mjs.map +1 -1
  7. package/fesm2022/_css-pixel-value-chunk.mjs.map +1 -1
  8. package/fesm2022/_data-source-chunk.mjs.map +1 -1
  9. package/fesm2022/_directionality-chunk.mjs +3 -3
  10. package/fesm2022/_directionality-chunk.mjs.map +1 -1
  11. package/fesm2022/_dispose-view-repeater-strategy-chunk.mjs.map +1 -1
  12. package/fesm2022/_element-chunk.mjs.map +1 -1
  13. package/fesm2022/_fake-event-detection-chunk.mjs.map +1 -1
  14. package/fesm2022/_focus-key-manager-chunk.mjs.map +1 -1
  15. package/fesm2022/_focus-monitor-chunk.mjs +9 -9
  16. package/fesm2022/_focus-monitor-chunk.mjs.map +1 -1
  17. package/fesm2022/_id-generator-chunk.mjs +3 -3
  18. package/fesm2022/_id-generator-chunk.mjs.map +1 -1
  19. package/fesm2022/_keycodes-chunk.mjs.map +1 -1
  20. package/fesm2022/_list-key-manager-chunk.mjs.map +1 -1
  21. package/fesm2022/_overlay-module-chunk.mjs +42 -35
  22. package/fesm2022/_overlay-module-chunk.mjs.map +1 -1
  23. package/fesm2022/_passive-listeners-chunk.mjs.map +1 -1
  24. package/fesm2022/_platform-chunk.mjs +3 -3
  25. package/fesm2022/_platform-chunk.mjs.map +1 -1
  26. package/fesm2022/_recycle-view-repeater-strategy-chunk.mjs.map +1 -1
  27. package/fesm2022/_scrolling-chunk.mjs.map +1 -1
  28. package/fesm2022/_selection-model-chunk.mjs.map +1 -1
  29. package/fesm2022/_shadow-dom-chunk.mjs.map +1 -1
  30. package/fesm2022/_style-loader-chunk.mjs +3 -3
  31. package/fesm2022/_style-loader-chunk.mjs.map +1 -1
  32. package/fesm2022/_test-environment-chunk.mjs.map +1 -1
  33. package/fesm2022/_tree-key-manager-chunk.mjs.map +1 -1
  34. package/fesm2022/_typeahead-chunk.mjs.map +1 -1
  35. package/fesm2022/_unique-selection-dispatcher-chunk.mjs +3 -3
  36. package/fesm2022/_unique-selection-dispatcher-chunk.mjs.map +1 -1
  37. package/fesm2022/a11y.mjs +9 -9
  38. package/fesm2022/a11y.mjs.map +1 -1
  39. package/fesm2022/accordion.mjs +10 -10
  40. package/fesm2022/accordion.mjs.map +1 -1
  41. package/fesm2022/bidi.mjs +7 -7
  42. package/fesm2022/bidi.mjs.map +1 -1
  43. package/fesm2022/cdk.mjs +1 -1
  44. package/fesm2022/cdk.mjs.map +1 -1
  45. package/fesm2022/clipboard.mjs +10 -10
  46. package/fesm2022/clipboard.mjs.map +1 -1
  47. package/fesm2022/coercion-private.mjs.map +1 -1
  48. package/fesm2022/coercion.mjs.map +1 -1
  49. package/fesm2022/dialog.mjs +10 -10
  50. package/fesm2022/dialog.mjs.map +1 -1
  51. package/fesm2022/drag-drop.mjs +31 -31
  52. package/fesm2022/drag-drop.mjs.map +1 -1
  53. package/fesm2022/keycodes.mjs.map +1 -1
  54. package/fesm2022/layout.mjs +4 -4
  55. package/fesm2022/layout.mjs.map +1 -1
  56. package/fesm2022/listbox.mjs +10 -10
  57. package/fesm2022/listbox.mjs.map +1 -1
  58. package/fesm2022/menu.mjs +49 -49
  59. package/fesm2022/menu.mjs.map +1 -1
  60. package/fesm2022/observers-private.mjs +3 -3
  61. package/fesm2022/observers-private.mjs.map +1 -1
  62. package/fesm2022/observers.mjs +13 -13
  63. package/fesm2022/observers.mjs.map +1 -1
  64. package/fesm2022/overlay.mjs +4 -4
  65. package/fesm2022/overlay.mjs.map +1 -1
  66. package/fesm2022/platform.mjs +4 -4
  67. package/fesm2022/platform.mjs.map +1 -1
  68. package/fesm2022/portal.mjs +10 -10
  69. package/fesm2022/portal.mjs.map +1 -1
  70. package/fesm2022/private.mjs +3 -3
  71. package/fesm2022/private.mjs.map +1 -1
  72. package/fesm2022/scrolling.mjs +35 -35
  73. package/fesm2022/scrolling.mjs.map +1 -1
  74. package/fesm2022/stepper.mjs +22 -22
  75. package/fesm2022/stepper.mjs.map +1 -1
  76. package/fesm2022/table.mjs +73 -73
  77. package/fesm2022/table.mjs.map +1 -1
  78. package/fesm2022/testing-selenium-webdriver.mjs.map +1 -1
  79. package/fesm2022/testing-testbed.mjs +9 -3
  80. package/fesm2022/testing-testbed.mjs.map +1 -1
  81. package/fesm2022/testing.mjs.map +1 -1
  82. package/fesm2022/text-field.mjs +16 -16
  83. package/fesm2022/text-field.mjs.map +1 -1
  84. package/fesm2022/tree.mjs +25 -25
  85. package/fesm2022/tree.mjs.map +1 -1
  86. package/package.json +1 -1
  87. package/schematics/ng-add/index.js +1 -1
  88. package/types/_overlay-module-chunk.d.ts +3 -1
  89. package/types/overlay.d.ts +1 -1
  90. package/types/testing-testbed.d.ts +8 -6
@@ -1 +1 @@
1
- {"version":3,"file":"portal.mjs","sources":["../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/cdk/portal/portal-errors.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/cdk/portal/portal.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/cdk/portal/dom-portal-outlet.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/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 Binding,\n Type,\n DirectiveWithBindings,\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 = 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 /**\n * Bindings to apply to the created component.\n */\n readonly bindings: Binding[] | null;\n\n /**\n * Directives to apply to the created component.\n */\n readonly directives: (Type<unknown> | DirectiveWithBindings<unknown>)[] | null;\n\n constructor(\n component: ComponentType<T>,\n viewContainerRef?: ViewContainerRef | null,\n injector?: Injector | null,\n projectableNodes?: Node[][] | null,\n bindings?: Binding[],\n directives?: (Type<unknown> | DirectiveWithBindings<unknown>)[],\n ) {\n super();\n this.component = component;\n this.viewContainerRef = viewContainerRef;\n this.injector = injector;\n this.projectableNodes = projectableNodes;\n this.bindings = bindings || null;\n this.directives = directives || null;\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 = null;\n\n /** A function that will permanently dispose this host. */\n private _disposeFn: (() => void) | null = 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 bindings: portal.bindings || undefined,\n directives: portal.directives || 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 bindings: portal.bindings || undefined,\n directives: portal.directives || 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() {\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 = null;\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 bindings: portal.bindings || undefined,\n directives: portal.directives || 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":[],"mappings":"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"}
1
+ {"version":3,"file":"portal.mjs","sources":["../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/cdk/portal/portal-errors.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/cdk/portal/portal.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/cdk/portal/dom-portal-outlet.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/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 Binding,\n Type,\n DirectiveWithBindings,\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 = 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 /**\n * Bindings to apply to the created component.\n */\n readonly bindings: Binding[] | null;\n\n /**\n * Directives to apply to the created component.\n */\n readonly directives: (Type<unknown> | DirectiveWithBindings<unknown>)[] | null;\n\n constructor(\n component: ComponentType<T>,\n viewContainerRef?: ViewContainerRef | null,\n injector?: Injector | null,\n projectableNodes?: Node[][] | null,\n bindings?: Binding[],\n directives?: (Type<unknown> | DirectiveWithBindings<unknown>)[],\n ) {\n super();\n this.component = component;\n this.viewContainerRef = viewContainerRef;\n this.injector = injector;\n this.projectableNodes = projectableNodes;\n this.bindings = bindings || null;\n this.directives = directives || null;\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 = null;\n\n /** A function that will permanently dispose this host. */\n private _disposeFn: (() => void) | null = 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 bindings: portal.bindings || undefined,\n directives: portal.directives || 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 bindings: portal.bindings || undefined,\n directives: portal.directives || 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() {\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 = null;\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 bindings: portal.bindings || undefined,\n directives: portal.directives || 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":[],"mappings":"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"}
@@ -5,7 +5,7 @@ import { ViewEncapsulation, Component, SecurityContext } from '@angular/core';
5
5
  class _VisuallyHiddenLoader {
6
6
  static ɵfac = i0.ɵɵngDeclareFactory({
7
7
  minVersion: "12.0.0",
8
- version: "22.2.0-next.4",
8
+ version: "22.2.0-next.5",
9
9
  ngImport: i0,
10
10
  type: _VisuallyHiddenLoader,
11
11
  deps: [],
@@ -13,7 +13,7 @@ class _VisuallyHiddenLoader {
13
13
  });
14
14
  static ɵcmp = i0.ɵɵngDeclareComponent({
15
15
  minVersion: "14.0.0",
16
- version: "22.2.0-next.4",
16
+ version: "22.2.0-next.5",
17
17
  type: _VisuallyHiddenLoader,
18
18
  isStandalone: true,
19
19
  selector: "ng-component",
@@ -27,7 +27,7 @@ class _VisuallyHiddenLoader {
27
27
  }
28
28
  i0.ɵɵngDeclareClassMetadata({
29
29
  minVersion: "12.0.0",
30
- version: "22.2.0-next.4",
30
+ version: "22.2.0-next.5",
31
31
  ngImport: i0,
32
32
  type: _VisuallyHiddenLoader,
33
33
  decorators: [{
@@ -1 +1 @@
1
- {"version":3,"file":"private.mjs","sources":["../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/cdk/private/visually-hidden/visually-hidden.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/cdk/private/trusted-types.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/cdk/private/inner-html.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 {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})\nexport class _VisuallyHiddenLoader {}\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// 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 try {\n policy = ttWindow.trustedTypes.createPolicy('angular#components', {\n createHTML: (s: string) => s,\n });\n } catch (error) {\n // createPolicy can throw if the name is already registered, or if\n // window.trustedTypes was DOM-clobbered with an HTML element before\n // Angular bootstrapped. trustedHTMLFromString falls back to plain\n // strings — sanitization in _setInnerHtml still runs.\n console.error(error);\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","/**\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 {SecurityContext} from '@angular/core';\nimport {DomSanitizer, SafeHtml} from '@angular/platform-browser';\nimport {trustedHTMLFromString} from './trusted-types';\n\n// !!!Note!!! this file isn't synced into g3, but is replaced with a version that uses\n// internal-specific APIs. The internal version may have to be updated if the signature of\n// the function changes.\n\n/** Sanitizes and sets the `innerHTML` of an element. */\nexport function _setInnerHtml(element: HTMLElement, html: SafeHtml, sanitizer: DomSanitizer): void {\n const cleanHtml = sanitizer.sanitize(SecurityContext.HTML, html);\n\n if (cleanHtml === null && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw new Error(`Could not sanitize HTML: ${html}`);\n }\n\n element.innerHTML = trustedHTMLFromString(cleanHtml || '') as unknown as string;\n}\n"],"names":[],"mappings":";;;;MAoBa,qBAAqB,CAAA;;;;;UAArB,qBAAqB;AAAA,IAAA,IAAA,EAAA,EAAA;AAAA,IAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA;AAAA,GAAA,CAAA;AAArB,EAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA;AAAA,IAAA,UAAA,EAAA,QAAA;AAAA,IAAA,OAAA,EAAA,eAAA;AAAA,IAAA,IAAA,EAAA,qBAAqB;;;;;cAFtB,EAAE;AAAA,IAAA,QAAA,EAAA,IAAA;IAAA,MAAA,EAAA,CAAA,yVAAA,CAAA;AAAA,IAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA;AAAA,GAAA,CAAA;;;;;;QAED,qBAAqB;AAAA,EAAA,UAAA,EAAA,CAAA;UANjC,SAAS;AAEE,IAAA,IAAA,EAAA,CAAA;AAAA,MAAA,QAAA,EAAA,mBAAmB;MAAA,aAAA,EACd,iBAAiB,CAAC,IAAI;gBAC3B,EAAE;MAAA,MAAA,EAAA,CAAA,yVAAA;KAAA;;;;ACiBd,IAAI,MAA4C;AAMhD,SAAS,SAAS,GAAA;EAChB,IAAI,MAAM,KAAK,SAAS,EAAE;AACxB,IAAA,MAAM,GAAG,IAAI;AACb,IAAA,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;MACjC,MAAM,QAAQ,GAAG,MAA8D;AAC/E,MAAA,IAAI,QAAQ,CAAC,YAAY,KAAK,SAAS,EAAE;QACvC,IAAI;UACF,MAAM,GAAG,QAAQ,CAAC,YAAY,CAAC,YAAY,CAAC,oBAAoB,EAAE;YAChE,UAAU,EAAG,CAAS,IAAK;AAC5B,WAAA,CAAC;QACJ,CAAA,CAAE,OAAO,KAAK,EAAE;AAKd,UAAA,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC;AACtB,QAAA;AACF,MAAA;AACF,IAAA;AACF,EAAA;AACA,EAAA,OAAO,MAAM;AACf;AAYM,SAAU,qBAAqB,CAAC,IAAY,EAAA;EAChD,OAAO,SAAS,EAAE,EAAE,UAAU,CAAC,IAAI,CAAC,IAAK,IAA+B;AAC1E;;SC3DgB,aAAa,CAAC,OAAoB,EAAE,IAAc,EAAE,SAAuB,EAAA;EACzF,MAAM,SAAS,GAAG,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC;EAEhE,IAAI,SAAS,KAAK,IAAI,KAAK,OAAO,SAAS,KAAK,WAAW,IAAI,SAAS,CAAC,EAAE;AACzE,IAAA,MAAM,IAAI,KAAK,CAAC,CAAA,yBAAA,EAA4B,IAAI,EAAE,CAAC;AACrD,EAAA;EAEA,OAAO,CAAC,SAAS,GAAG,qBAAqB,CAAC,SAAS,IAAI,EAAE,CAAsB;AACjF;;;;"}
1
+ {"version":3,"file":"private.mjs","sources":["../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/cdk/private/visually-hidden/visually-hidden.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/cdk/private/trusted-types.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/cdk/private/inner-html.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 {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})\nexport class _VisuallyHiddenLoader {}\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// 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 try {\n policy = ttWindow.trustedTypes.createPolicy('angular#components', {\n createHTML: (s: string) => s,\n });\n } catch (error) {\n // createPolicy can throw if the name is already registered, or if\n // window.trustedTypes was DOM-clobbered with an HTML element before\n // Angular bootstrapped. trustedHTMLFromString falls back to plain\n // strings — sanitization in _setInnerHtml still runs.\n console.error(error);\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","/**\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 {SecurityContext} from '@angular/core';\nimport {DomSanitizer, SafeHtml} from '@angular/platform-browser';\nimport {trustedHTMLFromString} from './trusted-types';\n\n// !!!Note!!! this file isn't synced into g3, but is replaced with a version that uses\n// internal-specific APIs. The internal version may have to be updated if the signature of\n// the function changes.\n\n/** Sanitizes and sets the `innerHTML` of an element. */\nexport function _setInnerHtml(element: HTMLElement, html: SafeHtml, sanitizer: DomSanitizer): void {\n const cleanHtml = sanitizer.sanitize(SecurityContext.HTML, html);\n\n if (cleanHtml === null && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw new Error(`Could not sanitize HTML: ${html}`);\n }\n\n element.innerHTML = trustedHTMLFromString(cleanHtml || '') as unknown as string;\n}\n"],"names":[],"mappings":";;;;MAoBa,qBAAqB,CAAA;;;;;UAArB,qBAAqB;AAAA,IAAA,IAAA,EAAA,EAAA;AAAA,IAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA;AAAA,GAAA,CAAA;AAArB,EAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA;AAAA,IAAA,UAAA,EAAA,QAAA;AAAA,IAAA,OAAA,EAAA,eAAA;AAAA,IAAA,IAAA,EAAA,qBAAqB;;;;;cAFtB,EAAE;AAAA,IAAA,QAAA,EAAA,IAAA;IAAA,MAAA,EAAA,CAAA,yVAAA,CAAA;AAAA,IAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA;AAAA,GAAA,CAAA;;;;;;QAED,qBAAqB;AAAA,EAAA,UAAA,EAAA,CAAA;UANjC,SAAS;AAEE,IAAA,IAAA,EAAA,CAAA;AAAA,MAAA,QAAA,EAAA,mBAAmB;MAAA,aAAA,EACd,iBAAiB,CAAC,IAAI;gBAC3B,EAAE;MAAA,MAAA,EAAA,CAAA,yVAAA;KAAA;;;;ACiBd,IAAI,MAA4C;AAMhD,SAAS,SAAS,GAAA;EAChB,IAAI,MAAM,KAAK,SAAS,EAAE;AACxB,IAAA,MAAM,GAAG,IAAI;AACb,IAAA,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;MACjC,MAAM,QAAQ,GAAG,MAA8D;AAC/E,MAAA,IAAI,QAAQ,CAAC,YAAY,KAAK,SAAS,EAAE;QACvC,IAAI;UACF,MAAM,GAAG,QAAQ,CAAC,YAAY,CAAC,YAAY,CAAC,oBAAoB,EAAE;YAChE,UAAU,EAAG,CAAS,IAAK;AAC5B,WAAA,CAAC;QACJ,CAAA,CAAE,OAAO,KAAK,EAAE;AAKd,UAAA,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC;AACtB,QAAA;AACF,MAAA;AACF,IAAA;AACF,EAAA;AACA,EAAA,OAAO,MAAM;AACf;AAYM,SAAU,qBAAqB,CAAC,IAAY,EAAA;EAChD,OAAO,SAAS,EAAE,EAAE,UAAU,CAAC,IAAI,CAAC,IAAK,IAA+B;AAC1E;;SC3DgB,aAAa,CAAC,OAAoB,EAAE,IAAc,EAAE,SAAuB,EAAA;EACzF,MAAM,SAAS,GAAG,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC;EAEhE,IAAI,SAAS,KAAK,IAAI,KAAK,OAAO,SAAS,KAAK,WAAW,IAAI,SAAS,CAAC,EAAE;AACzE,IAAA,MAAM,IAAI,KAAK,CAAC,CAAA,yBAAA,EAA4B,IAAI,EAAE,CAAC;AACrD,EAAA;EAEA,OAAO,CAAC,SAAS,GAAG,qBAAqB,CAAC,SAAS,IAAI,EAAE,CAAsB;AACjF;;"}
@@ -139,7 +139,7 @@ class CdkFixedSizeVirtualScroll {
139
139
  }
140
140
  static ɵfac = i0.ɵɵngDeclareFactory({
141
141
  minVersion: "12.0.0",
142
- version: "22.2.0-next.4",
142
+ version: "22.2.0-next.5",
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: "22.2.0-next.4",
150
+ version: "22.2.0-next.5",
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: "22.2.0-next.4",
170
+ version: "22.2.0-next.5",
171
171
  ngImport: i0,
172
172
  type: CdkFixedSizeVirtualScroll,
173
173
  decorators: [{
@@ -266,7 +266,7 @@ class ScrollDispatcher {
266
266
  }
267
267
  static ɵfac = i0.ɵɵngDeclareFactory({
268
268
  minVersion: "12.0.0",
269
- version: "22.2.0-next.4",
269
+ version: "22.2.0-next.5",
270
270
  ngImport: i0,
271
271
  type: ScrollDispatcher,
272
272
  deps: [],
@@ -274,14 +274,14 @@ class ScrollDispatcher {
274
274
  });
275
275
  static ɵprov = i0.ɵɵngDeclareService({
276
276
  minVersion: "22.0.0",
277
- version: "22.2.0-next.4",
277
+ version: "22.2.0-next.5",
278
278
  ngImport: i0,
279
279
  type: ScrollDispatcher
280
280
  });
281
281
  }
282
282
  i0.ɵɵngDeclareClassMetadata({
283
283
  minVersion: "12.0.0",
284
- version: "22.2.0-next.4",
284
+ version: "22.2.0-next.5",
285
285
  ngImport: i0,
286
286
  type: ScrollDispatcher,
287
287
  decorators: [{
@@ -397,7 +397,7 @@ class CdkScrollable {
397
397
  }
398
398
  static ɵfac = i0.ɵɵngDeclareFactory({
399
399
  minVersion: "12.0.0",
400
- version: "22.2.0-next.4",
400
+ version: "22.2.0-next.5",
401
401
  ngImport: i0,
402
402
  type: CdkScrollable,
403
403
  deps: [],
@@ -405,7 +405,7 @@ class CdkScrollable {
405
405
  });
406
406
  static ɵdir = i0.ɵɵngDeclareDirective({
407
407
  minVersion: "14.0.0",
408
- version: "22.2.0-next.4",
408
+ version: "22.2.0-next.5",
409
409
  type: CdkScrollable,
410
410
  isStandalone: true,
411
411
  selector: "[cdk-scrollable], [cdkScrollable]",
@@ -414,7 +414,7 @@ class CdkScrollable {
414
414
  }
415
415
  i0.ɵɵngDeclareClassMetadata({
416
416
  minVersion: "12.0.0",
417
- version: "22.2.0-next.4",
417
+ version: "22.2.0-next.5",
418
418
  ngImport: i0,
419
419
  type: CdkScrollable,
420
420
  decorators: [{
@@ -511,7 +511,7 @@ class ViewportRuler {
511
511
  }
512
512
  static ɵfac = i0.ɵɵngDeclareFactory({
513
513
  minVersion: "12.0.0",
514
- version: "22.2.0-next.4",
514
+ version: "22.2.0-next.5",
515
515
  ngImport: i0,
516
516
  type: ViewportRuler,
517
517
  deps: [],
@@ -519,14 +519,14 @@ class ViewportRuler {
519
519
  });
520
520
  static ɵprov = i0.ɵɵngDeclareService({
521
521
  minVersion: "22.0.0",
522
- version: "22.2.0-next.4",
522
+ version: "22.2.0-next.5",
523
523
  ngImport: i0,
524
524
  type: ViewportRuler
525
525
  });
526
526
  }
527
527
  i0.ɵɵngDeclareClassMetadata({
528
528
  minVersion: "12.0.0",
529
- version: "22.2.0-next.4",
529
+ version: "22.2.0-next.5",
530
530
  ngImport: i0,
531
531
  type: ViewportRuler,
532
532
  decorators: [{
@@ -543,7 +543,7 @@ class CdkVirtualScrollable extends CdkScrollable {
543
543
  }
544
544
  static ɵfac = i0.ɵɵngDeclareFactory({
545
545
  minVersion: "12.0.0",
546
- version: "22.2.0-next.4",
546
+ version: "22.2.0-next.5",
547
547
  ngImport: i0,
548
548
  type: CdkVirtualScrollable,
549
549
  deps: null,
@@ -551,7 +551,7 @@ class CdkVirtualScrollable extends CdkScrollable {
551
551
  });
552
552
  static ɵdir = i0.ɵɵngDeclareDirective({
553
553
  minVersion: "14.0.0",
554
- version: "22.2.0-next.4",
554
+ version: "22.2.0-next.5",
555
555
  type: CdkVirtualScrollable,
556
556
  isStandalone: true,
557
557
  usesInheritance: true,
@@ -560,7 +560,7 @@ class CdkVirtualScrollable extends CdkScrollable {
560
560
  }
561
561
  i0.ɵɵngDeclareClassMetadata({
562
562
  minVersion: "12.0.0",
563
- version: "22.2.0-next.4",
563
+ version: "22.2.0-next.5",
564
564
  ngImport: i0,
565
565
  type: CdkVirtualScrollable,
566
566
  decorators: [{
@@ -851,7 +851,7 @@ class CdkVirtualScrollViewport extends CdkVirtualScrollable {
851
851
  }
852
852
  static ɵfac = i0.ɵɵngDeclareFactory({
853
853
  minVersion: "12.0.0",
854
- version: "22.2.0-next.4",
854
+ version: "22.2.0-next.5",
855
855
  ngImport: i0,
856
856
  type: CdkVirtualScrollViewport,
857
857
  deps: [],
@@ -859,7 +859,7 @@ class CdkVirtualScrollViewport extends CdkVirtualScrollable {
859
859
  });
860
860
  static ɵcmp = i0.ɵɵngDeclareComponent({
861
861
  minVersion: "16.1.0",
862
- version: "22.2.0-next.4",
862
+ version: "22.2.0-next.5",
863
863
  type: CdkVirtualScrollViewport,
864
864
  isStandalone: true,
865
865
  selector: "cdk-virtual-scroll-viewport",
@@ -902,7 +902,7 @@ class CdkVirtualScrollViewport extends CdkVirtualScrollable {
902
902
  }
903
903
  i0.ɵɵngDeclareClassMetadata({
904
904
  minVersion: "12.0.0",
905
- version: "22.2.0-next.4",
905
+ version: "22.2.0-next.5",
906
906
  ngImport: i0,
907
907
  type: CdkVirtualScrollViewport,
908
908
  decorators: [{
@@ -1148,7 +1148,7 @@ class CdkVirtualForOf {
1148
1148
  }
1149
1149
  static ɵfac = i0.ɵɵngDeclareFactory({
1150
1150
  minVersion: "12.0.0",
1151
- version: "22.2.0-next.4",
1151
+ version: "22.2.0-next.5",
1152
1152
  ngImport: i0,
1153
1153
  type: CdkVirtualForOf,
1154
1154
  deps: [],
@@ -1156,7 +1156,7 @@ class CdkVirtualForOf {
1156
1156
  });
1157
1157
  static ɵdir = i0.ɵɵngDeclareDirective({
1158
1158
  minVersion: "14.0.0",
1159
- version: "22.2.0-next.4",
1159
+ version: "22.2.0-next.5",
1160
1160
  type: CdkVirtualForOf,
1161
1161
  isStandalone: true,
1162
1162
  selector: "[cdkVirtualFor][cdkVirtualForOf]",
@@ -1171,7 +1171,7 @@ class CdkVirtualForOf {
1171
1171
  }
1172
1172
  i0.ɵɵngDeclareClassMetadata({
1173
1173
  minVersion: "12.0.0",
1174
- version: "22.2.0-next.4",
1174
+ version: "22.2.0-next.5",
1175
1175
  ngImport: i0,
1176
1176
  type: CdkVirtualForOf,
1177
1177
  decorators: [{
@@ -1203,7 +1203,7 @@ class CdkVirtualScrollableElement extends CdkVirtualScrollable {
1203
1203
  }
1204
1204
  static ɵfac = i0.ɵɵngDeclareFactory({
1205
1205
  minVersion: "12.0.0",
1206
- version: "22.2.0-next.4",
1206
+ version: "22.2.0-next.5",
1207
1207
  ngImport: i0,
1208
1208
  type: CdkVirtualScrollableElement,
1209
1209
  deps: null,
@@ -1211,7 +1211,7 @@ class CdkVirtualScrollableElement extends CdkVirtualScrollable {
1211
1211
  });
1212
1212
  static ɵdir = i0.ɵɵngDeclareDirective({
1213
1213
  minVersion: "14.0.0",
1214
- version: "22.2.0-next.4",
1214
+ version: "22.2.0-next.5",
1215
1215
  type: CdkVirtualScrollableElement,
1216
1216
  isStandalone: true,
1217
1217
  selector: "[cdkVirtualScrollingElement]",
@@ -1228,7 +1228,7 @@ class CdkVirtualScrollableElement extends CdkVirtualScrollable {
1228
1228
  }
1229
1229
  i0.ɵɵngDeclareClassMetadata({
1230
1230
  minVersion: "12.0.0",
1231
- version: "22.2.0-next.4",
1231
+ version: "22.2.0-next.5",
1232
1232
  ngImport: i0,
1233
1233
  type: CdkVirtualScrollableElement,
1234
1234
  decorators: [{
@@ -1258,7 +1258,7 @@ class CdkVirtualScrollableWindow extends CdkVirtualScrollable {
1258
1258
  }
1259
1259
  static ɵfac = i0.ɵɵngDeclareFactory({
1260
1260
  minVersion: "12.0.0",
1261
- version: "22.2.0-next.4",
1261
+ version: "22.2.0-next.5",
1262
1262
  ngImport: i0,
1263
1263
  type: CdkVirtualScrollableWindow,
1264
1264
  deps: [],
@@ -1266,7 +1266,7 @@ class CdkVirtualScrollableWindow extends CdkVirtualScrollable {
1266
1266
  });
1267
1267
  static ɵdir = i0.ɵɵngDeclareDirective({
1268
1268
  minVersion: "14.0.0",
1269
- version: "22.2.0-next.4",
1269
+ version: "22.2.0-next.5",
1270
1270
  type: CdkVirtualScrollableWindow,
1271
1271
  isStandalone: true,
1272
1272
  selector: "cdk-virtual-scroll-viewport[scrollWindow]",
@@ -1280,7 +1280,7 @@ class CdkVirtualScrollableWindow extends CdkVirtualScrollable {
1280
1280
  }
1281
1281
  i0.ɵɵngDeclareClassMetadata({
1282
1282
  minVersion: "12.0.0",
1283
- version: "22.2.0-next.4",
1283
+ version: "22.2.0-next.5",
1284
1284
  ngImport: i0,
1285
1285
  type: CdkVirtualScrollableWindow,
1286
1286
  decorators: [{
@@ -1299,7 +1299,7 @@ i0.ɵɵngDeclareClassMetadata({
1299
1299
  class CdkScrollableModule {
1300
1300
  static ɵfac = i0.ɵɵngDeclareFactory({
1301
1301
  minVersion: "12.0.0",
1302
- version: "22.2.0-next.4",
1302
+ version: "22.2.0-next.5",
1303
1303
  ngImport: i0,
1304
1304
  type: CdkScrollableModule,
1305
1305
  deps: [],
@@ -1307,7 +1307,7 @@ class CdkScrollableModule {
1307
1307
  });
1308
1308
  static ɵmod = i0.ɵɵngDeclareNgModule({
1309
1309
  minVersion: "14.0.0",
1310
- version: "22.2.0-next.4",
1310
+ version: "22.2.0-next.5",
1311
1311
  ngImport: i0,
1312
1312
  type: CdkScrollableModule,
1313
1313
  imports: [CdkScrollable],
@@ -1315,14 +1315,14 @@ class CdkScrollableModule {
1315
1315
  });
1316
1316
  static ɵinj = i0.ɵɵngDeclareInjector({
1317
1317
  minVersion: "12.0.0",
1318
- version: "22.2.0-next.4",
1318
+ version: "22.2.0-next.5",
1319
1319
  ngImport: i0,
1320
1320
  type: CdkScrollableModule
1321
1321
  });
1322
1322
  }
1323
1323
  i0.ɵɵngDeclareClassMetadata({
1324
1324
  minVersion: "12.0.0",
1325
- version: "22.2.0-next.4",
1325
+ version: "22.2.0-next.5",
1326
1326
  ngImport: i0,
1327
1327
  type: CdkScrollableModule,
1328
1328
  decorators: [{
@@ -1336,7 +1336,7 @@ i0.ɵɵngDeclareClassMetadata({
1336
1336
  class ScrollingModule {
1337
1337
  static ɵfac = i0.ɵɵngDeclareFactory({
1338
1338
  minVersion: "12.0.0",
1339
- version: "22.2.0-next.4",
1339
+ version: "22.2.0-next.5",
1340
1340
  ngImport: i0,
1341
1341
  type: ScrollingModule,
1342
1342
  deps: [],
@@ -1344,7 +1344,7 @@ class ScrollingModule {
1344
1344
  });
1345
1345
  static ɵmod = i0.ɵɵngDeclareNgModule({
1346
1346
  minVersion: "14.0.0",
1347
- version: "22.2.0-next.4",
1347
+ version: "22.2.0-next.5",
1348
1348
  ngImport: i0,
1349
1349
  type: ScrollingModule,
1350
1350
  imports: [BidiModule, CdkScrollableModule, CdkVirtualScrollViewport, CdkFixedSizeVirtualScroll, CdkVirtualForOf, CdkVirtualScrollableWindow, CdkVirtualScrollableElement],
@@ -1352,7 +1352,7 @@ class ScrollingModule {
1352
1352
  });
1353
1353
  static ɵinj = i0.ɵɵngDeclareInjector({
1354
1354
  minVersion: "12.0.0",
1355
- version: "22.2.0-next.4",
1355
+ version: "22.2.0-next.5",
1356
1356
  ngImport: i0,
1357
1357
  type: ScrollingModule,
1358
1358
  imports: [BidiModule, CdkScrollableModule, BidiModule, CdkScrollableModule]
@@ -1360,7 +1360,7 @@ class ScrollingModule {
1360
1360
  }
1361
1361
  i0.ɵɵngDeclareClassMetadata({
1362
1362
  minVersion: "12.0.0",
1363
- version: "22.2.0-next.4",
1363
+ version: "22.2.0-next.5",
1364
1364
  ngImport: i0,
1365
1365
  type: ScrollingModule,
1366
1366
  decorators: [{