@angular/cdk 21.1.0-next.1 → 21.1.0-next.2

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 (101) hide show
  1. package/fesm2022/_a11y-module-chunk.mjs +22 -22
  2. package/fesm2022/_a11y-module-chunk.mjs.map +1 -1
  3. package/fesm2022/_activedescendant-key-manager-chunk.mjs.map +1 -1
  4. package/fesm2022/_array-chunk.mjs.map +1 -1
  5. package/fesm2022/_breakpoints-observer-chunk.mjs +6 -6
  6. package/fesm2022/_breakpoints-observer-chunk.mjs.map +1 -1
  7. package/fesm2022/_css-pixel-value-chunk.mjs.map +1 -1
  8. package/fesm2022/_data-source-chunk.mjs.map +1 -1
  9. package/fesm2022/_directionality-chunk.mjs +3 -3
  10. package/fesm2022/_directionality-chunk.mjs.map +1 -1
  11. package/fesm2022/_dispose-view-repeater-strategy-chunk.mjs.map +1 -1
  12. package/fesm2022/_element-chunk.mjs.map +1 -1
  13. package/fesm2022/_fake-event-detection-chunk.mjs.map +1 -1
  14. package/fesm2022/_focus-key-manager-chunk.mjs.map +1 -1
  15. package/fesm2022/_focus-monitor-chunk.mjs +9 -9
  16. package/fesm2022/_focus-monitor-chunk.mjs.map +1 -1
  17. package/fesm2022/_id-generator-chunk.mjs +3 -3
  18. package/fesm2022/_id-generator-chunk.mjs.map +1 -1
  19. package/fesm2022/_keycodes-chunk.mjs.map +1 -1
  20. package/fesm2022/_list-key-manager-chunk.mjs +5 -5
  21. package/fesm2022/_list-key-manager-chunk.mjs.map +1 -1
  22. package/fesm2022/_overlay-module-chunk.mjs +42 -34
  23. package/fesm2022/_overlay-module-chunk.mjs.map +1 -1
  24. package/fesm2022/_passive-listeners-chunk.mjs.map +1 -1
  25. package/fesm2022/_platform-chunk.mjs +3 -3
  26. package/fesm2022/_platform-chunk.mjs.map +1 -1
  27. package/fesm2022/_recycle-view-repeater-strategy-chunk.mjs +1 -3
  28. package/fesm2022/_recycle-view-repeater-strategy-chunk.mjs.map +1 -1
  29. package/fesm2022/_scrolling-chunk.mjs.map +1 -1
  30. package/fesm2022/_selection-model-chunk.mjs.map +1 -1
  31. package/fesm2022/_shadow-dom-chunk.mjs.map +1 -1
  32. package/fesm2022/_style-loader-chunk.mjs +3 -3
  33. package/fesm2022/_style-loader-chunk.mjs.map +1 -1
  34. package/fesm2022/_test-environment-chunk.mjs.map +1 -1
  35. package/fesm2022/_tree-key-manager-chunk.mjs.map +1 -1
  36. package/fesm2022/_typeahead-chunk.mjs.map +1 -1
  37. package/fesm2022/_unique-selection-dispatcher-chunk.mjs +3 -3
  38. package/fesm2022/_unique-selection-dispatcher-chunk.mjs.map +1 -1
  39. package/fesm2022/a11y.mjs +9 -9
  40. package/fesm2022/a11y.mjs.map +1 -1
  41. package/fesm2022/accordion.mjs +10 -10
  42. package/fesm2022/accordion.mjs.map +1 -1
  43. package/fesm2022/bidi.mjs +7 -7
  44. package/fesm2022/bidi.mjs.map +1 -1
  45. package/fesm2022/cdk.mjs +1 -1
  46. package/fesm2022/cdk.mjs.map +1 -1
  47. package/fesm2022/clipboard.mjs +10 -10
  48. package/fesm2022/clipboard.mjs.map +1 -1
  49. package/fesm2022/coercion-private.mjs.map +1 -1
  50. package/fesm2022/coercion.mjs.map +1 -1
  51. package/fesm2022/collections.mjs +1 -1
  52. package/fesm2022/dialog.mjs +10 -10
  53. package/fesm2022/dialog.mjs.map +1 -1
  54. package/fesm2022/drag-drop.mjs +31 -31
  55. package/fesm2022/drag-drop.mjs.map +1 -1
  56. package/fesm2022/keycodes.mjs.map +1 -1
  57. package/fesm2022/layout.mjs +4 -4
  58. package/fesm2022/layout.mjs.map +1 -1
  59. package/fesm2022/listbox.mjs +10 -10
  60. package/fesm2022/listbox.mjs.map +1 -1
  61. package/fesm2022/menu.mjs +69 -52
  62. package/fesm2022/menu.mjs.map +1 -1
  63. package/fesm2022/observers-private.mjs +3 -3
  64. package/fesm2022/observers-private.mjs.map +1 -1
  65. package/fesm2022/observers.mjs +13 -13
  66. package/fesm2022/observers.mjs.map +1 -1
  67. package/fesm2022/overlay.mjs +3 -3
  68. package/fesm2022/overlay.mjs.map +1 -1
  69. package/fesm2022/platform.mjs +4 -4
  70. package/fesm2022/platform.mjs.map +1 -1
  71. package/fesm2022/portal.mjs +10 -10
  72. package/fesm2022/portal.mjs.map +1 -1
  73. package/fesm2022/private.mjs +3 -3
  74. package/fesm2022/private.mjs.map +1 -1
  75. package/fesm2022/scrolling.mjs +55 -53
  76. package/fesm2022/scrolling.mjs.map +1 -1
  77. package/fesm2022/stepper.mjs +22 -22
  78. package/fesm2022/stepper.mjs.map +1 -1
  79. package/fesm2022/table.mjs +214 -109
  80. package/fesm2022/table.mjs.map +1 -1
  81. package/fesm2022/testing-selenium-webdriver.mjs.map +1 -1
  82. package/fesm2022/testing-testbed.mjs.map +1 -1
  83. package/fesm2022/testing.mjs.map +1 -1
  84. package/fesm2022/text-field.mjs +16 -16
  85. package/fesm2022/text-field.mjs.map +1 -1
  86. package/fesm2022/tree.mjs +25 -25
  87. package/fesm2022/tree.mjs.map +1 -1
  88. package/package.json +2 -1
  89. package/schematics/ng-add/index.js +1 -1
  90. package/types/_overlay-module-chunk.d.ts +1 -0
  91. package/types/_scrolling-module-chunk.d.ts +11 -1
  92. package/types/_view-repeater-chunk.d.ts +2 -7
  93. package/types/collections.d.ts +1 -1
  94. package/types/menu.d.ts +7 -2
  95. package/types/scrolling.d.ts +1 -1
  96. package/types/table.d.ts +62 -11
  97. package/_adev_assets/cdk_drag_drop.json +0 -7221
  98. package/_adev_assets/cdk_testing.json +0 -7601
  99. package/_adev_assets/cdk_testing_protractor.json +0 -1747
  100. package/_adev_assets/cdk_testing_selenium_webdriver.json +0 -1801
  101. package/_adev_assets/cdk_testing_testbed.json +0 -1903
@@ -1,18 +1,18 @@
1
1
  import { isDataSource } from './_data-source-chunk.mjs';
2
2
  export { DataSource } from './_data-source-chunk.mjs';
3
3
  import * as i0 from '@angular/core';
4
- import { InjectionToken, inject, TemplateRef, Directive, booleanAttribute, Input, ContentChild, ElementRef, IterableDiffers, ViewContainerRef, Component, ChangeDetectionStrategy, ViewEncapsulation, afterNextRender, ChangeDetectorRef, DOCUMENT, EventEmitter, Injector, HostAttributeToken, Output, ContentChildren, ViewChild, NgModule } from '@angular/core';
5
- import { Subject, BehaviorSubject, isObservable, of } from 'rxjs';
6
- import { takeUntil } from 'rxjs/operators';
7
- import { _VIEW_REPEATER_STRATEGY, _RecycleViewRepeaterStrategy, _ViewRepeaterOperation } from './_recycle-view-repeater-strategy-chunk.mjs';
4
+ import { InjectionToken, inject, TemplateRef, Directive, booleanAttribute, Input, ContentChild, ElementRef, IterableDiffers, ViewContainerRef, Component, ChangeDetectionStrategy, ViewEncapsulation, afterNextRender, ChangeDetectorRef, Injector, DOCUMENT, EventEmitter, HostAttributeToken, Output, ContentChildren, ViewChild, NgModule } from '@angular/core';
5
+ import { Subject, BehaviorSubject, isObservable, of, combineLatest, animationFrameScheduler, asapScheduler } from 'rxjs';
6
+ import { takeUntil, auditTime } from 'rxjs/operators';
7
+ import { ViewportRuler, CDK_VIRTUAL_SCROLL_VIEWPORT, ScrollingModule } from './scrolling.mjs';
8
8
  import { _DisposeViewRepeaterStrategy } from './_dispose-view-repeater-strategy-chunk.mjs';
9
+ import { _RecycleViewRepeaterStrategy, _ViewRepeaterOperation } from './_recycle-view-repeater-strategy-chunk.mjs';
9
10
  import { Directionality } from './_directionality-chunk.mjs';
10
11
  import { Platform } from './_platform-chunk.mjs';
11
- import { ViewportRuler, ScrollingModule } from './scrolling.mjs';
12
- import '@angular/common';
13
12
  import './_element-chunk.mjs';
14
13
  import './_scrolling-chunk.mjs';
15
14
  import './bidi.mjs';
15
+ import '@angular/common';
16
16
 
17
17
  const CDK_TABLE = new InjectionToken('CDK_TABLE');
18
18
  const TEXT_COLUMN_OPTIONS = new InjectionToken('text-column-options');
@@ -22,7 +22,7 @@ class CdkCellDef {
22
22
  constructor() {}
23
23
  static ɵfac = i0.ɵɵngDeclareFactory({
24
24
  minVersion: "12.0.0",
25
- version: "21.0.0",
25
+ version: "21.0.3",
26
26
  ngImport: i0,
27
27
  type: CdkCellDef,
28
28
  deps: [],
@@ -30,7 +30,7 @@ class CdkCellDef {
30
30
  });
31
31
  static ɵdir = i0.ɵɵngDeclareDirective({
32
32
  minVersion: "14.0.0",
33
- version: "21.0.0",
33
+ version: "21.0.3",
34
34
  type: CdkCellDef,
35
35
  isStandalone: true,
36
36
  selector: "[cdkCellDef]",
@@ -39,7 +39,7 @@ class CdkCellDef {
39
39
  }
40
40
  i0.ɵɵngDeclareClassMetadata({
41
41
  minVersion: "12.0.0",
42
- version: "21.0.0",
42
+ version: "21.0.3",
43
43
  ngImport: i0,
44
44
  type: CdkCellDef,
45
45
  decorators: [{
@@ -55,7 +55,7 @@ class CdkHeaderCellDef {
55
55
  constructor() {}
56
56
  static ɵfac = i0.ɵɵngDeclareFactory({
57
57
  minVersion: "12.0.0",
58
- version: "21.0.0",
58
+ version: "21.0.3",
59
59
  ngImport: i0,
60
60
  type: CdkHeaderCellDef,
61
61
  deps: [],
@@ -63,7 +63,7 @@ class CdkHeaderCellDef {
63
63
  });
64
64
  static ɵdir = i0.ɵɵngDeclareDirective({
65
65
  minVersion: "14.0.0",
66
- version: "21.0.0",
66
+ version: "21.0.3",
67
67
  type: CdkHeaderCellDef,
68
68
  isStandalone: true,
69
69
  selector: "[cdkHeaderCellDef]",
@@ -72,7 +72,7 @@ class CdkHeaderCellDef {
72
72
  }
73
73
  i0.ɵɵngDeclareClassMetadata({
74
74
  minVersion: "12.0.0",
75
- version: "21.0.0",
75
+ version: "21.0.3",
76
76
  ngImport: i0,
77
77
  type: CdkHeaderCellDef,
78
78
  decorators: [{
@@ -88,7 +88,7 @@ class CdkFooterCellDef {
88
88
  constructor() {}
89
89
  static ɵfac = i0.ɵɵngDeclareFactory({
90
90
  minVersion: "12.0.0",
91
- version: "21.0.0",
91
+ version: "21.0.3",
92
92
  ngImport: i0,
93
93
  type: CdkFooterCellDef,
94
94
  deps: [],
@@ -96,7 +96,7 @@ class CdkFooterCellDef {
96
96
  });
97
97
  static ɵdir = i0.ɵɵngDeclareDirective({
98
98
  minVersion: "14.0.0",
99
- version: "21.0.0",
99
+ version: "21.0.3",
100
100
  type: CdkFooterCellDef,
101
101
  isStandalone: true,
102
102
  selector: "[cdkFooterCellDef]",
@@ -105,7 +105,7 @@ class CdkFooterCellDef {
105
105
  }
106
106
  i0.ɵɵngDeclareClassMetadata({
107
107
  minVersion: "12.0.0",
108
- version: "21.0.0",
108
+ version: "21.0.3",
109
109
  ngImport: i0,
110
110
  type: CdkFooterCellDef,
111
111
  decorators: [{
@@ -174,7 +174,7 @@ class CdkColumnDef {
174
174
  }
175
175
  static ɵfac = i0.ɵɵngDeclareFactory({
176
176
  minVersion: "12.0.0",
177
- version: "21.0.0",
177
+ version: "21.0.3",
178
178
  ngImport: i0,
179
179
  type: CdkColumnDef,
180
180
  deps: [],
@@ -182,7 +182,7 @@ class CdkColumnDef {
182
182
  });
183
183
  static ɵdir = i0.ɵɵngDeclareDirective({
184
184
  minVersion: "16.1.0",
185
- version: "21.0.0",
185
+ version: "21.0.3",
186
186
  type: CdkColumnDef,
187
187
  isStandalone: true,
188
188
  selector: "[cdkColumnDef]",
@@ -216,7 +216,7 @@ class CdkColumnDef {
216
216
  }
217
217
  i0.ɵɵngDeclareClassMetadata({
218
218
  minVersion: "12.0.0",
219
- version: "21.0.0",
219
+ version: "21.0.3",
220
220
  ngImport: i0,
221
221
  type: CdkColumnDef,
222
222
  decorators: [{
@@ -272,7 +272,7 @@ class CdkHeaderCell extends BaseCdkCell {
272
272
  }
273
273
  static ɵfac = i0.ɵɵngDeclareFactory({
274
274
  minVersion: "12.0.0",
275
- version: "21.0.0",
275
+ version: "21.0.3",
276
276
  ngImport: i0,
277
277
  type: CdkHeaderCell,
278
278
  deps: [],
@@ -280,7 +280,7 @@ class CdkHeaderCell extends BaseCdkCell {
280
280
  });
281
281
  static ɵdir = i0.ɵɵngDeclareDirective({
282
282
  minVersion: "14.0.0",
283
- version: "21.0.0",
283
+ version: "21.0.3",
284
284
  type: CdkHeaderCell,
285
285
  isStandalone: true,
286
286
  selector: "cdk-header-cell, th[cdk-header-cell]",
@@ -296,7 +296,7 @@ class CdkHeaderCell extends BaseCdkCell {
296
296
  }
297
297
  i0.ɵɵngDeclareClassMetadata({
298
298
  minVersion: "12.0.0",
299
- version: "21.0.0",
299
+ version: "21.0.3",
300
300
  ngImport: i0,
301
301
  type: CdkHeaderCell,
302
302
  decorators: [{
@@ -323,7 +323,7 @@ class CdkFooterCell extends BaseCdkCell {
323
323
  }
324
324
  static ɵfac = i0.ɵɵngDeclareFactory({
325
325
  minVersion: "12.0.0",
326
- version: "21.0.0",
326
+ version: "21.0.3",
327
327
  ngImport: i0,
328
328
  type: CdkFooterCell,
329
329
  deps: [],
@@ -331,7 +331,7 @@ class CdkFooterCell extends BaseCdkCell {
331
331
  });
332
332
  static ɵdir = i0.ɵɵngDeclareDirective({
333
333
  minVersion: "14.0.0",
334
- version: "21.0.0",
334
+ version: "21.0.3",
335
335
  type: CdkFooterCell,
336
336
  isStandalone: true,
337
337
  selector: "cdk-footer-cell, td[cdk-footer-cell]",
@@ -344,7 +344,7 @@ class CdkFooterCell extends BaseCdkCell {
344
344
  }
345
345
  i0.ɵɵngDeclareClassMetadata({
346
346
  minVersion: "12.0.0",
347
- version: "21.0.0",
347
+ version: "21.0.3",
348
348
  ngImport: i0,
349
349
  type: CdkFooterCell,
350
350
  decorators: [{
@@ -370,7 +370,7 @@ class CdkCell extends BaseCdkCell {
370
370
  }
371
371
  static ɵfac = i0.ɵɵngDeclareFactory({
372
372
  minVersion: "12.0.0",
373
- version: "21.0.0",
373
+ version: "21.0.3",
374
374
  ngImport: i0,
375
375
  type: CdkCell,
376
376
  deps: [],
@@ -378,7 +378,7 @@ class CdkCell extends BaseCdkCell {
378
378
  });
379
379
  static ɵdir = i0.ɵɵngDeclareDirective({
380
380
  minVersion: "14.0.0",
381
- version: "21.0.0",
381
+ version: "21.0.3",
382
382
  type: CdkCell,
383
383
  isStandalone: true,
384
384
  selector: "cdk-cell, td[cdk-cell]",
@@ -391,7 +391,7 @@ class CdkCell extends BaseCdkCell {
391
391
  }
392
392
  i0.ɵɵngDeclareClassMetadata({
393
393
  minVersion: "12.0.0",
394
- version: "21.0.0",
394
+ version: "21.0.3",
395
395
  ngImport: i0,
396
396
  type: CdkCell,
397
397
  decorators: [{
@@ -435,7 +435,7 @@ class BaseRowDef {
435
435
  }
436
436
  static ɵfac = i0.ɵɵngDeclareFactory({
437
437
  minVersion: "12.0.0",
438
- version: "21.0.0",
438
+ version: "21.0.3",
439
439
  ngImport: i0,
440
440
  type: BaseRowDef,
441
441
  deps: [],
@@ -443,7 +443,7 @@ class BaseRowDef {
443
443
  });
444
444
  static ɵdir = i0.ɵɵngDeclareDirective({
445
445
  minVersion: "14.0.0",
446
- version: "21.0.0",
446
+ version: "21.0.3",
447
447
  type: BaseRowDef,
448
448
  isStandalone: true,
449
449
  usesOnChanges: true,
@@ -452,7 +452,7 @@ class BaseRowDef {
452
452
  }
453
453
  i0.ɵɵngDeclareClassMetadata({
454
454
  minVersion: "12.0.0",
455
- version: "21.0.0",
455
+ version: "21.0.3",
456
456
  ngImport: i0,
457
457
  type: BaseRowDef,
458
458
  decorators: [{
@@ -491,7 +491,7 @@ class CdkHeaderRowDef extends BaseRowDef {
491
491
  }
492
492
  static ɵfac = i0.ɵɵngDeclareFactory({
493
493
  minVersion: "12.0.0",
494
- version: "21.0.0",
494
+ version: "21.0.3",
495
495
  ngImport: i0,
496
496
  type: CdkHeaderRowDef,
497
497
  deps: [],
@@ -499,7 +499,7 @@ class CdkHeaderRowDef extends BaseRowDef {
499
499
  });
500
500
  static ɵdir = i0.ɵɵngDeclareDirective({
501
501
  minVersion: "16.1.0",
502
- version: "21.0.0",
502
+ version: "21.0.3",
503
503
  type: CdkHeaderRowDef,
504
504
  isStandalone: true,
505
505
  selector: "[cdkHeaderRowDef]",
@@ -514,7 +514,7 @@ class CdkHeaderRowDef extends BaseRowDef {
514
514
  }
515
515
  i0.ɵɵngDeclareClassMetadata({
516
516
  minVersion: "12.0.0",
517
- version: "21.0.0",
517
+ version: "21.0.3",
518
518
  ngImport: i0,
519
519
  type: CdkHeaderRowDef,
520
520
  decorators: [{
@@ -569,7 +569,7 @@ class CdkFooterRowDef extends BaseRowDef {
569
569
  }
570
570
  static ɵfac = i0.ɵɵngDeclareFactory({
571
571
  minVersion: "12.0.0",
572
- version: "21.0.0",
572
+ version: "21.0.3",
573
573
  ngImport: i0,
574
574
  type: CdkFooterRowDef,
575
575
  deps: [],
@@ -577,7 +577,7 @@ class CdkFooterRowDef extends BaseRowDef {
577
577
  });
578
578
  static ɵdir = i0.ɵɵngDeclareDirective({
579
579
  minVersion: "16.1.0",
580
- version: "21.0.0",
580
+ version: "21.0.3",
581
581
  type: CdkFooterRowDef,
582
582
  isStandalone: true,
583
583
  selector: "[cdkFooterRowDef]",
@@ -592,7 +592,7 @@ class CdkFooterRowDef extends BaseRowDef {
592
592
  }
593
593
  i0.ɵɵngDeclareClassMetadata({
594
594
  minVersion: "12.0.0",
595
- version: "21.0.0",
595
+ version: "21.0.3",
596
596
  ngImport: i0,
597
597
  type: CdkFooterRowDef,
598
598
  decorators: [{
@@ -626,7 +626,7 @@ class CdkRowDef extends BaseRowDef {
626
626
  }
627
627
  static ɵfac = i0.ɵɵngDeclareFactory({
628
628
  minVersion: "12.0.0",
629
- version: "21.0.0",
629
+ version: "21.0.3",
630
630
  ngImport: i0,
631
631
  type: CdkRowDef,
632
632
  deps: [],
@@ -634,7 +634,7 @@ class CdkRowDef extends BaseRowDef {
634
634
  });
635
635
  static ɵdir = i0.ɵɵngDeclareDirective({
636
636
  minVersion: "14.0.0",
637
- version: "21.0.0",
637
+ version: "21.0.3",
638
638
  type: CdkRowDef,
639
639
  isStandalone: true,
640
640
  selector: "[cdkRowDef]",
@@ -648,7 +648,7 @@ class CdkRowDef extends BaseRowDef {
648
648
  }
649
649
  i0.ɵɵngDeclareClassMetadata({
650
650
  minVersion: "12.0.0",
651
- version: "21.0.0",
651
+ version: "21.0.3",
652
652
  ngImport: i0,
653
653
  type: CdkRowDef,
654
654
  decorators: [{
@@ -681,7 +681,7 @@ class CdkCellOutlet {
681
681
  }
682
682
  static ɵfac = i0.ɵɵngDeclareFactory({
683
683
  minVersion: "12.0.0",
684
- version: "21.0.0",
684
+ version: "21.0.3",
685
685
  ngImport: i0,
686
686
  type: CdkCellOutlet,
687
687
  deps: [],
@@ -689,7 +689,7 @@ class CdkCellOutlet {
689
689
  });
690
690
  static ɵdir = i0.ɵɵngDeclareDirective({
691
691
  minVersion: "14.0.0",
692
- version: "21.0.0",
692
+ version: "21.0.3",
693
693
  type: CdkCellOutlet,
694
694
  isStandalone: true,
695
695
  selector: "[cdkCellOutlet]",
@@ -698,7 +698,7 @@ class CdkCellOutlet {
698
698
  }
699
699
  i0.ɵɵngDeclareClassMetadata({
700
700
  minVersion: "12.0.0",
701
- version: "21.0.0",
701
+ version: "21.0.3",
702
702
  ngImport: i0,
703
703
  type: CdkCellOutlet,
704
704
  decorators: [{
@@ -712,7 +712,7 @@ i0.ɵɵngDeclareClassMetadata({
712
712
  class CdkHeaderRow {
713
713
  static ɵfac = i0.ɵɵngDeclareFactory({
714
714
  minVersion: "12.0.0",
715
- version: "21.0.0",
715
+ version: "21.0.3",
716
716
  ngImport: i0,
717
717
  type: CdkHeaderRow,
718
718
  deps: [],
@@ -720,7 +720,7 @@ class CdkHeaderRow {
720
720
  });
721
721
  static ɵcmp = i0.ɵɵngDeclareComponent({
722
722
  minVersion: "14.0.0",
723
- version: "21.0.0",
723
+ version: "21.0.3",
724
724
  type: CdkHeaderRow,
725
725
  isStandalone: true,
726
726
  selector: "cdk-header-row, tr[cdk-header-row]",
@@ -744,7 +744,7 @@ class CdkHeaderRow {
744
744
  }
745
745
  i0.ɵɵngDeclareClassMetadata({
746
746
  minVersion: "12.0.0",
747
- version: "21.0.0",
747
+ version: "21.0.3",
748
748
  ngImport: i0,
749
749
  type: CdkHeaderRow,
750
750
  decorators: [{
@@ -765,7 +765,7 @@ i0.ɵɵngDeclareClassMetadata({
765
765
  class CdkFooterRow {
766
766
  static ɵfac = i0.ɵɵngDeclareFactory({
767
767
  minVersion: "12.0.0",
768
- version: "21.0.0",
768
+ version: "21.0.3",
769
769
  ngImport: i0,
770
770
  type: CdkFooterRow,
771
771
  deps: [],
@@ -773,7 +773,7 @@ class CdkFooterRow {
773
773
  });
774
774
  static ɵcmp = i0.ɵɵngDeclareComponent({
775
775
  minVersion: "14.0.0",
776
- version: "21.0.0",
776
+ version: "21.0.3",
777
777
  type: CdkFooterRow,
778
778
  isStandalone: true,
779
779
  selector: "cdk-footer-row, tr[cdk-footer-row]",
@@ -797,7 +797,7 @@ class CdkFooterRow {
797
797
  }
798
798
  i0.ɵɵngDeclareClassMetadata({
799
799
  minVersion: "12.0.0",
800
- version: "21.0.0",
800
+ version: "21.0.3",
801
801
  ngImport: i0,
802
802
  type: CdkFooterRow,
803
803
  decorators: [{
@@ -818,7 +818,7 @@ i0.ɵɵngDeclareClassMetadata({
818
818
  class CdkRow {
819
819
  static ɵfac = i0.ɵɵngDeclareFactory({
820
820
  minVersion: "12.0.0",
821
- version: "21.0.0",
821
+ version: "21.0.3",
822
822
  ngImport: i0,
823
823
  type: CdkRow,
824
824
  deps: [],
@@ -826,7 +826,7 @@ class CdkRow {
826
826
  });
827
827
  static ɵcmp = i0.ɵɵngDeclareComponent({
828
828
  minVersion: "14.0.0",
829
- version: "21.0.0",
829
+ version: "21.0.3",
830
830
  type: CdkRow,
831
831
  isStandalone: true,
832
832
  selector: "cdk-row, tr[cdk-row]",
@@ -850,7 +850,7 @@ class CdkRow {
850
850
  }
851
851
  i0.ɵɵngDeclareClassMetadata({
852
852
  minVersion: "12.0.0",
853
- version: "21.0.0",
853
+ version: "21.0.3",
854
854
  ngImport: i0,
855
855
  type: CdkRow,
856
856
  decorators: [{
@@ -876,7 +876,7 @@ class CdkNoDataRow {
876
876
  constructor() {}
877
877
  static ɵfac = i0.ɵɵngDeclareFactory({
878
878
  minVersion: "12.0.0",
879
- version: "21.0.0",
879
+ version: "21.0.3",
880
880
  ngImport: i0,
881
881
  type: CdkNoDataRow,
882
882
  deps: [],
@@ -884,7 +884,7 @@ class CdkNoDataRow {
884
884
  });
885
885
  static ɵdir = i0.ɵɵngDeclareDirective({
886
886
  minVersion: "14.0.0",
887
- version: "21.0.0",
887
+ version: "21.0.3",
888
888
  type: CdkNoDataRow,
889
889
  isStandalone: true,
890
890
  selector: "ng-template[cdkNoDataRow]",
@@ -893,7 +893,7 @@ class CdkNoDataRow {
893
893
  }
894
894
  i0.ɵɵngDeclareClassMetadata({
895
895
  minVersion: "12.0.0",
896
- version: "21.0.0",
896
+ version: "21.0.3",
897
897
  ngImport: i0,
898
898
  type: CdkNoDataRow,
899
899
  decorators: [{
@@ -1267,12 +1267,12 @@ function getTableTextColumnMissingNameError() {
1267
1267
  return Error(`Table text column must have a name.`);
1268
1268
  }
1269
1269
 
1270
- const STICKY_POSITIONING_LISTENER = new InjectionToken('CDK_SPL');
1270
+ const STICKY_POSITIONING_LISTENER = new InjectionToken('STICKY_POSITIONING_LISTENER');
1271
1271
 
1272
1272
  class CdkRecycleRows {
1273
1273
  static ɵfac = i0.ɵɵngDeclareFactory({
1274
1274
  minVersion: "12.0.0",
1275
- version: "21.0.0",
1275
+ version: "21.0.3",
1276
1276
  ngImport: i0,
1277
1277
  type: CdkRecycleRows,
1278
1278
  deps: [],
@@ -1280,30 +1280,22 @@ class CdkRecycleRows {
1280
1280
  });
1281
1281
  static ɵdir = i0.ɵɵngDeclareDirective({
1282
1282
  minVersion: "14.0.0",
1283
- version: "21.0.0",
1283
+ version: "21.0.3",
1284
1284
  type: CdkRecycleRows,
1285
1285
  isStandalone: true,
1286
1286
  selector: "cdk-table[recycleRows], table[cdk-table][recycleRows]",
1287
- providers: [{
1288
- provide: _VIEW_REPEATER_STRATEGY,
1289
- useClass: _RecycleViewRepeaterStrategy
1290
- }],
1291
1287
  ngImport: i0
1292
1288
  });
1293
1289
  }
1294
1290
  i0.ɵɵngDeclareClassMetadata({
1295
1291
  minVersion: "12.0.0",
1296
- version: "21.0.0",
1292
+ version: "21.0.3",
1297
1293
  ngImport: i0,
1298
1294
  type: CdkRecycleRows,
1299
1295
  decorators: [{
1300
1296
  type: Directive,
1301
1297
  args: [{
1302
- selector: 'cdk-table[recycleRows], table[cdk-table][recycleRows]',
1303
- providers: [{
1304
- provide: _VIEW_REPEATER_STRATEGY,
1305
- useClass: _RecycleViewRepeaterStrategy
1306
- }]
1298
+ selector: 'cdk-table[recycleRows], table[cdk-table][recycleRows]'
1307
1299
  }]
1308
1300
  }]
1309
1301
  });
@@ -1317,7 +1309,7 @@ class DataRowOutlet {
1317
1309
  }
1318
1310
  static ɵfac = i0.ɵɵngDeclareFactory({
1319
1311
  minVersion: "12.0.0",
1320
- version: "21.0.0",
1312
+ version: "21.0.3",
1321
1313
  ngImport: i0,
1322
1314
  type: DataRowOutlet,
1323
1315
  deps: [],
@@ -1325,7 +1317,7 @@ class DataRowOutlet {
1325
1317
  });
1326
1318
  static ɵdir = i0.ɵɵngDeclareDirective({
1327
1319
  minVersion: "14.0.0",
1328
- version: "21.0.0",
1320
+ version: "21.0.3",
1329
1321
  type: DataRowOutlet,
1330
1322
  isStandalone: true,
1331
1323
  selector: "[rowOutlet]",
@@ -1334,7 +1326,7 @@ class DataRowOutlet {
1334
1326
  }
1335
1327
  i0.ɵɵngDeclareClassMetadata({
1336
1328
  minVersion: "12.0.0",
1337
- version: "21.0.0",
1329
+ version: "21.0.3",
1338
1330
  ngImport: i0,
1339
1331
  type: DataRowOutlet,
1340
1332
  decorators: [{
@@ -1355,7 +1347,7 @@ class HeaderRowOutlet {
1355
1347
  }
1356
1348
  static ɵfac = i0.ɵɵngDeclareFactory({
1357
1349
  minVersion: "12.0.0",
1358
- version: "21.0.0",
1350
+ version: "21.0.3",
1359
1351
  ngImport: i0,
1360
1352
  type: HeaderRowOutlet,
1361
1353
  deps: [],
@@ -1363,7 +1355,7 @@ class HeaderRowOutlet {
1363
1355
  });
1364
1356
  static ɵdir = i0.ɵɵngDeclareDirective({
1365
1357
  minVersion: "14.0.0",
1366
- version: "21.0.0",
1358
+ version: "21.0.3",
1367
1359
  type: HeaderRowOutlet,
1368
1360
  isStandalone: true,
1369
1361
  selector: "[headerRowOutlet]",
@@ -1372,7 +1364,7 @@ class HeaderRowOutlet {
1372
1364
  }
1373
1365
  i0.ɵɵngDeclareClassMetadata({
1374
1366
  minVersion: "12.0.0",
1375
- version: "21.0.0",
1367
+ version: "21.0.3",
1376
1368
  ngImport: i0,
1377
1369
  type: HeaderRowOutlet,
1378
1370
  decorators: [{
@@ -1393,7 +1385,7 @@ class FooterRowOutlet {
1393
1385
  }
1394
1386
  static ɵfac = i0.ɵɵngDeclareFactory({
1395
1387
  minVersion: "12.0.0",
1396
- version: "21.0.0",
1388
+ version: "21.0.3",
1397
1389
  ngImport: i0,
1398
1390
  type: FooterRowOutlet,
1399
1391
  deps: [],
@@ -1401,7 +1393,7 @@ class FooterRowOutlet {
1401
1393
  });
1402
1394
  static ɵdir = i0.ɵɵngDeclareDirective({
1403
1395
  minVersion: "14.0.0",
1404
- version: "21.0.0",
1396
+ version: "21.0.3",
1405
1397
  type: FooterRowOutlet,
1406
1398
  isStandalone: true,
1407
1399
  selector: "[footerRowOutlet]",
@@ -1410,7 +1402,7 @@ class FooterRowOutlet {
1410
1402
  }
1411
1403
  i0.ɵɵngDeclareClassMetadata({
1412
1404
  minVersion: "12.0.0",
1413
- version: "21.0.0",
1405
+ version: "21.0.3",
1414
1406
  ngImport: i0,
1415
1407
  type: FooterRowOutlet,
1416
1408
  decorators: [{
@@ -1431,7 +1423,7 @@ class NoDataRowOutlet {
1431
1423
  }
1432
1424
  static ɵfac = i0.ɵɵngDeclareFactory({
1433
1425
  minVersion: "12.0.0",
1434
- version: "21.0.0",
1426
+ version: "21.0.3",
1435
1427
  ngImport: i0,
1436
1428
  type: NoDataRowOutlet,
1437
1429
  deps: [],
@@ -1439,7 +1431,7 @@ class NoDataRowOutlet {
1439
1431
  });
1440
1432
  static ɵdir = i0.ɵɵngDeclareDirective({
1441
1433
  minVersion: "14.0.0",
1442
- version: "21.0.0",
1434
+ version: "21.0.3",
1443
1435
  type: NoDataRowOutlet,
1444
1436
  isStandalone: true,
1445
1437
  selector: "[noDataRowOutlet]",
@@ -1448,7 +1440,7 @@ class NoDataRowOutlet {
1448
1440
  }
1449
1441
  i0.ɵɵngDeclareClassMetadata({
1450
1442
  minVersion: "12.0.0",
1451
- version: "21.0.0",
1443
+ version: "21.0.3",
1452
1444
  ngImport: i0,
1453
1445
  type: NoDataRowOutlet,
1454
1446
  decorators: [{
@@ -1467,14 +1459,22 @@ class CdkTable {
1467
1459
  optional: true
1468
1460
  });
1469
1461
  _platform = inject(Platform);
1470
- _viewRepeater = inject(_VIEW_REPEATER_STRATEGY);
1462
+ _viewRepeater;
1471
1463
  _viewportRuler = inject(ViewportRuler);
1472
- _stickyPositioningListener = inject(STICKY_POSITIONING_LISTENER, {
1464
+ _injector = inject(Injector);
1465
+ _virtualScrollViewport = inject(CDK_VIRTUAL_SCROLL_VIEWPORT, {
1466
+ optional: true,
1467
+ host: true
1468
+ });
1469
+ _positionListener = inject(STICKY_POSITIONING_LISTENER, {
1470
+ optional: true
1471
+ }) || inject(STICKY_POSITIONING_LISTENER, {
1473
1472
  optional: true,
1474
1473
  skipSelf: true
1475
1474
  });
1476
1475
  _document = inject(DOCUMENT);
1477
1476
  _data;
1477
+ _renderedRange;
1478
1478
  _onDestroy = new Subject();
1479
1479
  _renderRows;
1480
1480
  _renderChangeSubscription;
@@ -1502,6 +1502,9 @@ class CdkTable {
1502
1502
  _isShowingNoDataRow = false;
1503
1503
  _hasAllOutlets = false;
1504
1504
  _hasInitialized = false;
1505
+ _headerRowStickyUpdates = new Subject();
1506
+ _footerRowStickyUpdates = new Subject();
1507
+ _disableVirtualScrolling = false;
1505
1508
  _getCellRole() {
1506
1509
  if (this._cellRoleInternal === undefined) {
1507
1510
  const tableRole = this._elementRef.nativeElement.getAttribute('role');
@@ -1526,9 +1529,12 @@ class CdkTable {
1526
1529
  set dataSource(dataSource) {
1527
1530
  if (this._dataSource !== dataSource) {
1528
1531
  this._switchDataSource(dataSource);
1532
+ this._changeDetectorRef.markForCheck();
1529
1533
  }
1530
1534
  }
1531
1535
  _dataSource;
1536
+ _dataSourceChanges = new Subject();
1537
+ _dataStream = new Subject();
1532
1538
  get multiTemplateDataRows() {
1533
1539
  return this._multiTemplateDataRows;
1534
1540
  }
@@ -1541,7 +1547,7 @@ class CdkTable {
1541
1547
  }
1542
1548
  _multiTemplateDataRows = false;
1543
1549
  get fixedLayout() {
1544
- return this._fixedLayout;
1550
+ return this._virtualScrollEnabled() ? true : this._fixedLayout;
1545
1551
  }
1546
1552
  set fixedLayout(value) {
1547
1553
  this._fixedLayout = value;
@@ -1549,6 +1555,7 @@ class CdkTable {
1549
1555
  this._stickyColumnStylesNeedReset = true;
1550
1556
  }
1551
1557
  _fixedLayout = false;
1558
+ recycleRows = false;
1552
1559
  contentChanged = new EventEmitter();
1553
1560
  viewChange = new BehaviorSubject({
1554
1561
  start: 0,
@@ -1563,7 +1570,6 @@ class CdkTable {
1563
1570
  _contentHeaderRowDefs;
1564
1571
  _contentFooterRowDefs;
1565
1572
  _noDataRow;
1566
- _injector = inject(Injector);
1567
1573
  constructor() {
1568
1574
  const role = inject(new HostAttributeToken('role'), {
1569
1575
  optional: true
@@ -1584,6 +1590,10 @@ class CdkTable {
1584
1590
  });
1585
1591
  }
1586
1592
  ngAfterContentInit() {
1593
+ this._viewRepeater = this.recycleRows || this._virtualScrollEnabled() ? new _RecycleViewRepeaterStrategy() : new _DisposeViewRepeaterStrategy();
1594
+ if (this._virtualScrollEnabled()) {
1595
+ this._setupVirtualScrolling(this._virtualScrollViewport);
1596
+ }
1587
1597
  this._hasInitialized = true;
1588
1598
  }
1589
1599
  ngAfterContentChecked() {
@@ -1599,6 +1609,8 @@ class CdkTable {
1599
1609
  this._headerRowDefs = [];
1600
1610
  this._footerRowDefs = [];
1601
1611
  this._defaultRowDef = null;
1612
+ this._headerRowStickyUpdates.complete();
1613
+ this._footerRowStickyUpdates.complete();
1602
1614
  this._onDestroy.next();
1603
1615
  this._onDestroy.complete();
1604
1616
  if (isDataSource(this.dataSource)) {
@@ -1690,7 +1702,7 @@ class CdkTable {
1690
1702
  const headerRows = this._getRenderedRows(this._headerRowOutlet);
1691
1703
  const dataRows = this._getRenderedRows(this._rowOutlet);
1692
1704
  const footerRows = this._getRenderedRows(this._footerRowOutlet);
1693
- if (this._isNativeHtmlTable && !this._fixedLayout || this._stickyColumnStylesNeedReset) {
1705
+ if (this._isNativeHtmlTable && !this.fixedLayout || this._stickyColumnStylesNeedReset) {
1694
1706
  this._stickyStyler.clearStickyPositioning([...headerRows, ...dataRows, ...footerRows], ['left', 'right']);
1695
1707
  this._stickyColumnStylesNeedReset = false;
1696
1708
  }
@@ -1711,6 +1723,20 @@ class CdkTable {
1711
1723
  });
1712
1724
  Array.from(this._columnDefsByName.values()).forEach(def => def.resetStickyChanged());
1713
1725
  }
1726
+ stickyColumnsUpdated(update) {
1727
+ this._positionListener?.stickyColumnsUpdated(update);
1728
+ }
1729
+ stickyEndColumnsUpdated(update) {
1730
+ this._positionListener?.stickyEndColumnsUpdated(update);
1731
+ }
1732
+ stickyHeaderRowsUpdated(update) {
1733
+ this._headerRowStickyUpdates.next(update);
1734
+ this._positionListener?.stickyHeaderRowsUpdated(update);
1735
+ }
1736
+ stickyFooterRowsUpdated(update) {
1737
+ this._footerRowStickyUpdates.next(update);
1738
+ this._positionListener?.stickyFooterRowsUpdated(update);
1739
+ }
1714
1740
  _outletAssigned() {
1715
1741
  if (!this._hasAllOutlets && this._rowOutlet && this._headerRowOutlet && this._footerRowOutlet && this._noDataRowOutlet) {
1716
1742
  this._hasAllOutlets = true;
@@ -1748,14 +1774,15 @@ class CdkTable {
1748
1774
  this._checkStickyStates();
1749
1775
  }
1750
1776
  _getAllRenderRows() {
1777
+ if (!Array.isArray(this._data) || !this._renderedRange) {
1778
+ return [];
1779
+ }
1751
1780
  const renderRows = [];
1781
+ const end = Math.min(this._data.length, this._renderedRange.end);
1752
1782
  const prevCachedRenderRows = this._cachedRenderRowsMap;
1753
1783
  this._cachedRenderRowsMap = new Map();
1754
- if (!this._data) {
1755
- return renderRows;
1756
- }
1757
- for (let i = 0; i < this._data.length; i++) {
1758
- let data = this._data[i];
1784
+ for (let i = this._renderedRange.start; i < end; i++) {
1785
+ const data = this._data[i];
1759
1786
  const renderRowsForData = this._getRenderRowsForData(data, i, prevCachedRenderRows.get(data));
1760
1787
  if (!this._cachedRenderRowsMap.has(data)) {
1761
1788
  this._cachedRenderRowsMap.set(data, new WeakMap());
@@ -1863,8 +1890,10 @@ class CdkTable {
1863
1890
  if (dataStream === undefined && (typeof ngDevMode === 'undefined' || ngDevMode)) {
1864
1891
  throw getTableUnknownDataSourceError();
1865
1892
  }
1866
- this._renderChangeSubscription = dataStream.pipe(takeUntil(this._onDestroy)).subscribe(data => {
1893
+ this._renderChangeSubscription = combineLatest([dataStream, this.viewChange]).pipe(takeUntil(this._onDestroy)).subscribe(([data, range]) => {
1867
1894
  this._data = data || [];
1895
+ this._renderedRange = range;
1896
+ this._dataStream.next(data);
1868
1897
  this.renderRows();
1869
1898
  });
1870
1899
  }
@@ -1892,7 +1921,7 @@ class CdkTable {
1892
1921
  });
1893
1922
  const stickyStartStates = columnDefs.map(columnDef => columnDef.sticky);
1894
1923
  const stickyEndStates = columnDefs.map(columnDef => columnDef.stickyEnd);
1895
- this._stickyStyler.updateStickyColumns(rows, stickyStartStates, stickyEndStates, !this._fixedLayout || this._forceRecalculateCellWidths);
1924
+ this._stickyStyler.updateStickyColumns(rows, stickyStartStates, stickyEndStates, !this.fixedLayout || this._forceRecalculateCellWidths);
1896
1925
  }
1897
1926
  _getRenderedRows(rowOutlet) {
1898
1927
  const renderedRows = [];
@@ -1996,12 +2025,53 @@ class CdkTable {
1996
2025
  }
1997
2026
  _setupStickyStyler() {
1998
2027
  const direction = this._dir ? this._dir.value : 'ltr';
1999
- this._stickyStyler = new StickyStyler(this._isNativeHtmlTable, this.stickyCssClass, this._platform.isBrowser, this.needsPositionStickyOnElement, direction, this._stickyPositioningListener, this._injector);
2028
+ const injector = this._injector;
2029
+ this._stickyStyler = new StickyStyler(this._isNativeHtmlTable, this.stickyCssClass, this._platform.isBrowser, this.needsPositionStickyOnElement, direction, this, injector);
2000
2030
  (this._dir ? this._dir.change : of()).pipe(takeUntil(this._onDestroy)).subscribe(value => {
2001
2031
  this._stickyStyler.direction = value;
2002
2032
  this.updateStickyColumnStyles();
2003
2033
  });
2004
2034
  }
2035
+ _setupVirtualScrolling(viewport) {
2036
+ const virtualScrollScheduler = typeof requestAnimationFrame !== 'undefined' ? animationFrameScheduler : asapScheduler;
2037
+ this.viewChange.next({
2038
+ start: 0,
2039
+ end: 0
2040
+ });
2041
+ viewport.renderedRangeStream.pipe(auditTime(0, virtualScrollScheduler), takeUntil(this._onDestroy)).subscribe(this.viewChange);
2042
+ viewport.attach({
2043
+ dataStream: this._dataStream,
2044
+ measureRangeSize: (range, orientation) => this._measureRangeSize(range, orientation)
2045
+ });
2046
+ combineLatest([viewport.renderedContentOffset, this._headerRowStickyUpdates]).pipe(takeUntil(this._onDestroy)).subscribe(([offsetFromTop, update]) => {
2047
+ if (!update.sizes || !update.offsets || !update.elements) {
2048
+ return;
2049
+ }
2050
+ for (let i = 0; i < update.elements.length; i++) {
2051
+ const cells = update.elements[i];
2052
+ if (cells) {
2053
+ const current = update.offsets[i];
2054
+ const offset = offsetFromTop !== 0 ? Math.max(offsetFromTop - current, current) : -current;
2055
+ for (const cell of cells) {
2056
+ cell.style.top = `${-offset}px`;
2057
+ }
2058
+ }
2059
+ }
2060
+ });
2061
+ combineLatest([viewport.renderedContentOffset, this._footerRowStickyUpdates]).pipe(takeUntil(this._onDestroy)).subscribe(([offsetFromTop, update]) => {
2062
+ if (!update.sizes || !update.offsets || !update.elements) {
2063
+ return;
2064
+ }
2065
+ for (let i = 0; i < update.elements.length; i++) {
2066
+ const cells = update.elements[i];
2067
+ if (cells) {
2068
+ for (const cell of cells) {
2069
+ cell.style.bottom = `${offsetFromTop + update.offsets[i]}px`;
2070
+ }
2071
+ }
2072
+ }
2073
+ });
2074
+ }
2005
2075
  _getOwnDefs(items) {
2006
2076
  return items.filter(item => !item._table || item._table === this);
2007
2077
  }
@@ -2032,9 +2102,43 @@ class CdkTable {
2032
2102
  this._isShowingNoDataRow = shouldShow;
2033
2103
  this._changeDetectorRef.markForCheck();
2034
2104
  }
2105
+ _measureRangeSize(range, orientation) {
2106
+ if (range.start >= range.end || orientation !== 'vertical') {
2107
+ return 0;
2108
+ }
2109
+ const renderedRange = this.viewChange.value;
2110
+ const viewContainerRef = this._rowOutlet.viewContainer;
2111
+ if ((range.start < renderedRange.start || range.end > renderedRange.end) && (typeof ngDevMode === 'undefined' || ngDevMode)) {
2112
+ throw Error(`Error: attempted to measure an item that isn't rendered.`);
2113
+ }
2114
+ const renderedStartIndex = range.start - renderedRange.start;
2115
+ const rangeLen = range.end - range.start;
2116
+ let firstNode;
2117
+ let lastNode;
2118
+ for (let i = 0; i < rangeLen; i++) {
2119
+ const view = viewContainerRef.get(i + renderedStartIndex);
2120
+ if (view && view.rootNodes.length) {
2121
+ firstNode = lastNode = view.rootNodes[0];
2122
+ break;
2123
+ }
2124
+ }
2125
+ for (let i = rangeLen - 1; i > -1; i--) {
2126
+ const view = viewContainerRef.get(i + renderedStartIndex);
2127
+ if (view && view.rootNodes.length) {
2128
+ lastNode = view.rootNodes[view.rootNodes.length - 1];
2129
+ break;
2130
+ }
2131
+ }
2132
+ const startRect = firstNode?.getBoundingClientRect?.();
2133
+ const endRect = lastNode?.getBoundingClientRect?.();
2134
+ return startRect && endRect ? endRect.bottom - startRect.top : 0;
2135
+ }
2136
+ _virtualScrollEnabled() {
2137
+ return !this._disableVirtualScrolling && this._virtualScrollViewport != null;
2138
+ }
2035
2139
  static ɵfac = i0.ɵɵngDeclareFactory({
2036
2140
  minVersion: "12.0.0",
2037
- version: "21.0.0",
2141
+ version: "21.0.3",
2038
2142
  ngImport: i0,
2039
2143
  type: CdkTable,
2040
2144
  deps: [],
@@ -2042,7 +2146,7 @@ class CdkTable {
2042
2146
  });
2043
2147
  static ɵcmp = i0.ɵɵngDeclareComponent({
2044
2148
  minVersion: "17.0.0",
2045
- version: "21.0.0",
2149
+ version: "21.0.3",
2046
2150
  type: CdkTable,
2047
2151
  isStandalone: true,
2048
2152
  selector: "cdk-table, table[cdk-table]",
@@ -2050,7 +2154,8 @@ class CdkTable {
2050
2154
  trackBy: "trackBy",
2051
2155
  dataSource: "dataSource",
2052
2156
  multiTemplateDataRows: ["multiTemplateDataRows", "multiTemplateDataRows", booleanAttribute],
2053
- fixedLayout: ["fixedLayout", "fixedLayout", booleanAttribute]
2157
+ fixedLayout: ["fixedLayout", "fixedLayout", booleanAttribute],
2158
+ recycleRows: ["recycleRows", "recycleRows", booleanAttribute]
2054
2159
  },
2055
2160
  outputs: {
2056
2161
  contentChanged: "contentChanged"
@@ -2064,9 +2169,6 @@ class CdkTable {
2064
2169
  providers: [{
2065
2170
  provide: CDK_TABLE,
2066
2171
  useExisting: CdkTable
2067
- }, {
2068
- provide: _VIEW_REPEATER_STRATEGY,
2069
- useClass: _DisposeViewRepeaterStrategy
2070
2172
  }, {
2071
2173
  provide: STICKY_POSITIONING_LISTENER,
2072
2174
  useValue: null
@@ -2150,7 +2252,7 @@ class CdkTable {
2150
2252
  }
2151
2253
  i0.ɵɵngDeclareClassMetadata({
2152
2254
  minVersion: "12.0.0",
2153
- version: "21.0.0",
2255
+ version: "21.0.3",
2154
2256
  ngImport: i0,
2155
2257
  type: CdkTable,
2156
2258
  decorators: [{
@@ -2197,9 +2299,6 @@ i0.ɵɵngDeclareClassMetadata({
2197
2299
  providers: [{
2198
2300
  provide: CDK_TABLE,
2199
2301
  useExisting: CdkTable
2200
- }, {
2201
- provide: _VIEW_REPEATER_STRATEGY,
2202
- useClass: _DisposeViewRepeaterStrategy
2203
2302
  }, {
2204
2303
  provide: STICKY_POSITIONING_LISTENER,
2205
2304
  useValue: null
@@ -2228,6 +2327,12 @@ i0.ɵɵngDeclareClassMetadata({
2228
2327
  transform: booleanAttribute
2229
2328
  }]
2230
2329
  }],
2330
+ recycleRows: [{
2331
+ type: Input,
2332
+ args: [{
2333
+ transform: booleanAttribute
2334
+ }]
2335
+ }],
2231
2336
  contentChanged: [{
2232
2337
  type: Output
2233
2338
  }],
@@ -2341,7 +2446,7 @@ class CdkTextColumn {
2341
2446
  }
2342
2447
  static ɵfac = i0.ɵɵngDeclareFactory({
2343
2448
  minVersion: "12.0.0",
2344
- version: "21.0.0",
2449
+ version: "21.0.3",
2345
2450
  ngImport: i0,
2346
2451
  type: CdkTextColumn,
2347
2452
  deps: [],
@@ -2349,7 +2454,7 @@ class CdkTextColumn {
2349
2454
  });
2350
2455
  static ɵcmp = i0.ɵɵngDeclareComponent({
2351
2456
  minVersion: "14.0.0",
2352
- version: "21.0.0",
2457
+ version: "21.0.3",
2353
2458
  type: CdkTextColumn,
2354
2459
  isStandalone: true,
2355
2460
  selector: "cdk-text-column",
@@ -2418,7 +2523,7 @@ class CdkTextColumn {
2418
2523
  }
2419
2524
  i0.ɵɵngDeclareClassMetadata({
2420
2525
  minVersion: "12.0.0",
2421
- version: "21.0.0",
2526
+ version: "21.0.3",
2422
2527
  ngImport: i0,
2423
2528
  type: CdkTextColumn,
2424
2529
  decorators: [{
@@ -2479,7 +2584,7 @@ const EXPORTED_DECLARATIONS = [CdkTable, CdkRowDef, CdkCellDef, CdkCellOutlet, C
2479
2584
  class CdkTableModule {
2480
2585
  static ɵfac = i0.ɵɵngDeclareFactory({
2481
2586
  minVersion: "12.0.0",
2482
- version: "21.0.0",
2587
+ version: "21.0.3",
2483
2588
  ngImport: i0,
2484
2589
  type: CdkTableModule,
2485
2590
  deps: [],
@@ -2487,7 +2592,7 @@ class CdkTableModule {
2487
2592
  });
2488
2593
  static ɵmod = i0.ɵɵngDeclareNgModule({
2489
2594
  minVersion: "14.0.0",
2490
- version: "21.0.0",
2595
+ version: "21.0.3",
2491
2596
  ngImport: i0,
2492
2597
  type: CdkTableModule,
2493
2598
  imports: [ScrollingModule, CdkTable, CdkRowDef, CdkCellDef, CdkCellOutlet, CdkHeaderCellDef, CdkFooterCellDef, CdkColumnDef, CdkCell, CdkRow, CdkHeaderCell, CdkFooterCell, CdkHeaderRow, CdkHeaderRowDef, CdkFooterRow, CdkFooterRowDef, DataRowOutlet, HeaderRowOutlet, FooterRowOutlet, CdkTextColumn, CdkNoDataRow, CdkRecycleRows, NoDataRowOutlet],
@@ -2495,7 +2600,7 @@ class CdkTableModule {
2495
2600
  });
2496
2601
  static ɵinj = i0.ɵɵngDeclareInjector({
2497
2602
  minVersion: "12.0.0",
2498
- version: "21.0.0",
2603
+ version: "21.0.3",
2499
2604
  ngImport: i0,
2500
2605
  type: CdkTableModule,
2501
2606
  imports: [ScrollingModule]
@@ -2503,7 +2608,7 @@ class CdkTableModule {
2503
2608
  }
2504
2609
  i0.ɵɵngDeclareClassMetadata({
2505
2610
  minVersion: "12.0.0",
2506
- version: "21.0.0",
2611
+ version: "21.0.3",
2507
2612
  ngImport: i0,
2508
2613
  type: CdkTableModule,
2509
2614
  decorators: [{