@angular/cdk 13.0.0-next.6 → 13.0.0-rc.1
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/a11y-module.d.ts +9 -7
- package/a11y/aria-describer/aria-describer.d.ts +3 -7
- package/a11y/focus-monitor/focus-monitor.d.ts +5 -0
- package/a11y/focus-trap/configurable-focus-trap-factory.d.ts +3 -7
- package/a11y/focus-trap/focus-trap-manager.d.ts +3 -7
- package/a11y/focus-trap/focus-trap.d.ts +5 -0
- package/a11y/high-contrast-mode/high-contrast-mode-detector.d.ts +3 -0
- package/a11y/index.d.ts +0 -1
- package/a11y/input-modality/input-modality-detector.d.ts +3 -7
- package/a11y/interactivity-checker/interactivity-checker.d.ts +3 -0
- package/a11y/live-announcer/live-announcer.d.ts +6 -1
- package/a11y/package.json +5 -5
- package/accordion/accordion-item.d.ts +3 -0
- package/accordion/accordion-module.d.ts +6 -7
- package/accordion/accordion.d.ts +3 -0
- package/accordion/index.d.ts +0 -1
- package/accordion/package.json +5 -5
- package/bidi/bidi-module.d.ts +5 -7
- package/bidi/dir.d.ts +3 -0
- package/bidi/directionality.d.ts +3 -0
- package/bidi/index.d.ts +0 -1
- package/bidi/package.json +5 -5
- package/clipboard/clipboard-module.d.ts +5 -7
- package/clipboard/clipboard.d.ts +3 -7
- package/clipboard/copy-to-clipboard.d.ts +3 -0
- package/clipboard/package.json +5 -5
- package/coercion/package.json +5 -5
- package/collections/package.json +5 -5
- package/collections/unique-selection-dispatcher.d.ts +3 -0
- package/drag-drop/client-rect.d.ts +8 -1
- package/drag-drop/directives/drag-handle.d.ts +3 -0
- package/drag-drop/directives/drag-placeholder.d.ts +3 -0
- package/drag-drop/directives/drag-preview.d.ts +3 -0
- package/drag-drop/directives/drag.d.ts +3 -0
- package/drag-drop/directives/drop-list-group.d.ts +3 -0
- package/drag-drop/directives/drop-list.d.ts +3 -0
- package/drag-drop/drag-drop-module.d.ts +11 -7
- package/drag-drop/drag-drop-registry.d.ts +3 -0
- package/drag-drop/drag-drop.d.ts +3 -0
- package/drag-drop/index.d.ts +0 -1
- package/drag-drop/package.json +5 -5
- package/esm2020/a11y/a11y-module.mjs +33 -0
- package/esm2020/a11y/aria-describer/aria-describer.mjs +208 -0
- package/{esm2015/a11y/aria-describer/aria-reference.js → esm2020/a11y/aria-describer/aria-reference.mjs} +1 -1
- package/esm2020/a11y/fake-event-detection.mjs +29 -0
- package/esm2020/a11y/focus-monitor/focus-monitor.mjs +400 -0
- package/{esm2015/a11y/focus-trap/configurable-focus-trap-config.js → esm2020/a11y/focus-trap/configurable-focus-trap-config.mjs} +0 -0
- package/esm2020/a11y/focus-trap/configurable-focus-trap-factory.mjs +53 -0
- package/esm2020/a11y/focus-trap/configurable-focus-trap.mjs +51 -0
- package/esm2020/a11y/focus-trap/event-listener-inert-strategy.mjs +61 -0
- package/esm2020/a11y/focus-trap/focus-trap-inert-strategy.mjs +11 -0
- package/esm2020/a11y/focus-trap/focus-trap-manager.mjs +53 -0
- package/esm2020/a11y/focus-trap/focus-trap.mjs +399 -0
- package/esm2020/a11y/high-contrast-mode/high-contrast-mode-detector.mjs +95 -0
- package/esm2020/a11y/index.mjs +5 -0
- package/esm2020/a11y/input-modality/input-modality-detector.mjs +176 -0
- package/esm2020/a11y/interactivity-checker/interactivity-checker.mjs +238 -0
- package/{esm2015/a11y/key-manager/activedescendant-key-manager.js → esm2020/a11y/key-manager/activedescendant-key-manager.mjs} +1 -1
- package/{esm2015/a11y/key-manager/focus-key-manager.js → esm2020/a11y/key-manager/focus-key-manager.mjs} +0 -0
- package/esm2020/a11y/key-manager/list-key-manager.mjs +321 -0
- package/esm2020/a11y/live-announcer/live-announcer-tokens.mjs +19 -0
- package/esm2020/a11y/live-announcer/live-announcer.mjs +170 -0
- package/{esm2015/a11y/public-api.js → esm2020/a11y/public-api.mjs} +0 -0
- package/esm2020/accordion/accordion-item.mjs +167 -0
- package/esm2020/accordion/accordion-module.mjs +24 -0
- package/esm2020/accordion/accordion.mjs +70 -0
- package/esm2020/accordion/index.mjs +5 -0
- package/{esm2015/accordion/public-api.js → esm2020/accordion/public-api.mjs} +0 -0
- package/esm2020/bidi/bidi-module.mjs +23 -0
- package/{esm2015/bidi/dir-document-token.js → esm2020/bidi/dir-document-token.mjs} +1 -1
- package/esm2020/bidi/dir.mjs +67 -0
- package/esm2020/bidi/directionality.mjs +47 -0
- package/esm2020/bidi/index.mjs +5 -0
- package/{esm2015/bidi/public-api.js → esm2020/bidi/public-api.mjs} +1 -1
- package/esm2020/clipboard/clipboard-module.mjs +23 -0
- package/esm2020/clipboard/clipboard.mjs +53 -0
- package/esm2020/clipboard/copy-to-clipboard.mjs +99 -0
- package/{esm2015/clipboard/index.js → esm2020/clipboard/index.mjs} +0 -0
- package/esm2020/clipboard/pending-copy.mjs +67 -0
- package/{esm2015/clipboard/public-api.js → esm2020/clipboard/public-api.mjs} +0 -0
- package/{esm2015/coercion/array.js → esm2020/coercion/array.mjs} +0 -0
- package/{esm2015/coercion/boolean-property.js → esm2020/coercion/boolean-property.mjs} +0 -0
- package/{esm2015/coercion/css-pixel-value.js → esm2020/coercion/css-pixel-value.mjs} +0 -0
- package/{esm2015/coercion/element.js → esm2020/coercion/element.mjs} +0 -0
- package/{esm2015/coercion/index.js → esm2020/coercion/index.mjs} +0 -0
- package/{esm2015/coercion/number-property.js → esm2020/coercion/number-property.mjs} +0 -0
- package/{esm2015/coercion/public-api.js → esm2020/coercion/public-api.mjs} +0 -0
- package/{esm2015/coercion/string-array.js → esm2020/coercion/string-array.mjs} +0 -0
- package/{esm2015/collections/array-data-source.js → esm2020/collections/array-data-source.mjs} +1 -1
- package/esm2020/collections/collection-viewer.mjs +9 -0
- package/{esm2015/collections/data-source.js → esm2020/collections/data-source.mjs} +0 -0
- package/esm2020/collections/dispose-view-repeater-strategy.mjs +47 -0
- package/{esm2015/collections/index.js → esm2020/collections/index.mjs} +0 -0
- package/{esm2015/collections/public-api.js → esm2020/collections/public-api.mjs} +0 -0
- package/esm2020/collections/recycle-view-repeater-strategy.mjs +128 -0
- package/{esm2015/collections/selection-model.js → esm2020/collections/selection-model.mjs} +2 -2
- package/esm2020/collections/tree-adapter.mjs +9 -0
- package/esm2020/collections/unique-selection-dispatcher.mjs +55 -0
- package/esm2020/collections/view-repeater.mjs +14 -0
- package/esm2020/drag-drop/client-rect.mjs +64 -0
- package/esm2020/drag-drop/clone-node.mjs +65 -0
- package/esm2020/drag-drop/directives/assertions.mjs +18 -0
- package/{esm2015/drag-drop/directives/config.js → esm2020/drag-drop/directives/config.mjs} +1 -1
- package/esm2020/drag-drop/directives/drag-handle.mjs +66 -0
- package/esm2020/drag-drop/directives/drag-placeholder.mjs +36 -0
- package/esm2020/drag-drop/directives/drag-preview.mjs +47 -0
- package/esm2020/drag-drop/directives/drag.mjs +483 -0
- package/esm2020/drag-drop/directives/drop-list-group.mjs +53 -0
- package/esm2020/drag-drop/directives/drop-list.mjs +344 -0
- package/esm2020/drag-drop/drag-drop-module.mjs +57 -0
- package/esm2020/drag-drop/drag-drop-registry.mjs +231 -0
- package/esm2020/drag-drop/drag-drop.mjs +57 -0
- package/esm2020/drag-drop/drag-events.mjs +9 -0
- package/{esm2015/drag-drop/drag-parent.js → esm2020/drag-drop/drag-parent.mjs} +0 -0
- package/esm2020/drag-drop/drag-ref.mjs +1108 -0
- package/esm2020/drag-drop/drag-styling.mjs +69 -0
- package/esm2020/drag-drop/drag-utils.mjs +60 -0
- package/esm2020/drag-drop/drop-list-ref.mjs +830 -0
- package/{esm2015/drag-drop/index.js → esm2020/drag-drop/index.mjs} +1 -1
- package/{esm2015/drag-drop/parent-position-tracker.js → esm2020/drag-drop/parent-position-tracker.mjs} +2 -2
- package/{esm2015/drag-drop/public-api.js → esm2020/drag-drop/public-api.mjs} +0 -0
- package/esm2020/drag-drop/transition-duration.mjs +36 -0
- package/{esm2015/index.js → esm2020/index.mjs} +0 -0
- package/{esm2015/keycodes/index.js → esm2020/keycodes/index.mjs} +0 -0
- package/{esm2015/keycodes/keycodes.js → esm2020/keycodes/keycodes.mjs} +1 -1
- package/{esm2015/keycodes/modifiers.js → esm2020/keycodes/modifiers.mjs} +0 -0
- package/{esm2015/keycodes/public-api.js → esm2020/keycodes/public-api.mjs} +0 -0
- package/esm2020/layout/breakpoints-observer.mjs +105 -0
- package/{esm2015/layout/breakpoints.js → esm2020/layout/breakpoints.mjs} +1 -1
- package/{esm2015/layout/index.js → esm2020/layout/index.mjs} +0 -0
- package/esm2020/layout/layout-module.mjs +19 -0
- package/esm2020/layout/media-matcher.mjs +85 -0
- package/{esm2015/layout/public-api.js → esm2020/layout/public-api.mjs} +0 -0
- package/{esm2015/observers/index.js → esm2020/observers/index.mjs} +0 -0
- package/esm2020/observers/observe-content.mjs +187 -0
- package/{esm2015/observers/public-api.js → esm2020/observers/public-api.mjs} +0 -0
- package/esm2020/overlay/dispatchers/base-overlay-dispatcher.mjs +52 -0
- package/{esm2015/overlay/dispatchers/index.js → esm2020/overlay/dispatchers/index.mjs} +0 -0
- package/esm2020/overlay/dispatchers/overlay-keyboard-dispatcher.mjs +63 -0
- package/esm2020/overlay/dispatchers/overlay-outside-click-dispatcher.mjs +116 -0
- package/esm2020/overlay/fullscreen-overlay-container.mjs +94 -0
- package/esm2020/overlay/index.mjs +5 -0
- package/esm2020/overlay/overlay-config.mjs +45 -0
- package/esm2020/overlay/overlay-container.mjs +81 -0
- package/esm2020/overlay/overlay-directives.mjs +427 -0
- package/esm2020/overlay/overlay-module.mjs +29 -0
- package/esm2020/overlay/overlay-ref.mjs +402 -0
- package/{esm2015/overlay/overlay-reference.js → esm2020/overlay/overlay-reference.mjs} +0 -0
- package/esm2020/overlay/overlay.mjs +119 -0
- package/esm2020/overlay/position/connected-position.mjs +97 -0
- package/esm2020/overlay/position/flexible-connected-position-strategy.mjs +959 -0
- package/esm2020/overlay/position/global-position-strategy.mjs +203 -0
- package/esm2020/overlay/position/overlay-position-builder.mjs +50 -0
- package/{esm2015/overlay/position/position-strategy.js → esm2020/overlay/position/position-strategy.mjs} +0 -0
- package/esm2020/overlay/position/scroll-clip.mjs +40 -0
- package/{esm2015/overlay/public-api.js → esm2020/overlay/public-api.mjs} +0 -0
- package/{esm2015/overlay/scroll/block-scroll-strategy.js → esm2020/overlay/scroll/block-scroll-strategy.mjs} +1 -1
- package/esm2020/overlay/scroll/close-scroll-strategy.mjs +61 -0
- package/{esm2015/overlay/scroll/index.js → esm2020/overlay/scroll/index.mjs} +2 -2
- package/{esm2015/overlay/scroll/noop-scroll-strategy.js → esm2020/overlay/scroll/noop-scroll-strategy.mjs} +1 -1
- package/{esm2015/overlay/scroll/reposition-scroll-strategy.js → esm2020/overlay/scroll/reposition-scroll-strategy.mjs} +1 -1
- package/esm2020/overlay/scroll/scroll-strategy-options.mjs +55 -0
- package/{esm2015/overlay/scroll/scroll-strategy.js → esm2020/overlay/scroll/scroll-strategy.mjs} +0 -0
- package/{esm2015/platform/features/input-types.js → esm2020/platform/features/input-types.mjs} +1 -1
- package/esm2020/platform/features/passive-listeners.mjs +36 -0
- package/esm2020/platform/features/scrolling.mjs +85 -0
- package/{esm2015/platform/features/shadow-dom.js → esm2020/platform/features/shadow-dom.mjs} +4 -3
- package/esm2020/platform/features/test-environment.mjs +27 -0
- package/{esm2015/platform/index.js → esm2020/platform/index.mjs} +0 -0
- package/esm2020/platform/platform-module.mjs +19 -0
- package/esm2020/platform/platform.mjs +85 -0
- package/{esm2015/platform/public-api.js → esm2020/platform/public-api.mjs} +0 -0
- package/esm2020/portal/dom-portal-outlet.mjs +134 -0
- package/{esm2015/portal/index.js → esm2020/portal/index.mjs} +0 -0
- package/esm2020/portal/portal-directives.mjs +244 -0
- package/{esm2015/portal/portal-errors.js → esm2020/portal/portal-errors.mjs} +1 -1
- package/esm2020/portal/portal-injector.mjs +28 -0
- package/esm2020/portal/portal.mjs +179 -0
- package/{esm2015/portal/public-api.js → esm2020/portal/public-api.mjs} +0 -0
- package/{esm2015/public-api.js → esm2020/public-api.mjs} +0 -0
- package/esm2020/scrolling/fixed-size-virtual-scroll.mjs +217 -0
- package/{esm2015/scrolling/index.js → esm2020/scrolling/index.mjs} +0 -0
- package/{esm2015/scrolling/public-api.js → esm2020/scrolling/public-api.mjs} +0 -0
- package/esm2020/scrolling/scroll-dispatcher.mjs +163 -0
- package/esm2020/scrolling/scrollable.mjs +176 -0
- package/esm2020/scrolling/scrolling-module.mjs +52 -0
- package/esm2020/scrolling/viewport-ruler.mjs +146 -0
- package/esm2020/scrolling/virtual-for-of.mjs +296 -0
- package/{esm2015/scrolling/virtual-scroll-repeater.js → esm2020/scrolling/virtual-scroll-repeater.mjs} +0 -0
- package/esm2020/scrolling/virtual-scroll-strategy.mjs +11 -0
- package/esm2020/scrolling/virtual-scroll-viewport.mjs +378 -0
- package/{esm2015/stepper/index.js → esm2020/stepper/index.mjs} +0 -0
- package/{esm2015/stepper/public-api.js → esm2020/stepper/public-api.mjs} +0 -0
- package/esm2020/stepper/step-header.mjs +30 -0
- package/esm2020/stepper/step-label.mjs +23 -0
- package/esm2020/stepper/stepper-button.mjs +76 -0
- package/esm2020/stepper/stepper-module.mjs +40 -0
- package/esm2020/stepper/stepper.mjs +471 -0
- package/esm2020/table/can-stick.mjs +44 -0
- package/esm2020/table/cell.mjs +222 -0
- package/esm2020/table/coalesced-style-scheduler.mjs +91 -0
- package/{esm2015/table/index.js → esm2020/table/index.mjs} +0 -0
- package/{esm2015/table/public-api.js → esm2020/table/public-api.mjs} +0 -0
- package/esm2020/table/row.mjs +254 -0
- package/esm2020/table/sticky-position-listener.mjs +11 -0
- package/esm2020/table/sticky-styler.mjs +345 -0
- package/{esm2015/table/table-errors.js → esm2020/table/table-errors.mjs} +1 -1
- package/esm2020/table/table-module.mjs +94 -0
- package/esm2020/table/table.mjs +1023 -0
- package/esm2020/table/text-column.mjs +153 -0
- package/{esm2015/table/tokens.js → esm2020/table/tokens.mjs} +1 -1
- package/esm2020/testing/change-detection.mjs +102 -0
- package/esm2020/testing/component-harness.mjs +322 -0
- package/{esm2015/testing/element-dimensions.js → esm2020/testing/element-dimensions.mjs} +1 -1
- package/esm2020/testing/harness-environment.mjs +202 -0
- package/{esm2015/testing/index.js → esm2020/testing/index.mjs} +0 -0
- package/{esm2015/testing/protractor/index.js → esm2020/testing/protractor/index.mjs} +0 -0
- package/esm2020/testing/protractor/protractor-element.mjs +234 -0
- package/esm2020/testing/protractor/protractor-harness-environment.mjs +72 -0
- package/{esm2015/testing/protractor/public-api.js → esm2020/testing/protractor/public-api.mjs} +0 -0
- package/{esm2015/testing/public-api.js → esm2020/testing/public-api.mjs} +0 -0
- package/{esm2015/testing/selenium-webdriver/index.js → esm2020/testing/selenium-webdriver/index.mjs} +0 -0
- package/{esm2015/testing/selenium-webdriver/public-api.js → esm2020/testing/selenium-webdriver/public-api.mjs} +0 -0
- package/esm2020/testing/selenium-webdriver/selenium-web-driver-element.mjs +199 -0
- package/esm2020/testing/selenium-webdriver/selenium-web-driver-harness-environment.mjs +87 -0
- package/{esm2015/testing/selenium-webdriver/selenium-webdriver-keys.js → esm2020/testing/selenium-webdriver/selenium-webdriver-keys.mjs} +2 -2
- package/esm2020/testing/test-element.mjs +48 -0
- package/esm2020/testing/testbed/fake-events/dispatch-events.mjs +53 -0
- package/esm2020/testing/testbed/fake-events/element-focus.mjs +39 -0
- package/esm2020/testing/testbed/fake-events/event-objects.mjs +113 -0
- package/{esm2015/testing/testbed/fake-events/index.js → esm2020/testing/testbed/fake-events/index.mjs} +0 -0
- package/esm2020/testing/testbed/fake-events/type-in-element.mjs +88 -0
- package/{esm2015/testing/testbed/index.js → esm2020/testing/testbed/index.mjs} +0 -0
- package/{esm2015/testing/testbed/public-api.js → esm2020/testing/testbed/public-api.mjs} +0 -0
- package/esm2020/testing/testbed/task-state-zone-interceptor.mjs +82 -0
- package/esm2020/testing/testbed/testbed-harness-environment.mjs +162 -0
- package/esm2020/testing/testbed/unit-test-element.mjs +224 -0
- package/esm2020/testing/text-filtering.mjs +21 -0
- package/esm2020/text-field/autofill.mjs +113 -0
- package/esm2020/text-field/autosize.mjs +310 -0
- package/{esm2015/text-field/index.js → esm2020/text-field/index.mjs} +0 -0
- package/{esm2015/text-field/public-api.js → esm2020/text-field/public-api.mjs} +0 -0
- package/esm2020/text-field/text-field-module.mjs +26 -0
- package/{esm2015/tree/control/base-tree-control.js → esm2020/tree/control/base-tree-control.mjs} +4 -4
- package/{esm2015/tree/control/flat-tree-control.js → esm2020/tree/control/flat-tree-control.mjs} +1 -1
- package/esm2020/tree/control/nested-tree-control.mjs +58 -0
- package/{esm2015/tree/control/tree-control.js → esm2020/tree/control/tree-control.mjs} +0 -0
- package/{esm2015/tree/index.js → esm2020/tree/index.mjs} +0 -0
- package/esm2020/tree/nested-node.mjs +117 -0
- package/esm2020/tree/node.mjs +35 -0
- package/esm2020/tree/outlet.mjs +39 -0
- package/esm2020/tree/padding.mjs +131 -0
- package/{esm2015/tree/public-api.js → esm2020/tree/public-api.mjs} +0 -0
- package/esm2020/tree/toggle.mjs +53 -0
- package/{esm2015/tree/tree-errors.js → esm2020/tree/tree-errors.mjs} +0 -0
- package/esm2020/tree/tree-module.mjs +49 -0
- package/esm2020/tree/tree.mjs +361 -0
- package/{esm2015/version.js → esm2020/version.mjs} +1 -1
- package/fesm2015/a11y.mjs +2356 -0
- package/fesm2015/a11y.mjs.map +1 -0
- package/fesm2015/accordion.mjs +267 -0
- package/fesm2015/accordion.mjs.map +1 -0
- package/fesm2015/bidi.mjs +179 -0
- package/fesm2015/bidi.mjs.map +1 -0
- package/fesm2015/{cdk.js → cdk.mjs} +2 -2
- package/fesm2015/cdk.mjs.map +1 -0
- package/fesm2015/clipboard.mjs +253 -0
- package/fesm2015/clipboard.mjs.map +1 -0
- package/fesm2015/{coercion.js → coercion.mjs} +1 -1
- package/fesm2015/coercion.mjs.map +1 -0
- package/fesm2015/{collections.js → collections.mjs} +15 -27
- package/fesm2015/collections.mjs.map +1 -0
- package/fesm2015/drag-drop.mjs +3667 -0
- package/fesm2015/drag-drop.mjs.map +1 -0
- package/fesm2015/{keycodes.js → keycodes.mjs} +1 -1
- package/fesm2015/keycodes.mjs.map +1 -0
- package/fesm2015/{layout.js → layout.mjs} +30 -28
- package/fesm2015/layout.mjs.map +1 -0
- package/fesm2015/{observers.js → observers.mjs} +50 -41
- package/fesm2015/observers.mjs.map +1 -0
- package/fesm2015/overlay.mjs +3004 -0
- package/fesm2015/overlay.mjs.map +1 -0
- package/fesm2015/platform.mjs +380 -0
- package/fesm2015/platform.mjs.map +1 -0
- package/fesm2015/portal.mjs +649 -0
- package/fesm2015/portal.mjs.map +1 -0
- package/fesm2015/scrolling.mjs +1394 -0
- package/fesm2015/scrolling.mjs.map +1 -0
- package/fesm2015/{stepper.js → stepper.mjs} +186 -133
- package/fesm2015/stepper.mjs.map +1 -0
- package/fesm2015/{table.js → table.mjs} +500 -359
- package/fesm2015/table.mjs.map +1 -0
- package/fesm2015/testing/{protractor.js → protractor.mjs} +12 -25
- package/fesm2015/testing/protractor.mjs.map +1 -0
- package/fesm2015/testing/{selenium-webdriver.js → selenium-webdriver.mjs} +14 -28
- package/fesm2015/testing/selenium-webdriver.mjs.map +1 -0
- package/fesm2015/testing/{testbed.js → testbed.mjs} +23 -29
- package/fesm2015/testing/testbed.mjs.map +1 -0
- package/fesm2015/{testing.js → testing.mjs} +19 -45
- package/fesm2015/testing.mjs.map +1 -0
- package/fesm2015/text-field.mjs +455 -0
- package/fesm2015/text-field.mjs.map +1 -0
- package/fesm2015/{tree.js → tree.mjs} +198 -152
- package/fesm2015/tree.mjs.map +1 -0
- package/{fesm2015/a11y.js → fesm2020/a11y.mjs} +272 -233
- package/fesm2020/a11y.mjs.map +1 -0
- package/{fesm2015/accordion.js → fesm2020/accordion.mjs} +87 -57
- package/fesm2020/accordion.mjs.map +1 -0
- package/{fesm2015/bidi.js → fesm2020/bidi.mjs} +47 -31
- package/fesm2020/bidi.mjs.map +1 -0
- package/fesm2020/cdk.mjs +30 -0
- package/fesm2020/cdk.mjs.map +1 -0
- package/{fesm2015/clipboard.js → fesm2020/clipboard.mjs} +51 -40
- package/fesm2020/clipboard.mjs.map +1 -0
- package/fesm2020/coercion.mjs +132 -0
- package/fesm2020/coercion.mjs.map +1 -0
- package/fesm2020/collections.mjs +472 -0
- package/fesm2020/collections.mjs.map +1 -0
- package/{fesm2015/drag-drop.js → fesm2020/drag-drop.mjs} +523 -366
- package/fesm2020/drag-drop.mjs.map +1 -0
- package/fesm2020/keycodes.mjs +159 -0
- package/fesm2020/keycodes.mjs.map +1 -0
- package/fesm2020/layout.mjs +246 -0
- package/fesm2020/layout.mjs.map +1 -0
- package/fesm2020/observers.mjs +202 -0
- package/fesm2020/observers.mjs.map +1 -0
- package/{fesm2015/overlay.js → fesm2020/overlay.mjs} +312 -228
- package/fesm2020/overlay.mjs.map +1 -0
- package/{fesm2015/platform.js → fesm2020/platform.mjs} +52 -28
- package/fesm2020/platform.mjs.map +1 -0
- package/{fesm2015/portal.js → fesm2020/portal.mjs} +85 -64
- package/fesm2020/portal.mjs.map +1 -0
- package/{fesm2015/scrolling.js → fesm2020/scrolling.mjs} +213 -170
- package/fesm2020/scrolling.mjs.map +1 -0
- package/fesm2020/stepper.mjs +638 -0
- package/fesm2020/stepper.mjs.map +1 -0
- package/fesm2020/table.mjs +2295 -0
- package/fesm2020/table.mjs.map +1 -0
- package/fesm2020/testing/protractor.mjs +322 -0
- package/fesm2020/testing/protractor.mjs.map +1 -0
- package/fesm2020/testing/selenium-webdriver.mjs +362 -0
- package/fesm2020/testing/selenium-webdriver.mjs.map +1 -0
- package/fesm2020/testing/testbed.mjs +780 -0
- package/fesm2020/testing/testbed.mjs.map +1 -0
- package/fesm2020/testing.mjs +719 -0
- package/fesm2020/testing.mjs.map +1 -0
- package/{fesm2015/text-field.js → fesm2020/text-field.mjs} +83 -68
- package/fesm2020/text-field.mjs.map +1 -0
- package/fesm2020/tree.mjs +967 -0
- package/fesm2020/tree.mjs.map +1 -0
- package/keycodes/package.json +5 -5
- package/layout/breakpoints-observer.d.ts +3 -7
- package/layout/layout-module.d.ts +4 -0
- package/layout/media-matcher.d.ts +3 -0
- package/layout/package.json +5 -5
- package/observers/observe-content.d.ts +10 -0
- package/observers/package.json +5 -5
- package/overlay/dispatchers/base-overlay-dispatcher.d.ts +3 -7
- package/overlay/dispatchers/overlay-keyboard-dispatcher.d.ts +3 -7
- package/overlay/dispatchers/overlay-outside-click-dispatcher.d.ts +6 -7
- package/overlay/fullscreen-overlay-container.d.ts +3 -0
- package/overlay/index.d.ts +0 -2
- package/overlay/overlay-container.d.ts +3 -7
- package/overlay/overlay-directives.d.ts +5 -0
- package/overlay/overlay-module.d.ts +8 -7
- package/overlay/overlay.d.ts +3 -0
- package/overlay/package.json +5 -5
- package/overlay/position/flexible-connected-position-strategy.d.ts +2 -2
- package/overlay/position/overlay-position-builder.d.ts +3 -0
- package/overlay/position/scroll-clip.d.ts +5 -2
- package/overlay/scroll/index.d.ts +1 -1
- package/overlay/scroll/scroll-strategy-options.d.ts +3 -0
- package/package.json +219 -7
- package/platform/package.json +5 -5
- package/platform/platform-module.d.ts +4 -7
- package/platform/platform.d.ts +3 -7
- package/portal/package.json +5 -5
- package/portal/portal-directives.d.ts +12 -0
- package/schematics/ng-add/index.js +3 -3
- package/schematics/ng-add/index.mjs +3 -3
- package/schematics/ng-add/package-config.js +4 -2
- package/schematics/ng-add/package-config.mjs +4 -2
- package/schematics/ng-add/schema.js +1 -1
- package/schematics/ng-add/schema.mjs +1 -1
- package/schematics/ng-generate/drag-drop/index.js +6 -6
- package/schematics/ng-generate/drag-drop/index.mjs +6 -6
- package/schematics/ng-update/data/attribute-selectors.js +7 -5
- package/schematics/ng-update/data/attribute-selectors.mjs +7 -5
- package/schematics/ng-update/data/class-names.js +13 -11
- package/schematics/ng-update/data/class-names.mjs +13 -11
- package/schematics/ng-update/data/constructor-checks.js +28 -20
- package/schematics/ng-update/data/constructor-checks.mjs +28 -20
- package/schematics/ng-update/data/css-selectors.js +2 -2
- package/schematics/ng-update/data/css-selectors.mjs +2 -2
- package/schematics/ng-update/data/element-selectors.js +2 -2
- package/schematics/ng-update/data/element-selectors.mjs +2 -2
- package/schematics/ng-update/data/input-names.js +40 -16
- package/schematics/ng-update/data/input-names.mjs +40 -16
- package/schematics/ng-update/data/method-call-checks.js +32 -18
- package/schematics/ng-update/data/method-call-checks.mjs +32 -18
- package/schematics/ng-update/data/output-names.js +8 -6
- package/schematics/ng-update/data/output-names.mjs +8 -6
- package/schematics/ng-update/data/property-names.js +40 -32
- package/schematics/ng-update/data/property-names.mjs +40 -32
- package/schematics/ng-update/devkit-file-system.js +2 -2
- package/schematics/ng-update/devkit-file-system.mjs +2 -2
- package/schematics/ng-update/devkit-migration-rule.js +8 -7
- package/schematics/ng-update/devkit-migration-rule.mjs +8 -7
- package/schematics/ng-update/devkit-migration.d.ts +1 -1
- package/schematics/ng-update/devkit-migration.js +1 -1
- package/schematics/ng-update/devkit-migration.mjs +1 -1
- package/schematics/ng-update/find-stylesheets.js +3 -3
- package/schematics/ng-update/find-stylesheets.mjs +3 -3
- package/schematics/ng-update/html-parsing/angular.js +7 -7
- package/schematics/ng-update/html-parsing/angular.mjs +7 -7
- package/schematics/ng-update/html-parsing/elements.js +2 -2
- package/schematics/ng-update/html-parsing/elements.mjs +2 -2
- package/schematics/ng-update/index.js +11 -9
- package/schematics/ng-update/index.mjs +11 -9
- package/schematics/ng-update/migrations/attribute-selectors.js +11 -7
- package/schematics/ng-update/migrations/attribute-selectors.mjs +11 -7
- package/schematics/ng-update/migrations/class-inheritance.js +3 -3
- package/schematics/ng-update/migrations/class-inheritance.mjs +3 -3
- package/schematics/ng-update/migrations/class-names.js +7 -6
- package/schematics/ng-update/migrations/class-names.mjs +7 -6
- package/schematics/ng-update/migrations/constructor-signature.js +16 -13
- package/schematics/ng-update/migrations/constructor-signature.mjs +16 -13
- package/schematics/ng-update/migrations/css-selectors.js +7 -6
- package/schematics/ng-update/migrations/css-selectors.mjs +7 -6
- package/schematics/ng-update/migrations/element-selectors.js +7 -6
- package/schematics/ng-update/migrations/element-selectors.mjs +7 -6
- package/schematics/ng-update/migrations/input-names.js +8 -9
- package/schematics/ng-update/migrations/input-names.mjs +8 -9
- package/schematics/ng-update/migrations/method-call-arguments.js +4 -3
- package/schematics/ng-update/migrations/method-call-arguments.mjs +4 -3
- package/schematics/ng-update/migrations/misc-template.js +3 -3
- package/schematics/ng-update/migrations/misc-template.mjs +3 -3
- package/schematics/ng-update/migrations/output-names.js +7 -8
- package/schematics/ng-update/migrations/output-names.mjs +7 -8
- package/schematics/ng-update/migrations/property-names.js +4 -3
- package/schematics/ng-update/migrations/property-names.mjs +4 -3
- package/schematics/ng-update/migrations/symbol-removal.js +2 -2
- package/schematics/ng-update/migrations/symbol-removal.mjs +2 -2
- package/schematics/ng-update/migrations/tilde-import-v13/tilde-import-migration.d.ts +14 -0
- package/schematics/ng-update/migrations/tilde-import-v13/tilde-import-migration.js +38 -0
- package/schematics/ng-update/migrations/tilde-import-v13/tilde-import-migration.mjs +38 -0
- package/schematics/ng-update/typescript/base-types.js +1 -1
- package/schematics/ng-update/typescript/base-types.mjs +1 -1
- package/schematics/ng-update/typescript/literal.d.ts +1 -1
- package/schematics/ng-update/typescript/literal.js +1 -1
- package/schematics/ng-update/typescript/literal.mjs +1 -1
- package/schematics/ng-update/typescript/module-specifiers.js +5 -5
- package/schematics/ng-update/typescript/module-specifiers.mjs +5 -5
- package/schematics/ng-update/upgrade-data.js +2 -2
- package/schematics/ng-update/upgrade-data.mjs +2 -2
- package/schematics/package.json +3 -0
- package/schematics/paths.js +3 -3
- package/schematics/paths.mjs +3 -3
- package/schematics/update-tool/component-resource-collector.js +10 -10
- package/schematics/update-tool/component-resource-collector.mjs +10 -10
- package/schematics/update-tool/file-system.js +1 -1
- package/schematics/update-tool/file-system.mjs +1 -1
- package/schematics/update-tool/index.d.ts +4 -1
- package/schematics/update-tool/index.js +9 -5
- package/schematics/update-tool/index.mjs +9 -5
- package/schematics/update-tool/migration.d.ts +1 -1
- package/schematics/update-tool/migration.js +1 -1
- package/schematics/update-tool/migration.mjs +1 -1
- package/schematics/update-tool/target-version.js +1 -1
- package/schematics/update-tool/target-version.mjs +1 -1
- package/schematics/update-tool/utils/decorators.js +8 -4
- package/schematics/update-tool/utils/decorators.mjs +8 -4
- package/schematics/update-tool/utils/functions.js +1 -1
- package/schematics/update-tool/utils/functions.mjs +1 -1
- package/schematics/update-tool/utils/imports.js +2 -2
- package/schematics/update-tool/utils/imports.mjs +2 -2
- package/schematics/update-tool/utils/line-mappings.js +1 -1
- package/schematics/update-tool/utils/line-mappings.mjs +1 -1
- package/schematics/update-tool/utils/parse-tsconfig.js +2 -2
- package/schematics/update-tool/utils/parse-tsconfig.mjs +2 -2
- package/schematics/update-tool/utils/property-name.js +1 -1
- package/schematics/update-tool/utils/property-name.mjs +1 -1
- package/schematics/update-tool/utils/virtual-host.d.ts +1 -1
- package/schematics/update-tool/utils/virtual-host.js +3 -3
- package/schematics/update-tool/utils/virtual-host.mjs +3 -3
- package/schematics/update-tool/version-changes.js +1 -1
- package/schematics/update-tool/version-changes.mjs +1 -1
- package/schematics/utils/ast/ng-module-imports.js +5 -3
- package/schematics/utils/ast/ng-module-imports.mjs +5 -3
- package/schematics/utils/ast.js +5 -5
- package/schematics/utils/ast.mjs +5 -5
- package/schematics/utils/build-component.js +32 -38
- package/schematics/utils/build-component.mjs +32 -38
- package/schematics/utils/get-project.js +1 -1
- package/schematics/utils/get-project.mjs +1 -1
- package/schematics/utils/html-manipulation.js +8 -7
- package/schematics/utils/html-manipulation.mjs +8 -7
- package/schematics/utils/parse5-element.js +9 -10
- package/schematics/utils/parse5-element.mjs +9 -10
- package/schematics/utils/project-index-file.js +2 -2
- package/schematics/utils/project-index-file.mjs +2 -2
- package/schematics/utils/project-main-file.js +2 -2
- package/schematics/utils/project-main-file.mjs +2 -2
- package/schematics/utils/project-style-file.js +7 -9
- package/schematics/utils/project-style-file.mjs +7 -9
- package/schematics/utils/project-targets.js +1 -1
- package/schematics/utils/project-targets.mjs +1 -1
- package/schematics/utils/project-tsconfig-paths.js +4 -4
- package/schematics/utils/project-tsconfig-paths.mjs +4 -4
- package/schematics/utils/schematic-options.js +7 -5
- package/schematics/utils/schematic-options.mjs +7 -5
- package/schematics/utils/vendored-ast-utils/index.js +17 -18
- package/schematics/utils/vendored-ast-utils/index.mjs +17 -18
- package/scrolling/fixed-size-virtual-scroll.d.ts +3 -0
- package/scrolling/package.json +5 -5
- package/scrolling/scroll-dispatcher.d.ts +3 -7
- package/scrolling/scrollable.d.ts +3 -0
- package/scrolling/scrolling-module.d.ts +13 -7
- package/scrolling/viewport-ruler.d.ts +11 -1
- package/scrolling/virtual-for-of.d.ts +3 -0
- package/scrolling/virtual-scroll-viewport.d.ts +3 -0
- package/stepper/package.json +5 -5
- package/stepper/step-header.d.ts +3 -0
- package/stepper/step-label.d.ts +3 -0
- package/stepper/stepper-button.d.ts +5 -7
- package/stepper/stepper-module.d.ts +9 -7
- package/stepper/stepper.d.ts +5 -7
- package/table/cell.d.ts +15 -0
- package/table/coalesced-style-scheduler.d.ts +3 -0
- package/table/package.json +5 -5
- package/table/row.d.ts +19 -0
- package/table/table-module.d.ts +9 -7
- package/table/table.d.ts +13 -0
- package/table/text-column.d.ts +3 -0
- package/testing/package.json +5 -5
- package/testing/protractor/package.json +5 -5
- package/testing/selenium-webdriver/package.json +5 -5
- package/testing/testbed/package.json +5 -5
- package/testing/testbed/proxy-zone-types.d.ts +1 -1
- package/testing/testbed/zone-types.d.ts +1 -1
- package/text-field/autofill.d.ts +5 -0
- package/text-field/autosize.d.ts +3 -0
- package/text-field/package.json +5 -5
- package/text-field/text-field-module.d.ts +7 -7
- package/tree/control/base-tree-control.d.ts +1 -1
- package/tree/control/nested-tree-control.d.ts +2 -2
- package/tree/nested-node.d.ts +3 -0
- package/tree/node.d.ts +3 -0
- package/tree/outlet.d.ts +3 -0
- package/tree/package.json +5 -5
- package/tree/padding.d.ts +3 -0
- package/tree/toggle.d.ts +3 -0
- package/tree/tree-module.d.ts +10 -7
- package/tree/tree.d.ts +5 -0
- package/a11y/index.metadata.json +0 -1
- package/accordion/index.metadata.json +0 -1
- package/bidi/index.metadata.json +0 -1
- package/bundles/cdk-a11y.umd.js +0 -2752
- package/bundles/cdk-a11y.umd.js.map +0 -1
- package/bundles/cdk-accordion.umd.js +0 -262
- package/bundles/cdk-accordion.umd.js.map +0 -1
- package/bundles/cdk-bidi.umd.js +0 -206
- package/bundles/cdk-bidi.umd.js.map +0 -1
- package/bundles/cdk-clipboard.umd.js +0 -278
- package/bundles/cdk-clipboard.umd.js.map +0 -1
- package/bundles/cdk-coercion.umd.js +0 -477
- package/bundles/cdk-coercion.umd.js.map +0 -1
- package/bundles/cdk-collections.umd.js +0 -846
- package/bundles/cdk-collections.umd.js.map +0 -1
- package/bundles/cdk-drag-drop.umd.js +0 -3915
- package/bundles/cdk-drag-drop.umd.js.map +0 -1
- package/bundles/cdk-keycodes.umd.js +0 -292
- package/bundles/cdk-keycodes.umd.js.map +0 -1
- package/bundles/cdk-layout.umd.js +0 -284
- package/bundles/cdk-layout.umd.js.map +0 -1
- package/bundles/cdk-observers.umd.js +0 -242
- package/bundles/cdk-observers.umd.js.map +0 -1
- package/bundles/cdk-overlay.umd.js +0 -3417
- package/bundles/cdk-overlay.umd.js.map +0 -1
- package/bundles/cdk-platform.umd.js +0 -397
- package/bundles/cdk-platform.umd.js.map +0 -1
- package/bundles/cdk-portal.umd.js +0 -1008
- package/bundles/cdk-portal.umd.js.map +0 -1
- package/bundles/cdk-scrolling.umd.js +0 -1787
- package/bundles/cdk-scrolling.umd.js.map +0 -1
- package/bundles/cdk-stepper.umd.js +0 -648
- package/bundles/cdk-stepper.umd.js.map +0 -1
- package/bundles/cdk-table.umd.js +0 -2730
- package/bundles/cdk-table.umd.js.map +0 -1
- package/bundles/cdk-testing-protractor.umd.js +0 -833
- package/bundles/cdk-testing-protractor.umd.js.map +0 -1
- package/bundles/cdk-testing-selenium-webdriver.umd.js +0 -1002
- package/bundles/cdk-testing-selenium-webdriver.umd.js.map +0 -1
- package/bundles/cdk-testing-testbed.umd.js +0 -1396
- package/bundles/cdk-testing-testbed.umd.js.map +0 -1
- package/bundles/cdk-testing.umd.js +0 -1285
- package/bundles/cdk-testing.umd.js.map +0 -1
- package/bundles/cdk-text-field.umd.js +0 -494
- package/bundles/cdk-text-field.umd.js.map +0 -1
- package/bundles/cdk-tree.umd.js +0 -1308
- package/bundles/cdk-tree.umd.js.map +0 -1
- package/bundles/cdk.umd.js +0 -38
- package/bundles/cdk.umd.js.map +0 -1
- package/clipboard/index.metadata.json +0 -1
- package/collections/index.metadata.json +0 -1
- package/drag-drop/index.metadata.json +0 -1
- package/esm2015/a11y/a11y-module.js +0 -30
- package/esm2015/a11y/a11y.externs.js +0 -6
- package/esm2015/a11y/aria-describer/aria-describer.js +0 -213
- package/esm2015/a11y/fake-event-detection.js +0 -28
- package/esm2015/a11y/focus-monitor/focus-monitor.js +0 -394
- package/esm2015/a11y/focus-trap/configurable-focus-trap-factory.js +0 -52
- package/esm2015/a11y/focus-trap/configurable-focus-trap.js +0 -49
- package/esm2015/a11y/focus-trap/event-listener-inert-strategy.js +0 -62
- package/esm2015/a11y/focus-trap/focus-trap-inert-strategy.js +0 -11
- package/esm2015/a11y/focus-trap/focus-trap-manager.js +0 -51
- package/esm2015/a11y/focus-trap/focus-trap.js +0 -391
- package/esm2015/a11y/high-contrast-mode/high-contrast-mode-detector.js +0 -92
- package/esm2015/a11y/index.js +0 -6
- package/esm2015/a11y/input-modality/input-modality-detector.js +0 -171
- package/esm2015/a11y/interactivity-checker/interactivity-checker.js +0 -237
- package/esm2015/a11y/key-manager/list-key-manager.js +0 -317
- package/esm2015/a11y/live-announcer/live-announcer-tokens.js +0 -19
- package/esm2015/a11y/live-announcer/live-announcer.js +0 -167
- package/esm2015/accordion/accordion-item.js +0 -146
- package/esm2015/accordion/accordion-module.js +0 -19
- package/esm2015/accordion/accordion.externs.js +0 -6
- package/esm2015/accordion/accordion.js +0 -63
- package/esm2015/accordion/index.js +0 -6
- package/esm2015/bidi/bidi-module.js +0 -18
- package/esm2015/bidi/bidi.externs.js +0 -6
- package/esm2015/bidi/dir.js +0 -58
- package/esm2015/bidi/directionality.js +0 -44
- package/esm2015/bidi/index.js +0 -6
- package/esm2015/cdk.externs.js +0 -0
- package/esm2015/clipboard/clipboard-module.js +0 -18
- package/esm2015/clipboard/clipboard.externs.js +0 -6
- package/esm2015/clipboard/clipboard.js +0 -52
- package/esm2015/clipboard/copy-to-clipboard.js +0 -90
- package/esm2015/clipboard/pending-copy.js +0 -68
- package/esm2015/coercion/coercion.externs.js +0 -0
- package/esm2015/collections/collection-viewer.js +0 -9
- package/esm2015/collections/collections.externs.js +0 -6
- package/esm2015/collections/dispose-view-repeater-strategy.js +0 -48
- package/esm2015/collections/recycle-view-repeater-strategy.js +0 -125
- package/esm2015/collections/tree-adapter.js +0 -9
- package/esm2015/collections/unique-selection-dispatcher.js +0 -53
- package/esm2015/collections/view-repeater.js +0 -14
- package/esm2015/drag-drop/client-rect.js +0 -60
- package/esm2015/drag-drop/clone-node.js +0 -65
- package/esm2015/drag-drop/directives/assertions.js +0 -19
- package/esm2015/drag-drop/directives/drag-handle.js +0 -57
- package/esm2015/drag-drop/directives/drag-placeholder.js +0 -36
- package/esm2015/drag-drop/directives/drag-preview.js +0 -42
- package/esm2015/drag-drop/directives/drag.js +0 -407
- package/esm2015/drag-drop/directives/drop-list-group.js +0 -47
- package/esm2015/drag-drop/directives/drop-list.js +0 -301
- package/esm2015/drag-drop/drag-drop-module.js +0 -43
- package/esm2015/drag-drop/drag-drop-registry.js +0 -231
- package/esm2015/drag-drop/drag-drop.externs.js +0 -6
- package/esm2015/drag-drop/drag-drop.js +0 -59
- package/esm2015/drag-drop/drag-events.js +0 -9
- package/esm2015/drag-drop/drag-ref.js +0 -1110
- package/esm2015/drag-drop/drag-styling.js +0 -69
- package/esm2015/drag-drop/drag-utils.js +0 -60
- package/esm2015/drag-drop/drop-list-ref.js +0 -813
- package/esm2015/drag-drop/transition-duration.js +0 -36
- package/esm2015/keycodes/keycodes.externs.js +0 -6
- package/esm2015/layout/breakpoints-observer.js +0 -106
- package/esm2015/layout/layout-module.js +0 -14
- package/esm2015/layout/layout.externs.js +0 -6
- package/esm2015/layout/media-matcher.js +0 -85
- package/esm2015/observers/observe-content.js +0 -179
- package/esm2015/observers/observers.externs.js +0 -6
- package/esm2015/overlay/dispatchers/base-overlay-dispatcher.js +0 -51
- package/esm2015/overlay/dispatchers/overlay-keyboard-dispatcher.js +0 -62
- package/esm2015/overlay/dispatchers/overlay-outside-click-dispatcher.js +0 -97
- package/esm2015/overlay/fullscreen-overlay-container.js +0 -94
- package/esm2015/overlay/index.js +0 -7
- package/esm2015/overlay/overlay-config.js +0 -45
- package/esm2015/overlay/overlay-container.js +0 -85
- package/esm2015/overlay/overlay-directives.js +0 -352
- package/esm2015/overlay/overlay-module.js +0 -27
- package/esm2015/overlay/overlay-ref.js +0 -409
- package/esm2015/overlay/overlay.externs.js +0 -6
- package/esm2015/overlay/overlay.js +0 -119
- package/esm2015/overlay/position/connected-position.js +0 -94
- package/esm2015/overlay/position/flexible-connected-position-strategy.js +0 -960
- package/esm2015/overlay/position/global-position-strategy.js +0 -197
- package/esm2015/overlay/position/overlay-position-builder.js +0 -52
- package/esm2015/overlay/position/scroll-clip.js +0 -42
- package/esm2015/overlay/scroll/close-scroll-strategy.js +0 -61
- package/esm2015/overlay/scroll/scroll-strategy-options.js +0 -57
- package/esm2015/platform/features/passive-listeners.js +0 -36
- package/esm2015/platform/features/scrolling.js +0 -85
- package/esm2015/platform/features/test-environment.js +0 -16
- package/esm2015/platform/platform-module.js +0 -14
- package/esm2015/platform/platform.externs.js +0 -6
- package/esm2015/platform/platform.js +0 -77
- package/esm2015/portal/dom-portal-outlet.js +0 -136
- package/esm2015/portal/portal-directives.js +0 -221
- package/esm2015/portal/portal-injector.js +0 -28
- package/esm2015/portal/portal.externs.js +0 -6
- package/esm2015/portal/portal.js +0 -179
- package/esm2015/scrolling/fixed-size-virtual-scroll.js +0 -188
- package/esm2015/scrolling/scroll-dispatcher.js +0 -163
- package/esm2015/scrolling/scrollable.js +0 -173
- package/esm2015/scrolling/scrolling-module.js +0 -49
- package/esm2015/scrolling/scrolling.externs.js +0 -6
- package/esm2015/scrolling/viewport-ruler.js +0 -139
- package/esm2015/scrolling/virtual-for-of.js +0 -293
- package/esm2015/scrolling/virtual-scroll-strategy.js +0 -11
- package/esm2015/scrolling/virtual-scroll-viewport.js +0 -371
- package/esm2015/stepper/step-header.js +0 -29
- package/esm2015/stepper/step-label.js +0 -22
- package/esm2015/stepper/stepper-button.js +0 -72
- package/esm2015/stepper/stepper-module.js +0 -37
- package/esm2015/stepper/stepper.externs.js +0 -6
- package/esm2015/stepper/stepper.js +0 -428
- package/esm2015/table/can-stick.js +0 -42
- package/esm2015/table/cell.js +0 -211
- package/esm2015/table/coalesced-style-scheduler.js +0 -89
- package/esm2015/table/row.js +0 -244
- package/esm2015/table/sticky-position-listener.js +0 -11
- package/esm2015/table/sticky-styler.js +0 -336
- package/esm2015/table/table-module.js +0 -47
- package/esm2015/table/table.externs.js +0 -6
- package/esm2015/table/table.js +0 -987
- package/esm2015/table/text-column.js +0 -127
- package/esm2015/testing/change-detection.js +0 -110
- package/esm2015/testing/component-harness.js +0 -344
- package/esm2015/testing/harness-environment.js +0 -219
- package/esm2015/testing/protractor/protractor-element.js +0 -274
- package/esm2015/testing/protractor/protractor-harness-environment.js +0 -79
- package/esm2015/testing/protractor/protractor.externs.js +0 -0
- package/esm2015/testing/selenium-webdriver/selenium-web-driver-element.js +0 -241
- package/esm2015/testing/selenium-webdriver/selenium-web-driver-harness-environment.js +0 -97
- package/esm2015/testing/selenium-webdriver/selenium-webdriver.externs.js +0 -0
- package/esm2015/testing/test-element.js +0 -48
- package/esm2015/testing/testbed/fake-events/dispatch-events.js +0 -53
- package/esm2015/testing/testbed/fake-events/element-focus.js +0 -39
- package/esm2015/testing/testbed/fake-events/event-objects.js +0 -107
- package/esm2015/testing/testbed/fake-events/type-in-element.js +0 -79
- package/esm2015/testing/testbed/task-state-zone-interceptor.js +0 -82
- package/esm2015/testing/testbed/testbed-harness-environment.js +0 -173
- package/esm2015/testing/testbed/testbed.externs.js +0 -0
- package/esm2015/testing/testbed/unit-test-element.js +0 -266
- package/esm2015/testing/testing.externs.js +0 -0
- package/esm2015/testing/text-filtering.js +0 -23
- package/esm2015/text-field/autofill.js +0 -117
- package/esm2015/text-field/autosize.js +0 -293
- package/esm2015/text-field/text-field-module.js +0 -21
- package/esm2015/text-field/text-field.externs.js +0 -6
- package/esm2015/tree/control/nested-tree-control.js +0 -59
- package/esm2015/tree/nested-node.js +0 -112
- package/esm2015/tree/node.js +0 -36
- package/esm2015/tree/outlet.js +0 -34
- package/esm2015/tree/padding.js +0 -119
- package/esm2015/tree/toggle.js +0 -46
- package/esm2015/tree/tree-module.js +0 -32
- package/esm2015/tree/tree.externs.js +0 -6
- package/esm2015/tree/tree.js +0 -345
- package/fesm2015/a11y.js.map +0 -1
- package/fesm2015/accordion.js.map +0 -1
- package/fesm2015/bidi.js.map +0 -1
- package/fesm2015/cdk.js.map +0 -1
- package/fesm2015/clipboard.js.map +0 -1
- package/fesm2015/coercion.js.map +0 -1
- package/fesm2015/collections.js.map +0 -1
- package/fesm2015/drag-drop.js.map +0 -1
- package/fesm2015/keycodes.js.map +0 -1
- package/fesm2015/layout.js.map +0 -1
- package/fesm2015/observers.js.map +0 -1
- package/fesm2015/overlay.js.map +0 -1
- package/fesm2015/platform.js.map +0 -1
- package/fesm2015/portal.js.map +0 -1
- package/fesm2015/scrolling.js.map +0 -1
- package/fesm2015/stepper.js.map +0 -1
- package/fesm2015/table.js.map +0 -1
- package/fesm2015/testing/protractor.js.map +0 -1
- package/fesm2015/testing/selenium-webdriver.js.map +0 -1
- package/fesm2015/testing/testbed.js.map +0 -1
- package/fesm2015/testing.js.map +0 -1
- package/fesm2015/text-field.js.map +0 -1
- package/fesm2015/tree.js.map +0 -1
- package/keycodes/index.metadata.json +0 -1
- package/layout/index.metadata.json +0 -1
- package/observers/index.metadata.json +0 -1
- package/overlay/index.metadata.json +0 -1
- package/platform/index.metadata.json +0 -1
- package/portal/index.metadata.json +0 -1
- package/scrolling/index.metadata.json +0 -1
- package/stepper/index.metadata.json +0 -1
- package/table/index.metadata.json +0 -1
- package/text-field/index.metadata.json +0 -1
- package/tree/index.metadata.json +0 -1
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import * as i2 from '@angular/common';
|
|
2
1
|
import { DOCUMENT } from '@angular/common';
|
|
3
2
|
import * as i0 from '@angular/core';
|
|
4
|
-
import { Injectable, Inject, QueryList,
|
|
3
|
+
import { Injectable, Inject, QueryList, Directive, Input, InjectionToken, Optional, EventEmitter, Output, NgModule } from '@angular/core';
|
|
5
4
|
import { Subject, Subscription, BehaviorSubject, of } from 'rxjs';
|
|
6
5
|
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';
|
|
7
6
|
import { tap, debounceTime, filter, map, take, skip, distinctUntilChanged, takeUntil } from 'rxjs/operators';
|
|
8
7
|
import { coerceBooleanProperty, coerceElement } from '@angular/cdk/coercion';
|
|
9
8
|
import * as i1 from '@angular/cdk/platform';
|
|
10
|
-
import {
|
|
11
|
-
import
|
|
9
|
+
import { _getFocusedElementPierceShadowDom, normalizePassiveListenerOptions, _getEventTarget, _getShadowRoot, PlatformModule } from '@angular/cdk/platform';
|
|
10
|
+
import * as i1$1 from '@angular/cdk/observers';
|
|
11
|
+
import { ObserversModule } from '@angular/cdk/observers';
|
|
12
12
|
|
|
13
13
|
/**
|
|
14
14
|
* @license
|
|
@@ -149,10 +149,7 @@ class AriaDescriber {
|
|
|
149
149
|
/** Deletes the message element from the global messages container. */
|
|
150
150
|
_deleteMessageElement(key) {
|
|
151
151
|
const registeredMessage = messageRegistry.get(key);
|
|
152
|
-
|
|
153
|
-
if (messagesContainer && messageElement) {
|
|
154
|
-
messagesContainer.removeChild(messageElement);
|
|
155
|
-
}
|
|
152
|
+
registeredMessage?.messageElement?.remove();
|
|
156
153
|
messageRegistry.delete(key);
|
|
157
154
|
}
|
|
158
155
|
/** Creates the global container for all aria-describedby messages. */
|
|
@@ -163,9 +160,7 @@ class AriaDescriber {
|
|
|
163
160
|
// already a container on the page, but we don't have a reference to it. Clear the
|
|
164
161
|
// old container so we don't get duplicates. Doing this, instead of emptying the previous
|
|
165
162
|
// container, should be slightly faster.
|
|
166
|
-
|
|
167
|
-
preExistingContainer.parentNode.removeChild(preExistingContainer);
|
|
168
|
-
}
|
|
163
|
+
preExistingContainer?.remove();
|
|
169
164
|
messagesContainer = this._document.createElement('div');
|
|
170
165
|
messagesContainer.id = MESSAGES_CONTAINER_ID;
|
|
171
166
|
// We add `visibility: hidden` in order to prevent text in this container from
|
|
@@ -181,16 +176,15 @@ class AriaDescriber {
|
|
|
181
176
|
}
|
|
182
177
|
/** Deletes the global messages container. */
|
|
183
178
|
_deleteMessagesContainer() {
|
|
184
|
-
if (messagesContainer
|
|
185
|
-
messagesContainer.
|
|
179
|
+
if (messagesContainer) {
|
|
180
|
+
messagesContainer.remove();
|
|
186
181
|
messagesContainer = null;
|
|
187
182
|
}
|
|
188
183
|
}
|
|
189
184
|
/** Removes all cdk-describedby messages that are hosted through the element. */
|
|
190
185
|
_removeCdkDescribedByReferenceIds(element) {
|
|
191
186
|
// Remove all aria-describedby reference IDs that are prefixed by CDK_DESCRIBEDBY_ID_PREFIX
|
|
192
|
-
const originalReferenceIds = getAriaReferenceIds(element, 'aria-describedby')
|
|
193
|
-
.filter(id => id.indexOf(CDK_DESCRIBEDBY_ID_PREFIX) != 0);
|
|
187
|
+
const originalReferenceIds = getAriaReferenceIds(element, 'aria-describedby').filter(id => id.indexOf(CDK_DESCRIBEDBY_ID_PREFIX) != 0);
|
|
194
188
|
element.setAttribute('aria-describedby', originalReferenceIds.join(' '));
|
|
195
189
|
}
|
|
196
190
|
/**
|
|
@@ -237,20 +231,22 @@ class AriaDescriber {
|
|
|
237
231
|
const ariaLabel = element.getAttribute('aria-label');
|
|
238
232
|
// We shouldn't set descriptions if they're exactly the same as the `aria-label` of the
|
|
239
233
|
// element, because screen readers will end up reading out the same text twice in a row.
|
|
240
|
-
return trimmedMessage ?
|
|
234
|
+
return trimmedMessage ? !ariaLabel || ariaLabel.trim() !== trimmedMessage : false;
|
|
241
235
|
}
|
|
242
236
|
/** Checks whether a node is an Element node. */
|
|
243
237
|
_isElementNode(element) {
|
|
244
238
|
return element.nodeType === this._document.ELEMENT_NODE;
|
|
245
239
|
}
|
|
246
240
|
}
|
|
247
|
-
AriaDescriber.ɵ
|
|
248
|
-
AriaDescriber
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
241
|
+
AriaDescriber.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: AriaDescriber, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
242
|
+
AriaDescriber.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: AriaDescriber, providedIn: 'root' });
|
|
243
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: AriaDescriber, decorators: [{
|
|
244
|
+
type: Injectable,
|
|
245
|
+
args: [{ providedIn: 'root' }]
|
|
246
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
247
|
+
type: Inject,
|
|
248
|
+
args: [DOCUMENT]
|
|
249
|
+
}] }]; } });
|
|
254
250
|
/** Gets a key that can be used to look messages up in the registry. */
|
|
255
251
|
function getKey(message, role) {
|
|
256
252
|
return typeof message === 'string' ? `${role || ''}/${message}` : message;
|
|
@@ -361,15 +357,18 @@ class ListKeyManager {
|
|
|
361
357
|
* @param debounceInterval Time to wait after the last keystroke before setting the active item.
|
|
362
358
|
*/
|
|
363
359
|
withTypeAhead(debounceInterval = 200) {
|
|
364
|
-
if ((typeof ngDevMode === 'undefined' || ngDevMode) &&
|
|
365
|
-
this._items.
|
|
360
|
+
if ((typeof ngDevMode === 'undefined' || ngDevMode) &&
|
|
361
|
+
this._items.length &&
|
|
362
|
+
this._items.some(item => typeof item.getLabel !== 'function')) {
|
|
366
363
|
throw Error('ListKeyManager items in typeahead mode must implement the `getLabel` method.');
|
|
367
364
|
}
|
|
368
365
|
this._typeaheadSubscription.unsubscribe();
|
|
369
366
|
// Debounce the presses of non-navigational keys, collect the ones that correspond to letters
|
|
370
367
|
// and convert those letters back into a string. Afterwards find the first item that starts
|
|
371
368
|
// with that string and select it.
|
|
372
|
-
this._typeaheadSubscription = this._letterKeyStream
|
|
369
|
+
this._typeaheadSubscription = this._letterKeyStream
|
|
370
|
+
.pipe(tap(letter => this._pressedLetters.push(letter)), debounceTime(debounceInterval), filter(() => this._pressedLetters.length > 0), map(() => this._pressedLetters.join('')))
|
|
371
|
+
.subscribe(inputString => {
|
|
373
372
|
const items = this._getItemsArray();
|
|
374
373
|
// Start at 1 because we want to start searching at the item immediately
|
|
375
374
|
// following the current active item.
|
|
@@ -508,7 +507,8 @@ class ListKeyManager {
|
|
|
508
507
|
}
|
|
509
508
|
/** Sets the active item to a previous enabled item in the list. */
|
|
510
509
|
setPreviousItemActive() {
|
|
511
|
-
this._activeItemIndex < 0 && this._wrap
|
|
510
|
+
this._activeItemIndex < 0 && this._wrap
|
|
511
|
+
? this.setLastItemActive()
|
|
512
512
|
: this._setActiveItemByDelta(-1);
|
|
513
513
|
}
|
|
514
514
|
updateActiveItem(item) {
|
|
@@ -535,7 +535,7 @@ class ListKeyManager {
|
|
|
535
535
|
_setActiveInWrapMode(delta) {
|
|
536
536
|
const items = this._getItemsArray();
|
|
537
537
|
for (let i = 1; i <= items.length; i++) {
|
|
538
|
-
const index = (this._activeItemIndex +
|
|
538
|
+
const index = (this._activeItemIndex + delta * i + items.length) % items.length;
|
|
539
539
|
const item = items[index];
|
|
540
540
|
if (!this._skipPredicateFn(item)) {
|
|
541
541
|
this.setActiveItem(index);
|
|
@@ -751,17 +751,17 @@ class InteractivityChecker {
|
|
|
751
751
|
isFocusable(element, config) {
|
|
752
752
|
// Perform checks in order of left to most expensive.
|
|
753
753
|
// Again, naive approach that does not capture many edge cases and browser quirks.
|
|
754
|
-
return isPotentiallyFocusable(element) &&
|
|
755
|
-
|
|
754
|
+
return (isPotentiallyFocusable(element) &&
|
|
755
|
+
!this.isDisabled(element) &&
|
|
756
|
+
(config?.ignoreVisibility || this.isVisible(element)));
|
|
756
757
|
}
|
|
757
758
|
}
|
|
758
|
-
InteractivityChecker.ɵ
|
|
759
|
-
InteractivityChecker
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
];
|
|
759
|
+
InteractivityChecker.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: InteractivityChecker, deps: [{ token: i1.Platform }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
760
|
+
InteractivityChecker.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: InteractivityChecker, providedIn: 'root' });
|
|
761
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: InteractivityChecker, decorators: [{
|
|
762
|
+
type: Injectable,
|
|
763
|
+
args: [{ providedIn: 'root' }]
|
|
764
|
+
}], ctorParameters: function () { return [{ type: i1.Platform }]; } });
|
|
765
765
|
/**
|
|
766
766
|
* Returns the frame element from a window object. Since browsers like MS Edge throw errors if
|
|
767
767
|
* the frameElement property is being accessed from a different host address, this property
|
|
@@ -771,7 +771,7 @@ function getFrameElement(window) {
|
|
|
771
771
|
try {
|
|
772
772
|
return window.frameElement;
|
|
773
773
|
}
|
|
774
|
-
catch
|
|
774
|
+
catch {
|
|
775
775
|
return null;
|
|
776
776
|
}
|
|
777
777
|
}
|
|
@@ -779,16 +779,17 @@ function getFrameElement(window) {
|
|
|
779
779
|
function hasGeometry(element) {
|
|
780
780
|
// Use logic from jQuery to check for an invisible element.
|
|
781
781
|
// See https://github.com/jquery/jquery/blob/master/src/css/hiddenVisibleSelectors.js#L12
|
|
782
|
-
return !!(element.offsetWidth ||
|
|
782
|
+
return !!(element.offsetWidth ||
|
|
783
|
+
element.offsetHeight ||
|
|
783
784
|
(typeof element.getClientRects === 'function' && element.getClientRects().length));
|
|
784
785
|
}
|
|
785
786
|
/** Gets whether an element's */
|
|
786
787
|
function isNativeFormElement(element) {
|
|
787
788
|
let nodeName = element.nodeName.toLowerCase();
|
|
788
|
-
return nodeName === 'input' ||
|
|
789
|
+
return (nodeName === 'input' ||
|
|
789
790
|
nodeName === 'select' ||
|
|
790
791
|
nodeName === 'button' ||
|
|
791
|
-
nodeName === 'textarea';
|
|
792
|
+
nodeName === 'textarea');
|
|
792
793
|
}
|
|
793
794
|
/** Gets whether an element is an `<input type="hidden">`. */
|
|
794
795
|
function isHiddenInput(element) {
|
|
@@ -830,10 +831,10 @@ function getTabIndexValue(element) {
|
|
|
830
831
|
function isPotentiallyTabbableIOS(element) {
|
|
831
832
|
let nodeName = element.nodeName.toLowerCase();
|
|
832
833
|
let inputType = nodeName === 'input' && element.type;
|
|
833
|
-
return inputType === 'text'
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
834
|
+
return (inputType === 'text' ||
|
|
835
|
+
inputType === 'password' ||
|
|
836
|
+
nodeName === 'select' ||
|
|
837
|
+
nodeName === 'textarea');
|
|
837
838
|
}
|
|
838
839
|
/**
|
|
839
840
|
* Gets whether an element is potentially focusable without taking current visible/disabled state
|
|
@@ -844,15 +845,15 @@ function isPotentiallyFocusable(element) {
|
|
|
844
845
|
if (isHiddenInput(element)) {
|
|
845
846
|
return false;
|
|
846
847
|
}
|
|
847
|
-
return isNativeFormElement(element) ||
|
|
848
|
+
return (isNativeFormElement(element) ||
|
|
848
849
|
isAnchorWithHref(element) ||
|
|
849
850
|
element.hasAttribute('contenteditable') ||
|
|
850
|
-
hasValidTabIndex(element);
|
|
851
|
+
hasValidTabIndex(element));
|
|
851
852
|
}
|
|
852
853
|
/** Gets the parent window of a DOM node with regards of being inside of an iframe. */
|
|
853
854
|
function getWindow(node) {
|
|
854
855
|
// ownerDocument is null if `node` itself *is* a document.
|
|
855
|
-
return node.ownerDocument && node.ownerDocument.defaultView || window;
|
|
856
|
+
return (node.ownerDocument && node.ownerDocument.defaultView) || window;
|
|
856
857
|
}
|
|
857
858
|
|
|
858
859
|
/**
|
|
@@ -888,7 +889,9 @@ class FocusTrap {
|
|
|
888
889
|
}
|
|
889
890
|
}
|
|
890
891
|
/** Whether the focus trap is active. */
|
|
891
|
-
get enabled() {
|
|
892
|
+
get enabled() {
|
|
893
|
+
return this._enabled;
|
|
894
|
+
}
|
|
892
895
|
set enabled(value) {
|
|
893
896
|
this._enabled = value;
|
|
894
897
|
if (this._startAnchor && this._endAnchor) {
|
|
@@ -902,15 +905,11 @@ class FocusTrap {
|
|
|
902
905
|
const endAnchor = this._endAnchor;
|
|
903
906
|
if (startAnchor) {
|
|
904
907
|
startAnchor.removeEventListener('focus', this.startAnchorListener);
|
|
905
|
-
|
|
906
|
-
startAnchor.parentNode.removeChild(startAnchor);
|
|
907
|
-
}
|
|
908
|
+
startAnchor.remove();
|
|
908
909
|
}
|
|
909
910
|
if (endAnchor) {
|
|
910
911
|
endAnchor.removeEventListener('focus', this.endAnchorListener);
|
|
911
|
-
|
|
912
|
-
endAnchor.parentNode.removeChild(endAnchor);
|
|
913
|
-
}
|
|
912
|
+
endAnchor.remove();
|
|
914
913
|
}
|
|
915
914
|
this._startAnchor = this._endAnchor = null;
|
|
916
915
|
this._hasAttached = false;
|
|
@@ -982,9 +981,7 @@ class FocusTrap {
|
|
|
982
981
|
*/
|
|
983
982
|
_getRegionBoundary(bound) {
|
|
984
983
|
// Contains the deprecated version of selector, for temporary backwards comparability.
|
|
985
|
-
let markers = this._element.querySelectorAll(`[cdk-focus-region-${bound}], ` +
|
|
986
|
-
`[cdkFocusRegion${bound}], ` +
|
|
987
|
-
`[cdk-focus-${bound}]`);
|
|
984
|
+
let markers = this._element.querySelectorAll(`[cdk-focus-region-${bound}], ` + `[cdkFocusRegion${bound}], ` + `[cdk-focus-${bound}]`);
|
|
988
985
|
for (let i = 0; i < markers.length; i++) {
|
|
989
986
|
// @breaking-change 8.0.0
|
|
990
987
|
if (markers[i].hasAttribute(`cdk-focus-${bound}`)) {
|
|
@@ -1001,8 +998,9 @@ class FocusTrap {
|
|
|
1001
998
|
if (bound == 'start') {
|
|
1002
999
|
return markers.length ? markers[0] : this._getFirstTabbableElement(this._element);
|
|
1003
1000
|
}
|
|
1004
|
-
return markers.length
|
|
1005
|
-
markers[markers.length - 1]
|
|
1001
|
+
return markers.length
|
|
1002
|
+
? markers[markers.length - 1]
|
|
1003
|
+
: this._getLastTabbableElement(this._element);
|
|
1006
1004
|
}
|
|
1007
1005
|
/**
|
|
1008
1006
|
* Focuses the element that should be focused when the focus trap is initialized.
|
|
@@ -1010,8 +1008,7 @@ class FocusTrap {
|
|
|
1010
1008
|
*/
|
|
1011
1009
|
focusInitialElement(options) {
|
|
1012
1010
|
// Contains the deprecated version of selector, for temporary backwards comparability.
|
|
1013
|
-
const redirectToElement = this._element.querySelector(`[cdk-focus-initial], ` +
|
|
1014
|
-
`[cdkFocusInitial]`);
|
|
1011
|
+
const redirectToElement = this._element.querySelector(`[cdk-focus-initial], ` + `[cdkFocusInitial]`);
|
|
1015
1012
|
if (redirectToElement) {
|
|
1016
1013
|
// @breaking-change 8.0.0
|
|
1017
1014
|
if (redirectToElement.hasAttribute(`cdk-focus-initial`)) {
|
|
@@ -1027,7 +1024,7 @@ class FocusTrap {
|
|
|
1027
1024
|
}
|
|
1028
1025
|
if (!this._checker.isFocusable(redirectToElement)) {
|
|
1029
1026
|
const focusableChild = this._getFirstTabbableElement(redirectToElement);
|
|
1030
|
-
focusableChild
|
|
1027
|
+
focusableChild?.focus(options);
|
|
1031
1028
|
return !!focusableChild;
|
|
1032
1029
|
}
|
|
1033
1030
|
redirectToElement.focus(options);
|
|
@@ -1070,9 +1067,9 @@ class FocusTrap {
|
|
|
1070
1067
|
}
|
|
1071
1068
|
const children = root.children;
|
|
1072
1069
|
for (let i = 0; i < children.length; i++) {
|
|
1073
|
-
const tabbableChild = children[i].nodeType === this._document.ELEMENT_NODE
|
|
1074
|
-
this._getFirstTabbableElement(children[i])
|
|
1075
|
-
null;
|
|
1070
|
+
const tabbableChild = children[i].nodeType === this._document.ELEMENT_NODE
|
|
1071
|
+
? this._getFirstTabbableElement(children[i])
|
|
1072
|
+
: null;
|
|
1076
1073
|
if (tabbableChild) {
|
|
1077
1074
|
return tabbableChild;
|
|
1078
1075
|
}
|
|
@@ -1087,9 +1084,9 @@ class FocusTrap {
|
|
|
1087
1084
|
// Iterate in reverse DOM order.
|
|
1088
1085
|
const children = root.children;
|
|
1089
1086
|
for (let i = children.length - 1; i >= 0; i--) {
|
|
1090
|
-
const tabbableChild = children[i].nodeType === this._document.ELEMENT_NODE
|
|
1091
|
-
this._getLastTabbableElement(children[i])
|
|
1092
|
-
null;
|
|
1087
|
+
const tabbableChild = children[i].nodeType === this._document.ELEMENT_NODE
|
|
1088
|
+
? this._getLastTabbableElement(children[i])
|
|
1089
|
+
: null;
|
|
1093
1090
|
if (tabbableChild) {
|
|
1094
1091
|
return tabbableChild;
|
|
1095
1092
|
}
|
|
@@ -1157,15 +1154,15 @@ class FocusTrapFactory {
|
|
|
1157
1154
|
return new FocusTrap(element, this._checker, this._ngZone, this._document, deferCaptureElements);
|
|
1158
1155
|
}
|
|
1159
1156
|
}
|
|
1160
|
-
FocusTrapFactory.ɵ
|
|
1161
|
-
FocusTrapFactory
|
|
1162
|
-
|
|
1163
|
-
|
|
1164
|
-
|
|
1165
|
-
|
|
1166
|
-
|
|
1167
|
-
|
|
1168
|
-
];
|
|
1157
|
+
FocusTrapFactory.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: FocusTrapFactory, deps: [{ token: InteractivityChecker }, { token: i0.NgZone }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1158
|
+
FocusTrapFactory.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: FocusTrapFactory, providedIn: 'root' });
|
|
1159
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: FocusTrapFactory, decorators: [{
|
|
1160
|
+
type: Injectable,
|
|
1161
|
+
args: [{ providedIn: 'root' }]
|
|
1162
|
+
}], ctorParameters: function () { return [{ type: InteractivityChecker }, { type: i0.NgZone }, { type: undefined, decorators: [{
|
|
1163
|
+
type: Inject,
|
|
1164
|
+
args: [DOCUMENT]
|
|
1165
|
+
}] }]; } });
|
|
1169
1166
|
/** Directive for trapping focus within a region. */
|
|
1170
1167
|
class CdkTrapFocus {
|
|
1171
1168
|
constructor(_elementRef, _focusTrapFactory,
|
|
@@ -1181,14 +1178,22 @@ class CdkTrapFocus {
|
|
|
1181
1178
|
this.focusTrap = this._focusTrapFactory.create(this._elementRef.nativeElement, true);
|
|
1182
1179
|
}
|
|
1183
1180
|
/** Whether the focus trap is active. */
|
|
1184
|
-
get enabled() {
|
|
1185
|
-
|
|
1181
|
+
get enabled() {
|
|
1182
|
+
return this.focusTrap.enabled;
|
|
1183
|
+
}
|
|
1184
|
+
set enabled(value) {
|
|
1185
|
+
this.focusTrap.enabled = coerceBooleanProperty(value);
|
|
1186
|
+
}
|
|
1186
1187
|
/**
|
|
1187
1188
|
* Whether the directive should automatically move focus into the trapped region upon
|
|
1188
1189
|
* initialization and return focus to the previous activeElement upon destruction.
|
|
1189
1190
|
*/
|
|
1190
|
-
get autoCapture() {
|
|
1191
|
-
|
|
1191
|
+
get autoCapture() {
|
|
1192
|
+
return this._autoCapture;
|
|
1193
|
+
}
|
|
1194
|
+
set autoCapture(value) {
|
|
1195
|
+
this._autoCapture = coerceBooleanProperty(value);
|
|
1196
|
+
}
|
|
1192
1197
|
ngOnDestroy() {
|
|
1193
1198
|
this.focusTrap.destroy();
|
|
1194
1199
|
// If we stored a previously focused element when using autoCapture, return focus to that
|
|
@@ -1211,7 +1216,9 @@ class CdkTrapFocus {
|
|
|
1211
1216
|
}
|
|
1212
1217
|
ngOnChanges(changes) {
|
|
1213
1218
|
const autoCaptureChange = changes['autoCapture'];
|
|
1214
|
-
if (autoCaptureChange &&
|
|
1219
|
+
if (autoCaptureChange &&
|
|
1220
|
+
!autoCaptureChange.firstChange &&
|
|
1221
|
+
this.autoCapture &&
|
|
1215
1222
|
this.focusTrap.hasAttached()) {
|
|
1216
1223
|
this._captureFocus();
|
|
1217
1224
|
}
|
|
@@ -1221,21 +1228,24 @@ class CdkTrapFocus {
|
|
|
1221
1228
|
this.focusTrap.focusInitialElementWhenReady();
|
|
1222
1229
|
}
|
|
1223
1230
|
}
|
|
1224
|
-
CdkTrapFocus
|
|
1225
|
-
|
|
1226
|
-
|
|
1227
|
-
|
|
1228
|
-
|
|
1229
|
-
]
|
|
1230
|
-
|
|
1231
|
-
|
|
1232
|
-
|
|
1233
|
-
|
|
1234
|
-
]
|
|
1235
|
-
|
|
1236
|
-
|
|
1237
|
-
|
|
1238
|
-
}
|
|
1231
|
+
CdkTrapFocus.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: CdkTrapFocus, deps: [{ token: i0.ElementRef }, { token: FocusTrapFactory }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Directive });
|
|
1232
|
+
CdkTrapFocus.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.0-next.15", type: CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: { enabled: ["cdkTrapFocus", "enabled"], autoCapture: ["cdkTrapFocusAutoCapture", "autoCapture"] }, exportAs: ["cdkTrapFocus"], usesOnChanges: true, ngImport: i0 });
|
|
1233
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: CdkTrapFocus, decorators: [{
|
|
1234
|
+
type: Directive,
|
|
1235
|
+
args: [{
|
|
1236
|
+
selector: '[cdkTrapFocus]',
|
|
1237
|
+
exportAs: 'cdkTrapFocus',
|
|
1238
|
+
}]
|
|
1239
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: FocusTrapFactory }, { type: undefined, decorators: [{
|
|
1240
|
+
type: Inject,
|
|
1241
|
+
args: [DOCUMENT]
|
|
1242
|
+
}] }]; }, propDecorators: { enabled: [{
|
|
1243
|
+
type: Input,
|
|
1244
|
+
args: ['cdkTrapFocus']
|
|
1245
|
+
}], autoCapture: [{
|
|
1246
|
+
type: Input,
|
|
1247
|
+
args: ['cdkTrapFocusAutoCapture']
|
|
1248
|
+
}] } });
|
|
1239
1249
|
|
|
1240
1250
|
/**
|
|
1241
1251
|
* @license
|
|
@@ -1258,7 +1268,9 @@ class ConfigurableFocusTrap extends FocusTrap {
|
|
|
1258
1268
|
this._focusTrapManager.register(this);
|
|
1259
1269
|
}
|
|
1260
1270
|
/** Whether the FocusTrap is enabled. */
|
|
1261
|
-
get enabled() {
|
|
1271
|
+
get enabled() {
|
|
1272
|
+
return this._enabled;
|
|
1273
|
+
}
|
|
1262
1274
|
set enabled(value) {
|
|
1263
1275
|
this._enabled = value;
|
|
1264
1276
|
if (this._enabled) {
|
|
@@ -1346,12 +1358,11 @@ class EventListenerFocusTrapInertStrategy {
|
|
|
1346
1358
|
* so all this code runs outside Angular as well.
|
|
1347
1359
|
*/
|
|
1348
1360
|
_trapFocus(focusTrap, event) {
|
|
1349
|
-
var _a;
|
|
1350
1361
|
const target = event.target;
|
|
1351
1362
|
const focusTrapRoot = focusTrap._element;
|
|
1352
1363
|
// Don't refocus if target was in an overlay, because the overlay might be associated
|
|
1353
1364
|
// with an element inside the FocusTrap, ex. mat-select.
|
|
1354
|
-
if (target && !focusTrapRoot.contains(target) && !
|
|
1365
|
+
if (target && !focusTrapRoot.contains(target) && !target.closest?.('div.cdk-overlay-pane')) {
|
|
1355
1366
|
// Some legacy FocusTrap usages have logic that focuses some element on the page
|
|
1356
1367
|
// just before FocusTrap is destroyed. For backwards compatibility, wait
|
|
1357
1368
|
// to be sure FocusTrap is still enabled before refocusing.
|
|
@@ -1385,7 +1396,7 @@ class FocusTrapManager {
|
|
|
1385
1396
|
*/
|
|
1386
1397
|
register(focusTrap) {
|
|
1387
1398
|
// Dedupe focusTraps that register multiple times.
|
|
1388
|
-
this._focusTrapStack = this._focusTrapStack.filter(
|
|
1399
|
+
this._focusTrapStack = this._focusTrapStack.filter(ft => ft !== focusTrap);
|
|
1389
1400
|
let stack = this._focusTrapStack;
|
|
1390
1401
|
if (stack.length) {
|
|
1391
1402
|
stack[stack.length - 1]._disable();
|
|
@@ -1409,10 +1420,12 @@ class FocusTrapManager {
|
|
|
1409
1420
|
}
|
|
1410
1421
|
}
|
|
1411
1422
|
}
|
|
1412
|
-
FocusTrapManager.ɵ
|
|
1413
|
-
FocusTrapManager
|
|
1414
|
-
|
|
1415
|
-
|
|
1423
|
+
FocusTrapManager.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: FocusTrapManager, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1424
|
+
FocusTrapManager.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: FocusTrapManager, providedIn: 'root' });
|
|
1425
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: FocusTrapManager, decorators: [{
|
|
1426
|
+
type: Injectable,
|
|
1427
|
+
args: [{ providedIn: 'root' }]
|
|
1428
|
+
}] });
|
|
1416
1429
|
|
|
1417
1430
|
/**
|
|
1418
1431
|
* @license
|
|
@@ -1442,17 +1455,20 @@ class ConfigurableFocusTrapFactory {
|
|
|
1442
1455
|
return new ConfigurableFocusTrap(element, this._checker, this._ngZone, this._document, this._focusTrapManager, this._inertStrategy, configObject);
|
|
1443
1456
|
}
|
|
1444
1457
|
}
|
|
1445
|
-
ConfigurableFocusTrapFactory.ɵ
|
|
1446
|
-
ConfigurableFocusTrapFactory
|
|
1447
|
-
|
|
1448
|
-
|
|
1449
|
-
|
|
1450
|
-
|
|
1451
|
-
|
|
1452
|
-
|
|
1453
|
-
|
|
1454
|
-
|
|
1455
|
-
|
|
1458
|
+
ConfigurableFocusTrapFactory.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-next.15", 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 });
|
|
1459
|
+
ConfigurableFocusTrapFactory.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: ConfigurableFocusTrapFactory, providedIn: 'root' });
|
|
1460
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: ConfigurableFocusTrapFactory, decorators: [{
|
|
1461
|
+
type: Injectable,
|
|
1462
|
+
args: [{ providedIn: 'root' }]
|
|
1463
|
+
}], ctorParameters: function () { return [{ type: InteractivityChecker }, { type: i0.NgZone }, { type: FocusTrapManager }, { type: undefined, decorators: [{
|
|
1464
|
+
type: Inject,
|
|
1465
|
+
args: [DOCUMENT]
|
|
1466
|
+
}] }, { type: undefined, decorators: [{
|
|
1467
|
+
type: Optional
|
|
1468
|
+
}, {
|
|
1469
|
+
type: Inject,
|
|
1470
|
+
args: [FOCUS_TRAP_INERT_STRATEGY]
|
|
1471
|
+
}] }]; } });
|
|
1456
1472
|
|
|
1457
1473
|
/**
|
|
1458
1474
|
* @license
|
|
@@ -1472,14 +1488,15 @@ function isFakeMousedownFromScreenReader(event) {
|
|
|
1472
1488
|
}
|
|
1473
1489
|
/** Gets whether an event could be a faked `touchstart` event dispatched by a screen reader. */
|
|
1474
1490
|
function isFakeTouchstartFromScreenReader(event) {
|
|
1475
|
-
const touch = (event.touches && event.touches[0]) ||
|
|
1476
|
-
(event.changedTouches && event.changedTouches[0]);
|
|
1491
|
+
const touch = (event.touches && event.touches[0]) || (event.changedTouches && event.changedTouches[0]);
|
|
1477
1492
|
// A fake `touchstart` can be distinguished from a real one by looking at the `identifier`
|
|
1478
1493
|
// which is typically >= 0 on a real device versus -1 from a screen reader. Just to be safe,
|
|
1479
1494
|
// we can also look at `radiusX` and `radiusY`. This behavior was observed against a Windows 10
|
|
1480
1495
|
// device with a touch screen running NVDA v2020.4 and Firefox 85 or Chrome 88.
|
|
1481
|
-
return !!touch &&
|
|
1482
|
-
|
|
1496
|
+
return (!!touch &&
|
|
1497
|
+
touch.identifier === -1 &&
|
|
1498
|
+
(touch.radiusX == null || touch.radiusX === 1) &&
|
|
1499
|
+
(touch.radiusY == null || touch.radiusY === 1));
|
|
1483
1500
|
}
|
|
1484
1501
|
|
|
1485
1502
|
/**
|
|
@@ -1563,10 +1580,9 @@ class InputModalityDetector {
|
|
|
1563
1580
|
* bound.
|
|
1564
1581
|
*/
|
|
1565
1582
|
this._onKeydown = (event) => {
|
|
1566
|
-
var _a, _b;
|
|
1567
1583
|
// If this is one of the keys we should ignore, then ignore it and don't update the input
|
|
1568
1584
|
// modality to keyboard.
|
|
1569
|
-
if (
|
|
1585
|
+
if (this._options?.ignoreKeys?.some(keyCode => keyCode === event.keyCode)) {
|
|
1570
1586
|
return;
|
|
1571
1587
|
}
|
|
1572
1588
|
this._modality.next('keyboard');
|
|
@@ -1605,7 +1621,10 @@ class InputModalityDetector {
|
|
|
1605
1621
|
this._modality.next('touch');
|
|
1606
1622
|
this._mostRecentTarget = _getEventTarget(event);
|
|
1607
1623
|
};
|
|
1608
|
-
this._options =
|
|
1624
|
+
this._options = {
|
|
1625
|
+
...INPUT_MODALITY_DETECTOR_DEFAULT_OPTIONS,
|
|
1626
|
+
...options,
|
|
1627
|
+
};
|
|
1609
1628
|
// Skip the first emission as it's null.
|
|
1610
1629
|
this.modalityDetected = this._modality.pipe(skip(1));
|
|
1611
1630
|
this.modalityChanged = this.modalityDetected.pipe(distinctUntilChanged());
|
|
@@ -1632,16 +1651,20 @@ class InputModalityDetector {
|
|
|
1632
1651
|
}
|
|
1633
1652
|
}
|
|
1634
1653
|
}
|
|
1635
|
-
InputModalityDetector.ɵ
|
|
1636
|
-
InputModalityDetector
|
|
1637
|
-
|
|
1638
|
-
|
|
1639
|
-
|
|
1640
|
-
|
|
1641
|
-
|
|
1642
|
-
|
|
1643
|
-
|
|
1644
|
-
|
|
1654
|
+
InputModalityDetector.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: InputModalityDetector, deps: [{ token: i1.Platform }, { token: i0.NgZone }, { token: DOCUMENT }, { token: INPUT_MODALITY_DETECTOR_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1655
|
+
InputModalityDetector.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: InputModalityDetector, providedIn: 'root' });
|
|
1656
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: InputModalityDetector, decorators: [{
|
|
1657
|
+
type: Injectable,
|
|
1658
|
+
args: [{ providedIn: 'root' }]
|
|
1659
|
+
}], ctorParameters: function () { return [{ type: i1.Platform }, { type: i0.NgZone }, { type: Document, decorators: [{
|
|
1660
|
+
type: Inject,
|
|
1661
|
+
args: [DOCUMENT]
|
|
1662
|
+
}] }, { type: undefined, decorators: [{
|
|
1663
|
+
type: Optional
|
|
1664
|
+
}, {
|
|
1665
|
+
type: Inject,
|
|
1666
|
+
args: [INPUT_MODALITY_DETECTOR_OPTIONS]
|
|
1667
|
+
}] }]; } });
|
|
1645
1668
|
|
|
1646
1669
|
/**
|
|
1647
1670
|
* @license
|
|
@@ -1692,7 +1715,7 @@ class LiveAnnouncer {
|
|
|
1692
1715
|
clearTimeout(this._previousTimeout);
|
|
1693
1716
|
if (!politeness) {
|
|
1694
1717
|
politeness =
|
|
1695
|
-
|
|
1718
|
+
defaultOptions && defaultOptions.politeness ? defaultOptions.politeness : 'polite';
|
|
1696
1719
|
}
|
|
1697
1720
|
if (duration == null && defaultOptions) {
|
|
1698
1721
|
duration = defaultOptions.duration;
|
|
@@ -1729,10 +1752,8 @@ class LiveAnnouncer {
|
|
|
1729
1752
|
}
|
|
1730
1753
|
ngOnDestroy() {
|
|
1731
1754
|
clearTimeout(this._previousTimeout);
|
|
1732
|
-
|
|
1733
|
-
|
|
1734
|
-
this._liveElement = null;
|
|
1735
|
-
}
|
|
1755
|
+
this._liveElement?.remove();
|
|
1756
|
+
this._liveElement = null;
|
|
1736
1757
|
}
|
|
1737
1758
|
_createLiveElement() {
|
|
1738
1759
|
const elementClass = 'cdk-live-announcer-element';
|
|
@@ -1740,7 +1761,7 @@ class LiveAnnouncer {
|
|
|
1740
1761
|
const liveEl = this._document.createElement('div');
|
|
1741
1762
|
// Remove any old containers. This can happen when coming in from a server-side-rendered page.
|
|
1742
1763
|
for (let i = 0; i < previousElements.length; i++) {
|
|
1743
|
-
previousElements[i].
|
|
1764
|
+
previousElements[i].remove();
|
|
1744
1765
|
}
|
|
1745
1766
|
liveEl.classList.add(elementClass);
|
|
1746
1767
|
liveEl.classList.add('cdk-visually-hidden');
|
|
@@ -1750,16 +1771,25 @@ class LiveAnnouncer {
|
|
|
1750
1771
|
return liveEl;
|
|
1751
1772
|
}
|
|
1752
1773
|
}
|
|
1753
|
-
LiveAnnouncer.ɵ
|
|
1754
|
-
LiveAnnouncer
|
|
1755
|
-
|
|
1756
|
-
|
|
1757
|
-
|
|
1758
|
-
|
|
1759
|
-
|
|
1760
|
-
|
|
1761
|
-
|
|
1762
|
-
]
|
|
1774
|
+
LiveAnnouncer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-next.15", 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 });
|
|
1775
|
+
LiveAnnouncer.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: LiveAnnouncer, providedIn: 'root' });
|
|
1776
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: LiveAnnouncer, decorators: [{
|
|
1777
|
+
type: Injectable,
|
|
1778
|
+
args: [{ providedIn: 'root' }]
|
|
1779
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
1780
|
+
type: Optional
|
|
1781
|
+
}, {
|
|
1782
|
+
type: Inject,
|
|
1783
|
+
args: [LIVE_ANNOUNCER_ELEMENT_TOKEN]
|
|
1784
|
+
}] }, { type: i0.NgZone }, { type: undefined, decorators: [{
|
|
1785
|
+
type: Inject,
|
|
1786
|
+
args: [DOCUMENT]
|
|
1787
|
+
}] }, { type: undefined, decorators: [{
|
|
1788
|
+
type: Optional
|
|
1789
|
+
}, {
|
|
1790
|
+
type: Inject,
|
|
1791
|
+
args: [LIVE_ANNOUNCER_DEFAULT_OPTIONS]
|
|
1792
|
+
}] }]; } });
|
|
1763
1793
|
/**
|
|
1764
1794
|
* A directive that works similarly to aria-live, but uses the LiveAnnouncer to ensure compatibility
|
|
1765
1795
|
* with a wider range of browsers and screen readers.
|
|
@@ -1773,7 +1803,9 @@ class CdkAriaLive {
|
|
|
1773
1803
|
this._politeness = 'polite';
|
|
1774
1804
|
}
|
|
1775
1805
|
/** The aria-live politeness level to use when announcing messages. */
|
|
1776
|
-
get politeness() {
|
|
1806
|
+
get politeness() {
|
|
1807
|
+
return this._politeness;
|
|
1808
|
+
}
|
|
1777
1809
|
set politeness(value) {
|
|
1778
1810
|
this._politeness = value === 'off' || value === 'assertive' ? value : 'polite';
|
|
1779
1811
|
if (this._politeness === 'off') {
|
|
@@ -1784,9 +1816,7 @@ class CdkAriaLive {
|
|
|
1784
1816
|
}
|
|
1785
1817
|
else if (!this._subscription) {
|
|
1786
1818
|
this._subscription = this._ngZone.runOutsideAngular(() => {
|
|
1787
|
-
return this._contentObserver
|
|
1788
|
-
.observe(this._elementRef)
|
|
1789
|
-
.subscribe(() => {
|
|
1819
|
+
return this._contentObserver.observe(this._elementRef).subscribe(() => {
|
|
1790
1820
|
// Note that we use textContent here, rather than innerText, in order to avoid a reflow.
|
|
1791
1821
|
const elementText = this._elementRef.nativeElement.textContent;
|
|
1792
1822
|
// The `MutationObserver` fires also for attribute
|
|
@@ -1805,21 +1835,18 @@ class CdkAriaLive {
|
|
|
1805
1835
|
}
|
|
1806
1836
|
}
|
|
1807
1837
|
}
|
|
1808
|
-
CdkAriaLive
|
|
1809
|
-
|
|
1810
|
-
|
|
1811
|
-
|
|
1812
|
-
|
|
1813
|
-
]
|
|
1814
|
-
|
|
1815
|
-
|
|
1816
|
-
|
|
1817
|
-
|
|
1818
|
-
|
|
1819
|
-
];
|
|
1820
|
-
CdkAriaLive.propDecorators = {
|
|
1821
|
-
politeness: [{ type: Input, args: ['cdkAriaLive',] }]
|
|
1822
|
-
};
|
|
1838
|
+
CdkAriaLive.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: CdkAriaLive, deps: [{ token: i0.ElementRef }, { token: LiveAnnouncer }, { token: i1$1.ContentObserver }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
|
|
1839
|
+
CdkAriaLive.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.0-next.15", type: CdkAriaLive, selector: "[cdkAriaLive]", inputs: { politeness: ["cdkAriaLive", "politeness"] }, exportAs: ["cdkAriaLive"], ngImport: i0 });
|
|
1840
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: CdkAriaLive, decorators: [{
|
|
1841
|
+
type: Directive,
|
|
1842
|
+
args: [{
|
|
1843
|
+
selector: '[cdkAriaLive]',
|
|
1844
|
+
exportAs: 'cdkAriaLive',
|
|
1845
|
+
}]
|
|
1846
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: LiveAnnouncer }, { type: i1$1.ContentObserver }, { type: i0.NgZone }]; }, propDecorators: { politeness: [{
|
|
1847
|
+
type: Input,
|
|
1848
|
+
args: ['cdkAriaLive']
|
|
1849
|
+
}] } });
|
|
1823
1850
|
|
|
1824
1851
|
/**
|
|
1825
1852
|
* @license
|
|
@@ -1836,7 +1863,7 @@ const FOCUS_MONITOR_DEFAULT_OPTIONS = new InjectionToken('cdk-focus-monitor-defa
|
|
|
1836
1863
|
*/
|
|
1837
1864
|
const captureEventListenerOptions = normalizePassiveListenerOptions({
|
|
1838
1865
|
passive: true,
|
|
1839
|
-
capture: true
|
|
1866
|
+
capture: true,
|
|
1840
1867
|
});
|
|
1841
1868
|
/** Monitors mouse and keyboard events to determine the cause of focus events. */
|
|
1842
1869
|
class FocusMonitor {
|
|
@@ -1874,7 +1901,7 @@ class FocusMonitor {
|
|
|
1874
1901
|
// Make a note of when the window regains focus, so we can
|
|
1875
1902
|
// restore the origin info for the focused element.
|
|
1876
1903
|
this._windowFocused = true;
|
|
1877
|
-
this._windowFocusTimeoutId = setTimeout(() => this._windowFocused = false);
|
|
1904
|
+
this._windowFocusTimeoutId = setTimeout(() => (this._windowFocused = false));
|
|
1878
1905
|
};
|
|
1879
1906
|
/** Subject for stopping our InputModalityDetector subscription. */
|
|
1880
1907
|
this._stopInputModalityDetector = new Subject();
|
|
@@ -1891,7 +1918,7 @@ class FocusMonitor {
|
|
|
1891
1918
|
}
|
|
1892
1919
|
};
|
|
1893
1920
|
this._document = document;
|
|
1894
|
-
this._detectionMode =
|
|
1921
|
+
this._detectionMode = options?.detectionMode || 0 /* IMMEDIATE */;
|
|
1895
1922
|
}
|
|
1896
1923
|
monitor(element, checkChildren = false) {
|
|
1897
1924
|
const nativeElement = coerceElement(element);
|
|
@@ -1918,7 +1945,7 @@ class FocusMonitor {
|
|
|
1918
1945
|
const info = {
|
|
1919
1946
|
checkChildren: checkChildren,
|
|
1920
1947
|
subject: new Subject(),
|
|
1921
|
-
rootNode
|
|
1948
|
+
rootNode,
|
|
1922
1949
|
};
|
|
1923
1950
|
this._elementInfo.set(nativeElement, info);
|
|
1924
1951
|
this._registerGlobalListeners(info);
|
|
@@ -1941,8 +1968,7 @@ class FocusMonitor {
|
|
|
1941
1968
|
// which means that the focus classes won't be updated. If that's the case, update the classes
|
|
1942
1969
|
// directly without waiting for an event.
|
|
1943
1970
|
if (nativeElement === focusedElement) {
|
|
1944
|
-
this._getClosestElementsInfo(nativeElement)
|
|
1945
|
-
.forEach(([currentElement, info]) => this._originChanged(currentElement, origin, info));
|
|
1971
|
+
this._getClosestElementsInfo(nativeElement).forEach(([currentElement, info]) => this._originChanged(currentElement, origin, info));
|
|
1946
1972
|
}
|
|
1947
1973
|
else {
|
|
1948
1974
|
this._setOrigin(origin);
|
|
@@ -1984,7 +2010,7 @@ class FocusMonitor {
|
|
|
1984
2010
|
// events).
|
|
1985
2011
|
//
|
|
1986
2012
|
// Because we can't distinguish between these two cases, we default to setting `program`.
|
|
1987
|
-
return
|
|
2013
|
+
return this._windowFocused && this._lastFocusOrigin ? this._lastFocusOrigin : 'program';
|
|
1988
2014
|
}
|
|
1989
2015
|
/**
|
|
1990
2016
|
* Returns whether the focus event should be attributed to touch. Recall that in IMMEDIATE mode, a
|
|
@@ -2005,8 +2031,8 @@ class FocusMonitor {
|
|
|
2005
2031
|
// #child, #parent is programmatically focused. This code will attribute the focus to touch
|
|
2006
2032
|
// instead of program. This is a relatively minor edge-case that can be worked around by using
|
|
2007
2033
|
// focusVia(parent, 'program') to focus #parent.
|
|
2008
|
-
return (this._detectionMode === 1 /* EVENTUAL */
|
|
2009
|
-
!!
|
|
2034
|
+
return (this._detectionMode === 1 /* EVENTUAL */ ||
|
|
2035
|
+
!!focusEventTarget?.contains(this._inputModalityDetector._mostRecentTarget));
|
|
2010
2036
|
}
|
|
2011
2037
|
/**
|
|
2012
2038
|
* Sets the focus classes on the element based on the given focus origin.
|
|
@@ -2030,7 +2056,7 @@ class FocusMonitor {
|
|
|
2030
2056
|
_setOrigin(origin, isFromInteraction = false) {
|
|
2031
2057
|
this._ngZone.runOutsideAngular(() => {
|
|
2032
2058
|
this._origin = origin;
|
|
2033
|
-
this._originFromTouchInteraction =
|
|
2059
|
+
this._originFromTouchInteraction = origin === 'touch' && isFromInteraction;
|
|
2034
2060
|
// If we're in IMMEDIATE mode, reset the origin at the next tick (or in `TOUCH_BUFFER_MS` ms
|
|
2035
2061
|
// for a touch event). We reset the origin at the next tick because Firefox focuses one tick
|
|
2036
2062
|
// after the interaction event. We wait `TOUCH_BUFFER_MS` ms before resetting the origin for
|
|
@@ -2039,7 +2065,7 @@ class FocusMonitor {
|
|
|
2039
2065
|
if (this._detectionMode === 0 /* IMMEDIATE */) {
|
|
2040
2066
|
clearTimeout(this._originTimeoutId);
|
|
2041
2067
|
const ms = this._originFromTouchInteraction ? TOUCH_BUFFER_MS : 1;
|
|
2042
|
-
this._originTimeoutId = setTimeout(() => this._origin = null, ms);
|
|
2068
|
+
this._originTimeoutId = setTimeout(() => (this._origin = null), ms);
|
|
2043
2069
|
}
|
|
2044
2070
|
});
|
|
2045
2071
|
}
|
|
@@ -2071,8 +2097,10 @@ class FocusMonitor {
|
|
|
2071
2097
|
// If we are counting child-element-focus as focused, make sure that we aren't just blurring in
|
|
2072
2098
|
// order to focus another child of the monitored element.
|
|
2073
2099
|
const elementInfo = this._elementInfo.get(element);
|
|
2074
|
-
if (!elementInfo ||
|
|
2075
|
-
|
|
2100
|
+
if (!elementInfo ||
|
|
2101
|
+
(elementInfo.checkChildren &&
|
|
2102
|
+
event.relatedTarget instanceof Node &&
|
|
2103
|
+
element.contains(event.relatedTarget))) {
|
|
2076
2104
|
return;
|
|
2077
2105
|
}
|
|
2078
2106
|
this._setClasses(element);
|
|
@@ -2105,7 +2133,9 @@ class FocusMonitor {
|
|
|
2105
2133
|
// The InputModalityDetector is also just a collection of global listeners.
|
|
2106
2134
|
this._inputModalityDetector.modalityDetected
|
|
2107
2135
|
.pipe(takeUntil(this._stopInputModalityDetector))
|
|
2108
|
-
.subscribe(modality => {
|
|
2136
|
+
.subscribe(modality => {
|
|
2137
|
+
this._setOrigin(modality, true /* isFromInteraction */);
|
|
2138
|
+
});
|
|
2109
2139
|
}
|
|
2110
2140
|
}
|
|
2111
2141
|
_removeGlobalListeners(elementInfo) {
|
|
@@ -2153,17 +2183,22 @@ class FocusMonitor {
|
|
|
2153
2183
|
return results;
|
|
2154
2184
|
}
|
|
2155
2185
|
}
|
|
2156
|
-
FocusMonitor.ɵ
|
|
2157
|
-
FocusMonitor
|
|
2158
|
-
|
|
2159
|
-
|
|
2160
|
-
|
|
2161
|
-
|
|
2162
|
-
|
|
2163
|
-
|
|
2164
|
-
|
|
2165
|
-
|
|
2166
|
-
]
|
|
2186
|
+
FocusMonitor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-next.15", 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 });
|
|
2187
|
+
FocusMonitor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: FocusMonitor, providedIn: 'root' });
|
|
2188
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: FocusMonitor, decorators: [{
|
|
2189
|
+
type: Injectable,
|
|
2190
|
+
args: [{ providedIn: 'root' }]
|
|
2191
|
+
}], ctorParameters: function () { return [{ type: i0.NgZone }, { type: i1.Platform }, { type: InputModalityDetector }, { type: undefined, decorators: [{
|
|
2192
|
+
type: Optional
|
|
2193
|
+
}, {
|
|
2194
|
+
type: Inject,
|
|
2195
|
+
args: [DOCUMENT]
|
|
2196
|
+
}] }, { type: undefined, decorators: [{
|
|
2197
|
+
type: Optional
|
|
2198
|
+
}, {
|
|
2199
|
+
type: Inject,
|
|
2200
|
+
args: [FOCUS_MONITOR_DEFAULT_OPTIONS]
|
|
2201
|
+
}] }]; } });
|
|
2167
2202
|
/**
|
|
2168
2203
|
* Directive that determines how a particular element was focused (via keyboard, mouse, touch, or
|
|
2169
2204
|
* programmatically) and adds corresponding classes to the element.
|
|
@@ -2181,7 +2216,8 @@ class CdkMonitorFocus {
|
|
|
2181
2216
|
}
|
|
2182
2217
|
ngAfterViewInit() {
|
|
2183
2218
|
const element = this._elementRef.nativeElement;
|
|
2184
|
-
this._monitorSubscription = this._focusMonitor
|
|
2219
|
+
this._monitorSubscription = this._focusMonitor
|
|
2220
|
+
.monitor(element, element.nodeType === 1 && element.hasAttribute('cdkMonitorSubtreeFocus'))
|
|
2185
2221
|
.subscribe(origin => this.cdkFocusChange.emit(origin));
|
|
2186
2222
|
}
|
|
2187
2223
|
ngOnDestroy() {
|
|
@@ -2191,18 +2227,16 @@ class CdkMonitorFocus {
|
|
|
2191
2227
|
}
|
|
2192
2228
|
}
|
|
2193
2229
|
}
|
|
2194
|
-
CdkMonitorFocus
|
|
2195
|
-
|
|
2196
|
-
|
|
2197
|
-
|
|
2198
|
-
|
|
2199
|
-
|
|
2200
|
-
|
|
2201
|
-
|
|
2202
|
-
|
|
2203
|
-
|
|
2204
|
-
cdkFocusChange: [{ type: Output }]
|
|
2205
|
-
};
|
|
2230
|
+
CdkMonitorFocus.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: CdkMonitorFocus, deps: [{ token: i0.ElementRef }, { token: FocusMonitor }], target: i0.ɵɵFactoryTarget.Directive });
|
|
2231
|
+
CdkMonitorFocus.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.0-next.15", type: CdkMonitorFocus, selector: "[cdkMonitorElementFocus], [cdkMonitorSubtreeFocus]", outputs: { cdkFocusChange: "cdkFocusChange" }, ngImport: i0 });
|
|
2232
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: CdkMonitorFocus, decorators: [{
|
|
2233
|
+
type: Directive,
|
|
2234
|
+
args: [{
|
|
2235
|
+
selector: '[cdkMonitorElementFocus], [cdkMonitorSubtreeFocus]',
|
|
2236
|
+
}]
|
|
2237
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: FocusMonitor }]; }, propDecorators: { cdkFocusChange: [{
|
|
2238
|
+
type: Output
|
|
2239
|
+
}] } });
|
|
2206
2240
|
|
|
2207
2241
|
/**
|
|
2208
2242
|
* @license
|
|
@@ -2250,13 +2284,16 @@ class HighContrastModeDetector {
|
|
|
2250
2284
|
// via the document so we can fake it in tests. Note that we have extra null checks, because
|
|
2251
2285
|
// this logic will likely run during app bootstrap and throwing can break the entire app.
|
|
2252
2286
|
const documentWindow = this._document.defaultView || window;
|
|
2253
|
-
const computedStyle =
|
|
2254
|
-
documentWindow.getComputedStyle(testElement)
|
|
2255
|
-
|
|
2256
|
-
|
|
2287
|
+
const computedStyle = documentWindow && documentWindow.getComputedStyle
|
|
2288
|
+
? documentWindow.getComputedStyle(testElement)
|
|
2289
|
+
: null;
|
|
2290
|
+
const computedColor = ((computedStyle && computedStyle.backgroundColor) || '').replace(/ /g, '');
|
|
2291
|
+
testElement.remove();
|
|
2257
2292
|
switch (computedColor) {
|
|
2258
|
-
case 'rgb(0,0,0)':
|
|
2259
|
-
|
|
2293
|
+
case 'rgb(0,0,0)':
|
|
2294
|
+
return 2 /* WHITE_ON_BLACK */;
|
|
2295
|
+
case 'rgb(255,255,255)':
|
|
2296
|
+
return 1 /* BLACK_ON_WHITE */;
|
|
2260
2297
|
}
|
|
2261
2298
|
return 0 /* NONE */;
|
|
2262
2299
|
}
|
|
@@ -2281,14 +2318,15 @@ class HighContrastModeDetector {
|
|
|
2281
2318
|
}
|
|
2282
2319
|
}
|
|
2283
2320
|
}
|
|
2284
|
-
HighContrastModeDetector.ɵ
|
|
2285
|
-
HighContrastModeDetector
|
|
2286
|
-
|
|
2287
|
-
|
|
2288
|
-
|
|
2289
|
-
|
|
2290
|
-
|
|
2291
|
-
]
|
|
2321
|
+
HighContrastModeDetector.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: HighContrastModeDetector, deps: [{ token: i1.Platform }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
2322
|
+
HighContrastModeDetector.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: HighContrastModeDetector, providedIn: 'root' });
|
|
2323
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: HighContrastModeDetector, decorators: [{
|
|
2324
|
+
type: Injectable,
|
|
2325
|
+
args: [{ providedIn: 'root' }]
|
|
2326
|
+
}], ctorParameters: function () { return [{ type: i1.Platform }, { type: undefined, decorators: [{
|
|
2327
|
+
type: Inject,
|
|
2328
|
+
args: [DOCUMENT]
|
|
2329
|
+
}] }]; } });
|
|
2292
2330
|
|
|
2293
2331
|
/**
|
|
2294
2332
|
* @license
|
|
@@ -2302,16 +2340,17 @@ class A11yModule {
|
|
|
2302
2340
|
highContrastModeDetector._applyBodyHighContrastModeCssClasses();
|
|
2303
2341
|
}
|
|
2304
2342
|
}
|
|
2305
|
-
A11yModule
|
|
2306
|
-
|
|
2307
|
-
|
|
2308
|
-
|
|
2309
|
-
|
|
2310
|
-
|
|
2311
|
-
]
|
|
2312
|
-
|
|
2313
|
-
|
|
2314
|
-
]
|
|
2343
|
+
A11yModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: A11yModule, deps: [{ token: HighContrastModeDetector }], target: i0.ɵɵFactoryTarget.NgModule });
|
|
2344
|
+
A11yModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: A11yModule, declarations: [CdkAriaLive, CdkTrapFocus, CdkMonitorFocus], imports: [PlatformModule, ObserversModule], exports: [CdkAriaLive, CdkTrapFocus, CdkMonitorFocus] });
|
|
2345
|
+
A11yModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: A11yModule, imports: [[PlatformModule, ObserversModule]] });
|
|
2346
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: A11yModule, decorators: [{
|
|
2347
|
+
type: NgModule,
|
|
2348
|
+
args: [{
|
|
2349
|
+
imports: [PlatformModule, ObserversModule],
|
|
2350
|
+
declarations: [CdkAriaLive, CdkTrapFocus, CdkMonitorFocus],
|
|
2351
|
+
exports: [CdkAriaLive, CdkTrapFocus, CdkMonitorFocus],
|
|
2352
|
+
}]
|
|
2353
|
+
}], ctorParameters: function () { return [{ type: HighContrastModeDetector }]; } });
|
|
2315
2354
|
|
|
2316
2355
|
/**
|
|
2317
2356
|
* @license
|
|
@@ -2325,5 +2364,5 @@ A11yModule.ctorParameters = () => [
|
|
|
2325
2364
|
* Generated bundle index. Do not edit.
|
|
2326
2365
|
*/
|
|
2327
2366
|
|
|
2328
|
-
export { A11yModule, ActiveDescendantKeyManager, AriaDescriber, CDK_DESCRIBEDBY_HOST_ATTRIBUTE, CDK_DESCRIBEDBY_ID_PREFIX, CdkAriaLive, CdkMonitorFocus, CdkTrapFocus, ConfigurableFocusTrap, ConfigurableFocusTrapFactory, EventListenerFocusTrapInertStrategy, FOCUS_MONITOR_DEFAULT_OPTIONS, FOCUS_TRAP_INERT_STRATEGY, FocusKeyManager, FocusMonitor, FocusTrap, FocusTrapFactory, HighContrastModeDetector, INPUT_MODALITY_DETECTOR_DEFAULT_OPTIONS, INPUT_MODALITY_DETECTOR_OPTIONS, InputModalityDetector, InteractivityChecker, IsFocusableConfig, LIVE_ANNOUNCER_DEFAULT_OPTIONS, LIVE_ANNOUNCER_ELEMENT_TOKEN, LIVE_ANNOUNCER_ELEMENT_TOKEN_FACTORY, ListKeyManager, LiveAnnouncer, MESSAGES_CONTAINER_ID, isFakeMousedownFromScreenReader, isFakeTouchstartFromScreenReader
|
|
2329
|
-
//# sourceMappingURL=a11y.
|
|
2367
|
+
export { A11yModule, ActiveDescendantKeyManager, AriaDescriber, CDK_DESCRIBEDBY_HOST_ATTRIBUTE, CDK_DESCRIBEDBY_ID_PREFIX, CdkAriaLive, CdkMonitorFocus, CdkTrapFocus, ConfigurableFocusTrap, ConfigurableFocusTrapFactory, EventListenerFocusTrapInertStrategy, FOCUS_MONITOR_DEFAULT_OPTIONS, FOCUS_TRAP_INERT_STRATEGY, FocusKeyManager, FocusMonitor, FocusTrap, FocusTrapFactory, HighContrastModeDetector, INPUT_MODALITY_DETECTOR_DEFAULT_OPTIONS, INPUT_MODALITY_DETECTOR_OPTIONS, InputModalityDetector, InteractivityChecker, IsFocusableConfig, LIVE_ANNOUNCER_DEFAULT_OPTIONS, LIVE_ANNOUNCER_ELEMENT_TOKEN, LIVE_ANNOUNCER_ELEMENT_TOKEN_FACTORY, ListKeyManager, LiveAnnouncer, MESSAGES_CONTAINER_ID, isFakeMousedownFromScreenReader, isFakeTouchstartFromScreenReader };
|
|
2368
|
+
//# sourceMappingURL=a11y.mjs.map
|