@angular/cdk 19.1.0-next.3 → 19.1.0
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.
- package/LICENSE +1 -1
- package/a11y/index.d.ts +3 -4
- package/drag-drop/index.d.ts +0 -4
- package/fesm2022/a11y.mjs +81 -82
- package/fesm2022/a11y.mjs.map +1 -1
- package/fesm2022/accordion.mjs +10 -10
- package/fesm2022/accordion.mjs.map +1 -1
- package/fesm2022/bidi.mjs +10 -10
- package/fesm2022/bidi.mjs.map +1 -1
- package/fesm2022/cdk.mjs +1 -1
- package/fesm2022/cdk.mjs.map +1 -1
- package/fesm2022/clipboard.mjs +10 -10
- package/fesm2022/clipboard.mjs.map +1 -1
- package/fesm2022/collections.mjs +3 -3
- package/fesm2022/collections.mjs.map +1 -1
- package/fesm2022/dialog.mjs +10 -10
- package/fesm2022/dialog.mjs.map +1 -1
- package/fesm2022/drag-drop.mjs +93 -86
- package/fesm2022/drag-drop.mjs.map +1 -1
- package/fesm2022/layout.mjs +10 -10
- package/fesm2022/layout.mjs.map +1 -1
- package/fesm2022/listbox.mjs +10 -10
- package/fesm2022/listbox.mjs.map +1 -1
- package/fesm2022/menu.mjs +78 -52
- package/fesm2022/menu.mjs.map +1 -1
- package/fesm2022/observers/private.mjs +3 -3
- package/fesm2022/observers/private.mjs.map +1 -1
- package/fesm2022/observers.mjs +13 -13
- package/fesm2022/observers.mjs.map +1 -1
- package/fesm2022/overlay.mjs +58 -51
- package/fesm2022/overlay.mjs.map +1 -1
- package/fesm2022/platform.mjs +7 -7
- package/fesm2022/platform.mjs.map +1 -1
- package/fesm2022/portal.mjs +16 -16
- package/fesm2022/portal.mjs.map +1 -1
- package/fesm2022/private.mjs +6 -6
- package/fesm2022/private.mjs.map +1 -1
- package/fesm2022/scrolling.mjs +36 -35
- package/fesm2022/scrolling.mjs.map +1 -1
- package/fesm2022/stepper.mjs +22 -22
- package/fesm2022/stepper.mjs.map +1 -1
- package/fesm2022/table.mjs +226 -182
- package/fesm2022/table.mjs.map +1 -1
- package/fesm2022/text-field.mjs +33 -29
- package/fesm2022/text-field.mjs.map +1 -1
- package/fesm2022/tree.mjs +47 -29
- package/fesm2022/tree.mjs.map +1 -1
- package/menu/index.d.ts +7 -1
- package/overlay/index.d.ts +1 -2
- package/package.json +3 -3
- package/schematics/ng-add/index.js +1 -1
- package/schematics/ng-add/index.mjs +1 -1
- package/table/index.d.ts +12 -1
- package/text-field/index.d.ts +0 -1
- package/tree/index.d.ts +2 -0
package/fesm2022/table.mjs
CHANGED
|
@@ -5,7 +5,7 @@ import { Platform } from '@angular/cdk/platform';
|
|
|
5
5
|
import { ViewportRuler, ScrollingModule } from '@angular/cdk/scrolling';
|
|
6
6
|
import { DOCUMENT } from '@angular/common';
|
|
7
7
|
import * as i0 from '@angular/core';
|
|
8
|
-
import { InjectionToken, inject, TemplateRef, Directive, booleanAttribute, Input, ContentChild, ElementRef, NgZone, Injectable, IterableDiffers, ViewContainerRef, Component, ChangeDetectionStrategy, ViewEncapsulation, EmbeddedViewRef, ChangeDetectorRef, EventEmitter, Injector, HostAttributeToken,
|
|
8
|
+
import { InjectionToken, inject, TemplateRef, Directive, booleanAttribute, Input, ContentChild, ElementRef, NgZone, Injectable, IterableDiffers, ViewContainerRef, Component, ChangeDetectionStrategy, ViewEncapsulation, afterNextRender, EmbeddedViewRef, ChangeDetectorRef, EventEmitter, Injector, HostAttributeToken, Output, ContentChildren, ViewChild, NgModule } from '@angular/core';
|
|
9
9
|
import { Subject, BehaviorSubject, isObservable, of } from 'rxjs';
|
|
10
10
|
import { takeUntil } from 'rxjs/operators';
|
|
11
11
|
import { coerceBooleanProperty } from '@angular/cdk/coercion';
|
|
@@ -26,10 +26,10 @@ class CdkCellDef {
|
|
|
26
26
|
/** @docs-private */
|
|
27
27
|
template = inject(TemplateRef);
|
|
28
28
|
constructor() { }
|
|
29
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.0-
|
|
30
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.0-
|
|
29
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.0-rc.0", ngImport: i0, type: CdkCellDef, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
30
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.0-rc.0", type: CdkCellDef, isStandalone: true, selector: "[cdkCellDef]", ngImport: i0 });
|
|
31
31
|
}
|
|
32
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0-
|
|
32
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0-rc.0", ngImport: i0, type: CdkCellDef, decorators: [{
|
|
33
33
|
type: Directive,
|
|
34
34
|
args: [{
|
|
35
35
|
selector: '[cdkCellDef]',
|
|
@@ -43,10 +43,10 @@ class CdkHeaderCellDef {
|
|
|
43
43
|
/** @docs-private */
|
|
44
44
|
template = inject(TemplateRef);
|
|
45
45
|
constructor() { }
|
|
46
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.0-
|
|
47
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.0-
|
|
46
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.0-rc.0", ngImport: i0, type: CdkHeaderCellDef, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
47
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.0-rc.0", type: CdkHeaderCellDef, isStandalone: true, selector: "[cdkHeaderCellDef]", ngImport: i0 });
|
|
48
48
|
}
|
|
49
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0-
|
|
49
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0-rc.0", ngImport: i0, type: CdkHeaderCellDef, decorators: [{
|
|
50
50
|
type: Directive,
|
|
51
51
|
args: [{
|
|
52
52
|
selector: '[cdkHeaderCellDef]',
|
|
@@ -60,10 +60,10 @@ class CdkFooterCellDef {
|
|
|
60
60
|
/** @docs-private */
|
|
61
61
|
template = inject(TemplateRef);
|
|
62
62
|
constructor() { }
|
|
63
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.0-
|
|
64
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.0-
|
|
63
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.0-rc.0", ngImport: i0, type: CdkFooterCellDef, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
64
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.0-rc.0", type: CdkFooterCellDef, isStandalone: true, selector: "[cdkFooterCellDef]", ngImport: i0 });
|
|
65
65
|
}
|
|
66
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0-
|
|
66
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0-rc.0", ngImport: i0, type: CdkFooterCellDef, decorators: [{
|
|
67
67
|
type: Directive,
|
|
68
68
|
args: [{
|
|
69
69
|
selector: '[cdkFooterCellDef]',
|
|
@@ -163,10 +163,10 @@ class CdkColumnDef {
|
|
|
163
163
|
this._updateColumnCssClassName();
|
|
164
164
|
}
|
|
165
165
|
}
|
|
166
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.0-
|
|
167
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "19.1.0-
|
|
166
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.0-rc.0", ngImport: i0, type: CdkColumnDef, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
167
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "19.1.0-rc.0", type: CdkColumnDef, isStandalone: true, selector: "[cdkColumnDef]", inputs: { name: ["cdkColumnDef", "name"], sticky: ["sticky", "sticky", booleanAttribute], stickyEnd: ["stickyEnd", "stickyEnd", booleanAttribute] }, providers: [{ provide: 'MAT_SORT_HEADER_COLUMN_DEF', useExisting: CdkColumnDef }], queries: [{ propertyName: "cell", first: true, predicate: CdkCellDef, descendants: true }, { propertyName: "headerCell", first: true, predicate: CdkHeaderCellDef, descendants: true }, { propertyName: "footerCell", first: true, predicate: CdkFooterCellDef, descendants: true }], ngImport: i0 });
|
|
168
168
|
}
|
|
169
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0-
|
|
169
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0-rc.0", ngImport: i0, type: CdkColumnDef, decorators: [{
|
|
170
170
|
type: Directive,
|
|
171
171
|
args: [{
|
|
172
172
|
selector: '[cdkColumnDef]',
|
|
@@ -202,10 +202,10 @@ class CdkHeaderCell extends BaseCdkCell {
|
|
|
202
202
|
constructor() {
|
|
203
203
|
super(inject(CdkColumnDef), inject(ElementRef));
|
|
204
204
|
}
|
|
205
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.0-
|
|
206
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.0-
|
|
205
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.0-rc.0", ngImport: i0, type: CdkHeaderCell, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
206
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.0-rc.0", type: CdkHeaderCell, isStandalone: true, selector: "cdk-header-cell, th[cdk-header-cell]", host: { attributes: { "role": "columnheader" }, classAttribute: "cdk-header-cell" }, usesInheritance: true, ngImport: i0 });
|
|
207
207
|
}
|
|
208
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0-
|
|
208
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0-rc.0", ngImport: i0, type: CdkHeaderCell, decorators: [{
|
|
209
209
|
type: Directive,
|
|
210
210
|
args: [{
|
|
211
211
|
selector: 'cdk-header-cell, th[cdk-header-cell]',
|
|
@@ -226,10 +226,10 @@ class CdkFooterCell extends BaseCdkCell {
|
|
|
226
226
|
elementRef.nativeElement.setAttribute('role', role);
|
|
227
227
|
}
|
|
228
228
|
}
|
|
229
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.0-
|
|
230
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.0-
|
|
229
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.0-rc.0", ngImport: i0, type: CdkFooterCell, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
230
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.0-rc.0", type: CdkFooterCell, isStandalone: true, selector: "cdk-footer-cell, td[cdk-footer-cell]", host: { classAttribute: "cdk-footer-cell" }, usesInheritance: true, ngImport: i0 });
|
|
231
231
|
}
|
|
232
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0-
|
|
232
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0-rc.0", ngImport: i0, type: CdkFooterCell, decorators: [{
|
|
233
233
|
type: Directive,
|
|
234
234
|
args: [{
|
|
235
235
|
selector: 'cdk-footer-cell, td[cdk-footer-cell]',
|
|
@@ -249,10 +249,10 @@ class CdkCell extends BaseCdkCell {
|
|
|
249
249
|
elementRef.nativeElement.setAttribute('role', role);
|
|
250
250
|
}
|
|
251
251
|
}
|
|
252
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.0-
|
|
253
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.0-
|
|
252
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.0-rc.0", ngImport: i0, type: CdkCell, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
253
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.0-rc.0", type: CdkCell, isStandalone: true, selector: "cdk-cell, td[cdk-cell]", host: { classAttribute: "cdk-cell" }, usesInheritance: true, ngImport: i0 });
|
|
254
254
|
}
|
|
255
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0-
|
|
255
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0-rc.0", ngImport: i0, type: CdkCell, decorators: [{
|
|
256
256
|
type: Directive,
|
|
257
257
|
args: [{
|
|
258
258
|
selector: 'cdk-cell, td[cdk-cell]',
|
|
@@ -322,10 +322,10 @@ class _CoalescedStyleScheduler {
|
|
|
322
322
|
this._currentSchedule = null;
|
|
323
323
|
}));
|
|
324
324
|
}
|
|
325
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.0-
|
|
326
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.0-
|
|
325
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.0-rc.0", ngImport: i0, type: _CoalescedStyleScheduler, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
326
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.0-rc.0", ngImport: i0, type: _CoalescedStyleScheduler });
|
|
327
327
|
}
|
|
328
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0-
|
|
328
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0-rc.0", ngImport: i0, type: _CoalescedStyleScheduler, decorators: [{
|
|
329
329
|
type: Injectable
|
|
330
330
|
}], ctorParameters: () => [] });
|
|
331
331
|
|
|
@@ -374,10 +374,10 @@ class BaseRowDef {
|
|
|
374
374
|
return column.cell.template;
|
|
375
375
|
}
|
|
376
376
|
}
|
|
377
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.0-
|
|
378
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.0-
|
|
377
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.0-rc.0", ngImport: i0, type: BaseRowDef, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
378
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.0-rc.0", type: BaseRowDef, isStandalone: true, usesOnChanges: true, ngImport: i0 });
|
|
379
379
|
}
|
|
380
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0-
|
|
380
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0-rc.0", ngImport: i0, type: BaseRowDef, decorators: [{
|
|
381
381
|
type: Directive
|
|
382
382
|
}], ctorParameters: () => [] });
|
|
383
383
|
/**
|
|
@@ -416,10 +416,10 @@ class CdkHeaderRowDef extends BaseRowDef {
|
|
|
416
416
|
resetStickyChanged() {
|
|
417
417
|
this._hasStickyChanged = false;
|
|
418
418
|
}
|
|
419
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.0-
|
|
420
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "19.1.0-
|
|
419
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.0-rc.0", ngImport: i0, type: CdkHeaderRowDef, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
420
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "19.1.0-rc.0", type: CdkHeaderRowDef, isStandalone: true, selector: "[cdkHeaderRowDef]", inputs: { columns: ["cdkHeaderRowDef", "columns"], sticky: ["cdkHeaderRowDefSticky", "sticky", booleanAttribute] }, usesInheritance: true, usesOnChanges: true, ngImport: i0 });
|
|
421
421
|
}
|
|
422
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0-
|
|
422
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0-rc.0", ngImport: i0, type: CdkHeaderRowDef, decorators: [{
|
|
423
423
|
type: Directive,
|
|
424
424
|
args: [{
|
|
425
425
|
selector: '[cdkHeaderRowDef]',
|
|
@@ -465,10 +465,10 @@ class CdkFooterRowDef extends BaseRowDef {
|
|
|
465
465
|
resetStickyChanged() {
|
|
466
466
|
this._hasStickyChanged = false;
|
|
467
467
|
}
|
|
468
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.0-
|
|
469
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "19.1.0-
|
|
468
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.0-rc.0", ngImport: i0, type: CdkFooterRowDef, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
469
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "19.1.0-rc.0", type: CdkFooterRowDef, isStandalone: true, selector: "[cdkFooterRowDef]", inputs: { columns: ["cdkFooterRowDef", "columns"], sticky: ["cdkFooterRowDefSticky", "sticky", booleanAttribute] }, usesInheritance: true, usesOnChanges: true, ngImport: i0 });
|
|
470
470
|
}
|
|
471
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0-
|
|
471
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0-rc.0", ngImport: i0, type: CdkFooterRowDef, decorators: [{
|
|
472
472
|
type: Directive,
|
|
473
473
|
args: [{
|
|
474
474
|
selector: '[cdkFooterRowDef]',
|
|
@@ -497,10 +497,10 @@ class CdkRowDef extends BaseRowDef {
|
|
|
497
497
|
// if this template should be used.
|
|
498
498
|
super(inject(TemplateRef), inject(IterableDiffers));
|
|
499
499
|
}
|
|
500
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.0-
|
|
501
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.0-
|
|
500
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.0-rc.0", ngImport: i0, type: CdkRowDef, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
501
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.0-rc.0", type: CdkRowDef, isStandalone: true, selector: "[cdkRowDef]", inputs: { columns: ["cdkRowDefColumns", "columns"], when: ["cdkRowDefWhen", "when"] }, usesInheritance: true, ngImport: i0 });
|
|
502
502
|
}
|
|
503
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0-
|
|
503
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0-rc.0", ngImport: i0, type: CdkRowDef, decorators: [{
|
|
504
504
|
type: Directive,
|
|
505
505
|
args: [{
|
|
506
506
|
selector: '[cdkRowDef]',
|
|
@@ -538,10 +538,10 @@ class CdkCellOutlet {
|
|
|
538
538
|
CdkCellOutlet.mostRecentCellOutlet = null;
|
|
539
539
|
}
|
|
540
540
|
}
|
|
541
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.0-
|
|
542
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.0-
|
|
541
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.0-rc.0", ngImport: i0, type: CdkCellOutlet, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
542
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.0-rc.0", type: CdkCellOutlet, isStandalone: true, selector: "[cdkCellOutlet]", ngImport: i0 });
|
|
543
543
|
}
|
|
544
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0-
|
|
544
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0-rc.0", ngImport: i0, type: CdkCellOutlet, decorators: [{
|
|
545
545
|
type: Directive,
|
|
546
546
|
args: [{
|
|
547
547
|
selector: '[cdkCellOutlet]',
|
|
@@ -549,10 +549,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0-next.3",
|
|
|
549
549
|
}], ctorParameters: () => [] });
|
|
550
550
|
/** Header template container that contains the cell outlet. Adds the right class and role. */
|
|
551
551
|
class CdkHeaderRow {
|
|
552
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.0-
|
|
553
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.0-
|
|
552
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.0-rc.0", ngImport: i0, type: CdkHeaderRow, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
553
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.0-rc.0", type: CdkHeaderRow, isStandalone: true, selector: "cdk-header-row, tr[cdk-header-row]", host: { attributes: { "role": "row" }, classAttribute: "cdk-header-row" }, ngImport: i0, template: "<ng-container cdkCellOutlet></ng-container>", isInline: true, dependencies: [{ kind: "directive", type: CdkCellOutlet, selector: "[cdkCellOutlet]" }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });
|
|
554
554
|
}
|
|
555
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0-
|
|
555
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0-rc.0", ngImport: i0, type: CdkHeaderRow, decorators: [{
|
|
556
556
|
type: Component,
|
|
557
557
|
args: [{
|
|
558
558
|
selector: 'cdk-header-row, tr[cdk-header-row]',
|
|
@@ -570,10 +570,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0-next.3",
|
|
|
570
570
|
}] });
|
|
571
571
|
/** Footer template container that contains the cell outlet. Adds the right class and role. */
|
|
572
572
|
class CdkFooterRow {
|
|
573
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.0-
|
|
574
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.0-
|
|
573
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.0-rc.0", ngImport: i0, type: CdkFooterRow, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
574
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.0-rc.0", type: CdkFooterRow, isStandalone: true, selector: "cdk-footer-row, tr[cdk-footer-row]", host: { attributes: { "role": "row" }, classAttribute: "cdk-footer-row" }, ngImport: i0, template: "<ng-container cdkCellOutlet></ng-container>", isInline: true, dependencies: [{ kind: "directive", type: CdkCellOutlet, selector: "[cdkCellOutlet]" }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });
|
|
575
575
|
}
|
|
576
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0-
|
|
576
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0-rc.0", ngImport: i0, type: CdkFooterRow, decorators: [{
|
|
577
577
|
type: Component,
|
|
578
578
|
args: [{
|
|
579
579
|
selector: 'cdk-footer-row, tr[cdk-footer-row]',
|
|
@@ -591,10 +591,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0-next.3",
|
|
|
591
591
|
}] });
|
|
592
592
|
/** Data row template container that contains the cell outlet. Adds the right class and role. */
|
|
593
593
|
class CdkRow {
|
|
594
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.0-
|
|
595
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.0-
|
|
594
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.0-rc.0", ngImport: i0, type: CdkRow, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
595
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.0-rc.0", type: CdkRow, isStandalone: true, selector: "cdk-row, tr[cdk-row]", host: { attributes: { "role": "row" }, classAttribute: "cdk-row" }, ngImport: i0, template: "<ng-container cdkCellOutlet></ng-container>", isInline: true, dependencies: [{ kind: "directive", type: CdkCellOutlet, selector: "[cdkCellOutlet]" }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });
|
|
596
596
|
}
|
|
597
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0-
|
|
597
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0-rc.0", ngImport: i0, type: CdkRow, decorators: [{
|
|
598
598
|
type: Component,
|
|
599
599
|
args: [{
|
|
600
600
|
selector: 'cdk-row, tr[cdk-row]',
|
|
@@ -615,16 +615,20 @@ class CdkNoDataRow {
|
|
|
615
615
|
templateRef = inject(TemplateRef);
|
|
616
616
|
_contentClassName = 'cdk-no-data-row';
|
|
617
617
|
constructor() { }
|
|
618
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.0-
|
|
619
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.0-
|
|
618
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.0-rc.0", ngImport: i0, type: CdkNoDataRow, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
619
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.0-rc.0", type: CdkNoDataRow, isStandalone: true, selector: "ng-template[cdkNoDataRow]", ngImport: i0 });
|
|
620
620
|
}
|
|
621
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0-
|
|
621
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0-rc.0", ngImport: i0, type: CdkNoDataRow, decorators: [{
|
|
622
622
|
type: Directive,
|
|
623
623
|
args: [{
|
|
624
624
|
selector: 'ng-template[cdkNoDataRow]',
|
|
625
625
|
}]
|
|
626
626
|
}], ctorParameters: () => [] });
|
|
627
627
|
|
|
628
|
+
/**
|
|
629
|
+
* Directions that can be used when setting sticky positioning.
|
|
630
|
+
* @docs-private
|
|
631
|
+
*/
|
|
628
632
|
/**
|
|
629
633
|
* List of all possible directions that can be used for sticky positioning.
|
|
630
634
|
* @docs-private
|
|
@@ -642,6 +646,7 @@ class StickyStyler {
|
|
|
642
646
|
_isBrowser;
|
|
643
647
|
_needsPositionStickyOnElement;
|
|
644
648
|
_positionListener;
|
|
649
|
+
_tableInjector;
|
|
645
650
|
_elemSizeCache = new WeakMap();
|
|
646
651
|
_resizeObserver = globalThis?.ResizeObserver
|
|
647
652
|
? new globalThis.ResizeObserver(entries => this._updateCachedSizes(entries))
|
|
@@ -650,6 +655,7 @@ class StickyStyler {
|
|
|
650
655
|
_stickyColumnsReplayTimeout = null;
|
|
651
656
|
_cachedCellWidths = [];
|
|
652
657
|
_borderCellCss;
|
|
658
|
+
_destroyed = false;
|
|
653
659
|
/**
|
|
654
660
|
* @param _isNativeHtmlTable Whether the sticky logic should be based on a table
|
|
655
661
|
* that uses the native `<table>` element.
|
|
@@ -663,8 +669,9 @@ class StickyStyler {
|
|
|
663
669
|
* the component stylesheet for _stickCellCss.
|
|
664
670
|
* @param _positionListener A listener that is notified of changes to sticky rows/columns
|
|
665
671
|
* and their dimensions.
|
|
672
|
+
* @param _tableInjector The table's Injector.
|
|
666
673
|
*/
|
|
667
|
-
constructor(_isNativeHtmlTable, _stickCellCss, direction, _coalescedStyleScheduler, _isBrowser = true, _needsPositionStickyOnElement = true, _positionListener) {
|
|
674
|
+
constructor(_isNativeHtmlTable, _stickCellCss, direction, _coalescedStyleScheduler, _isBrowser = true, _needsPositionStickyOnElement = true, _positionListener, _tableInjector) {
|
|
668
675
|
this._isNativeHtmlTable = _isNativeHtmlTable;
|
|
669
676
|
this._stickCellCss = _stickCellCss;
|
|
670
677
|
this.direction = direction;
|
|
@@ -672,6 +679,7 @@ class StickyStyler {
|
|
|
672
679
|
this._isBrowser = _isBrowser;
|
|
673
680
|
this._needsPositionStickyOnElement = _needsPositionStickyOnElement;
|
|
674
681
|
this._positionListener = _positionListener;
|
|
682
|
+
this._tableInjector = _tableInjector;
|
|
675
683
|
this._borderCellCss = {
|
|
676
684
|
'top': `${_stickCellCss}-border-elem-top`,
|
|
677
685
|
'bottom': `${_stickCellCss}-border-elem-bottom`,
|
|
@@ -696,16 +704,15 @@ class StickyStyler {
|
|
|
696
704
|
if (row.nodeType !== row.ELEMENT_NODE) {
|
|
697
705
|
continue;
|
|
698
706
|
}
|
|
699
|
-
elementsToClear.push(row);
|
|
700
|
-
for (let i = 0; i < row.children.length; i++) {
|
|
701
|
-
elementsToClear.push(row.children[i]);
|
|
702
|
-
}
|
|
707
|
+
elementsToClear.push(row, ...Array.from(row.children));
|
|
703
708
|
}
|
|
704
709
|
// Coalesce with sticky row/column updates (and potentially other changes like column resize).
|
|
705
|
-
this.
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
710
|
+
this._afterNextRender({
|
|
711
|
+
write: () => {
|
|
712
|
+
for (const element of elementsToClear) {
|
|
713
|
+
this._removeStickyStyle(element, stickyDirections);
|
|
714
|
+
}
|
|
715
|
+
},
|
|
709
716
|
});
|
|
710
717
|
}
|
|
711
718
|
/**
|
|
@@ -738,45 +745,52 @@ class StickyStyler {
|
|
|
738
745
|
return;
|
|
739
746
|
}
|
|
740
747
|
// Coalesce with sticky row updates (and potentially other changes like column resize).
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
748
|
+
const firstRow = rows[0];
|
|
749
|
+
const numCells = firstRow.children.length;
|
|
750
|
+
const isRtl = this.direction === 'rtl';
|
|
751
|
+
const start = isRtl ? 'right' : 'left';
|
|
752
|
+
const end = isRtl ? 'left' : 'right';
|
|
753
|
+
const lastStickyStart = stickyStartStates.lastIndexOf(true);
|
|
754
|
+
const firstStickyEnd = stickyEndStates.indexOf(true);
|
|
755
|
+
let cellWidths;
|
|
756
|
+
let startPositions;
|
|
757
|
+
let endPositions;
|
|
758
|
+
this._afterNextRender({
|
|
759
|
+
earlyRead: () => {
|
|
760
|
+
cellWidths = this._getCellWidths(firstRow, recalculateCellWidths);
|
|
761
|
+
startPositions = this._getStickyStartColumnPositions(cellWidths, stickyStartStates);
|
|
762
|
+
endPositions = this._getStickyEndColumnPositions(cellWidths, stickyEndStates);
|
|
763
|
+
},
|
|
764
|
+
write: () => {
|
|
765
|
+
for (const row of rows) {
|
|
766
|
+
for (let i = 0; i < numCells; i++) {
|
|
767
|
+
const cell = row.children[i];
|
|
768
|
+
if (stickyStartStates[i]) {
|
|
769
|
+
this._addStickyStyle(cell, start, startPositions[i], i === lastStickyStart);
|
|
770
|
+
}
|
|
771
|
+
if (stickyEndStates[i]) {
|
|
772
|
+
this._addStickyStyle(cell, end, endPositions[i], i === firstStickyEnd);
|
|
773
|
+
}
|
|
760
774
|
}
|
|
761
775
|
}
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
}
|
|
779
|
-
}
|
|
776
|
+
if (this._positionListener) {
|
|
777
|
+
this._positionListener.stickyColumnsUpdated({
|
|
778
|
+
sizes: lastStickyStart === -1
|
|
779
|
+
? []
|
|
780
|
+
: cellWidths
|
|
781
|
+
.slice(0, lastStickyStart + 1)
|
|
782
|
+
.map((width, index) => (stickyStartStates[index] ? width : null)),
|
|
783
|
+
});
|
|
784
|
+
this._positionListener.stickyEndColumnsUpdated({
|
|
785
|
+
sizes: firstStickyEnd === -1
|
|
786
|
+
? []
|
|
787
|
+
: cellWidths
|
|
788
|
+
.slice(firstStickyEnd)
|
|
789
|
+
.map((width, index) => (stickyEndStates[index + firstStickyEnd] ? width : null))
|
|
790
|
+
.reverse(),
|
|
791
|
+
});
|
|
792
|
+
}
|
|
793
|
+
},
|
|
780
794
|
});
|
|
781
795
|
}
|
|
782
796
|
/**
|
|
@@ -795,56 +809,60 @@ class StickyStyler {
|
|
|
795
809
|
if (!this._isBrowser) {
|
|
796
810
|
return;
|
|
797
811
|
}
|
|
812
|
+
// If positioning the rows to the bottom, reverse their order when evaluating the sticky
|
|
813
|
+
// position such that the last row stuck will be "bottom: 0px" and so on. Note that the
|
|
814
|
+
// sticky states need to be reversed as well.
|
|
815
|
+
const rows = position === 'bottom' ? rowsToStick.slice().reverse() : rowsToStick;
|
|
816
|
+
const states = position === 'bottom' ? stickyStates.slice().reverse() : stickyStates;
|
|
817
|
+
// Measure row heights all at once before adding sticky styles to reduce layout thrashing.
|
|
818
|
+
const stickyOffsets = [];
|
|
819
|
+
const stickyCellHeights = [];
|
|
820
|
+
const elementsToStick = [];
|
|
798
821
|
// Coalesce with other sticky row updates (top/bottom), sticky columns updates
|
|
799
822
|
// (and potentially other changes like column resize).
|
|
800
|
-
this.
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
|
|
811
|
-
|
|
812
|
-
|
|
823
|
+
this._afterNextRender({
|
|
824
|
+
earlyRead: () => {
|
|
825
|
+
for (let rowIndex = 0, stickyOffset = 0; rowIndex < rows.length; rowIndex++) {
|
|
826
|
+
if (!states[rowIndex]) {
|
|
827
|
+
continue;
|
|
828
|
+
}
|
|
829
|
+
stickyOffsets[rowIndex] = stickyOffset;
|
|
830
|
+
const row = rows[rowIndex];
|
|
831
|
+
elementsToStick[rowIndex] = this._isNativeHtmlTable
|
|
832
|
+
? Array.from(row.children)
|
|
833
|
+
: [row];
|
|
834
|
+
const height = this._retrieveElementSize(row).height;
|
|
835
|
+
stickyOffset += height;
|
|
836
|
+
stickyCellHeights[rowIndex] = height;
|
|
813
837
|
}
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
|
|
823
|
-
|
|
824
|
-
|
|
825
|
-
|
|
826
|
-
continue;
|
|
838
|
+
},
|
|
839
|
+
write: () => {
|
|
840
|
+
const borderedRowIndex = states.lastIndexOf(true);
|
|
841
|
+
for (let rowIndex = 0; rowIndex < rows.length; rowIndex++) {
|
|
842
|
+
if (!states[rowIndex]) {
|
|
843
|
+
continue;
|
|
844
|
+
}
|
|
845
|
+
const offset = stickyOffsets[rowIndex];
|
|
846
|
+
const isBorderedRowIndex = rowIndex === borderedRowIndex;
|
|
847
|
+
for (const element of elementsToStick[rowIndex]) {
|
|
848
|
+
this._addStickyStyle(element, position, offset, isBorderedRowIndex);
|
|
849
|
+
}
|
|
827
850
|
}
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
851
|
+
if (position === 'top') {
|
|
852
|
+
this._positionListener?.stickyHeaderRowsUpdated({
|
|
853
|
+
sizes: stickyCellHeights,
|
|
854
|
+
offsets: stickyOffsets,
|
|
855
|
+
elements: elementsToStick,
|
|
856
|
+
});
|
|
832
857
|
}
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
}
|
|
840
|
-
}
|
|
841
|
-
else {
|
|
842
|
-
this._positionListener?.stickyFooterRowsUpdated({
|
|
843
|
-
sizes: stickyCellHeights,
|
|
844
|
-
offsets: stickyOffsets,
|
|
845
|
-
elements: elementsToStick,
|
|
846
|
-
});
|
|
847
|
-
}
|
|
858
|
+
else {
|
|
859
|
+
this._positionListener?.stickyFooterRowsUpdated({
|
|
860
|
+
sizes: stickyCellHeights,
|
|
861
|
+
offsets: stickyOffsets,
|
|
862
|
+
elements: elementsToStick,
|
|
863
|
+
});
|
|
864
|
+
}
|
|
865
|
+
},
|
|
848
866
|
});
|
|
849
867
|
}
|
|
850
868
|
/**
|
|
@@ -858,18 +876,27 @@ class StickyStyler {
|
|
|
858
876
|
return;
|
|
859
877
|
}
|
|
860
878
|
// Coalesce with other sticky updates (and potentially other changes like column resize).
|
|
861
|
-
this.
|
|
862
|
-
|
|
863
|
-
|
|
864
|
-
if (
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
879
|
+
this._afterNextRender({
|
|
880
|
+
write: () => {
|
|
881
|
+
const tfoot = tableElement.querySelector('tfoot');
|
|
882
|
+
if (tfoot) {
|
|
883
|
+
if (stickyStates.some(state => !state)) {
|
|
884
|
+
this._removeStickyStyle(tfoot, ['bottom']);
|
|
885
|
+
}
|
|
886
|
+
else {
|
|
887
|
+
this._addStickyStyle(tfoot, 'bottom', 0, false);
|
|
888
|
+
}
|
|
869
889
|
}
|
|
870
|
-
}
|
|
890
|
+
},
|
|
871
891
|
});
|
|
872
892
|
}
|
|
893
|
+
/** Triggered by the table's OnDestroy hook. */
|
|
894
|
+
destroy() {
|
|
895
|
+
if (this._stickyColumnsReplayTimeout) {
|
|
896
|
+
clearTimeout(this._stickyColumnsReplayTimeout);
|
|
897
|
+
}
|
|
898
|
+
this._destroyed = true;
|
|
899
|
+
}
|
|
873
900
|
/**
|
|
874
901
|
* Removes the sticky style on the element by removing the sticky cell CSS class, re-evaluating
|
|
875
902
|
* the zIndex, removing each of the provided sticky directions, and removing the
|
|
@@ -1050,6 +1077,9 @@ class StickyStyler {
|
|
|
1050
1077
|
clearTimeout(this._stickyColumnsReplayTimeout);
|
|
1051
1078
|
}
|
|
1052
1079
|
this._stickyColumnsReplayTimeout = setTimeout(() => {
|
|
1080
|
+
if (this._destroyed) {
|
|
1081
|
+
return;
|
|
1082
|
+
}
|
|
1053
1083
|
for (const update of this._updatedStickyColumnsParamsToReplay) {
|
|
1054
1084
|
this.updateStickyColumns(update.rows, update.stickyStartStates, update.stickyEndStates, true, false);
|
|
1055
1085
|
}
|
|
@@ -1058,6 +1088,21 @@ class StickyStyler {
|
|
|
1058
1088
|
}, 0);
|
|
1059
1089
|
}
|
|
1060
1090
|
}
|
|
1091
|
+
/**
|
|
1092
|
+
* Invoke afterNextRender with the table's injector, falling back to CoalescedStyleScheduler
|
|
1093
|
+
* if the injector was not provided.
|
|
1094
|
+
*/
|
|
1095
|
+
_afterNextRender(spec) {
|
|
1096
|
+
if (this._tableInjector) {
|
|
1097
|
+
afterNextRender(spec, { injector: this._tableInjector });
|
|
1098
|
+
}
|
|
1099
|
+
else {
|
|
1100
|
+
this._coalescedStyleScheduler.schedule(() => {
|
|
1101
|
+
spec.earlyRead?.();
|
|
1102
|
+
spec.write();
|
|
1103
|
+
});
|
|
1104
|
+
}
|
|
1105
|
+
}
|
|
1061
1106
|
}
|
|
1062
1107
|
function isCell(element) {
|
|
1063
1108
|
return ['cdk-cell', 'cdk-header-cell', 'cdk-footer-cell'].some(klass => element.classList.contains(klass));
|
|
@@ -1131,10 +1176,10 @@ const STICKY_POSITIONING_LISTENER = new InjectionToken('CDK_SPL');
|
|
|
1131
1176
|
* tables that animate rows.
|
|
1132
1177
|
*/
|
|
1133
1178
|
class CdkRecycleRows {
|
|
1134
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.0-
|
|
1135
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.0-
|
|
1179
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.0-rc.0", ngImport: i0, type: CdkRecycleRows, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
1180
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.0-rc.0", type: CdkRecycleRows, isStandalone: true, selector: "cdk-table[recycleRows], table[cdk-table][recycleRows]", providers: [{ provide: _VIEW_REPEATER_STRATEGY, useClass: _RecycleViewRepeaterStrategy }], ngImport: i0 });
|
|
1136
1181
|
}
|
|
1137
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0-
|
|
1182
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0-rc.0", ngImport: i0, type: CdkRecycleRows, decorators: [{
|
|
1138
1183
|
type: Directive,
|
|
1139
1184
|
args: [{
|
|
1140
1185
|
selector: 'cdk-table[recycleRows], table[cdk-table][recycleRows]',
|
|
@@ -1153,10 +1198,10 @@ class DataRowOutlet {
|
|
|
1153
1198
|
table._rowOutlet = this;
|
|
1154
1199
|
table._outletAssigned();
|
|
1155
1200
|
}
|
|
1156
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.0-
|
|
1157
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.0-
|
|
1201
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.0-rc.0", ngImport: i0, type: DataRowOutlet, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
1202
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.0-rc.0", type: DataRowOutlet, isStandalone: true, selector: "[rowOutlet]", ngImport: i0 });
|
|
1158
1203
|
}
|
|
1159
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0-
|
|
1204
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0-rc.0", ngImport: i0, type: DataRowOutlet, decorators: [{
|
|
1160
1205
|
type: Directive,
|
|
1161
1206
|
args: [{
|
|
1162
1207
|
selector: '[rowOutlet]',
|
|
@@ -1174,10 +1219,10 @@ class HeaderRowOutlet {
|
|
|
1174
1219
|
table._headerRowOutlet = this;
|
|
1175
1220
|
table._outletAssigned();
|
|
1176
1221
|
}
|
|
1177
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.0-
|
|
1178
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.0-
|
|
1222
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.0-rc.0", ngImport: i0, type: HeaderRowOutlet, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
1223
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.0-rc.0", type: HeaderRowOutlet, isStandalone: true, selector: "[headerRowOutlet]", ngImport: i0 });
|
|
1179
1224
|
}
|
|
1180
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0-
|
|
1225
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0-rc.0", ngImport: i0, type: HeaderRowOutlet, decorators: [{
|
|
1181
1226
|
type: Directive,
|
|
1182
1227
|
args: [{
|
|
1183
1228
|
selector: '[headerRowOutlet]',
|
|
@@ -1195,10 +1240,10 @@ class FooterRowOutlet {
|
|
|
1195
1240
|
table._footerRowOutlet = this;
|
|
1196
1241
|
table._outletAssigned();
|
|
1197
1242
|
}
|
|
1198
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.0-
|
|
1199
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.0-
|
|
1243
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.0-rc.0", ngImport: i0, type: FooterRowOutlet, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
1244
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.0-rc.0", type: FooterRowOutlet, isStandalone: true, selector: "[footerRowOutlet]", ngImport: i0 });
|
|
1200
1245
|
}
|
|
1201
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0-
|
|
1246
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0-rc.0", ngImport: i0, type: FooterRowOutlet, decorators: [{
|
|
1202
1247
|
type: Directive,
|
|
1203
1248
|
args: [{
|
|
1204
1249
|
selector: '[footerRowOutlet]',
|
|
@@ -1217,10 +1262,10 @@ class NoDataRowOutlet {
|
|
|
1217
1262
|
table._noDataRowOutlet = this;
|
|
1218
1263
|
table._outletAssigned();
|
|
1219
1264
|
}
|
|
1220
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.0-
|
|
1221
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.0-
|
|
1265
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.0-rc.0", ngImport: i0, type: NoDataRowOutlet, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
1266
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.0-rc.0", type: NoDataRowOutlet, isStandalone: true, selector: "[noDataRowOutlet]", ngImport: i0 });
|
|
1222
1267
|
}
|
|
1223
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0-
|
|
1268
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0-rc.0", ngImport: i0, type: NoDataRowOutlet, decorators: [{
|
|
1224
1269
|
type: Directive,
|
|
1225
1270
|
args: [{
|
|
1226
1271
|
selector: '[noDataRowOutlet]',
|
|
@@ -1568,6 +1613,7 @@ class CdkTable {
|
|
|
1568
1613
|
}
|
|
1569
1614
|
}
|
|
1570
1615
|
ngOnDestroy() {
|
|
1616
|
+
this._stickyStyler?.destroy();
|
|
1571
1617
|
[
|
|
1572
1618
|
this._rowOutlet?.viewContainer,
|
|
1573
1619
|
this._headerRowOutlet?.viewContainer,
|
|
@@ -1623,10 +1669,8 @@ class CdkTable {
|
|
|
1623
1669
|
rowView.context.$implicit = record.item.data;
|
|
1624
1670
|
});
|
|
1625
1671
|
this._updateNoDataRow();
|
|
1626
|
-
afterNextRender(() => {
|
|
1627
|
-
this.updateStickyColumnStyles();
|
|
1628
|
-
}, { injector: this._injector });
|
|
1629
1672
|
this.contentChanged.next();
|
|
1673
|
+
this.updateStickyColumnStyles();
|
|
1630
1674
|
}
|
|
1631
1675
|
/** Adds a column definition that was not included as part of the content children. */
|
|
1632
1676
|
addColumnDef(columnDef) {
|
|
@@ -2007,7 +2051,7 @@ class CdkTable {
|
|
|
2007
2051
|
}
|
|
2008
2052
|
/** Adds the sticky column styles for the rows according to the columns' stick states. */
|
|
2009
2053
|
_addStickyColumnStyles(rows, rowDef) {
|
|
2010
|
-
const columnDefs = Array.from(rowDef
|
|
2054
|
+
const columnDefs = Array.from(rowDef?.columns || []).map(columnName => {
|
|
2011
2055
|
const columnDef = this._columnDefsByName.get(columnName);
|
|
2012
2056
|
if (!columnDef && (typeof ngDevMode === 'undefined' || ngDevMode)) {
|
|
2013
2057
|
throw getTableUnknownColumnError(columnName);
|
|
@@ -2156,7 +2200,7 @@ class CdkTable {
|
|
|
2156
2200
|
*/
|
|
2157
2201
|
_setupStickyStyler() {
|
|
2158
2202
|
const direction = this._dir ? this._dir.value : 'ltr';
|
|
2159
|
-
this._stickyStyler = new StickyStyler(this._isNativeHtmlTable, this.stickyCssClass, direction, this._coalescedStyleScheduler, this._platform.isBrowser, this.needsPositionStickyOnElement, this._stickyPositioningListener);
|
|
2203
|
+
this._stickyStyler = new StickyStyler(this._isNativeHtmlTable, this.stickyCssClass, direction, this._coalescedStyleScheduler, this._platform.isBrowser, this.needsPositionStickyOnElement, this._stickyPositioningListener, this._injector);
|
|
2160
2204
|
(this._dir ? this._dir.change : of())
|
|
2161
2205
|
.pipe(takeUntil(this._onDestroy))
|
|
2162
2206
|
.subscribe(value => {
|
|
@@ -2195,8 +2239,8 @@ class CdkTable {
|
|
|
2195
2239
|
this._isShowingNoDataRow = shouldShow;
|
|
2196
2240
|
this._changeDetectorRef.markForCheck();
|
|
2197
2241
|
}
|
|
2198
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.0-
|
|
2199
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.0-
|
|
2242
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.0-rc.0", ngImport: i0, type: CdkTable, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2243
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.0-rc.0", type: CdkTable, isStandalone: true, selector: "cdk-table, table[cdk-table]", inputs: { trackBy: "trackBy", dataSource: "dataSource", multiTemplateDataRows: ["multiTemplateDataRows", "multiTemplateDataRows", booleanAttribute], fixedLayout: ["fixedLayout", "fixedLayout", booleanAttribute] }, outputs: { contentChanged: "contentChanged" }, host: { properties: { "class.cdk-table-fixed-layout": "fixedLayout" }, classAttribute: "cdk-table" }, providers: [
|
|
2200
2244
|
{ provide: CDK_TABLE, useExisting: CdkTable },
|
|
2201
2245
|
{ provide: _VIEW_REPEATER_STRATEGY, useClass: _DisposeViewRepeaterStrategy },
|
|
2202
2246
|
{ provide: _COALESCED_STYLE_SCHEDULER, useClass: _CoalescedStyleScheduler },
|
|
@@ -2204,7 +2248,7 @@ class CdkTable {
|
|
|
2204
2248
|
{ provide: STICKY_POSITIONING_LISTENER, useValue: null },
|
|
2205
2249
|
], queries: [{ propertyName: "_noDataRow", first: true, predicate: CdkNoDataRow, descendants: true }, { propertyName: "_contentColumnDefs", predicate: CdkColumnDef, descendants: true }, { propertyName: "_contentRowDefs", predicate: CdkRowDef, descendants: true }, { propertyName: "_contentHeaderRowDefs", predicate: CdkHeaderRowDef, descendants: true }, { propertyName: "_contentFooterRowDefs", predicate: CdkFooterRowDef, descendants: true }], exportAs: ["cdkTable"], ngImport: i0, template: "\n <ng-content select=\"caption\"/>\n <ng-content select=\"colgroup, col\"/>\n\n <!--\n Unprojected content throws a hydration error so we need this to capture it.\n It gets removed on the client so it doesn't affect the layout.\n -->\n @if (_isServer) {\n <ng-content/>\n }\n\n @if (_isNativeHtmlTable) {\n <thead role=\"rowgroup\">\n <ng-container headerRowOutlet/>\n </thead>\n <tbody role=\"rowgroup\">\n <ng-container rowOutlet/>\n <ng-container noDataRowOutlet/>\n </tbody>\n <tfoot role=\"rowgroup\">\n <ng-container footerRowOutlet/>\n </tfoot>\n } @else {\n <ng-container headerRowOutlet/>\n <ng-container rowOutlet/>\n <ng-container noDataRowOutlet/>\n <ng-container footerRowOutlet/>\n }\n", isInline: true, styles: [".cdk-table-fixed-layout{table-layout:fixed}"], dependencies: [{ kind: "directive", type: HeaderRowOutlet, selector: "[headerRowOutlet]" }, { kind: "directive", type: DataRowOutlet, selector: "[rowOutlet]" }, { kind: "directive", type: NoDataRowOutlet, selector: "[noDataRowOutlet]" }, { kind: "directive", type: FooterRowOutlet, selector: "[footerRowOutlet]" }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });
|
|
2206
2250
|
}
|
|
2207
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0-
|
|
2251
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0-rc.0", ngImport: i0, type: CdkTable, decorators: [{
|
|
2208
2252
|
type: Component,
|
|
2209
2253
|
args: [{ selector: 'cdk-table, table[cdk-table]', exportAs: 'cdkTable', template: CDK_TABLE_TEMPLATE, host: {
|
|
2210
2254
|
'class': 'cdk-table',
|
|
@@ -2378,8 +2422,8 @@ class CdkTextColumn {
|
|
|
2378
2422
|
this.columnDef.name = this.name;
|
|
2379
2423
|
}
|
|
2380
2424
|
}
|
|
2381
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.0-
|
|
2382
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.0-
|
|
2425
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.0-rc.0", ngImport: i0, type: CdkTextColumn, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2426
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.0-rc.0", type: CdkTextColumn, isStandalone: true, selector: "cdk-text-column", inputs: { name: "name", headerText: "headerText", dataAccessor: "dataAccessor", justify: "justify" }, viewQueries: [{ propertyName: "columnDef", first: true, predicate: CdkColumnDef, descendants: true, static: true }, { propertyName: "cell", first: true, predicate: CdkCellDef, descendants: true, static: true }, { propertyName: "headerCell", first: true, predicate: CdkHeaderCellDef, descendants: true, static: true }], ngImport: i0, template: `
|
|
2383
2427
|
<ng-container cdkColumnDef>
|
|
2384
2428
|
<th cdk-header-cell *cdkHeaderCellDef [style.text-align]="justify">
|
|
2385
2429
|
{{headerText}}
|
|
@@ -2390,7 +2434,7 @@ class CdkTextColumn {
|
|
|
2390
2434
|
</ng-container>
|
|
2391
2435
|
`, isInline: true, dependencies: [{ kind: "directive", type: CdkColumnDef, selector: "[cdkColumnDef]", inputs: ["cdkColumnDef", "sticky", "stickyEnd"] }, { kind: "directive", type: CdkHeaderCellDef, selector: "[cdkHeaderCellDef]" }, { kind: "directive", type: CdkHeaderCell, selector: "cdk-header-cell, th[cdk-header-cell]" }, { kind: "directive", type: CdkCellDef, selector: "[cdkCellDef]" }, { kind: "directive", type: CdkCell, selector: "cdk-cell, td[cdk-cell]" }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });
|
|
2392
2436
|
}
|
|
2393
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0-
|
|
2437
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0-rc.0", ngImport: i0, type: CdkTextColumn, decorators: [{
|
|
2394
2438
|
type: Component,
|
|
2395
2439
|
args: [{
|
|
2396
2440
|
selector: 'cdk-text-column',
|
|
@@ -2458,8 +2502,8 @@ const EXPORTED_DECLARATIONS = [
|
|
|
2458
2502
|
NoDataRowOutlet,
|
|
2459
2503
|
];
|
|
2460
2504
|
class CdkTableModule {
|
|
2461
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.0-
|
|
2462
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.1.0-
|
|
2505
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.0-rc.0", ngImport: i0, type: CdkTableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
2506
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.1.0-rc.0", ngImport: i0, type: CdkTableModule, imports: [ScrollingModule, CdkTable,
|
|
2463
2507
|
CdkRowDef,
|
|
2464
2508
|
CdkCellDef,
|
|
2465
2509
|
CdkCellOutlet,
|
|
@@ -2502,9 +2546,9 @@ class CdkTableModule {
|
|
|
2502
2546
|
CdkNoDataRow,
|
|
2503
2547
|
CdkRecycleRows,
|
|
2504
2548
|
NoDataRowOutlet] });
|
|
2505
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.1.0-
|
|
2549
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.1.0-rc.0", ngImport: i0, type: CdkTableModule, imports: [ScrollingModule] });
|
|
2506
2550
|
}
|
|
2507
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0-
|
|
2551
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0-rc.0", ngImport: i0, type: CdkTableModule, decorators: [{
|
|
2508
2552
|
type: NgModule,
|
|
2509
2553
|
args: [{
|
|
2510
2554
|
exports: EXPORTED_DECLARATIONS,
|