@angular/cdk-experimental 19.1.0-next.2 → 19.1.0-rc.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/column-resize/index.d.ts +17 -2
- package/fesm2022/cdk-experimental.mjs +1 -1
- package/fesm2022/cdk-experimental.mjs.map +1 -1
- package/fesm2022/column-resize.mjs +143 -85
- package/fesm2022/column-resize.mjs.map +1 -1
- package/fesm2022/combobox.mjs +10 -10
- package/fesm2022/popover-edit.mjs +43 -43
- package/fesm2022/scrolling.mjs +7 -7
- package/fesm2022/selection.mjs +19 -19
- package/fesm2022/table-scroll-container.mjs +7 -7
- package/package.json +2 -2
package/LICENSE
CHANGED
package/column-resize/index.d.ts
CHANGED
|
@@ -11,6 +11,7 @@ import { Injector } from '@angular/core';
|
|
|
11
11
|
import { NgZone } from '@angular/core';
|
|
12
12
|
import { Observable } from 'rxjs';
|
|
13
13
|
import { OnDestroy } from '@angular/core';
|
|
14
|
+
import { OnInit } from '@angular/core';
|
|
14
15
|
import { Overlay } from '@angular/cdk/overlay';
|
|
15
16
|
import { OverlayRef } from '@angular/cdk/overlay';
|
|
16
17
|
import { Provider } from '@angular/core';
|
|
@@ -138,6 +139,8 @@ export declare const COLUMN_RESIZE_OPTIONS: InjectionToken<ColumnResizeOptions>;
|
|
|
138
139
|
* provide common events and services for column resizing.
|
|
139
140
|
*/
|
|
140
141
|
export declare abstract class ColumnResize implements AfterViewInit, OnDestroy {
|
|
142
|
+
private _renderer;
|
|
143
|
+
private _eventCleanups;
|
|
141
144
|
protected readonly destroyed: Subject<void>;
|
|
142
145
|
abstract readonly columnResizeNotifier: ColumnResizeNotifier;
|
|
143
146
|
abstract readonly elementRef: ElementRef<HTMLElement>;
|
|
@@ -299,7 +302,7 @@ declare namespace i4 {
|
|
|
299
302
|
* Base class for Resizable directives which are applied to column headers to make those columns
|
|
300
303
|
* resizable.
|
|
301
304
|
*/
|
|
302
|
-
export declare abstract class Resizable<HandleComponent extends ResizeOverlayHandle> implements AfterViewInit, OnDestroy {
|
|
305
|
+
export declare abstract class Resizable<HandleComponent extends ResizeOverlayHandle> implements AfterViewInit, OnDestroy, OnInit {
|
|
303
306
|
protected minWidthPxInternal: number;
|
|
304
307
|
protected maxWidthPxInternal: number;
|
|
305
308
|
protected inlineHandle?: HTMLElement;
|
|
@@ -328,6 +331,7 @@ export declare abstract class Resizable<HandleComponent extends ResizeOverlayHan
|
|
|
328
331
|
/** The maximum width to allow the column to be sized to. */
|
|
329
332
|
get maxWidthPx(): number;
|
|
330
333
|
set maxWidthPx(value: number);
|
|
334
|
+
ngOnInit(): void;
|
|
331
335
|
ngAfterViewInit(): void;
|
|
332
336
|
ngOnDestroy(): void;
|
|
333
337
|
protected abstract getInlineHandleCssClassName(): string;
|
|
@@ -353,6 +357,7 @@ export declare abstract class Resizable<HandleComponent extends ResizeOverlayHan
|
|
|
353
357
|
* for handling column resize mouse events and displaying any visible UI on the column edge.
|
|
354
358
|
*/
|
|
355
359
|
export declare abstract class ResizeOverlayHandle implements AfterViewInit, OnDestroy {
|
|
360
|
+
private _renderer;
|
|
356
361
|
protected readonly destroyed: Subject<void>;
|
|
357
362
|
protected abstract readonly columnDef: CdkColumnDef;
|
|
358
363
|
protected abstract readonly document: Document;
|
|
@@ -376,6 +381,7 @@ export declare abstract class ResizeOverlayHandle implements AfterViewInit, OnDe
|
|
|
376
381
|
private _updateOverlayOffset;
|
|
377
382
|
private _isLtr;
|
|
378
383
|
private _notifyResizeEnded;
|
|
384
|
+
private _observableFromEvent;
|
|
379
385
|
static ɵfac: i0.ɵɵFactoryDeclaration<ResizeOverlayHandle, never>;
|
|
380
386
|
static ɵdir: i0.ɵɵDirectiveDeclaration<ResizeOverlayHandle, never, never, {}, {}, never, never, true, never>;
|
|
381
387
|
}
|
|
@@ -394,11 +400,14 @@ export declare class ResizeRef {
|
|
|
394
400
|
* Provides an implementation for resizing a column.
|
|
395
401
|
* The details of how resizing works for tables for flex mat-tables are quite different.
|
|
396
402
|
*/
|
|
397
|
-
export declare abstract class ResizeStrategy {
|
|
403
|
+
export declare abstract class ResizeStrategy implements OnDestroy {
|
|
398
404
|
protected abstract readonly columnResize: ColumnResize;
|
|
399
405
|
protected abstract readonly styleScheduler: _CoalescedStyleScheduler;
|
|
400
406
|
protected abstract readonly table: CdkTable<unknown>;
|
|
401
407
|
private _pendingResizeDelta;
|
|
408
|
+
private _tableObserved;
|
|
409
|
+
private _elemSizeCache;
|
|
410
|
+
private _resizeObserver;
|
|
402
411
|
/** Updates the width of the specified column. */
|
|
403
412
|
abstract applyColumnSize(cssFriendlyColumnName: string, columnHeader: HTMLElement, sizeInPx: number, previousSizeInPx?: number): void;
|
|
404
413
|
/** Applies a minimum width to the specified column, updating its current width as needed. */
|
|
@@ -407,6 +416,12 @@ export declare abstract class ResizeStrategy {
|
|
|
407
416
|
abstract applyMaxColumnSize(cssFriendlyColumnName: string, columnHeader: HTMLElement, minSizeInPx: number): void;
|
|
408
417
|
/** Adjusts the width of the table element by the specified delta. */
|
|
409
418
|
protected updateTableWidthAndStickyColumns(delta: number): void;
|
|
419
|
+
/** Gets the style.width pixels on the specified element if present, otherwise its offsetWidth. */
|
|
420
|
+
protected getElementWidth(element: HTMLElement): number;
|
|
421
|
+
/** Informs the ResizeStrategy instance of a column that may be resized in the future. */
|
|
422
|
+
registerColumn(column: HTMLElement): void;
|
|
423
|
+
ngOnDestroy(): void;
|
|
424
|
+
private _updateCachedSizes;
|
|
410
425
|
static ɵfac: i0.ɵɵFactoryDeclaration<ResizeStrategy, never>;
|
|
411
426
|
static ɵprov: i0.ɵɵInjectableDeclaration<ResizeStrategy>;
|
|
412
427
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Version } from '@angular/core';
|
|
2
2
|
|
|
3
3
|
/** Current version of the CDK Experimental package. */
|
|
4
|
-
const VERSION = new Version('19.1.0-
|
|
4
|
+
const VERSION = new Version('19.1.0-rc.0');
|
|
5
5
|
|
|
6
6
|
export { VERSION };
|
|
7
7
|
//# sourceMappingURL=cdk-experimental.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cdk-experimental.mjs","sources":["../../../../../../src/cdk-experimental/version.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {Version} from '@angular/core';\n\n/** Current version of the CDK Experimental package. */\nexport const VERSION = new Version('19.1.0-
|
|
1
|
+
{"version":3,"file":"cdk-experimental.mjs","sources":["../../../../../../src/cdk-experimental/version.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {Version} from '@angular/core';\n\n/** Current version of the CDK Experimental package. */\nexport const VERSION = new Version('19.1.0-rc.0');\n"],"names":[],"mappings":";;AAUA;MACa,OAAO,GAAG,IAAI,OAAO,CAAC,mBAAmB;;;;"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { InjectionToken, inject, Directive, Input, Injectable, NgZone, CSP_NONCE, ElementRef, NgModule, Injector } from '@angular/core';
|
|
2
|
+
import { InjectionToken, inject, Renderer2, Directive, Input, Injectable, NgZone, CSP_NONCE, ElementRef, NgModule, Injector } from '@angular/core';
|
|
3
3
|
import { _IdGenerator } from '@angular/cdk/a11y';
|
|
4
|
-
import { Subject,
|
|
5
|
-
import {
|
|
4
|
+
import { Subject, merge, combineLatest, Observable } from 'rxjs';
|
|
5
|
+
import { mapTo, take, takeUntil, startWith, pairwise, distinctUntilChanged, share, map, skip, filter } from 'rxjs/operators';
|
|
6
6
|
import { _closest } from '@angular/cdk-experimental/popover-edit';
|
|
7
7
|
import { _COALESCED_STYLE_SCHEDULER, CdkTable } from '@angular/cdk/table';
|
|
8
8
|
import { DOCUMENT } from '@angular/common';
|
|
@@ -24,6 +24,8 @@ const COLUMN_RESIZE_OPTIONS = new InjectionToken('CdkColumnResizeOptions');
|
|
|
24
24
|
* provide common events and services for column resizing.
|
|
25
25
|
*/
|
|
26
26
|
class ColumnResize {
|
|
27
|
+
_renderer = inject(Renderer2);
|
|
28
|
+
_eventCleanups;
|
|
27
29
|
destroyed = new Subject();
|
|
28
30
|
/** Unique ID for this table instance. */
|
|
29
31
|
selectorId = inject(_IdGenerator).getId('cdk-column-resize-');
|
|
@@ -41,6 +43,7 @@ class ColumnResize {
|
|
|
41
43
|
this._listenForHoverActivity();
|
|
42
44
|
}
|
|
43
45
|
ngOnDestroy() {
|
|
46
|
+
this._eventCleanups?.forEach(cleanup => cleanup());
|
|
44
47
|
this.destroyed.next();
|
|
45
48
|
this.destroyed.complete();
|
|
46
49
|
}
|
|
@@ -59,13 +62,17 @@ class ColumnResize {
|
|
|
59
62
|
_listenForRowHoverEvents() {
|
|
60
63
|
this.ngZone.runOutsideAngular(() => {
|
|
61
64
|
const element = this.elementRef.nativeElement;
|
|
62
|
-
|
|
63
|
-
.
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
.
|
|
67
|
-
|
|
68
|
-
|
|
65
|
+
this._eventCleanups = [
|
|
66
|
+
this._renderer.listen(element, 'mouseover', (event) => {
|
|
67
|
+
this.eventDispatcher.headerCellHovered.next(_closest(event.target, HEADER_CELL_SELECTOR));
|
|
68
|
+
}),
|
|
69
|
+
this._renderer.listen(element, 'mouseleave', (event) => {
|
|
70
|
+
if (event.relatedTarget &&
|
|
71
|
+
!event.relatedTarget.matches(RESIZE_OVERLAY_SELECTOR)) {
|
|
72
|
+
this.eventDispatcher.headerCellHovered.next(null);
|
|
73
|
+
}
|
|
74
|
+
}),
|
|
75
|
+
];
|
|
69
76
|
});
|
|
70
77
|
}
|
|
71
78
|
_listenForResizeActivity() {
|
|
@@ -87,10 +94,10 @@ class ColumnResize {
|
|
|
87
94
|
}
|
|
88
95
|
});
|
|
89
96
|
}
|
|
90
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.0-next.
|
|
91
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.0-next.
|
|
97
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.0-next.3", ngImport: i0, type: ColumnResize, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
98
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.0-next.3", type: ColumnResize, isStandalone: true, inputs: { liveResizeUpdates: "liveResizeUpdates" }, ngImport: i0 });
|
|
92
99
|
}
|
|
93
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0-next.
|
|
100
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0-next.3", ngImport: i0, type: ColumnResize, decorators: [{
|
|
94
101
|
type: Directive
|
|
95
102
|
}], propDecorators: { liveResizeUpdates: [{
|
|
96
103
|
type: Input
|
|
@@ -107,10 +114,10 @@ class ColumnResizeNotifierSource {
|
|
|
107
114
|
resizeCompleted = new Subject();
|
|
108
115
|
/** Triggers a resize action. */
|
|
109
116
|
triggerResize = new Subject();
|
|
110
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.0-next.
|
|
111
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.0-next.
|
|
117
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.0-next.3", ngImport: i0, type: ColumnResizeNotifierSource, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
118
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.0-next.3", ngImport: i0, type: ColumnResizeNotifierSource });
|
|
112
119
|
}
|
|
113
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0-next.
|
|
120
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0-next.3", ngImport: i0, type: ColumnResizeNotifierSource, decorators: [{
|
|
114
121
|
type: Injectable
|
|
115
122
|
}] });
|
|
116
123
|
/** Service for triggering column resizes imperatively or being notified of them. */
|
|
@@ -127,10 +134,10 @@ class ColumnResizeNotifier {
|
|
|
127
134
|
isStickyColumn: true,
|
|
128
135
|
});
|
|
129
136
|
}
|
|
130
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.0-next.
|
|
131
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.0-next.
|
|
137
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.0-next.3", ngImport: i0, type: ColumnResizeNotifier, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
138
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.0-next.3", ngImport: i0, type: ColumnResizeNotifier });
|
|
132
139
|
}
|
|
133
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0-next.
|
|
140
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0-next.3", ngImport: i0, type: ColumnResizeNotifier, decorators: [{
|
|
134
141
|
type: Injectable
|
|
135
142
|
}] });
|
|
136
143
|
|
|
@@ -182,10 +189,10 @@ class HeaderRowEventDispatcher {
|
|
|
182
189
|
complete: () => observer.complete(),
|
|
183
190
|
}));
|
|
184
191
|
}
|
|
185
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.0-next.
|
|
186
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.0-next.
|
|
192
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.0-next.3", ngImport: i0, type: HeaderRowEventDispatcher, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
193
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.0-next.3", ngImport: i0, type: HeaderRowEventDispatcher });
|
|
187
194
|
}
|
|
188
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0-next.
|
|
195
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0-next.3", ngImport: i0, type: HeaderRowEventDispatcher, decorators: [{
|
|
189
196
|
type: Injectable
|
|
190
197
|
}] });
|
|
191
198
|
|
|
@@ -195,11 +202,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0-next.2",
|
|
|
195
202
|
*/
|
|
196
203
|
class ResizeStrategy {
|
|
197
204
|
_pendingResizeDelta = null;
|
|
205
|
+
_tableObserved = false;
|
|
206
|
+
_elemSizeCache = new WeakMap();
|
|
207
|
+
_resizeObserver = globalThis?.ResizeObserver
|
|
208
|
+
? new globalThis.ResizeObserver(entries => this._updateCachedSizes(entries))
|
|
209
|
+
: null;
|
|
198
210
|
/** Adjusts the width of the table element by the specified delta. */
|
|
199
211
|
updateTableWidthAndStickyColumns(delta) {
|
|
200
212
|
if (this._pendingResizeDelta === null) {
|
|
201
213
|
const tableElement = this.columnResize.elementRef.nativeElement;
|
|
202
|
-
const tableWidth = getElementWidth(tableElement);
|
|
214
|
+
const tableWidth = this.getElementWidth(tableElement);
|
|
203
215
|
this.styleScheduler.schedule(() => {
|
|
204
216
|
tableElement.style.width = coerceCssPixelValue(tableWidth + this._pendingResizeDelta);
|
|
205
217
|
this._pendingResizeDelta = null;
|
|
@@ -210,10 +222,45 @@ class ResizeStrategy {
|
|
|
210
222
|
}
|
|
211
223
|
this._pendingResizeDelta = (this._pendingResizeDelta ?? 0) + delta;
|
|
212
224
|
}
|
|
213
|
-
|
|
214
|
-
|
|
225
|
+
/** Gets the style.width pixels on the specified element if present, otherwise its offsetWidth. */
|
|
226
|
+
getElementWidth(element) {
|
|
227
|
+
// Optimization: Check style.width first as we probably set it already before reading
|
|
228
|
+
// offsetWidth which triggers layout.
|
|
229
|
+
return (coercePixelsFromCssValue(element.style.width) ||
|
|
230
|
+
this._elemSizeCache.get(element)?.width ||
|
|
231
|
+
element.offsetWidth);
|
|
232
|
+
}
|
|
233
|
+
/** Informs the ResizeStrategy instance of a column that may be resized in the future. */
|
|
234
|
+
registerColumn(column) {
|
|
235
|
+
if (!this._tableObserved) {
|
|
236
|
+
this._tableObserved = true;
|
|
237
|
+
this._resizeObserver?.observe(this.columnResize.elementRef.nativeElement, {
|
|
238
|
+
box: 'border-box',
|
|
239
|
+
});
|
|
240
|
+
}
|
|
241
|
+
this._resizeObserver?.observe(column, { box: 'border-box' });
|
|
242
|
+
}
|
|
243
|
+
ngOnDestroy() {
|
|
244
|
+
this._resizeObserver?.disconnect();
|
|
245
|
+
}
|
|
246
|
+
_updateCachedSizes(entries) {
|
|
247
|
+
for (const entry of entries) {
|
|
248
|
+
const newEntry = entry.borderBoxSize?.length
|
|
249
|
+
? {
|
|
250
|
+
width: entry.borderBoxSize[0].inlineSize,
|
|
251
|
+
height: entry.borderBoxSize[0].blockSize,
|
|
252
|
+
}
|
|
253
|
+
: {
|
|
254
|
+
width: entry.contentRect.width,
|
|
255
|
+
height: entry.contentRect.height,
|
|
256
|
+
};
|
|
257
|
+
this._elemSizeCache.set(entry.target, newEntry);
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.0-next.3", ngImport: i0, type: ResizeStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
261
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.0-next.3", ngImport: i0, type: ResizeStrategy });
|
|
215
262
|
}
|
|
216
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0-next.
|
|
263
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0-next.3", ngImport: i0, type: ResizeStrategy, decorators: [{
|
|
217
264
|
type: Injectable
|
|
218
265
|
}] });
|
|
219
266
|
/**
|
|
@@ -228,7 +275,7 @@ class TableLayoutFixedResizeStrategy extends ResizeStrategy {
|
|
|
228
275
|
styleScheduler = inject(_COALESCED_STYLE_SCHEDULER);
|
|
229
276
|
table = inject(CdkTable);
|
|
230
277
|
applyColumnSize(_, columnHeader, sizeInPx, previousSizeInPx) {
|
|
231
|
-
const delta = sizeInPx - (previousSizeInPx ?? getElementWidth(columnHeader));
|
|
278
|
+
const delta = sizeInPx - (previousSizeInPx ?? this.getElementWidth(columnHeader));
|
|
232
279
|
if (delta === 0) {
|
|
233
280
|
return;
|
|
234
281
|
}
|
|
@@ -238,19 +285,19 @@ class TableLayoutFixedResizeStrategy extends ResizeStrategy {
|
|
|
238
285
|
this.updateTableWidthAndStickyColumns(delta);
|
|
239
286
|
}
|
|
240
287
|
applyMinColumnSize(_, columnHeader, sizeInPx) {
|
|
241
|
-
const currentWidth = getElementWidth(columnHeader);
|
|
288
|
+
const currentWidth = this.getElementWidth(columnHeader);
|
|
242
289
|
const newWidth = Math.max(currentWidth, sizeInPx);
|
|
243
290
|
this.applyColumnSize(_, columnHeader, newWidth, currentWidth);
|
|
244
291
|
}
|
|
245
292
|
applyMaxColumnSize(_, columnHeader, sizeInPx) {
|
|
246
|
-
const currentWidth = getElementWidth(columnHeader);
|
|
293
|
+
const currentWidth = this.getElementWidth(columnHeader);
|
|
247
294
|
const newWidth = Math.min(currentWidth, sizeInPx);
|
|
248
295
|
this.applyColumnSize(_, columnHeader, newWidth, currentWidth);
|
|
249
296
|
}
|
|
250
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.0-next.
|
|
251
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.0-next.
|
|
297
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.0-next.3", ngImport: i0, type: TableLayoutFixedResizeStrategy, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
298
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.0-next.3", ngImport: i0, type: TableLayoutFixedResizeStrategy });
|
|
252
299
|
}
|
|
253
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0-next.
|
|
300
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0-next.3", ngImport: i0, type: TableLayoutFixedResizeStrategy, decorators: [{
|
|
254
301
|
type: Injectable
|
|
255
302
|
}] });
|
|
256
303
|
/**
|
|
@@ -298,6 +345,7 @@ class CdkFlexTableResizeStrategy extends ResizeStrategy {
|
|
|
298
345
|
return `cdk-column-${cssFriendlyColumnName}`;
|
|
299
346
|
}
|
|
300
347
|
ngOnDestroy() {
|
|
348
|
+
super.ngOnDestroy();
|
|
301
349
|
this._styleElement?.remove();
|
|
302
350
|
this._styleElement = undefined;
|
|
303
351
|
}
|
|
@@ -360,22 +408,16 @@ class CdkFlexTableResizeStrategy extends ResizeStrategy {
|
|
|
360
408
|
const body = propertyKeys.map(key => `${key}:${properties.get(key)}`).join(';');
|
|
361
409
|
this._getStyleSheet().insertRule(`${selector} {${body}}`, index);
|
|
362
410
|
}
|
|
363
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.0-next.
|
|
364
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.0-next.
|
|
411
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.0-next.3", ngImport: i0, type: CdkFlexTableResizeStrategy, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
412
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.0-next.3", ngImport: i0, type: CdkFlexTableResizeStrategy });
|
|
365
413
|
}
|
|
366
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0-next.
|
|
414
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0-next.3", ngImport: i0, type: CdkFlexTableResizeStrategy, decorators: [{
|
|
367
415
|
type: Injectable
|
|
368
416
|
}] });
|
|
369
417
|
/** Converts CSS pixel values to numbers, eg "123px" to 123. Returns NaN for non pixel values. */
|
|
370
418
|
function coercePixelsFromCssValue(cssValue) {
|
|
371
419
|
return Number(cssValue.match(/(\d+)px/)?.[1]);
|
|
372
420
|
}
|
|
373
|
-
/** Gets the style.width pixels on the specified element if present, otherwise its offsetWidth. */
|
|
374
|
-
function getElementWidth(element) {
|
|
375
|
-
// Optimization: Check style.width first as we probably set it already before reading
|
|
376
|
-
// offsetWidth which triggers layout.
|
|
377
|
-
return coercePixelsFromCssValue(element.style.width) || element.offsetWidth;
|
|
378
|
-
}
|
|
379
421
|
/**
|
|
380
422
|
* Converts CSS flex values as set in CdkFlexTableResizeStrategy to numbers,
|
|
381
423
|
* eg "0 0.01 123px" to 123.
|
|
@@ -414,10 +456,10 @@ class CdkColumnResize extends ColumnResize {
|
|
|
414
456
|
ngZone = inject(NgZone);
|
|
415
457
|
notifier = inject(ColumnResizeNotifierSource);
|
|
416
458
|
table = inject(CdkTable);
|
|
417
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.0-next.
|
|
418
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.0-next.
|
|
459
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.0-next.3", ngImport: i0, type: CdkColumnResize, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
460
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.0-next.3", type: CdkColumnResize, isStandalone: true, selector: "table[cdk-table][columnResize]", providers: [...TABLE_PROVIDERS, { provide: ColumnResize, useExisting: CdkColumnResize }], usesInheritance: true, ngImport: i0 });
|
|
419
461
|
}
|
|
420
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0-next.
|
|
462
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0-next.3", ngImport: i0, type: CdkColumnResize, decorators: [{
|
|
421
463
|
type: Directive,
|
|
422
464
|
args: [{
|
|
423
465
|
selector: 'table[cdk-table][columnResize]',
|
|
@@ -436,10 +478,10 @@ class CdkColumnResizeFlex extends ColumnResize {
|
|
|
436
478
|
ngZone = inject(NgZone);
|
|
437
479
|
notifier = inject(ColumnResizeNotifierSource);
|
|
438
480
|
table = inject(CdkTable);
|
|
439
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.0-next.
|
|
440
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.0-next.
|
|
481
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.0-next.3", ngImport: i0, type: CdkColumnResizeFlex, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
482
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.0-next.3", type: CdkColumnResizeFlex, isStandalone: true, selector: "cdk-table[columnResize]", providers: [...FLEX_PROVIDERS, { provide: ColumnResize, useExisting: CdkColumnResizeFlex }], usesInheritance: true, ngImport: i0 });
|
|
441
483
|
}
|
|
442
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0-next.
|
|
484
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0-next.3", ngImport: i0, type: CdkColumnResizeFlex, decorators: [{
|
|
443
485
|
type: Directive,
|
|
444
486
|
args: [{
|
|
445
487
|
selector: 'cdk-table[columnResize]',
|
|
@@ -458,13 +500,13 @@ class CdkDefaultEnabledColumnResize extends ColumnResize {
|
|
|
458
500
|
ngZone = inject(NgZone);
|
|
459
501
|
notifier = inject(ColumnResizeNotifierSource);
|
|
460
502
|
table = inject(CdkTable);
|
|
461
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.0-next.
|
|
462
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.0-next.
|
|
503
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.0-next.3", ngImport: i0, type: CdkDefaultEnabledColumnResize, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
504
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.0-next.3", type: CdkDefaultEnabledColumnResize, isStandalone: true, selector: "table[cdk-table]", providers: [
|
|
463
505
|
...TABLE_PROVIDERS,
|
|
464
506
|
{ provide: ColumnResize, useExisting: CdkDefaultEnabledColumnResize },
|
|
465
507
|
], usesInheritance: true, ngImport: i0 });
|
|
466
508
|
}
|
|
467
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0-next.
|
|
509
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0-next.3", ngImport: i0, type: CdkDefaultEnabledColumnResize, decorators: [{
|
|
468
510
|
type: Directive,
|
|
469
511
|
args: [{
|
|
470
512
|
selector: 'table[cdk-table]',
|
|
@@ -486,13 +528,13 @@ class CdkDefaultEnabledColumnResizeFlex extends ColumnResize {
|
|
|
486
528
|
ngZone = inject(NgZone);
|
|
487
529
|
notifier = inject(ColumnResizeNotifierSource);
|
|
488
530
|
table = inject(CdkTable);
|
|
489
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.0-next.
|
|
490
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.0-next.
|
|
531
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.0-next.3", ngImport: i0, type: CdkDefaultEnabledColumnResizeFlex, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
532
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.0-next.3", type: CdkDefaultEnabledColumnResizeFlex, isStandalone: true, selector: "cdk-table", providers: [
|
|
491
533
|
...FLEX_PROVIDERS,
|
|
492
534
|
{ provide: ColumnResize, useExisting: CdkDefaultEnabledColumnResizeFlex },
|
|
493
535
|
], usesInheritance: true, ngImport: i0 });
|
|
494
536
|
}
|
|
495
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0-next.
|
|
537
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0-next.3", ngImport: i0, type: CdkDefaultEnabledColumnResizeFlex, decorators: [{
|
|
496
538
|
type: Directive,
|
|
497
539
|
args: [{
|
|
498
540
|
selector: 'cdk-table',
|
|
@@ -508,11 +550,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0-next.2",
|
|
|
508
550
|
* When using this module, columns are resizable by default.
|
|
509
551
|
*/
|
|
510
552
|
class CdkColumnResizeDefaultEnabledModule {
|
|
511
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.0-next.
|
|
512
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.1.0-next.
|
|
513
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.1.0-next.
|
|
553
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.0-next.3", ngImport: i0, type: CdkColumnResizeDefaultEnabledModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
554
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.1.0-next.3", ngImport: i0, type: CdkColumnResizeDefaultEnabledModule, imports: [CdkDefaultEnabledColumnResize, CdkDefaultEnabledColumnResizeFlex], exports: [CdkDefaultEnabledColumnResize, CdkDefaultEnabledColumnResizeFlex] });
|
|
555
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.1.0-next.3", ngImport: i0, type: CdkColumnResizeDefaultEnabledModule });
|
|
514
556
|
}
|
|
515
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0-next.
|
|
557
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0-next.3", ngImport: i0, type: CdkColumnResizeDefaultEnabledModule, decorators: [{
|
|
516
558
|
type: NgModule,
|
|
517
559
|
args: [{
|
|
518
560
|
imports: [CdkDefaultEnabledColumnResize, CdkDefaultEnabledColumnResizeFlex],
|
|
@@ -524,11 +566,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0-next.2",
|
|
|
524
566
|
* When using this module, columns are not resizable by default.
|
|
525
567
|
*/
|
|
526
568
|
class CdkColumnResizeModule {
|
|
527
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.0-next.
|
|
528
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.1.0-next.
|
|
529
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.1.0-next.
|
|
569
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.0-next.3", ngImport: i0, type: CdkColumnResizeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
570
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.1.0-next.3", ngImport: i0, type: CdkColumnResizeModule, imports: [CdkColumnResize, CdkColumnResizeFlex], exports: [CdkColumnResize, CdkColumnResizeFlex] });
|
|
571
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.1.0-next.3", ngImport: i0, type: CdkColumnResizeModule });
|
|
530
572
|
}
|
|
531
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0-next.
|
|
573
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0-next.3", ngImport: i0, type: CdkColumnResizeModule, decorators: [{
|
|
532
574
|
type: NgModule,
|
|
533
575
|
args: [{
|
|
534
576
|
imports: [CdkColumnResize, CdkColumnResizeFlex],
|
|
@@ -540,10 +582,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0-next.2",
|
|
|
540
582
|
* Can be provided by the host application to enable persistence of column resize state.
|
|
541
583
|
*/
|
|
542
584
|
class ColumnSizeStore {
|
|
543
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.0-next.
|
|
544
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.0-next.
|
|
585
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.0-next.3", ngImport: i0, type: ColumnSizeStore, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
586
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.0-next.3", ngImport: i0, type: ColumnSizeStore });
|
|
545
587
|
}
|
|
546
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0-next.
|
|
588
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0-next.3", ngImport: i0, type: ColumnSizeStore, decorators: [{
|
|
547
589
|
type: Injectable
|
|
548
590
|
}] });
|
|
549
591
|
|
|
@@ -599,6 +641,9 @@ class Resizable {
|
|
|
599
641
|
this._applyMaxWidthPx();
|
|
600
642
|
}
|
|
601
643
|
}
|
|
644
|
+
ngOnInit() {
|
|
645
|
+
this.resizeStrategy.registerColumn(this.elementRef.nativeElement);
|
|
646
|
+
}
|
|
602
647
|
ngAfterViewInit() {
|
|
603
648
|
this._listenForRowHoverEvents();
|
|
604
649
|
this._listenForResizeEvents();
|
|
@@ -747,18 +792,17 @@ class Resizable {
|
|
|
747
792
|
this.resizeStrategy.applyMaxColumnSize(this.columnDef.cssClassFriendlyName, this.elementRef.nativeElement, this.maxWidthPx);
|
|
748
793
|
}
|
|
749
794
|
_appendInlineHandle() {
|
|
750
|
-
this.
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
}
|
|
758
|
-
static
|
|
759
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.0-next.2", type: Resizable, isStandalone: true, ngImport: i0 });
|
|
795
|
+
this.inlineHandle = this.document.createElement('div');
|
|
796
|
+
// TODO: re-apply tab index once this element has behavior.
|
|
797
|
+
// this.inlineHandle.tabIndex = 0;
|
|
798
|
+
this.inlineHandle.className = this.getInlineHandleCssClassName();
|
|
799
|
+
// TODO: Apply correct aria role (probably slider) after a11y spec questions resolved.
|
|
800
|
+
this.elementRef.nativeElement.appendChild(this.inlineHandle);
|
|
801
|
+
}
|
|
802
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.0-next.3", ngImport: i0, type: Resizable, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
803
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.0-next.3", type: Resizable, isStandalone: true, ngImport: i0 });
|
|
760
804
|
}
|
|
761
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0-next.
|
|
805
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0-next.3", ngImport: i0, type: Resizable, decorators: [{
|
|
762
806
|
type: Directive
|
|
763
807
|
}] });
|
|
764
808
|
|
|
@@ -769,6 +813,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0-next.2",
|
|
|
769
813
|
* for handling column resize mouse events and displaying any visible UI on the column edge.
|
|
770
814
|
*/
|
|
771
815
|
class ResizeOverlayHandle {
|
|
816
|
+
_renderer = inject(Renderer2);
|
|
772
817
|
destroyed = new Subject();
|
|
773
818
|
_cumulativeDeltaX = 0;
|
|
774
819
|
ngAfterViewInit() {
|
|
@@ -780,13 +825,13 @@ class ResizeOverlayHandle {
|
|
|
780
825
|
}
|
|
781
826
|
_listenForMouseEvents() {
|
|
782
827
|
this.ngZone.runOutsideAngular(() => {
|
|
783
|
-
|
|
828
|
+
this._observableFromEvent(this.elementRef.nativeElement, 'mouseenter')
|
|
784
829
|
.pipe(mapTo(this.resizeRef.origin.nativeElement), takeUntil(this.destroyed))
|
|
785
830
|
.subscribe(cell => this.eventDispatcher.headerCellHovered.next(cell));
|
|
786
|
-
|
|
831
|
+
this._observableFromEvent(this.elementRef.nativeElement, 'mouseleave')
|
|
787
832
|
.pipe(map(event => event.relatedTarget && _closest(event.relatedTarget, HEADER_CELL_SELECTOR)), takeUntil(this.destroyed))
|
|
788
833
|
.subscribe(cell => this.eventDispatcher.headerCellHovered.next(cell));
|
|
789
|
-
|
|
834
|
+
this._observableFromEvent(this.elementRef.nativeElement, 'mousedown')
|
|
790
835
|
.pipe(takeUntil(this.destroyed))
|
|
791
836
|
.subscribe(mousedownEvent => {
|
|
792
837
|
this._dragStarted(mousedownEvent);
|
|
@@ -798,9 +843,9 @@ class ResizeOverlayHandle {
|
|
|
798
843
|
if (mousedownEvent.button !== 0) {
|
|
799
844
|
return;
|
|
800
845
|
}
|
|
801
|
-
const mouseup =
|
|
802
|
-
const mousemove =
|
|
803
|
-
const escape =
|
|
846
|
+
const mouseup = this._observableFromEvent(this.document, 'mouseup');
|
|
847
|
+
const mousemove = this._observableFromEvent(this.document, 'mousemove');
|
|
848
|
+
const escape = this._observableFromEvent(this.document, 'keyup').pipe(filter(event => event.keyCode === ESCAPE));
|
|
804
849
|
const startX = mousedownEvent.screenX;
|
|
805
850
|
const initialSize = this._getOriginWidth();
|
|
806
851
|
let overlayOffset = 0;
|
|
@@ -889,7 +934,10 @@ class ResizeOverlayHandle {
|
|
|
889
934
|
_notifyResizeEnded(size, completedSuccessfully = false) {
|
|
890
935
|
this.updateResizeActive(false);
|
|
891
936
|
this.ngZone.run(() => {
|
|
892
|
-
const sizeMessage = {
|
|
937
|
+
const sizeMessage = {
|
|
938
|
+
columnId: this.columnDef.name,
|
|
939
|
+
size: this._computeNewSize(size, this._cumulativeDeltaX),
|
|
940
|
+
};
|
|
893
941
|
if (completedSuccessfully) {
|
|
894
942
|
if (!this.resizeRef.liveUpdates) {
|
|
895
943
|
this._triggerResize(size, this._cumulativeDeltaX);
|
|
@@ -901,10 +949,20 @@ class ResizeOverlayHandle {
|
|
|
901
949
|
}
|
|
902
950
|
});
|
|
903
951
|
}
|
|
904
|
-
|
|
905
|
-
|
|
952
|
+
_observableFromEvent(element, name) {
|
|
953
|
+
return new Observable(subscriber => {
|
|
954
|
+
const handler = (event) => subscriber.next(event);
|
|
955
|
+
const cleanup = this._renderer.listen(element, name, handler);
|
|
956
|
+
return () => {
|
|
957
|
+
cleanup();
|
|
958
|
+
subscriber.complete();
|
|
959
|
+
};
|
|
960
|
+
});
|
|
961
|
+
}
|
|
962
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.0-next.3", ngImport: i0, type: ResizeOverlayHandle, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
963
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.0-next.3", type: ResizeOverlayHandle, isStandalone: true, ngImport: i0 });
|
|
906
964
|
}
|
|
907
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0-next.
|
|
965
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0-next.3", ngImport: i0, type: ResizeOverlayHandle, decorators: [{
|
|
908
966
|
type: Directive
|
|
909
967
|
}] });
|
|
910
968
|
|