@angular/cdk 13.2.0-next.1 → 13.2.2
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/a11y/aria-describer/aria-describer.d.ts +33 -6
- package/esm2020/a11y/a11y-module.mjs +4 -4
- package/esm2020/a11y/aria-describer/aria-describer.mjs +75 -52
- package/esm2020/a11y/fake-event-detection.mjs +7 -5
- package/esm2020/a11y/focus-monitor/focus-monitor.mjs +6 -6
- package/esm2020/a11y/focus-trap/configurable-focus-trap-factory.mjs +3 -3
- package/esm2020/a11y/focus-trap/focus-trap-manager.mjs +3 -3
- package/esm2020/a11y/focus-trap/focus-trap.mjs +6 -6
- package/esm2020/a11y/high-contrast-mode/high-contrast-mode-detector.mjs +3 -3
- package/esm2020/a11y/input-modality/input-modality-detector.mjs +3 -3
- package/esm2020/a11y/interactivity-checker/interactivity-checker.mjs +3 -3
- package/esm2020/a11y/live-announcer/live-announcer.mjs +6 -6
- package/esm2020/accordion/accordion-item.mjs +3 -3
- package/esm2020/accordion/accordion-module.mjs +4 -4
- package/esm2020/accordion/accordion.mjs +3 -3
- package/esm2020/bidi/bidi-module.mjs +4 -4
- package/esm2020/bidi/dir.mjs +3 -3
- package/esm2020/bidi/directionality.mjs +3 -3
- package/esm2020/clipboard/clipboard-module.mjs +4 -4
- package/esm2020/clipboard/clipboard.mjs +3 -3
- package/esm2020/clipboard/copy-to-clipboard.mjs +3 -3
- package/esm2020/collections/unique-selection-dispatcher.mjs +3 -3
- package/esm2020/drag-drop/directives/drag-handle.mjs +3 -3
- package/esm2020/drag-drop/directives/drag-placeholder.mjs +3 -3
- package/esm2020/drag-drop/directives/drag-preview.mjs +3 -3
- package/esm2020/drag-drop/directives/drag.mjs +3 -3
- package/esm2020/drag-drop/directives/drop-list-group.mjs +3 -3
- package/esm2020/drag-drop/directives/drop-list.mjs +3 -3
- package/esm2020/drag-drop/drag-drop-module.mjs +4 -4
- package/esm2020/drag-drop/drag-drop-registry.mjs +3 -3
- package/esm2020/drag-drop/drag-drop.mjs +3 -3
- package/esm2020/layout/breakpoints-observer.mjs +4 -4
- package/esm2020/layout/layout-module.mjs +4 -4
- package/esm2020/layout/media-matcher.mjs +3 -3
- package/esm2020/observers/observe-content.mjs +13 -13
- package/esm2020/overlay/dispatchers/base-overlay-dispatcher.mjs +3 -3
- package/esm2020/overlay/dispatchers/overlay-keyboard-dispatcher.mjs +3 -3
- package/esm2020/overlay/dispatchers/overlay-outside-click-dispatcher.mjs +3 -3
- package/esm2020/overlay/fullscreen-overlay-container.mjs +3 -3
- package/esm2020/overlay/overlay-container.mjs +3 -3
- package/esm2020/overlay/overlay-directives.mjs +6 -6
- package/esm2020/overlay/overlay-module.mjs +4 -4
- package/esm2020/overlay/overlay.mjs +3 -3
- package/esm2020/overlay/position/flexible-connected-position-strategy.mjs +9 -3
- package/esm2020/overlay/position/overlay-position-builder.mjs +3 -3
- package/esm2020/overlay/scroll/scroll-strategy-options.mjs +3 -3
- package/esm2020/platform/platform-module.mjs +4 -4
- package/esm2020/platform/platform.mjs +3 -3
- package/esm2020/portal/portal-directives.mjs +16 -16
- package/esm2020/scrolling/fixed-size-virtual-scroll.mjs +3 -3
- package/esm2020/scrolling/scroll-dispatcher.mjs +3 -3
- package/esm2020/scrolling/scrollable.mjs +3 -3
- package/esm2020/scrolling/scrolling-module.mjs +8 -8
- package/esm2020/scrolling/viewport-ruler.mjs +3 -3
- package/esm2020/scrolling/virtual-for-of.mjs +3 -3
- package/esm2020/scrolling/virtual-scroll-viewport.mjs +6 -4
- package/esm2020/stepper/step-header.mjs +3 -3
- package/esm2020/stepper/step-label.mjs +3 -3
- package/esm2020/stepper/stepper-button.mjs +6 -6
- package/esm2020/stepper/stepper-module.mjs +4 -4
- package/esm2020/stepper/stepper.mjs +6 -6
- package/esm2020/table/cell.mjs +21 -21
- package/esm2020/table/coalesced-style-scheduler.mjs +3 -3
- package/esm2020/table/row.mjs +27 -27
- package/esm2020/table/table-module.mjs +4 -4
- package/esm2020/table/table.mjs +35 -24
- package/esm2020/table/text-column.mjs +3 -3
- package/esm2020/testing/protractor/protractor-harness-environment.mjs +3 -2
- package/esm2020/text-field/autofill.mjs +6 -6
- package/esm2020/text-field/autosize.mjs +3 -3
- package/esm2020/text-field/text-field-module.mjs +4 -4
- package/esm2020/tree/nested-node.mjs +3 -3
- package/esm2020/tree/node.mjs +3 -3
- package/esm2020/tree/outlet.mjs +3 -3
- package/esm2020/tree/padding.mjs +3 -3
- package/esm2020/tree/toggle.mjs +3 -3
- package/esm2020/tree/tree-module.mjs +4 -4
- package/esm2020/tree/tree.mjs +6 -6
- package/esm2020/version.mjs +1 -1
- package/fesm2015/a11y.mjs +122 -97
- package/fesm2015/a11y.mjs.map +1 -1
- package/fesm2015/accordion.mjs +10 -10
- package/fesm2015/bidi.mjs +10 -10
- package/fesm2015/cdk.mjs +1 -1
- package/fesm2015/cdk.mjs.map +1 -1
- package/fesm2015/clipboard.mjs +10 -10
- package/fesm2015/collections.mjs +3 -3
- package/fesm2015/drag-drop.mjs +28 -28
- package/fesm2015/layout.mjs +10 -10
- package/fesm2015/layout.mjs.map +1 -1
- package/fesm2015/observers.mjs +13 -13
- package/fesm2015/overlay.mjs +42 -36
- package/fesm2015/overlay.mjs.map +1 -1
- package/fesm2015/platform.mjs +7 -7
- package/fesm2015/portal.mjs +16 -16
- package/fesm2015/scrolling.mjs +28 -26
- package/fesm2015/scrolling.mjs.map +1 -1
- package/fesm2015/stepper.mjs +22 -22
- package/fesm2015/table.mjs +92 -81
- package/fesm2015/table.mjs.map +1 -1
- package/fesm2015/testing/protractor.mjs +2 -1
- package/fesm2015/testing/protractor.mjs.map +1 -1
- package/fesm2015/text-field.mjs +13 -13
- package/fesm2015/tree.mjs +25 -25
- package/fesm2020/a11y.mjs +119 -96
- package/fesm2020/a11y.mjs.map +1 -1
- package/fesm2020/accordion.mjs +10 -10
- package/fesm2020/bidi.mjs +10 -10
- package/fesm2020/cdk.mjs +1 -1
- package/fesm2020/cdk.mjs.map +1 -1
- package/fesm2020/clipboard.mjs +10 -10
- package/fesm2020/collections.mjs +3 -3
- package/fesm2020/drag-drop.mjs +28 -28
- package/fesm2020/layout.mjs +10 -10
- package/fesm2020/layout.mjs.map +1 -1
- package/fesm2020/observers.mjs +13 -13
- package/fesm2020/overlay.mjs +42 -36
- package/fesm2020/overlay.mjs.map +1 -1
- package/fesm2020/platform.mjs +7 -7
- package/fesm2020/portal.mjs +16 -16
- package/fesm2020/scrolling.mjs +28 -26
- package/fesm2020/scrolling.mjs.map +1 -1
- package/fesm2020/stepper.mjs +22 -22
- package/fesm2020/table.mjs +92 -81
- package/fesm2020/table.mjs.map +1 -1
- package/fesm2020/testing/protractor.mjs +2 -1
- package/fesm2020/testing/protractor.mjs.map +1 -1
- package/fesm2020/text-field.mjs +13 -13
- package/fesm2020/tree.mjs +25 -25
- package/package.json +1 -1
- package/schematics/ng-add/index.js +1 -1
- package/schematics/ng-add/index.mjs +1 -1
- package/schematics/ng-generate/drag-drop/schema.json +1 -1
- package/schematics/ng-update/devkit-migration.js +1 -1
- package/schematics/ng-update/devkit-migration.mjs +1 -1
- package/schematics/tsconfig.json +3 -10
- package/schematics/utils/html-manipulation.js +3 -1
- package/schematics/utils/html-manipulation.mjs +3 -1
- package/schematics/utils/project-tsconfig-paths.js +2 -2
- package/schematics/utils/project-tsconfig-paths.mjs +2 -2
- package/table/table.d.ts +2 -2
- package/testing/protractor/protractor-harness-environment.d.ts +2 -1
package/fesm2020/a11y.mjs
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { DOCUMENT } from '@angular/common';
|
|
2
2
|
import * as i0 from '@angular/core';
|
|
3
3
|
import { Injectable, Inject, QueryList, Directive, Input, InjectionToken, Optional, EventEmitter, Output, NgModule } from '@angular/core';
|
|
4
|
+
import * as i1 from '@angular/cdk/platform';
|
|
5
|
+
import { _getFocusedElementPierceShadowDom, normalizePassiveListenerOptions, _getEventTarget, _getShadowRoot, PlatformModule } from '@angular/cdk/platform';
|
|
4
6
|
import { Subject, Subscription, BehaviorSubject, of } from 'rxjs';
|
|
5
7
|
import { hasModifierKey, A, Z, ZERO, NINE, END, HOME, LEFT_ARROW, RIGHT_ARROW, UP_ARROW, DOWN_ARROW, TAB, ALT, CONTROL, MAC_META, META, SHIFT } from '@angular/cdk/keycodes';
|
|
6
8
|
import { tap, debounceTime, filter, map, take, skip, distinctUntilChanged, takeUntil } from 'rxjs/operators';
|
|
7
9
|
import { coerceBooleanProperty, coerceElement } from '@angular/cdk/coercion';
|
|
8
|
-
import * as i1 from '@angular/cdk/platform';
|
|
9
|
-
import { _getFocusedElementPierceShadowDom, normalizePassiveListenerOptions, _getEventTarget, _getShadowRoot, PlatformModule } from '@angular/cdk/platform';
|
|
10
10
|
import * as i1$1 from '@angular/cdk/observers';
|
|
11
11
|
import { ObserversModule } from '@angular/cdk/observers';
|
|
12
12
|
|
|
@@ -61,25 +61,45 @@ function getAriaReferenceIds(el, attr) {
|
|
|
61
61
|
* Use of this source code is governed by an MIT-style license that can be
|
|
62
62
|
* found in the LICENSE file at https://angular.io/license
|
|
63
63
|
*/
|
|
64
|
-
/**
|
|
64
|
+
/**
|
|
65
|
+
* ID used for the body container where all messages are appended.
|
|
66
|
+
* @deprecated No longer being used. To be removed.
|
|
67
|
+
* @breaking-change 14.0.0
|
|
68
|
+
*/
|
|
65
69
|
const MESSAGES_CONTAINER_ID = 'cdk-describedby-message-container';
|
|
66
|
-
/**
|
|
70
|
+
/**
|
|
71
|
+
* ID prefix used for each created message element.
|
|
72
|
+
* @deprecated To be turned into a private variable.
|
|
73
|
+
* @breaking-change 14.0.0
|
|
74
|
+
*/
|
|
67
75
|
const CDK_DESCRIBEDBY_ID_PREFIX = 'cdk-describedby-message';
|
|
68
|
-
/**
|
|
76
|
+
/**
|
|
77
|
+
* Attribute given to each host element that is described by a message element.
|
|
78
|
+
* @deprecated To be turned into a private variable.
|
|
79
|
+
* @breaking-change 14.0.0
|
|
80
|
+
*/
|
|
69
81
|
const CDK_DESCRIBEDBY_HOST_ATTRIBUTE = 'cdk-describedby-host';
|
|
70
82
|
/** Global incremental identifier for each registered message element. */
|
|
71
83
|
let nextId = 0;
|
|
72
|
-
/** Global map of all registered message elements that have been placed into the document. */
|
|
73
|
-
const messageRegistry = new Map();
|
|
74
|
-
/** Container for all registered messages. */
|
|
75
|
-
let messagesContainer = null;
|
|
76
84
|
/**
|
|
77
85
|
* Utility that creates visually hidden elements with a message content. Useful for elements that
|
|
78
86
|
* want to use aria-describedby to further describe themselves without adding additional visual
|
|
79
87
|
* content.
|
|
80
88
|
*/
|
|
81
89
|
class AriaDescriber {
|
|
82
|
-
constructor(_document
|
|
90
|
+
constructor(_document,
|
|
91
|
+
/**
|
|
92
|
+
* @deprecated To be turned into a required parameter.
|
|
93
|
+
* @breaking-change 14.0.0
|
|
94
|
+
*/
|
|
95
|
+
_platform) {
|
|
96
|
+
this._platform = _platform;
|
|
97
|
+
/** Map of all registered message elements that have been placed into the document. */
|
|
98
|
+
this._messageRegistry = new Map();
|
|
99
|
+
/** Container for all registered messages. */
|
|
100
|
+
this._messagesContainer = null;
|
|
101
|
+
/** Unique ID for the service. */
|
|
102
|
+
this._id = `${nextId++}`;
|
|
83
103
|
this._document = _document;
|
|
84
104
|
}
|
|
85
105
|
describe(hostElement, message, role) {
|
|
@@ -90,9 +110,9 @@ class AriaDescriber {
|
|
|
90
110
|
if (typeof message !== 'string') {
|
|
91
111
|
// We need to ensure that the element has an ID.
|
|
92
112
|
setMessageId(message);
|
|
93
|
-
|
|
113
|
+
this._messageRegistry.set(key, { messageElement: message, referenceCount: 0 });
|
|
94
114
|
}
|
|
95
|
-
else if (!
|
|
115
|
+
else if (!this._messageRegistry.has(key)) {
|
|
96
116
|
this._createMessageElement(message, role);
|
|
97
117
|
}
|
|
98
118
|
if (!this._isElementDescribedByMessage(hostElement, key)) {
|
|
@@ -110,26 +130,26 @@ class AriaDescriber {
|
|
|
110
130
|
// If the message is a string, it means that it's one that we created for the
|
|
111
131
|
// consumer so we can remove it safely, otherwise we should leave it in place.
|
|
112
132
|
if (typeof message === 'string') {
|
|
113
|
-
const registeredMessage =
|
|
133
|
+
const registeredMessage = this._messageRegistry.get(key);
|
|
114
134
|
if (registeredMessage && registeredMessage.referenceCount === 0) {
|
|
115
135
|
this._deleteMessageElement(key);
|
|
116
136
|
}
|
|
117
137
|
}
|
|
118
|
-
if (
|
|
119
|
-
this.
|
|
138
|
+
if (this._messagesContainer?.childNodes.length === 0) {
|
|
139
|
+
this._messagesContainer.remove();
|
|
140
|
+
this._messagesContainer = null;
|
|
120
141
|
}
|
|
121
142
|
}
|
|
122
143
|
/** Unregisters all created message elements and removes the message container. */
|
|
123
144
|
ngOnDestroy() {
|
|
124
|
-
const describedElements = this._document.querySelectorAll(`[${CDK_DESCRIBEDBY_HOST_ATTRIBUTE}]`);
|
|
145
|
+
const describedElements = this._document.querySelectorAll(`[${CDK_DESCRIBEDBY_HOST_ATTRIBUTE}="${this._id}"]`);
|
|
125
146
|
for (let i = 0; i < describedElements.length; i++) {
|
|
126
147
|
this._removeCdkDescribedByReferenceIds(describedElements[i]);
|
|
127
148
|
describedElements[i].removeAttribute(CDK_DESCRIBEDBY_HOST_ATTRIBUTE);
|
|
128
149
|
}
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
messageRegistry.clear();
|
|
150
|
+
this._messagesContainer?.remove();
|
|
151
|
+
this._messagesContainer = null;
|
|
152
|
+
this._messageRegistry.clear();
|
|
133
153
|
}
|
|
134
154
|
/**
|
|
135
155
|
* Creates a new element in the visually hidden message container element with the message
|
|
@@ -143,43 +163,44 @@ class AriaDescriber {
|
|
|
143
163
|
messageElement.setAttribute('role', role);
|
|
144
164
|
}
|
|
145
165
|
this._createMessagesContainer();
|
|
146
|
-
|
|
147
|
-
|
|
166
|
+
this._messagesContainer.appendChild(messageElement);
|
|
167
|
+
this._messageRegistry.set(getKey(message, role), { messageElement, referenceCount: 0 });
|
|
148
168
|
}
|
|
149
169
|
/** Deletes the message element from the global messages container. */
|
|
150
170
|
_deleteMessageElement(key) {
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
messageRegistry.delete(key);
|
|
171
|
+
this._messageRegistry.get(key)?.messageElement?.remove();
|
|
172
|
+
this._messageRegistry.delete(key);
|
|
154
173
|
}
|
|
155
174
|
/** Creates the global container for all aria-describedby messages. */
|
|
156
175
|
_createMessagesContainer() {
|
|
157
|
-
if (
|
|
158
|
-
|
|
176
|
+
if (this._messagesContainer) {
|
|
177
|
+
return;
|
|
178
|
+
}
|
|
179
|
+
const containerClassName = 'cdk-describedby-message-container';
|
|
180
|
+
const serverContainers = this._document.querySelectorAll(`.${containerClassName}[platform="server"]`);
|
|
181
|
+
for (let i = 0; i < serverContainers.length; i++) {
|
|
159
182
|
// When going from the server to the client, we may end up in a situation where there's
|
|
160
183
|
// already a container on the page, but we don't have a reference to it. Clear the
|
|
161
184
|
// old container so we don't get duplicates. Doing this, instead of emptying the previous
|
|
162
185
|
// container, should be slightly faster.
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
messagesContainer = null;
|
|
182
|
-
}
|
|
186
|
+
serverContainers[i].remove();
|
|
187
|
+
}
|
|
188
|
+
const messagesContainer = this._document.createElement('div');
|
|
189
|
+
// We add `visibility: hidden` in order to prevent text in this container from
|
|
190
|
+
// being searchable by the browser's Ctrl + F functionality.
|
|
191
|
+
// Screen-readers will still read the description for elements with aria-describedby even
|
|
192
|
+
// when the description element is not visible.
|
|
193
|
+
messagesContainer.style.visibility = 'hidden';
|
|
194
|
+
// Even though we use `visibility: hidden`, we still apply `cdk-visually-hidden` so that
|
|
195
|
+
// the description element doesn't impact page layout.
|
|
196
|
+
messagesContainer.classList.add(containerClassName);
|
|
197
|
+
messagesContainer.classList.add('cdk-visually-hidden');
|
|
198
|
+
// @breaking-change 14.0.0 Remove null check for `_platform`.
|
|
199
|
+
if (this._platform && !this._platform.isBrowser) {
|
|
200
|
+
messagesContainer.setAttribute('platform', 'server');
|
|
201
|
+
}
|
|
202
|
+
this._document.body.appendChild(messagesContainer);
|
|
203
|
+
this._messagesContainer = messagesContainer;
|
|
183
204
|
}
|
|
184
205
|
/** Removes all cdk-describedby messages that are hosted through the element. */
|
|
185
206
|
_removeCdkDescribedByReferenceIds(element) {
|
|
@@ -192,11 +213,11 @@ class AriaDescriber {
|
|
|
192
213
|
* message's reference count.
|
|
193
214
|
*/
|
|
194
215
|
_addMessageReference(element, key) {
|
|
195
|
-
const registeredMessage =
|
|
216
|
+
const registeredMessage = this._messageRegistry.get(key);
|
|
196
217
|
// Add the aria-describedby reference and set the
|
|
197
218
|
// describedby_host attribute to mark the element.
|
|
198
219
|
addAriaReferencedId(element, 'aria-describedby', registeredMessage.messageElement.id);
|
|
199
|
-
element.setAttribute(CDK_DESCRIBEDBY_HOST_ATTRIBUTE,
|
|
220
|
+
element.setAttribute(CDK_DESCRIBEDBY_HOST_ATTRIBUTE, this._id);
|
|
200
221
|
registeredMessage.referenceCount++;
|
|
201
222
|
}
|
|
202
223
|
/**
|
|
@@ -204,7 +225,7 @@ class AriaDescriber {
|
|
|
204
225
|
* and decrements the registered message's reference count.
|
|
205
226
|
*/
|
|
206
227
|
_removeMessageReference(element, key) {
|
|
207
|
-
const registeredMessage =
|
|
228
|
+
const registeredMessage = this._messageRegistry.get(key);
|
|
208
229
|
registeredMessage.referenceCount--;
|
|
209
230
|
removeAriaReferencedId(element, 'aria-describedby', registeredMessage.messageElement.id);
|
|
210
231
|
element.removeAttribute(CDK_DESCRIBEDBY_HOST_ATTRIBUTE);
|
|
@@ -212,7 +233,7 @@ class AriaDescriber {
|
|
|
212
233
|
/** Returns true if the element has been described by the provided message ID. */
|
|
213
234
|
_isElementDescribedByMessage(element, key) {
|
|
214
235
|
const referenceIds = getAriaReferenceIds(element, 'aria-describedby');
|
|
215
|
-
const registeredMessage =
|
|
236
|
+
const registeredMessage = this._messageRegistry.get(key);
|
|
216
237
|
const messageId = registeredMessage && registeredMessage.messageElement.id;
|
|
217
238
|
return !!messageId && referenceIds.indexOf(messageId) != -1;
|
|
218
239
|
}
|
|
@@ -238,15 +259,15 @@ class AriaDescriber {
|
|
|
238
259
|
return element.nodeType === this._document.ELEMENT_NODE;
|
|
239
260
|
}
|
|
240
261
|
}
|
|
241
|
-
AriaDescriber.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.
|
|
242
|
-
AriaDescriber.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.
|
|
243
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.
|
|
262
|
+
AriaDescriber.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: AriaDescriber, deps: [{ token: DOCUMENT }, { token: i1.Platform }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
263
|
+
AriaDescriber.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: AriaDescriber, providedIn: 'root' });
|
|
264
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: AriaDescriber, decorators: [{
|
|
244
265
|
type: Injectable,
|
|
245
266
|
args: [{ providedIn: 'root' }]
|
|
246
267
|
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
247
268
|
type: Inject,
|
|
248
269
|
args: [DOCUMENT]
|
|
249
|
-
}] }]; } });
|
|
270
|
+
}] }, { type: i1.Platform }]; } });
|
|
250
271
|
/** Gets a key that can be used to look messages up in the registry. */
|
|
251
272
|
function getKey(message, role) {
|
|
252
273
|
return typeof message === 'string' ? `${role || ''}/${message}` : message;
|
|
@@ -756,9 +777,9 @@ class InteractivityChecker {
|
|
|
756
777
|
(config?.ignoreVisibility || this.isVisible(element)));
|
|
757
778
|
}
|
|
758
779
|
}
|
|
759
|
-
InteractivityChecker.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.
|
|
760
|
-
InteractivityChecker.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.
|
|
761
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.
|
|
780
|
+
InteractivityChecker.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: InteractivityChecker, deps: [{ token: i1.Platform }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
781
|
+
InteractivityChecker.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: InteractivityChecker, providedIn: 'root' });
|
|
782
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: InteractivityChecker, decorators: [{
|
|
762
783
|
type: Injectable,
|
|
763
784
|
args: [{ providedIn: 'root' }]
|
|
764
785
|
}], ctorParameters: function () { return [{ type: i1.Platform }]; } });
|
|
@@ -1157,9 +1178,9 @@ class FocusTrapFactory {
|
|
|
1157
1178
|
return new FocusTrap(element, this._checker, this._ngZone, this._document, deferCaptureElements);
|
|
1158
1179
|
}
|
|
1159
1180
|
}
|
|
1160
|
-
FocusTrapFactory.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.
|
|
1161
|
-
FocusTrapFactory.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.
|
|
1162
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.
|
|
1181
|
+
FocusTrapFactory.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: FocusTrapFactory, deps: [{ token: InteractivityChecker }, { token: i0.NgZone }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1182
|
+
FocusTrapFactory.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: FocusTrapFactory, providedIn: 'root' });
|
|
1183
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: FocusTrapFactory, decorators: [{
|
|
1163
1184
|
type: Injectable,
|
|
1164
1185
|
args: [{ providedIn: 'root' }]
|
|
1165
1186
|
}], ctorParameters: function () { return [{ type: InteractivityChecker }, { type: i0.NgZone }, { type: undefined, decorators: [{
|
|
@@ -1231,9 +1252,9 @@ class CdkTrapFocus {
|
|
|
1231
1252
|
this.focusTrap.focusInitialElementWhenReady();
|
|
1232
1253
|
}
|
|
1233
1254
|
}
|
|
1234
|
-
CdkTrapFocus.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.
|
|
1235
|
-
CdkTrapFocus.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.
|
|
1236
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.
|
|
1255
|
+
CdkTrapFocus.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: CdkTrapFocus, deps: [{ token: i0.ElementRef }, { token: FocusTrapFactory }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Directive });
|
|
1256
|
+
CdkTrapFocus.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.0", type: CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: { enabled: ["cdkTrapFocus", "enabled"], autoCapture: ["cdkTrapFocusAutoCapture", "autoCapture"] }, exportAs: ["cdkTrapFocus"], usesOnChanges: true, ngImport: i0 });
|
|
1257
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: CdkTrapFocus, decorators: [{
|
|
1237
1258
|
type: Directive,
|
|
1238
1259
|
args: [{
|
|
1239
1260
|
selector: '[cdkTrapFocus]',
|
|
@@ -1423,9 +1444,9 @@ class FocusTrapManager {
|
|
|
1423
1444
|
}
|
|
1424
1445
|
}
|
|
1425
1446
|
}
|
|
1426
|
-
FocusTrapManager.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.
|
|
1427
|
-
FocusTrapManager.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.
|
|
1428
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.
|
|
1447
|
+
FocusTrapManager.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: FocusTrapManager, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1448
|
+
FocusTrapManager.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: FocusTrapManager, providedIn: 'root' });
|
|
1449
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: FocusTrapManager, decorators: [{
|
|
1429
1450
|
type: Injectable,
|
|
1430
1451
|
args: [{ providedIn: 'root' }]
|
|
1431
1452
|
}] });
|
|
@@ -1458,9 +1479,9 @@ class ConfigurableFocusTrapFactory {
|
|
|
1458
1479
|
return new ConfigurableFocusTrap(element, this._checker, this._ngZone, this._document, this._focusTrapManager, this._inertStrategy, configObject);
|
|
1459
1480
|
}
|
|
1460
1481
|
}
|
|
1461
|
-
ConfigurableFocusTrapFactory.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.
|
|
1462
|
-
ConfigurableFocusTrapFactory.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.
|
|
1463
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.
|
|
1482
|
+
ConfigurableFocusTrapFactory.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: ConfigurableFocusTrapFactory, deps: [{ token: InteractivityChecker }, { token: i0.NgZone }, { token: FocusTrapManager }, { token: DOCUMENT }, { token: FOCUS_TRAP_INERT_STRATEGY, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1483
|
+
ConfigurableFocusTrapFactory.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: ConfigurableFocusTrapFactory, providedIn: 'root' });
|
|
1484
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: ConfigurableFocusTrapFactory, decorators: [{
|
|
1464
1485
|
type: Injectable,
|
|
1465
1486
|
args: [{ providedIn: 'root' }]
|
|
1466
1487
|
}], ctorParameters: function () { return [{ type: InteractivityChecker }, { type: i0.NgZone }, { type: FocusTrapManager }, { type: undefined, decorators: [{
|
|
@@ -1484,10 +1505,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.0", ngImpor
|
|
|
1484
1505
|
function isFakeMousedownFromScreenReader(event) {
|
|
1485
1506
|
// Some screen readers will dispatch a fake `mousedown` event when pressing enter or space on
|
|
1486
1507
|
// a clickable element. We can distinguish these events when both `offsetX` and `offsetY` are
|
|
1487
|
-
// zero
|
|
1488
|
-
//
|
|
1489
|
-
//
|
|
1490
|
-
|
|
1508
|
+
// zero or `event.buttons` is zero, depending on the browser:
|
|
1509
|
+
// - `event.buttons` works on Firefox, but fails on Chrome.
|
|
1510
|
+
// - `offsetX` and `offsetY` work on Chrome, but fail on Firefox.
|
|
1511
|
+
// Note that there's an edge case where the user could click the 0x0 spot of the
|
|
1512
|
+
// screen themselves, but that is unlikely to contain interactive elements.
|
|
1513
|
+
return event.buttons === 0 || (event.offsetX === 0 && event.offsetY === 0);
|
|
1491
1514
|
}
|
|
1492
1515
|
/** Gets whether an event could be a faked `touchstart` event dispatched by a screen reader. */
|
|
1493
1516
|
function isFakeTouchstartFromScreenReader(event) {
|
|
@@ -1654,9 +1677,9 @@ class InputModalityDetector {
|
|
|
1654
1677
|
}
|
|
1655
1678
|
}
|
|
1656
1679
|
}
|
|
1657
|
-
InputModalityDetector.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.
|
|
1658
|
-
InputModalityDetector.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.
|
|
1659
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.
|
|
1680
|
+
InputModalityDetector.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: InputModalityDetector, deps: [{ token: i1.Platform }, { token: i0.NgZone }, { token: DOCUMENT }, { token: INPUT_MODALITY_DETECTOR_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1681
|
+
InputModalityDetector.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: InputModalityDetector, providedIn: 'root' });
|
|
1682
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: InputModalityDetector, decorators: [{
|
|
1660
1683
|
type: Injectable,
|
|
1661
1684
|
args: [{ providedIn: 'root' }]
|
|
1662
1685
|
}], ctorParameters: function () { return [{ type: i1.Platform }, { type: i0.NgZone }, { type: Document, decorators: [{
|
|
@@ -1774,9 +1797,9 @@ class LiveAnnouncer {
|
|
|
1774
1797
|
return liveEl;
|
|
1775
1798
|
}
|
|
1776
1799
|
}
|
|
1777
|
-
LiveAnnouncer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.
|
|
1778
|
-
LiveAnnouncer.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.
|
|
1779
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.
|
|
1800
|
+
LiveAnnouncer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: LiveAnnouncer, deps: [{ token: LIVE_ANNOUNCER_ELEMENT_TOKEN, optional: true }, { token: i0.NgZone }, { token: DOCUMENT }, { token: LIVE_ANNOUNCER_DEFAULT_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1801
|
+
LiveAnnouncer.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: LiveAnnouncer, providedIn: 'root' });
|
|
1802
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: LiveAnnouncer, decorators: [{
|
|
1780
1803
|
type: Injectable,
|
|
1781
1804
|
args: [{ providedIn: 'root' }]
|
|
1782
1805
|
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
@@ -1838,9 +1861,9 @@ class CdkAriaLive {
|
|
|
1838
1861
|
}
|
|
1839
1862
|
}
|
|
1840
1863
|
}
|
|
1841
|
-
CdkAriaLive.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.
|
|
1842
|
-
CdkAriaLive.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.
|
|
1843
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.
|
|
1864
|
+
CdkAriaLive.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: CdkAriaLive, deps: [{ token: i0.ElementRef }, { token: LiveAnnouncer }, { token: i1$1.ContentObserver }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
|
|
1865
|
+
CdkAriaLive.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.0", type: CdkAriaLive, selector: "[cdkAriaLive]", inputs: { politeness: ["cdkAriaLive", "politeness"] }, exportAs: ["cdkAriaLive"], ngImport: i0 });
|
|
1866
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: CdkAriaLive, decorators: [{
|
|
1844
1867
|
type: Directive,
|
|
1845
1868
|
args: [{
|
|
1846
1869
|
selector: '[cdkAriaLive]',
|
|
@@ -2186,9 +2209,9 @@ class FocusMonitor {
|
|
|
2186
2209
|
return results;
|
|
2187
2210
|
}
|
|
2188
2211
|
}
|
|
2189
|
-
FocusMonitor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.
|
|
2190
|
-
FocusMonitor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.
|
|
2191
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.
|
|
2212
|
+
FocusMonitor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: FocusMonitor, deps: [{ token: i0.NgZone }, { token: i1.Platform }, { token: InputModalityDetector }, { token: DOCUMENT, optional: true }, { token: FOCUS_MONITOR_DEFAULT_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
2213
|
+
FocusMonitor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: FocusMonitor, providedIn: 'root' });
|
|
2214
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: FocusMonitor, decorators: [{
|
|
2192
2215
|
type: Injectable,
|
|
2193
2216
|
args: [{ providedIn: 'root' }]
|
|
2194
2217
|
}], ctorParameters: function () { return [{ type: i0.NgZone }, { type: i1.Platform }, { type: InputModalityDetector }, { type: undefined, decorators: [{
|
|
@@ -2230,9 +2253,9 @@ class CdkMonitorFocus {
|
|
|
2230
2253
|
}
|
|
2231
2254
|
}
|
|
2232
2255
|
}
|
|
2233
|
-
CdkMonitorFocus.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.
|
|
2234
|
-
CdkMonitorFocus.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.
|
|
2235
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.
|
|
2256
|
+
CdkMonitorFocus.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: CdkMonitorFocus, deps: [{ token: i0.ElementRef }, { token: FocusMonitor }], target: i0.ɵɵFactoryTarget.Directive });
|
|
2257
|
+
CdkMonitorFocus.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.0", type: CdkMonitorFocus, selector: "[cdkMonitorElementFocus], [cdkMonitorSubtreeFocus]", outputs: { cdkFocusChange: "cdkFocusChange" }, ngImport: i0 });
|
|
2258
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: CdkMonitorFocus, decorators: [{
|
|
2236
2259
|
type: Directive,
|
|
2237
2260
|
args: [{
|
|
2238
2261
|
selector: '[cdkMonitorElementFocus], [cdkMonitorSubtreeFocus]',
|
|
@@ -2321,9 +2344,9 @@ class HighContrastModeDetector {
|
|
|
2321
2344
|
}
|
|
2322
2345
|
}
|
|
2323
2346
|
}
|
|
2324
|
-
HighContrastModeDetector.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.
|
|
2325
|
-
HighContrastModeDetector.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.
|
|
2326
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.
|
|
2347
|
+
HighContrastModeDetector.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: HighContrastModeDetector, deps: [{ token: i1.Platform }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
2348
|
+
HighContrastModeDetector.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: HighContrastModeDetector, providedIn: 'root' });
|
|
2349
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: HighContrastModeDetector, decorators: [{
|
|
2327
2350
|
type: Injectable,
|
|
2328
2351
|
args: [{ providedIn: 'root' }]
|
|
2329
2352
|
}], ctorParameters: function () { return [{ type: i1.Platform }, { type: undefined, decorators: [{
|
|
@@ -2343,10 +2366,10 @@ class A11yModule {
|
|
|
2343
2366
|
highContrastModeDetector._applyBodyHighContrastModeCssClasses();
|
|
2344
2367
|
}
|
|
2345
2368
|
}
|
|
2346
|
-
A11yModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.
|
|
2347
|
-
A11yModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.
|
|
2348
|
-
A11yModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.
|
|
2349
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.
|
|
2369
|
+
A11yModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: A11yModule, deps: [{ token: HighContrastModeDetector }], target: i0.ɵɵFactoryTarget.NgModule });
|
|
2370
|
+
A11yModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: A11yModule, declarations: [CdkAriaLive, CdkTrapFocus, CdkMonitorFocus], imports: [PlatformModule, ObserversModule], exports: [CdkAriaLive, CdkTrapFocus, CdkMonitorFocus] });
|
|
2371
|
+
A11yModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: A11yModule, imports: [[PlatformModule, ObserversModule]] });
|
|
2372
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: A11yModule, decorators: [{
|
|
2350
2373
|
type: NgModule,
|
|
2351
2374
|
args: [{
|
|
2352
2375
|
imports: [PlatformModule, ObserversModule],
|