@angular/cdk 22.0.0 → 22.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 (51) hide show
  1. package/fesm2022/_a11y-module-chunk.mjs +22 -22
  2. package/fesm2022/_a11y-module-chunk.mjs.map +1 -1
  3. package/fesm2022/_breakpoints-observer-chunk.mjs +6 -6
  4. package/fesm2022/_directionality-chunk.mjs +3 -3
  5. package/fesm2022/_focus-monitor-chunk.mjs +9 -9
  6. package/fesm2022/_id-generator-chunk.mjs +11 -7
  7. package/fesm2022/_id-generator-chunk.mjs.map +1 -1
  8. package/fesm2022/_overlay-module-chunk.mjs +34 -34
  9. package/fesm2022/_overlay-module-chunk.mjs.map +1 -1
  10. package/fesm2022/_platform-chunk.mjs +3 -3
  11. package/fesm2022/_style-loader-chunk.mjs +3 -3
  12. package/fesm2022/_unique-selection-dispatcher-chunk.mjs +3 -3
  13. package/fesm2022/a11y.mjs +9 -9
  14. package/fesm2022/accordion.mjs +10 -10
  15. package/fesm2022/accordion.mjs.map +1 -1
  16. package/fesm2022/bidi.mjs +7 -7
  17. package/fesm2022/cdk.mjs +1 -1
  18. package/fesm2022/cdk.mjs.map +1 -1
  19. package/fesm2022/clipboard.mjs +11 -10
  20. package/fesm2022/clipboard.mjs.map +1 -1
  21. package/fesm2022/dialog.mjs +10 -10
  22. package/fesm2022/dialog.mjs.map +1 -1
  23. package/fesm2022/drag-drop.mjs +31 -31
  24. package/fesm2022/drag-drop.mjs.map +1 -1
  25. package/fesm2022/layout.mjs +4 -4
  26. package/fesm2022/listbox.mjs +10 -10
  27. package/fesm2022/listbox.mjs.map +1 -1
  28. package/fesm2022/menu.mjs +49 -49
  29. package/fesm2022/menu.mjs.map +1 -1
  30. package/fesm2022/observers-private.mjs +3 -3
  31. package/fesm2022/observers.mjs +13 -13
  32. package/fesm2022/observers.mjs.map +1 -1
  33. package/fesm2022/overlay.mjs +3 -3
  34. package/fesm2022/platform.mjs +4 -4
  35. package/fesm2022/portal.mjs +10 -10
  36. package/fesm2022/portal.mjs.map +1 -1
  37. package/fesm2022/private.mjs +3 -3
  38. package/fesm2022/private.mjs.map +1 -1
  39. package/fesm2022/scrolling.mjs +35 -35
  40. package/fesm2022/scrolling.mjs.map +1 -1
  41. package/fesm2022/stepper.mjs +22 -22
  42. package/fesm2022/stepper.mjs.map +1 -1
  43. package/fesm2022/table.mjs +73 -73
  44. package/fesm2022/table.mjs.map +1 -1
  45. package/fesm2022/text-field.mjs +16 -16
  46. package/fesm2022/text-field.mjs.map +1 -1
  47. package/fesm2022/tree.mjs +25 -25
  48. package/fesm2022/tree.mjs.map +1 -1
  49. package/package.json +1 -1
  50. package/schematics/ng-add/index.js +1 -1
  51. package/types/clipboard.d.ts +2 -1
@@ -74,7 +74,7 @@ class SharedResizeObserver {
74
74
  }
75
75
  static ɵfac = i0.ɵɵngDeclareFactory({
76
76
  minVersion: "12.0.0",
77
- version: "22.0.0-rc.2",
77
+ version: "22.0.0",
78
78
  ngImport: i0,
79
79
  type: SharedResizeObserver,
80
80
  deps: [],
@@ -82,14 +82,14 @@ class SharedResizeObserver {
82
82
  });
83
83
  static ɵprov = i0.ɵɵngDeclareService({
84
84
  minVersion: "22.0.0",
85
- version: "22.0.0-rc.2",
85
+ version: "22.0.0",
86
86
  ngImport: i0,
87
87
  type: SharedResizeObserver
88
88
  });
89
89
  }
90
90
  i0.ɵɵngDeclareClassMetadata({
91
91
  minVersion: "12.0.0",
92
- version: "22.0.0-rc.2",
92
+ version: "22.0.0",
93
93
  ngImport: i0,
94
94
  type: SharedResizeObserver,
95
95
  decorators: [{
@@ -29,7 +29,7 @@ class MutationObserverFactory {
29
29
  }
30
30
  static ɵfac = i0.ɵɵngDeclareFactory({
31
31
  minVersion: "12.0.0",
32
- version: "22.0.0-rc.2",
32
+ version: "22.0.0",
33
33
  ngImport: i0,
34
34
  type: MutationObserverFactory,
35
35
  deps: [],
@@ -37,14 +37,14 @@ class MutationObserverFactory {
37
37
  });
38
38
  static ɵprov = i0.ɵɵngDeclareService({
39
39
  minVersion: "22.0.0",
40
- version: "22.0.0-rc.2",
40
+ version: "22.0.0",
41
41
  ngImport: i0,
42
42
  type: MutationObserverFactory
43
43
  });
44
44
  }
45
45
  i0.ɵɵngDeclareClassMetadata({
46
46
  minVersion: "12.0.0",
47
- version: "22.0.0-rc.2",
47
+ version: "22.0.0",
48
48
  ngImport: i0,
49
49
  type: MutationObserverFactory,
50
50
  decorators: [{
@@ -119,7 +119,7 @@ class ContentObserver {
119
119
  }
120
120
  static ɵfac = i0.ɵɵngDeclareFactory({
121
121
  minVersion: "12.0.0",
122
- version: "22.0.0-rc.2",
122
+ version: "22.0.0",
123
123
  ngImport: i0,
124
124
  type: ContentObserver,
125
125
  deps: [],
@@ -127,14 +127,14 @@ class ContentObserver {
127
127
  });
128
128
  static ɵprov = i0.ɵɵngDeclareService({
129
129
  minVersion: "22.0.0",
130
- version: "22.0.0-rc.2",
130
+ version: "22.0.0",
131
131
  ngImport: i0,
132
132
  type: ContentObserver
133
133
  });
134
134
  }
135
135
  i0.ɵɵngDeclareClassMetadata({
136
136
  minVersion: "12.0.0",
137
- version: "22.0.0-rc.2",
137
+ version: "22.0.0",
138
138
  ngImport: i0,
139
139
  type: ContentObserver,
140
140
  decorators: [{
@@ -180,7 +180,7 @@ class CdkObserveContent {
180
180
  }
181
181
  static ɵfac = i0.ɵɵngDeclareFactory({
182
182
  minVersion: "12.0.0",
183
- version: "22.0.0-rc.2",
183
+ version: "22.0.0",
184
184
  ngImport: i0,
185
185
  type: CdkObserveContent,
186
186
  deps: [],
@@ -188,7 +188,7 @@ class CdkObserveContent {
188
188
  });
189
189
  static ɵdir = i0.ɵɵngDeclareDirective({
190
190
  minVersion: "16.1.0",
191
- version: "22.0.0-rc.2",
191
+ version: "22.0.0",
192
192
  type: CdkObserveContent,
193
193
  isStandalone: true,
194
194
  selector: "[cdkObserveContent]",
@@ -205,7 +205,7 @@ class CdkObserveContent {
205
205
  }
206
206
  i0.ɵɵngDeclareClassMetadata({
207
207
  minVersion: "12.0.0",
208
- version: "22.0.0-rc.2",
208
+ version: "22.0.0",
209
209
  ngImport: i0,
210
210
  type: CdkObserveContent,
211
211
  decorators: [{
@@ -235,7 +235,7 @@ i0.ɵɵngDeclareClassMetadata({
235
235
  class ObserversModule {
236
236
  static ɵfac = i0.ɵɵngDeclareFactory({
237
237
  minVersion: "12.0.0",
238
- version: "22.0.0-rc.2",
238
+ version: "22.0.0",
239
239
  ngImport: i0,
240
240
  type: ObserversModule,
241
241
  deps: [],
@@ -243,7 +243,7 @@ class ObserversModule {
243
243
  });
244
244
  static ɵmod = i0.ɵɵngDeclareNgModule({
245
245
  minVersion: "14.0.0",
246
- version: "22.0.0-rc.2",
246
+ version: "22.0.0",
247
247
  ngImport: i0,
248
248
  type: ObserversModule,
249
249
  imports: [CdkObserveContent],
@@ -251,7 +251,7 @@ class ObserversModule {
251
251
  });
252
252
  static ɵinj = i0.ɵɵngDeclareInjector({
253
253
  minVersion: "12.0.0",
254
- version: "22.0.0-rc.2",
254
+ version: "22.0.0",
255
255
  ngImport: i0,
256
256
  type: ObserversModule,
257
257
  providers: [MutationObserverFactory]
@@ -259,7 +259,7 @@ class ObserversModule {
259
259
  }
260
260
  i0.ɵɵngDeclareClassMetadata({
261
261
  minVersion: "12.0.0",
262
- version: "22.0.0-rc.2",
262
+ version: "22.0.0",
263
263
  ngImport: i0,
264
264
  type: ObserversModule,
265
265
  decorators: [{
@@ -1 +1 @@
1
- {"version":3,"file":"observers.mjs","sources":["../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/cdk/observers/observe-content.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 {NumberInput, coerceElement, coerceNumberProperty} from '../coercion';\nimport {\n AfterContentInit,\n Directive,\n ElementRef,\n EventEmitter,\n Service,\n Input,\n NgModule,\n NgZone,\n OnDestroy,\n Output,\n booleanAttribute,\n inject,\n} from '@angular/core';\nimport {Observable, Observer, Subject, Subscription} from 'rxjs';\nimport {debounceTime, filter, map} from 'rxjs/operators';\n\n// Angular may add, remove, or edit comment nodes during change detection. We don't care about\n// these changes because they don't affect the user-preceived content, and worse it can cause\n// infinite change detection cycles where the change detection updates a comment, triggering the\n// MutationObserver, triggering another change detection and kicking the cycle off again.\nfunction shouldIgnoreRecord(record: MutationRecord) {\n // Ignore changes to comment text.\n if (record.type === 'characterData' && record.target instanceof Comment) {\n return true;\n }\n // Ignore addition / removal of comments.\n if (record.type === 'childList') {\n for (let i = 0; i < record.addedNodes.length; i++) {\n if (!(record.addedNodes[i] instanceof Comment)) {\n return false;\n }\n }\n for (let i = 0; i < record.removedNodes.length; i++) {\n if (!(record.removedNodes[i] instanceof Comment)) {\n return false;\n }\n }\n return true;\n }\n // Observe everything else.\n return false;\n}\n\n/**\n * Factory that creates a new MutationObserver and allows us to stub it out in unit tests.\n * @docs-private\n */\n@Service()\nexport class MutationObserverFactory {\n create(callback: MutationCallback): MutationObserver | null {\n return typeof MutationObserver === 'undefined' ? null : new MutationObserver(callback);\n }\n}\n\n/** An injectable service that allows watching elements for changes to their content. */\n@Service()\nexport class ContentObserver implements OnDestroy {\n private _mutationObserverFactory = inject(MutationObserverFactory);\n\n /** Keeps track of the existing MutationObservers so they can be reused. */\n private _observedElements = new Map<\n Element,\n {\n observer: MutationObserver | null;\n readonly stream: Subject<MutationRecord[]>;\n count: number;\n }\n >();\n\n private _ngZone = inject(NgZone);\n\n ngOnDestroy() {\n this._observedElements.forEach((_, element) => this._cleanupObserver(element));\n }\n\n /**\n * Observe content changes on an element.\n * @param element The element to observe for content changes.\n */\n observe(element: Element): Observable<MutationRecord[]>;\n\n /**\n * Observe content changes on an element.\n * @param element The element to observe for content changes.\n */\n observe(element: ElementRef<Element>): Observable<MutationRecord[]>;\n\n observe(elementOrRef: Element | ElementRef<Element>): Observable<MutationRecord[]> {\n const element = coerceElement(elementOrRef);\n\n return new Observable((observer: Observer<MutationRecord[]>) => {\n const stream = this._observeElement(element);\n const subscription = stream\n .pipe(\n map(records => records.filter(record => !shouldIgnoreRecord(record))),\n filter(records => !!records.length),\n )\n .subscribe(records => {\n this._ngZone.run(() => {\n observer.next(records);\n });\n });\n\n return () => {\n subscription.unsubscribe();\n this._unobserveElement(element);\n };\n });\n }\n\n /**\n * Observes the given element by using the existing MutationObserver if available, or creating a\n * new one if not.\n */\n private _observeElement(element: Element): Subject<MutationRecord[]> {\n return this._ngZone.runOutsideAngular(() => {\n if (!this._observedElements.has(element)) {\n const stream = new Subject<MutationRecord[]>();\n const observer = this._mutationObserverFactory.create(mutations => stream.next(mutations));\n if (observer) {\n observer.observe(element, {\n characterData: true,\n childList: true,\n subtree: true,\n });\n }\n this._observedElements.set(element, {observer, stream, count: 1});\n } else {\n this._observedElements.get(element)!.count++;\n }\n return this._observedElements.get(element)!.stream;\n });\n }\n\n /**\n * Un-observes the given element and cleans up the underlying MutationObserver if nobody else is\n * observing this element.\n */\n private _unobserveElement(element: Element) {\n if (this._observedElements.has(element)) {\n this._observedElements.get(element)!.count--;\n if (!this._observedElements.get(element)!.count) {\n this._cleanupObserver(element);\n }\n }\n }\n\n /** Clean up the underlying MutationObserver for the specified element. */\n private _cleanupObserver(element: Element) {\n if (this._observedElements.has(element)) {\n const {observer, stream} = this._observedElements.get(element)!;\n if (observer) {\n observer.disconnect();\n }\n stream.complete();\n this._observedElements.delete(element);\n }\n }\n}\n\n/**\n * Directive that triggers a callback whenever the content of\n * its associated element has changed.\n */\n@Directive({\n selector: '[cdkObserveContent]',\n exportAs: 'cdkObserveContent',\n})\nexport class CdkObserveContent implements AfterContentInit, OnDestroy {\n private _contentObserver = inject(ContentObserver);\n private _elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n\n /** Event emitted for each change in the element's content. */\n @Output('cdkObserveContent') readonly event = new EventEmitter<MutationRecord[]>();\n\n /**\n * Whether observing content is disabled. This option can be used\n * to disconnect the underlying MutationObserver until it is needed.\n */\n @Input({alias: 'cdkObserveContentDisabled', transform: booleanAttribute})\n get disabled(): boolean {\n return this._disabled;\n }\n set disabled(value: boolean) {\n this._disabled = value;\n this._disabled ? this._unsubscribe() : this._subscribe();\n }\n private _disabled = false;\n\n /** Debounce interval for emitting the changes. */\n @Input()\n get debounce(): number {\n return this._debounce!;\n }\n set debounce(value: NumberInput) {\n this._debounce = coerceNumberProperty(value);\n this._subscribe();\n }\n private _debounce: number | undefined;\n\n private _currentSubscription: Subscription | null = null;\n\n ngAfterContentInit() {\n if (!this._currentSubscription && !this.disabled) {\n this._subscribe();\n }\n }\n\n ngOnDestroy() {\n this._unsubscribe();\n }\n\n private _subscribe() {\n this._unsubscribe();\n const stream = this._contentObserver.observe(this._elementRef);\n\n this._currentSubscription = (\n this.debounce ? stream.pipe(debounceTime(this.debounce)) : stream\n ).subscribe(this.event);\n }\n\n private _unsubscribe() {\n this._currentSubscription?.unsubscribe();\n }\n}\n\n@NgModule({\n imports: [CdkObserveContent],\n exports: [CdkObserveContent],\n providers: [MutationObserverFactory],\n})\nexport class ObserversModule {}\n"],"names":["shouldIgnoreRecord","record","type","target","Comment","i","addedNodes","length","removedNodes","MutationObserverFactory","create","callback","MutationObserver","deps","i0","ɵɵFactoryTarget","Service","decorators","ContentObserver","_mutationObserverFactory","inject","_observedElements","Map","_ngZone","NgZone","ngOnDestroy","forEach","_","element","_cleanupObserver","observe","elementOrRef","coerceElement","Observable","observer","stream","_observeElement","subscription","pipe","map","records","filter","subscribe","run","next","unsubscribe","_unobserveElement","runOutsideAngular","has","Subject","mutations","characterData","childList","subtree","set","count","get","disconnect","complete","delete","CdkObserveContent","_contentObserver","_elementRef","ElementRef","event","EventEmitter","disabled","_disabled","value","_unsubscribe","_subscribe","debounce","_debounce","coerceNumberProperty","_currentSubscription","ngAfterContentInit","debounceTime","Directive","ɵdir","ɵɵngDeclareDirective","minVersion","version","booleanAttribute","outputs","exportAs","ngImport","args","selector","Output","Input","alias","transform","ObserversModule","NgModule","imports","exports","providers"],"mappings":"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"}
1
+ {"version":3,"file":"observers.mjs","sources":["../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/cdk/observers/observe-content.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 {NumberInput, coerceElement, coerceNumberProperty} from '../coercion';\nimport {\n AfterContentInit,\n Directive,\n ElementRef,\n EventEmitter,\n Service,\n Input,\n NgModule,\n NgZone,\n OnDestroy,\n Output,\n booleanAttribute,\n inject,\n} from '@angular/core';\nimport {Observable, Observer, Subject, Subscription} from 'rxjs';\nimport {debounceTime, filter, map} from 'rxjs/operators';\n\n// Angular may add, remove, or edit comment nodes during change detection. We don't care about\n// these changes because they don't affect the user-preceived content, and worse it can cause\n// infinite change detection cycles where the change detection updates a comment, triggering the\n// MutationObserver, triggering another change detection and kicking the cycle off again.\nfunction shouldIgnoreRecord(record: MutationRecord) {\n // Ignore changes to comment text.\n if (record.type === 'characterData' && record.target instanceof Comment) {\n return true;\n }\n // Ignore addition / removal of comments.\n if (record.type === 'childList') {\n for (let i = 0; i < record.addedNodes.length; i++) {\n if (!(record.addedNodes[i] instanceof Comment)) {\n return false;\n }\n }\n for (let i = 0; i < record.removedNodes.length; i++) {\n if (!(record.removedNodes[i] instanceof Comment)) {\n return false;\n }\n }\n return true;\n }\n // Observe everything else.\n return false;\n}\n\n/**\n * Factory that creates a new MutationObserver and allows us to stub it out in unit tests.\n * @docs-private\n */\n@Service()\nexport class MutationObserverFactory {\n create(callback: MutationCallback): MutationObserver | null {\n return typeof MutationObserver === 'undefined' ? null : new MutationObserver(callback);\n }\n}\n\n/** An injectable service that allows watching elements for changes to their content. */\n@Service()\nexport class ContentObserver implements OnDestroy {\n private _mutationObserverFactory = inject(MutationObserverFactory);\n\n /** Keeps track of the existing MutationObservers so they can be reused. */\n private _observedElements = new Map<\n Element,\n {\n observer: MutationObserver | null;\n readonly stream: Subject<MutationRecord[]>;\n count: number;\n }\n >();\n\n private _ngZone = inject(NgZone);\n\n ngOnDestroy() {\n this._observedElements.forEach((_, element) => this._cleanupObserver(element));\n }\n\n /**\n * Observe content changes on an element.\n * @param element The element to observe for content changes.\n */\n observe(element: Element): Observable<MutationRecord[]>;\n\n /**\n * Observe content changes on an element.\n * @param element The element to observe for content changes.\n */\n observe(element: ElementRef<Element>): Observable<MutationRecord[]>;\n\n observe(elementOrRef: Element | ElementRef<Element>): Observable<MutationRecord[]> {\n const element = coerceElement(elementOrRef);\n\n return new Observable((observer: Observer<MutationRecord[]>) => {\n const stream = this._observeElement(element);\n const subscription = stream\n .pipe(\n map(records => records.filter(record => !shouldIgnoreRecord(record))),\n filter(records => !!records.length),\n )\n .subscribe(records => {\n this._ngZone.run(() => {\n observer.next(records);\n });\n });\n\n return () => {\n subscription.unsubscribe();\n this._unobserveElement(element);\n };\n });\n }\n\n /**\n * Observes the given element by using the existing MutationObserver if available, or creating a\n * new one if not.\n */\n private _observeElement(element: Element): Subject<MutationRecord[]> {\n return this._ngZone.runOutsideAngular(() => {\n if (!this._observedElements.has(element)) {\n const stream = new Subject<MutationRecord[]>();\n const observer = this._mutationObserverFactory.create(mutations => stream.next(mutations));\n if (observer) {\n observer.observe(element, {\n characterData: true,\n childList: true,\n subtree: true,\n });\n }\n this._observedElements.set(element, {observer, stream, count: 1});\n } else {\n this._observedElements.get(element)!.count++;\n }\n return this._observedElements.get(element)!.stream;\n });\n }\n\n /**\n * Un-observes the given element and cleans up the underlying MutationObserver if nobody else is\n * observing this element.\n */\n private _unobserveElement(element: Element) {\n if (this._observedElements.has(element)) {\n this._observedElements.get(element)!.count--;\n if (!this._observedElements.get(element)!.count) {\n this._cleanupObserver(element);\n }\n }\n }\n\n /** Clean up the underlying MutationObserver for the specified element. */\n private _cleanupObserver(element: Element) {\n if (this._observedElements.has(element)) {\n const {observer, stream} = this._observedElements.get(element)!;\n if (observer) {\n observer.disconnect();\n }\n stream.complete();\n this._observedElements.delete(element);\n }\n }\n}\n\n/**\n * Directive that triggers a callback whenever the content of\n * its associated element has changed.\n */\n@Directive({\n selector: '[cdkObserveContent]',\n exportAs: 'cdkObserveContent',\n})\nexport class CdkObserveContent implements AfterContentInit, OnDestroy {\n private _contentObserver = inject(ContentObserver);\n private _elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n\n /** Event emitted for each change in the element's content. */\n @Output('cdkObserveContent') readonly event = new EventEmitter<MutationRecord[]>();\n\n /**\n * Whether observing content is disabled. This option can be used\n * to disconnect the underlying MutationObserver until it is needed.\n */\n @Input({alias: 'cdkObserveContentDisabled', transform: booleanAttribute})\n get disabled(): boolean {\n return this._disabled;\n }\n set disabled(value: boolean) {\n this._disabled = value;\n this._disabled ? this._unsubscribe() : this._subscribe();\n }\n private _disabled = false;\n\n /** Debounce interval for emitting the changes. */\n @Input()\n get debounce(): number {\n return this._debounce!;\n }\n set debounce(value: NumberInput) {\n this._debounce = coerceNumberProperty(value);\n this._subscribe();\n }\n private _debounce: number | undefined;\n\n private _currentSubscription: Subscription | null = null;\n\n ngAfterContentInit() {\n if (!this._currentSubscription && !this.disabled) {\n this._subscribe();\n }\n }\n\n ngOnDestroy() {\n this._unsubscribe();\n }\n\n private _subscribe() {\n this._unsubscribe();\n const stream = this._contentObserver.observe(this._elementRef);\n\n this._currentSubscription = (\n this.debounce ? stream.pipe(debounceTime(this.debounce)) : stream\n ).subscribe(this.event);\n }\n\n private _unsubscribe() {\n this._currentSubscription?.unsubscribe();\n }\n}\n\n@NgModule({\n imports: [CdkObserveContent],\n exports: [CdkObserveContent],\n providers: [MutationObserverFactory],\n})\nexport class ObserversModule {}\n"],"names":["shouldIgnoreRecord","record","type","target","Comment","i","addedNodes","length","removedNodes","MutationObserverFactory","create","callback","MutationObserver","deps","i0","ɵɵFactoryTarget","Service","decorators","ContentObserver","_mutationObserverFactory","inject","_observedElements","Map","_ngZone","NgZone","ngOnDestroy","forEach","_","element","_cleanupObserver","observe","elementOrRef","coerceElement","Observable","observer","stream","_observeElement","subscription","pipe","map","records","filter","subscribe","run","next","unsubscribe","_unobserveElement","runOutsideAngular","has","Subject","mutations","characterData","childList","subtree","set","count","get","disconnect","complete","delete","CdkObserveContent","_contentObserver","_elementRef","ElementRef","event","EventEmitter","disabled","_disabled","value","_unsubscribe","_subscribe","debounce","_debounce","coerceNumberProperty","_currentSubscription","ngAfterContentInit","debounceTime","Directive","ɵdir","ɵɵngDeclareDirective","minVersion","version","booleanAttribute","outputs","exportAs","ngImport","args","selector","Output","Input","alias","transform","ObserversModule","NgModule","imports","exports","providers"],"mappings":";;;;;;AA8BA,SAASA,kBAAkBA,CAACC,MAAsB,EAAA;EAEhD,IAAIA,MAAM,CAACC,IAAI,KAAK,eAAe,IAAID,MAAM,CAACE,MAAM,YAAYC,OAAO,EAAE;AACvE,IAAA,OAAO,IAAI;AACb,EAAA;AAEA,EAAA,IAAIH,MAAM,CAACC,IAAI,KAAK,WAAW,EAAE;AAC/B,IAAA,KAAK,IAAIG,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGJ,MAAM,CAACK,UAAU,CAACC,MAAM,EAAEF,CAAC,EAAE,EAAE;MACjD,IAAI,EAAEJ,MAAM,CAACK,UAAU,CAACD,CAAC,CAAC,YAAYD,OAAO,CAAC,EAAE;AAC9C,QAAA,OAAO,KAAK;AACd,MAAA;AACF,IAAA;AACA,IAAA,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGJ,MAAM,CAACO,YAAY,CAACD,MAAM,EAAEF,CAAC,EAAE,EAAE;MACnD,IAAI,EAAEJ,MAAM,CAACO,YAAY,CAACH,CAAC,CAAC,YAAYD,OAAO,CAAC,EAAE;AAChD,QAAA,OAAO,KAAK;AACd,MAAA;AACF,IAAA;AACA,IAAA,OAAO,IAAI;AACb,EAAA;AAEA,EAAA,OAAO,KAAK;AACd;MAOaK,uBAAuB,CAAA;EAClCC,MAAMA,CAACC,QAA0B,EAAA;IAC/B,OAAO,OAAOC,gBAAgB,KAAK,WAAW,GAAG,IAAI,GAAG,IAAIA,gBAAgB,CAACD,QAAQ,CAAC;AACxF,EAAA;;;;;UAHWF,uBAAuB;AAAAI,IAAAA,IAAA,EAAA,EAAA;AAAAV,IAAAA,MAAA,EAAAW,EAAA,CAAAC,eAAA,CAAAC;AAAA,GAAA,CAAA;;;;;UAAvBP;AAAuB,GAAA,CAAA;;;;;;QAAvBA,uBAAuB;AAAAQ,EAAAA,UAAA,EAAA,CAAA;UADnCD;;;MASYE,eAAe,CAAA;AAClBC,EAAAA,wBAAwB,GAAGC,MAAM,CAACX,uBAAuB,CAAC;AAG1DY,EAAAA,iBAAiB,GAAG,IAAIC,GAAG,EAOhC;AAEKC,EAAAA,OAAO,GAAGH,MAAM,CAACI,MAAM,CAAC;AAEhCC,EAAAA,WAAWA,GAAA;AACT,IAAA,IAAI,CAACJ,iBAAiB,CAACK,OAAO,CAAC,CAACC,CAAC,EAAEC,OAAO,KAAK,IAAI,CAACC,gBAAgB,CAACD,OAAO,CAAC,CAAC;AAChF,EAAA;EAcAE,OAAOA,CAACC,YAA2C,EAAA;AACjD,IAAA,MAAMH,OAAO,GAAGI,aAAa,CAACD,YAAY,CAAC;AAE3C,IAAA,OAAO,IAAIE,UAAU,CAAEC,QAAoC,IAAI;AAC7D,MAAA,MAAMC,MAAM,GAAG,IAAI,CAACC,eAAe,CAACR,OAAO,CAAC;AAC5C,MAAA,MAAMS,YAAY,GAAGF,MAAA,CAClBG,IAAI,CACHC,GAAG,CAACC,OAAO,IAAIA,OAAO,CAACC,MAAM,CAACxC,MAAM,IAAI,CAACD,kBAAkB,CAACC,MAAM,CAAC,CAAC,CAAC,EACrEwC,MAAM,CAACD,OAAO,IAAI,CAAC,CAACA,OAAO,CAACjC,MAAM,CAAC,CAAA,CAEpCmC,SAAS,CAACF,OAAO,IAAG;AACnB,QAAA,IAAI,CAACjB,OAAO,CAACoB,GAAG,CAAC,MAAK;AACpBT,UAAAA,QAAQ,CAACU,IAAI,CAACJ,OAAO,CAAC;AACxB,QAAA,CAAC,CAAC;AACJ,MAAA,CAAC,CAAC;AAEJ,MAAA,OAAO,MAAK;QACVH,YAAY,CAACQ,WAAW,EAAE;AAC1B,QAAA,IAAI,CAACC,iBAAiB,CAAClB,OAAO,CAAC;MACjC,CAAC;AACH,IAAA,CAAC,CAAC;AACJ,EAAA;EAMQQ,eAAeA,CAACR,OAAgB,EAAA;AACtC,IAAA,OAAO,IAAI,CAACL,OAAO,CAACwB,iBAAiB,CAAC,MAAK;MACzC,IAAI,CAAC,IAAI,CAAC1B,iBAAiB,CAAC2B,GAAG,CAACpB,OAAO,CAAC,EAAE;AACxC,QAAA,MAAMO,MAAM,GAAG,IAAIc,OAAO,EAAoB;AAC9C,QAAA,MAAMf,QAAQ,GAAG,IAAI,CAACf,wBAAwB,CAACT,MAAM,CAACwC,SAAS,IAAIf,MAAM,CAACS,IAAI,CAACM,SAAS,CAAC,CAAC;AAC1F,QAAA,IAAIhB,QAAQ,EAAE;AACZA,UAAAA,QAAQ,CAACJ,OAAO,CAACF,OAAO,EAAE;AACxBuB,YAAAA,aAAa,EAAE,IAAI;AACnBC,YAAAA,SAAS,EAAE,IAAI;AACfC,YAAAA,OAAO,EAAE;AACV,WAAA,CAAC;AACJ,QAAA;AACA,QAAA,IAAI,CAAChC,iBAAiB,CAACiC,GAAG,CAAC1B,OAAO,EAAE;UAACM,QAAQ;UAAEC,MAAM;AAAEoB,UAAAA,KAAK,EAAE;AAAC,SAAC,CAAC;AACnE,MAAA,CAAA,MAAO;QACL,IAAI,CAAClC,iBAAiB,CAACmC,GAAG,CAAC5B,OAAO,CAAE,CAAC2B,KAAK,EAAE;AAC9C,MAAA;MACA,OAAO,IAAI,CAAClC,iBAAiB,CAACmC,GAAG,CAAC5B,OAAO,CAAE,CAACO,MAAM;AACpD,IAAA,CAAC,CAAC;AACJ,EAAA;EAMQW,iBAAiBA,CAAClB,OAAgB,EAAA;IACxC,IAAI,IAAI,CAACP,iBAAiB,CAAC2B,GAAG,CAACpB,OAAO,CAAC,EAAE;MACvC,IAAI,CAACP,iBAAiB,CAACmC,GAAG,CAAC5B,OAAO,CAAE,CAAC2B,KAAK,EAAE;MAC5C,IAAI,CAAC,IAAI,CAAClC,iBAAiB,CAACmC,GAAG,CAAC5B,OAAO,CAAE,CAAC2B,KAAK,EAAE;AAC/C,QAAA,IAAI,CAAC1B,gBAAgB,CAACD,OAAO,CAAC;AAChC,MAAA;AACF,IAAA;AACF,EAAA;EAGQC,gBAAgBA,CAACD,OAAgB,EAAA;IACvC,IAAI,IAAI,CAACP,iBAAiB,CAAC2B,GAAG,CAACpB,OAAO,CAAC,EAAE;MACvC,MAAM;QAACM,QAAQ;AAAEC,QAAAA;OAAO,GAAG,IAAI,CAACd,iBAAiB,CAACmC,GAAG,CAAC5B,OAAO,CAAE;AAC/D,MAAA,IAAIM,QAAQ,EAAE;QACZA,QAAQ,CAACuB,UAAU,EAAE;AACvB,MAAA;MACAtB,MAAM,CAACuB,QAAQ,EAAE;AACjB,MAAA,IAAI,CAACrC,iBAAiB,CAACsC,MAAM,CAAC/B,OAAO,CAAC;AACxC,IAAA;AACF,EAAA;;;;;UArGWV,eAAe;AAAAL,IAAAA,IAAA,EAAA,EAAA;AAAAV,IAAAA,MAAA,EAAAW,EAAA,CAAAC,eAAA,CAAAC;AAAA,GAAA,CAAA;;;;;UAAfE;AAAe,GAAA,CAAA;;;;;;QAAfA,eAAe;AAAAD,EAAAA,UAAA,EAAA,CAAA;UAD3BD;;;MAiHY4C,iBAAiB,CAAA;AACpBC,EAAAA,gBAAgB,GAAGzC,MAAM,CAACF,eAAe,CAAC;AAC1C4C,EAAAA,WAAW,GAAG1C,MAAM,CAA0B2C,UAAU,CAAC;AAG3BC,EAAAA,KAAK,GAAG,IAAIC,YAAY,EAAoB;EAMlF,IACIC,QAAQA,GAAA;IACV,OAAO,IAAI,CAACC,SAAS;AACvB,EAAA;EACA,IAAID,QAAQA,CAACE,KAAc,EAAA;IACzB,IAAI,CAACD,SAAS,GAAGC,KAAK;AACtB,IAAA,IAAI,CAACD,SAAS,GAAG,IAAI,CAACE,YAAY,EAAE,GAAG,IAAI,CAACC,UAAU,EAAE;AAC1D,EAAA;AACQH,EAAAA,SAAS,GAAG,KAAK;EAGzB,IACII,QAAQA,GAAA;IACV,OAAO,IAAI,CAACC,SAAU;AACxB,EAAA;EACA,IAAID,QAAQA,CAACH,KAAkB,EAAA;AAC7B,IAAA,IAAI,CAACI,SAAS,GAAGC,oBAAoB,CAACL,KAAK,CAAC;IAC5C,IAAI,CAACE,UAAU,EAAE;AACnB,EAAA;EACQE,SAAS;AAETE,EAAAA,oBAAoB,GAAwB,IAAI;AAExDC,EAAAA,kBAAkBA,GAAA;IAChB,IAAI,CAAC,IAAI,CAACD,oBAAoB,IAAI,CAAC,IAAI,CAACR,QAAQ,EAAE;MAChD,IAAI,CAACI,UAAU,EAAE;AACnB,IAAA;AACF,EAAA;AAEA7C,EAAAA,WAAWA,GAAA;IACT,IAAI,CAAC4C,YAAY,EAAE;AACrB,EAAA;AAEQC,EAAAA,UAAUA,GAAA;IAChB,IAAI,CAACD,YAAY,EAAE;IACnB,MAAMlC,MAAM,GAAG,IAAI,CAAC0B,gBAAgB,CAAC/B,OAAO,CAAC,IAAI,CAACgC,WAAW,CAAC;IAE9D,IAAI,CAACY,oBAAoB,GAAG,CAC1B,IAAI,CAACH,QAAQ,GAAGpC,MAAM,CAACG,IAAI,CAACsC,YAAY,CAAC,IAAI,CAACL,QAAQ,CAAC,CAAC,GAAGpC,MAAM,EACjEO,SAAS,CAAC,IAAI,CAACsB,KAAK,CAAC;AACzB,EAAA;AAEQK,EAAAA,YAAYA,GAAA;AAClB,IAAA,IAAI,CAACK,oBAAoB,EAAE7B,WAAW,EAAE;AAC1C,EAAA;;;;;UAvDWe,iBAAiB;AAAA/C,IAAAA,IAAA,EAAA,EAAA;AAAAV,IAAAA,MAAA,EAAAW,EAAA,CAAAC,eAAA,CAAA8D;AAAA,GAAA,CAAA;AAAjB,EAAA,OAAAC,IAAA,GAAAhE,EAAA,CAAAiE,oBAAA,CAAA;AAAAC,IAAAA,UAAA,EAAA,QAAA;AAAAC,IAAAA,OAAA,EAAA,QAAA;AAAA/E,IAAAA,IAAA,EAAA0D,iBAAiB;;;;0DAW2BsB,gBAAgB,CAAA;AAAAX,MAAAA,QAAA,EAAA;KAAA;AAAAY,IAAAA,OAAA,EAAA;AAAAnB,MAAAA,KAAA,EAAA;KAAA;IAAAoB,QAAA,EAAA,CAAA,mBAAA,CAAA;AAAAC,IAAAA,QAAA,EAAAvE;AAAA,GAAA,CAAA;;;;;;QAX5D8C,iBAAiB;AAAA3C,EAAAA,UAAA,EAAA,CAAA;UAJ7B4D,SAAS;AAACS,IAAAA,IAAA,EAAA,CAAA;AACTC,MAAAA,QAAQ,EAAE,qBAAqB;AAC/BH,MAAAA,QAAQ,EAAE;KACX;;;;YAMEI,MAAM;aAAC,mBAAmB;;;YAM1BC,KAAK;AAACH,MAAAA,IAAA,EAAA,CAAA;AAACI,QAAAA,KAAK,EAAE,2BAA2B;AAAEC,QAAAA,SAAS,EAAET;OAAiB;;;YAWvEO;;;;MAyCUG,eAAe,CAAA;;;;;UAAfA,eAAe;AAAA/E,IAAAA,IAAA,EAAA,EAAA;AAAAV,IAAAA,MAAA,EAAAW,EAAA,CAAAC,eAAA,CAAA8E;AAAA,GAAA,CAAA;;;;;UAAfD,eAAe;IAAAE,OAAA,EAAA,CA/DflC,iBAAiB,CAAA;IAAAmC,OAAA,EAAA,CAAjBnC,iBAAiB;AAAA,GAAA,CAAA;;;;;UA+DjBgC,eAAe;IAAAI,SAAA,EAFf,CAACvF,uBAAuB;AAAC,GAAA,CAAA;;;;;;QAEzBmF,eAAe;AAAA3E,EAAAA,UAAA,EAAA,CAAA;UAL3B4E,QAAQ;AAACP,IAAAA,IAAA,EAAA,CAAA;MACRQ,OAAO,EAAE,CAAClC,iBAAiB,CAAC;MAC5BmC,OAAO,EAAE,CAACnC,iBAAiB,CAAC;MAC5BoC,SAAS,EAAE,CAACvF,uBAAuB;KACpC;;;;;;"}
@@ -70,7 +70,7 @@ class FullscreenOverlayContainer extends OverlayContainer {
70
70
  }
71
71
  static ɵfac = i0.ɵɵngDeclareFactory({
72
72
  minVersion: "12.0.0",
73
- version: "22.0.0-rc.2",
73
+ version: "22.0.0",
74
74
  ngImport: i0,
75
75
  type: FullscreenOverlayContainer,
76
76
  deps: [],
@@ -78,14 +78,14 @@ class FullscreenOverlayContainer extends OverlayContainer {
78
78
  });
79
79
  static ɵprov = i0.ɵɵngDeclareService({
80
80
  minVersion: "22.0.0",
81
- version: "22.0.0-rc.2",
81
+ version: "22.0.0",
82
82
  ngImport: i0,
83
83
  type: FullscreenOverlayContainer
84
84
  });
85
85
  }
86
86
  i0.ɵɵngDeclareClassMetadata({
87
87
  minVersion: "12.0.0",
88
- version: "22.0.0-rc.2",
88
+ version: "22.0.0",
89
89
  ngImport: i0,
90
90
  type: FullscreenOverlayContainer,
91
91
  decorators: [{
@@ -10,7 +10,7 @@ import '@angular/common';
10
10
  class PlatformModule {
11
11
  static ɵfac = i0.ɵɵngDeclareFactory({
12
12
  minVersion: "12.0.0",
13
- version: "22.0.0-rc.2",
13
+ version: "22.0.0",
14
14
  ngImport: i0,
15
15
  type: PlatformModule,
16
16
  deps: [],
@@ -18,20 +18,20 @@ class PlatformModule {
18
18
  });
19
19
  static ɵmod = i0.ɵɵngDeclareNgModule({
20
20
  minVersion: "14.0.0",
21
- version: "22.0.0-rc.2",
21
+ version: "22.0.0",
22
22
  ngImport: i0,
23
23
  type: PlatformModule
24
24
  });
25
25
  static ɵinj = i0.ɵɵngDeclareInjector({
26
26
  minVersion: "12.0.0",
27
- version: "22.0.0-rc.2",
27
+ version: "22.0.0",
28
28
  ngImport: i0,
29
29
  type: PlatformModule
30
30
  });
31
31
  }
32
32
  i0.ɵɵngDeclareClassMetadata({
33
33
  minVersion: "12.0.0",
34
- version: "22.0.0-rc.2",
34
+ version: "22.0.0",
35
35
  ngImport: i0,
36
36
  type: PlatformModule,
37
37
  decorators: [{
@@ -257,7 +257,7 @@ class CdkPortal extends TemplatePortal {
257
257
  }
258
258
  static ɵfac = i0.ɵɵngDeclareFactory({
259
259
  minVersion: "12.0.0",
260
- version: "22.0.0-rc.2",
260
+ version: "22.0.0",
261
261
  ngImport: i0,
262
262
  type: CdkPortal,
263
263
  deps: [],
@@ -265,7 +265,7 @@ class CdkPortal extends TemplatePortal {
265
265
  });
266
266
  static ɵdir = i0.ɵɵngDeclareDirective({
267
267
  minVersion: "14.0.0",
268
- version: "22.0.0-rc.2",
268
+ version: "22.0.0",
269
269
  type: CdkPortal,
270
270
  isStandalone: true,
271
271
  selector: "[cdkPortal]",
@@ -276,7 +276,7 @@ class CdkPortal extends TemplatePortal {
276
276
  }
277
277
  i0.ɵɵngDeclareClassMetadata({
278
278
  minVersion: "12.0.0",
279
- version: "22.0.0-rc.2",
279
+ version: "22.0.0",
280
280
  ngImport: i0,
281
281
  type: CdkPortal,
282
282
  decorators: [{
@@ -375,7 +375,7 @@ class CdkPortalOutlet extends BasePortalOutlet {
375
375
  }
376
376
  static ɵfac = i0.ɵɵngDeclareFactory({
377
377
  minVersion: "12.0.0",
378
- version: "22.0.0-rc.2",
378
+ version: "22.0.0",
379
379
  ngImport: i0,
380
380
  type: CdkPortalOutlet,
381
381
  deps: null,
@@ -383,7 +383,7 @@ class CdkPortalOutlet extends BasePortalOutlet {
383
383
  });
384
384
  static ɵdir = i0.ɵɵngDeclareDirective({
385
385
  minVersion: "14.0.0",
386
- version: "22.0.0-rc.2",
386
+ version: "22.0.0",
387
387
  type: CdkPortalOutlet,
388
388
  isStandalone: true,
389
389
  selector: "[cdkPortalOutlet]",
@@ -400,7 +400,7 @@ class CdkPortalOutlet extends BasePortalOutlet {
400
400
  }
401
401
  i0.ɵɵngDeclareClassMetadata({
402
402
  minVersion: "12.0.0",
403
- version: "22.0.0-rc.2",
403
+ version: "22.0.0",
404
404
  ngImport: i0,
405
405
  type: CdkPortalOutlet,
406
406
  decorators: [{
@@ -423,7 +423,7 @@ i0.ɵɵngDeclareClassMetadata({
423
423
  class PortalModule {
424
424
  static ɵfac = i0.ɵɵngDeclareFactory({
425
425
  minVersion: "12.0.0",
426
- version: "22.0.0-rc.2",
426
+ version: "22.0.0",
427
427
  ngImport: i0,
428
428
  type: PortalModule,
429
429
  deps: [],
@@ -431,7 +431,7 @@ class PortalModule {
431
431
  });
432
432
  static ɵmod = i0.ɵɵngDeclareNgModule({
433
433
  minVersion: "14.0.0",
434
- version: "22.0.0-rc.2",
434
+ version: "22.0.0",
435
435
  ngImport: i0,
436
436
  type: PortalModule,
437
437
  imports: [CdkPortal, CdkPortalOutlet],
@@ -439,14 +439,14 @@ class PortalModule {
439
439
  });
440
440
  static ɵinj = i0.ɵɵngDeclareInjector({
441
441
  minVersion: "12.0.0",
442
- version: "22.0.0-rc.2",
442
+ version: "22.0.0",
443
443
  ngImport: i0,
444
444
  type: PortalModule
445
445
  });
446
446
  }
447
447
  i0.ɵɵngDeclareClassMetadata({
448
448
  minVersion: "12.0.0",
449
- version: "22.0.0-rc.2",
449
+ version: "22.0.0",
450
450
  ngImport: i0,
451
451
  type: PortalModule,
452
452
  decorators: [{
@@ -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":["throwNullPortalError","Error","throwPortalAlreadyAttachedError","throwPortalOutletAlreadyDisposedError","throwUnknownPortalTypeError","throwNullPortalOutletError","throwNoPortalAttachedError","Portal","_attachedHost","attach","host","ngDevMode","hasAttached","detach","isAttached","setAttachedHost","ComponentPortal","component","viewContainerRef","injector","projectableNodes","bindings","directives","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-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":["throwNullPortalError","Error","throwPortalAlreadyAttachedError","throwPortalOutletAlreadyDisposedError","throwUnknownPortalTypeError","throwNullPortalOutletError","throwNoPortalAttachedError","Portal","_attachedHost","attach","host","ngDevMode","hasAttached","detach","isAttached","setAttachedHost","ComponentPortal","component","viewContainerRef","injector","projectableNodes","bindings","directives","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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"}
@@ -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.0.0-rc.2",
8
+ version: "22.0.0",
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.0.0-rc.2",
16
+ version: "22.0.0",
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.0.0-rc.2",
30
+ version: "22.0.0",
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 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","/**\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":["_VisuallyHiddenLoader","deps","target","i0","ɵɵFactoryTarget","Component","ɵcmp","ɵɵngDeclareComponent","minVersion","version","type","isInline","styles","encapsulation","ViewEncapsulation","None","decorators","args","exportAs","policy","getPolicy","undefined","window","ttWindow","trustedTypes","createPolicy","createHTML","s","trustedHTMLFromString","html","_setInnerHtml","element","sanitizer","cleanHtml","sanitize","SecurityContext","HTML","ngDevMode","Error","innerHTML"],"mappings":";;;;MAoBaA,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,aAAA;AAAAC,IAAAA,IAAA,EAAAV,qBAAqB;;;;;cAFtB,EAAE;AAAAW,IAAAA,QAAA,EAAA,IAAA;IAAAC,MAAA,EAAA,CAAA,yVAAA,CAAA;AAAAC,IAAAA,aAAA,EAAAV,EAAA,CAAAW,iBAAA,CAAAC;AAAA,GAAA,CAAA;;;;;;QAEDf,qBAAqB;AAAAgB,EAAAA,UAAA,EAAA,CAAA;UANjCX,SAAS;AAEEY,IAAAA,IAAA,EAAA,CAAA;AAAAC,MAAAA,QAAA,EAAA,mBAAmB;MAAAL,aAAA,EACdC,iBAAiB,CAACC,IAAI;gBAC3B,EAAE;MAAAH,MAAA,EAAA,CAAA,yVAAA;KAAA;;;;ACiBd,IAAIO,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,MAAA;AACF,IAAA;AACF,EAAA;AACA,EAAA,OAAOR,MAAM;AACf;AAYM,SAAUS,qBAAqBA,CAACC,IAAY,EAAA;EAChD,OAAOT,SAAS,EAAE,EAAEM,UAAU,CAACG,IAAI,CAAC,IAAKA,IAA+B;AAC1E;;SCnDgBC,aAAaA,CAACC,OAAoB,EAAEF,IAAc,EAAEG,SAAuB,EAAA;EACzF,MAAMC,SAAS,GAAGD,SAAS,CAACE,QAAQ,CAACC,eAAe,CAACC,IAAI,EAAEP,IAAI,CAAC;EAEhE,IAAII,SAAS,KAAK,IAAI,KAAK,OAAOI,SAAS,KAAK,WAAW,IAAIA,SAAS,CAAC,EAAE;AACzE,IAAA,MAAM,IAAIC,KAAK,CAAC,CAAA,yBAAA,EAA4BT,IAAI,EAAE,CAAC;AACrD,EAAA;EAEAE,OAAO,CAACQ,SAAS,GAAGX,qBAAqB,CAACK,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 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","/**\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":["_VisuallyHiddenLoader","deps","target","i0","ɵɵFactoryTarget","Component","ɵcmp","ɵɵngDeclareComponent","minVersion","version","type","isInline","styles","encapsulation","ViewEncapsulation","None","decorators","args","exportAs","policy","getPolicy","undefined","window","ttWindow","trustedTypes","createPolicy","createHTML","s","trustedHTMLFromString","html","_setInnerHtml","element","sanitizer","cleanHtml","sanitize","SecurityContext","HTML","ngDevMode","Error","innerHTML"],"mappings":";;;;MAoBaA,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,QAAA;AAAAC,IAAAA,IAAA,EAAAV,qBAAqB;;;;;cAFtB,EAAE;AAAAW,IAAAA,QAAA,EAAA,IAAA;IAAAC,MAAA,EAAA,CAAA,yVAAA,CAAA;AAAAC,IAAAA,aAAA,EAAAV,EAAA,CAAAW,iBAAA,CAAAC;AAAA,GAAA,CAAA;;;;;;QAEDf,qBAAqB;AAAAgB,EAAAA,UAAA,EAAA,CAAA;UANjCX,SAAS;AAEEY,IAAAA,IAAA,EAAA,CAAA;AAAAC,MAAAA,QAAA,EAAA,mBAAmB;MAAAL,aAAA,EACdC,iBAAiB,CAACC,IAAI;gBAC3B,EAAE;MAAAH,MAAA,EAAA,CAAA,yVAAA;KAAA;;;;ACiBd,IAAIO,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,MAAA;AACF,IAAA;AACF,EAAA;AACA,EAAA,OAAOR,MAAM;AACf;AAYM,SAAUS,qBAAqBA,CAACC,IAAY,EAAA;EAChD,OAAOT,SAAS,EAAE,EAAEM,UAAU,CAACG,IAAI,CAAC,IAAKA,IAA+B;AAC1E;;SCnDgBC,aAAaA,CAACC,OAAoB,EAAEF,IAAc,EAAEG,SAAuB,EAAA;EACzF,MAAMC,SAAS,GAAGD,SAAS,CAACE,QAAQ,CAACC,eAAe,CAACC,IAAI,EAAEP,IAAI,CAAC;EAEhE,IAAII,SAAS,KAAK,IAAI,KAAK,OAAOI,SAAS,KAAK,WAAW,IAAIA,SAAS,CAAC,EAAE;AACzE,IAAA,MAAM,IAAIC,KAAK,CAAC,CAAA,yBAAA,EAA4BT,IAAI,EAAE,CAAC;AACrD,EAAA;EAEAE,OAAO,CAACQ,SAAS,GAAGX,qBAAqB,CAACK,SAAS,IAAI,EAAE,CAAsB;AACjF;;;;"}