@angular/cdk 17.0.0-next.2 → 17.0.0-next.4

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 (162) hide show
  1. package/a11y/index.d.ts +4 -5
  2. package/accordion/index.d.ts +6 -8
  3. package/drag-drop/index.d.ts +14 -12
  4. package/esm2022/a11y/a11y-module.mjs +5 -5
  5. package/esm2022/a11y/aria-describer/aria-describer.mjs +4 -4
  6. package/esm2022/a11y/focus-monitor/focus-monitor.mjs +7 -7
  7. package/esm2022/a11y/focus-trap/configurable-focus-trap-factory.mjs +4 -4
  8. package/esm2022/a11y/focus-trap/focus-trap-manager.mjs +4 -4
  9. package/esm2022/a11y/focus-trap/focus-trap.mjs +11 -22
  10. package/esm2022/a11y/high-contrast-mode/high-contrast-mode-detector.mjs +4 -4
  11. package/esm2022/a11y/input-modality/input-modality-detector.mjs +4 -4
  12. package/esm2022/a11y/interactivity-checker/interactivity-checker.mjs +4 -4
  13. package/esm2022/a11y/live-announcer/live-announcer.mjs +7 -7
  14. package/esm2022/accordion/accordion-item.mjs +11 -17
  15. package/esm2022/accordion/accordion-module.mjs +5 -5
  16. package/esm2022/accordion/accordion.mjs +10 -16
  17. package/esm2022/bidi/bidi-module.mjs +5 -5
  18. package/esm2022/bidi/dir.mjs +4 -4
  19. package/esm2022/bidi/directionality.mjs +4 -4
  20. package/esm2022/clipboard/clipboard-module.mjs +5 -5
  21. package/esm2022/clipboard/clipboard.mjs +4 -4
  22. package/esm2022/clipboard/copy-to-clipboard.mjs +4 -4
  23. package/esm2022/collections/unique-selection-dispatcher.mjs +4 -4
  24. package/esm2022/dialog/dialog-container.mjs +4 -4
  25. package/esm2022/dialog/dialog-module.mjs +5 -5
  26. package/esm2022/dialog/dialog.mjs +4 -4
  27. package/esm2022/drag-drop/directives/drag-handle.mjs +7 -8
  28. package/esm2022/drag-drop/directives/drag-placeholder.mjs +4 -4
  29. package/esm2022/drag-drop/directives/drag-preview.mjs +9 -15
  30. package/esm2022/drag-drop/directives/drag.mjs +8 -8
  31. package/esm2022/drag-drop/directives/drop-list-group.mjs +8 -15
  32. package/esm2022/drag-drop/directives/drop-list.mjs +12 -12
  33. package/esm2022/drag-drop/drag-drop-module.mjs +5 -5
  34. package/esm2022/drag-drop/drag-drop-registry.mjs +4 -4
  35. package/esm2022/drag-drop/drag-drop.mjs +4 -4
  36. package/esm2022/drag-drop/drag-ref.mjs +5 -6
  37. package/esm2022/layout/breakpoints-observer.mjs +4 -4
  38. package/esm2022/layout/layout-module.mjs +5 -5
  39. package/esm2022/layout/media-matcher.mjs +4 -4
  40. package/esm2022/listbox/listbox-module.mjs +5 -5
  41. package/esm2022/listbox/listbox.mjs +25 -37
  42. package/esm2022/menu/context-menu-trigger.mjs +11 -18
  43. package/esm2022/menu/menu-aim.mjs +7 -7
  44. package/esm2022/menu/menu-bar.mjs +4 -4
  45. package/esm2022/menu/menu-base.mjs +4 -4
  46. package/esm2022/menu/menu-group.mjs +4 -4
  47. package/esm2022/menu/menu-item-checkbox.mjs +4 -4
  48. package/esm2022/menu/menu-item-radio.mjs +4 -4
  49. package/esm2022/menu/menu-item-selectable.mjs +8 -15
  50. package/esm2022/menu/menu-item.mjs +8 -15
  51. package/esm2022/menu/menu-module.mjs +5 -5
  52. package/esm2022/menu/menu-stack.mjs +4 -4
  53. package/esm2022/menu/menu-trigger-base.mjs +4 -4
  54. package/esm2022/menu/menu-trigger.mjs +4 -4
  55. package/esm2022/menu/menu.mjs +4 -4
  56. package/esm2022/observers/observe-content.mjs +18 -18
  57. package/esm2022/observers/private/shared-resize-observer.mjs +4 -4
  58. package/esm2022/overlay/dispatchers/base-overlay-dispatcher.mjs +4 -4
  59. package/esm2022/overlay/dispatchers/overlay-keyboard-dispatcher.mjs +4 -4
  60. package/esm2022/overlay/dispatchers/overlay-outside-click-dispatcher.mjs +4 -4
  61. package/esm2022/overlay/fullscreen-overlay-container.mjs +4 -4
  62. package/esm2022/overlay/overlay-container.mjs +4 -4
  63. package/esm2022/overlay/overlay-directives.mjs +22 -53
  64. package/esm2022/overlay/overlay-module.mjs +5 -5
  65. package/esm2022/overlay/overlay.mjs +4 -4
  66. package/esm2022/overlay/position/overlay-position-builder.mjs +4 -4
  67. package/esm2022/overlay/scroll/scroll-strategy-options.mjs +4 -4
  68. package/esm2022/platform/platform-module.mjs +5 -5
  69. package/esm2022/platform/platform.mjs +4 -4
  70. package/esm2022/portal/portal-directives.mjs +17 -17
  71. package/esm2022/scrolling/fixed-size-virtual-scroll.mjs +4 -4
  72. package/esm2022/scrolling/scroll-dispatcher.mjs +4 -4
  73. package/esm2022/scrolling/scrollable.mjs +4 -4
  74. package/esm2022/scrolling/scrolling-module.mjs +9 -9
  75. package/esm2022/scrolling/viewport-ruler.mjs +4 -4
  76. package/esm2022/scrolling/virtual-for-of.mjs +4 -4
  77. package/esm2022/scrolling/virtual-scroll-viewport.mjs +17 -19
  78. package/esm2022/scrolling/virtual-scrollable-element.mjs +4 -4
  79. package/esm2022/scrolling/virtual-scrollable-window.mjs +4 -4
  80. package/esm2022/scrolling/virtual-scrollable.mjs +4 -4
  81. package/esm2022/stepper/step-header.mjs +4 -4
  82. package/esm2022/stepper/step-label.mjs +4 -4
  83. package/esm2022/stepper/stepper-button.mjs +7 -7
  84. package/esm2022/stepper/stepper-module.mjs +5 -5
  85. package/esm2022/stepper/stepper.mjs +35 -49
  86. package/esm2022/table/cell.mjs +29 -29
  87. package/esm2022/table/coalesced-style-scheduler.mjs +4 -4
  88. package/esm2022/table/row.mjs +28 -28
  89. package/esm2022/table/table-module.mjs +5 -5
  90. package/esm2022/table/table.mjs +28 -27
  91. package/esm2022/table/text-column.mjs +4 -4
  92. package/esm2022/text-field/autofill.mjs +7 -7
  93. package/esm2022/text-field/autosize.mjs +7 -8
  94. package/esm2022/text-field/text-field-module.mjs +5 -5
  95. package/esm2022/tree/nested-node.mjs +4 -4
  96. package/esm2022/tree/node.mjs +4 -4
  97. package/esm2022/tree/outlet.mjs +4 -4
  98. package/esm2022/tree/padding.mjs +4 -4
  99. package/esm2022/tree/toggle.mjs +4 -4
  100. package/esm2022/tree/tree-module.mjs +5 -5
  101. package/esm2022/tree/tree.mjs +7 -7
  102. package/esm2022/version.mjs +1 -1
  103. package/fesm2022/a11y.mjs +45 -55
  104. package/fesm2022/a11y.mjs.map +1 -1
  105. package/fesm2022/accordion.mjs +22 -33
  106. package/fesm2022/accordion.mjs.map +1 -1
  107. package/fesm2022/bidi.mjs +10 -10
  108. package/fesm2022/bidi.mjs.map +1 -1
  109. package/fesm2022/cdk.mjs +1 -1
  110. package/fesm2022/cdk.mjs.map +1 -1
  111. package/fesm2022/clipboard.mjs +10 -10
  112. package/fesm2022/clipboard.mjs.map +1 -1
  113. package/fesm2022/collections.mjs +3 -3
  114. package/fesm2022/collections.mjs.map +1 -1
  115. package/fesm2022/dialog.mjs +10 -10
  116. package/fesm2022/dialog.mjs.map +1 -1
  117. package/fesm2022/drag-drop.mjs +50 -62
  118. package/fesm2022/drag-drop.mjs.map +1 -1
  119. package/fesm2022/layout.mjs +10 -10
  120. package/fesm2022/layout.mjs.map +1 -1
  121. package/fesm2022/listbox.mjs +28 -40
  122. package/fesm2022/listbox.mjs.map +1 -1
  123. package/fesm2022/menu.mjs +59 -78
  124. package/fesm2022/menu.mjs.map +1 -1
  125. package/fesm2022/observers/private.mjs +3 -3
  126. package/fesm2022/observers/private.mjs.map +1 -1
  127. package/fesm2022/observers.mjs +17 -17
  128. package/fesm2022/observers.mjs.map +1 -1
  129. package/fesm2022/overlay.mjs +50 -80
  130. package/fesm2022/overlay.mjs.map +1 -1
  131. package/fesm2022/platform.mjs +7 -7
  132. package/fesm2022/platform.mjs.map +1 -1
  133. package/fesm2022/portal.mjs +16 -16
  134. package/fesm2022/portal.mjs.map +1 -1
  135. package/fesm2022/scrolling.mjs +49 -50
  136. package/fesm2022/scrolling.mjs.map +1 -1
  137. package/fesm2022/stepper.mjs +50 -64
  138. package/fesm2022/stepper.mjs.map +1 -1
  139. package/fesm2022/table.mjs +92 -89
  140. package/fesm2022/table.mjs.map +1 -1
  141. package/fesm2022/text-field.mjs +16 -17
  142. package/fesm2022/text-field.mjs.map +1 -1
  143. package/fesm2022/tree.mjs +25 -25
  144. package/fesm2022/tree.mjs.map +1 -1
  145. package/listbox/index.d.ts +14 -13
  146. package/menu/index.d.ts +6 -10
  147. package/observers/index.d.ts +2 -2
  148. package/overlay/index.d.ts +10 -16
  149. package/package.json +1 -1
  150. package/schematics/ng-add/index.js +1 -1
  151. package/schematics/ng-add/index.mjs +1 -1
  152. package/schematics/update-tool/component-resource-collector.d.ts +1 -0
  153. package/schematics/update-tool/component-resource-collector.js +17 -8
  154. package/schematics/update-tool/component-resource-collector.mjs +17 -8
  155. package/schematics/utils/project-main-file.js +4 -3
  156. package/schematics/utils/project-main-file.mjs +4 -3
  157. package/schematics/utils/project-targets.js +2 -2
  158. package/schematics/utils/project-targets.mjs +2 -2
  159. package/scrolling/index.d.ts +2 -4
  160. package/stepper/index.d.ts +12 -14
  161. package/table/index.d.ts +6 -4
  162. package/text-field/index.d.ts +2 -2
@@ -1,6 +1,6 @@
1
- import { coerceNumberProperty, coerceElement, coerceBooleanProperty } from '@angular/cdk/coercion';
1
+ import { coerceNumberProperty, coerceElement } from '@angular/cdk/coercion';
2
2
  import * as i0 from '@angular/core';
3
- import { InjectionToken, forwardRef, Directive, Input, Injectable, Optional, Inject, inject, Component, ViewEncapsulation, ChangeDetectionStrategy, Output, ViewChild, SkipSelf, ElementRef, NgModule } from '@angular/core';
3
+ import { InjectionToken, forwardRef, Directive, Input, Injectable, Optional, Inject, inject, booleanAttribute, Component, ViewEncapsulation, ChangeDetectionStrategy, Output, ViewChild, SkipSelf, ElementRef, NgModule } from '@angular/core';
4
4
  import { Subject, of, Observable, fromEvent, animationFrameScheduler, asapScheduler, Subscription, isObservable } from 'rxjs';
5
5
  import { distinctUntilChanged, auditTime, filter, takeUntil, startWith, pairwise, switchMap, shareReplay } from 'rxjs/operators';
6
6
  import * as i1 from '@angular/cdk/platform';
@@ -189,8 +189,8 @@ class CdkFixedSizeVirtualScroll {
189
189
  ngOnChanges() {
190
190
  this._scrollStrategy.updateItemAndBufferSize(this.itemSize, this.minBufferPx, this.maxBufferPx);
191
191
  }
192
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: CdkFixedSizeVirtualScroll, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
193
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.1", type: CdkFixedSizeVirtualScroll, isStandalone: true, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: { itemSize: "itemSize", minBufferPx: "minBufferPx", maxBufferPx: "maxBufferPx" }, providers: [
192
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: CdkFixedSizeVirtualScroll, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
193
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.0-next.4", type: CdkFixedSizeVirtualScroll, isStandalone: true, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: { itemSize: "itemSize", minBufferPx: "minBufferPx", maxBufferPx: "maxBufferPx" }, providers: [
194
194
  {
195
195
  provide: VIRTUAL_SCROLL_STRATEGY,
196
196
  useFactory: _fixedSizeVirtualScrollStrategyFactory,
@@ -198,7 +198,7 @@ class CdkFixedSizeVirtualScroll {
198
198
  },
199
199
  ], usesOnChanges: true, ngImport: i0 }); }
200
200
  }
201
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: CdkFixedSizeVirtualScroll, decorators: [{
201
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: CdkFixedSizeVirtualScroll, decorators: [{
202
202
  type: Directive,
203
203
  args: [{
204
204
  selector: 'cdk-virtual-scroll-viewport[itemSize]',
@@ -354,10 +354,10 @@ class ScrollDispatcher {
354
354
  this._globalSubscription = null;
355
355
  }
356
356
  }
357
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: ScrollDispatcher, deps: [{ token: i0.NgZone }, { token: i1.Platform }, { token: DOCUMENT, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
358
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: ScrollDispatcher, providedIn: 'root' }); }
357
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: ScrollDispatcher, deps: [{ token: i0.NgZone }, { token: i1.Platform }, { token: DOCUMENT, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
358
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: ScrollDispatcher, providedIn: 'root' }); }
359
359
  }
360
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: ScrollDispatcher, decorators: [{
360
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: ScrollDispatcher, decorators: [{
361
361
  type: Injectable,
362
362
  args: [{ providedIn: 'root' }]
363
363
  }], ctorParameters: function () { return [{ type: i0.NgZone }, { type: i1.Platform }, { type: undefined, decorators: [{
@@ -515,10 +515,10 @@ class CdkScrollable {
515
515
  }
516
516
  }
517
517
  }
518
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: CdkScrollable, deps: [{ token: i0.ElementRef }, { token: ScrollDispatcher }, { token: i0.NgZone }, { token: i2.Directionality, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
519
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.1", type: CdkScrollable, isStandalone: true, selector: "[cdk-scrollable], [cdkScrollable]", ngImport: i0 }); }
518
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: CdkScrollable, deps: [{ token: i0.ElementRef }, { token: ScrollDispatcher }, { token: i0.NgZone }, { token: i2.Directionality, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
519
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.0-next.4", type: CdkScrollable, isStandalone: true, selector: "[cdk-scrollable], [cdkScrollable]", ngImport: i0 }); }
520
520
  }
521
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: CdkScrollable, decorators: [{
521
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: CdkScrollable, decorators: [{
522
522
  type: Directive,
523
523
  args: [{
524
524
  selector: '[cdk-scrollable], [cdkScrollable]',
@@ -647,10 +647,10 @@ class ViewportRuler {
647
647
  ? { width: window.innerWidth, height: window.innerHeight }
648
648
  : { width: 0, height: 0 };
649
649
  }
650
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: ViewportRuler, deps: [{ token: i1.Platform }, { token: i0.NgZone }, { token: DOCUMENT, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
651
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: ViewportRuler, providedIn: 'root' }); }
650
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: ViewportRuler, deps: [{ token: i1.Platform }, { token: i0.NgZone }, { token: DOCUMENT, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
651
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: ViewportRuler, providedIn: 'root' }); }
652
652
  }
653
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: ViewportRuler, decorators: [{
653
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: ViewportRuler, decorators: [{
654
654
  type: Injectable,
655
655
  args: [{ providedIn: 'root' }]
656
656
  }], ctorParameters: function () { return [{ type: i1.Platform }, { type: i0.NgZone }, { type: undefined, decorators: [{
@@ -677,10 +677,10 @@ class CdkVirtualScrollable extends CdkScrollable {
677
677
  const viewportEl = this.elementRef.nativeElement;
678
678
  return orientation === 'horizontal' ? viewportEl.clientWidth : viewportEl.clientHeight;
679
679
  }
680
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: CdkVirtualScrollable, deps: [{ token: i0.ElementRef }, { token: ScrollDispatcher }, { token: i0.NgZone }, { token: i2.Directionality, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
681
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.1", type: CdkVirtualScrollable, usesInheritance: true, ngImport: i0 }); }
680
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: CdkVirtualScrollable, deps: [{ token: i0.ElementRef }, { token: ScrollDispatcher }, { token: i0.NgZone }, { token: i2.Directionality, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
681
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.0-next.4", type: CdkVirtualScrollable, usesInheritance: true, ngImport: i0 }); }
682
682
  }
683
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: CdkVirtualScrollable, decorators: [{
683
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: CdkVirtualScrollable, decorators: [{
684
684
  type: Directive
685
685
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: ScrollDispatcher }, { type: i0.NgZone }, { type: i2.Directionality, decorators: [{
686
686
  type: Optional
@@ -708,16 +708,6 @@ class CdkVirtualScrollViewport extends CdkVirtualScrollable {
708
708
  this._calculateSpacerSize();
709
709
  }
710
710
  }
711
- /**
712
- * Whether rendered items should persist in the DOM after scrolling out of view. By default, items
713
- * will be removed.
714
- */
715
- get appendOnly() {
716
- return this._appendOnly;
717
- }
718
- set appendOnly(value) {
719
- this._appendOnly = coerceBooleanProperty(value);
720
- }
721
711
  constructor(elementRef, _changeDetectorRef, ngZone, _scrollStrategy, dir, scrollDispatcher, viewportRuler, scrollable) {
722
712
  super(elementRef, scrollDispatcher, ngZone, dir);
723
713
  this.elementRef = elementRef;
@@ -730,7 +720,11 @@ class CdkVirtualScrollViewport extends CdkVirtualScrollable {
730
720
  /** Emits when the rendered range changes. */
731
721
  this._renderedRangeSubject = new Subject();
732
722
  this._orientation = 'vertical';
733
- this._appendOnly = false;
723
+ /**
724
+ * Whether rendered items should persist in the DOM after scrolling out of view. By default, items
725
+ * will be removed.
726
+ */
727
+ this.appendOnly = false;
734
728
  // Note: we don't use the typical EventEmitter here because we need to subscribe to the scroll
735
729
  // strategy lazily (i.e. only if the user is actually listening to the events). We do this because
736
730
  // depending on how the strategy calculates the scrolled index, it may come at a cost to
@@ -801,7 +795,11 @@ class CdkVirtualScrollViewport extends CdkVirtualScrollable {
801
795
  // Collect multiple events into one until the next animation frame. This way if
802
796
  // there are multiple scroll events in the same frame we only need to recheck
803
797
  // our layout once.
804
- auditTime(0, SCROLL_SCHEDULER))
798
+ auditTime(0, SCROLL_SCHEDULER),
799
+ // Usually `elementScrolled` is completed when the scrollable is destroyed, but
800
+ // that may not be the case if a `CdkVirtualScrollableElement` is used so we have
801
+ // to unsubscribe here just in case.
802
+ takeUntil(this._destroyed))
805
803
  .subscribe(() => this._scrollStrategy.onContentScrolled());
806
804
  this._markChangeDetectionNeeded();
807
805
  }));
@@ -1055,8 +1053,8 @@ class CdkVirtualScrollViewport extends CdkVirtualScrollable {
1055
1053
  this._totalContentWidth =
1056
1054
  this.orientation === 'horizontal' ? `${this._totalContentSize}px` : '';
1057
1055
  }
1058
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: CdkVirtualScrollViewport, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: VIRTUAL_SCROLL_STRATEGY, optional: true }, { token: i2.Directionality, optional: true }, { token: ScrollDispatcher }, { token: ViewportRuler }, { token: VIRTUAL_SCROLLABLE, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
1059
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.1", type: CdkVirtualScrollViewport, isStandalone: true, selector: "cdk-virtual-scroll-viewport", inputs: { orientation: "orientation", appendOnly: "appendOnly" }, outputs: { scrolledIndexChange: "scrolledIndexChange" }, host: { properties: { "class.cdk-virtual-scroll-orientation-horizontal": "orientation === \"horizontal\"", "class.cdk-virtual-scroll-orientation-vertical": "orientation !== \"horizontal\"" }, classAttribute: "cdk-virtual-scroll-viewport" }, providers: [
1056
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: CdkVirtualScrollViewport, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: VIRTUAL_SCROLL_STRATEGY, optional: true }, { token: i2.Directionality, optional: true }, { token: ScrollDispatcher }, { token: ViewportRuler }, { token: VIRTUAL_SCROLLABLE, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
1057
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.0.0-next.4", type: CdkVirtualScrollViewport, isStandalone: true, selector: "cdk-virtual-scroll-viewport", inputs: { orientation: "orientation", appendOnly: ["appendOnly", "appendOnly", booleanAttribute] }, outputs: { scrolledIndexChange: "scrolledIndexChange" }, host: { properties: { "class.cdk-virtual-scroll-orientation-horizontal": "orientation === \"horizontal\"", "class.cdk-virtual-scroll-orientation-vertical": "orientation !== \"horizontal\"" }, classAttribute: "cdk-virtual-scroll-viewport" }, providers: [
1060
1058
  {
1061
1059
  provide: CdkScrollable,
1062
1060
  useFactory: (virtualScrollable, viewport) => virtualScrollable || viewport,
@@ -1064,7 +1062,7 @@ class CdkVirtualScrollViewport extends CdkVirtualScrollable {
1064
1062
  },
1065
1063
  ], viewQueries: [{ propertyName: "_contentWrapper", first: true, predicate: ["contentWrapper"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<!--\n Wrap the rendered content in an element that will be used to offset it based on the scroll\n position.\n-->\n<div #contentWrapper class=\"cdk-virtual-scroll-content-wrapper\">\n <ng-content></ng-content>\n</div>\n<!--\n Spacer used to force the scrolling container to the correct size for the *total* number of items\n so that the scrollbar captures the size of the entire data set.\n-->\n<div class=\"cdk-virtual-scroll-spacer\"\n [style.width]=\"_totalContentWidth\" [style.height]=\"_totalContentHeight\"></div>\n", styles: ["cdk-virtual-scroll-viewport{display:block;position:relative;transform:translateZ(0)}.cdk-virtual-scrollable{overflow:auto;will-change:scroll-position;contain:strict;-webkit-overflow-scrolling:touch}.cdk-virtual-scroll-content-wrapper{position:absolute;top:0;left:0;contain:content}[dir=rtl] .cdk-virtual-scroll-content-wrapper{right:0;left:auto}.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper{min-height:100%}.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>dl:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>ol:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>table:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>ul:not([cdkVirtualFor]){padding-left:0;padding-right:0;margin-left:0;margin-right:0;border-left-width:0;border-right-width:0;outline:none}.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper{min-width:100%}.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>dl:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>ol:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>table:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>ul:not([cdkVirtualFor]){padding-top:0;padding-bottom:0;margin-top:0;margin-bottom:0;border-top-width:0;border-bottom-width:0;outline:none}.cdk-virtual-scroll-spacer{height:1px;transform-origin:0 0;flex:0 0 auto}[dir=rtl] .cdk-virtual-scroll-spacer{transform-origin:100% 0}"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
1066
1064
  }
1067
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: CdkVirtualScrollViewport, decorators: [{
1065
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: CdkVirtualScrollViewport, decorators: [{
1068
1066
  type: Component,
1069
1067
  args: [{ selector: 'cdk-virtual-scroll-viewport', host: {
1070
1068
  'class': 'cdk-virtual-scroll-viewport',
@@ -1092,7 +1090,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.1", ngImpor
1092
1090
  }] }]; }, propDecorators: { orientation: [{
1093
1091
  type: Input
1094
1092
  }], appendOnly: [{
1095
- type: Input
1093
+ type: Input,
1094
+ args: [{ transform: booleanAttribute }]
1096
1095
  }], scrolledIndexChange: [{
1097
1096
  type: Output
1098
1097
  }], _contentWrapper: [{
@@ -1358,10 +1357,10 @@ class CdkVirtualForOf {
1358
1357
  index,
1359
1358
  };
1360
1359
  }
1361
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: CdkVirtualForOf, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }, { token: i0.IterableDiffers }, { token: _VIEW_REPEATER_STRATEGY }, { token: CdkVirtualScrollViewport, skipSelf: true }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive }); }
1362
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.1", type: CdkVirtualForOf, isStandalone: true, selector: "[cdkVirtualFor][cdkVirtualForOf]", inputs: { cdkVirtualForOf: "cdkVirtualForOf", cdkVirtualForTrackBy: "cdkVirtualForTrackBy", cdkVirtualForTemplate: "cdkVirtualForTemplate", cdkVirtualForTemplateCacheSize: "cdkVirtualForTemplateCacheSize" }, providers: [{ provide: _VIEW_REPEATER_STRATEGY, useClass: _RecycleViewRepeaterStrategy }], ngImport: i0 }); }
1360
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: CdkVirtualForOf, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }, { token: i0.IterableDiffers }, { token: _VIEW_REPEATER_STRATEGY }, { token: CdkVirtualScrollViewport, skipSelf: true }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive }); }
1361
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.0-next.4", type: CdkVirtualForOf, isStandalone: true, selector: "[cdkVirtualFor][cdkVirtualForOf]", inputs: { cdkVirtualForOf: "cdkVirtualForOf", cdkVirtualForTrackBy: "cdkVirtualForTrackBy", cdkVirtualForTemplate: "cdkVirtualForTemplate", cdkVirtualForTemplateCacheSize: "cdkVirtualForTemplateCacheSize" }, providers: [{ provide: _VIEW_REPEATER_STRATEGY, useClass: _RecycleViewRepeaterStrategy }], ngImport: i0 }); }
1363
1362
  }
1364
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: CdkVirtualForOf, decorators: [{
1363
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: CdkVirtualForOf, decorators: [{
1365
1364
  type: Directive,
1366
1365
  args: [{
1367
1366
  selector: '[cdkVirtualFor][cdkVirtualForOf]',
@@ -1394,10 +1393,10 @@ class CdkVirtualScrollableElement extends CdkVirtualScrollable {
1394
1393
  return (this.getElementRef().nativeElement.getBoundingClientRect()[from] -
1395
1394
  this.measureScrollOffset(from));
1396
1395
  }
1397
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: CdkVirtualScrollableElement, deps: [{ token: i0.ElementRef }, { token: ScrollDispatcher }, { token: i0.NgZone }, { token: i2.Directionality, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
1398
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.1", type: CdkVirtualScrollableElement, isStandalone: true, selector: "[cdkVirtualScrollingElement]", host: { classAttribute: "cdk-virtual-scrollable" }, providers: [{ provide: VIRTUAL_SCROLLABLE, useExisting: CdkVirtualScrollableElement }], usesInheritance: true, ngImport: i0 }); }
1396
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: CdkVirtualScrollableElement, deps: [{ token: i0.ElementRef }, { token: ScrollDispatcher }, { token: i0.NgZone }, { token: i2.Directionality, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
1397
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.0-next.4", type: CdkVirtualScrollableElement, isStandalone: true, selector: "[cdkVirtualScrollingElement]", host: { classAttribute: "cdk-virtual-scrollable" }, providers: [{ provide: VIRTUAL_SCROLLABLE, useExisting: CdkVirtualScrollableElement }], usesInheritance: true, ngImport: i0 }); }
1399
1398
  }
1400
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: CdkVirtualScrollableElement, decorators: [{
1399
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: CdkVirtualScrollableElement, decorators: [{
1401
1400
  type: Directive,
1402
1401
  args: [{
1403
1402
  selector: '[cdkVirtualScrollingElement]',
@@ -1422,10 +1421,10 @@ class CdkVirtualScrollableWindow extends CdkVirtualScrollable {
1422
1421
  measureBoundingClientRectWithScrollOffset(from) {
1423
1422
  return this.getElementRef().nativeElement.getBoundingClientRect()[from];
1424
1423
  }
1425
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: CdkVirtualScrollableWindow, deps: [{ token: ScrollDispatcher }, { token: i0.NgZone }, { token: i2.Directionality, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
1426
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.1", type: CdkVirtualScrollableWindow, isStandalone: true, selector: "cdk-virtual-scroll-viewport[scrollWindow]", providers: [{ provide: VIRTUAL_SCROLLABLE, useExisting: CdkVirtualScrollableWindow }], usesInheritance: true, ngImport: i0 }); }
1424
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: CdkVirtualScrollableWindow, deps: [{ token: ScrollDispatcher }, { token: i0.NgZone }, { token: i2.Directionality, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
1425
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.0-next.4", type: CdkVirtualScrollableWindow, isStandalone: true, selector: "cdk-virtual-scroll-viewport[scrollWindow]", providers: [{ provide: VIRTUAL_SCROLLABLE, useExisting: CdkVirtualScrollableWindow }], usesInheritance: true, ngImport: i0 }); }
1427
1426
  }
1428
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: CdkVirtualScrollableWindow, decorators: [{
1427
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: CdkVirtualScrollableWindow, decorators: [{
1429
1428
  type: Directive,
1430
1429
  args: [{
1431
1430
  selector: 'cdk-virtual-scroll-viewport[scrollWindow]',
@@ -1437,11 +1436,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.1", ngImpor
1437
1436
  }] }]; } });
1438
1437
 
1439
1438
  class CdkScrollableModule {
1440
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: CdkScrollableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1441
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.1", ngImport: i0, type: CdkScrollableModule, imports: [CdkScrollable], exports: [CdkScrollable] }); }
1442
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: CdkScrollableModule }); }
1439
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: CdkScrollableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1440
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.0-next.4", ngImport: i0, type: CdkScrollableModule, imports: [CdkScrollable], exports: [CdkScrollable] }); }
1441
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: CdkScrollableModule }); }
1443
1442
  }
1444
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: CdkScrollableModule, decorators: [{
1443
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: CdkScrollableModule, decorators: [{
1445
1444
  type: NgModule,
1446
1445
  args: [{
1447
1446
  exports: [CdkScrollable],
@@ -1452,8 +1451,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.1", ngImpor
1452
1451
  * @docs-primary-export
1453
1452
  */
1454
1453
  class ScrollingModule {
1455
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: ScrollingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1456
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.1", ngImport: i0, type: ScrollingModule, imports: [BidiModule, CdkScrollableModule, CdkVirtualScrollViewport,
1454
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: ScrollingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1455
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.0-next.4", ngImport: i0, type: ScrollingModule, imports: [BidiModule, CdkScrollableModule, CdkVirtualScrollViewport,
1457
1456
  CdkFixedSizeVirtualScroll,
1458
1457
  CdkVirtualForOf,
1459
1458
  CdkVirtualScrollableWindow,
@@ -1462,10 +1461,10 @@ class ScrollingModule {
1462
1461
  CdkVirtualScrollViewport,
1463
1462
  CdkVirtualScrollableWindow,
1464
1463
  CdkVirtualScrollableElement] }); }
1465
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: ScrollingModule, imports: [BidiModule,
1464
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: ScrollingModule, imports: [BidiModule,
1466
1465
  CdkScrollableModule, BidiModule, CdkScrollableModule] }); }
1467
1466
  }
1468
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: ScrollingModule, decorators: [{
1467
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: ScrollingModule, decorators: [{
1469
1468
  type: NgModule,
1470
1469
  args: [{
1471
1470
  imports: [