@angular/cdk 13.2.4 → 13.2.5
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/drag-drop/drag-ref.d.ts +3 -1
- package/esm2020/drag-drop/drag-ref.mjs +13 -12
- package/esm2020/overlay/dispatchers/overlay-keyboard-dispatcher.mjs +24 -6
- package/esm2020/overlay/dispatchers/overlay-outside-click-dispatcher.mjs +31 -10
- package/esm2020/testing/protractor/protractor-element.mjs +8 -3
- package/esm2020/testing/public-api.mjs +2 -1
- package/esm2020/testing/selenium-webdriver/selenium-web-driver-element.mjs +8 -3
- package/esm2020/testing/test-element-errors.mjs +15 -0
- package/esm2020/testing/test-element.mjs +1 -1
- package/esm2020/testing/testbed/fake-events/type-in-element.mjs +12 -3
- package/esm2020/testing/testbed/unit-test-element.mjs +19 -5
- package/esm2020/version.mjs +1 -1
- package/fesm2015/cdk.mjs +1 -1
- package/fesm2015/cdk.mjs.map +1 -1
- package/fesm2015/drag-drop.mjs +12 -11
- package/fesm2015/drag-drop.mjs.map +1 -1
- package/fesm2015/overlay.mjs +52 -13
- package/fesm2015/overlay.mjs.map +1 -1
- package/fesm2015/testing/protractor.mjs +7 -2
- package/fesm2015/testing/protractor.mjs.map +1 -1
- package/fesm2015/testing/selenium-webdriver.mjs +7 -2
- package/fesm2015/testing/selenium-webdriver.mjs.map +1 -1
- package/fesm2015/testing/testbed.mjs +29 -7
- package/fesm2015/testing/testbed.mjs.map +1 -1
- package/fesm2015/testing.mjs +16 -1
- package/fesm2015/testing.mjs.map +1 -1
- package/fesm2020/cdk.mjs +1 -1
- package/fesm2020/cdk.mjs.map +1 -1
- package/fesm2020/drag-drop.mjs +12 -11
- package/fesm2020/drag-drop.mjs.map +1 -1
- package/fesm2020/overlay.mjs +52 -13
- package/fesm2020/overlay.mjs.map +1 -1
- package/fesm2020/testing/protractor.mjs +7 -2
- package/fesm2020/testing/protractor.mjs.map +1 -1
- package/fesm2020/testing/selenium-webdriver.mjs +7 -2
- package/fesm2020/testing/selenium-webdriver.mjs.map +1 -1
- package/fesm2020/testing/testbed.mjs +29 -7
- package/fesm2020/testing/testbed.mjs.map +1 -1
- package/fesm2020/testing.mjs +16 -1
- package/fesm2020/testing.mjs.map +1 -1
- package/overlay/dispatchers/overlay-keyboard-dispatcher.d.ts +7 -2
- package/overlay/dispatchers/overlay-outside-click-dispatcher.d.ts +8 -2
- package/package.json +1 -1
- package/schematics/ng-add/index.js +1 -1
- package/schematics/ng-add/index.mjs +1 -1
- package/testing/public-api.d.ts +1 -0
- package/testing/test-element-errors.d.ts +12 -0
- package/testing/test-element.d.ts +4 -2
- package/testing/testbed/fake-events/type-in-element.d.ts +2 -2
- package/testing/testbed/unit-test-element.d.ts +4 -1
package/fesm2020/overlay.mjs
CHANGED
|
@@ -4,7 +4,7 @@ export { CdkScrollable, ScrollDispatcher, ViewportRuler } from '@angular/cdk/scr
|
|
|
4
4
|
import * as i6 from '@angular/common';
|
|
5
5
|
import { DOCUMENT } from '@angular/common';
|
|
6
6
|
import * as i0 from '@angular/core';
|
|
7
|
-
import { Injectable, Inject, ElementRef, ApplicationRef, InjectionToken, Directive, EventEmitter,
|
|
7
|
+
import { Injectable, Inject, Optional, ElementRef, ApplicationRef, InjectionToken, Directive, EventEmitter, Input, Output, NgModule } from '@angular/core';
|
|
8
8
|
import { coerceCssPixelValue, coerceArray, coerceBooleanProperty } from '@angular/cdk/coercion';
|
|
9
9
|
import * as i1$1 from '@angular/cdk/platform';
|
|
10
10
|
import { supportsScrollBehavior, _getEventTarget, _isTestEnvironment } from '@angular/cdk/platform';
|
|
@@ -531,8 +531,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImpor
|
|
|
531
531
|
* on event target and order of overlay opens.
|
|
532
532
|
*/
|
|
533
533
|
class OverlayKeyboardDispatcher extends BaseOverlayDispatcher {
|
|
534
|
-
constructor(document
|
|
534
|
+
constructor(document,
|
|
535
|
+
/** @breaking-change 14.0.0 _ngZone will be required. */
|
|
536
|
+
_ngZone) {
|
|
535
537
|
super(document);
|
|
538
|
+
this._ngZone = _ngZone;
|
|
536
539
|
/** Keyboard event listener that will be attached to the body. */
|
|
537
540
|
this._keydownListener = (event) => {
|
|
538
541
|
const overlays = this._attachedOverlays;
|
|
@@ -544,7 +547,14 @@ class OverlayKeyboardDispatcher extends BaseOverlayDispatcher {
|
|
|
544
547
|
// because we don't want overlays that don't handle keyboard events to block the ones below
|
|
545
548
|
// them that do.
|
|
546
549
|
if (overlays[i]._keydownEvents.observers.length > 0) {
|
|
547
|
-
overlays[i]._keydownEvents
|
|
550
|
+
const keydownEvents = overlays[i]._keydownEvents;
|
|
551
|
+
/** @breaking-change 14.0.0 _ngZone will be required. */
|
|
552
|
+
if (this._ngZone) {
|
|
553
|
+
this._ngZone.run(() => keydownEvents.next(event));
|
|
554
|
+
}
|
|
555
|
+
else {
|
|
556
|
+
keydownEvents.next(event);
|
|
557
|
+
}
|
|
548
558
|
break;
|
|
549
559
|
}
|
|
550
560
|
}
|
|
@@ -555,7 +565,13 @@ class OverlayKeyboardDispatcher extends BaseOverlayDispatcher {
|
|
|
555
565
|
super.add(overlayRef);
|
|
556
566
|
// Lazily start dispatcher once first overlay is added
|
|
557
567
|
if (!this._isAttached) {
|
|
558
|
-
|
|
568
|
+
/** @breaking-change 14.0.0 _ngZone will be required. */
|
|
569
|
+
if (this._ngZone) {
|
|
570
|
+
this._ngZone.runOutsideAngular(() => this._document.body.addEventListener('keydown', this._keydownListener));
|
|
571
|
+
}
|
|
572
|
+
else {
|
|
573
|
+
this._document.body.addEventListener('keydown', this._keydownListener);
|
|
574
|
+
}
|
|
559
575
|
this._isAttached = true;
|
|
560
576
|
}
|
|
561
577
|
}
|
|
@@ -567,7 +583,7 @@ class OverlayKeyboardDispatcher extends BaseOverlayDispatcher {
|
|
|
567
583
|
}
|
|
568
584
|
}
|
|
569
585
|
}
|
|
570
|
-
OverlayKeyboardDispatcher.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: OverlayKeyboardDispatcher, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
586
|
+
OverlayKeyboardDispatcher.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: OverlayKeyboardDispatcher, deps: [{ token: DOCUMENT }, { token: i0.NgZone, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
571
587
|
OverlayKeyboardDispatcher.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: OverlayKeyboardDispatcher, providedIn: 'root' });
|
|
572
588
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: OverlayKeyboardDispatcher, decorators: [{
|
|
573
589
|
type: Injectable,
|
|
@@ -575,6 +591,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImpor
|
|
|
575
591
|
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
576
592
|
type: Inject,
|
|
577
593
|
args: [DOCUMENT]
|
|
594
|
+
}] }, { type: i0.NgZone, decorators: [{
|
|
595
|
+
type: Optional
|
|
578
596
|
}] }]; } });
|
|
579
597
|
|
|
580
598
|
/**
|
|
@@ -590,9 +608,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImpor
|
|
|
590
608
|
* on event target and order of overlay opens.
|
|
591
609
|
*/
|
|
592
610
|
class OverlayOutsideClickDispatcher extends BaseOverlayDispatcher {
|
|
593
|
-
constructor(document, _platform
|
|
611
|
+
constructor(document, _platform,
|
|
612
|
+
/** @breaking-change 14.0.0 _ngZone will be required. */
|
|
613
|
+
_ngZone) {
|
|
594
614
|
super(document);
|
|
595
615
|
this._platform = _platform;
|
|
616
|
+
this._ngZone = _ngZone;
|
|
596
617
|
this._cursorStyleIsSet = false;
|
|
597
618
|
/** Store pointerdown event target to track origin of click. */
|
|
598
619
|
this._pointerDownListener = (event) => {
|
|
@@ -633,7 +654,14 @@ class OverlayOutsideClickDispatcher extends BaseOverlayDispatcher {
|
|
|
633
654
|
overlayRef.overlayElement.contains(origin)) {
|
|
634
655
|
break;
|
|
635
656
|
}
|
|
636
|
-
overlayRef._outsidePointerEvents
|
|
657
|
+
const outsidePointerEvents = overlayRef._outsidePointerEvents;
|
|
658
|
+
/** @breaking-change 14.0.0 _ngZone will be required. */
|
|
659
|
+
if (this._ngZone) {
|
|
660
|
+
this._ngZone.run(() => outsidePointerEvents.next(event));
|
|
661
|
+
}
|
|
662
|
+
else {
|
|
663
|
+
outsidePointerEvents.next(event);
|
|
664
|
+
}
|
|
637
665
|
}
|
|
638
666
|
};
|
|
639
667
|
}
|
|
@@ -648,10 +676,13 @@ class OverlayOutsideClickDispatcher extends BaseOverlayDispatcher {
|
|
|
648
676
|
// https://developer.apple.com/library/archive/documentation/AppleApplications/Reference/SafariWebContent/HandlingEvents/HandlingEvents.html
|
|
649
677
|
if (!this._isAttached) {
|
|
650
678
|
const body = this._document.body;
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
679
|
+
/** @breaking-change 14.0.0 _ngZone will be required. */
|
|
680
|
+
if (this._ngZone) {
|
|
681
|
+
this._ngZone.runOutsideAngular(() => this._addEventListeners(body));
|
|
682
|
+
}
|
|
683
|
+
else {
|
|
684
|
+
this._addEventListeners(body);
|
|
685
|
+
}
|
|
655
686
|
// click event is not fired on iOS. To make element "clickable" we are
|
|
656
687
|
// setting the cursor to pointer
|
|
657
688
|
if (this._platform.IOS && !this._cursorStyleIsSet) {
|
|
@@ -677,8 +708,14 @@ class OverlayOutsideClickDispatcher extends BaseOverlayDispatcher {
|
|
|
677
708
|
this._isAttached = false;
|
|
678
709
|
}
|
|
679
710
|
}
|
|
711
|
+
_addEventListeners(body) {
|
|
712
|
+
body.addEventListener('pointerdown', this._pointerDownListener, true);
|
|
713
|
+
body.addEventListener('click', this._clickListener, true);
|
|
714
|
+
body.addEventListener('auxclick', this._clickListener, true);
|
|
715
|
+
body.addEventListener('contextmenu', this._clickListener, true);
|
|
716
|
+
}
|
|
680
717
|
}
|
|
681
|
-
OverlayOutsideClickDispatcher.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: OverlayOutsideClickDispatcher, deps: [{ token: DOCUMENT }, { token: i1$1.Platform }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
718
|
+
OverlayOutsideClickDispatcher.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: OverlayOutsideClickDispatcher, deps: [{ token: DOCUMENT }, { token: i1$1.Platform }, { token: i0.NgZone, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
682
719
|
OverlayOutsideClickDispatcher.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: OverlayOutsideClickDispatcher, providedIn: 'root' });
|
|
683
720
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: OverlayOutsideClickDispatcher, decorators: [{
|
|
684
721
|
type: Injectable,
|
|
@@ -686,7 +723,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImpor
|
|
|
686
723
|
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
687
724
|
type: Inject,
|
|
688
725
|
args: [DOCUMENT]
|
|
689
|
-
}] }, { type: i1$1.Platform }
|
|
726
|
+
}] }, { type: i1$1.Platform }, { type: i0.NgZone, decorators: [{
|
|
727
|
+
type: Optional
|
|
728
|
+
}] }]; } });
|
|
690
729
|
|
|
691
730
|
/**
|
|
692
731
|
* @license
|