@angular/cdk 19.0.0-next.8 → 19.0.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/fesm2022/a11y.mjs +326 -282
- package/fesm2022/a11y.mjs.map +1 -1
- package/fesm2022/accordion.mjs +44 -49
- package/fesm2022/accordion.mjs.map +1 -1
- package/fesm2022/bidi.mjs +22 -23
- package/fesm2022/bidi.mjs.map +1 -1
- package/fesm2022/cdk.mjs +1 -1
- package/fesm2022/cdk.mjs.map +1 -1
- package/fesm2022/clipboard.mjs +34 -30
- package/fesm2022/clipboard.mjs.map +1 -1
- package/fesm2022/collections.mjs +31 -29
- package/fesm2022/collections.mjs.map +1 -1
- package/fesm2022/dialog.mjs +214 -135
- package/fesm2022/dialog.mjs.map +1 -1
- package/fesm2022/drag-drop.mjs +732 -494
- package/fesm2022/drag-drop.mjs.map +1 -1
- package/fesm2022/layout.mjs +21 -20
- package/fesm2022/layout.mjs.map +1 -1
- package/fesm2022/listbox.mjs +79 -67
- package/fesm2022/listbox.mjs.map +1 -1
- package/fesm2022/menu.mjs +247 -231
- package/fesm2022/menu.mjs.map +1 -1
- package/fesm2022/observers/private.mjs +16 -13
- package/fesm2022/observers/private.mjs.map +1 -1
- package/fesm2022/observers.mjs +26 -28
- package/fesm2022/observers.mjs.map +1 -1
- package/fesm2022/overlay.mjs +423 -293
- package/fesm2022/overlay.mjs.map +1 -1
- package/fesm2022/platform.mjs +51 -52
- package/fesm2022/platform.mjs.map +1 -1
- package/fesm2022/portal.mjs +115 -83
- package/fesm2022/portal.mjs.map +1 -1
- package/fesm2022/private.mjs +10 -11
- package/fesm2022/private.mjs.map +1 -1
- package/fesm2022/scrolling.mjs +191 -175
- package/fesm2022/scrolling.mjs.map +1 -1
- package/fesm2022/stepper.mjs +104 -78
- package/fesm2022/stepper.mjs.map +1 -1
- package/fesm2022/table.mjs +469 -279
- package/fesm2022/table.mjs.map +1 -1
- package/fesm2022/testing/selenium-webdriver.mjs +6 -0
- package/fesm2022/testing/selenium-webdriver.mjs.map +1 -1
- package/fesm2022/testing/testbed.mjs +16 -7
- package/fesm2022/testing/testbed.mjs.map +1 -1
- package/fesm2022/testing.mjs +7 -2
- package/fesm2022/testing.mjs.map +1 -1
- package/fesm2022/text-field.mjs +56 -49
- package/fesm2022/text-field.mjs.map +1 -1
- package/fesm2022/tree.mjs +243 -134
- package/fesm2022/tree.mjs.map +1 -1
- package/package.json +1 -1
- package/schematics/ng-add/index.js +1 -1
- package/schematics/ng-add/index.mjs +1 -1
- package/scrolling/index.d.ts +1 -1
- package/table/index.d.ts +21 -2
- package/tree/index.d.ts +3 -2
package/fesm2022/overlay.mjs
CHANGED
|
@@ -17,10 +17,13 @@ const scrollBehaviorSupported = supportsScrollBehavior();
|
|
|
17
17
|
* Strategy that will prevent the user from scrolling while the overlay is visible.
|
|
18
18
|
*/
|
|
19
19
|
class BlockScrollStrategy {
|
|
20
|
+
_viewportRuler;
|
|
21
|
+
_previousHTMLStyles = { top: '', left: '' };
|
|
22
|
+
_previousScrollPosition;
|
|
23
|
+
_isEnabled = false;
|
|
24
|
+
_document;
|
|
20
25
|
constructor(_viewportRuler, document) {
|
|
21
26
|
this._viewportRuler = _viewportRuler;
|
|
22
|
-
this._previousHTMLStyles = { top: '', left: '' };
|
|
23
|
-
this._isEnabled = false;
|
|
24
27
|
this._document = document;
|
|
25
28
|
}
|
|
26
29
|
/** Attaches this scroll strategy to an overlay. */
|
|
@@ -94,19 +97,18 @@ function getMatScrollStrategyAlreadyAttachedError() {
|
|
|
94
97
|
* Strategy that will close the overlay as soon as the user starts scrolling.
|
|
95
98
|
*/
|
|
96
99
|
class CloseScrollStrategy {
|
|
100
|
+
_scrollDispatcher;
|
|
101
|
+
_ngZone;
|
|
102
|
+
_viewportRuler;
|
|
103
|
+
_config;
|
|
104
|
+
_scrollSubscription = null;
|
|
105
|
+
_overlayRef;
|
|
106
|
+
_initialScrollPosition;
|
|
97
107
|
constructor(_scrollDispatcher, _ngZone, _viewportRuler, _config) {
|
|
98
108
|
this._scrollDispatcher = _scrollDispatcher;
|
|
99
109
|
this._ngZone = _ngZone;
|
|
100
110
|
this._viewportRuler = _viewportRuler;
|
|
101
111
|
this._config = _config;
|
|
102
|
-
this._scrollSubscription = null;
|
|
103
|
-
/** Detaches the overlay ref and disables the scroll strategy. */
|
|
104
|
-
this._detach = () => {
|
|
105
|
-
this.disable();
|
|
106
|
-
if (this._overlayRef.hasAttached()) {
|
|
107
|
-
this._ngZone.run(() => this._overlayRef.detach());
|
|
108
|
-
}
|
|
109
|
-
};
|
|
110
112
|
}
|
|
111
113
|
/** Attaches this scroll strategy to an overlay. */
|
|
112
114
|
attach(overlayRef) {
|
|
@@ -151,6 +153,13 @@ class CloseScrollStrategy {
|
|
|
151
153
|
this.disable();
|
|
152
154
|
this._overlayRef = null;
|
|
153
155
|
}
|
|
156
|
+
/** Detaches the overlay ref and disables the scroll strategy. */
|
|
157
|
+
_detach = () => {
|
|
158
|
+
this.disable();
|
|
159
|
+
if (this._overlayRef.hasAttached()) {
|
|
160
|
+
this._ngZone.run(() => this._overlayRef.detach());
|
|
161
|
+
}
|
|
162
|
+
};
|
|
154
163
|
}
|
|
155
164
|
|
|
156
165
|
/** Scroll strategy that doesn't do anything. */
|
|
@@ -200,12 +209,17 @@ function isElementClippedByScrolling(element, scrollContainers) {
|
|
|
200
209
|
* Strategy that will update the element position as the user is scrolling.
|
|
201
210
|
*/
|
|
202
211
|
class RepositionScrollStrategy {
|
|
212
|
+
_scrollDispatcher;
|
|
213
|
+
_viewportRuler;
|
|
214
|
+
_ngZone;
|
|
215
|
+
_config;
|
|
216
|
+
_scrollSubscription = null;
|
|
217
|
+
_overlayRef;
|
|
203
218
|
constructor(_scrollDispatcher, _viewportRuler, _ngZone, _config) {
|
|
204
219
|
this._scrollDispatcher = _scrollDispatcher;
|
|
205
220
|
this._viewportRuler = _viewportRuler;
|
|
206
221
|
this._ngZone = _ngZone;
|
|
207
222
|
this._config = _config;
|
|
208
|
-
this._scrollSubscription = null;
|
|
209
223
|
}
|
|
210
224
|
/** Attaches this scroll strategy to an overlay. */
|
|
211
225
|
attach(overlayRef) {
|
|
@@ -255,52 +269,70 @@ class RepositionScrollStrategy {
|
|
|
255
269
|
* behaviors. This class primarily acts as a factory for ScrollStrategy instances.
|
|
256
270
|
*/
|
|
257
271
|
class ScrollStrategyOptions {
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
}
|
|
279
|
-
static
|
|
280
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.0-next.8", ngImport: i0, type: ScrollStrategyOptions, providedIn: 'root' }); }
|
|
272
|
+
_scrollDispatcher = inject(ScrollDispatcher);
|
|
273
|
+
_viewportRuler = inject(ViewportRuler);
|
|
274
|
+
_ngZone = inject(NgZone);
|
|
275
|
+
_document = inject(DOCUMENT);
|
|
276
|
+
constructor() { }
|
|
277
|
+
/** Do nothing on scroll. */
|
|
278
|
+
noop = () => new NoopScrollStrategy();
|
|
279
|
+
/**
|
|
280
|
+
* Close the overlay as soon as the user scrolls.
|
|
281
|
+
* @param config Configuration to be used inside the scroll strategy.
|
|
282
|
+
*/
|
|
283
|
+
close = (config) => new CloseScrollStrategy(this._scrollDispatcher, this._ngZone, this._viewportRuler, config);
|
|
284
|
+
/** Block scrolling. */
|
|
285
|
+
block = () => new BlockScrollStrategy(this._viewportRuler, this._document);
|
|
286
|
+
/**
|
|
287
|
+
* Update the overlay's position on scroll.
|
|
288
|
+
* @param config Configuration to be used inside the scroll strategy.
|
|
289
|
+
* Allows debouncing the reposition calls.
|
|
290
|
+
*/
|
|
291
|
+
reposition = (config) => new RepositionScrollStrategy(this._scrollDispatcher, this._viewportRuler, this._ngZone, config);
|
|
292
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-next.10", ngImport: i0, type: ScrollStrategyOptions, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
293
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.0-next.10", ngImport: i0, type: ScrollStrategyOptions, providedIn: 'root' });
|
|
281
294
|
}
|
|
282
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.
|
|
295
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.10", ngImport: i0, type: ScrollStrategyOptions, decorators: [{
|
|
283
296
|
type: Injectable,
|
|
284
297
|
args: [{ providedIn: 'root' }]
|
|
285
298
|
}], ctorParameters: () => [] });
|
|
286
299
|
|
|
287
300
|
/** Initial configuration used when creating an overlay. */
|
|
288
301
|
class OverlayConfig {
|
|
302
|
+
/** Strategy with which to position the overlay. */
|
|
303
|
+
positionStrategy;
|
|
304
|
+
/** Strategy to be used when handling scroll events while the overlay is open. */
|
|
305
|
+
scrollStrategy = new NoopScrollStrategy();
|
|
306
|
+
/** Custom class to add to the overlay pane. */
|
|
307
|
+
panelClass = '';
|
|
308
|
+
/** Whether the overlay has a backdrop. */
|
|
309
|
+
hasBackdrop = false;
|
|
310
|
+
/** Custom class to add to the backdrop */
|
|
311
|
+
backdropClass = 'cdk-overlay-dark-backdrop';
|
|
312
|
+
/** The width of the overlay panel. If a number is provided, pixel units are assumed. */
|
|
313
|
+
width;
|
|
314
|
+
/** The height of the overlay panel. If a number is provided, pixel units are assumed. */
|
|
315
|
+
height;
|
|
316
|
+
/** The min-width of the overlay panel. If a number is provided, pixel units are assumed. */
|
|
317
|
+
minWidth;
|
|
318
|
+
/** The min-height of the overlay panel. If a number is provided, pixel units are assumed. */
|
|
319
|
+
minHeight;
|
|
320
|
+
/** The max-width of the overlay panel. If a number is provided, pixel units are assumed. */
|
|
321
|
+
maxWidth;
|
|
322
|
+
/** The max-height of the overlay panel. If a number is provided, pixel units are assumed. */
|
|
323
|
+
maxHeight;
|
|
324
|
+
/**
|
|
325
|
+
* Direction of the text in the overlay panel. If a `Directionality` instance
|
|
326
|
+
* is passed in, the overlay will handle changes to its value automatically.
|
|
327
|
+
*/
|
|
328
|
+
direction;
|
|
329
|
+
/**
|
|
330
|
+
* Whether the overlay should be disposed of when the user goes backwards/forwards in history.
|
|
331
|
+
* Note that this usually doesn't include clicking on links (unless the user is using
|
|
332
|
+
* the `HashLocationStrategy`).
|
|
333
|
+
*/
|
|
334
|
+
disposeOnNavigation = false;
|
|
289
335
|
constructor(config) {
|
|
290
|
-
/** Strategy to be used when handling scroll events while the overlay is open. */
|
|
291
|
-
this.scrollStrategy = new NoopScrollStrategy();
|
|
292
|
-
/** Custom class to add to the overlay pane. */
|
|
293
|
-
this.panelClass = '';
|
|
294
|
-
/** Whether the overlay has a backdrop. */
|
|
295
|
-
this.hasBackdrop = false;
|
|
296
|
-
/** Custom class to add to the backdrop */
|
|
297
|
-
this.backdropClass = 'cdk-overlay-dark-backdrop';
|
|
298
|
-
/**
|
|
299
|
-
* Whether the overlay should be disposed of when the user goes backwards/forwards in history.
|
|
300
|
-
* Note that this usually doesn't include clicking on links (unless the user is using
|
|
301
|
-
* the `HashLocationStrategy`).
|
|
302
|
-
*/
|
|
303
|
-
this.disposeOnNavigation = false;
|
|
304
336
|
if (config) {
|
|
305
337
|
// Use `Iterable` instead of `Array` because TypeScript, as of 3.6.3,
|
|
306
338
|
// loses the array generic type in the `for of`. But we *also* have to use `Array` because
|
|
@@ -323,6 +355,17 @@ class OverlayConfig {
|
|
|
323
355
|
|
|
324
356
|
/** The points of the origin element and the overlay element to connect. */
|
|
325
357
|
class ConnectionPositionPair {
|
|
358
|
+
offsetX;
|
|
359
|
+
offsetY;
|
|
360
|
+
panelClass;
|
|
361
|
+
/** X-axis attachment point for connected overlay origin. Can be 'start', 'end', or 'center'. */
|
|
362
|
+
originX;
|
|
363
|
+
/** Y-axis attachment point for connected overlay origin. Can be 'top', 'bottom', or 'center'. */
|
|
364
|
+
originY;
|
|
365
|
+
/** X-axis attachment point for connected overlay. Can be 'start', 'end', or 'center'. */
|
|
366
|
+
overlayX;
|
|
367
|
+
/** Y-axis attachment point for connected overlay. Can be 'top', 'bottom', or 'center'. */
|
|
368
|
+
overlayY;
|
|
326
369
|
constructor(origin, overlay,
|
|
327
370
|
/** Offset along the X axis. */
|
|
328
371
|
offsetX,
|
|
@@ -365,9 +408,15 @@ class ConnectionPositionPair {
|
|
|
365
408
|
* @docs-private
|
|
366
409
|
*/
|
|
367
410
|
class ScrollingVisibility {
|
|
411
|
+
isOriginClipped;
|
|
412
|
+
isOriginOutsideView;
|
|
413
|
+
isOverlayClipped;
|
|
414
|
+
isOverlayOutsideView;
|
|
368
415
|
}
|
|
369
416
|
/** The change event emitted by the strategy when a fallback position is used. */
|
|
370
417
|
class ConnectedOverlayPositionChange {
|
|
418
|
+
connectionPair;
|
|
419
|
+
scrollableViewProperties;
|
|
371
420
|
constructor(
|
|
372
421
|
/** The position used as a result of this change. */
|
|
373
422
|
connectionPair,
|
|
@@ -408,11 +457,11 @@ function validateHorizontalPosition(property, value) {
|
|
|
408
457
|
* on event target and order of overlay opens.
|
|
409
458
|
*/
|
|
410
459
|
class BaseOverlayDispatcher {
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
}
|
|
460
|
+
/** Currently attached overlays in the order they were attached. */
|
|
461
|
+
_attachedOverlays = [];
|
|
462
|
+
_document = inject(DOCUMENT);
|
|
463
|
+
_isAttached;
|
|
464
|
+
constructor() { }
|
|
416
465
|
ngOnDestroy() {
|
|
417
466
|
this.detach();
|
|
418
467
|
}
|
|
@@ -433,10 +482,10 @@ class BaseOverlayDispatcher {
|
|
|
433
482
|
this.detach();
|
|
434
483
|
}
|
|
435
484
|
}
|
|
436
|
-
static
|
|
437
|
-
static
|
|
485
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-next.10", ngImport: i0, type: BaseOverlayDispatcher, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
486
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.0-next.10", ngImport: i0, type: BaseOverlayDispatcher, providedIn: 'root' });
|
|
438
487
|
}
|
|
439
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.
|
|
488
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.10", ngImport: i0, type: BaseOverlayDispatcher, decorators: [{
|
|
440
489
|
type: Injectable,
|
|
441
490
|
args: [{ providedIn: 'root' }]
|
|
442
491
|
}], ctorParameters: () => [] });
|
|
@@ -447,33 +496,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.8",
|
|
|
447
496
|
* on event target and order of overlay opens.
|
|
448
497
|
*/
|
|
449
498
|
class OverlayKeyboardDispatcher extends BaseOverlayDispatcher {
|
|
450
|
-
|
|
451
|
-
super(...arguments);
|
|
452
|
-
this._ngZone = inject(NgZone, { optional: true });
|
|
453
|
-
/** Keyboard event listener that will be attached to the body. */
|
|
454
|
-
this._keydownListener = (event) => {
|
|
455
|
-
const overlays = this._attachedOverlays;
|
|
456
|
-
for (let i = overlays.length - 1; i > -1; i--) {
|
|
457
|
-
// Dispatch the keydown event to the top overlay which has subscribers to its keydown events.
|
|
458
|
-
// We want to target the most recent overlay, rather than trying to match where the event came
|
|
459
|
-
// from, because some components might open an overlay, but keep focus on a trigger element
|
|
460
|
-
// (e.g. for select and autocomplete). We skip overlays without keydown event subscriptions,
|
|
461
|
-
// because we don't want overlays that don't handle keyboard events to block the ones below
|
|
462
|
-
// them that do.
|
|
463
|
-
if (overlays[i]._keydownEvents.observers.length > 0) {
|
|
464
|
-
const keydownEvents = overlays[i]._keydownEvents;
|
|
465
|
-
/** @breaking-change 14.0.0 _ngZone will be required. */
|
|
466
|
-
if (this._ngZone) {
|
|
467
|
-
this._ngZone.run(() => keydownEvents.next(event));
|
|
468
|
-
}
|
|
469
|
-
else {
|
|
470
|
-
keydownEvents.next(event);
|
|
471
|
-
}
|
|
472
|
-
break;
|
|
473
|
-
}
|
|
474
|
-
}
|
|
475
|
-
};
|
|
476
|
-
}
|
|
499
|
+
_ngZone = inject(NgZone, { optional: true });
|
|
477
500
|
/** Add a new overlay to the list of attached overlay refs. */
|
|
478
501
|
add(overlayRef) {
|
|
479
502
|
super.add(overlayRef);
|
|
@@ -496,10 +519,33 @@ class OverlayKeyboardDispatcher extends BaseOverlayDispatcher {
|
|
|
496
519
|
this._isAttached = false;
|
|
497
520
|
}
|
|
498
521
|
}
|
|
499
|
-
|
|
500
|
-
|
|
522
|
+
/** Keyboard event listener that will be attached to the body. */
|
|
523
|
+
_keydownListener = (event) => {
|
|
524
|
+
const overlays = this._attachedOverlays;
|
|
525
|
+
for (let i = overlays.length - 1; i > -1; i--) {
|
|
526
|
+
// Dispatch the keydown event to the top overlay which has subscribers to its keydown events.
|
|
527
|
+
// We want to target the most recent overlay, rather than trying to match where the event came
|
|
528
|
+
// from, because some components might open an overlay, but keep focus on a trigger element
|
|
529
|
+
// (e.g. for select and autocomplete). We skip overlays without keydown event subscriptions,
|
|
530
|
+
// because we don't want overlays that don't handle keyboard events to block the ones below
|
|
531
|
+
// them that do.
|
|
532
|
+
if (overlays[i]._keydownEvents.observers.length > 0) {
|
|
533
|
+
const keydownEvents = overlays[i]._keydownEvents;
|
|
534
|
+
/** @breaking-change 14.0.0 _ngZone will be required. */
|
|
535
|
+
if (this._ngZone) {
|
|
536
|
+
this._ngZone.run(() => keydownEvents.next(event));
|
|
537
|
+
}
|
|
538
|
+
else {
|
|
539
|
+
keydownEvents.next(event);
|
|
540
|
+
}
|
|
541
|
+
break;
|
|
542
|
+
}
|
|
543
|
+
}
|
|
544
|
+
};
|
|
545
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-next.10", ngImport: i0, type: OverlayKeyboardDispatcher, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
546
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.0-next.10", ngImport: i0, type: OverlayKeyboardDispatcher, providedIn: 'root' });
|
|
501
547
|
}
|
|
502
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.
|
|
548
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.10", ngImport: i0, type: OverlayKeyboardDispatcher, decorators: [{
|
|
503
549
|
type: Injectable,
|
|
504
550
|
args: [{ providedIn: 'root' }]
|
|
505
551
|
}] });
|
|
@@ -510,61 +556,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.8",
|
|
|
510
556
|
* on event target and order of overlay opens.
|
|
511
557
|
*/
|
|
512
558
|
class OverlayOutsideClickDispatcher extends BaseOverlayDispatcher {
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
/** Store pointerdown event target to track origin of click. */
|
|
519
|
-
this._pointerDownListener = (event) => {
|
|
520
|
-
this._pointerDownEventTarget = _getEventTarget(event);
|
|
521
|
-
};
|
|
522
|
-
/** Click event listener that will be attached to the body propagate phase. */
|
|
523
|
-
this._clickListener = (event) => {
|
|
524
|
-
const target = _getEventTarget(event);
|
|
525
|
-
// In case of a click event, we want to check the origin of the click
|
|
526
|
-
// (e.g. in case where a user starts a click inside the overlay and
|
|
527
|
-
// releases the click outside of it).
|
|
528
|
-
// This is done by using the event target of the preceding pointerdown event.
|
|
529
|
-
// Every click event caused by a pointer device has a preceding pointerdown
|
|
530
|
-
// event, unless the click was programmatically triggered (e.g. in a unit test).
|
|
531
|
-
const origin = event.type === 'click' && this._pointerDownEventTarget
|
|
532
|
-
? this._pointerDownEventTarget
|
|
533
|
-
: target;
|
|
534
|
-
// Reset the stored pointerdown event target, to avoid having it interfere
|
|
535
|
-
// in subsequent events.
|
|
536
|
-
this._pointerDownEventTarget = null;
|
|
537
|
-
// We copy the array because the original may be modified asynchronously if the
|
|
538
|
-
// outsidePointerEvents listener decides to detach overlays resulting in index errors inside
|
|
539
|
-
// the for loop.
|
|
540
|
-
const overlays = this._attachedOverlays.slice();
|
|
541
|
-
// Dispatch the mouse event to the top overlay which has subscribers to its mouse events.
|
|
542
|
-
// We want to target all overlays for which the click could be considered as outside click.
|
|
543
|
-
// As soon as we reach an overlay for which the click is not outside click we break off
|
|
544
|
-
// the loop.
|
|
545
|
-
for (let i = overlays.length - 1; i > -1; i--) {
|
|
546
|
-
const overlayRef = overlays[i];
|
|
547
|
-
if (overlayRef._outsidePointerEvents.observers.length < 1 || !overlayRef.hasAttached()) {
|
|
548
|
-
continue;
|
|
549
|
-
}
|
|
550
|
-
// If it's a click inside the overlay, just break - we should do nothing
|
|
551
|
-
// If it's an outside click (both origin and target of the click) dispatch the mouse event,
|
|
552
|
-
// and proceed with the next overlay
|
|
553
|
-
if (containsPierceShadowDom(overlayRef.overlayElement, target) ||
|
|
554
|
-
containsPierceShadowDom(overlayRef.overlayElement, origin)) {
|
|
555
|
-
break;
|
|
556
|
-
}
|
|
557
|
-
const outsidePointerEvents = overlayRef._outsidePointerEvents;
|
|
558
|
-
/** @breaking-change 14.0.0 _ngZone will be required. */
|
|
559
|
-
if (this._ngZone) {
|
|
560
|
-
this._ngZone.run(() => outsidePointerEvents.next(event));
|
|
561
|
-
}
|
|
562
|
-
else {
|
|
563
|
-
outsidePointerEvents.next(event);
|
|
564
|
-
}
|
|
565
|
-
}
|
|
566
|
-
};
|
|
567
|
-
}
|
|
559
|
+
_platform = inject(Platform);
|
|
560
|
+
_ngZone = inject(NgZone, { optional: true });
|
|
561
|
+
_cursorOriginalValue;
|
|
562
|
+
_cursorStyleIsSet = false;
|
|
563
|
+
_pointerDownEventTarget;
|
|
568
564
|
/** Add a new overlay to the list of attached overlay refs. */
|
|
569
565
|
add(overlayRef) {
|
|
570
566
|
super.add(overlayRef);
|
|
@@ -614,10 +610,59 @@ class OverlayOutsideClickDispatcher extends BaseOverlayDispatcher {
|
|
|
614
610
|
body.addEventListener('auxclick', this._clickListener, true);
|
|
615
611
|
body.addEventListener('contextmenu', this._clickListener, true);
|
|
616
612
|
}
|
|
617
|
-
|
|
618
|
-
|
|
613
|
+
/** Store pointerdown event target to track origin of click. */
|
|
614
|
+
_pointerDownListener = (event) => {
|
|
615
|
+
this._pointerDownEventTarget = _getEventTarget(event);
|
|
616
|
+
};
|
|
617
|
+
/** Click event listener that will be attached to the body propagate phase. */
|
|
618
|
+
_clickListener = (event) => {
|
|
619
|
+
const target = _getEventTarget(event);
|
|
620
|
+
// In case of a click event, we want to check the origin of the click
|
|
621
|
+
// (e.g. in case where a user starts a click inside the overlay and
|
|
622
|
+
// releases the click outside of it).
|
|
623
|
+
// This is done by using the event target of the preceding pointerdown event.
|
|
624
|
+
// Every click event caused by a pointer device has a preceding pointerdown
|
|
625
|
+
// event, unless the click was programmatically triggered (e.g. in a unit test).
|
|
626
|
+
const origin = event.type === 'click' && this._pointerDownEventTarget
|
|
627
|
+
? this._pointerDownEventTarget
|
|
628
|
+
: target;
|
|
629
|
+
// Reset the stored pointerdown event target, to avoid having it interfere
|
|
630
|
+
// in subsequent events.
|
|
631
|
+
this._pointerDownEventTarget = null;
|
|
632
|
+
// We copy the array because the original may be modified asynchronously if the
|
|
633
|
+
// outsidePointerEvents listener decides to detach overlays resulting in index errors inside
|
|
634
|
+
// the for loop.
|
|
635
|
+
const overlays = this._attachedOverlays.slice();
|
|
636
|
+
// Dispatch the mouse event to the top overlay which has subscribers to its mouse events.
|
|
637
|
+
// We want to target all overlays for which the click could be considered as outside click.
|
|
638
|
+
// As soon as we reach an overlay for which the click is not outside click we break off
|
|
639
|
+
// the loop.
|
|
640
|
+
for (let i = overlays.length - 1; i > -1; i--) {
|
|
641
|
+
const overlayRef = overlays[i];
|
|
642
|
+
if (overlayRef._outsidePointerEvents.observers.length < 1 || !overlayRef.hasAttached()) {
|
|
643
|
+
continue;
|
|
644
|
+
}
|
|
645
|
+
// If it's a click inside the overlay, just break - we should do nothing
|
|
646
|
+
// If it's an outside click (both origin and target of the click) dispatch the mouse event,
|
|
647
|
+
// and proceed with the next overlay
|
|
648
|
+
if (containsPierceShadowDom(overlayRef.overlayElement, target) ||
|
|
649
|
+
containsPierceShadowDom(overlayRef.overlayElement, origin)) {
|
|
650
|
+
break;
|
|
651
|
+
}
|
|
652
|
+
const outsidePointerEvents = overlayRef._outsidePointerEvents;
|
|
653
|
+
/** @breaking-change 14.0.0 _ngZone will be required. */
|
|
654
|
+
if (this._ngZone) {
|
|
655
|
+
this._ngZone.run(() => outsidePointerEvents.next(event));
|
|
656
|
+
}
|
|
657
|
+
else {
|
|
658
|
+
outsidePointerEvents.next(event);
|
|
659
|
+
}
|
|
660
|
+
}
|
|
661
|
+
};
|
|
662
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-next.10", ngImport: i0, type: OverlayOutsideClickDispatcher, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
663
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.0-next.10", ngImport: i0, type: OverlayOutsideClickDispatcher, providedIn: 'root' });
|
|
619
664
|
}
|
|
620
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.
|
|
665
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.10", ngImport: i0, type: OverlayOutsideClickDispatcher, decorators: [{
|
|
621
666
|
type: Injectable,
|
|
622
667
|
args: [{ providedIn: 'root' }]
|
|
623
668
|
}] });
|
|
@@ -636,20 +681,20 @@ function containsPierceShadowDom(parent, child) {
|
|
|
636
681
|
}
|
|
637
682
|
|
|
638
683
|
class _CdkOverlayStyleLoader {
|
|
639
|
-
static
|
|
640
|
-
static
|
|
684
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-next.10", ngImport: i0, type: _CdkOverlayStyleLoader, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
685
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.0-next.10", type: _CdkOverlayStyleLoader, isStandalone: true, selector: "ng-component", host: { attributes: { "cdk-overlay-style-loader": "" } }, ngImport: i0, template: '', isInline: true, styles: [".cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed}@layer cdk-overlay{.cdk-overlay-container{z-index:1000}}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute}@layer cdk-overlay{.cdk-global-overlay-wrapper{z-index:1000}}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;display:flex;max-width:100%;max-height:100%}@layer cdk-overlay{.cdk-overlay-pane{z-index:1000}}.cdk-overlay-backdrop{position:absolute;top:0;bottom:0;left:0;right:0;pointer-events:auto;-webkit-tap-highlight-color:rgba(0,0,0,0);opacity:0}@layer cdk-overlay{.cdk-overlay-backdrop{z-index:1000;transition:opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}}.cdk-overlay-backdrop-showing{opacity:1}@media(forced-colors: active){.cdk-overlay-backdrop-showing{opacity:.6}}@layer cdk-overlay{.cdk-overlay-dark-backdrop{background:rgba(0,0,0,.32)}}.cdk-overlay-transparent-backdrop{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing,.cdk-high-contrast-active .cdk-overlay-transparent-backdrop{opacity:0;visibility:visible}.cdk-overlay-backdrop-noop-animation{transition:none}.cdk-overlay-connected-position-bounding-box{position:absolute;display:flex;flex-direction:column;min-width:1px;min-height:1px}@layer cdk-overlay{.cdk-overlay-connected-position-bounding-box{z-index:1000}}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
641
686
|
}
|
|
642
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.
|
|
687
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.10", ngImport: i0, type: _CdkOverlayStyleLoader, decorators: [{
|
|
643
688
|
type: Component,
|
|
644
|
-
args: [{ template: '', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None,
|
|
689
|
+
args: [{ template: '', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: { 'cdk-overlay-style-loader': '' }, styles: [".cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed}@layer cdk-overlay{.cdk-overlay-container{z-index:1000}}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute}@layer cdk-overlay{.cdk-global-overlay-wrapper{z-index:1000}}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;display:flex;max-width:100%;max-height:100%}@layer cdk-overlay{.cdk-overlay-pane{z-index:1000}}.cdk-overlay-backdrop{position:absolute;top:0;bottom:0;left:0;right:0;pointer-events:auto;-webkit-tap-highlight-color:rgba(0,0,0,0);opacity:0}@layer cdk-overlay{.cdk-overlay-backdrop{z-index:1000;transition:opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}}.cdk-overlay-backdrop-showing{opacity:1}@media(forced-colors: active){.cdk-overlay-backdrop-showing{opacity:.6}}@layer cdk-overlay{.cdk-overlay-dark-backdrop{background:rgba(0,0,0,.32)}}.cdk-overlay-transparent-backdrop{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing,.cdk-high-contrast-active .cdk-overlay-transparent-backdrop{opacity:0;visibility:visible}.cdk-overlay-backdrop-noop-animation{transition:none}.cdk-overlay-connected-position-bounding-box{position:absolute;display:flex;flex-direction:column;min-width:1px;min-height:1px}@layer cdk-overlay{.cdk-overlay-connected-position-bounding-box{z-index:1000}}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}"] }]
|
|
645
690
|
}] });
|
|
646
691
|
/** Container inside which all overlays will render. */
|
|
647
692
|
class OverlayContainer {
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
}
|
|
693
|
+
_platform = inject(Platform);
|
|
694
|
+
_containerElement;
|
|
695
|
+
_document = inject(DOCUMENT);
|
|
696
|
+
_styleLoader = inject(_CdkPrivateStyleLoader);
|
|
697
|
+
constructor() { }
|
|
653
698
|
ngOnDestroy() {
|
|
654
699
|
this._containerElement?.remove();
|
|
655
700
|
}
|
|
@@ -707,10 +752,10 @@ class OverlayContainer {
|
|
|
707
752
|
_loadStyles() {
|
|
708
753
|
this._styleLoader.load(_CdkOverlayStyleLoader);
|
|
709
754
|
}
|
|
710
|
-
static
|
|
711
|
-
static
|
|
755
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-next.10", ngImport: i0, type: OverlayContainer, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
756
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.0-next.10", ngImport: i0, type: OverlayContainer, providedIn: 'root' });
|
|
712
757
|
}
|
|
713
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.
|
|
758
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.10", ngImport: i0, type: OverlayContainer, decorators: [{
|
|
714
759
|
type: Injectable,
|
|
715
760
|
args: [{ providedIn: 'root' }]
|
|
716
761
|
}], ctorParameters: () => [] });
|
|
@@ -720,6 +765,42 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.8",
|
|
|
720
765
|
* Used to manipulate or dispose of said overlay.
|
|
721
766
|
*/
|
|
722
767
|
class OverlayRef {
|
|
768
|
+
_portalOutlet;
|
|
769
|
+
_host;
|
|
770
|
+
_pane;
|
|
771
|
+
_config;
|
|
772
|
+
_ngZone;
|
|
773
|
+
_keyboardDispatcher;
|
|
774
|
+
_document;
|
|
775
|
+
_location;
|
|
776
|
+
_outsideClickDispatcher;
|
|
777
|
+
_animationsDisabled;
|
|
778
|
+
_injector;
|
|
779
|
+
_backdropElement = null;
|
|
780
|
+
_backdropTimeout;
|
|
781
|
+
_backdropClick = new Subject();
|
|
782
|
+
_attachments = new Subject();
|
|
783
|
+
_detachments = new Subject();
|
|
784
|
+
_positionStrategy;
|
|
785
|
+
_scrollStrategy;
|
|
786
|
+
_locationChanges = Subscription.EMPTY;
|
|
787
|
+
_backdropClickHandler = (event) => this._backdropClick.next(event);
|
|
788
|
+
_backdropTransitionendHandler = (event) => {
|
|
789
|
+
this._disposeBackdrop(event.target);
|
|
790
|
+
};
|
|
791
|
+
/**
|
|
792
|
+
* Reference to the parent of the `_host` at the time it was detached. Used to restore
|
|
793
|
+
* the `_host` to its original position in the DOM when it gets re-attached.
|
|
794
|
+
*/
|
|
795
|
+
_previousHostParent;
|
|
796
|
+
/** Stream of keydown events dispatched to this overlay. */
|
|
797
|
+
_keydownEvents = new Subject();
|
|
798
|
+
/** Stream of mouse outside events dispatched to this overlay. */
|
|
799
|
+
_outsidePointerEvents = new Subject();
|
|
800
|
+
_renders = new Subject();
|
|
801
|
+
_afterRenderRef;
|
|
802
|
+
/** Reference to the currently-running `afterNextRender` call. */
|
|
803
|
+
_afterNextRenderRef;
|
|
723
804
|
constructor(_portalOutlet, _host, _pane, _config, _ngZone, _keyboardDispatcher, _document, _location, _outsideClickDispatcher, _animationsDisabled = false, _injector) {
|
|
724
805
|
this._portalOutlet = _portalOutlet;
|
|
725
806
|
this._host = _host;
|
|
@@ -732,20 +813,6 @@ class OverlayRef {
|
|
|
732
813
|
this._outsideClickDispatcher = _outsideClickDispatcher;
|
|
733
814
|
this._animationsDisabled = _animationsDisabled;
|
|
734
815
|
this._injector = _injector;
|
|
735
|
-
this._backdropElement = null;
|
|
736
|
-
this._backdropClick = new Subject();
|
|
737
|
-
this._attachments = new Subject();
|
|
738
|
-
this._detachments = new Subject();
|
|
739
|
-
this._locationChanges = Subscription.EMPTY;
|
|
740
|
-
this._backdropClickHandler = (event) => this._backdropClick.next(event);
|
|
741
|
-
this._backdropTransitionendHandler = (event) => {
|
|
742
|
-
this._disposeBackdrop(event.target);
|
|
743
|
-
};
|
|
744
|
-
/** Stream of keydown events dispatched to this overlay. */
|
|
745
|
-
this._keydownEvents = new Subject();
|
|
746
|
-
/** Stream of mouse outside events dispatched to this overlay. */
|
|
747
|
-
this._outsidePointerEvents = new Subject();
|
|
748
|
-
this._renders = new Subject();
|
|
749
816
|
if (_config.scrollStrategy) {
|
|
750
817
|
this._scrollStrategy = _config.scrollStrategy;
|
|
751
818
|
this._scrollStrategy.attach(this);
|
|
@@ -1160,6 +1227,71 @@ const cssUnitPattern = /([A-Za-z%]+)$/;
|
|
|
1160
1227
|
* of the overlay.
|
|
1161
1228
|
*/
|
|
1162
1229
|
class FlexibleConnectedPositionStrategy {
|
|
1230
|
+
_viewportRuler;
|
|
1231
|
+
_document;
|
|
1232
|
+
_platform;
|
|
1233
|
+
_overlayContainer;
|
|
1234
|
+
/** The overlay to which this strategy is attached. */
|
|
1235
|
+
_overlayRef;
|
|
1236
|
+
/** Whether we're performing the very first positioning of the overlay. */
|
|
1237
|
+
_isInitialRender;
|
|
1238
|
+
/** Last size used for the bounding box. Used to avoid resizing the overlay after open. */
|
|
1239
|
+
_lastBoundingBoxSize = { width: 0, height: 0 };
|
|
1240
|
+
/** Whether the overlay was pushed in a previous positioning. */
|
|
1241
|
+
_isPushed = false;
|
|
1242
|
+
/** Whether the overlay can be pushed on-screen on the initial open. */
|
|
1243
|
+
_canPush = true;
|
|
1244
|
+
/** Whether the overlay can grow via flexible width/height after the initial open. */
|
|
1245
|
+
_growAfterOpen = false;
|
|
1246
|
+
/** Whether the overlay's width and height can be constrained to fit within the viewport. */
|
|
1247
|
+
_hasFlexibleDimensions = true;
|
|
1248
|
+
/** Whether the overlay position is locked. */
|
|
1249
|
+
_positionLocked = false;
|
|
1250
|
+
/** Cached origin dimensions */
|
|
1251
|
+
_originRect;
|
|
1252
|
+
/** Cached overlay dimensions */
|
|
1253
|
+
_overlayRect;
|
|
1254
|
+
/** Cached viewport dimensions */
|
|
1255
|
+
_viewportRect;
|
|
1256
|
+
/** Cached container dimensions */
|
|
1257
|
+
_containerRect;
|
|
1258
|
+
/** Amount of space that must be maintained between the overlay and the edge of the viewport. */
|
|
1259
|
+
_viewportMargin = 0;
|
|
1260
|
+
/** The Scrollable containers used to check scrollable view properties on position change. */
|
|
1261
|
+
_scrollables = [];
|
|
1262
|
+
/** Ordered list of preferred positions, from most to least desirable. */
|
|
1263
|
+
_preferredPositions = [];
|
|
1264
|
+
/** The origin element against which the overlay will be positioned. */
|
|
1265
|
+
_origin;
|
|
1266
|
+
/** The overlay pane element. */
|
|
1267
|
+
_pane;
|
|
1268
|
+
/** Whether the strategy has been disposed of already. */
|
|
1269
|
+
_isDisposed;
|
|
1270
|
+
/**
|
|
1271
|
+
* Parent element for the overlay panel used to constrain the overlay panel's size to fit
|
|
1272
|
+
* within the viewport.
|
|
1273
|
+
*/
|
|
1274
|
+
_boundingBox;
|
|
1275
|
+
/** The last position to have been calculated as the best fit position. */
|
|
1276
|
+
_lastPosition;
|
|
1277
|
+
/** The last calculated scroll visibility. Only tracked */
|
|
1278
|
+
_lastScrollVisibility;
|
|
1279
|
+
/** Subject that emits whenever the position changes. */
|
|
1280
|
+
_positionChanges = new Subject();
|
|
1281
|
+
/** Subscription to viewport size changes. */
|
|
1282
|
+
_resizeSubscription = Subscription.EMPTY;
|
|
1283
|
+
/** Default offset for the overlay along the x axis. */
|
|
1284
|
+
_offsetX = 0;
|
|
1285
|
+
/** Default offset for the overlay along the y axis. */
|
|
1286
|
+
_offsetY = 0;
|
|
1287
|
+
/** Selector to be used when finding the elements on which to set the transform origin. */
|
|
1288
|
+
_transformOriginSelector;
|
|
1289
|
+
/** Keeps track of the CSS classes that the position strategy has applied on the overlay panel. */
|
|
1290
|
+
_appliedPanelClasses = [];
|
|
1291
|
+
/** Amount by which the overlay was pushed in each axis during the last time it was positioned. */
|
|
1292
|
+
_previousPushAmount;
|
|
1293
|
+
/** Observable sequence of position changes. */
|
|
1294
|
+
positionChanges = this._positionChanges;
|
|
1163
1295
|
/** Ordered list of preferred positions, from most to least desirable. */
|
|
1164
1296
|
get positions() {
|
|
1165
1297
|
return this._preferredPositions;
|
|
@@ -1169,36 +1301,6 @@ class FlexibleConnectedPositionStrategy {
|
|
|
1169
1301
|
this._document = _document;
|
|
1170
1302
|
this._platform = _platform;
|
|
1171
1303
|
this._overlayContainer = _overlayContainer;
|
|
1172
|
-
/** Last size used for the bounding box. Used to avoid resizing the overlay after open. */
|
|
1173
|
-
this._lastBoundingBoxSize = { width: 0, height: 0 };
|
|
1174
|
-
/** Whether the overlay was pushed in a previous positioning. */
|
|
1175
|
-
this._isPushed = false;
|
|
1176
|
-
/** Whether the overlay can be pushed on-screen on the initial open. */
|
|
1177
|
-
this._canPush = true;
|
|
1178
|
-
/** Whether the overlay can grow via flexible width/height after the initial open. */
|
|
1179
|
-
this._growAfterOpen = false;
|
|
1180
|
-
/** Whether the overlay's width and height can be constrained to fit within the viewport. */
|
|
1181
|
-
this._hasFlexibleDimensions = true;
|
|
1182
|
-
/** Whether the overlay position is locked. */
|
|
1183
|
-
this._positionLocked = false;
|
|
1184
|
-
/** Amount of space that must be maintained between the overlay and the edge of the viewport. */
|
|
1185
|
-
this._viewportMargin = 0;
|
|
1186
|
-
/** The Scrollable containers used to check scrollable view properties on position change. */
|
|
1187
|
-
this._scrollables = [];
|
|
1188
|
-
/** Ordered list of preferred positions, from most to least desirable. */
|
|
1189
|
-
this._preferredPositions = [];
|
|
1190
|
-
/** Subject that emits whenever the position changes. */
|
|
1191
|
-
this._positionChanges = new Subject();
|
|
1192
|
-
/** Subscription to viewport size changes. */
|
|
1193
|
-
this._resizeSubscription = Subscription.EMPTY;
|
|
1194
|
-
/** Default offset for the overlay along the x axis. */
|
|
1195
|
-
this._offsetX = 0;
|
|
1196
|
-
/** Default offset for the overlay along the y axis. */
|
|
1197
|
-
this._offsetY = 0;
|
|
1198
|
-
/** Keeps track of the CSS classes that the position strategy has applied on the overlay panel. */
|
|
1199
|
-
this._appliedPanelClasses = [];
|
|
1200
|
-
/** Observable sequence of position changes. */
|
|
1201
|
-
this.positionChanges = this._positionChanges;
|
|
1202
1304
|
this.setOrigin(connectedTo);
|
|
1203
1305
|
}
|
|
1204
1306
|
/** Attaches this position strategy to an overlay. */
|
|
@@ -2145,17 +2247,17 @@ const wrapperClass = 'cdk-global-overlay-wrapper';
|
|
|
2145
2247
|
* element to become blurry.
|
|
2146
2248
|
*/
|
|
2147
2249
|
class GlobalPositionStrategy {
|
|
2148
|
-
|
|
2149
|
-
|
|
2150
|
-
|
|
2151
|
-
|
|
2152
|
-
|
|
2153
|
-
|
|
2154
|
-
|
|
2155
|
-
|
|
2156
|
-
|
|
2157
|
-
|
|
2158
|
-
|
|
2250
|
+
/** The overlay to which this strategy is attached. */
|
|
2251
|
+
_overlayRef;
|
|
2252
|
+
_cssPosition = 'static';
|
|
2253
|
+
_topOffset = '';
|
|
2254
|
+
_bottomOffset = '';
|
|
2255
|
+
_alignItems = '';
|
|
2256
|
+
_xPosition = '';
|
|
2257
|
+
_xOffset = '';
|
|
2258
|
+
_width = '';
|
|
2259
|
+
_height = '';
|
|
2260
|
+
_isDisposed = false;
|
|
2159
2261
|
attach(overlayRef) {
|
|
2160
2262
|
const config = overlayRef.getConfig();
|
|
2161
2263
|
this._overlayRef = overlayRef;
|
|
@@ -2368,12 +2470,11 @@ class GlobalPositionStrategy {
|
|
|
2368
2470
|
|
|
2369
2471
|
/** Builder for overlay position strategy. */
|
|
2370
2472
|
class OverlayPositionBuilder {
|
|
2371
|
-
|
|
2372
|
-
|
|
2373
|
-
|
|
2374
|
-
|
|
2375
|
-
|
|
2376
|
-
}
|
|
2473
|
+
_viewportRuler = inject(ViewportRuler);
|
|
2474
|
+
_document = inject(DOCUMENT);
|
|
2475
|
+
_platform = inject(Platform);
|
|
2476
|
+
_overlayContainer = inject(OverlayContainer);
|
|
2477
|
+
constructor() { }
|
|
2377
2478
|
/**
|
|
2378
2479
|
* Creates a global position strategy.
|
|
2379
2480
|
*/
|
|
@@ -2387,10 +2488,10 @@ class OverlayPositionBuilder {
|
|
|
2387
2488
|
flexibleConnectedTo(origin) {
|
|
2388
2489
|
return new FlexibleConnectedPositionStrategy(origin, this._viewportRuler, this._document, this._platform, this._overlayContainer);
|
|
2389
2490
|
}
|
|
2390
|
-
static
|
|
2391
|
-
static
|
|
2491
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-next.10", ngImport: i0, type: OverlayPositionBuilder, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
2492
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.0-next.10", ngImport: i0, type: OverlayPositionBuilder, providedIn: 'root' });
|
|
2392
2493
|
}
|
|
2393
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.
|
|
2494
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.10", ngImport: i0, type: OverlayPositionBuilder, decorators: [{
|
|
2394
2495
|
type: Injectable,
|
|
2395
2496
|
args: [{ providedIn: 'root' }]
|
|
2396
2497
|
}], ctorParameters: () => [] });
|
|
@@ -2406,20 +2507,20 @@ let nextUniqueId = 0;
|
|
|
2406
2507
|
* An overlay *is* a PortalOutlet, so any kind of Portal can be loaded into one.
|
|
2407
2508
|
*/
|
|
2408
2509
|
class Overlay {
|
|
2409
|
-
|
|
2410
|
-
|
|
2411
|
-
|
|
2412
|
-
|
|
2413
|
-
|
|
2414
|
-
|
|
2415
|
-
|
|
2416
|
-
|
|
2417
|
-
|
|
2418
|
-
|
|
2419
|
-
|
|
2420
|
-
|
|
2421
|
-
|
|
2422
|
-
}
|
|
2510
|
+
scrollStrategies = inject(ScrollStrategyOptions);
|
|
2511
|
+
_overlayContainer = inject(OverlayContainer);
|
|
2512
|
+
_positionBuilder = inject(OverlayPositionBuilder);
|
|
2513
|
+
_keyboardDispatcher = inject(OverlayKeyboardDispatcher);
|
|
2514
|
+
_injector = inject(Injector);
|
|
2515
|
+
_ngZone = inject(NgZone);
|
|
2516
|
+
_document = inject(DOCUMENT);
|
|
2517
|
+
_directionality = inject(Directionality);
|
|
2518
|
+
_location = inject(Location);
|
|
2519
|
+
_outsideClickDispatcher = inject(OverlayOutsideClickDispatcher);
|
|
2520
|
+
_animationsModuleType = inject(ANIMATION_MODULE_TYPE, { optional: true });
|
|
2521
|
+
_appRef;
|
|
2522
|
+
_styleLoader = inject(_CdkPrivateStyleLoader);
|
|
2523
|
+
constructor() { }
|
|
2423
2524
|
/**
|
|
2424
2525
|
* Creates an overlay.
|
|
2425
2526
|
* @param config Configuration applied to the overlay.
|
|
@@ -2478,10 +2579,10 @@ class Overlay {
|
|
|
2478
2579
|
}
|
|
2479
2580
|
return new DomPortalOutlet(pane, null, this._appRef, this._injector, this._document);
|
|
2480
2581
|
}
|
|
2481
|
-
static
|
|
2482
|
-
static
|
|
2582
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-next.10", ngImport: i0, type: Overlay, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
2583
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.0-next.10", ngImport: i0, type: Overlay, providedIn: 'root' });
|
|
2483
2584
|
}
|
|
2484
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.
|
|
2585
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.10", ngImport: i0, type: Overlay, decorators: [{
|
|
2485
2586
|
type: Injectable,
|
|
2486
2587
|
args: [{ providedIn: 'root' }]
|
|
2487
2588
|
}], ctorParameters: () => [] });
|
|
@@ -2526,18 +2627,16 @@ const CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY = new InjectionToken('cdk-connected-
|
|
|
2526
2627
|
* ConnectedPositionStrategy.
|
|
2527
2628
|
*/
|
|
2528
2629
|
class CdkOverlayOrigin {
|
|
2529
|
-
|
|
2530
|
-
|
|
2531
|
-
}
|
|
2532
|
-
static
|
|
2533
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.0-next.8", type: CdkOverlayOrigin, isStandalone: true, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"], ngImport: i0 }); }
|
|
2630
|
+
elementRef = inject(ElementRef);
|
|
2631
|
+
constructor() { }
|
|
2632
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-next.10", ngImport: i0, type: CdkOverlayOrigin, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
2633
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.0-next.10", type: CdkOverlayOrigin, isStandalone: true, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"], ngImport: i0 });
|
|
2534
2634
|
}
|
|
2535
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.
|
|
2635
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.10", ngImport: i0, type: CdkOverlayOrigin, decorators: [{
|
|
2536
2636
|
type: Directive,
|
|
2537
2637
|
args: [{
|
|
2538
2638
|
selector: '[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]',
|
|
2539
2639
|
exportAs: 'cdkOverlayOrigin',
|
|
2540
|
-
standalone: true,
|
|
2541
2640
|
}]
|
|
2542
2641
|
}], ctorParameters: () => [] });
|
|
2543
2642
|
/**
|
|
@@ -2545,6 +2644,29 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.8",
|
|
|
2545
2644
|
* Overlay using a FlexibleConnectedPositionStrategy.
|
|
2546
2645
|
*/
|
|
2547
2646
|
class CdkConnectedOverlay {
|
|
2647
|
+
_overlay = inject(Overlay);
|
|
2648
|
+
_dir = inject(Directionality, { optional: true });
|
|
2649
|
+
_overlayRef;
|
|
2650
|
+
_templatePortal;
|
|
2651
|
+
_backdropSubscription = Subscription.EMPTY;
|
|
2652
|
+
_attachSubscription = Subscription.EMPTY;
|
|
2653
|
+
_detachSubscription = Subscription.EMPTY;
|
|
2654
|
+
_positionSubscription = Subscription.EMPTY;
|
|
2655
|
+
_offsetX;
|
|
2656
|
+
_offsetY;
|
|
2657
|
+
_position;
|
|
2658
|
+
_scrollStrategyFactory = inject(CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY);
|
|
2659
|
+
_disposeOnNavigation = false;
|
|
2660
|
+
_ngZone = inject(NgZone);
|
|
2661
|
+
/** Origin for the connected overlay. */
|
|
2662
|
+
origin;
|
|
2663
|
+
/** Registered connected position pairs. */
|
|
2664
|
+
positions;
|
|
2665
|
+
/**
|
|
2666
|
+
* This input overrides the positions input if specified. It lets users pass
|
|
2667
|
+
* in arbitrary positioning strategies.
|
|
2668
|
+
*/
|
|
2669
|
+
positionStrategy;
|
|
2548
2670
|
/** The offset in pixels for the overlay connection point on the x-axis */
|
|
2549
2671
|
get offsetX() {
|
|
2550
2672
|
return this._offsetX;
|
|
@@ -2565,6 +2687,38 @@ class CdkConnectedOverlay {
|
|
|
2565
2687
|
this._updatePositionStrategy(this._position);
|
|
2566
2688
|
}
|
|
2567
2689
|
}
|
|
2690
|
+
/** The width of the overlay panel. */
|
|
2691
|
+
width;
|
|
2692
|
+
/** The height of the overlay panel. */
|
|
2693
|
+
height;
|
|
2694
|
+
/** The min width of the overlay panel. */
|
|
2695
|
+
minWidth;
|
|
2696
|
+
/** The min height of the overlay panel. */
|
|
2697
|
+
minHeight;
|
|
2698
|
+
/** The custom class to be set on the backdrop element. */
|
|
2699
|
+
backdropClass;
|
|
2700
|
+
/** The custom class to add to the overlay pane element. */
|
|
2701
|
+
panelClass;
|
|
2702
|
+
/** Margin between the overlay and the viewport edges. */
|
|
2703
|
+
viewportMargin = 0;
|
|
2704
|
+
/** Strategy to be used when handling scroll events while the overlay is open. */
|
|
2705
|
+
scrollStrategy;
|
|
2706
|
+
/** Whether the overlay is open. */
|
|
2707
|
+
open = false;
|
|
2708
|
+
/** Whether the overlay can be closed by user interaction. */
|
|
2709
|
+
disableClose = false;
|
|
2710
|
+
/** CSS selector which to set the transform origin. */
|
|
2711
|
+
transformOriginSelector;
|
|
2712
|
+
/** Whether or not the overlay should attach a backdrop. */
|
|
2713
|
+
hasBackdrop = false;
|
|
2714
|
+
/** Whether or not the overlay should be locked when scrolling. */
|
|
2715
|
+
lockPosition = false;
|
|
2716
|
+
/** Whether the overlay's width and height can be constrained to fit within the viewport. */
|
|
2717
|
+
flexibleDimensions = false;
|
|
2718
|
+
/** Whether the overlay can grow after the initial open when flexible positioning is turned on. */
|
|
2719
|
+
growAfterOpen = false;
|
|
2720
|
+
/** Whether the overlay can be pushed on-screen if none of the provided positions fit. */
|
|
2721
|
+
push = false;
|
|
2568
2722
|
/** Whether the overlay should be disposed of when the user goes backwards/forwards in history. */
|
|
2569
2723
|
get disposeOnNavigation() {
|
|
2570
2724
|
return this._disposeOnNavigation;
|
|
@@ -2572,45 +2726,20 @@ class CdkConnectedOverlay {
|
|
|
2572
2726
|
set disposeOnNavigation(value) {
|
|
2573
2727
|
this._disposeOnNavigation = value;
|
|
2574
2728
|
}
|
|
2729
|
+
/** Event emitted when the backdrop is clicked. */
|
|
2730
|
+
backdropClick = new EventEmitter();
|
|
2731
|
+
/** Event emitted when the position has changed. */
|
|
2732
|
+
positionChange = new EventEmitter();
|
|
2733
|
+
/** Event emitted when the overlay has been attached. */
|
|
2734
|
+
attach = new EventEmitter();
|
|
2735
|
+
/** Event emitted when the overlay has been detached. */
|
|
2736
|
+
detach = new EventEmitter();
|
|
2737
|
+
/** Emits when there are keyboard events that are targeted at the overlay. */
|
|
2738
|
+
overlayKeydown = new EventEmitter();
|
|
2739
|
+
/** Emits when there are mouse outside click events that are targeted at the overlay. */
|
|
2740
|
+
overlayOutsideClick = new EventEmitter();
|
|
2575
2741
|
// TODO(jelbourn): inputs for size, scroll behavior, animation, etc.
|
|
2576
2742
|
constructor() {
|
|
2577
|
-
this._overlay = inject(Overlay);
|
|
2578
|
-
this._dir = inject(Directionality, { optional: true });
|
|
2579
|
-
this._backdropSubscription = Subscription.EMPTY;
|
|
2580
|
-
this._attachSubscription = Subscription.EMPTY;
|
|
2581
|
-
this._detachSubscription = Subscription.EMPTY;
|
|
2582
|
-
this._positionSubscription = Subscription.EMPTY;
|
|
2583
|
-
this._scrollStrategyFactory = inject(CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY);
|
|
2584
|
-
this._disposeOnNavigation = false;
|
|
2585
|
-
this._ngZone = inject(NgZone);
|
|
2586
|
-
/** Margin between the overlay and the viewport edges. */
|
|
2587
|
-
this.viewportMargin = 0;
|
|
2588
|
-
/** Whether the overlay is open. */
|
|
2589
|
-
this.open = false;
|
|
2590
|
-
/** Whether the overlay can be closed by user interaction. */
|
|
2591
|
-
this.disableClose = false;
|
|
2592
|
-
/** Whether or not the overlay should attach a backdrop. */
|
|
2593
|
-
this.hasBackdrop = false;
|
|
2594
|
-
/** Whether or not the overlay should be locked when scrolling. */
|
|
2595
|
-
this.lockPosition = false;
|
|
2596
|
-
/** Whether the overlay's width and height can be constrained to fit within the viewport. */
|
|
2597
|
-
this.flexibleDimensions = false;
|
|
2598
|
-
/** Whether the overlay can grow after the initial open when flexible positioning is turned on. */
|
|
2599
|
-
this.growAfterOpen = false;
|
|
2600
|
-
/** Whether the overlay can be pushed on-screen if none of the provided positions fit. */
|
|
2601
|
-
this.push = false;
|
|
2602
|
-
/** Event emitted when the backdrop is clicked. */
|
|
2603
|
-
this.backdropClick = new EventEmitter();
|
|
2604
|
-
/** Event emitted when the position has changed. */
|
|
2605
|
-
this.positionChange = new EventEmitter();
|
|
2606
|
-
/** Event emitted when the overlay has been attached. */
|
|
2607
|
-
this.attach = new EventEmitter();
|
|
2608
|
-
/** Event emitted when the overlay has been detached. */
|
|
2609
|
-
this.detach = new EventEmitter();
|
|
2610
|
-
/** Emits when there are keyboard events that are targeted at the overlay. */
|
|
2611
|
-
this.overlayKeydown = new EventEmitter();
|
|
2612
|
-
/** Emits when there are mouse outside click events that are targeted at the overlay. */
|
|
2613
|
-
this.overlayOutsideClick = new EventEmitter();
|
|
2614
2743
|
const templateRef = inject(TemplateRef);
|
|
2615
2744
|
const viewContainerRef = inject(ViewContainerRef);
|
|
2616
2745
|
this._templatePortal = new TemplatePortal(templateRef, viewContainerRef);
|
|
@@ -2793,15 +2922,14 @@ class CdkConnectedOverlay {
|
|
|
2793
2922
|
this._backdropSubscription.unsubscribe();
|
|
2794
2923
|
this._positionSubscription.unsubscribe();
|
|
2795
2924
|
}
|
|
2796
|
-
static
|
|
2797
|
-
static
|
|
2925
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-next.10", ngImport: i0, type: CdkConnectedOverlay, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
2926
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "19.0.0-next.10", type: CdkConnectedOverlay, isStandalone: true, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: { origin: ["cdkConnectedOverlayOrigin", "origin"], positions: ["cdkConnectedOverlayPositions", "positions"], positionStrategy: ["cdkConnectedOverlayPositionStrategy", "positionStrategy"], offsetX: ["cdkConnectedOverlayOffsetX", "offsetX"], offsetY: ["cdkConnectedOverlayOffsetY", "offsetY"], width: ["cdkConnectedOverlayWidth", "width"], height: ["cdkConnectedOverlayHeight", "height"], minWidth: ["cdkConnectedOverlayMinWidth", "minWidth"], minHeight: ["cdkConnectedOverlayMinHeight", "minHeight"], backdropClass: ["cdkConnectedOverlayBackdropClass", "backdropClass"], panelClass: ["cdkConnectedOverlayPanelClass", "panelClass"], viewportMargin: ["cdkConnectedOverlayViewportMargin", "viewportMargin"], scrollStrategy: ["cdkConnectedOverlayScrollStrategy", "scrollStrategy"], open: ["cdkConnectedOverlayOpen", "open"], disableClose: ["cdkConnectedOverlayDisableClose", "disableClose"], transformOriginSelector: ["cdkConnectedOverlayTransformOriginOn", "transformOriginSelector"], hasBackdrop: ["cdkConnectedOverlayHasBackdrop", "hasBackdrop", booleanAttribute], lockPosition: ["cdkConnectedOverlayLockPosition", "lockPosition", booleanAttribute], flexibleDimensions: ["cdkConnectedOverlayFlexibleDimensions", "flexibleDimensions", booleanAttribute], growAfterOpen: ["cdkConnectedOverlayGrowAfterOpen", "growAfterOpen", booleanAttribute], push: ["cdkConnectedOverlayPush", "push", booleanAttribute], disposeOnNavigation: ["cdkConnectedOverlayDisposeOnNavigation", "disposeOnNavigation", booleanAttribute] }, outputs: { backdropClick: "backdropClick", positionChange: "positionChange", attach: "attach", detach: "detach", overlayKeydown: "overlayKeydown", overlayOutsideClick: "overlayOutsideClick" }, exportAs: ["cdkConnectedOverlay"], usesOnChanges: true, ngImport: i0 });
|
|
2798
2927
|
}
|
|
2799
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.
|
|
2928
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.10", ngImport: i0, type: CdkConnectedOverlay, decorators: [{
|
|
2800
2929
|
type: Directive,
|
|
2801
2930
|
args: [{
|
|
2802
2931
|
selector: '[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]',
|
|
2803
2932
|
exportAs: 'cdkConnectedOverlay',
|
|
2804
|
-
standalone: true,
|
|
2805
2933
|
}]
|
|
2806
2934
|
}], ctorParameters: () => [], propDecorators: { origin: [{
|
|
2807
2935
|
type: Input,
|
|
@@ -2894,11 +3022,11 @@ const CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER = {
|
|
|
2894
3022
|
};
|
|
2895
3023
|
|
|
2896
3024
|
class OverlayModule {
|
|
2897
|
-
static
|
|
2898
|
-
static
|
|
2899
|
-
static
|
|
3025
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-next.10", ngImport: i0, type: OverlayModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
3026
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.0-next.10", ngImport: i0, type: OverlayModule, imports: [BidiModule, PortalModule, ScrollingModule, CdkConnectedOverlay, CdkOverlayOrigin], exports: [CdkConnectedOverlay, CdkOverlayOrigin, ScrollingModule] });
|
|
3027
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.0-next.10", ngImport: i0, type: OverlayModule, providers: [Overlay, CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER], imports: [BidiModule, PortalModule, ScrollingModule, ScrollingModule] });
|
|
2900
3028
|
}
|
|
2901
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.
|
|
3029
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.10", ngImport: i0, type: OverlayModule, decorators: [{
|
|
2902
3030
|
type: NgModule,
|
|
2903
3031
|
args: [{
|
|
2904
3032
|
imports: [BidiModule, PortalModule, ScrollingModule, CdkConnectedOverlay, CdkOverlayOrigin],
|
|
@@ -2915,6 +3043,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.8",
|
|
|
2915
3043
|
* Should be provided in the root component.
|
|
2916
3044
|
*/
|
|
2917
3045
|
class FullscreenOverlayContainer extends OverlayContainer {
|
|
3046
|
+
_fullScreenEventName;
|
|
3047
|
+
_fullScreenListener;
|
|
2918
3048
|
constructor() {
|
|
2919
3049
|
super();
|
|
2920
3050
|
}
|
|
@@ -2977,10 +3107,10 @@ class FullscreenOverlayContainer extends OverlayContainer {
|
|
|
2977
3107
|
_document.msFullscreenElement ||
|
|
2978
3108
|
null);
|
|
2979
3109
|
}
|
|
2980
|
-
static
|
|
2981
|
-
static
|
|
3110
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-next.10", ngImport: i0, type: FullscreenOverlayContainer, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
3111
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.0-next.10", ngImport: i0, type: FullscreenOverlayContainer, providedIn: 'root' });
|
|
2982
3112
|
}
|
|
2983
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.
|
|
3113
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.10", ngImport: i0, type: FullscreenOverlayContainer, decorators: [{
|
|
2984
3114
|
type: Injectable,
|
|
2985
3115
|
args: [{ providedIn: 'root' }]
|
|
2986
3116
|
}], ctorParameters: () => [] });
|