@angular/cdk 20.0.0-next.7 → 20.0.0-next.9
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/_adev_assets/cdk_testing.json +1 -0
- package/_adev_assets/cdk_testing_protractor.json +1 -0
- package/_adev_assets/cdk_testing_selenium_webdriver.json +1 -0
- package/_adev_assets/cdk_testing_testbed.json +1 -0
- package/a11y/index.d.ts +8 -8
- package/{a11y-module.d-DrV0SO0k.d.ts → a11y-module.d-DBHGyKoh.d.ts} +3 -3
- package/accordion/index.d.ts +2 -2
- package/{activedescendant-key-manager.d-DSYvyoT0.d.ts → activedescendant-key-manager.d-Bjic5obv.d.ts} +3 -3
- package/bidi/index.d.ts +1 -1
- package/{bidi-module.d-bsVYOt0R.d.ts → bidi-module.d-IN1Vp56w.d.ts} +2 -2
- package/clipboard/index.d.ts +1 -1
- package/coercion/index.d.ts +1 -1
- package/collections/index.d.ts +7 -7
- package/{data-source.d-DAIyaEMO.d.ts → data-source.d-Bblv7Zvh.d.ts} +2 -2
- package/dialog/index.d.ts +16 -15
- package/drag-drop/index.d.ts +9 -5
- package/fesm2022/{a11y-module-tRUj0Pog.mjs → a11y-module-DpEjWNCj.mjs} +8 -9
- package/fesm2022/a11y-module-DpEjWNCj.mjs.map +1 -0
- package/fesm2022/a11y.mjs +21 -21
- package/fesm2022/a11y.mjs.map +1 -1
- package/fesm2022/accordion.mjs +3 -3
- package/fesm2022/{activedescendant-key-manager-BYiHZAZc.mjs → activedescendant-key-manager-DC3-fwQI.mjs} +3 -3
- package/fesm2022/{activedescendant-key-manager-BYiHZAZc.mjs.map → activedescendant-key-manager-DC3-fwQI.mjs.map} +1 -1
- package/fesm2022/{array-Hg8isvLj.mjs → array-I1yfCXUO.mjs} +2 -2
- package/fesm2022/{array-Hg8isvLj.mjs.map → array-I1yfCXUO.mjs.map} +1 -1
- package/fesm2022/bidi.mjs +3 -4
- package/fesm2022/bidi.mjs.map +1 -1
- package/fesm2022/{breakpoints-observer-CsCzbYlX.mjs → breakpoints-observer-DpQzdtrE.mjs} +4 -4
- package/fesm2022/{breakpoints-observer-CsCzbYlX.mjs.map → breakpoints-observer-DpQzdtrE.mjs.map} +1 -1
- package/fesm2022/cdk.mjs +1 -1
- package/fesm2022/cdk.mjs.map +1 -1
- package/fesm2022/clipboard.mjs +1 -2
- package/fesm2022/clipboard.mjs.map +1 -1
- package/fesm2022/coercion.mjs +3 -3
- package/fesm2022/collections.mjs +5 -5
- package/fesm2022/{css-pixel-value-C1yoKJ7R.mjs → css-pixel-value-C_HEqLhI.mjs} +2 -2
- package/fesm2022/{css-pixel-value-C1yoKJ7R.mjs.map → css-pixel-value-C_HEqLhI.mjs.map} +1 -1
- package/fesm2022/{data-source-CL6Fasig.mjs → data-source-D34wiQZj.mjs} +2 -2
- package/fesm2022/{data-source-CL6Fasig.mjs.map → data-source-D34wiQZj.mjs.map} +1 -1
- package/fesm2022/dialog.mjs +57 -45
- package/fesm2022/dialog.mjs.map +1 -1
- package/fesm2022/{directionality-6lVHj23y.mjs → directionality-Ck5Uc9Se.mjs} +3 -4
- package/fesm2022/directionality-Ck5Uc9Se.mjs.map +1 -0
- package/fesm2022/{dispose-view-repeater-strategy-BLw1RSwm.mjs → dispose-view-repeater-strategy-D_JReLI1.mjs} +3 -3
- package/fesm2022/{dispose-view-repeater-strategy-BLw1RSwm.mjs.map → dispose-view-repeater-strategy-D_JReLI1.mjs.map} +1 -1
- package/fesm2022/drag-drop.mjs +65 -13
- package/fesm2022/drag-drop.mjs.map +1 -1
- package/fesm2022/{element-CpqV8p-X.mjs → element-x4z00URv.mjs} +2 -2
- package/fesm2022/{element-CpqV8p-X.mjs.map → element-x4z00URv.mjs.map} +1 -1
- package/fesm2022/{fake-event-detection-D0_6qVp2.mjs → fake-event-detection-DWOdFTFz.mjs} +2 -2
- package/fesm2022/{fake-event-detection-D0_6qVp2.mjs.map → fake-event-detection-DWOdFTFz.mjs.map} +1 -1
- package/fesm2022/{focus-key-manager-DgyxYbV2.mjs → focus-key-manager-C1rAQJ5z.mjs} +3 -3
- package/fesm2022/{focus-key-manager-DgyxYbV2.mjs.map → focus-key-manager-C1rAQJ5z.mjs.map} +1 -1
- package/fesm2022/{focus-monitor-BZnK-7fT.mjs → focus-monitor-DKFfep8Q.mjs} +9 -10
- package/fesm2022/focus-monitor-DKFfep8Q.mjs.map +1 -0
- package/fesm2022/{id-generator-B33AfkWd.mjs → id-generator-BwB8lolC.mjs} +2 -2
- package/fesm2022/{id-generator-B33AfkWd.mjs.map → id-generator-BwB8lolC.mjs.map} +1 -1
- package/fesm2022/{keycodes-DPWmI2Ix.mjs → keycodes-CpHkExLC.mjs} +2 -2
- package/fesm2022/{keycodes-DPWmI2Ix.mjs.map → keycodes-CpHkExLC.mjs.map} +1 -1
- package/fesm2022/keycodes.mjs +1 -1
- package/fesm2022/layout.mjs +3 -3
- package/fesm2022/{list-key-manager-CYBoL_nN.mjs → list-key-manager-CyOIXo8P.mjs} +4 -4
- package/fesm2022/{list-key-manager-CYBoL_nN.mjs.map → list-key-manager-CyOIXo8P.mjs.map} +1 -1
- package/fesm2022/listbox.mjs +10 -10
- package/fesm2022/listbox.mjs.map +1 -1
- package/fesm2022/menu.mjs +31 -37
- package/fesm2022/menu.mjs.map +1 -1
- package/fesm2022/observers.mjs +2 -2
- package/fesm2022/{overlay-module-UgjfuiDh.mjs → overlay-module-BaGhSGqO.mjs} +109 -95
- package/fesm2022/overlay-module-BaGhSGqO.mjs.map +1 -0
- package/fesm2022/overlay.mjs +16 -16
- package/fesm2022/{passive-listeners-ZmZRMx8D.mjs → passive-listeners-esHZRgIN.mjs} +2 -2
- package/fesm2022/{passive-listeners-ZmZRMx8D.mjs.map → passive-listeners-esHZRgIN.mjs.map} +1 -1
- package/fesm2022/{platform-BInyKIh1.mjs → platform-CPg0IbDW.mjs} +2 -2
- package/fesm2022/{platform-BInyKIh1.mjs.map → platform-CPg0IbDW.mjs.map} +1 -1
- package/fesm2022/platform.mjs +5 -5
- package/fesm2022/portal.mjs +1 -2
- package/fesm2022/portal.mjs.map +1 -1
- package/fesm2022/private.mjs +2 -2
- package/fesm2022/{recycle-view-repeater-strategy-Ce0p4WhD.mjs → recycle-view-repeater-strategy-DoWdPqVw.mjs} +4 -4
- package/fesm2022/{recycle-view-repeater-strategy-Ce0p4WhD.mjs.map → recycle-view-repeater-strategy-DoWdPqVw.mjs.map} +1 -1
- package/fesm2022/{scrolling-BXVcIfjZ.mjs → scrolling-BkvA05C8.mjs} +2 -2
- package/fesm2022/{scrolling-BXVcIfjZ.mjs.map → scrolling-BkvA05C8.mjs.map} +1 -1
- package/fesm2022/scrolling.mjs +8 -8
- package/fesm2022/scrolling.mjs.map +1 -1
- package/fesm2022/{selection-model-88BErm4w.mjs → selection-model-BCgC8uEN.mjs} +2 -2
- package/fesm2022/{selection-model-88BErm4w.mjs.map → selection-model-BCgC8uEN.mjs.map} +1 -1
- package/fesm2022/{shadow-dom-DFvX9W95.mjs → shadow-dom-B0oHn41l.mjs} +2 -2
- package/fesm2022/{shadow-dom-DFvX9W95.mjs.map → shadow-dom-B0oHn41l.mjs.map} +1 -1
- package/fesm2022/stepper.mjs +20 -15
- package/fesm2022/stepper.mjs.map +1 -1
- package/fesm2022/{style-loader-DpEDdstc.mjs → style-loader-BDEAZOey.mjs} +2 -2
- package/fesm2022/{style-loader-DpEDdstc.mjs.map → style-loader-BDEAZOey.mjs.map} +1 -1
- package/fesm2022/table.mjs +88 -147
- package/fesm2022/table.mjs.map +1 -1
- package/fesm2022/{test-environment-BgaaXvCA.mjs → test-environment-CT0XxPyp.mjs} +2 -2
- package/fesm2022/{test-environment-BgaaXvCA.mjs.map → test-environment-CT0XxPyp.mjs.map} +1 -1
- package/fesm2022/testing/selenium-webdriver.mjs.map +1 -1
- package/fesm2022/testing/testbed.mjs +1 -1
- package/fesm2022/text-field.mjs +5 -5
- package/fesm2022/text-field.mjs.map +1 -1
- package/fesm2022/{tree-key-manager-DIhQ-v4R.mjs → tree-key-manager-KnCoIkIC.mjs} +4 -4
- package/fesm2022/{tree-key-manager-DIhQ-v4R.mjs.map → tree-key-manager-KnCoIkIC.mjs.map} +1 -1
- package/fesm2022/tree.mjs +7 -8
- package/fesm2022/tree.mjs.map +1 -1
- package/fesm2022/{typeahead-BAa3HZoh.mjs → typeahead-9ZW4Dtsf.mjs} +3 -3
- package/fesm2022/{typeahead-BAa3HZoh.mjs.map → typeahead-9ZW4Dtsf.mjs.map} +1 -1
- package/fesm2022/{unique-selection-dispatcher-SqPM2COI.mjs → unique-selection-dispatcher-Cag6cZJ2.mjs} +2 -2
- package/fesm2022/{unique-selection-dispatcher-SqPM2COI.mjs.map → unique-selection-dispatcher-Cag6cZJ2.mjs.map} +1 -1
- package/{focus-key-manager.d-DCiEwxN7.d.ts → focus-key-manager.d-BIKDy8oD.d.ts} +4 -4
- package/{focus-monitor.d-BBkiOKUH.d.ts → focus-monitor.d-CvvJeQRc.d.ts} +2 -2
- package/{harness-environment.d-ByFLvxZh.d.ts → harness-environment.d-BatBdODN.d.ts} +2 -2
- package/{list-key-manager.d-CylnKWfo.d.ts → list-key-manager.d-BlK3jyRn.d.ts} +2 -2
- package/listbox/index.d.ts +3 -3
- package/menu/index.d.ts +13 -16
- package/{number-property.d-BzBQchZ2.d.ts → number-property.d-CJVxXUcb.d.ts} +2 -2
- package/observers/index.d.ts +2 -2
- package/overlay/_index.scss +3 -0
- package/overlay/index.d.ts +75 -78
- package/{overlay-module.d-24bhgNtF.d.ts → overlay-module.d-BiAhhk6g.d.ts} +15 -9
- package/overlay-prebuilt.css +1 -1
- package/package.json +1 -1
- package/platform/index.d.ts +1 -1
- package/{platform.d-cnFZCLss.d.ts → platform.d-B3vREl3q.d.ts} +1 -1
- package/portal/index.d.ts +2 -2
- package/{portal-directives.d-D9c4J36c.d.ts → portal-directives.d-DbeNrI5D.d.ts} +2 -2
- package/private/index.d.ts +1 -1
- package/schematics/ng-add/index.js +10 -18
- package/schematics/ng-add/index.js.map +1 -1
- package/schematics/ng-update/devkit-migration-rule.js.map +1 -1
- package/schematics/ng-update/devkit-migration.d.ts +2 -2
- package/schematics/utils/ast.d.ts +2 -2
- package/schematics/utils/ast.js +2 -2
- package/schematics/utils/ast.js.map +1 -1
- package/schematics/utils/build-component.js +8 -8
- package/schematics/utils/build-component.js.map +1 -1
- package/schematics/utils/get-project.d.ts +2 -2
- package/schematics/utils/get-project.js.map +1 -1
- package/schematics/utils/project-index-file.d.ts +6 -3
- package/schematics/utils/project-index-file.js +29 -6
- package/schematics/utils/project-index-file.js.map +1 -1
- package/schematics/utils/project-main-file.d.ts +3 -2
- package/schematics/utils/project-main-file.js.map +1 -1
- package/schematics/utils/project-style-file.d.ts +2 -2
- package/schematics/utils/project-style-file.js.map +1 -1
- package/schematics/utils/project-targets.d.ts +5 -4
- package/schematics/utils/project-targets.js +11 -5
- package/schematics/utils/project-targets.js.map +1 -1
- package/schematics/utils/project-tsconfig-paths.d.ts +3 -3
- package/schematics/utils/project-tsconfig-paths.js +2 -2
- package/schematics/utils/project-tsconfig-paths.js.map +1 -1
- package/schematics/utils/schematic-options.d.ts +2 -2
- package/schematics/utils/schematic-options.js +2 -2
- package/schematics/utils/schematic-options.js.map +1 -1
- package/scrolling/index.d.ts +4 -4
- package/{scrolling-module.d-CuNwYGVM.d.ts → scrolling-module.d-DP0Qb7T9.d.ts} +6 -6
- package/{selection-model.d-CHuTS0tw.d.ts → selection-model.d-DNgOONDg.d.ts} +2 -2
- package/stepper/index.d.ts +5 -5
- package/{style-loader.d-DbvWk0ty.d.ts → style-loader.d-BXZfQZTF.d.ts} +1 -1
- package/table/index.d.ts +8 -196
- package/testing/index.d.ts +1 -1
- package/testing/selenium-webdriver/index.d.ts +1 -1
- package/testing/testbed/index.d.ts +1 -1
- package/text-field/index.d.ts +1 -1
- package/tree/index.d.ts +4 -4
- package/{tree-key-manager-strategy.d-DipnXoCr.d.ts → tree-key-manager-strategy.d-XB6M79l-.d.ts} +1 -1
- package/{unique-selection-dispatcher.d-BgWACqWn.d.ts → unique-selection-dispatcher.d-DSFqf1MM.d.ts} +2 -2
- package/{view-repeater.d-CJ9e48MX.d.ts → view-repeater.d-BKljR8u8.d.ts} +3 -3
- package/fesm2022/a11y-module-tRUj0Pog.mjs.map +0 -1
- package/fesm2022/directionality-6lVHj23y.mjs.map +0 -1
- package/fesm2022/focus-monitor-BZnK-7fT.mjs.map +0 -1
- package/fesm2022/overlay-module-UgjfuiDh.mjs.map +0 -1
- package/schematics/ng-add/package-config.d.ts +0 -12
- package/schematics/ng-add/package-config.js +0 -51
- package/schematics/ng-add/package-config.js.map +0 -1
package/fesm2022/table.mjs
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import { isDataSource } from './data-source-
|
|
2
|
-
export { DataSource } from './data-source-
|
|
3
|
-
import { DOCUMENT } from '@angular/common';
|
|
1
|
+
import { i as isDataSource } from './data-source-D34wiQZj.mjs';
|
|
2
|
+
export { D as DataSource } from './data-source-D34wiQZj.mjs';
|
|
4
3
|
import * as i0 from '@angular/core';
|
|
5
|
-
import { InjectionToken, inject, TemplateRef,
|
|
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';
|
|
6
5
|
import { Subject, BehaviorSubject, isObservable, of } from 'rxjs';
|
|
7
6
|
import { takeUntil } from 'rxjs/operators';
|
|
8
|
-
import {
|
|
9
|
-
import { _DisposeViewRepeaterStrategy } from './dispose-view-repeater-strategy-
|
|
10
|
-
import { Directionality } from './directionality-
|
|
11
|
-
import { Platform } from './platform-
|
|
7
|
+
import { b as _VIEW_REPEATER_STRATEGY, _ as _RecycleViewRepeaterStrategy, a as _ViewRepeaterOperation } from './recycle-view-repeater-strategy-DoWdPqVw.mjs';
|
|
8
|
+
import { _ as _DisposeViewRepeaterStrategy } from './dispose-view-repeater-strategy-D_JReLI1.mjs';
|
|
9
|
+
import { D as Directionality } from './directionality-Ck5Uc9Se.mjs';
|
|
10
|
+
import { P as Platform } from './platform-CPg0IbDW.mjs';
|
|
12
11
|
import { ViewportRuler, ScrollingModule } from './scrolling.mjs';
|
|
13
|
-
import '
|
|
14
|
-
import './
|
|
12
|
+
import '@angular/common';
|
|
13
|
+
import './element-x4z00URv.mjs';
|
|
14
|
+
import './scrolling-BkvA05C8.mjs';
|
|
15
15
|
import './bidi.mjs';
|
|
16
16
|
|
|
17
17
|
/**
|
|
@@ -266,73 +266,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0-next.5",
|
|
|
266
266
|
}]
|
|
267
267
|
}], ctorParameters: () => [] });
|
|
268
268
|
|
|
269
|
-
/**
|
|
270
|
-
* @docs-private
|
|
271
|
-
*/
|
|
272
|
-
class _Schedule {
|
|
273
|
-
tasks = [];
|
|
274
|
-
endTasks = [];
|
|
275
|
-
}
|
|
276
|
-
/** Injection token used to provide a coalesced style scheduler. */
|
|
277
|
-
const _COALESCED_STYLE_SCHEDULER = new InjectionToken('_COALESCED_STYLE_SCHEDULER');
|
|
278
|
-
/**
|
|
279
|
-
* Allows grouping up CSSDom mutations after the current execution context.
|
|
280
|
-
* This can significantly improve performance when separate consecutive functions are
|
|
281
|
-
* reading from the CSSDom and then mutating it.
|
|
282
|
-
*
|
|
283
|
-
* @docs-private
|
|
284
|
-
*/
|
|
285
|
-
class _CoalescedStyleScheduler {
|
|
286
|
-
_currentSchedule = null;
|
|
287
|
-
_ngZone = inject(NgZone);
|
|
288
|
-
constructor() { }
|
|
289
|
-
/**
|
|
290
|
-
* Schedules the specified task to run at the end of the current VM turn.
|
|
291
|
-
*/
|
|
292
|
-
schedule(task) {
|
|
293
|
-
this._createScheduleIfNeeded();
|
|
294
|
-
this._currentSchedule.tasks.push(task);
|
|
295
|
-
}
|
|
296
|
-
/**
|
|
297
|
-
* Schedules the specified task to run after other scheduled tasks at the end of the current
|
|
298
|
-
* VM turn.
|
|
299
|
-
*/
|
|
300
|
-
scheduleEnd(task) {
|
|
301
|
-
this._createScheduleIfNeeded();
|
|
302
|
-
this._currentSchedule.endTasks.push(task);
|
|
303
|
-
}
|
|
304
|
-
_createScheduleIfNeeded() {
|
|
305
|
-
if (this._currentSchedule) {
|
|
306
|
-
return;
|
|
307
|
-
}
|
|
308
|
-
this._currentSchedule = new _Schedule();
|
|
309
|
-
this._ngZone.runOutsideAngular(() =>
|
|
310
|
-
// TODO(mmalerba): Scheduling this using something that runs less frequently
|
|
311
|
-
// (e.g. requestAnimationFrame, setTimeout, etc.) causes noticeable jank with the column
|
|
312
|
-
// resizer. We should audit the usages of schedule / scheduleEnd in that component and see
|
|
313
|
-
// if we can refactor it so that we don't need to flush the tasks quite so frequently.
|
|
314
|
-
queueMicrotask(() => {
|
|
315
|
-
while (this._currentSchedule.tasks.length || this._currentSchedule.endTasks.length) {
|
|
316
|
-
const schedule = this._currentSchedule;
|
|
317
|
-
// Capture new tasks scheduled by the current set of tasks.
|
|
318
|
-
this._currentSchedule = new _Schedule();
|
|
319
|
-
for (const task of schedule.tasks) {
|
|
320
|
-
task();
|
|
321
|
-
}
|
|
322
|
-
for (const task of schedule.endTasks) {
|
|
323
|
-
task();
|
|
324
|
-
}
|
|
325
|
-
}
|
|
326
|
-
this._currentSchedule = null;
|
|
327
|
-
}));
|
|
328
|
-
}
|
|
329
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0-next.5", ngImport: i0, type: _CoalescedStyleScheduler, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
330
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.0-next.5", ngImport: i0, type: _CoalescedStyleScheduler });
|
|
331
|
-
}
|
|
332
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0-next.5", ngImport: i0, type: _CoalescedStyleScheduler, decorators: [{
|
|
333
|
-
type: Injectable
|
|
334
|
-
}], ctorParameters: () => [] });
|
|
335
|
-
|
|
336
269
|
/**
|
|
337
270
|
* The row template that can be used by the mat-table. Should not be used outside of the
|
|
338
271
|
* material library.
|
|
@@ -645,10 +578,9 @@ const STICKY_DIRECTIONS = ['top', 'bottom', 'left', 'right'];
|
|
|
645
578
|
class StickyStyler {
|
|
646
579
|
_isNativeHtmlTable;
|
|
647
580
|
_stickCellCss;
|
|
648
|
-
direction;
|
|
649
|
-
_coalescedStyleScheduler;
|
|
650
581
|
_isBrowser;
|
|
651
582
|
_needsPositionStickyOnElement;
|
|
583
|
+
direction;
|
|
652
584
|
_positionListener;
|
|
653
585
|
_tableInjector;
|
|
654
586
|
_elemSizeCache = new WeakMap();
|
|
@@ -675,13 +607,12 @@ class StickyStyler {
|
|
|
675
607
|
* and their dimensions.
|
|
676
608
|
* @param _tableInjector The table's Injector.
|
|
677
609
|
*/
|
|
678
|
-
constructor(_isNativeHtmlTable, _stickCellCss,
|
|
610
|
+
constructor(_isNativeHtmlTable, _stickCellCss, _isBrowser = true, _needsPositionStickyOnElement = true, direction, _positionListener, _tableInjector) {
|
|
679
611
|
this._isNativeHtmlTable = _isNativeHtmlTable;
|
|
680
612
|
this._stickCellCss = _stickCellCss;
|
|
681
|
-
this.direction = direction;
|
|
682
|
-
this._coalescedStyleScheduler = _coalescedStyleScheduler;
|
|
683
613
|
this._isBrowser = _isBrowser;
|
|
684
614
|
this._needsPositionStickyOnElement = _needsPositionStickyOnElement;
|
|
615
|
+
this.direction = direction;
|
|
685
616
|
this._positionListener = _positionListener;
|
|
686
617
|
this._tableInjector = _tableInjector;
|
|
687
618
|
this._borderCellCss = {
|
|
@@ -711,12 +642,14 @@ class StickyStyler {
|
|
|
711
642
|
elementsToClear.push(row, ...Array.from(row.children));
|
|
712
643
|
}
|
|
713
644
|
// Coalesce with sticky row/column updates (and potentially other changes like column resize).
|
|
714
|
-
|
|
645
|
+
afterNextRender({
|
|
715
646
|
write: () => {
|
|
716
647
|
for (const element of elementsToClear) {
|
|
717
648
|
this._removeStickyStyle(element, stickyDirections);
|
|
718
649
|
}
|
|
719
650
|
},
|
|
651
|
+
}, {
|
|
652
|
+
injector: this._tableInjector,
|
|
720
653
|
});
|
|
721
654
|
}
|
|
722
655
|
/**
|
|
@@ -758,7 +691,7 @@ class StickyStyler {
|
|
|
758
691
|
stickyEndStates: [...stickyEndStates],
|
|
759
692
|
});
|
|
760
693
|
}
|
|
761
|
-
|
|
694
|
+
afterNextRender({
|
|
762
695
|
earlyRead: () => {
|
|
763
696
|
cellWidths = this._getCellWidths(firstRow, recalculateCellWidths);
|
|
764
697
|
startPositions = this._getStickyStartColumnPositions(cellWidths, stickyStartStates);
|
|
@@ -789,11 +722,13 @@ class StickyStyler {
|
|
|
789
722
|
? []
|
|
790
723
|
: cellWidths
|
|
791
724
|
.slice(firstStickyEnd)
|
|
792
|
-
.map((width, index) =>
|
|
725
|
+
.map((width, index) => stickyEndStates[index + firstStickyEnd] ? width : null)
|
|
793
726
|
.reverse(),
|
|
794
727
|
});
|
|
795
728
|
}
|
|
796
729
|
},
|
|
730
|
+
}, {
|
|
731
|
+
injector: this._tableInjector,
|
|
797
732
|
});
|
|
798
733
|
}
|
|
799
734
|
/**
|
|
@@ -823,7 +758,7 @@ class StickyStyler {
|
|
|
823
758
|
const elementsToStick = [];
|
|
824
759
|
// Coalesce with other sticky row updates (top/bottom), sticky columns updates
|
|
825
760
|
// (and potentially other changes like column resize).
|
|
826
|
-
|
|
761
|
+
afterNextRender({
|
|
827
762
|
earlyRead: () => {
|
|
828
763
|
for (let rowIndex = 0, stickyOffset = 0; rowIndex < rows.length; rowIndex++) {
|
|
829
764
|
if (!states[rowIndex]) {
|
|
@@ -866,6 +801,8 @@ class StickyStyler {
|
|
|
866
801
|
});
|
|
867
802
|
}
|
|
868
803
|
},
|
|
804
|
+
}, {
|
|
805
|
+
injector: this._tableInjector,
|
|
869
806
|
});
|
|
870
807
|
}
|
|
871
808
|
/**
|
|
@@ -879,7 +816,7 @@ class StickyStyler {
|
|
|
879
816
|
return;
|
|
880
817
|
}
|
|
881
818
|
// Coalesce with other sticky updates (and potentially other changes like column resize).
|
|
882
|
-
|
|
819
|
+
afterNextRender({
|
|
883
820
|
write: () => {
|
|
884
821
|
const tfoot = tableElement.querySelector('tfoot');
|
|
885
822
|
if (tfoot) {
|
|
@@ -891,6 +828,8 @@ class StickyStyler {
|
|
|
891
828
|
}
|
|
892
829
|
}
|
|
893
830
|
},
|
|
831
|
+
}, {
|
|
832
|
+
injector: this._tableInjector,
|
|
894
833
|
});
|
|
895
834
|
}
|
|
896
835
|
/** Triggered by the table's OnDestroy hook. */
|
|
@@ -1094,21 +1033,6 @@ class StickyStyler {
|
|
|
1094
1033
|
}, 0);
|
|
1095
1034
|
}
|
|
1096
1035
|
}
|
|
1097
|
-
/**
|
|
1098
|
-
* Invoke afterNextRender with the table's injector, falling back to CoalescedStyleScheduler
|
|
1099
|
-
* if the injector was not provided.
|
|
1100
|
-
*/
|
|
1101
|
-
_afterNextRender(spec) {
|
|
1102
|
-
if (this._tableInjector) {
|
|
1103
|
-
afterNextRender(spec, { injector: this._tableInjector });
|
|
1104
|
-
}
|
|
1105
|
-
else {
|
|
1106
|
-
this._coalescedStyleScheduler.schedule(() => {
|
|
1107
|
-
spec.earlyRead?.();
|
|
1108
|
-
spec.write();
|
|
1109
|
-
});
|
|
1110
|
-
}
|
|
1111
|
-
}
|
|
1112
1036
|
}
|
|
1113
1037
|
function isCell(element) {
|
|
1114
1038
|
return ['cdk-cell', 'cdk-header-cell', 'cdk-footer-cell'].some(klass => element.classList.contains(klass));
|
|
@@ -1277,44 +1201,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0-next.5",
|
|
|
1277
1201
|
selector: '[noDataRowOutlet]',
|
|
1278
1202
|
}]
|
|
1279
1203
|
}], ctorParameters: () => [] });
|
|
1280
|
-
/**
|
|
1281
|
-
* The table template that can be used by the mat-table. Should not be used outside of the
|
|
1282
|
-
* material library.
|
|
1283
|
-
* @docs-private
|
|
1284
|
-
*/
|
|
1285
|
-
const CDK_TABLE_TEMPLATE =
|
|
1286
|
-
// Note that according to MDN, the `caption` element has to be projected as the **first**
|
|
1287
|
-
// element in the table. See https://developer.mozilla.org/en-US/docs/Web/HTML/Element/caption
|
|
1288
|
-
`
|
|
1289
|
-
<ng-content select="caption"/>
|
|
1290
|
-
<ng-content select="colgroup, col"/>
|
|
1291
|
-
|
|
1292
|
-
<!--
|
|
1293
|
-
Unprojected content throws a hydration error so we need this to capture it.
|
|
1294
|
-
It gets removed on the client so it doesn't affect the layout.
|
|
1295
|
-
-->
|
|
1296
|
-
@if (_isServer) {
|
|
1297
|
-
<ng-content/>
|
|
1298
|
-
}
|
|
1299
|
-
|
|
1300
|
-
@if (_isNativeHtmlTable) {
|
|
1301
|
-
<thead role="rowgroup">
|
|
1302
|
-
<ng-container headerRowOutlet/>
|
|
1303
|
-
</thead>
|
|
1304
|
-
<tbody role="rowgroup">
|
|
1305
|
-
<ng-container rowOutlet/>
|
|
1306
|
-
<ng-container noDataRowOutlet/>
|
|
1307
|
-
</tbody>
|
|
1308
|
-
<tfoot role="rowgroup">
|
|
1309
|
-
<ng-container footerRowOutlet/>
|
|
1310
|
-
</tfoot>
|
|
1311
|
-
} @else {
|
|
1312
|
-
<ng-container headerRowOutlet/>
|
|
1313
|
-
<ng-container rowOutlet/>
|
|
1314
|
-
<ng-container noDataRowOutlet/>
|
|
1315
|
-
<ng-container footerRowOutlet/>
|
|
1316
|
-
}
|
|
1317
|
-
`;
|
|
1318
1204
|
/**
|
|
1319
1205
|
* A data table that can render a header row, data rows, and a footer row.
|
|
1320
1206
|
* Uses the dataSource input to determine the data to be rendered. The data can be provided either
|
|
@@ -1328,7 +1214,6 @@ class CdkTable {
|
|
|
1328
1214
|
_dir = inject(Directionality, { optional: true });
|
|
1329
1215
|
_platform = inject(Platform);
|
|
1330
1216
|
_viewRepeater = inject(_VIEW_REPEATER_STRATEGY);
|
|
1331
|
-
_coalescedStyleScheduler = inject(_COALESCED_STYLE_SCHEDULER);
|
|
1332
1217
|
_viewportRuler = inject(ViewportRuler);
|
|
1333
1218
|
_stickyPositioningListener = inject(STICKY_POSITIONING_LISTENER, { optional: true, skipSelf: true });
|
|
1334
1219
|
_document = inject(DOCUMENT);
|
|
@@ -2203,7 +2088,7 @@ class CdkTable {
|
|
|
2203
2088
|
*/
|
|
2204
2089
|
_setupStickyStyler() {
|
|
2205
2090
|
const direction = this._dir ? this._dir.value : 'ltr';
|
|
2206
|
-
this._stickyStyler = new StickyStyler(this._isNativeHtmlTable, this.stickyCssClass,
|
|
2091
|
+
this._stickyStyler = new StickyStyler(this._isNativeHtmlTable, this.stickyCssClass, this._platform.isBrowser, this.needsPositionStickyOnElement, direction, this._stickyPositioningListener, this._injector);
|
|
2207
2092
|
(this._dir ? this._dir.change : of())
|
|
2208
2093
|
.pipe(takeUntil(this._onDestroy))
|
|
2209
2094
|
.subscribe(value => {
|
|
@@ -2246,20 +2131,76 @@ class CdkTable {
|
|
|
2246
2131
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.0-next.5", 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: [
|
|
2247
2132
|
{ provide: CDK_TABLE, useExisting: CdkTable },
|
|
2248
2133
|
{ provide: _VIEW_REPEATER_STRATEGY, useClass: _DisposeViewRepeaterStrategy },
|
|
2249
|
-
{ provide: _COALESCED_STYLE_SCHEDULER, useClass: _CoalescedStyleScheduler },
|
|
2250
2134
|
// Prevent nested tables from seeing this table's StickyPositioningListener.
|
|
2251
2135
|
{ provide: STICKY_POSITIONING_LISTENER, useValue: null },
|
|
2252
|
-
], 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:
|
|
2136
|
+
], 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: `
|
|
2137
|
+
<ng-content select="caption"/>
|
|
2138
|
+
<ng-content select="colgroup, col"/>
|
|
2139
|
+
|
|
2140
|
+
<!--
|
|
2141
|
+
Unprojected content throws a hydration error so we need this to capture it.
|
|
2142
|
+
It gets removed on the client so it doesn't affect the layout.
|
|
2143
|
+
-->
|
|
2144
|
+
@if (_isServer) {
|
|
2145
|
+
<ng-content/>
|
|
2146
|
+
}
|
|
2147
|
+
|
|
2148
|
+
@if (_isNativeHtmlTable) {
|
|
2149
|
+
<thead role="rowgroup">
|
|
2150
|
+
<ng-container headerRowOutlet/>
|
|
2151
|
+
</thead>
|
|
2152
|
+
<tbody role="rowgroup">
|
|
2153
|
+
<ng-container rowOutlet/>
|
|
2154
|
+
<ng-container noDataRowOutlet/>
|
|
2155
|
+
</tbody>
|
|
2156
|
+
<tfoot role="rowgroup">
|
|
2157
|
+
<ng-container footerRowOutlet/>
|
|
2158
|
+
</tfoot>
|
|
2159
|
+
} @else {
|
|
2160
|
+
<ng-container headerRowOutlet/>
|
|
2161
|
+
<ng-container rowOutlet/>
|
|
2162
|
+
<ng-container noDataRowOutlet/>
|
|
2163
|
+
<ng-container footerRowOutlet/>
|
|
2164
|
+
}
|
|
2165
|
+
`, isInline: true, styles: [".cdk-table-fixed-layout{table-layout:fixed}\n"], 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 });
|
|
2253
2166
|
}
|
|
2254
2167
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0-next.5", ngImport: i0, type: CdkTable, decorators: [{
|
|
2255
2168
|
type: Component,
|
|
2256
|
-
args: [{ selector: 'cdk-table, table[cdk-table]', exportAs: 'cdkTable', template:
|
|
2169
|
+
args: [{ selector: 'cdk-table, table[cdk-table]', exportAs: 'cdkTable', template: `
|
|
2170
|
+
<ng-content select="caption"/>
|
|
2171
|
+
<ng-content select="colgroup, col"/>
|
|
2172
|
+
|
|
2173
|
+
<!--
|
|
2174
|
+
Unprojected content throws a hydration error so we need this to capture it.
|
|
2175
|
+
It gets removed on the client so it doesn't affect the layout.
|
|
2176
|
+
-->
|
|
2177
|
+
@if (_isServer) {
|
|
2178
|
+
<ng-content/>
|
|
2179
|
+
}
|
|
2180
|
+
|
|
2181
|
+
@if (_isNativeHtmlTable) {
|
|
2182
|
+
<thead role="rowgroup">
|
|
2183
|
+
<ng-container headerRowOutlet/>
|
|
2184
|
+
</thead>
|
|
2185
|
+
<tbody role="rowgroup">
|
|
2186
|
+
<ng-container rowOutlet/>
|
|
2187
|
+
<ng-container noDataRowOutlet/>
|
|
2188
|
+
</tbody>
|
|
2189
|
+
<tfoot role="rowgroup">
|
|
2190
|
+
<ng-container footerRowOutlet/>
|
|
2191
|
+
</tfoot>
|
|
2192
|
+
} @else {
|
|
2193
|
+
<ng-container headerRowOutlet/>
|
|
2194
|
+
<ng-container rowOutlet/>
|
|
2195
|
+
<ng-container noDataRowOutlet/>
|
|
2196
|
+
<ng-container footerRowOutlet/>
|
|
2197
|
+
}
|
|
2198
|
+
`, host: {
|
|
2257
2199
|
'class': 'cdk-table',
|
|
2258
2200
|
'[class.cdk-table-fixed-layout]': 'fixedLayout',
|
|
2259
2201
|
}, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.Default, providers: [
|
|
2260
2202
|
{ provide: CDK_TABLE, useExisting: CdkTable },
|
|
2261
2203
|
{ provide: _VIEW_REPEATER_STRATEGY, useClass: _DisposeViewRepeaterStrategy },
|
|
2262
|
-
{ provide: _COALESCED_STYLE_SCHEDULER, useClass: _CoalescedStyleScheduler },
|
|
2263
2204
|
// Prevent nested tables from seeing this table's StickyPositioningListener.
|
|
2264
2205
|
{ provide: STICKY_POSITIONING_LISTENER, useValue: null },
|
|
2265
2206
|
], imports: [HeaderRowOutlet, DataRowOutlet, NoDataRowOutlet, FooterRowOutlet], styles: [".cdk-table-fixed-layout{table-layout:fixed}\n"] }]
|
|
@@ -2559,5 +2500,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0-next.5",
|
|
|
2559
2500
|
}]
|
|
2560
2501
|
}] });
|
|
2561
2502
|
|
|
2562
|
-
export { BaseCdkCell, BaseRowDef, CDK_ROW_TEMPLATE, CDK_TABLE,
|
|
2503
|
+
export { BaseCdkCell, BaseRowDef, CDK_ROW_TEMPLATE, CDK_TABLE, CdkCell, CdkCellDef, CdkCellOutlet, CdkColumnDef, CdkFooterCell, CdkFooterCellDef, CdkFooterRow, CdkFooterRowDef, CdkHeaderCell, CdkHeaderCellDef, CdkHeaderRow, CdkHeaderRowDef, CdkNoDataRow, CdkRecycleRows, CdkRow, CdkRowDef, CdkTable, CdkTableModule, CdkTextColumn, DataRowOutlet, FooterRowOutlet, HeaderRowOutlet, NoDataRowOutlet, STICKY_POSITIONING_LISTENER, TEXT_COLUMN_OPTIONS };
|
|
2563
2504
|
//# sourceMappingURL=table.mjs.map
|