@angular/cdk 10.0.2 → 10.1.3
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 +10 -1
- package/a11y/index.metadata.json +1 -1
- package/a11y/interactivity-checker/interactivity-checker.d.ts +11 -1
- package/a11y/key-manager/list-key-manager.d.ts +6 -0
- package/accordion/accordion.d.ts +7 -1
- package/accordion/index.d.ts +1 -0
- package/accordion/index.metadata.json +1 -1
- package/bundles/cdk-a11y.umd.js +514 -410
- package/bundles/cdk-a11y.umd.js.map +1 -1
- package/bundles/cdk-a11y.umd.min.js +35 -11
- package/bundles/cdk-a11y.umd.min.js.map +1 -1
- package/bundles/cdk-accordion.umd.js +47 -39
- package/bundles/cdk-accordion.umd.js.map +1 -1
- package/bundles/cdk-accordion.umd.min.js +10 -2
- package/bundles/cdk-accordion.umd.min.js.map +1 -1
- package/bundles/cdk-bidi.umd.js +25 -25
- package/bundles/cdk-bidi.umd.js.map +1 -1
- package/bundles/cdk-bidi.umd.min.js +5 -4
- package/bundles/cdk-bidi.umd.min.js.map +1 -1
- package/bundles/cdk-clipboard.umd.js +37 -36
- package/bundles/cdk-clipboard.umd.js.map +1 -1
- package/bundles/cdk-clipboard.umd.min.js +10 -2
- package/bundles/cdk-clipboard.umd.min.js.map +1 -1
- package/bundles/cdk-coercion.umd.js.map +1 -1
- package/bundles/cdk-collections.umd.js +303 -237
- package/bundles/cdk-collections.umd.js.map +1 -1
- package/bundles/cdk-collections.umd.min.js +3 -9
- package/bundles/cdk-collections.umd.min.js.map +1 -1
- package/bundles/cdk-drag-drop.umd.js +1059 -927
- package/bundles/cdk-drag-drop.umd.js.map +1 -1
- package/bundles/cdk-drag-drop.umd.min.js +72 -10
- package/bundles/cdk-drag-drop.umd.min.js.map +1 -1
- package/bundles/cdk-keycodes.umd.js.map +1 -1
- package/bundles/cdk-layout.umd.js +18 -18
- package/bundles/cdk-layout.umd.js.map +1 -1
- package/bundles/cdk-layout.umd.min.js +6 -5
- package/bundles/cdk-layout.umd.min.js.map +1 -1
- package/bundles/cdk-observers.umd.js +34 -34
- package/bundles/cdk-observers.umd.js.map +1 -1
- package/bundles/cdk-observers.umd.min.js +2 -2
- package/bundles/cdk-observers.umd.min.js.map +1 -1
- package/bundles/cdk-overlay.umd.js +638 -416
- package/bundles/cdk-overlay.umd.js.map +1 -1
- package/bundles/cdk-overlay.umd.min.js +51 -12
- package/bundles/cdk-overlay.umd.min.js.map +1 -1
- package/bundles/cdk-platform.umd.js +10 -10
- package/bundles/cdk-platform.umd.js.map +1 -1
- package/bundles/cdk-platform.umd.min.js +4 -11
- package/bundles/cdk-platform.umd.min.js.map +1 -1
- package/bundles/cdk-portal.umd.js +355 -300
- package/bundles/cdk-portal.umd.js.map +1 -1
- package/bundles/cdk-portal.umd.min.js +4 -5
- package/bundles/cdk-portal.umd.min.js.map +1 -1
- package/bundles/cdk-scrolling.umd.js +482 -392
- package/bundles/cdk-scrolling.umd.js.map +1 -1
- package/bundles/cdk-scrolling.umd.min.js +20 -12
- package/bundles/cdk-scrolling.umd.min.js.map +1 -1
- package/bundles/cdk-stepper.umd.js +117 -117
- package/bundles/cdk-stepper.umd.js.map +1 -1
- package/bundles/cdk-stepper.umd.min.js +11 -2
- package/bundles/cdk-stepper.umd.min.js.map +1 -1
- package/bundles/cdk-table.umd.js +862 -607
- package/bundles/cdk-table.umd.js.map +1 -1
- package/bundles/cdk-table.umd.min.js +8 -15
- package/bundles/cdk-table.umd.min.js.map +1 -1
- package/bundles/cdk-testing-protractor.umd.js +300 -241
- package/bundles/cdk-testing-protractor.umd.js.map +1 -1
- package/bundles/cdk-testing-protractor.umd.min.js +2 -9
- package/bundles/cdk-testing-protractor.umd.min.js.map +1 -1
- package/bundles/cdk-testing-testbed.umd.js +337 -276
- package/bundles/cdk-testing-testbed.umd.js.map +1 -1
- package/bundles/cdk-testing-testbed.umd.min.js +7 -30
- package/bundles/cdk-testing-testbed.umd.min.js.map +1 -1
- package/bundles/cdk-testing.umd.js +358 -270
- package/bundles/cdk-testing.umd.js.map +1 -1
- package/bundles/cdk-testing.umd.min.js +3 -18
- package/bundles/cdk-testing.umd.min.js.map +1 -1
- package/bundles/cdk-text-field.umd.js +51 -51
- package/bundles/cdk-text-field.umd.js.map +1 -1
- package/bundles/cdk-text-field.umd.min.js +10 -2
- package/bundles/cdk-text-field.umd.min.js.map +1 -1
- package/bundles/cdk-tree.umd.js +449 -396
- package/bundles/cdk-tree.umd.js.map +1 -1
- package/bundles/cdk-tree.umd.min.js +28 -3
- package/bundles/cdk-tree.umd.min.js.map +1 -1
- package/bundles/cdk.umd.js +1 -1
- package/bundles/cdk.umd.js.map +1 -1
- package/bundles/cdk.umd.min.js +1 -1
- package/bundles/cdk.umd.min.js.map +1 -1
- package/drag-drop/clone-node.d.ts +9 -0
- package/drag-drop/directives/drag-handle.d.ts +8 -2
- package/drag-drop/directives/drag-placeholder.d.ts +7 -1
- package/drag-drop/directives/drag-preview.d.ts +7 -1
- package/drag-drop/directives/drag.d.ts +3 -7
- package/drag-drop/directives/drop-list-group.d.ts +7 -1
- package/drag-drop/directives/drop-list.d.ts +7 -1
- package/drag-drop/index.d.ts +2 -2
- package/drag-drop/index.metadata.json +1 -1
- package/drag-drop/parent-position-tracker.d.ts +1 -1
- package/esm2015/a11y/aria-describer/aria-describer.js +21 -7
- package/esm2015/a11y/focus-trap/configurable-focus-trap-factory.js +3 -3
- package/esm2015/a11y/focus-trap/focus-trap.js +1 -1
- package/esm2015/a11y/interactivity-checker/interactivity-checker.js +43 -30
- package/esm2015/a11y/key-manager/list-key-manager.js +27 -2
- package/esm2015/a11y/live-announcer/live-announcer.js +1 -1
- package/esm2015/accordion/accordion-item.js +7 -7
- package/esm2015/accordion/accordion.js +9 -2
- package/esm2015/accordion/index.js +2 -1
- package/esm2015/clipboard/pending-copy.js +7 -6
- package/esm2015/drag-drop/clone-node.js +54 -0
- package/esm2015/drag-drop/directives/drag-handle.js +12 -5
- package/esm2015/drag-drop/directives/drag-placeholder.js +10 -3
- package/esm2015/drag-drop/directives/drag-preview.js +10 -3
- package/esm2015/drag-drop/directives/drag.js +19 -15
- package/esm2015/drag-drop/directives/drop-list-group.js +9 -2
- package/esm2015/drag-drop/directives/drop-list.js +19 -8
- package/esm2015/drag-drop/drag-ref.js +2 -29
- package/esm2015/drag-drop/index.js +3 -2
- package/esm2015/layout/breakpoints-observer.js +1 -1
- package/esm2015/overlay/dispatchers/base-overlay-dispatcher.js +51 -0
- package/esm2015/overlay/dispatchers/index.js +10 -0
- package/esm2015/overlay/dispatchers/overlay-keyboard-dispatcher.js +79 -0
- package/esm2015/overlay/dispatchers/overlay-outside-click-dispatcher.js +94 -0
- package/esm2015/overlay/index.js +5 -4
- package/esm2015/overlay/overlay-config.js +5 -1
- package/esm2015/overlay/overlay-directives.js +34 -8
- package/esm2015/overlay/overlay-module.js +2 -2
- package/esm2015/overlay/overlay-ref.js +24 -2
- package/esm2015/overlay/overlay-reference.js +1 -1
- package/esm2015/overlay/overlay.js +10 -5
- package/esm2015/overlay/position/connected-position-strategy.js +1 -5
- package/esm2015/overlay/position/flexible-connected-position-strategy.js +3 -3
- package/esm2015/overlay/position/overlay-position-builder.js +1 -1
- package/esm2015/overlay/public-api.js +2 -2
- package/esm2015/portal/dom-portal-outlet.js +5 -2
- package/esm2015/scrolling/public-api.js +2 -1
- package/esm2015/scrolling/scrolling-module.js +4 -1
- package/esm2015/scrolling/viewport-ruler.js +24 -10
- package/esm2015/scrolling/virtual-for-of.js +26 -12
- package/esm2015/scrolling/virtual-scroll-repeater.js +8 -0
- package/esm2015/scrolling/virtual-scroll-viewport.js +2 -2
- package/esm2015/table/cell.js +18 -3
- package/esm2015/table/coalesced-style-scheduler.js +87 -0
- package/esm2015/table/public-api.js +2 -1
- package/esm2015/table/sticky-styler.js +79 -45
- package/esm2015/table/table.js +33 -12
- package/esm2015/testing/component-harness.js +19 -1
- package/esm2015/testing/harness-environment.js +7 -1
- package/esm2015/testing/testbed/fake-events/dispatch-events.js +5 -4
- package/esm2015/testing/testbed/fake-events/event-objects.js +10 -7
- package/esm2015/testing/testbed/fake-events/type-in-element.js +4 -4
- package/esm2015/testing/testbed/unit-test-element.js +20 -12
- package/esm2015/tree/control/nested-tree-control.js +7 -3
- package/esm2015/tree/tree.js +9 -23
- package/esm2015/version.js +1 -1
- package/fesm2015/a11y.js +88 -38
- package/fesm2015/a11y.js.map +1 -1
- package/fesm2015/accordion.js +13 -6
- package/fesm2015/accordion.js.map +1 -1
- package/fesm2015/cdk.js +1 -1
- package/fesm2015/cdk.js.map +1 -1
- package/fesm2015/clipboard.js +6 -5
- package/fesm2015/clipboard.js.map +1 -1
- package/fesm2015/drag-drop.js +669 -600
- package/fesm2015/drag-drop.js.map +1 -1
- package/fesm2015/overlay.js +215 -40
- package/fesm2015/overlay.js.map +1 -1
- package/fesm2015/portal.js +4 -1
- package/fesm2015/portal.js.map +1 -1
- package/fesm2015/scrolling.js +60 -21
- package/fesm2015/scrolling.js.map +1 -1
- package/fesm2015/table.js +214 -61
- package/fesm2015/table.js.map +1 -1
- package/fesm2015/testing/testbed.js +35 -23
- package/fesm2015/testing/testbed.js.map +1 -1
- package/fesm2015/testing.js +25 -1
- package/fesm2015/testing.js.map +1 -1
- package/fesm2015/tree.js +13 -23
- package/fesm2015/tree.js.map +1 -1
- package/overlay/dispatchers/base-overlay-dispatcher.d.ts +28 -0
- package/overlay/dispatchers/index.d.ts +9 -0
- package/overlay/{keyboard → dispatchers}/overlay-keyboard-dispatcher.d.ts +4 -10
- package/overlay/dispatchers/overlay-outside-click-dispatcher.d.ts +27 -0
- package/overlay/index.d.ts +4 -3
- package/overlay/index.metadata.json +1 -1
- package/overlay/overlay-config.d.ts +4 -0
- package/overlay/overlay-directives.d.ts +5 -0
- package/overlay/overlay-ref.d.ts +8 -2
- package/overlay/overlay-reference.d.ts +1 -0
- package/overlay/overlay.d.ts +4 -2
- package/overlay/position/connected-position-strategy.d.ts +0 -2
- package/overlay/public-api.d.ts +1 -1
- package/package.json +1 -1
- package/schematics/ng-add/index.js +1 -1
- package/scrolling/index.metadata.json +1 -1
- package/scrolling/public-api.d.ts +1 -0
- package/scrolling/scrolling-module.d.ts +3 -0
- package/scrolling/viewport-ruler.d.ts +2 -2
- package/scrolling/virtual-for-of.d.ts +2 -1
- package/scrolling/virtual-scroll-repeater.d.ts +16 -0
- package/scrolling/virtual-scroll-viewport.d.ts +4 -4
- package/table/cell.d.ts +13 -0
- package/table/coalesced-style-scheduler.d.ts +41 -0
- package/table/index.metadata.json +1 -1
- package/table/public-api.d.ts +1 -0
- package/table/sticky-styler.d.ts +7 -1
- package/table/table.d.ts +9 -1
- package/testing/component-harness.d.ts +12 -0
- package/testing/harness-environment.d.ts +1 -0
- package/testing/testbed/fake-events/dispatch-events.d.ts +3 -2
- package/testing/testbed/fake-events/event-objects.d.ts +2 -2
- package/testing/testbed/unit-test-element.d.ts +7 -0
- package/tree/control/nested-tree-control.d.ts +7 -2
- package/tree/index.metadata.json +1 -1
- package/tree/tree.d.ts +2 -4
- package/esm2015/overlay/keyboard/overlay-keyboard-dispatcher.js +0 -96
package/bundles/cdk-a11y.umd.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
(function (global, factory) {
|
|
2
|
-
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/common'), require('@angular/core'), require('rxjs'), require('@angular/cdk/keycodes'), require('rxjs/operators'), require('@angular/cdk/coercion'), require('@angular/cdk/
|
|
3
|
-
typeof define === 'function' && define.amd ? define('@angular/cdk/a11y', ['exports', '@angular/common', '@angular/core', 'rxjs', '@angular/cdk/keycodes', 'rxjs/operators', '@angular/cdk/coercion', '@angular/cdk/
|
|
4
|
-
(global = global || self, factory((global.ng = global.ng || {}, global.ng.cdk = global.ng.cdk || {}, global.ng.cdk.a11y = {}), global.ng.common, global.ng.core, global.rxjs, global.ng.cdk.keycodes, global.rxjs.operators, global.ng.cdk.coercion, global.ng.cdk.
|
|
5
|
-
}(this, (function (exports, i2, i0, rxjs, keycodes, operators, coercion,
|
|
2
|
+
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/common'), require('@angular/core'), require('@angular/cdk/platform'), require('rxjs'), require('@angular/cdk/keycodes'), require('rxjs/operators'), require('@angular/cdk/coercion'), require('@angular/cdk/observers')) :
|
|
3
|
+
typeof define === 'function' && define.amd ? define('@angular/cdk/a11y', ['exports', '@angular/common', '@angular/core', '@angular/cdk/platform', 'rxjs', '@angular/cdk/keycodes', 'rxjs/operators', '@angular/cdk/coercion', '@angular/cdk/observers'], factory) :
|
|
4
|
+
(global = global || self, factory((global.ng = global.ng || {}, global.ng.cdk = global.ng.cdk || {}, global.ng.cdk.a11y = {}), global.ng.common, global.ng.core, global.ng.cdk.platform, global.rxjs, global.ng.cdk.keycodes, global.rxjs.operators, global.ng.cdk.coercion, global.ng.cdk.observers));
|
|
5
|
+
}(this, (function (exports, i2, i0, i1, rxjs, keycodes, operators, coercion, observers) { 'use strict';
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
8
|
* @license
|
|
@@ -73,7 +73,12 @@
|
|
|
73
73
|
* content.
|
|
74
74
|
*/
|
|
75
75
|
var AriaDescriber = /** @class */ (function () {
|
|
76
|
-
function AriaDescriber(_document
|
|
76
|
+
function AriaDescriber(_document,
|
|
77
|
+
/**
|
|
78
|
+
* @breaking-change 8.0.0 `_platform` parameter to be made required.
|
|
79
|
+
*/
|
|
80
|
+
_platform) {
|
|
81
|
+
this._platform = _platform;
|
|
77
82
|
this._document = _document;
|
|
78
83
|
}
|
|
79
84
|
/**
|
|
@@ -99,7 +104,7 @@
|
|
|
99
104
|
};
|
|
100
105
|
/** Removes the host element's aria-describedby reference to the message element. */
|
|
101
106
|
AriaDescriber.prototype.removeDescription = function (hostElement, message) {
|
|
102
|
-
if (!this._isElementNode(hostElement)) {
|
|
107
|
+
if (!message || !this._isElementNode(hostElement)) {
|
|
103
108
|
return;
|
|
104
109
|
}
|
|
105
110
|
if (this._isElementDescribedByMessage(hostElement, message)) {
|
|
@@ -159,6 +164,8 @@
|
|
|
159
164
|
/** Creates the global container for all aria-describedby messages. */
|
|
160
165
|
AriaDescriber.prototype._createMessagesContainer = function () {
|
|
161
166
|
if (!messagesContainer) {
|
|
167
|
+
// @breaking-change 8.0.0 `_platform` null check can be removed once the parameter is required
|
|
168
|
+
var canBeAriaHidden = !this._platform || (!this._platform.EDGE && !this._platform.TRIDENT);
|
|
162
169
|
var preExistingContainer = this._document.getElementById(MESSAGES_CONTAINER_ID);
|
|
163
170
|
// When going from the server to the client, we may end up in a situation where there's
|
|
164
171
|
// already a container on the page, but we don't have a reference to it. Clear the
|
|
@@ -169,8 +176,12 @@
|
|
|
169
176
|
}
|
|
170
177
|
messagesContainer = this._document.createElement('div');
|
|
171
178
|
messagesContainer.id = MESSAGES_CONTAINER_ID;
|
|
172
|
-
messagesContainer.
|
|
173
|
-
|
|
179
|
+
messagesContainer.classList.add('cdk-visually-hidden');
|
|
180
|
+
// IE and Edge won't read out the messages if they're in an `aria-hidden` container.
|
|
181
|
+
// We only disable `aria-hidden` for these platforms, because it comes with the
|
|
182
|
+
// disadvantage that people might hit the messages when they've navigated past
|
|
183
|
+
// the end of the document using the arrow keys.
|
|
184
|
+
messagesContainer.setAttribute('aria-hidden', canBeAriaHidden + '');
|
|
174
185
|
this._document.body.appendChild(messagesContainer);
|
|
175
186
|
}
|
|
176
187
|
};
|
|
@@ -238,242 +249,316 @@
|
|
|
238
249
|
AriaDescriber.prototype._isElementNode = function (element) {
|
|
239
250
|
return element.nodeType === this._document.ELEMENT_NODE;
|
|
240
251
|
};
|
|
241
|
-
AriaDescriber.ɵprov = i0.ɵɵdefineInjectable({ factory: function AriaDescriber_Factory() { return new AriaDescriber(i0.ɵɵinject(i2.DOCUMENT)); }, token: AriaDescriber, providedIn: "root" });
|
|
242
|
-
AriaDescriber.decorators = [
|
|
243
|
-
{ type: i0.Injectable, args: [{ providedIn: 'root' },] }
|
|
244
|
-
];
|
|
245
|
-
AriaDescriber.ctorParameters = function () { return [
|
|
246
|
-
{ type: undefined, decorators: [{ type: i0.Inject, args: [i2.DOCUMENT,] }] }
|
|
247
|
-
]; };
|
|
248
252
|
return AriaDescriber;
|
|
249
253
|
}());
|
|
254
|
+
AriaDescriber.ɵprov = i0.ɵɵdefineInjectable({ factory: function AriaDescriber_Factory() { return new AriaDescriber(i0.ɵɵinject(i2.DOCUMENT), i0.ɵɵinject(i1.Platform)); }, token: AriaDescriber, providedIn: "root" });
|
|
255
|
+
AriaDescriber.decorators = [
|
|
256
|
+
{ type: i0.Injectable, args: [{ providedIn: 'root' },] }
|
|
257
|
+
];
|
|
258
|
+
AriaDescriber.ctorParameters = function () { return [
|
|
259
|
+
{ type: undefined, decorators: [{ type: i0.Inject, args: [i2.DOCUMENT,] }] },
|
|
260
|
+
{ type: i1.Platform }
|
|
261
|
+
]; };
|
|
262
|
+
|
|
263
|
+
/*! *****************************************************************************
|
|
264
|
+
Copyright (c) Microsoft Corporation.
|
|
250
265
|
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
function __param(paramIndex, decorator) {
|
|
311
|
-
return function (target, key) { decorator(target, key, paramIndex); }
|
|
312
|
-
}
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
}
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
return
|
|
409
|
-
}
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
}
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
function
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
return
|
|
469
|
-
}
|
|
470
|
-
|
|
471
|
-
function
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
266
|
+
Permission to use, copy, modify, and/or distribute this software for any
|
|
267
|
+
purpose with or without fee is hereby granted.
|
|
268
|
+
|
|
269
|
+
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
270
|
+
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
271
|
+
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
272
|
+
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
273
|
+
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
274
|
+
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
275
|
+
PERFORMANCE OF THIS SOFTWARE.
|
|
276
|
+
***************************************************************************** */
|
|
277
|
+
/* global Reflect, Promise */
|
|
278
|
+
var extendStatics = function (d, b) {
|
|
279
|
+
extendStatics = Object.setPrototypeOf ||
|
|
280
|
+
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
281
|
+
function (d, b) { for (var p in b)
|
|
282
|
+
if (b.hasOwnProperty(p))
|
|
283
|
+
d[p] = b[p]; };
|
|
284
|
+
return extendStatics(d, b);
|
|
285
|
+
};
|
|
286
|
+
function __extends(d, b) {
|
|
287
|
+
extendStatics(d, b);
|
|
288
|
+
function __() { this.constructor = d; }
|
|
289
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
290
|
+
}
|
|
291
|
+
var __assign = function () {
|
|
292
|
+
__assign = Object.assign || function __assign(t) {
|
|
293
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
294
|
+
s = arguments[i];
|
|
295
|
+
for (var p in s)
|
|
296
|
+
if (Object.prototype.hasOwnProperty.call(s, p))
|
|
297
|
+
t[p] = s[p];
|
|
298
|
+
}
|
|
299
|
+
return t;
|
|
300
|
+
};
|
|
301
|
+
return __assign.apply(this, arguments);
|
|
302
|
+
};
|
|
303
|
+
function __rest(s, e) {
|
|
304
|
+
var t = {};
|
|
305
|
+
for (var p in s)
|
|
306
|
+
if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
307
|
+
t[p] = s[p];
|
|
308
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
309
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
310
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
311
|
+
t[p[i]] = s[p[i]];
|
|
312
|
+
}
|
|
313
|
+
return t;
|
|
314
|
+
}
|
|
315
|
+
function __decorate(decorators, target, key, desc) {
|
|
316
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
317
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
|
|
318
|
+
r = Reflect.decorate(decorators, target, key, desc);
|
|
319
|
+
else
|
|
320
|
+
for (var i = decorators.length - 1; i >= 0; i--)
|
|
321
|
+
if (d = decorators[i])
|
|
322
|
+
r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
323
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
324
|
+
}
|
|
325
|
+
function __param(paramIndex, decorator) {
|
|
326
|
+
return function (target, key) { decorator(target, key, paramIndex); };
|
|
327
|
+
}
|
|
328
|
+
function __metadata(metadataKey, metadataValue) {
|
|
329
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
|
|
330
|
+
return Reflect.metadata(metadataKey, metadataValue);
|
|
331
|
+
}
|
|
332
|
+
function __awaiter(thisArg, _arguments, P, generator) {
|
|
333
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
334
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
335
|
+
function fulfilled(value) { try {
|
|
336
|
+
step(generator.next(value));
|
|
337
|
+
}
|
|
338
|
+
catch (e) {
|
|
339
|
+
reject(e);
|
|
340
|
+
} }
|
|
341
|
+
function rejected(value) { try {
|
|
342
|
+
step(generator["throw"](value));
|
|
343
|
+
}
|
|
344
|
+
catch (e) {
|
|
345
|
+
reject(e);
|
|
346
|
+
} }
|
|
347
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
348
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
349
|
+
});
|
|
350
|
+
}
|
|
351
|
+
function __generator(thisArg, body) {
|
|
352
|
+
var _ = { label: 0, sent: function () { if (t[0] & 1)
|
|
353
|
+
throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
354
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function () { return this; }), g;
|
|
355
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
356
|
+
function step(op) {
|
|
357
|
+
if (f)
|
|
358
|
+
throw new TypeError("Generator is already executing.");
|
|
359
|
+
while (_)
|
|
360
|
+
try {
|
|
361
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done)
|
|
362
|
+
return t;
|
|
363
|
+
if (y = 0, t)
|
|
364
|
+
op = [op[0] & 2, t.value];
|
|
365
|
+
switch (op[0]) {
|
|
366
|
+
case 0:
|
|
367
|
+
case 1:
|
|
368
|
+
t = op;
|
|
369
|
+
break;
|
|
370
|
+
case 4:
|
|
371
|
+
_.label++;
|
|
372
|
+
return { value: op[1], done: false };
|
|
373
|
+
case 5:
|
|
374
|
+
_.label++;
|
|
375
|
+
y = op[1];
|
|
376
|
+
op = [0];
|
|
377
|
+
continue;
|
|
378
|
+
case 7:
|
|
379
|
+
op = _.ops.pop();
|
|
380
|
+
_.trys.pop();
|
|
381
|
+
continue;
|
|
382
|
+
default:
|
|
383
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
|
|
384
|
+
_ = 0;
|
|
385
|
+
continue;
|
|
386
|
+
}
|
|
387
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) {
|
|
388
|
+
_.label = op[1];
|
|
389
|
+
break;
|
|
390
|
+
}
|
|
391
|
+
if (op[0] === 6 && _.label < t[1]) {
|
|
392
|
+
_.label = t[1];
|
|
393
|
+
t = op;
|
|
394
|
+
break;
|
|
395
|
+
}
|
|
396
|
+
if (t && _.label < t[2]) {
|
|
397
|
+
_.label = t[2];
|
|
398
|
+
_.ops.push(op);
|
|
399
|
+
break;
|
|
400
|
+
}
|
|
401
|
+
if (t[2])
|
|
402
|
+
_.ops.pop();
|
|
403
|
+
_.trys.pop();
|
|
404
|
+
continue;
|
|
405
|
+
}
|
|
406
|
+
op = body.call(thisArg, _);
|
|
407
|
+
}
|
|
408
|
+
catch (e) {
|
|
409
|
+
op = [6, e];
|
|
410
|
+
y = 0;
|
|
411
|
+
}
|
|
412
|
+
finally {
|
|
413
|
+
f = t = 0;
|
|
414
|
+
}
|
|
415
|
+
if (op[0] & 5)
|
|
416
|
+
throw op[1];
|
|
417
|
+
return { value: op[0] ? op[1] : void 0, done: true };
|
|
418
|
+
}
|
|
419
|
+
}
|
|
420
|
+
var __createBinding = Object.create ? (function (o, m, k, k2) {
|
|
421
|
+
if (k2 === undefined)
|
|
422
|
+
k2 = k;
|
|
423
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function () { return m[k]; } });
|
|
424
|
+
}) : (function (o, m, k, k2) {
|
|
425
|
+
if (k2 === undefined)
|
|
426
|
+
k2 = k;
|
|
427
|
+
o[k2] = m[k];
|
|
428
|
+
});
|
|
429
|
+
function __exportStar(m, exports) {
|
|
430
|
+
for (var p in m)
|
|
431
|
+
if (p !== "default" && !exports.hasOwnProperty(p))
|
|
432
|
+
__createBinding(exports, m, p);
|
|
433
|
+
}
|
|
434
|
+
function __values(o) {
|
|
435
|
+
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
436
|
+
if (m)
|
|
437
|
+
return m.call(o);
|
|
438
|
+
if (o && typeof o.length === "number")
|
|
439
|
+
return {
|
|
440
|
+
next: function () {
|
|
441
|
+
if (o && i >= o.length)
|
|
442
|
+
o = void 0;
|
|
443
|
+
return { value: o && o[i++], done: !o };
|
|
444
|
+
}
|
|
445
|
+
};
|
|
446
|
+
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
447
|
+
}
|
|
448
|
+
function __read(o, n) {
|
|
449
|
+
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
450
|
+
if (!m)
|
|
451
|
+
return o;
|
|
452
|
+
var i = m.call(o), r, ar = [], e;
|
|
453
|
+
try {
|
|
454
|
+
while ((n === void 0 || n-- > 0) && !(r = i.next()).done)
|
|
455
|
+
ar.push(r.value);
|
|
456
|
+
}
|
|
457
|
+
catch (error) {
|
|
458
|
+
e = { error: error };
|
|
459
|
+
}
|
|
460
|
+
finally {
|
|
461
|
+
try {
|
|
462
|
+
if (r && !r.done && (m = i["return"]))
|
|
463
|
+
m.call(i);
|
|
464
|
+
}
|
|
465
|
+
finally {
|
|
466
|
+
if (e)
|
|
467
|
+
throw e.error;
|
|
468
|
+
}
|
|
469
|
+
}
|
|
470
|
+
return ar;
|
|
471
|
+
}
|
|
472
|
+
function __spread() {
|
|
473
|
+
for (var ar = [], i = 0; i < arguments.length; i++)
|
|
474
|
+
ar = ar.concat(__read(arguments[i]));
|
|
475
|
+
return ar;
|
|
476
|
+
}
|
|
477
|
+
function __spreadArrays() {
|
|
478
|
+
for (var s = 0, i = 0, il = arguments.length; i < il; i++)
|
|
479
|
+
s += arguments[i].length;
|
|
480
|
+
for (var r = Array(s), k = 0, i = 0; i < il; i++)
|
|
481
|
+
for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
|
|
482
|
+
r[k] = a[j];
|
|
483
|
+
return r;
|
|
484
|
+
}
|
|
485
|
+
;
|
|
486
|
+
function __await(v) {
|
|
487
|
+
return this instanceof __await ? (this.v = v, this) : new __await(v);
|
|
488
|
+
}
|
|
489
|
+
function __asyncGenerator(thisArg, _arguments, generator) {
|
|
490
|
+
if (!Symbol.asyncIterator)
|
|
491
|
+
throw new TypeError("Symbol.asyncIterator is not defined.");
|
|
492
|
+
var g = generator.apply(thisArg, _arguments || []), i, q = [];
|
|
493
|
+
return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
|
|
494
|
+
function verb(n) { if (g[n])
|
|
495
|
+
i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
|
|
496
|
+
function resume(n, v) { try {
|
|
497
|
+
step(g[n](v));
|
|
498
|
+
}
|
|
499
|
+
catch (e) {
|
|
500
|
+
settle(q[0][3], e);
|
|
501
|
+
} }
|
|
502
|
+
function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
|
|
503
|
+
function fulfill(value) { resume("next", value); }
|
|
504
|
+
function reject(value) { resume("throw", value); }
|
|
505
|
+
function settle(f, v) { if (f(v), q.shift(), q.length)
|
|
506
|
+
resume(q[0][0], q[0][1]); }
|
|
507
|
+
}
|
|
508
|
+
function __asyncDelegator(o) {
|
|
509
|
+
var i, p;
|
|
510
|
+
return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i;
|
|
511
|
+
function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === "return" } : f ? f(v) : v; } : f; }
|
|
512
|
+
}
|
|
513
|
+
function __asyncValues(o) {
|
|
514
|
+
if (!Symbol.asyncIterator)
|
|
515
|
+
throw new TypeError("Symbol.asyncIterator is not defined.");
|
|
516
|
+
var m = o[Symbol.asyncIterator], i;
|
|
517
|
+
return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
|
|
518
|
+
function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
|
|
519
|
+
function settle(resolve, reject, d, v) { Promise.resolve(v).then(function (v) { resolve({ value: v, done: d }); }, reject); }
|
|
520
|
+
}
|
|
521
|
+
function __makeTemplateObject(cooked, raw) {
|
|
522
|
+
if (Object.defineProperty) {
|
|
523
|
+
Object.defineProperty(cooked, "raw", { value: raw });
|
|
524
|
+
}
|
|
525
|
+
else {
|
|
526
|
+
cooked.raw = raw;
|
|
527
|
+
}
|
|
528
|
+
return cooked;
|
|
529
|
+
}
|
|
530
|
+
;
|
|
531
|
+
var __setModuleDefault = Object.create ? (function (o, v) {
|
|
532
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
533
|
+
}) : function (o, v) {
|
|
534
|
+
o["default"] = v;
|
|
535
|
+
};
|
|
536
|
+
function __importStar(mod) {
|
|
537
|
+
if (mod && mod.__esModule)
|
|
538
|
+
return mod;
|
|
539
|
+
var result = {};
|
|
540
|
+
if (mod != null)
|
|
541
|
+
for (var k in mod)
|
|
542
|
+
if (Object.hasOwnProperty.call(mod, k))
|
|
543
|
+
__createBinding(result, mod, k);
|
|
544
|
+
__setModuleDefault(result, mod);
|
|
545
|
+
return result;
|
|
546
|
+
}
|
|
547
|
+
function __importDefault(mod) {
|
|
548
|
+
return (mod && mod.__esModule) ? mod : { default: mod };
|
|
549
|
+
}
|
|
550
|
+
function __classPrivateFieldGet(receiver, privateMap) {
|
|
551
|
+
if (!privateMap.has(receiver)) {
|
|
552
|
+
throw new TypeError("attempted to get private field on non-instance");
|
|
553
|
+
}
|
|
554
|
+
return privateMap.get(receiver);
|
|
555
|
+
}
|
|
556
|
+
function __classPrivateFieldSet(receiver, privateMap, value) {
|
|
557
|
+
if (!privateMap.has(receiver)) {
|
|
558
|
+
throw new TypeError("attempted to set private field on non-instance");
|
|
559
|
+
}
|
|
560
|
+
privateMap.set(receiver, value);
|
|
561
|
+
return value;
|
|
477
562
|
}
|
|
478
563
|
|
|
479
564
|
/**
|
|
@@ -498,6 +583,7 @@
|
|
|
498
583
|
this._typeaheadSubscription = rxjs.Subscription.EMPTY;
|
|
499
584
|
this._vertical = true;
|
|
500
585
|
this._allowedModifierKeys = [];
|
|
586
|
+
this._homeAndEnd = false;
|
|
501
587
|
/**
|
|
502
588
|
* Predicate function that can be used to check whether an item should be skipped
|
|
503
589
|
* by the key manager. By default, disabled items are skipped.
|
|
@@ -603,6 +689,14 @@
|
|
|
603
689
|
});
|
|
604
690
|
return this;
|
|
605
691
|
};
|
|
692
|
+
/**
|
|
693
|
+
* Configures the key manager to focus the first and last items
|
|
694
|
+
* respectively when the Home key and End Key are pressed.
|
|
695
|
+
*/
|
|
696
|
+
ListKeyManager.prototype.withHomeAndEnd = function () {
|
|
697
|
+
this._homeAndEnd = true;
|
|
698
|
+
return this;
|
|
699
|
+
};
|
|
606
700
|
ListKeyManager.prototype.setActiveItem = function (item) {
|
|
607
701
|
var previousActiveItem = this._activeItem;
|
|
608
702
|
this.updateActiveItem(item);
|
|
@@ -657,6 +751,22 @@
|
|
|
657
751
|
else {
|
|
658
752
|
return;
|
|
659
753
|
}
|
|
754
|
+
case keycodes.HOME:
|
|
755
|
+
if (this._homeAndEnd && isModifierAllowed) {
|
|
756
|
+
this.setFirstItemActive();
|
|
757
|
+
break;
|
|
758
|
+
}
|
|
759
|
+
else {
|
|
760
|
+
return;
|
|
761
|
+
}
|
|
762
|
+
case keycodes.END:
|
|
763
|
+
if (this._homeAndEnd && isModifierAllowed) {
|
|
764
|
+
this.setLastItemActive();
|
|
765
|
+
break;
|
|
766
|
+
}
|
|
767
|
+
else {
|
|
768
|
+
return;
|
|
769
|
+
}
|
|
660
770
|
default:
|
|
661
771
|
if (isModifierAllowed || keycodes.hasModifierKey(event, 'shiftKey')) {
|
|
662
772
|
// Attempt to use the `event.key` which also maps it to the user's keyboard language,
|
|
@@ -777,13 +887,6 @@
|
|
|
777
887
|
return ListKeyManager;
|
|
778
888
|
}());
|
|
779
889
|
|
|
780
|
-
/**
|
|
781
|
-
* @license
|
|
782
|
-
* Copyright Google LLC All Rights Reserved.
|
|
783
|
-
*
|
|
784
|
-
* Use of this source code is governed by an MIT-style license that can be
|
|
785
|
-
* found in the LICENSE file at https://angular.io/license
|
|
786
|
-
*/
|
|
787
890
|
var ActiveDescendantKeyManager = /** @class */ (function (_super) {
|
|
788
891
|
__extends(ActiveDescendantKeyManager, _super);
|
|
789
892
|
function ActiveDescendantKeyManager() {
|
|
@@ -801,17 +904,10 @@
|
|
|
801
904
|
return ActiveDescendantKeyManager;
|
|
802
905
|
}(ListKeyManager));
|
|
803
906
|
|
|
804
|
-
/**
|
|
805
|
-
* @license
|
|
806
|
-
* Copyright Google LLC All Rights Reserved.
|
|
807
|
-
*
|
|
808
|
-
* Use of this source code is governed by an MIT-style license that can be
|
|
809
|
-
* found in the LICENSE file at https://angular.io/license
|
|
810
|
-
*/
|
|
811
907
|
var FocusKeyManager = /** @class */ (function (_super) {
|
|
812
908
|
__extends(FocusKeyManager, _super);
|
|
813
909
|
function FocusKeyManager() {
|
|
814
|
-
var _this = _super
|
|
910
|
+
var _this = _super.apply(this, __spread(arguments)) || this;
|
|
815
911
|
_this._origin = 'program';
|
|
816
912
|
return _this;
|
|
817
913
|
}
|
|
@@ -839,6 +935,18 @@
|
|
|
839
935
|
* Use of this source code is governed by an MIT-style license that can be
|
|
840
936
|
* found in the LICENSE file at https://angular.io/license
|
|
841
937
|
*/
|
|
938
|
+
/**
|
|
939
|
+
* Configuration for the isFocusable method.
|
|
940
|
+
*/
|
|
941
|
+
var IsFocusableConfig = /** @class */ (function () {
|
|
942
|
+
function IsFocusableConfig() {
|
|
943
|
+
/**
|
|
944
|
+
* Whether to count an element as focusable even if it is not currently visible.
|
|
945
|
+
*/
|
|
946
|
+
this.ignoreVisibility = false;
|
|
947
|
+
}
|
|
948
|
+
return IsFocusableConfig;
|
|
949
|
+
}());
|
|
842
950
|
// The InteractivityChecker leans heavily on the ally.js accessibility utilities.
|
|
843
951
|
// Methods like `isTabbable` are only covering specific edge-cases for the browsers which are
|
|
844
952
|
// supported.
|
|
@@ -886,17 +994,12 @@
|
|
|
886
994
|
}
|
|
887
995
|
var frameElement = getFrameElement(getWindow(element));
|
|
888
996
|
if (frameElement) {
|
|
889
|
-
var frameType = frameElement && frameElement.nodeName.toLowerCase();
|
|
890
997
|
// Frame elements inherit their tabindex onto all child elements.
|
|
891
998
|
if (getTabIndexValue(frameElement) === -1) {
|
|
892
999
|
return false;
|
|
893
1000
|
}
|
|
894
|
-
//
|
|
895
|
-
if (
|
|
896
|
-
return false;
|
|
897
|
-
}
|
|
898
|
-
// Webkit and Blink disable tabbing to an element inside of an invisible frame.
|
|
899
|
-
if ((this._platform.BLINK || this._platform.WEBKIT) && !this.isVisible(frameElement)) {
|
|
1001
|
+
// Browsers disable tabbing to an element inside of an invisible frame.
|
|
1002
|
+
if (!this.isVisible(frameElement)) {
|
|
900
1003
|
return false;
|
|
901
1004
|
}
|
|
902
1005
|
}
|
|
@@ -905,38 +1008,43 @@
|
|
|
905
1008
|
if (element.hasAttribute('contenteditable')) {
|
|
906
1009
|
return tabIndexValue !== -1;
|
|
907
1010
|
}
|
|
908
|
-
if (nodeName === 'iframe') {
|
|
909
|
-
// The
|
|
910
|
-
//
|
|
1011
|
+
if (nodeName === 'iframe' || nodeName === 'object') {
|
|
1012
|
+
// The frame or object's content may be tabbable depending on the content, but it's
|
|
1013
|
+
// not possibly to reliably detect the content of the frames. We always consider such
|
|
1014
|
+
// elements as non-tabbable.
|
|
1015
|
+
return false;
|
|
1016
|
+
}
|
|
1017
|
+
// In iOS, the browser only considers some specific elements as tabbable.
|
|
1018
|
+
if (this._platform.WEBKIT && this._platform.IOS && !isPotentiallyTabbableIOS(element)) {
|
|
911
1019
|
return false;
|
|
912
1020
|
}
|
|
913
1021
|
if (nodeName === 'audio') {
|
|
1022
|
+
// Audio elements without controls enabled are never tabbable, regardless
|
|
1023
|
+
// of the tabindex attribute explicitly being set.
|
|
914
1024
|
if (!element.hasAttribute('controls')) {
|
|
915
|
-
// By default an <audio> element without the controls enabled is not tabbable.
|
|
916
1025
|
return false;
|
|
917
1026
|
}
|
|
918
|
-
|
|
919
|
-
|
|
920
|
-
|
|
921
|
-
}
|
|
1027
|
+
// Audio elements with controls are by default tabbable unless the
|
|
1028
|
+
// tabindex attribute is set to `-1` explicitly.
|
|
1029
|
+
return tabIndexValue !== -1;
|
|
922
1030
|
}
|
|
923
1031
|
if (nodeName === 'video') {
|
|
924
|
-
if
|
|
925
|
-
|
|
1032
|
+
// For all video elements, if the tabindex attribute is set to `-1`, the video
|
|
1033
|
+
// is not tabbable. Note: We cannot rely on the default `HTMLElement.tabIndex`
|
|
1034
|
+
// property as that one is set to `-1` in Chrome, Edge and Safari v13.1. The
|
|
1035
|
+
// tabindex attribute is the source of truth here.
|
|
1036
|
+
if (tabIndexValue === -1) {
|
|
926
1037
|
return false;
|
|
927
1038
|
}
|
|
928
|
-
|
|
929
|
-
|
|
1039
|
+
// If the tabindex is explicitly set, and not `-1` (as per check before), the
|
|
1040
|
+
// video element is always tabbable (regardless of whether it has controls or not).
|
|
1041
|
+
if (tabIndexValue !== null) {
|
|
930
1042
|
return true;
|
|
931
1043
|
}
|
|
932
|
-
|
|
933
|
-
|
|
934
|
-
//
|
|
935
|
-
return
|
|
936
|
-
}
|
|
937
|
-
// In iOS the browser only considers some specific elements as tabbable.
|
|
938
|
-
if (this._platform.WEBKIT && this._platform.IOS && !isPotentiallyTabbableIOS(element)) {
|
|
939
|
-
return false;
|
|
1044
|
+
// Otherwise (when no explicit tabindex is set), a video is only tabbable if it
|
|
1045
|
+
// has controls enabled. Firefox is special as videos are always tabbable regardless
|
|
1046
|
+
// of whether there are controls or not.
|
|
1047
|
+
return this._platform.FIREFOX || element.hasAttribute('controls');
|
|
940
1048
|
}
|
|
941
1049
|
return element.tabIndex >= 0;
|
|
942
1050
|
};
|
|
@@ -944,22 +1052,24 @@
|
|
|
944
1052
|
* Gets whether an element can be focused by the user.
|
|
945
1053
|
*
|
|
946
1054
|
* @param element Element to be checked.
|
|
1055
|
+
* @param config The config object with options to customize this method's behavior
|
|
947
1056
|
* @returns Whether the element is focusable.
|
|
948
1057
|
*/
|
|
949
|
-
InteractivityChecker.prototype.isFocusable = function (element) {
|
|
1058
|
+
InteractivityChecker.prototype.isFocusable = function (element, config) {
|
|
950
1059
|
// Perform checks in order of left to most expensive.
|
|
951
1060
|
// Again, naive approach that does not capture many edge cases and browser quirks.
|
|
952
|
-
return isPotentiallyFocusable(element) && !this.isDisabled(element) &&
|
|
953
|
-
|
|
954
|
-
|
|
955
|
-
InteractivityChecker.decorators = [
|
|
956
|
-
{ type: i0.Injectable, args: [{ providedIn: 'root' },] }
|
|
957
|
-
];
|
|
958
|
-
InteractivityChecker.ctorParameters = function () { return [
|
|
959
|
-
{ type: i1.Platform }
|
|
960
|
-
]; };
|
|
1061
|
+
return isPotentiallyFocusable(element) && !this.isDisabled(element) &&
|
|
1062
|
+
((config === null || config === void 0 ? void 0 : config.ignoreVisibility) || this.isVisible(element));
|
|
1063
|
+
};
|
|
961
1064
|
return InteractivityChecker;
|
|
962
1065
|
}());
|
|
1066
|
+
InteractivityChecker.ɵprov = i0.ɵɵdefineInjectable({ factory: function InteractivityChecker_Factory() { return new InteractivityChecker(i0.ɵɵinject(i1.Platform)); }, token: InteractivityChecker, providedIn: "root" });
|
|
1067
|
+
InteractivityChecker.decorators = [
|
|
1068
|
+
{ type: i0.Injectable, args: [{ providedIn: 'root' },] }
|
|
1069
|
+
];
|
|
1070
|
+
InteractivityChecker.ctorParameters = function () { return [
|
|
1071
|
+
{ type: i1.Platform }
|
|
1072
|
+
]; };
|
|
963
1073
|
/**
|
|
964
1074
|
* Returns the frame element from a window object. Since browsers like MS Edge throw errors if
|
|
965
1075
|
* the frameElement property is being accessed from a different host address, this property
|
|
@@ -1367,17 +1477,17 @@
|
|
|
1367
1477
|
if (deferCaptureElements === void 0) { deferCaptureElements = false; }
|
|
1368
1478
|
return new FocusTrap(element, this._checker, this._ngZone, this._document, deferCaptureElements);
|
|
1369
1479
|
};
|
|
1370
|
-
FocusTrapFactory.ɵprov = i0.ɵɵdefineInjectable({ factory: function FocusTrapFactory_Factory() { return new FocusTrapFactory(i0.ɵɵinject(InteractivityChecker), i0.ɵɵinject(i0.NgZone), i0.ɵɵinject(i2.DOCUMENT)); }, token: FocusTrapFactory, providedIn: "root" });
|
|
1371
|
-
FocusTrapFactory.decorators = [
|
|
1372
|
-
{ type: i0.Injectable, args: [{ providedIn: 'root' },] }
|
|
1373
|
-
];
|
|
1374
|
-
FocusTrapFactory.ctorParameters = function () { return [
|
|
1375
|
-
{ type: InteractivityChecker },
|
|
1376
|
-
{ type: i0.NgZone },
|
|
1377
|
-
{ type: undefined, decorators: [{ type: i0.Inject, args: [i2.DOCUMENT,] }] }
|
|
1378
|
-
]; };
|
|
1379
1480
|
return FocusTrapFactory;
|
|
1380
1481
|
}());
|
|
1482
|
+
FocusTrapFactory.ɵprov = i0.ɵɵdefineInjectable({ factory: function FocusTrapFactory_Factory() { return new FocusTrapFactory(i0.ɵɵinject(InteractivityChecker), i0.ɵɵinject(i0.NgZone), i0.ɵɵinject(i2.DOCUMENT)); }, token: FocusTrapFactory, providedIn: "root" });
|
|
1483
|
+
FocusTrapFactory.decorators = [
|
|
1484
|
+
{ type: i0.Injectable, args: [{ providedIn: 'root' },] }
|
|
1485
|
+
];
|
|
1486
|
+
FocusTrapFactory.ctorParameters = function () { return [
|
|
1487
|
+
{ type: InteractivityChecker },
|
|
1488
|
+
{ type: i0.NgZone },
|
|
1489
|
+
{ type: undefined, decorators: [{ type: i0.Inject, args: [i2.DOCUMENT,] }] }
|
|
1490
|
+
]; };
|
|
1381
1491
|
/** Directive for trapping focus within a region. */
|
|
1382
1492
|
var CdkTrapFocus = /** @class */ (function () {
|
|
1383
1493
|
function CdkTrapFocus(_elementRef, _focusTrapFactory, _document) {
|
|
@@ -1436,31 +1546,24 @@
|
|
|
1436
1546
|
this._previouslyFocusedElement = this._document.activeElement;
|
|
1437
1547
|
this.focusTrap.focusInitialElementWhenReady();
|
|
1438
1548
|
};
|
|
1439
|
-
CdkTrapFocus.decorators = [
|
|
1440
|
-
{ type: i0.Directive, args: [{
|
|
1441
|
-
selector: '[cdkTrapFocus]',
|
|
1442
|
-
exportAs: 'cdkTrapFocus',
|
|
1443
|
-
},] }
|
|
1444
|
-
];
|
|
1445
|
-
CdkTrapFocus.ctorParameters = function () { return [
|
|
1446
|
-
{ type: i0.ElementRef },
|
|
1447
|
-
{ type: FocusTrapFactory },
|
|
1448
|
-
{ type: undefined, decorators: [{ type: i0.Inject, args: [i2.DOCUMENT,] }] }
|
|
1449
|
-
]; };
|
|
1450
|
-
CdkTrapFocus.propDecorators = {
|
|
1451
|
-
enabled: [{ type: i0.Input, args: ['cdkTrapFocus',] }],
|
|
1452
|
-
autoCapture: [{ type: i0.Input, args: ['cdkTrapFocusAutoCapture',] }]
|
|
1453
|
-
};
|
|
1454
1549
|
return CdkTrapFocus;
|
|
1455
1550
|
}());
|
|
1551
|
+
CdkTrapFocus.decorators = [
|
|
1552
|
+
{ type: i0.Directive, args: [{
|
|
1553
|
+
selector: '[cdkTrapFocus]',
|
|
1554
|
+
exportAs: 'cdkTrapFocus',
|
|
1555
|
+
},] }
|
|
1556
|
+
];
|
|
1557
|
+
CdkTrapFocus.ctorParameters = function () { return [
|
|
1558
|
+
{ type: i0.ElementRef },
|
|
1559
|
+
{ type: FocusTrapFactory },
|
|
1560
|
+
{ type: undefined, decorators: [{ type: i0.Inject, args: [i2.DOCUMENT,] }] }
|
|
1561
|
+
]; };
|
|
1562
|
+
CdkTrapFocus.propDecorators = {
|
|
1563
|
+
enabled: [{ type: i0.Input, args: ['cdkTrapFocus',] }],
|
|
1564
|
+
autoCapture: [{ type: i0.Input, args: ['cdkTrapFocusAutoCapture',] }]
|
|
1565
|
+
};
|
|
1456
1566
|
|
|
1457
|
-
/**
|
|
1458
|
-
* @license
|
|
1459
|
-
* Copyright Google LLC All Rights Reserved.
|
|
1460
|
-
*
|
|
1461
|
-
* Use of this source code is governed by an MIT-style license that can be
|
|
1462
|
-
* found in the LICENSE file at https://angular.io/license
|
|
1463
|
-
*/
|
|
1464
1567
|
/**
|
|
1465
1568
|
* Class that allows for trapping focus within a DOM element.
|
|
1466
1569
|
*
|
|
@@ -1682,12 +1785,12 @@
|
|
|
1682
1785
|
}
|
|
1683
1786
|
}
|
|
1684
1787
|
};
|
|
1685
|
-
FocusTrapManager.ɵprov = i0.ɵɵdefineInjectable({ factory: function FocusTrapManager_Factory() { return new FocusTrapManager(); }, token: FocusTrapManager, providedIn: "root" });
|
|
1686
|
-
FocusTrapManager.decorators = [
|
|
1687
|
-
{ type: i0.Injectable, args: [{ providedIn: 'root' },] }
|
|
1688
|
-
];
|
|
1689
1788
|
return FocusTrapManager;
|
|
1690
1789
|
}());
|
|
1790
|
+
FocusTrapManager.ɵprov = i0.ɵɵdefineInjectable({ factory: function FocusTrapManager_Factory() { return new FocusTrapManager(); }, token: FocusTrapManager, providedIn: "root" });
|
|
1791
|
+
FocusTrapManager.decorators = [
|
|
1792
|
+
{ type: i0.Injectable, args: [{ providedIn: 'root' },] }
|
|
1793
|
+
];
|
|
1691
1794
|
|
|
1692
1795
|
/**
|
|
1693
1796
|
* @license
|
|
@@ -1718,19 +1821,19 @@
|
|
|
1718
1821
|
}
|
|
1719
1822
|
return new ConfigurableFocusTrap(element, this._checker, this._ngZone, this._document, this._focusTrapManager, this._inertStrategy, configObject);
|
|
1720
1823
|
};
|
|
1721
|
-
ConfigurableFocusTrapFactory.ɵprov = i0.ɵɵdefineInjectable({ factory: function ConfigurableFocusTrapFactory_Factory() { return new ConfigurableFocusTrapFactory(i0.ɵɵinject(InteractivityChecker), i0.ɵɵinject(i0.NgZone), i0.ɵɵinject(FocusTrapManager), i0.ɵɵinject(i2.DOCUMENT), i0.ɵɵinject(FOCUS_TRAP_INERT_STRATEGY, 8)); }, token: ConfigurableFocusTrapFactory, providedIn: "root" });
|
|
1722
|
-
ConfigurableFocusTrapFactory.decorators = [
|
|
1723
|
-
{ type: i0.Injectable, args: [{ providedIn: 'root' },] }
|
|
1724
|
-
];
|
|
1725
|
-
ConfigurableFocusTrapFactory.ctorParameters = function () { return [
|
|
1726
|
-
{ type: InteractivityChecker },
|
|
1727
|
-
{ type: i0.NgZone },
|
|
1728
|
-
{ type: FocusTrapManager },
|
|
1729
|
-
{ type: undefined, decorators: [{ type: i0.Inject, args: [i2.DOCUMENT,] }] },
|
|
1730
|
-
{ type: undefined, decorators: [{ type: i0.Optional }, { type: i0.Inject, args: [FOCUS_TRAP_INERT_STRATEGY,] }] }
|
|
1731
|
-
]; };
|
|
1732
1824
|
return ConfigurableFocusTrapFactory;
|
|
1733
1825
|
}());
|
|
1826
|
+
ConfigurableFocusTrapFactory.ɵprov = i0.ɵɵdefineInjectable({ factory: function ConfigurableFocusTrapFactory_Factory() { return new ConfigurableFocusTrapFactory(i0.ɵɵinject(InteractivityChecker), i0.ɵɵinject(i0.NgZone), i0.ɵɵinject(FocusTrapManager), i0.ɵɵinject(i2.DOCUMENT), i0.ɵɵinject(FOCUS_TRAP_INERT_STRATEGY, 8)); }, token: ConfigurableFocusTrapFactory, providedIn: "root" });
|
|
1827
|
+
ConfigurableFocusTrapFactory.decorators = [
|
|
1828
|
+
{ type: i0.Injectable, args: [{ providedIn: 'root' },] }
|
|
1829
|
+
];
|
|
1830
|
+
ConfigurableFocusTrapFactory.ctorParameters = function () { return [
|
|
1831
|
+
{ type: InteractivityChecker },
|
|
1832
|
+
{ type: i0.NgZone },
|
|
1833
|
+
{ type: FocusTrapManager },
|
|
1834
|
+
{ type: undefined, decorators: [{ type: i0.Inject, args: [i2.DOCUMENT,] }] },
|
|
1835
|
+
{ type: undefined, decorators: [{ type: i0.Optional }, { type: i0.Inject, args: [FOCUS_TRAP_INERT_STRATEGY,] }] }
|
|
1836
|
+
]; };
|
|
1734
1837
|
|
|
1735
1838
|
/**
|
|
1736
1839
|
* @license
|
|
@@ -1837,18 +1940,18 @@
|
|
|
1837
1940
|
this._document.body.appendChild(liveEl);
|
|
1838
1941
|
return liveEl;
|
|
1839
1942
|
};
|
|
1840
|
-
LiveAnnouncer.ɵprov = i0.ɵɵdefineInjectable({ factory: function LiveAnnouncer_Factory() { return new LiveAnnouncer(i0.ɵɵinject(LIVE_ANNOUNCER_ELEMENT_TOKEN, 8), i0.ɵɵinject(i0.NgZone), i0.ɵɵinject(i2.DOCUMENT), i0.ɵɵinject(LIVE_ANNOUNCER_DEFAULT_OPTIONS, 8)); }, token: LiveAnnouncer, providedIn: "root" });
|
|
1841
|
-
LiveAnnouncer.decorators = [
|
|
1842
|
-
{ type: i0.Injectable, args: [{ providedIn: 'root' },] }
|
|
1843
|
-
];
|
|
1844
|
-
LiveAnnouncer.ctorParameters = function () { return [
|
|
1845
|
-
{ type: undefined, decorators: [{ type: i0.Optional }, { type: i0.Inject, args: [LIVE_ANNOUNCER_ELEMENT_TOKEN,] }] },
|
|
1846
|
-
{ type: i0.NgZone },
|
|
1847
|
-
{ type: undefined, decorators: [{ type: i0.Inject, args: [i2.DOCUMENT,] }] },
|
|
1848
|
-
{ type: undefined, decorators: [{ type: i0.Optional }, { type: i0.Inject, args: [LIVE_ANNOUNCER_DEFAULT_OPTIONS,] }] }
|
|
1849
|
-
]; };
|
|
1850
1943
|
return LiveAnnouncer;
|
|
1851
1944
|
}());
|
|
1945
|
+
LiveAnnouncer.ɵprov = i0.ɵɵdefineInjectable({ factory: function LiveAnnouncer_Factory() { return new LiveAnnouncer(i0.ɵɵinject(LIVE_ANNOUNCER_ELEMENT_TOKEN, 8), i0.ɵɵinject(i0.NgZone), i0.ɵɵinject(i2.DOCUMENT), i0.ɵɵinject(LIVE_ANNOUNCER_DEFAULT_OPTIONS, 8)); }, token: LiveAnnouncer, providedIn: "root" });
|
|
1946
|
+
LiveAnnouncer.decorators = [
|
|
1947
|
+
{ type: i0.Injectable, args: [{ providedIn: 'root' },] }
|
|
1948
|
+
];
|
|
1949
|
+
LiveAnnouncer.ctorParameters = function () { return [
|
|
1950
|
+
{ type: undefined, decorators: [{ type: i0.Optional }, { type: i0.Inject, args: [LIVE_ANNOUNCER_ELEMENT_TOKEN,] }] },
|
|
1951
|
+
{ type: i0.NgZone },
|
|
1952
|
+
{ type: undefined, decorators: [{ type: i0.Inject, args: [i2.DOCUMENT,] }] },
|
|
1953
|
+
{ type: undefined, decorators: [{ type: i0.Optional }, { type: i0.Inject, args: [LIVE_ANNOUNCER_DEFAULT_OPTIONS,] }] }
|
|
1954
|
+
]; };
|
|
1852
1955
|
/**
|
|
1853
1956
|
* A directive that works similarly to aria-live, but uses the LiveAnnouncer to ensure compatibility
|
|
1854
1957
|
* with a wider range of browsers and screen readers.
|
|
@@ -1898,23 +2001,23 @@
|
|
|
1898
2001
|
this._subscription.unsubscribe();
|
|
1899
2002
|
}
|
|
1900
2003
|
};
|
|
1901
|
-
CdkAriaLive.decorators = [
|
|
1902
|
-
{ type: i0.Directive, args: [{
|
|
1903
|
-
selector: '[cdkAriaLive]',
|
|
1904
|
-
exportAs: 'cdkAriaLive',
|
|
1905
|
-
},] }
|
|
1906
|
-
];
|
|
1907
|
-
CdkAriaLive.ctorParameters = function () { return [
|
|
1908
|
-
{ type: i0.ElementRef },
|
|
1909
|
-
{ type: LiveAnnouncer },
|
|
1910
|
-
{ type: observers.ContentObserver },
|
|
1911
|
-
{ type: i0.NgZone }
|
|
1912
|
-
]; };
|
|
1913
|
-
CdkAriaLive.propDecorators = {
|
|
1914
|
-
politeness: [{ type: i0.Input, args: ['cdkAriaLive',] }]
|
|
1915
|
-
};
|
|
1916
2004
|
return CdkAriaLive;
|
|
1917
2005
|
}());
|
|
2006
|
+
CdkAriaLive.decorators = [
|
|
2007
|
+
{ type: i0.Directive, args: [{
|
|
2008
|
+
selector: '[cdkAriaLive]',
|
|
2009
|
+
exportAs: 'cdkAriaLive',
|
|
2010
|
+
},] }
|
|
2011
|
+
];
|
|
2012
|
+
CdkAriaLive.ctorParameters = function () { return [
|
|
2013
|
+
{ type: i0.ElementRef },
|
|
2014
|
+
{ type: LiveAnnouncer },
|
|
2015
|
+
{ type: observers.ContentObserver },
|
|
2016
|
+
{ type: i0.NgZone }
|
|
2017
|
+
]; };
|
|
2018
|
+
CdkAriaLive.propDecorators = {
|
|
2019
|
+
politeness: [{ type: i0.Input, args: ['cdkAriaLive',] }]
|
|
2020
|
+
};
|
|
1918
2021
|
|
|
1919
2022
|
/**
|
|
1920
2023
|
* @license
|
|
@@ -2270,30 +2373,30 @@
|
|
|
2270
2373
|
}
|
|
2271
2374
|
// Unregister global listeners when last element is unmonitored.
|
|
2272
2375
|
if (!--this._monitoredElementCount) {
|
|
2273
|
-
var
|
|
2274
|
-
var
|
|
2275
|
-
|
|
2276
|
-
|
|
2277
|
-
|
|
2278
|
-
|
|
2376
|
+
var document = this._getDocument();
|
|
2377
|
+
var window = this._getWindow();
|
|
2378
|
+
document.removeEventListener('keydown', this._documentKeydownListener, captureEventListenerOptions);
|
|
2379
|
+
document.removeEventListener('mousedown', this._documentMousedownListener, captureEventListenerOptions);
|
|
2380
|
+
document.removeEventListener('touchstart', this._documentTouchstartListener, captureEventListenerOptions);
|
|
2381
|
+
window.removeEventListener('focus', this._windowFocusListener);
|
|
2279
2382
|
// Clear timeouts for all potentially pending timeouts to prevent the leaks.
|
|
2280
2383
|
clearTimeout(this._windowFocusTimeoutId);
|
|
2281
2384
|
clearTimeout(this._touchTimeoutId);
|
|
2282
2385
|
clearTimeout(this._originTimeoutId);
|
|
2283
2386
|
}
|
|
2284
2387
|
};
|
|
2285
|
-
FocusMonitor.ɵprov = i0.ɵɵdefineInjectable({ factory: function FocusMonitor_Factory() { return new FocusMonitor(i0.ɵɵinject(i0.NgZone), i0.ɵɵinject(i1.Platform), i0.ɵɵinject(i2.DOCUMENT, 8), i0.ɵɵinject(FOCUS_MONITOR_DEFAULT_OPTIONS, 8)); }, token: FocusMonitor, providedIn: "root" });
|
|
2286
|
-
FocusMonitor.decorators = [
|
|
2287
|
-
{ type: i0.Injectable, args: [{ providedIn: 'root' },] }
|
|
2288
|
-
];
|
|
2289
|
-
FocusMonitor.ctorParameters = function () { return [
|
|
2290
|
-
{ type: i0.NgZone },
|
|
2291
|
-
{ type: i1.Platform },
|
|
2292
|
-
{ type: undefined, decorators: [{ type: i0.Optional }, { type: i0.Inject, args: [i2.DOCUMENT,] }] },
|
|
2293
|
-
{ type: undefined, decorators: [{ type: i0.Optional }, { type: i0.Inject, args: [FOCUS_MONITOR_DEFAULT_OPTIONS,] }] }
|
|
2294
|
-
]; };
|
|
2295
2388
|
return FocusMonitor;
|
|
2296
2389
|
}());
|
|
2390
|
+
FocusMonitor.ɵprov = i0.ɵɵdefineInjectable({ factory: function FocusMonitor_Factory() { return new FocusMonitor(i0.ɵɵinject(i0.NgZone), i0.ɵɵinject(i1.Platform), i0.ɵɵinject(i2.DOCUMENT, 8), i0.ɵɵinject(FOCUS_MONITOR_DEFAULT_OPTIONS, 8)); }, token: FocusMonitor, providedIn: "root" });
|
|
2391
|
+
FocusMonitor.decorators = [
|
|
2392
|
+
{ type: i0.Injectable, args: [{ providedIn: 'root' },] }
|
|
2393
|
+
];
|
|
2394
|
+
FocusMonitor.ctorParameters = function () { return [
|
|
2395
|
+
{ type: i0.NgZone },
|
|
2396
|
+
{ type: i1.Platform },
|
|
2397
|
+
{ type: undefined, decorators: [{ type: i0.Optional }, { type: i0.Inject, args: [i2.DOCUMENT,] }] },
|
|
2398
|
+
{ type: undefined, decorators: [{ type: i0.Optional }, { type: i0.Inject, args: [FOCUS_MONITOR_DEFAULT_OPTIONS,] }] }
|
|
2399
|
+
]; };
|
|
2297
2400
|
/** Gets the target of an event, accounting for Shadow DOM. */
|
|
2298
2401
|
function getTarget(event) {
|
|
2299
2402
|
// If an event is bound outside the Shadow DOM, the `event.target` will
|
|
@@ -2326,20 +2429,20 @@
|
|
|
2326
2429
|
this._monitorSubscription.unsubscribe();
|
|
2327
2430
|
}
|
|
2328
2431
|
};
|
|
2329
|
-
CdkMonitorFocus.decorators = [
|
|
2330
|
-
{ type: i0.Directive, args: [{
|
|
2331
|
-
selector: '[cdkMonitorElementFocus], [cdkMonitorSubtreeFocus]',
|
|
2332
|
-
},] }
|
|
2333
|
-
];
|
|
2334
|
-
CdkMonitorFocus.ctorParameters = function () { return [
|
|
2335
|
-
{ type: i0.ElementRef },
|
|
2336
|
-
{ type: FocusMonitor }
|
|
2337
|
-
]; };
|
|
2338
|
-
CdkMonitorFocus.propDecorators = {
|
|
2339
|
-
cdkFocusChange: [{ type: i0.Output }]
|
|
2340
|
-
};
|
|
2341
2432
|
return CdkMonitorFocus;
|
|
2342
2433
|
}());
|
|
2434
|
+
CdkMonitorFocus.decorators = [
|
|
2435
|
+
{ type: i0.Directive, args: [{
|
|
2436
|
+
selector: '[cdkMonitorElementFocus], [cdkMonitorSubtreeFocus]',
|
|
2437
|
+
},] }
|
|
2438
|
+
];
|
|
2439
|
+
CdkMonitorFocus.ctorParameters = function () { return [
|
|
2440
|
+
{ type: i0.ElementRef },
|
|
2441
|
+
{ type: FocusMonitor }
|
|
2442
|
+
]; };
|
|
2443
|
+
CdkMonitorFocus.propDecorators = {
|
|
2444
|
+
cdkFocusChange: [{ type: i0.Output }]
|
|
2445
|
+
};
|
|
2343
2446
|
|
|
2344
2447
|
/**
|
|
2345
2448
|
* @license
|
|
@@ -2416,16 +2519,16 @@
|
|
|
2416
2519
|
}
|
|
2417
2520
|
}
|
|
2418
2521
|
};
|
|
2419
|
-
HighContrastModeDetector.ɵprov = i0.ɵɵdefineInjectable({ factory: function HighContrastModeDetector_Factory() { return new HighContrastModeDetector(i0.ɵɵinject(i1.Platform), i0.ɵɵinject(i2.DOCUMENT)); }, token: HighContrastModeDetector, providedIn: "root" });
|
|
2420
|
-
HighContrastModeDetector.decorators = [
|
|
2421
|
-
{ type: i0.Injectable, args: [{ providedIn: 'root' },] }
|
|
2422
|
-
];
|
|
2423
|
-
HighContrastModeDetector.ctorParameters = function () { return [
|
|
2424
|
-
{ type: i1.Platform },
|
|
2425
|
-
{ type: undefined, decorators: [{ type: i0.Inject, args: [i2.DOCUMENT,] }] }
|
|
2426
|
-
]; };
|
|
2427
2522
|
return HighContrastModeDetector;
|
|
2428
2523
|
}());
|
|
2524
|
+
HighContrastModeDetector.ɵprov = i0.ɵɵdefineInjectable({ factory: function HighContrastModeDetector_Factory() { return new HighContrastModeDetector(i0.ɵɵinject(i1.Platform), i0.ɵɵinject(i2.DOCUMENT)); }, token: HighContrastModeDetector, providedIn: "root" });
|
|
2525
|
+
HighContrastModeDetector.decorators = [
|
|
2526
|
+
{ type: i0.Injectable, args: [{ providedIn: 'root' },] }
|
|
2527
|
+
];
|
|
2528
|
+
HighContrastModeDetector.ctorParameters = function () { return [
|
|
2529
|
+
{ type: i1.Platform },
|
|
2530
|
+
{ type: undefined, decorators: [{ type: i0.Inject, args: [i2.DOCUMENT,] }] }
|
|
2531
|
+
]; };
|
|
2429
2532
|
|
|
2430
2533
|
/**
|
|
2431
2534
|
* @license
|
|
@@ -2438,18 +2541,18 @@
|
|
|
2438
2541
|
function A11yModule(highContrastModeDetector) {
|
|
2439
2542
|
highContrastModeDetector._applyBodyHighContrastModeCssClasses();
|
|
2440
2543
|
}
|
|
2441
|
-
A11yModule.decorators = [
|
|
2442
|
-
{ type: i0.NgModule, args: [{
|
|
2443
|
-
imports: [i1.PlatformModule, observers.ObserversModule],
|
|
2444
|
-
declarations: [CdkAriaLive, CdkTrapFocus, CdkMonitorFocus],
|
|
2445
|
-
exports: [CdkAriaLive, CdkTrapFocus, CdkMonitorFocus],
|
|
2446
|
-
},] }
|
|
2447
|
-
];
|
|
2448
|
-
A11yModule.ctorParameters = function () { return [
|
|
2449
|
-
{ type: HighContrastModeDetector }
|
|
2450
|
-
]; };
|
|
2451
2544
|
return A11yModule;
|
|
2452
2545
|
}());
|
|
2546
|
+
A11yModule.decorators = [
|
|
2547
|
+
{ type: i0.NgModule, args: [{
|
|
2548
|
+
imports: [i1.PlatformModule, observers.ObserversModule],
|
|
2549
|
+
declarations: [CdkAriaLive, CdkTrapFocus, CdkMonitorFocus],
|
|
2550
|
+
exports: [CdkAriaLive, CdkTrapFocus, CdkMonitorFocus],
|
|
2551
|
+
},] }
|
|
2552
|
+
];
|
|
2553
|
+
A11yModule.ctorParameters = function () { return [
|
|
2554
|
+
{ type: HighContrastModeDetector }
|
|
2555
|
+
]; };
|
|
2453
2556
|
|
|
2454
2557
|
/**
|
|
2455
2558
|
* @license
|
|
@@ -2482,6 +2585,7 @@
|
|
|
2482
2585
|
exports.FocusTrapFactory = FocusTrapFactory;
|
|
2483
2586
|
exports.HighContrastModeDetector = HighContrastModeDetector;
|
|
2484
2587
|
exports.InteractivityChecker = InteractivityChecker;
|
|
2588
|
+
exports.IsFocusableConfig = IsFocusableConfig;
|
|
2485
2589
|
exports.LIVE_ANNOUNCER_DEFAULT_OPTIONS = LIVE_ANNOUNCER_DEFAULT_OPTIONS;
|
|
2486
2590
|
exports.LIVE_ANNOUNCER_ELEMENT_TOKEN = LIVE_ANNOUNCER_ELEMENT_TOKEN;
|
|
2487
2591
|
exports.LIVE_ANNOUNCER_ELEMENT_TOKEN_FACTORY = LIVE_ANNOUNCER_ELEMENT_TOKEN_FACTORY;
|