@angular/cdk 14.0.0-next.9 → 14.0.0-rc.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/a11y/_index.scss +11 -0
- package/a11y/index.d.ts +1119 -5
- package/a11y-prebuilt.css +1 -1
- package/accordion/index.d.ts +108 -6
- package/bidi/index.d.ts +77 -5
- package/clipboard/index.d.ts +112 -5
- package/coercion/index.d.ts +64 -5
- package/collections/index.d.ts +348 -5
- package/dialog/index.d.ts +410 -0
- package/drag-drop/index.d.ts +1456 -5
- package/esm2020/a11y/a11y-module.mjs +5 -5
- package/esm2020/a11y/aria-describer/aria-describer.mjs +10 -9
- package/esm2020/a11y/focus-monitor/focus-monitor.mjs +10 -10
- package/esm2020/a11y/focus-trap/configurable-focus-trap-factory.mjs +4 -4
- package/esm2020/a11y/focus-trap/focus-trap-manager.mjs +4 -4
- package/esm2020/a11y/focus-trap/focus-trap.mjs +7 -7
- package/esm2020/a11y/high-contrast-mode/high-contrast-mode-detector.mjs +10 -10
- package/esm2020/a11y/input-modality/input-modality-detector.mjs +4 -4
- package/esm2020/a11y/interactivity-checker/interactivity-checker.mjs +4 -4
- package/esm2020/a11y/live-announcer/live-announcer.mjs +7 -7
- package/esm2020/accordion/accordion-item.mjs +4 -4
- package/esm2020/accordion/accordion-module.mjs +5 -5
- package/esm2020/accordion/accordion.mjs +4 -4
- package/esm2020/bidi/bidi-module.mjs +5 -5
- package/esm2020/bidi/dir.mjs +4 -4
- package/esm2020/bidi/directionality.mjs +4 -4
- package/esm2020/clipboard/clipboard-module.mjs +5 -5
- package/esm2020/clipboard/clipboard.mjs +4 -4
- package/esm2020/clipboard/copy-to-clipboard.mjs +4 -4
- package/esm2020/collections/dispose-view-repeater-strategy.mjs +4 -4
- package/esm2020/collections/recycle-view-repeater-strategy.mjs +4 -4
- package/esm2020/collections/unique-selection-dispatcher.mjs +4 -4
- package/esm2020/dialog/dialog-config.mjs +63 -0
- package/esm2020/dialog/dialog-container.mjs +278 -0
- package/esm2020/dialog/dialog-injectors.mjs +26 -0
- package/esm2020/dialog/dialog-module.mjs +42 -0
- package/esm2020/dialog/dialog-ref.mjs +76 -0
- package/esm2020/dialog/dialog.mjs +298 -0
- package/esm2020/dialog/dialog_public_index.mjs +5 -0
- package/esm2020/dialog/index.mjs +9 -0
- package/esm2020/dialog/public-api.mjs +14 -0
- package/esm2020/drag-drop/directives/drag-handle.mjs +4 -4
- package/esm2020/drag-drop/directives/drag-placeholder.mjs +4 -4
- package/esm2020/drag-drop/directives/drag-preview.mjs +4 -4
- package/esm2020/drag-drop/directives/drag.mjs +11 -4
- package/esm2020/drag-drop/directives/drop-list-group.mjs +4 -4
- package/esm2020/drag-drop/directives/drop-list.mjs +4 -4
- package/esm2020/drag-drop/drag-drop-module.mjs +5 -5
- package/esm2020/drag-drop/drag-drop-registry.mjs +4 -4
- package/esm2020/drag-drop/drag-drop.mjs +4 -4
- package/esm2020/drag-drop/drop-list-ref.mjs +23 -23
- package/esm2020/layout/breakpoints-observer.mjs +4 -4
- package/esm2020/layout/layout-module.mjs +5 -5
- package/esm2020/layout/media-matcher.mjs +4 -4
- package/esm2020/menu/context-menu-trigger.mjs +212 -0
- package/esm2020/menu/index.mjs +9 -0
- package/esm2020/menu/menu-aim.mjs +203 -0
- package/esm2020/menu/menu-bar.mjs +133 -0
- package/esm2020/menu/menu-base.mjs +187 -0
- package/esm2020/menu/menu-errors.mjs +22 -0
- package/esm2020/menu/menu-group.mjs +30 -0
- package/esm2020/menu/menu-interface.mjs +11 -0
- package/esm2020/menu/menu-item-checkbox.mjs +49 -0
- package/esm2020/menu/menu-item-radio.mjs +71 -0
- package/esm2020/menu/menu-item-selectable.mjs +42 -0
- package/esm2020/menu/menu-item.mjs +259 -0
- package/esm2020/menu/menu-module.mjs +62 -0
- package/esm2020/menu/menu-stack.mjs +156 -0
- package/esm2020/menu/menu-trigger-base.mjs +107 -0
- package/esm2020/menu/menu-trigger.mjs +283 -0
- package/esm2020/menu/menu.mjs +134 -0
- package/esm2020/menu/menu_public_index.mjs +5 -0
- package/esm2020/menu/pointer-focus-tracker.mjs +51 -0
- package/esm2020/menu/public-api.mjs +24 -0
- package/esm2020/observers/observe-content.mjs +14 -14
- package/esm2020/overlay/dispatchers/base-overlay-dispatcher.mjs +4 -4
- package/esm2020/overlay/dispatchers/overlay-keyboard-dispatcher.mjs +4 -4
- package/esm2020/overlay/dispatchers/overlay-outside-click-dispatcher.mjs +4 -4
- package/esm2020/overlay/fullscreen-overlay-container.mjs +4 -4
- package/esm2020/overlay/overlay-container.mjs +4 -4
- package/esm2020/overlay/overlay-directives.mjs +7 -7
- package/esm2020/overlay/overlay-module.mjs +5 -5
- package/esm2020/overlay/overlay-ref.mjs +14 -5
- package/esm2020/overlay/overlay.mjs +14 -8
- package/esm2020/overlay/position/overlay-position-builder.mjs +4 -4
- package/esm2020/overlay/scroll/scroll-strategy-options.mjs +4 -4
- package/esm2020/platform/features/scrolling.mjs +4 -4
- package/esm2020/platform/platform-module.mjs +5 -5
- package/esm2020/platform/platform.mjs +4 -4
- package/esm2020/portal/dom-portal-outlet.mjs +6 -2
- package/esm2020/portal/portal-directives.mjs +17 -17
- package/esm2020/scrolling/fixed-size-virtual-scroll.mjs +4 -4
- package/esm2020/scrolling/scroll-dispatcher.mjs +4 -4
- package/esm2020/scrolling/scrollable.mjs +9 -9
- package/esm2020/scrolling/scrolling-module.mjs +9 -9
- package/esm2020/scrolling/viewport-ruler.mjs +4 -4
- package/esm2020/scrolling/virtual-for-of.mjs +4 -4
- package/esm2020/scrolling/virtual-scroll-viewport.mjs +4 -4
- package/esm2020/stepper/step-header.mjs +4 -4
- package/esm2020/stepper/step-label.mjs +4 -4
- package/esm2020/stepper/stepper-button.mjs +7 -7
- package/esm2020/stepper/stepper-module.mjs +5 -5
- package/esm2020/stepper/stepper.mjs +7 -7
- package/esm2020/table/cell.mjs +22 -22
- package/esm2020/table/coalesced-style-scheduler.mjs +4 -4
- package/esm2020/table/row.mjs +28 -28
- package/esm2020/table/table-module.mjs +5 -5
- package/esm2020/table/table.mjs +21 -21
- package/esm2020/table/text-column.mjs +5 -5
- package/esm2020/testing/selenium-webdriver/selenium-web-driver-harness-environment.mjs +1 -1
- package/esm2020/testing/test-element.mjs +1 -1
- package/esm2020/text-field/autofill.mjs +7 -7
- package/esm2020/text-field/autosize.mjs +4 -4
- package/esm2020/text-field/text-field-module.mjs +5 -5
- package/esm2020/tree/nested-node.mjs +4 -4
- package/esm2020/tree/node.mjs +4 -4
- package/esm2020/tree/outlet.mjs +4 -4
- package/esm2020/tree/padding.mjs +4 -4
- package/esm2020/tree/toggle.mjs +4 -4
- package/esm2020/tree/tree-module.mjs +5 -5
- package/esm2020/tree/tree.mjs +7 -7
- package/esm2020/version.mjs +1 -1
- package/fesm2015/a11y.mjs +55 -54
- package/fesm2015/a11y.mjs.map +1 -1
- package/fesm2015/accordion.mjs +10 -10
- package/fesm2015/accordion.mjs.map +1 -1
- package/fesm2015/bidi.mjs +10 -10
- package/fesm2015/bidi.mjs.map +1 -1
- package/fesm2015/cdk.mjs +1 -1
- package/fesm2015/cdk.mjs.map +1 -1
- package/fesm2015/clipboard.mjs +10 -10
- package/fesm2015/clipboard.mjs.map +1 -1
- package/fesm2015/collections.mjs +9 -9
- package/fesm2015/collections.mjs.map +1 -1
- package/fesm2015/dialog.mjs +780 -0
- package/fesm2015/dialog.mjs.map +1 -0
- package/fesm2015/drag-drop.mjs +57 -50
- package/fesm2015/drag-drop.mjs.map +1 -1
- package/fesm2015/layout.mjs +10 -10
- package/fesm2015/layout.mjs.map +1 -1
- package/fesm2015/menu.mjs +1960 -0
- package/fesm2015/menu.mjs.map +1 -0
- package/fesm2015/observers.mjs +13 -13
- package/fesm2015/observers.mjs.map +1 -1
- package/fesm2015/overlay.mjs +57 -42
- package/fesm2015/overlay.mjs.map +1 -1
- package/fesm2015/platform.mjs +10 -10
- package/fesm2015/platform.mjs.map +1 -1
- package/fesm2015/portal.mjs +21 -17
- package/fesm2015/portal.mjs.map +1 -1
- package/fesm2015/scrolling.mjs +31 -31
- package/fesm2015/scrolling.mjs.map +1 -1
- package/fesm2015/stepper.mjs +22 -22
- package/fesm2015/stepper.mjs.map +1 -1
- package/fesm2015/table.mjs +79 -79
- package/fesm2015/table.mjs.map +1 -1
- package/fesm2015/testing/selenium-webdriver.mjs.map +1 -1
- package/fesm2015/testing.mjs.map +1 -1
- package/fesm2015/text-field.mjs +13 -13
- package/fesm2015/text-field.mjs.map +1 -1
- package/fesm2015/tree.mjs +25 -25
- package/fesm2015/tree.mjs.map +1 -1
- package/fesm2020/a11y.mjs +55 -54
- package/fesm2020/a11y.mjs.map +1 -1
- package/fesm2020/accordion.mjs +10 -10
- package/fesm2020/accordion.mjs.map +1 -1
- package/fesm2020/bidi.mjs +10 -10
- package/fesm2020/bidi.mjs.map +1 -1
- package/fesm2020/cdk.mjs +1 -1
- package/fesm2020/cdk.mjs.map +1 -1
- package/fesm2020/clipboard.mjs +10 -10
- package/fesm2020/clipboard.mjs.map +1 -1
- package/fesm2020/collections.mjs +9 -9
- package/fesm2020/collections.mjs.map +1 -1
- package/fesm2020/dialog.mjs +784 -0
- package/fesm2020/dialog.mjs.map +1 -0
- package/fesm2020/drag-drop.mjs +57 -50
- package/fesm2020/drag-drop.mjs.map +1 -1
- package/fesm2020/layout.mjs +10 -10
- package/fesm2020/layout.mjs.map +1 -1
- package/fesm2020/menu.mjs +1942 -0
- package/fesm2020/menu.mjs.map +1 -0
- package/fesm2020/observers.mjs +13 -13
- package/fesm2020/observers.mjs.map +1 -1
- package/fesm2020/overlay.mjs +57 -42
- package/fesm2020/overlay.mjs.map +1 -1
- package/fesm2020/platform.mjs +10 -10
- package/fesm2020/platform.mjs.map +1 -1
- package/fesm2020/portal.mjs +21 -17
- package/fesm2020/portal.mjs.map +1 -1
- package/fesm2020/scrolling.mjs +31 -31
- package/fesm2020/scrolling.mjs.map +1 -1
- package/fesm2020/stepper.mjs +22 -22
- package/fesm2020/stepper.mjs.map +1 -1
- package/fesm2020/table.mjs +79 -79
- package/fesm2020/table.mjs.map +1 -1
- package/fesm2020/testing/selenium-webdriver.mjs.map +1 -1
- package/fesm2020/testing.mjs.map +1 -1
- package/fesm2020/text-field.mjs +13 -13
- package/fesm2020/text-field.mjs.map +1 -1
- package/fesm2020/tree.mjs +25 -25
- package/fesm2020/tree.mjs.map +1 -1
- package/index.d.ts +6 -8
- package/keycodes/index.d.ts +247 -6
- package/layout/index.d.ts +91 -8
- package/menu/index.d.ts +893 -0
- package/observers/index.d.ts +89 -6
- package/overlay/_index.scss +4 -0
- package/overlay/index.d.ts +1202 -5
- package/overlay-prebuilt.css +1 -1
- package/package.json +34 -18
- package/platform/index.d.ts +104 -6
- package/portal/index.d.ts +325 -5
- package/schematics/index.d.ts +2 -1
- package/schematics/index.js +4 -4
- package/schematics/index.mjs +4 -4
- package/schematics/ng-add/index.js +1 -1
- package/schematics/ng-add/index.mjs +1 -1
- package/schematics/ng-generate/drag-drop/schema.json +3 -0
- package/schematics/utils/ast/standalone.d.ts +26 -0
- package/schematics/utils/ast/standalone.js +191 -0
- package/schematics/utils/ast/standalone.mjs +191 -0
- package/schematics/utils/ast.js +5 -4
- package/schematics/utils/ast.mjs +5 -4
- package/schematics/utils/build-component.js +5 -5
- package/schematics/utils/build-component.mjs +5 -5
- package/schematics/utils/index.d.ts +1 -0
- package/schematics/utils/index.js +5 -1
- package/schematics/utils/index.mjs +5 -1
- package/schematics/utils/schematic-options.js +2 -2
- package/schematics/utils/schematic-options.mjs +2 -2
- package/scrolling/index.d.ts +647 -6
- package/stepper/index.d.ts +328 -6
- package/table/index.d.ts +1172 -5
- package/testing/index.d.ts +726 -5
- package/testing/selenium-webdriver/index.d.ts +134 -8
- package/testing/testbed/index.d.ts +161 -8
- package/text-field/index.d.ts +175 -6
- package/tree/index.d.ts +498 -6
- package/a11y/a11y-module.d.ts +0 -12
- package/a11y/a11y_public_index.d.ts +0 -4
- package/a11y/aria-describer/aria-describer.d.ts +0 -101
- package/a11y/aria-describer/aria-reference.d.ts +0 -22
- package/a11y/fake-event-detection.d.ts +0 -11
- package/a11y/focus-monitor/focus-monitor.d.ts +0 -209
- package/a11y/focus-trap/configurable-focus-trap-config.d.ts +0 -16
- package/a11y/focus-trap/configurable-focus-trap-factory.d.ts +0 -30
- package/a11y/focus-trap/configurable-focus-trap.d.ts +0 -33
- package/a11y/focus-trap/event-listener-inert-strategy.d.ts +0 -29
- package/a11y/focus-trap/focus-trap-inert-strategy.d.ts +0 -21
- package/a11y/focus-trap/focus-trap-manager.d.ts +0 -26
- package/a11y/focus-trap/focus-trap.d.ts +0 -163
- package/a11y/high-contrast-mode/high-contrast-mode-detector.d.ts +0 -48
- package/a11y/input-modality/input-modality-detector.d.ts +0 -99
- package/a11y/interactivity-checker/interactivity-checker.d.ts +0 -60
- package/a11y/key-manager/activedescendant-key-manager.d.ts +0 -35
- package/a11y/key-manager/focus-key-manager.d.ts +0 -37
- package/a11y/key-manager/list-key-manager.d.ts +0 -152
- package/a11y/live-announcer/live-announcer-tokens.d.ts +0 -22
- package/a11y/live-announcer/live-announcer.d.ts +0 -85
- package/a11y/package.json +0 -9
- package/a11y/public-api.d.ts +0 -25
- package/accordion/accordion-item.d.ts +0 -59
- package/accordion/accordion-module.d.ts +0 -8
- package/accordion/accordion.d.ts +0 -40
- package/accordion/accordion_public_index.d.ts +0 -4
- package/accordion/package.json +0 -9
- package/accordion/public-api.d.ts +0 -10
- package/bidi/bidi-module.d.ts +0 -7
- package/bidi/bidi_public_index.d.ts +0 -4
- package/bidi/dir-document-token.d.ts +0 -26
- package/bidi/dir.d.ts +0 -36
- package/bidi/directionality.d.ts +0 -26
- package/bidi/package.json +0 -9
- package/bidi/public-api.d.ts +0 -11
- package/clipboard/clipboard-module.d.ts +0 -7
- package/clipboard/clipboard.d.ts +0 -28
- package/clipboard/clipboard_public_index.d.ts +0 -4
- package/clipboard/copy-to-clipboard.d.ts +0 -49
- package/clipboard/package.json +0 -9
- package/clipboard/pending-copy.d.ts +0 -29
- package/clipboard/public-api.d.ts +0 -11
- package/coercion/array.d.ts +0 -10
- package/coercion/boolean-property.d.ts +0 -14
- package/coercion/css-pixel-value.d.ts +0 -9
- package/coercion/element.d.ts +0 -13
- package/coercion/number-property.d.ts +0 -20
- package/coercion/package.json +0 -9
- package/coercion/public-api.d.ts +0 -13
- package/coercion/string-array.d.ts +0 -25
- package/collections/array-data-source.d.ts +0 -16
- package/collections/collection-viewer.d.ts +0 -24
- package/collections/collections_public_index.d.ts +0 -4
- package/collections/data-source.d.ts +0 -30
- package/collections/dispose-view-repeater-strategy.d.ts +0 -22
- package/collections/package.json +0 -9
- package/collections/public-api.d.ts +0 -16
- package/collections/recycle-view-repeater-strategy.d.ts +0 -54
- package/collections/selection-model.d.ts +0 -95
- package/collections/tree-adapter.d.ts +0 -26
- package/collections/unique-selection-dispatcher.d.ts +0 -36
- package/collections/view-repeater.d.ts +0 -92
- package/drag-drop/client-rect.d.ts +0 -38
- package/drag-drop/clone-node.d.ts +0 -9
- package/drag-drop/directives/assertions.d.ts +0 -13
- package/drag-drop/directives/config.d.ts +0 -43
- package/drag-drop/directives/drag-handle.d.ts +0 -33
- package/drag-drop/directives/drag-placeholder.d.ts +0 -27
- package/drag-drop/directives/drag-preview.d.ts +0 -32
- package/drag-drop/directives/drag.d.ts +0 -160
- package/drag-drop/directives/drop-list-group.d.ts +0 -33
- package/drag-drop/directives/drop-list.d.ts +0 -123
- package/drag-drop/drag-drop-module.d.ts +0 -13
- package/drag-drop/drag-drop-registry.d.ts +0 -89
- package/drag-drop/drag-drop.d.ts +0 -36
- package/drag-drop/drag-drop_public_index.d.ts +0 -4
- package/drag-drop/drag-events.d.ts +0 -124
- package/drag-drop/drag-parent.d.ts +0 -15
- package/drag-drop/drag-ref.d.ts +0 -448
- package/drag-drop/drag-styling.d.ts +0 -42
- package/drag-drop/drag-utils.d.ts +0 -32
- package/drag-drop/drop-list-ref.d.ts +0 -312
- package/drag-drop/package.json +0 -9
- package/drag-drop/parent-position-tracker.d.ts +0 -39
- package/drag-drop/public-api.d.ts +0 -22
- package/drag-drop/transition-duration.d.ts +0 -9
- package/keycodes/keycodes.d.ts +0 -126
- package/keycodes/keycodes_public_index.d.ts +0 -4
- package/keycodes/modifiers.d.ts +0 -14
- package/keycodes/package.json +0 -9
- package/keycodes/public-api.d.ts +0 -9
- package/layout/breakpoints-observer.d.ts +0 -45
- package/layout/breakpoints.d.ts +0 -23
- package/layout/layout-module.d.ts +0 -6
- package/layout/layout_public_index.d.ts +0 -4
- package/layout/media-matcher.d.ts +0 -18
- package/layout/package.json +0 -9
- package/layout/public-api.d.ts +0 -11
- package/observers/observe-content.d.ts +0 -87
- package/observers/observers_public_index.d.ts +0 -4
- package/observers/package.json +0 -9
- package/observers/public-api.d.ts +0 -8
- package/overlay/dispatchers/base-overlay-dispatcher.d.ts +0 -24
- package/overlay/dispatchers/index.d.ts +0 -9
- package/overlay/dispatchers/overlay-keyboard-dispatcher.d.ts +0 -24
- package/overlay/dispatchers/overlay-outside-click-dispatcher.d.ts +0 -32
- package/overlay/fullscreen-overlay-container.d.ts +0 -35
- package/overlay/overlay-config.d.ts +0 -47
- package/overlay/overlay-container.d.ts +0 -25
- package/overlay/overlay-directives.d.ts +0 -148
- package/overlay/overlay-module.d.ts +0 -10
- package/overlay/overlay-ref.d.ts +0 -144
- package/overlay/overlay-reference.d.ts +0 -38
- package/overlay/overlay.d.ts +0 -75
- package/overlay/overlay_public_index.d.ts +0 -4
- package/overlay/package.json +0 -9
- package/overlay/position/connected-position.d.ts +0 -102
- package/overlay/position/flexible-connected-position-strategy.d.ts +0 -282
- package/overlay/position/global-position-strategy.d.ts +0 -99
- package/overlay/position/overlay-position-builder.d.ts +0 -32
- package/overlay/position/position-strategy.d.ts +0 -19
- package/overlay/position/scroll-clip.d.ts +0 -26
- package/overlay/public-api.d.ts +0 -23
- package/overlay/scroll/block-scroll-strategy.d.ts +0 -27
- package/overlay/scroll/close-scroll-strategy.d.ts +0 -40
- package/overlay/scroll/index.d.ts +0 -14
- package/overlay/scroll/noop-scroll-strategy.d.ts +0 -17
- package/overlay/scroll/reposition-scroll-strategy.d.ts +0 -39
- package/overlay/scroll/scroll-strategy-options.d.ts +0 -44
- package/overlay/scroll/scroll-strategy.d.ts +0 -25
- package/platform/features/input-types.d.ts +0 -9
- package/platform/features/passive-listeners.d.ts +0 -19
- package/platform/features/scrolling.d.ts +0 -32
- package/platform/features/shadow-dom.d.ts +0 -18
- package/platform/features/test-environment.d.ts +0 -9
- package/platform/package.json +0 -9
- package/platform/platform-module.d.ts +0 -6
- package/platform/platform.d.ts +0 -29
- package/platform/platform_public_index.d.ts +0 -4
- package/platform/public-api.d.ts +0 -14
- package/portal/dom-portal-outlet.d.ts +0 -71
- package/portal/package.json +0 -9
- package/portal/portal-directives.d.ts +0 -99
- package/portal/portal-errors.d.ts +0 -37
- package/portal/portal-injector.d.ts +0 -21
- package/portal/portal.d.ts +0 -140
- package/portal/portal_public_index.d.ts +0 -4
- package/portal/public-api.d.ts +0 -11
- package/public-api.d.ts +0 -8
- package/schematics/utils/vendored-ast-utils/index.d.ts +0 -70
- package/schematics/utils/vendored-ast-utils/index.js +0 -480
- package/schematics/utils/vendored-ast-utils/index.mjs +0 -480
- package/scrolling/fixed-size-virtual-scroll.d.ts +0 -97
- package/scrolling/package.json +0 -9
- package/scrolling/public-api.d.ts +0 -16
- package/scrolling/scroll-dispatcher.d.ts +0 -71
- package/scrolling/scrollable.d.ts +0 -85
- package/scrolling/scrolling-module.d.ts +0 -19
- package/scrolling/scrolling_public_index.d.ts +0 -4
- package/scrolling/viewport-ruler.d.ts +0 -63
- package/scrolling/virtual-for-of.d.ts +0 -117
- package/scrolling/virtual-scroll-repeater.d.ts +0 -16
- package/scrolling/virtual-scroll-strategy.d.ts +0 -38
- package/scrolling/virtual-scroll-viewport.d.ts +0 -147
- package/stepper/package.json +0 -9
- package/stepper/public-api.d.ts +0 -12
- package/stepper/step-header.d.ts +0 -18
- package/stepper/step-label.d.ts +0 -15
- package/stepper/stepper-button.d.ts +0 -20
- package/stepper/stepper-module.d.ts +0 -11
- package/stepper/stepper.d.ts +0 -233
- package/stepper/stepper_public_index.d.ts +0 -4
- package/table/can-stick.d.ts +0 -34
- package/table/cell.d.ts +0 -126
- package/table/coalesced-style-scheduler.d.ts +0 -46
- package/table/package.json +0 -9
- package/table/public-api.d.ts +0 -19
- package/table/row.d.ts +0 -175
- package/table/sticky-position-listener.d.ts +0 -31
- package/table/sticky-styler.d.ts +0 -126
- package/table/table-errors.d.ts +0 -48
- package/table/table-module.d.ts +0 -11
- package/table/table.d.ts +0 -494
- package/table/table_public_index.d.ts +0 -4
- package/table/text-column.d.ts +0 -73
- package/table/tokens.d.ts +0 -25
- package/testing/change-detection.d.ts +0 -83
- package/testing/component-harness.d.ts +0 -426
- package/testing/element-dimensions.d.ts +0 -16
- package/testing/harness-environment.d.ts +0 -62
- package/testing/package.json +0 -9
- package/testing/public-api.d.ts +0 -14
- package/testing/selenium-webdriver/package.json +0 -9
- package/testing/selenium-webdriver/public-api.d.ts +0 -9
- package/testing/selenium-webdriver/selenium-web-driver-element.d.ts +0 -91
- package/testing/selenium-webdriver/selenium-web-driver-harness-environment.d.ts +0 -66
- package/testing/selenium-webdriver/selenium-webdriver-keys.d.ts +0 -46
- package/testing/test-element-errors.d.ts +0 -12
- package/testing/test-element.d.ts +0 -135
- package/testing/testbed/fake-events/dispatch-events.d.ts +0 -39
- package/testing/testbed/fake-events/element-focus.d.ts +0 -18
- package/testing/testbed/fake-events/event-objects.d.ts +0 -39
- package/testing/testbed/fake-events/index.d.ts +0 -11
- package/testing/testbed/fake-events/type-in-element.d.ts +0 -41
- package/testing/testbed/package.json +0 -9
- package/testing/testbed/proxy-zone-types.d.ts +0 -29
- package/testing/testbed/public-api.d.ts +0 -9
- package/testing/testbed/task-state-zone-interceptor.d.ts +0 -37
- package/testing/testbed/testbed-harness-environment.d.ts +0 -64
- package/testing/testbed/unit-test-element.d.ts +0 -98
- package/testing/testbed/zone-types.d.ts +0 -22
- package/testing/text-filtering.d.ts +0 -13
- package/text-field/autofill.d.ts +0 -66
- package/text-field/autosize.d.ts +0 -95
- package/text-field/package.json +0 -9
- package/text-field/public-api.d.ts +0 -10
- package/text-field/text-field-module.d.ts +0 -8
- package/text-field/text-field_public_index.d.ts +0 -4
- package/tree/control/base-tree-control.d.ts +0 -54
- package/tree/control/flat-tree-control.d.ts +0 -34
- package/tree/control/nested-tree-control.d.ts +0 -31
- package/tree/control/tree-control.d.ts +0 -49
- package/tree/nested-node.d.ts +0 -38
- package/tree/node.d.ts +0 -40
- package/tree/outlet.d.ts +0 -26
- package/tree/package.json +0 -9
- package/tree/padding.d.ts +0 -60
- package/tree/public-api.d.ts +0 -19
- package/tree/toggle.d.ts +0 -25
- package/tree/tree-errors.d.ts +0 -32
- package/tree/tree-module.d.ts +0 -12
- package/tree/tree.d.ts +0 -128
- package/tree/tree_public_index.d.ts +0 -4
- package/version.d.ts +0 -10
|
@@ -42,17 +42,17 @@ export class _RecycleViewRepeaterStrategy {
|
|
|
42
42
|
// Item added.
|
|
43
43
|
const viewArgsFactory = () => itemContextFactory(record, adjustedPreviousIndex, currentIndex);
|
|
44
44
|
view = this._insertView(viewArgsFactory, currentIndex, viewContainerRef, itemValueResolver(record));
|
|
45
|
-
operation = view ? 1 /* INSERTED */ : 0 /* REPLACED */;
|
|
45
|
+
operation = view ? 1 /* _ViewRepeaterOperation.INSERTED */ : 0 /* _ViewRepeaterOperation.REPLACED */;
|
|
46
46
|
}
|
|
47
47
|
else if (currentIndex == null) {
|
|
48
48
|
// Item removed.
|
|
49
49
|
this._detachAndCacheView(adjustedPreviousIndex, viewContainerRef);
|
|
50
|
-
operation = 3 /* REMOVED */;
|
|
50
|
+
operation = 3 /* _ViewRepeaterOperation.REMOVED */;
|
|
51
51
|
}
|
|
52
52
|
else {
|
|
53
53
|
// Item moved.
|
|
54
54
|
view = this._moveView(adjustedPreviousIndex, currentIndex, viewContainerRef, itemValueResolver(record));
|
|
55
|
-
operation = 2 /* MOVED */;
|
|
55
|
+
operation = 2 /* _ViewRepeaterOperation.MOVED */;
|
|
56
56
|
}
|
|
57
57
|
if (itemViewChanged) {
|
|
58
58
|
itemViewChanged({
|
|
@@ -125,4 +125,4 @@ export class _RecycleViewRepeaterStrategy {
|
|
|
125
125
|
return cachedView || null;
|
|
126
126
|
}
|
|
127
127
|
}
|
|
128
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjeWNsZS12aWV3LXJlcGVhdGVyLXN0cmF0ZWd5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2Nkay9jb2xsZWN0aW9ucy9yZWN5Y2xlLXZpZXctcmVwZWF0ZXItc3RyYXRlZ3kudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBa0JIOzs7Ozs7Ozs7O0dBVUc7QUFDSCxNQUFNLE9BQU8sNEJBQTRCO0lBQXpDO1FBR0U7OztXQUdHO1FBQ0gsa0JBQWEsR0FBVyxFQUFFLENBQUM7UUFFM0I7Ozs7OztXQU1HO1FBQ0ssZUFBVSxHQUF5QixFQUFFLENBQUM7SUEySWhELENBQUM7SUF6SUMsZ0NBQWdDO0lBQ2hDLFlBQVksQ0FDVixPQUEyQixFQUMzQixnQkFBa0MsRUFDbEMsa0JBQTRELEVBQzVELGlCQUF1RCxFQUN2RCxlQUFnRDtRQUVoRCx5REFBeUQ7UUFDekQsT0FBTyxDQUFDLGdCQUFnQixDQUN0QixDQUNFLE1BQStCLEVBQy9CLHFCQUFvQyxFQUNwQyxZQUEyQixFQUMzQixFQUFFO1lBQ0YsSUFBSSxJQUFvQyxDQUFDO1lBQ3pDLElBQUksU0FBaUMsQ0FBQztZQUN0QyxJQUFJLE1BQU0sQ0FBQyxhQUFhLElBQUksSUFBSSxFQUFFO2dCQUNoQyxjQUFjO2dCQUNkLE1BQU0sZUFBZSxHQUFHLEdBQUcsRUFBRSxDQUMzQixrQkFBa0IsQ0FBQyxNQUFNLEVBQUUscUJBQXFCLEVBQUUsWUFBWSxDQUFDLENBQUM7Z0JBQ2xFLElBQUksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUNyQixlQUFlLEVBQ2YsWUFBYSxFQUNiLGdCQUFnQixFQUNoQixpQkFBaUIsQ0FBQyxNQUFNLENBQUMsQ0FDMUIsQ0FBQztnQkFDRixTQUFTLEdBQUcsSUFBSSxDQUFDLENBQUMsa0JBQWlDLENBQUMsaUJBQWdDLENBQUM7YUFDdEY7aUJBQU0sSUFBSSxZQUFZLElBQUksSUFBSSxFQUFFO2dCQUMvQixnQkFB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a0M7UUFFbEMsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUN6QyxJQUFJLFVBQVUsRUFBRTtZQUNkLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLENBQUM7U0FDNUM7UUFDRCxPQUFPLFVBQVUsSUFBSSxJQUFJLENBQUM7SUFDNUIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmltcG9ydCB7XG4gIEVtYmVkZGVkVmlld1JlZixcbiAgSXRlcmFibGVDaGFuZ2VSZWNvcmQsXG4gIEl0ZXJhYmxlQ2hhbmdlcyxcbiAgVmlld0NvbnRhaW5lclJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBfVmlld1JlcGVhdGVyLFxuICBfVmlld1JlcGVhdGVySXRlbUNoYW5nZWQsXG4gIF9WaWV3UmVwZWF0ZXJJdGVtQ29udGV4dCxcbiAgX1ZpZXdSZXBlYXRlckl0ZW1Db250ZXh0RmFjdG9yeSxcbiAgX1ZpZXdSZXBlYXRlckl0ZW1JbnNlcnRBcmdzLFxuICBfVmlld1JlcGVhdGVySXRlbVZhbHVlUmVzb2x2ZXIsXG4gIF9WaWV3UmVwZWF0ZXJPcGVyYXRpb24sXG59IGZyb20gJy4vdmlldy1yZXBlYXRlcic7XG5cbi8qKlxuICogQSByZXBlYXRlciB0aGF0IGNhY2hlcyB2aWV3cyB3aGVuIHRoZXkgYXJlIHJlbW92ZWQgZnJvbSBhXG4gKiB7QGxpbmsgVmlld0NvbnRhaW5lclJlZn0uIFdoZW4gbmV3IGl0ZW1zIGFyZSBpbnNlcnRlZCBpbnRvIHRoZSBjb250YWluZXIsXG4gKiB0aGUgcmVwZWF0ZXIgd2lsbCByZXVzZSBvbmUgb2YgdGhlIGNhY2hlZCB2aWV3cyBpbnN0ZWFkIG9mIGNyZWF0aW5nIGEgbmV3XG4gKiBlbWJlZGRlZCB2aWV3LiBSZWN5Y2xpbmcgY2FjaGVkIHZpZXdzIHJlZHVjZXMgdGhlIHF1YW50aXR5IG9mIGV4cGVuc2l2ZSBET01cbiAqIGluc2VydHMuXG4gKlxuICogQHRlbXBsYXRlIFQgVGhlIHR5cGUgZm9yIHRoZSBlbWJlZGRlZCB2aWV3J3MgJGltcGxpY2l0IHByb3BlcnR5LlxuICogQHRlbXBsYXRlIFIgVGhlIHR5cGUgZm9yIHRoZSBpdGVtIGluIGVhY2ggSXRlcmFibGVEaWZmZXIgY2hhbmdlIHJlY29yZC5cbiAqIEB0ZW1wbGF0ZSBDIFRoZSB0eXBlIGZvciB0aGUgY29udGV4dCBwYXNzZWQgdG8gZWFjaCBlbWJlZGRlZCB2aWV3LlxuICovXG5leHBvcnQgY2xhc3MgX1JlY3ljbGVWaWV3UmVwZWF0ZXJTdHJhdGVneTxULCBSLCBDIGV4dGVuZHMgX1ZpZXdSZXBlYXRlckl0ZW1Db250ZXh0PFQ+PlxuICBpbXBsZW1lbnRzIF9WaWV3UmVwZWF0ZXI8VCwgUiwgQz5cbntcbiAgLyoqXG4gICAqIFRoZSBzaXplIG9mIHRoZSBjYWNoZSB1c2VkIHRvIHN0b3JlIHVudXNlZCB2aWV3cy5cbiAgICogU2V0dGluZyB0aGUgY2FjaGUgc2l6ZSB0byBgMGAgd2lsbCBkaXNhYmxlIGNhY2hpbmcuIERlZmF1bHRzIHRvIDIwIHZpZXdzLlxuICAgKi9cbiAgdmlld0NhY2hlU2l6ZTogbnVtYmVyID0gMjA7XG5cbiAgLyoqXG4gICAqIFZpZXcgY2FjaGUgdGhhdCBzdG9yZXMgZW1iZWRkZWQgdmlldyBpbnN0YW5jZXMgdGhhdCBoYXZlIGJlZW4gcHJldmlvdXNseSBzdGFtcGVkIG91dCxcbiAgICogYnV0IGRvbid0IGFyZSBub3QgY3VycmVudGx5IHJlbmRlcmVkLiBUaGUgdmlldyByZXBlYXRlciB3aWxsIHJldXNlIHRoZXNlIHZpZXdzIHJhdGhlciB0aGFuXG4gICAqIGNyZWF0aW5nIGJyYW5kIG5ldyBvbmVzLlxuICAgKlxuICAgKiBUT0RPKG1pY2hhZWxqYW1lc3BhcnNvbnMpIEludmVzdGlnYXRlIHdoZXRoZXIgdXNpbmcgYSBsaW5rZWQgbGlzdCB3b3VsZCBpbXByb3ZlIHBlcmZvcm1hbmNlLlxuICAgKi9cbiAgcHJpdmF0ZSBfdmlld0NhY2hlOiBFbWJlZGRlZFZpZXdSZWY8Qz5bXSA9IFtdO1xuXG4gIC8qKiBBcHBseSBjaGFuZ2VzIHRvIHRoZSBET00uICovXG4gIGFwcGx5Q2hhbmdlcyhcbiAgICBjaGFuZ2VzOiBJdGVyYWJsZUNoYW5nZXM8Uj4sXG4gICAgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZixcbiAgICBpdGVtQ29udGV4dEZhY3Rvcnk6IF9WaWV3UmVwZWF0ZXJJdGVtQ29udGV4dEZhY3Rvcnk8VCwgUiwgQz4sXG4gICAgaXRlbVZhbHVlUmVzb2x2ZXI6IF9WaWV3UmVwZWF0ZXJJdGVtVmFsdWVSZXNvbHZlcjxULCBSPixcbiAgICBpdGVtVmlld0NoYW5nZWQ/OiBfVmlld1JlcGVhdGVySXRlbUNoYW5nZWQ8UiwgQz4sXG4gICkge1xuICAgIC8vIFJlYXJyYW5nZSB0aGUgdmlld3MgdG8gcHV0IHRoZW0gaW4gdGhlIHJpZ2h0IGxvY2F0aW9uLlxuICAgIGNoYW5nZXMuZm9yRWFjaE9wZXJhdGlvbihcbiAgICAgIChcbiAgICAgICAgcmVjb3JkOiBJdGVyYWJsZUNoYW5nZVJlY29yZDxSPixcbiAgICAgICAgYWRqdXN0ZWRQcmV2aW91c0luZGV4OiBudW1iZXIgfCBudWxsLFxuICAgICAgICBjdXJyZW50SW5kZXg6IG51bWJlciB8IG51bGwsXG4gICAgICApID0+IHtcbiAgICAgICAgbGV0IHZpZXc6IEVtYmVkZGVkVmlld1JlZjxDPiB8IHVuZGVmaW5lZDtcbiAgICAgICAgbGV0IG9wZXJhdGlvbjogX1ZpZXdSZXBlYXRlck9wZXJhdGlvbjtcbiAgICAgICAgaWYgKHJlY29yZC5wcmV2aW91c0luZGV4ID09IG51bGwpIHtcbiAgICAgICAgICAvLyBJdGVtIGFkZGVkLlxuICAgICAgICAgIGNvbnN0IHZpZXdBcmdzRmFjdG9yeSA9ICgpID0+XG4gICAgICAgICAgICBpdGVtQ29udGV4dEZhY3RvcnkocmVjb3JkLCBhZGp1c3RlZFByZXZpb3VzSW5kZXgsIGN1cnJlbnRJbmRleCk7XG4gICAgICAgICAgdmlldyA9IHRoaXMuX2luc2VydFZpZXcoXG4gICAgICAgICAgICB2aWV3QXJnc0ZhY3RvcnksXG4gICAgICAgICAgICBjdXJyZW50SW5kZXghLFxuICAgICAgICAgICAgdmlld0NvbnRhaW5lclJlZixcbiAgICAgICAgICAgIGl0ZW1WYWx1ZVJlc29sdmVyKHJlY29yZCksXG4gICAgICAgICAgKTtcbiAgICAgICAgICBvcGVyYXRpb24gPSB2aWV3ID8gX1ZpZXdSZXBlYXRlck9wZXJhdGlvbi5JTlNFUlRFRCA6IF9WaWV3UmVwZWF0ZXJPcGVyYXRpb24uUkVQTEFDRUQ7XG4gICAgICAgIH0gZWxzZSBpZiAoY3VycmVudEluZGV4ID09IG51bGwpIHtcbiAgICAgICAgICAvLyBJdGVtIHJlbW92ZWQuXG4gICAgICAgICAgdGhpcy5fZGV0YWNoQW5kQ2FjaGVWaWV3KGFkanVzdGVkUHJldmlvdXNJbmRleCEsIHZpZXdDb250YWluZXJSZWYpO1xuICAgICAgICAgIG9wZXJhdGlvbiA9IF9WaWV3UmVwZWF0ZXJPcGVyYXRpb24uUkVNT1ZFRDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyBJdGVtIG1vdmVkLlxuICAgICAgICAgIHZpZXcgPSB0aGlzLl9tb3ZlVmlldyhcbiAgICAgICAgICAgIGFkanVzdGVkUHJldmlvdXNJbmRleCEsXG4gICAgICAgICAgICBjdXJyZW50SW5kZXghLFxuICAgICAgICAgICAgdmlld0NvbnRhaW5lclJlZixcbiAgICAgICAgICAgIGl0ZW1WYWx1ZVJlc29sdmVyKHJlY29yZCksXG4gICAgICAgICAgKTtcbiAgICAgICAgICBvcGVyYXRpb24gPSBfVmlld1JlcGVhdGVyT3BlcmF0aW9uLk1PVkVEO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGl0ZW1WaWV3Q2hhbmdlZCkge1xuICAgICAgICAgIGl0ZW1WaWV3Q2hhbmdlZCh7XG4gICAgICAgICAgICBjb250ZXh0OiB2aWV3Py5jb250ZXh0LFxuICAgICAgICAgICAgb3BlcmF0aW9uLFxuICAgICAgICAgICAgcmVjb3JkLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICk7XG4gIH1cblxuICBkZXRhY2goKSB7XG4gICAgZm9yIChjb25zdCB2aWV3IG9mIHRoaXMuX3ZpZXdDYWNoZSkge1xuICAgICAgdmlldy5kZXN0cm95KCk7XG4gICAgfVxuICAgIHRoaXMuX3ZpZXdDYWNoZSA9IFtdO1xuICB9XG5cbiAgLyoqXG4gICAqIEluc2VydHMgYSB2aWV3IGZvciBhIG5ldyBpdGVtLCBlaXRoZXIgZnJvbSB0aGUgY2FjaGUgb3IgYnkgY3JlYXRpbmcgYSBuZXdcbiAgICogb25lLiBSZXR1cm5zIGB1bmRlZmluZWRgIGlmIHRoZSBpdGVtIHdhcyBpbnNlcnRlZCBpbnRvIGEgY2FjaGVkIHZpZXcuXG4gICAqL1xuICBwcml2YXRlIF9pbnNlcnRWaWV3KFxuICAgIHZpZXdBcmdzRmFjdG9yeTogKCkgPT4gX1ZpZXdSZXBlYXRlckl0ZW1JbnNlcnRBcmdzPEM+LFxuICAgIGN1cnJlbnRJbmRleDogbnVtYmVyLFxuICAgIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXG4gICAgdmFsdWU6IFQsXG4gICk6IEVtYmVkZGVkVmlld1JlZjxDPiB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgY2FjaGVkVmlldyA9IHRoaXMuX2luc2VydFZpZXdGcm9tQ2FjaGUoY3VycmVudEluZGV4ISwgdmlld0NvbnRhaW5lclJlZik7XG4gICAgaWYgKGNhY2hlZFZpZXcpIHtcbiAgICAgIGNhY2hlZFZpZXcuY29udGV4dC4kaW1wbGljaXQgPSB2YWx1ZTtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgY29uc3Qgdmlld0FyZ3MgPSB2aWV3QXJnc0ZhY3RvcnkoKTtcbiAgICByZXR1cm4gdmlld0NvbnRhaW5lclJlZi5jcmVhdGVFbWJlZGRlZFZpZXcoXG4gICAgICB2aWV3QXJncy50ZW1wbGF0ZVJlZixcbiAgICAgIHZpZXdBcmdzLmNvbnRleHQsXG4gICAgICB2aWV3QXJncy5pbmRleCxcbiAgICApO1xuICB9XG5cbiAgLyoqIERldGFjaGVzIHRoZSB2aWV3IGF0IHRoZSBnaXZlbiBpbmRleCBhbmQgaW5zZXJ0cyBpbnRvIHRoZSB2aWV3IGNhY2hlLiAqL1xuICBwcml2YXRlIF9kZXRhY2hBbmRDYWNoZVZpZXcoaW5kZXg6IG51bWJlciwgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZikge1xuICAgIGNvbnN0IGRldGFjaGVkVmlldyA9IHZpZXdDb250YWluZXJSZWYuZGV0YWNoKGluZGV4KSBhcyBFbWJlZGRlZFZpZXdSZWY8Qz47XG4gICAgdGhpcy5fbWF5YmVDYWNoZVZpZXcoZGV0YWNoZWRWaWV3LCB2aWV3Q29udGFpbmVyUmVmKTtcbiAgfVxuXG4gIC8qKiBNb3ZlcyB2aWV3IGF0IHRoZSBwcmV2aW91cyBpbmRleCB0byB0aGUgY3VycmVudCBpbmRleC4gKi9cbiAgcHJpdmF0ZSBfbW92ZVZpZXcoXG4gICAgYWRqdXN0ZWRQcmV2aW91c0luZGV4OiBudW1iZXIsXG4gICAgY3VycmVudEluZGV4OiBudW1iZXIsXG4gICAgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZixcbiAgICB2YWx1ZTogVCxcbiAgKTogRW1iZWRkZWRWaWV3UmVmPEM+IHtcbiAgICBjb25zdCB2aWV3ID0gdmlld0NvbnRhaW5lclJlZi5nZXQoYWRqdXN0ZWRQcmV2aW91c0luZGV4ISkgYXMgRW1iZWRkZWRWaWV3UmVmPEM+O1xuICAgIHZpZXdDb250YWluZXJSZWYubW92ZSh2aWV3LCBjdXJyZW50SW5kZXgpO1xuICAgIHZpZXcuY29udGV4dC4kaW1wbGljaXQgPSB2YWx1ZTtcbiAgICByZXR1cm4gdmlldztcbiAgfVxuXG4gIC8qKlxuICAgKiBDYWNoZSB0aGUgZ2l2ZW4gZGV0YWNoZWQgdmlldy4gSWYgdGhlIGNhY2hlIGlzIGZ1bGwsIHRoZSB2aWV3IHdpbGwgYmVcbiAgICogZGVzdHJveWVkLlxuICAgKi9cbiAgcHJpdmF0ZSBfbWF5YmVDYWNoZVZpZXcodmlldzogRW1iZWRkZWRWaWV3UmVmPEM+LCB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmKSB7XG4gICAgaWYgKHRoaXMuX3ZpZXdDYWNoZS5sZW5ndGggPCB0aGlzLnZpZXdDYWNoZVNpemUpIHtcbiAgICAgIHRoaXMuX3ZpZXdDYWNoZS5wdXNoKHZpZXcpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBpbmRleCA9IHZpZXdDb250YWluZXJSZWYuaW5kZXhPZih2aWV3KTtcblxuICAgICAgLy8gVGhlIGhvc3QgY29tcG9uZW50IGNvdWxkIHJlbW92ZSB2aWV3cyBmcm9tIHRoZSBjb250YWluZXIgb3V0c2lkZSBvZlxuICAgICAgLy8gdGhlIHZpZXcgcmVwZWF0ZXIuIEl0J3MgdW5saWtlbHkgdGhpcyB3aWxsIG9jY3VyLCBidXQganVzdCBpbiBjYXNlLFxuICAgICAgLy8gZGVzdHJveSB0aGUgdmlldyBvbiBpdHMgb3duLCBvdGhlcndpc2UgZGVzdHJveSBpdCB0aHJvdWdoIHRoZVxuICAgICAgLy8gY29udGFpbmVyIHRvIGVuc3VyZSB0aGF0IGFsbCB0aGUgcmVmZXJlbmNlcyBhcmUgcmVtb3ZlZC5cbiAgICAgIGlmIChpbmRleCA9PT0gLTEpIHtcbiAgICAgICAgdmlldy5kZXN0cm95KCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB2aWV3Q29udGFpbmVyUmVmLnJlbW92ZShpbmRleCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqIEluc2VydHMgYSByZWN5Y2xlZCB2aWV3IGZyb20gdGhlIGNhY2hlIGF0IHRoZSBnaXZlbiBpbmRleC4gKi9cbiAgcHJpdmF0ZSBfaW5zZXJ0Vmlld0Zyb21DYWNoZShcbiAgICBpbmRleDogbnVtYmVyLFxuICAgIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXG4gICk6IEVtYmVkZGVkVmlld1JlZjxDPiB8IG51bGwge1xuICAgIGNvbnN0IGNhY2hlZFZpZXcgPSB0aGlzLl92aWV3Q2FjaGUucG9wKCk7XG4gICAgaWYgKGNhY2hlZFZpZXcpIHtcbiAgICAgIHZpZXdDb250YWluZXJSZWYuaW5zZXJ0KGNhY2hlZFZpZXcsIGluZGV4KTtcbiAgICB9XG4gICAgcmV0dXJuIGNhY2hlZFZpZXcgfHwgbnVsbDtcbiAgfVxufVxuIl19
|
|
128
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjeWNsZS12aWV3LXJlcGVhdGVyLXN0cmF0ZWd5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2Nkay9jb2xsZWN0aW9ucy9yZWN5Y2xlLXZpZXctcmVwZWF0ZXItc3RyYXRlZ3kudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBa0JIOzs7Ozs7Ozs7O0dBVUc7QUFDSCxNQUFNLE9BQU8sNEJBQTRCO0lBQXpDO1FBR0U7OztXQUdHO1FBQ0gsa0JBQWEsR0FBVyxFQUFFLENBQUM7UUFFM0I7Ozs7OztXQU1HO1FBQ0ssZUFBVSxHQUF5QixFQUFFLENBQUM7SUEySWhELENBQUM7SUF6SUMsZ0NBQWdDO0lBQ2hDLFlBQVksQ0FDVixPQUEyQixFQUMzQixnQkFBa0MsRUFDbEMsa0JBQTRELEVBQzVELGlCQUF1RCxFQUN2RCxlQUFnRDtRQUVoRCx5REFBeUQ7UUFDekQsT0FBTyxDQUFDLGdCQUFnQixDQUN0QixDQUNFLE1BQStCLEVBQy9CLHFCQUFvQyxFQUNwQyxZQUEyQixFQUMzQixFQUFFO1lBQ0YsSUFBSSxJQUFvQyxDQUFDO1lBQ3pDLElBQUksU0FBaUMsQ0FBQztZQUN0QyxJQUFJLE1BQU0sQ0FBQyxhQUFhLElBQUksSUFBSSxFQUFFO2dCQUNoQyxjQUFjO2dCQUNkLE1BQU0sZUFBZSxHQUFHLEdBQUcsRUFBRSxDQUMzQixrQkFBa0IsQ0FBQyxNQUFNLEVBQUUscUJBQXFCLEVBQUUsWUFBWSxDQUFDLENBQUM7Z0JBQ2xFLElBQUksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUNyQixlQUFlLEVBQ2YsWUFBYSxFQUNiLGdCQUFnQixFQUNoQixpQkFBaUIsQ0FBQyxNQUFNLENBQUMsQ0FDMUIsQ0FBQztnQkFDRixTQUFTLEdBQUcsSUFBSSxDQUFDLENBQUMseUNBQWlDLENBQUMsd0NBQWdDLENBQUM7YUFDdEY7aUJBQU0sSUFBSSxZQUFZLElBQUksSUFBSSxFQUFFO2dCQUMvQixnQkFB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a0M7UUFFbEMsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUN6QyxJQUFJLFVBQVUsRUFBRTtZQUNkLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLENBQUM7U0FDNUM7UUFDRCxPQUFPLFVBQVUsSUFBSSxJQUFJLENBQUM7SUFDNUIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmltcG9ydCB7XG4gIEVtYmVkZGVkVmlld1JlZixcbiAgSXRlcmFibGVDaGFuZ2VSZWNvcmQsXG4gIEl0ZXJhYmxlQ2hhbmdlcyxcbiAgVmlld0NvbnRhaW5lclJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBfVmlld1JlcGVhdGVyLFxuICBfVmlld1JlcGVhdGVySXRlbUNoYW5nZWQsXG4gIF9WaWV3UmVwZWF0ZXJJdGVtQ29udGV4dCxcbiAgX1ZpZXdSZXBlYXRlckl0ZW1Db250ZXh0RmFjdG9yeSxcbiAgX1ZpZXdSZXBlYXRlckl0ZW1JbnNlcnRBcmdzLFxuICBfVmlld1JlcGVhdGVySXRlbVZhbHVlUmVzb2x2ZXIsXG4gIF9WaWV3UmVwZWF0ZXJPcGVyYXRpb24sXG59IGZyb20gJy4vdmlldy1yZXBlYXRlcic7XG5cbi8qKlxuICogQSByZXBlYXRlciB0aGF0IGNhY2hlcyB2aWV3cyB3aGVuIHRoZXkgYXJlIHJlbW92ZWQgZnJvbSBhXG4gKiB7QGxpbmsgVmlld0NvbnRhaW5lclJlZn0uIFdoZW4gbmV3IGl0ZW1zIGFyZSBpbnNlcnRlZCBpbnRvIHRoZSBjb250YWluZXIsXG4gKiB0aGUgcmVwZWF0ZXIgd2lsbCByZXVzZSBvbmUgb2YgdGhlIGNhY2hlZCB2aWV3cyBpbnN0ZWFkIG9mIGNyZWF0aW5nIGEgbmV3XG4gKiBlbWJlZGRlZCB2aWV3LiBSZWN5Y2xpbmcgY2FjaGVkIHZpZXdzIHJlZHVjZXMgdGhlIHF1YW50aXR5IG9mIGV4cGVuc2l2ZSBET01cbiAqIGluc2VydHMuXG4gKlxuICogQHRlbXBsYXRlIFQgVGhlIHR5cGUgZm9yIHRoZSBlbWJlZGRlZCB2aWV3J3MgJGltcGxpY2l0IHByb3BlcnR5LlxuICogQHRlbXBsYXRlIFIgVGhlIHR5cGUgZm9yIHRoZSBpdGVtIGluIGVhY2ggSXRlcmFibGVEaWZmZXIgY2hhbmdlIHJlY29yZC5cbiAqIEB0ZW1wbGF0ZSBDIFRoZSB0eXBlIGZvciB0aGUgY29udGV4dCBwYXNzZWQgdG8gZWFjaCBlbWJlZGRlZCB2aWV3LlxuICovXG5leHBvcnQgY2xhc3MgX1JlY3ljbGVWaWV3UmVwZWF0ZXJTdHJhdGVneTxULCBSLCBDIGV4dGVuZHMgX1ZpZXdSZXBlYXRlckl0ZW1Db250ZXh0PFQ+PlxuICBpbXBsZW1lbnRzIF9WaWV3UmVwZWF0ZXI8VCwgUiwgQz5cbntcbiAgLyoqXG4gICAqIFRoZSBzaXplIG9mIHRoZSBjYWNoZSB1c2VkIHRvIHN0b3JlIHVudXNlZCB2aWV3cy5cbiAgICogU2V0dGluZyB0aGUgY2FjaGUgc2l6ZSB0byBgMGAgd2lsbCBkaXNhYmxlIGNhY2hpbmcuIERlZmF1bHRzIHRvIDIwIHZpZXdzLlxuICAgKi9cbiAgdmlld0NhY2hlU2l6ZTogbnVtYmVyID0gMjA7XG5cbiAgLyoqXG4gICAqIFZpZXcgY2FjaGUgdGhhdCBzdG9yZXMgZW1iZWRkZWQgdmlldyBpbnN0YW5jZXMgdGhhdCBoYXZlIGJlZW4gcHJldmlvdXNseSBzdGFtcGVkIG91dCxcbiAgICogYnV0IGRvbid0IGFyZSBub3QgY3VycmVudGx5IHJlbmRlcmVkLiBUaGUgdmlldyByZXBlYXRlciB3aWxsIHJldXNlIHRoZXNlIHZpZXdzIHJhdGhlciB0aGFuXG4gICAqIGNyZWF0aW5nIGJyYW5kIG5ldyBvbmVzLlxuICAgKlxuICAgKiBUT0RPKG1pY2hhZWxqYW1lc3BhcnNvbnMpIEludmVzdGlnYXRlIHdoZXRoZXIgdXNpbmcgYSBsaW5rZWQgbGlzdCB3b3VsZCBpbXByb3ZlIHBlcmZvcm1hbmNlLlxuICAgKi9cbiAgcHJpdmF0ZSBfdmlld0NhY2hlOiBFbWJlZGRlZFZpZXdSZWY8Qz5bXSA9IFtdO1xuXG4gIC8qKiBBcHBseSBjaGFuZ2VzIHRvIHRoZSBET00uICovXG4gIGFwcGx5Q2hhbmdlcyhcbiAgICBjaGFuZ2VzOiBJdGVyYWJsZUNoYW5nZXM8Uj4sXG4gICAgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZixcbiAgICBpdGVtQ29udGV4dEZhY3Rvcnk6IF9WaWV3UmVwZWF0ZXJJdGVtQ29udGV4dEZhY3Rvcnk8VCwgUiwgQz4sXG4gICAgaXRlbVZhbHVlUmVzb2x2ZXI6IF9WaWV3UmVwZWF0ZXJJdGVtVmFsdWVSZXNvbHZlcjxULCBSPixcbiAgICBpdGVtVmlld0NoYW5nZWQ/OiBfVmlld1JlcGVhdGVySXRlbUNoYW5nZWQ8UiwgQz4sXG4gICkge1xuICAgIC8vIFJlYXJyYW5nZSB0aGUgdmlld3MgdG8gcHV0IHRoZW0gaW4gdGhlIHJpZ2h0IGxvY2F0aW9uLlxuICAgIGNoYW5nZXMuZm9yRWFjaE9wZXJhdGlvbihcbiAgICAgIChcbiAgICAgICAgcmVjb3JkOiBJdGVyYWJsZUNoYW5nZVJlY29yZDxSPixcbiAgICAgICAgYWRqdXN0ZWRQcmV2aW91c0luZGV4OiBudW1iZXIgfCBudWxsLFxuICAgICAgICBjdXJyZW50SW5kZXg6IG51bWJlciB8IG51bGwsXG4gICAgICApID0+IHtcbiAgICAgICAgbGV0IHZpZXc6IEVtYmVkZGVkVmlld1JlZjxDPiB8IHVuZGVmaW5lZDtcbiAgICAgICAgbGV0IG9wZXJhdGlvbjogX1ZpZXdSZXBlYXRlck9wZXJhdGlvbjtcbiAgICAgICAgaWYgKHJlY29yZC5wcmV2aW91c0luZGV4ID09IG51bGwpIHtcbiAgICAgICAgICAvLyBJdGVtIGFkZGVkLlxuICAgICAgICAgIGNvbnN0IHZpZXdBcmdzRmFjdG9yeSA9ICgpID0+XG4gICAgICAgICAgICBpdGVtQ29udGV4dEZhY3RvcnkocmVjb3JkLCBhZGp1c3RlZFByZXZpb3VzSW5kZXgsIGN1cnJlbnRJbmRleCk7XG4gICAgICAgICAgdmlldyA9IHRoaXMuX2luc2VydFZpZXcoXG4gICAgICAgICAgICB2aWV3QXJnc0ZhY3RvcnksXG4gICAgICAgICAgICBjdXJyZW50SW5kZXghLFxuICAgICAgICAgICAgdmlld0NvbnRhaW5lclJlZixcbiAgICAgICAgICAgIGl0ZW1WYWx1ZVJlc29sdmVyKHJlY29yZCksXG4gICAgICAgICAgKTtcbiAgICAgICAgICBvcGVyYXRpb24gPSB2aWV3ID8gX1ZpZXdSZXBlYXRlck9wZXJhdGlvbi5JTlNFUlRFRCA6IF9WaWV3UmVwZWF0ZXJPcGVyYXRpb24uUkVQTEFDRUQ7XG4gICAgICAgIH0gZWxzZSBpZiAoY3VycmVudEluZGV4ID09IG51bGwpIHtcbiAgICAgICAgICAvLyBJdGVtIHJlbW92ZWQuXG4gICAgICAgICAgdGhpcy5fZGV0YWNoQW5kQ2FjaGVWaWV3KGFkanVzdGVkUHJldmlvdXNJbmRleCEsIHZpZXdDb250YWluZXJSZWYpO1xuICAgICAgICAgIG9wZXJhdGlvbiA9IF9WaWV3UmVwZWF0ZXJPcGVyYXRpb24uUkVNT1ZFRDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyBJdGVtIG1vdmVkLlxuICAgICAgICAgIHZpZXcgPSB0aGlzLl9tb3ZlVmlldyhcbiAgICAgICAgICAgIGFkanVzdGVkUHJldmlvdXNJbmRleCEsXG4gICAgICAgICAgICBjdXJyZW50SW5kZXghLFxuICAgICAgICAgICAgdmlld0NvbnRhaW5lclJlZixcbiAgICAgICAgICAgIGl0ZW1WYWx1ZVJlc29sdmVyKHJlY29yZCksXG4gICAgICAgICAgKTtcbiAgICAgICAgICBvcGVyYXRpb24gPSBfVmlld1JlcGVhdGVyT3BlcmF0aW9uLk1PVkVEO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGl0ZW1WaWV3Q2hhbmdlZCkge1xuICAgICAgICAgIGl0ZW1WaWV3Q2hhbmdlZCh7XG4gICAgICAgICAgICBjb250ZXh0OiB2aWV3Py5jb250ZXh0LFxuICAgICAgICAgICAgb3BlcmF0aW9uLFxuICAgICAgICAgICAgcmVjb3JkLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICk7XG4gIH1cblxuICBkZXRhY2goKSB7XG4gICAgZm9yIChjb25zdCB2aWV3IG9mIHRoaXMuX3ZpZXdDYWNoZSkge1xuICAgICAgdmlldy5kZXN0cm95KCk7XG4gICAgfVxuICAgIHRoaXMuX3ZpZXdDYWNoZSA9IFtdO1xuICB9XG5cbiAgLyoqXG4gICAqIEluc2VydHMgYSB2aWV3IGZvciBhIG5ldyBpdGVtLCBlaXRoZXIgZnJvbSB0aGUgY2FjaGUgb3IgYnkgY3JlYXRpbmcgYSBuZXdcbiAgICogb25lLiBSZXR1cm5zIGB1bmRlZmluZWRgIGlmIHRoZSBpdGVtIHdhcyBpbnNlcnRlZCBpbnRvIGEgY2FjaGVkIHZpZXcuXG4gICAqL1xuICBwcml2YXRlIF9pbnNlcnRWaWV3KFxuICAgIHZpZXdBcmdzRmFjdG9yeTogKCkgPT4gX1ZpZXdSZXBlYXRlckl0ZW1JbnNlcnRBcmdzPEM+LFxuICAgIGN1cnJlbnRJbmRleDogbnVtYmVyLFxuICAgIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXG4gICAgdmFsdWU6IFQsXG4gICk6IEVtYmVkZGVkVmlld1JlZjxDPiB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgY2FjaGVkVmlldyA9IHRoaXMuX2luc2VydFZpZXdGcm9tQ2FjaGUoY3VycmVudEluZGV4ISwgdmlld0NvbnRhaW5lclJlZik7XG4gICAgaWYgKGNhY2hlZFZpZXcpIHtcbiAgICAgIGNhY2hlZFZpZXcuY29udGV4dC4kaW1wbGljaXQgPSB2YWx1ZTtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgY29uc3Qgdmlld0FyZ3MgPSB2aWV3QXJnc0ZhY3RvcnkoKTtcbiAgICByZXR1cm4gdmlld0NvbnRhaW5lclJlZi5jcmVhdGVFbWJlZGRlZFZpZXcoXG4gICAgICB2aWV3QXJncy50ZW1wbGF0ZVJlZixcbiAgICAgIHZpZXdBcmdzLmNvbnRleHQsXG4gICAgICB2aWV3QXJncy5pbmRleCxcbiAgICApO1xuICB9XG5cbiAgLyoqIERldGFjaGVzIHRoZSB2aWV3IGF0IHRoZSBnaXZlbiBpbmRleCBhbmQgaW5zZXJ0cyBpbnRvIHRoZSB2aWV3IGNhY2hlLiAqL1xuICBwcml2YXRlIF9kZXRhY2hBbmRDYWNoZVZpZXcoaW5kZXg6IG51bWJlciwgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZikge1xuICAgIGNvbnN0IGRldGFjaGVkVmlldyA9IHZpZXdDb250YWluZXJSZWYuZGV0YWNoKGluZGV4KSBhcyBFbWJlZGRlZFZpZXdSZWY8Qz47XG4gICAgdGhpcy5fbWF5YmVDYWNoZVZpZXcoZGV0YWNoZWRWaWV3LCB2aWV3Q29udGFpbmVyUmVmKTtcbiAgfVxuXG4gIC8qKiBNb3ZlcyB2aWV3IGF0IHRoZSBwcmV2aW91cyBpbmRleCB0byB0aGUgY3VycmVudCBpbmRleC4gKi9cbiAgcHJpdmF0ZSBfbW92ZVZpZXcoXG4gICAgYWRqdXN0ZWRQcmV2aW91c0luZGV4OiBudW1iZXIsXG4gICAgY3VycmVudEluZGV4OiBudW1iZXIsXG4gICAgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZixcbiAgICB2YWx1ZTogVCxcbiAgKTogRW1iZWRkZWRWaWV3UmVmPEM+IHtcbiAgICBjb25zdCB2aWV3ID0gdmlld0NvbnRhaW5lclJlZi5nZXQoYWRqdXN0ZWRQcmV2aW91c0luZGV4ISkgYXMgRW1iZWRkZWRWaWV3UmVmPEM+O1xuICAgIHZpZXdDb250YWluZXJSZWYubW92ZSh2aWV3LCBjdXJyZW50SW5kZXgpO1xuICAgIHZpZXcuY29udGV4dC4kaW1wbGljaXQgPSB2YWx1ZTtcbiAgICByZXR1cm4gdmlldztcbiAgfVxuXG4gIC8qKlxuICAgKiBDYWNoZSB0aGUgZ2l2ZW4gZGV0YWNoZWQgdmlldy4gSWYgdGhlIGNhY2hlIGlzIGZ1bGwsIHRoZSB2aWV3IHdpbGwgYmVcbiAgICogZGVzdHJveWVkLlxuICAgKi9cbiAgcHJpdmF0ZSBfbWF5YmVDYWNoZVZpZXcodmlldzogRW1iZWRkZWRWaWV3UmVmPEM+LCB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmKSB7XG4gICAgaWYgKHRoaXMuX3ZpZXdDYWNoZS5sZW5ndGggPCB0aGlzLnZpZXdDYWNoZVNpemUpIHtcbiAgICAgIHRoaXMuX3ZpZXdDYWNoZS5wdXNoKHZpZXcpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBpbmRleCA9IHZpZXdDb250YWluZXJSZWYuaW5kZXhPZih2aWV3KTtcblxuICAgICAgLy8gVGhlIGhvc3QgY29tcG9uZW50IGNvdWxkIHJlbW92ZSB2aWV3cyBmcm9tIHRoZSBjb250YWluZXIgb3V0c2lkZSBvZlxuICAgICAgLy8gdGhlIHZpZXcgcmVwZWF0ZXIuIEl0J3MgdW5saWtlbHkgdGhpcyB3aWxsIG9jY3VyLCBidXQganVzdCBpbiBjYXNlLFxuICAgICAgLy8gZGVzdHJveSB0aGUgdmlldyBvbiBpdHMgb3duLCBvdGhlcndpc2UgZGVzdHJveSBpdCB0aHJvdWdoIHRoZVxuICAgICAgLy8gY29udGFpbmVyIHRvIGVuc3VyZSB0aGF0IGFsbCB0aGUgcmVmZXJlbmNlcyBhcmUgcmVtb3ZlZC5cbiAgICAgIGlmIChpbmRleCA9PT0gLTEpIHtcbiAgICAgICAgdmlldy5kZXN0cm95KCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB2aWV3Q29udGFpbmVyUmVmLnJlbW92ZShpbmRleCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqIEluc2VydHMgYSByZWN5Y2xlZCB2aWV3IGZyb20gdGhlIGNhY2hlIGF0IHRoZSBnaXZlbiBpbmRleC4gKi9cbiAgcHJpdmF0ZSBfaW5zZXJ0Vmlld0Zyb21DYWNoZShcbiAgICBpbmRleDogbnVtYmVyLFxuICAgIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXG4gICk6IEVtYmVkZGVkVmlld1JlZjxDPiB8IG51bGwge1xuICAgIGNvbnN0IGNhY2hlZFZpZXcgPSB0aGlzLl92aWV3Q2FjaGUucG9wKCk7XG4gICAgaWYgKGNhY2hlZFZpZXcpIHtcbiAgICAgIHZpZXdDb250YWluZXJSZWYuaW5zZXJ0KGNhY2hlZFZpZXcsIGluZGV4KTtcbiAgICB9XG4gICAgcmV0dXJuIGNhY2hlZFZpZXcgfHwgbnVsbDtcbiAgfVxufVxuIl19
|
|
@@ -46,10 +46,10 @@ export class UniqueSelectionDispatcher {
|
|
|
46
46
|
this._listeners = [];
|
|
47
47
|
}
|
|
48
48
|
}
|
|
49
|
-
UniqueSelectionDispatcher.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-
|
|
50
|
-
UniqueSelectionDispatcher.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.0-
|
|
51
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-
|
|
49
|
+
UniqueSelectionDispatcher.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-rc.1", ngImport: i0, type: UniqueSelectionDispatcher, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
50
|
+
UniqueSelectionDispatcher.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.0-rc.1", ngImport: i0, type: UniqueSelectionDispatcher, providedIn: 'root' });
|
|
51
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-rc.1", ngImport: i0, type: UniqueSelectionDispatcher, decorators: [{
|
|
52
52
|
type: Injectable,
|
|
53
53
|
args: [{ providedIn: 'root' }]
|
|
54
54
|
}] });
|
|
55
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5pcXVlLXNlbGVjdGlvbi1kaXNwYXRjaGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2Nkay9jb2xsZWN0aW9ucy91bmlxdWUtc2VsZWN0aW9uLWRpc3BhdGNoZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBRUgsT0FBTyxFQUFDLFVBQVUsRUFBWSxNQUFNLGVBQWUsQ0FBQzs7QUFLcEQ7Ozs7Ozs7O0dBUUc7QUFFSCxNQUFNLE9BQU8seUJBQXlCO0lBRHRDO1FBRVUsZUFBVSxHQUF3QyxFQUFFLENBQUM7S0E2QjlEO0lBM0JDOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsRUFBVSxFQUFFLElBQVk7UUFDN0IsS0FBSyxJQUFJLFFBQVEsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ3BDLFFBQVEsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUM7U0FDcEI7SUFDSCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLFFBQTJDO1FBQ2hELElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQy9CLE9BQU8sR0FBRyxFQUFFO1lBQ1YsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFVBQTZDLEVBQUUsRUFBRTtnQkFDekYsT0FBTyxRQUFRLEtBQUssVUFBVSxDQUFDO1lBQ2pDLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQztJQUN2QixDQUFDOzsySEE3QlUseUJBQXlCOytIQUF6Qix5QkFBeUIsY0FEYixNQUFNO2dHQUNsQix5QkFBeUI7a0JBRHJDLFVBQVU7bUJBQUMsRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmltcG9ydCB7SW5qZWN0YWJsZSwgT25EZXN0cm95fSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLy8gVXNlcnMgb2YgdGhlIERpc3BhdGNoZXIgbmV2ZXIgbmVlZCB0byBzZWUgdGhpcyB0eXBlLCBidXQgVHlwZVNjcmlwdCByZXF1aXJlcyBpdCB0byBiZSBleHBvcnRlZC5cbmV4cG9ydCB0eXBlIFVuaXF1ZVNlbGVjdGlvbkRpc3BhdGNoZXJMaXN0ZW5lciA9IChpZDogc3RyaW5nLCBuYW1lOiBzdHJpbmcpID0+IHZvaWQ7XG5cbi8qKlxuICogQ2xhc3MgdG8gY29vcmRpbmF0ZSB1bmlxdWUgc2VsZWN0aW9uIGJhc2VkIG9uIG5hbWUuXG4gKiBJbnRlbmRlZCB0byBiZSBjb25zdW1lZCBhcyBhbiBBbmd1bGFyIHNlcnZpY2UuXG4gKiBUaGlzIHNlcnZpY2UgaXMgbmVlZGVkIGJlY2F1c2UgbmF0aXZlIHJhZGlvIGNoYW5nZSBldmVudHMgYXJlIG9ubHkgZmlyZWQgb24gdGhlIGl0ZW0gY3VycmVudGx5XG4gKiBiZWluZyBzZWxlY3RlZCwgYW5kIHdlIHN0aWxsIG5lZWQgdG8gdW5jaGVjayB0aGUgcHJldmlvdXMgc2VsZWN0aW9uLlxuICpcbiAqIFRoaXMgc2VydmljZSBkb2VzIG5vdCAqc3RvcmUqIGFueSBJRHMgYW5kIG5hbWVzIGJlY2F1c2UgdGhleSBtYXkgY2hhbmdlIGF0IGFueSB0aW1lLCBzbyBpdCBpc1xuICogbGVzcyBlcnJvci1wcm9uZSBpZiB0aGV5IGFyZSBzaW1wbHkgcGFzc2VkIHRocm91Z2ggd2hlbiB0aGUgZXZlbnRzIG9jY3VyLlxuICovXG5ASW5qZWN0YWJsZSh7cHJvdmlkZWRJbjogJ3Jvb3QnfSlcbmV4cG9ydCBjbGFzcyBVbmlxdWVTZWxlY3Rpb25EaXNwYXRjaGVyIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBfbGlzdGVuZXJzOiBVbmlxdWVTZWxlY3Rpb25EaXNwYXRjaGVyTGlzdGVuZXJbXSA9IFtdO1xuXG4gIC8qKlxuICAgKiBOb3RpZnkgb3RoZXIgaXRlbXMgdGhhdCBzZWxlY3Rpb24gZm9yIHRoZSBnaXZlbiBuYW1lIGhhcyBiZWVuIHNldC5cbiAgICogQHBhcmFtIGlkIElEIG9mIHRoZSBpdGVtLlxuICAgKiBAcGFyYW0gbmFtZSBOYW1lIG9mIHRoZSBpdGVtLlxuICAgKi9cbiAgbm90aWZ5KGlkOiBzdHJpbmcsIG5hbWU6IHN0cmluZykge1xuICAgIGZvciAobGV0IGxpc3RlbmVyIG9mIHRoaXMuX2xpc3RlbmVycykge1xuICAgICAgbGlzdGVuZXIoaWQsIG5hbWUpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBMaXN0ZW4gZm9yIGZ1dHVyZSBjaGFuZ2VzIHRvIGl0ZW0gc2VsZWN0aW9uLlxuICAgKiBAcmV0dXJuIEZ1bmN0aW9uIHVzZWQgdG8gZGVyZWdpc3RlciBsaXN0ZW5lclxuICAgKi9cbiAgbGlzdGVuKGxpc3RlbmVyOiBVbmlxdWVTZWxlY3Rpb25EaXNwYXRjaGVyTGlzdGVuZXIpOiAoKSA9PiB2b2lkIHtcbiAgICB0aGlzLl9saXN0ZW5lcnMucHVzaChsaXN0ZW5lcik7XG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIHRoaXMuX2xpc3RlbmVycyA9IHRoaXMuX2xpc3RlbmVycy5maWx0ZXIoKHJlZ2lzdGVyZWQ6IFVuaXF1ZVNlbGVjdGlvbkRpc3BhdGNoZXJMaXN0ZW5lcikgPT4ge1xuICAgICAgICByZXR1cm4gbGlzdGVuZXIgIT09IHJlZ2lzdGVyZWQ7XG4gICAgICB9KTtcbiAgICB9O1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5fbGlzdGVuZXJzID0gW107XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright Google LLC All Rights Reserved.
|
|
4
|
+
*
|
|
5
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
6
|
+
* found in the LICENSE file at https://angular.io/license
|
|
7
|
+
*/
|
|
8
|
+
/** Configuration for opening a modal dialog. */
|
|
9
|
+
export class DialogConfig {
|
|
10
|
+
constructor() {
|
|
11
|
+
/** The ARIA role of the dialog element. */
|
|
12
|
+
this.role = 'dialog';
|
|
13
|
+
/** Optional CSS class or classes applied to the overlay panel. */
|
|
14
|
+
this.panelClass = '';
|
|
15
|
+
/** Whether the dialog has a backdrop. */
|
|
16
|
+
this.hasBackdrop = true;
|
|
17
|
+
/** Optional CSS class or classes applied to the overlay backdrop. */
|
|
18
|
+
this.backdropClass = '';
|
|
19
|
+
/** Whether the dialog closes with the escape key or pointer events outside the panel element. */
|
|
20
|
+
this.disableClose = false;
|
|
21
|
+
/** Width of the dialog. */
|
|
22
|
+
this.width = '';
|
|
23
|
+
/** Height of the dialog. */
|
|
24
|
+
this.height = '';
|
|
25
|
+
/** Data being injected into the child component. */
|
|
26
|
+
this.data = null;
|
|
27
|
+
/** ID of the element that describes the dialog. */
|
|
28
|
+
this.ariaDescribedBy = null;
|
|
29
|
+
/** ID of the element that labels the dialog. */
|
|
30
|
+
this.ariaLabelledBy = null;
|
|
31
|
+
/** Dialog label applied via `aria-label` */
|
|
32
|
+
this.ariaLabel = null;
|
|
33
|
+
/** Whether this a modal dialog. Used to set the `aria-modal` attribute. */
|
|
34
|
+
this.ariaModal = true;
|
|
35
|
+
/**
|
|
36
|
+
* Where the dialog should focus on open.
|
|
37
|
+
* @breaking-change 14.0.0 Remove boolean option from autoFocus. Use string or
|
|
38
|
+
* AutoFocusTarget instead.
|
|
39
|
+
*/
|
|
40
|
+
this.autoFocus = 'first-tabbable';
|
|
41
|
+
/**
|
|
42
|
+
* Whether the dialog should restore focus to the previously-focused element upon closing.
|
|
43
|
+
* Has the following behavior based on the type that is passed in:
|
|
44
|
+
* - `boolean` - when true, will return focus to the element that was focused before the dialog
|
|
45
|
+
* was opened, otherwise won't restore focus at all.
|
|
46
|
+
* - `string` - focus will be restored to the first element that matches the CSS selector.
|
|
47
|
+
* - `HTMLElement` - focus will be restored to the specific element.
|
|
48
|
+
*/
|
|
49
|
+
this.restoreFocus = true;
|
|
50
|
+
/**
|
|
51
|
+
* Whether the dialog should close when the user navigates backwards or forwards through browser
|
|
52
|
+
* history. This does not apply to navigation via anchor element unless using URL-hash based
|
|
53
|
+
* routing (`HashLocationStrategy` in the Angular router).
|
|
54
|
+
*/
|
|
55
|
+
this.closeOnNavigation = true;
|
|
56
|
+
/**
|
|
57
|
+
* Whether the dialog should close when the dialog service is destroyed. This is useful if
|
|
58
|
+
* another service is wrapping the dialog and is managing the destruction instead.
|
|
59
|
+
*/
|
|
60
|
+
this.closeOnDestroy = true;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jZGsvZGlhbG9nL2RpYWxvZy1jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBbUJILGdEQUFnRDtBQUNoRCxNQUFNLE9BQU8sWUFBWTtJQUF6QjtRQWtCRSwyQ0FBMkM7UUFDM0MsU0FBSSxHQUFnQixRQUFRLENBQUM7UUFFN0Isa0VBQWtFO1FBQ2xFLGVBQVUsR0FBdUIsRUFBRSxDQUFDO1FBRXBDLHlDQUF5QztRQUN6QyxnQkFBVyxHQUFhLElBQUksQ0FBQztRQUU3QixxRUFBcUU7UUFDckUsa0JBQWEsR0FBdUIsRUFBRSxDQUFDO1FBRXZDLGlHQUFpRztRQUNqRyxpQkFBWSxHQUFhLEtBQUssQ0FBQztRQUUvQiwyQkFBMkI7UUFDM0IsVUFBSyxHQUFZLEVBQUUsQ0FBQztRQUVwQiw0QkFBNEI7UUFDNUIsV0FBTSxHQUFZLEVBQUUsQ0FBQztRQWlCckIsb0RBQW9EO1FBQ3BELFNBQUksR0FBYyxJQUFJLENBQUM7UUFLdkIsbURBQW1EO1FBQ25ELG9CQUFlLEdBQW1CLElBQUksQ0FBQztRQUV2QyxnREFBZ0Q7UUFDaEQsbUJBQWMsR0FBbUIsSUFBSSxDQUFDO1FBRXRDLDRDQUE0QztRQUM1QyxjQUFTLEdBQW1CLElBQUksQ0FBQztRQUVqQywyRUFBMkU7UUFDM0UsY0FBUyxHQUFhLElBQUksQ0FBQztRQUUzQjs7OztXQUlHO1FBQ0gsY0FBUyxHQUF3QyxnQkFBZ0IsQ0FBQztRQUVsRTs7Ozs7OztXQU9HO1FBQ0gsaUJBQVksR0FBb0MsSUFBSSxDQUFDO1FBUXJEOzs7O1dBSUc7UUFDSCxzQkFBaUIsR0FBYSxJQUFJLENBQUM7UUFFbkM7OztXQUdHO1FBQ0gsbUJBQWMsR0FBYSxJQUFJLENBQUM7SUE4QmxDLENBQUM7Q0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQge1xuICBWaWV3Q29udGFpbmVyUmVmLFxuICBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gIEluamVjdG9yLFxuICBTdGF0aWNQcm92aWRlcixcbiAgVHlwZSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0RpcmVjdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY2RrL2JpZGknO1xuaW1wb3J0IHtQb3NpdGlvblN0cmF0ZWd5LCBTY3JvbGxTdHJhdGVneX0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHtCYXNlUG9ydGFsT3V0bGV0fSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcblxuLyoqIE9wdGlvbnMgZm9yIHdoZXJlIHRvIHNldCBmb2N1cyB0byBhdXRvbWF0aWNhbGx5IG9uIGRpYWxvZyBvcGVuICovXG5leHBvcnQgdHlwZSBBdXRvRm9jdXNUYXJnZXQgPSAnZGlhbG9nJyB8ICdmaXJzdC10YWJiYWJsZScgfCAnZmlyc3QtaGVhZGluZyc7XG5cbi8qKiBWYWxpZCBBUklBIHJvbGVzIGZvciBhIGRpYWxvZy4gKi9cbmV4cG9ydCB0eXBlIERpYWxvZ1JvbGUgPSAnZGlhbG9nJyB8ICdhbGVydGRpYWxvZyc7XG5cbi8qKiBDb25maWd1cmF0aW9uIGZvciBvcGVuaW5nIGEgbW9kYWwgZGlhbG9nLiAqL1xuZXhwb3J0IGNsYXNzIERpYWxvZ0NvbmZpZzxEID0gdW5rbm93biwgUiA9IHVua25vd24sIEMgZXh0ZW5kcyBCYXNlUG9ydGFsT3V0bGV0ID0gQmFzZVBvcnRhbE91dGxldD4ge1xuICAvKipcbiAgICogV2hlcmUgdGhlIGF0dGFjaGVkIGNvbXBvbmVudCBzaG91bGQgbGl2ZSBpbiBBbmd1bGFyJ3MgKmxvZ2ljYWwqIGNvbXBvbmVudCB0cmVlLlxuICAgKiBUaGlzIGFmZmVjdHMgd2hhdCBpcyBhdmFpbGFibGUgZm9yIGluamVjdGlvbiBhbmQgdGhlIGNoYW5nZSBkZXRlY3Rpb24gb3JkZXIgZm9yIHRoZVxuICAgKiBjb21wb25lbnQgaW5zdGFudGlhdGVkIGluc2lkZSBvZiB0aGUgZGlhbG9nLiBUaGlzIGRvZXMgbm90IGFmZmVjdCB3aGVyZSB0aGUgZGlhbG9nXG4gICAqIGNvbnRlbnQgd2lsbCBiZSByZW5kZXJlZC5cbiAgICovXG4gIHZpZXdDb250YWluZXJSZWY/OiBWaWV3Q29udGFpbmVyUmVmO1xuXG4gIC8qKlxuICAgKiBJbmplY3RvciB1c2VkIGZvciB0aGUgaW5zdGFudGlhdGlvbiBvZiB0aGUgY29tcG9uZW50IHRvIGJlIGF0dGFjaGVkLiBJZiBwcm92aWRlZCxcbiAgICogdGFrZXMgcHJlY2VkZW5jZSBvdmVyIHRoZSBpbmplY3RvciBpbmRpcmVjdGx5IHByb3ZpZGVkIGJ5IGBWaWV3Q29udGFpbmVyUmVmYC5cbiAgICovXG4gIGluamVjdG9yPzogSW5qZWN0b3I7XG5cbiAgLyoqIElEIGZvciB0aGUgZGlhbG9nLiBJZiBvbWl0dGVkLCBhIHVuaXF1ZSBvbmUgd2lsbCBiZSBnZW5lcmF0ZWQuICovXG4gIGlkPzogc3RyaW5nO1xuXG4gIC8qKiBUaGUgQVJJQSByb2xlIG9mIHRoZSBkaWFsb2cgZWxlbWVudC4gKi9cbiAgcm9sZT86IERpYWxvZ1JvbGUgPSAnZGlhbG9nJztcblxuICAvKiogT3B0aW9uYWwgQ1NTIGNsYXNzIG9yIGNsYXNzZXMgYXBwbGllZCB0byB0aGUgb3ZlcmxheSBwYW5lbC4gKi9cbiAgcGFuZWxDbGFzcz86IHN0cmluZyB8IHN0cmluZ1tdID0gJyc7XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGRpYWxvZyBoYXMgYSBiYWNrZHJvcC4gKi9cbiAgaGFzQmFja2Ryb3A/OiBib29sZWFuID0gdHJ1ZTtcblxuICAvKiogT3B0aW9uYWwgQ1NTIGNsYXNzIG9yIGNsYXNzZXMgYXBwbGllZCB0byB0aGUgb3ZlcmxheSBiYWNrZHJvcC4gKi9cbiAgYmFja2Ryb3BDbGFzcz86IHN0cmluZyB8IHN0cmluZ1tdID0gJyc7XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGRpYWxvZyBjbG9zZXMgd2l0aCB0aGUgZXNjYXBlIGtleSBvciBwb2ludGVyIGV2ZW50cyBvdXRzaWRlIHRoZSBwYW5lbCBlbGVtZW50LiAqL1xuICBkaXNhYmxlQ2xvc2U/OiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqIFdpZHRoIG9mIHRoZSBkaWFsb2cuICovXG4gIHdpZHRoPzogc3RyaW5nID0gJyc7XG5cbiAgLyoqIEhlaWdodCBvZiB0aGUgZGlhbG9nLiAqL1xuICBoZWlnaHQ/OiBzdHJpbmcgPSAnJztcblxuICAvKiogTWluLXdpZHRoIG9mIHRoZSBkaWFsb2cuIElmIGEgbnVtYmVyIGlzIHByb3ZpZGVkLCBhc3N1bWVzIHBpeGVsIHVuaXRzLiAqL1xuICBtaW5XaWR0aD86IG51bWJlciB8IHN0cmluZztcblxuICAvKiogTWluLWhlaWdodCBvZiB0aGUgZGlhbG9nLiBJZiBhIG51bWJlciBpcyBwcm92aWRlZCwgYXNzdW1lcyBwaXhlbCB1bml0cy4gKi9cbiAgbWluSGVpZ2h0PzogbnVtYmVyIHwgc3RyaW5nO1xuXG4gIC8qKiBNYXgtd2lkdGggb2YgdGhlIGRpYWxvZy4gSWYgYSBudW1iZXIgaXMgcHJvdmlkZWQsIGFzc3VtZXMgcGl4ZWwgdW5pdHMuIERlZmF1bHRzIHRvIDgwdncuICovXG4gIG1heFdpZHRoPzogbnVtYmVyIHwgc3RyaW5nO1xuXG4gIC8qKiBNYXgtaGVpZ2h0IG9mIHRoZSBkaWFsb2cuIElmIGEgbnVtYmVyIGlzIHByb3ZpZGVkLCBhc3N1bWVzIHBpeGVsIHVuaXRzLiAqL1xuICBtYXhIZWlnaHQ/OiBudW1iZXIgfCBzdHJpbmc7XG5cbiAgLyoqIFN0cmF0ZWd5IHRvIHVzZSB3aGVuIHBvc2l0aW9uaW5nIHRoZSBkaWFsb2cuIERlZmF1bHRzIHRvIGNlbnRlcmluZyBpdCBvbiB0aGUgcGFnZS4gKi9cbiAgcG9zaXRpb25TdHJhdGVneT86IFBvc2l0aW9uU3RyYXRlZ3k7XG5cbiAgLyoqIERhdGEgYmVpbmcgaW5qZWN0ZWQgaW50byB0aGUgY2hpbGQgY29tcG9uZW50LiAqL1xuICBkYXRhPzogRCB8IG51bGwgPSBudWxsO1xuXG4gIC8qKiBMYXlvdXQgZGlyZWN0aW9uIGZvciB0aGUgZGlhbG9nJ3MgY29udGVudC4gKi9cbiAgZGlyZWN0aW9uPzogRGlyZWN0aW9uO1xuXG4gIC8qKiBJRCBvZiB0aGUgZWxlbWVudCB0aGF0IGRlc2NyaWJlcyB0aGUgZGlhbG9nLiAqL1xuICBhcmlhRGVzY3JpYmVkQnk/OiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICAvKiogSUQgb2YgdGhlIGVsZW1lbnQgdGhhdCBsYWJlbHMgdGhlIGRpYWxvZy4gKi9cbiAgYXJpYUxhYmVsbGVkQnk/OiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICAvKiogRGlhbG9nIGxhYmVsIGFwcGxpZWQgdmlhIGBhcmlhLWxhYmVsYCAqL1xuICBhcmlhTGFiZWw/OiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICAvKiogV2hldGhlciB0aGlzIGEgbW9kYWwgZGlhbG9nLiBVc2VkIHRvIHNldCB0aGUgYGFyaWEtbW9kYWxgIGF0dHJpYnV0ZS4gKi9cbiAgYXJpYU1vZGFsPzogYm9vbGVhbiA9IHRydWU7XG5cbiAgLyoqXG4gICAqIFdoZXJlIHRoZSBkaWFsb2cgc2hvdWxkIGZvY3VzIG9uIG9wZW4uXG4gICAqIEBicmVha2luZy1jaGFuZ2UgMTQuMC4wIFJlbW92ZSBib29sZWFuIG9wdGlvbiBmcm9tIGF1dG9Gb2N1cy4gVXNlIHN0cmluZyBvclxuICAgKiBBdXRvRm9jdXNUYXJnZXQgaW5zdGVhZC5cbiAgICovXG4gIGF1dG9Gb2N1cz86IEF1dG9Gb2N1c1RhcmdldCB8IHN0cmluZyB8IGJvb2xlYW4gPSAnZmlyc3QtdGFiYmFibGUnO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBkaWFsb2cgc2hvdWxkIHJlc3RvcmUgZm9jdXMgdG8gdGhlIHByZXZpb3VzbHktZm9jdXNlZCBlbGVtZW50IHVwb24gY2xvc2luZy5cbiAgICogSGFzIHRoZSBmb2xsb3dpbmcgYmVoYXZpb3IgYmFzZWQgb24gdGhlIHR5cGUgdGhhdCBpcyBwYXNzZWQgaW46XG4gICAqIC0gYGJvb2xlYW5gIC0gd2hlbiB0cnVlLCB3aWxsIHJldHVybiBmb2N1cyB0byB0aGUgZWxlbWVudCB0aGF0IHdhcyBmb2N1c2VkIGJlZm9yZSB0aGUgZGlhbG9nXG4gICAqICAgIHdhcyBvcGVuZWQsIG90aGVyd2lzZSB3b24ndCByZXN0b3JlIGZvY3VzIGF0IGFsbC5cbiAgICogLSBgc3RyaW5nYCAtIGZvY3VzIHdpbGwgYmUgcmVzdG9yZWQgdG8gdGhlIGZpcnN0IGVsZW1lbnQgdGhhdCBtYXRjaGVzIHRoZSBDU1Mgc2VsZWN0b3IuXG4gICAqIC0gYEhUTUxFbGVtZW50YCAtIGZvY3VzIHdpbGwgYmUgcmVzdG9yZWQgdG8gdGhlIHNwZWNpZmljIGVsZW1lbnQuXG4gICAqL1xuICByZXN0b3JlRm9jdXM/OiBib29sZWFuIHwgc3RyaW5nIHwgSFRNTEVsZW1lbnQgPSB0cnVlO1xuXG4gIC8qKlxuICAgKiBTY3JvbGwgc3RyYXRlZ3kgdG8gYmUgdXNlZCBmb3IgdGhlIGRpYWxvZy4gVGhpcyBkZXRlcm1pbmVzIGhvd1xuICAgKiB0aGUgZGlhbG9nIHJlc3BvbmRzIHRvIHNjcm9sbGluZyB1bmRlcm5lYXRoIHRoZSBwYW5lbCBlbGVtZW50LlxuICAgKi9cbiAgc2Nyb2xsU3RyYXRlZ3k/OiBTY3JvbGxTdHJhdGVneTtcblxuICAvKipcbiAgICogV2hldGhlciB0aGUgZGlhbG9nIHNob3VsZCBjbG9zZSB3aGVuIHRoZSB1c2VyIG5hdmlnYXRlcyBiYWNrd2FyZHMgb3IgZm9yd2FyZHMgdGhyb3VnaCBicm93c2VyXG4gICAqIGhpc3RvcnkuIFRoaXMgZG9lcyBub3QgYXBwbHkgdG8gbmF2aWdhdGlvbiB2aWEgYW5jaG9yIGVsZW1lbnQgdW5sZXNzIHVzaW5nIFVSTC1oYXNoIGJhc2VkXG4gICAqIHJvdXRpbmcgKGBIYXNoTG9jYXRpb25TdHJhdGVneWAgaW4gdGhlIEFuZ3VsYXIgcm91dGVyKS5cbiAgICovXG4gIGNsb3NlT25OYXZpZ2F0aW9uPzogYm9vbGVhbiA9IHRydWU7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGRpYWxvZyBzaG91bGQgY2xvc2Ugd2hlbiB0aGUgZGlhbG9nIHNlcnZpY2UgaXMgZGVzdHJveWVkLiBUaGlzIGlzIHVzZWZ1bCBpZlxuICAgKiBhbm90aGVyIHNlcnZpY2UgaXMgd3JhcHBpbmcgdGhlIGRpYWxvZyBhbmQgaXMgbWFuYWdpbmcgdGhlIGRlc3RydWN0aW9uIGluc3RlYWQuXG4gICAqL1xuICBjbG9zZU9uRGVzdHJveT86IGJvb2xlYW4gPSB0cnVlO1xuXG4gIC8qKiBBbHRlcm5hdGUgYENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcmAgdG8gdXNlIHdoZW4gcmVzb2x2aW5nIHRoZSBhc3NvY2lhdGVkIGNvbXBvbmVudC4gKi9cbiAgY29tcG9uZW50RmFjdG9yeVJlc29sdmVyPzogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyO1xuXG4gIC8qKlxuICAgKiBQcm92aWRlcnMgdGhhdCB3aWxsIGJlIGV4cG9zZWQgdG8gdGhlIGNvbnRlbnRzIG9mIHRoZSBkaWFsb2cuIENhbiBhbHNvXG4gICAqIGJlIHByb3ZpZGVkIGFzIGEgZnVuY3Rpb24gaW4gb3JkZXIgdG8gZ2VuZXJhdGUgdGhlIHByb3ZpZGVycyBsYXppbHkuXG4gICAqL1xuICBwcm92aWRlcnM/OlxuICAgIHwgU3RhdGljUHJvdmlkZXJbXVxuICAgIHwgKChkaWFsb2dSZWY6IFIsIGNvbmZpZzogRGlhbG9nQ29uZmlnPEQsIFIsIEM+LCBjb250YWluZXI6IEMpID0+IFN0YXRpY1Byb3ZpZGVyW10pO1xuXG4gIC8qKlxuICAgKiBDb21wb25lbnQgaW50byB3aGljaCB0aGUgZGlhbG9nIGNvbnRlbnQgd2lsbCBiZSByZW5kZXJlZC4gRGVmYXVsdHMgdG8gYENka0RpYWxvZ0NvbnRhaW5lcmAuXG4gICAqIEEgY29uZmlndXJhdGlvbiBvYmplY3QgY2FuIGJlIHBhc3NlZCBpbiB0byBjdXN0b21pemUgdGhlIHByb3ZpZGVycyB0aGF0IHdpbGwgYmUgZXhwb3NlZFxuICAgKiB0byB0aGUgZGlhbG9nIGNvbnRhaW5lci5cbiAgICovXG4gIGNvbnRhaW5lcj86XG4gICAgfCBUeXBlPEM+XG4gICAgfCB7XG4gICAgICAgIHR5cGU6IFR5cGU8Qz47XG4gICAgICAgIHByb3ZpZGVyczogKGNvbmZpZzogRGlhbG9nQ29uZmlnPEQsIFIsIEM+KSA9PiBTdGF0aWNQcm92aWRlcltdO1xuICAgICAgfTtcblxuICAvKipcbiAgICogQ29udGV4dCB0aGF0IHdpbGwgYmUgcGFzc2VkIHRvIHRlbXBsYXRlLWJhc2VkIGRpYWxvZ3MuXG4gICAqIEEgZnVuY3Rpb24gY2FuIGJlIHBhc3NlZCBpbiB0byByZXNvbHZlIHRoZSBjb250ZXh0IGxhemlseS5cbiAgICovXG4gIHRlbXBsYXRlQ29udGV4dD86IFJlY29yZDxzdHJpbmcsIGFueT4gfCAoKCkgPT4gUmVjb3JkPHN0cmluZywgYW55Pik7XG59XG4iXX0=
|
|
@@ -0,0 +1,278 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright Google LLC All Rights Reserved.
|
|
4
|
+
*
|
|
5
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
6
|
+
* found in the LICENSE file at https://angular.io/license
|
|
7
|
+
*/
|
|
8
|
+
import { FocusMonitor, FocusTrapFactory, InteractivityChecker, } from '@angular/cdk/a11y';
|
|
9
|
+
import { OverlayRef } from '@angular/cdk/overlay';
|
|
10
|
+
import { _getFocusedElementPierceShadowDom } from '@angular/cdk/platform';
|
|
11
|
+
import { BasePortalOutlet, CdkPortalOutlet, } from '@angular/cdk/portal';
|
|
12
|
+
import { DOCUMENT } from '@angular/common';
|
|
13
|
+
import { ChangeDetectionStrategy, Component, ElementRef, Inject, NgZone, Optional, ViewChild, ViewEncapsulation, } from '@angular/core';
|
|
14
|
+
import { DialogConfig } from './dialog-config';
|
|
15
|
+
import * as i0 from "@angular/core";
|
|
16
|
+
import * as i1 from "@angular/cdk/a11y";
|
|
17
|
+
import * as i2 from "@angular/cdk/overlay";
|
|
18
|
+
import * as i3 from "@angular/cdk/portal";
|
|
19
|
+
export function throwDialogContentAlreadyAttachedError() {
|
|
20
|
+
throw Error('Attempting to attach dialog content after content is already attached');
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Internal component that wraps user-provided dialog content.
|
|
24
|
+
* @docs-private
|
|
25
|
+
*/
|
|
26
|
+
export class CdkDialogContainer extends BasePortalOutlet {
|
|
27
|
+
constructor(_elementRef, _focusTrapFactory, _document, _config, _interactivityChecker, _ngZone, _overlayRef, _focusMonitor) {
|
|
28
|
+
super();
|
|
29
|
+
this._elementRef = _elementRef;
|
|
30
|
+
this._focusTrapFactory = _focusTrapFactory;
|
|
31
|
+
this._config = _config;
|
|
32
|
+
this._interactivityChecker = _interactivityChecker;
|
|
33
|
+
this._ngZone = _ngZone;
|
|
34
|
+
this._overlayRef = _overlayRef;
|
|
35
|
+
this._focusMonitor = _focusMonitor;
|
|
36
|
+
/** Element that was focused before the dialog was opened. Save this to restore upon close. */
|
|
37
|
+
this._elementFocusedBeforeDialogWasOpened = null;
|
|
38
|
+
/**
|
|
39
|
+
* Type of interaction that led to the dialog being closed. This is used to determine
|
|
40
|
+
* whether the focus style will be applied when returning focus to its original location
|
|
41
|
+
* after the dialog is closed.
|
|
42
|
+
*/
|
|
43
|
+
this._closeInteractionType = null;
|
|
44
|
+
/**
|
|
45
|
+
* Attaches a DOM portal to the dialog container.
|
|
46
|
+
* @param portal Portal to be attached.
|
|
47
|
+
* @deprecated To be turned into a method.
|
|
48
|
+
* @breaking-change 10.0.0
|
|
49
|
+
*/
|
|
50
|
+
this.attachDomPortal = (portal) => {
|
|
51
|
+
if (this._portalOutlet.hasAttached() && (typeof ngDevMode === 'undefined' || ngDevMode)) {
|
|
52
|
+
throwDialogContentAlreadyAttachedError();
|
|
53
|
+
}
|
|
54
|
+
const result = this._portalOutlet.attachDomPortal(portal);
|
|
55
|
+
this._contentAttached();
|
|
56
|
+
return result;
|
|
57
|
+
};
|
|
58
|
+
this._ariaLabelledBy = this._config.ariaLabelledBy || null;
|
|
59
|
+
this._document = _document;
|
|
60
|
+
}
|
|
61
|
+
_contentAttached() {
|
|
62
|
+
this._initializeFocusTrap();
|
|
63
|
+
this._handleBackdropClicks();
|
|
64
|
+
this._captureInitialFocus();
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Can be used by child classes to customize the initial focus
|
|
68
|
+
* capturing behavior (e.g. if it's tied to an animation).
|
|
69
|
+
*/
|
|
70
|
+
_captureInitialFocus() {
|
|
71
|
+
this._trapFocus();
|
|
72
|
+
}
|
|
73
|
+
ngOnDestroy() {
|
|
74
|
+
this._restoreFocus();
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Attach a ComponentPortal as content to this dialog container.
|
|
78
|
+
* @param portal Portal to be attached as the dialog content.
|
|
79
|
+
*/
|
|
80
|
+
attachComponentPortal(portal) {
|
|
81
|
+
if (this._portalOutlet.hasAttached() && (typeof ngDevMode === 'undefined' || ngDevMode)) {
|
|
82
|
+
throwDialogContentAlreadyAttachedError();
|
|
83
|
+
}
|
|
84
|
+
const result = this._portalOutlet.attachComponentPortal(portal);
|
|
85
|
+
this._contentAttached();
|
|
86
|
+
return result;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Attach a TemplatePortal as content to this dialog container.
|
|
90
|
+
* @param portal Portal to be attached as the dialog content.
|
|
91
|
+
*/
|
|
92
|
+
attachTemplatePortal(portal) {
|
|
93
|
+
if (this._portalOutlet.hasAttached() && (typeof ngDevMode === 'undefined' || ngDevMode)) {
|
|
94
|
+
throwDialogContentAlreadyAttachedError();
|
|
95
|
+
}
|
|
96
|
+
const result = this._portalOutlet.attachTemplatePortal(portal);
|
|
97
|
+
this._contentAttached();
|
|
98
|
+
return result;
|
|
99
|
+
}
|
|
100
|
+
// TODO(crisbeto): this shouldn't be exposed, but there are internal references to it.
|
|
101
|
+
/** Captures focus if it isn't already inside the dialog. */
|
|
102
|
+
_recaptureFocus() {
|
|
103
|
+
if (!this._containsFocus()) {
|
|
104
|
+
this._trapFocus();
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Focuses the provided element. If the element is not focusable, it will add a tabIndex
|
|
109
|
+
* attribute to forcefully focus it. The attribute is removed after focus is moved.
|
|
110
|
+
* @param element The element to focus.
|
|
111
|
+
*/
|
|
112
|
+
_forceFocus(element, options) {
|
|
113
|
+
if (!this._interactivityChecker.isFocusable(element)) {
|
|
114
|
+
element.tabIndex = -1;
|
|
115
|
+
// The tabindex attribute should be removed to avoid navigating to that element again
|
|
116
|
+
this._ngZone.runOutsideAngular(() => {
|
|
117
|
+
const callback = () => {
|
|
118
|
+
element.removeEventListener('blur', callback);
|
|
119
|
+
element.removeEventListener('mousedown', callback);
|
|
120
|
+
element.removeAttribute('tabindex');
|
|
121
|
+
};
|
|
122
|
+
element.addEventListener('blur', callback);
|
|
123
|
+
element.addEventListener('mousedown', callback);
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
element.focus(options);
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Focuses the first element that matches the given selector within the focus trap.
|
|
130
|
+
* @param selector The CSS selector for the element to set focus to.
|
|
131
|
+
*/
|
|
132
|
+
_focusByCssSelector(selector, options) {
|
|
133
|
+
let elementToFocus = this._elementRef.nativeElement.querySelector(selector);
|
|
134
|
+
if (elementToFocus) {
|
|
135
|
+
this._forceFocus(elementToFocus, options);
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Moves the focus inside the focus trap. When autoFocus is not set to 'dialog', if focus
|
|
140
|
+
* cannot be moved then focus will go to the dialog container.
|
|
141
|
+
*/
|
|
142
|
+
_trapFocus() {
|
|
143
|
+
const element = this._elementRef.nativeElement;
|
|
144
|
+
// If were to attempt to focus immediately, then the content of the dialog would not yet be
|
|
145
|
+
// ready in instances where change detection has to run first. To deal with this, we simply
|
|
146
|
+
// wait for the microtask queue to be empty when setting focus when autoFocus isn't set to
|
|
147
|
+
// dialog. If the element inside the dialog can't be focused, then the container is focused
|
|
148
|
+
// so the user can't tab into other elements behind it.
|
|
149
|
+
switch (this._config.autoFocus) {
|
|
150
|
+
case false:
|
|
151
|
+
case 'dialog':
|
|
152
|
+
// Ensure that focus is on the dialog container. It's possible that a different
|
|
153
|
+
// component tried to move focus while the open animation was running. See:
|
|
154
|
+
// https://github.com/angular/components/issues/16215. Note that we only want to do this
|
|
155
|
+
// if the focus isn't inside the dialog already, because it's possible that the consumer
|
|
156
|
+
// turned off `autoFocus` in order to move focus themselves.
|
|
157
|
+
if (!this._containsFocus()) {
|
|
158
|
+
element.focus();
|
|
159
|
+
}
|
|
160
|
+
break;
|
|
161
|
+
case true:
|
|
162
|
+
case 'first-tabbable':
|
|
163
|
+
this._focusTrap.focusInitialElementWhenReady().then(focusedSuccessfully => {
|
|
164
|
+
// If we weren't able to find a focusable element in the dialog, then focus the dialog
|
|
165
|
+
// container instead.
|
|
166
|
+
if (!focusedSuccessfully) {
|
|
167
|
+
this._focusDialogContainer();
|
|
168
|
+
}
|
|
169
|
+
});
|
|
170
|
+
break;
|
|
171
|
+
case 'first-heading':
|
|
172
|
+
this._focusByCssSelector('h1, h2, h3, h4, h5, h6, [role="heading"]');
|
|
173
|
+
break;
|
|
174
|
+
default:
|
|
175
|
+
this._focusByCssSelector(this._config.autoFocus);
|
|
176
|
+
break;
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
/** Restores focus to the element that was focused before the dialog opened. */
|
|
180
|
+
_restoreFocus() {
|
|
181
|
+
const focusConfig = this._config.restoreFocus;
|
|
182
|
+
let focusTargetElement = null;
|
|
183
|
+
if (typeof focusConfig === 'string') {
|
|
184
|
+
focusTargetElement = this._document.querySelector(focusConfig);
|
|
185
|
+
}
|
|
186
|
+
else if (typeof focusConfig === 'boolean') {
|
|
187
|
+
focusTargetElement = focusConfig ? this._elementFocusedBeforeDialogWasOpened : null;
|
|
188
|
+
}
|
|
189
|
+
else if (focusConfig) {
|
|
190
|
+
focusTargetElement = focusConfig;
|
|
191
|
+
}
|
|
192
|
+
// We need the extra check, because IE can set the `activeElement` to null in some cases.
|
|
193
|
+
if (this._config.restoreFocus &&
|
|
194
|
+
focusTargetElement &&
|
|
195
|
+
typeof focusTargetElement.focus === 'function') {
|
|
196
|
+
const activeElement = _getFocusedElementPierceShadowDom();
|
|
197
|
+
const element = this._elementRef.nativeElement;
|
|
198
|
+
// Make sure that focus is still inside the dialog or is on the body (usually because a
|
|
199
|
+
// non-focusable element like the backdrop was clicked) before moving it. It's possible that
|
|
200
|
+
// the consumer moved it themselves before the animation was done, in which case we shouldn't
|
|
201
|
+
// do anything.
|
|
202
|
+
if (!activeElement ||
|
|
203
|
+
activeElement === this._document.body ||
|
|
204
|
+
activeElement === element ||
|
|
205
|
+
element.contains(activeElement)) {
|
|
206
|
+
if (this._focusMonitor) {
|
|
207
|
+
this._focusMonitor.focusVia(focusTargetElement, this._closeInteractionType);
|
|
208
|
+
this._closeInteractionType = null;
|
|
209
|
+
}
|
|
210
|
+
else {
|
|
211
|
+
focusTargetElement.focus();
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
if (this._focusTrap) {
|
|
216
|
+
this._focusTrap.destroy();
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
/** Focuses the dialog container. */
|
|
220
|
+
_focusDialogContainer() {
|
|
221
|
+
// Note that there is no focus method when rendering on the server.
|
|
222
|
+
if (this._elementRef.nativeElement.focus) {
|
|
223
|
+
this._elementRef.nativeElement.focus();
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
/** Returns whether focus is inside the dialog. */
|
|
227
|
+
_containsFocus() {
|
|
228
|
+
const element = this._elementRef.nativeElement;
|
|
229
|
+
const activeElement = _getFocusedElementPierceShadowDom();
|
|
230
|
+
return element === activeElement || element.contains(activeElement);
|
|
231
|
+
}
|
|
232
|
+
/** Sets up the focus trap. */
|
|
233
|
+
_initializeFocusTrap() {
|
|
234
|
+
this._focusTrap = this._focusTrapFactory.create(this._elementRef.nativeElement);
|
|
235
|
+
// Save the previously focused element. This element will be re-focused
|
|
236
|
+
// when the dialog closes.
|
|
237
|
+
if (this._document) {
|
|
238
|
+
this._elementFocusedBeforeDialogWasOpened = _getFocusedElementPierceShadowDom();
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
/** Sets up the listener that handles clicks on the dialog backdrop. */
|
|
242
|
+
_handleBackdropClicks() {
|
|
243
|
+
// Clicking on the backdrop will move focus out of dialog.
|
|
244
|
+
// Recapture it if closing via the backdrop is disabled.
|
|
245
|
+
this._overlayRef.backdropClick().subscribe(() => {
|
|
246
|
+
if (this._config.disableClose) {
|
|
247
|
+
this._recaptureFocus();
|
|
248
|
+
}
|
|
249
|
+
});
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
CdkDialogContainer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-rc.1", ngImport: i0, type: CdkDialogContainer, deps: [{ token: i0.ElementRef }, { token: i1.FocusTrapFactory }, { token: DOCUMENT, optional: true }, { token: DialogConfig }, { token: i1.InteractivityChecker }, { token: i0.NgZone }, { token: i2.OverlayRef }, { token: i1.FocusMonitor }], target: i0.ɵɵFactoryTarget.Component });
|
|
253
|
+
CdkDialogContainer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.0-rc.1", type: CdkDialogContainer, selector: "cdk-dialog-container", host: { attributes: { "tabindex": "-1" }, properties: { "attr.id": "_config.id || null", "attr.role": "_config.role", "attr.aria-modal": "_config.ariaModal", "attr.aria-labelledby": "_config.ariaLabel ? null : _ariaLabelledBy", "attr.aria-label": "_config.ariaLabel", "attr.aria-describedby": "_config.ariaDescribedBy || null" }, classAttribute: "cdk-dialog-container" }, viewQueries: [{ propertyName: "_portalOutlet", first: true, predicate: CdkPortalOutlet, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<ng-template cdkPortalOutlet></ng-template>\n", styles: [".cdk-dialog-container{display:block;width:100%;height:100%;min-height:inherit;max-height:inherit}"], dependencies: [{ kind: "directive", type: i3.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });
|
|
254
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-rc.1", ngImport: i0, type: CdkDialogContainer, decorators: [{
|
|
255
|
+
type: Component,
|
|
256
|
+
args: [{ selector: 'cdk-dialog-container', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.Default, host: {
|
|
257
|
+
'class': 'cdk-dialog-container',
|
|
258
|
+
'tabindex': '-1',
|
|
259
|
+
'[attr.id]': '_config.id || null',
|
|
260
|
+
'[attr.role]': '_config.role',
|
|
261
|
+
'[attr.aria-modal]': '_config.ariaModal',
|
|
262
|
+
'[attr.aria-labelledby]': '_config.ariaLabel ? null : _ariaLabelledBy',
|
|
263
|
+
'[attr.aria-label]': '_config.ariaLabel',
|
|
264
|
+
'[attr.aria-describedby]': '_config.ariaDescribedBy || null',
|
|
265
|
+
}, template: "<ng-template cdkPortalOutlet></ng-template>\n", styles: [".cdk-dialog-container{display:block;width:100%;height:100%;min-height:inherit;max-height:inherit}"] }]
|
|
266
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.FocusTrapFactory }, { type: undefined, decorators: [{
|
|
267
|
+
type: Optional
|
|
268
|
+
}, {
|
|
269
|
+
type: Inject,
|
|
270
|
+
args: [DOCUMENT]
|
|
271
|
+
}] }, { type: undefined, decorators: [{
|
|
272
|
+
type: Inject,
|
|
273
|
+
args: [DialogConfig]
|
|
274
|
+
}] }, { type: i1.InteractivityChecker }, { type: i0.NgZone }, { type: i2.OverlayRef }, { type: i1.FocusMonitor }]; }, propDecorators: { _portalOutlet: [{
|
|
275
|
+
type: ViewChild,
|
|
276
|
+
args: [CdkPortalOutlet, { static: true }]
|
|
277
|
+
}] } });
|
|
278
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWNvbnRhaW5lci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jZGsvZGlhbG9nL2RpYWxvZy1jb250YWluZXIudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY2RrL2RpYWxvZy9kaWFsb2ctY29udGFpbmVyLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBRUgsT0FBTyxFQUNMLFlBQVksRUFHWixnQkFBZ0IsRUFDaEIsb0JBQW9CLEdBQ3JCLE1BQU0sbUJBQW1CLENBQUM7QUFDM0IsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ2hELE9BQU8sRUFBQyxpQ0FBaUMsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQ3hFLE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsZUFBZSxHQUloQixNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFFVCxVQUFVLEVBRVYsTUFBTSxFQUNOLE1BQU0sRUFFTixRQUFRLEVBQ1IsU0FBUyxFQUNULGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7Ozs7O0FBRTdDLE1BQU0sVUFBVSxzQ0FBc0M7SUFDcEQsTUFBTSxLQUFLLENBQUMsdUVBQXVFLENBQUMsQ0FBQztBQUN2RixDQUFDO0FBRUQ7OztHQUdHO0FBb0JILE1BQU0sT0FBTyxrQkFDWCxTQUFRLGdCQUFnQjtJQXdCeEIsWUFDWSxXQUF1QixFQUN2QixpQkFBbUMsRUFDZixTQUFjLEVBQ2IsT0FBVSxFQUNqQyxxQkFBMkMsRUFDM0MsT0FBZSxFQUNmLFdBQXVCLEVBQ3ZCLGFBQTRCO1FBRXBDLEtBQUssRUFBRSxDQUFDO1FBVEUsZ0JBQVcsR0FBWCxXQUFXLENB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QUN4Qyx5QkFBeUIsRUFBRSxpQ0FBaUM7cUJBQzdEOzswQkE4QkUsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxRQUFROzswQkFDM0IsTUFBTTsyQkFBQyxZQUFZO3dKQXRCc0IsYUFBYTtzQkFBeEQsU0FBUzt1QkFBQyxlQUFlLEVBQUUsRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmltcG9ydCB7XG4gIEZvY3VzTW9uaXRvcixcbiAgRm9jdXNPcmlnaW4sXG4gIEZvY3VzVHJhcCxcbiAgRm9jdXNUcmFwRmFjdG9yeSxcbiAgSW50ZXJhY3Rpdml0eUNoZWNrZXIsXG59IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7T3ZlcmxheVJlZn0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHtfZ2V0Rm9jdXNlZEVsZW1lbnRQaWVyY2VTaGFkb3dEb219IGZyb20gJ0Bhbmd1bGFyL2Nkay9wbGF0Zm9ybSc7XG5pbXBvcnQge1xuICBCYXNlUG9ydGFsT3V0bGV0LFxuICBDZGtQb3J0YWxPdXRsZXQsXG4gIENvbXBvbmVudFBvcnRhbCxcbiAgRG9tUG9ydGFsLFxuICBUZW1wbGF0ZVBvcnRhbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQge0RPQ1VNRU5UfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgQ29tcG9uZW50UmVmLFxuICBFbGVtZW50UmVmLFxuICBFbWJlZGRlZFZpZXdSZWYsXG4gIEluamVjdCxcbiAgTmdab25lLFxuICBPbkRlc3Ryb3ksXG4gIE9wdGlvbmFsLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7RGlhbG9nQ29uZmlnfSBmcm9tICcuL2RpYWxvZy1jb25maWcnO1xuXG5leHBvcnQgZnVuY3Rpb24gdGhyb3dEaWFsb2dDb250ZW50QWxyZWFkeUF0dGFjaGVkRXJyb3IoKSB7XG4gIHRocm93IEVycm9yKCdBdHRlbXB0aW5nIHRvIGF0dGFjaCBkaWFsb2cgY29udGVudCBhZnRlciBjb250ZW50IGlzIGFscmVhZHkgYXR0YWNoZWQnKTtcbn1cblxuLyoqXG4gKiBJbnRlcm5hbCBjb21wb25lbnQgdGhhdCB3cmFwcyB1c2VyLXByb3ZpZGVkIGRpYWxvZyBjb250ZW50LlxuICogQGRvY3MtcHJpdmF0ZVxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjZGstZGlhbG9nLWNvbnRhaW5lcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9kaWFsb2ctY29udGFpbmVyLmh0bWwnLFxuICBzdHlsZVVybHM6IFsnZGlhbG9nLWNvbnRhaW5lci5jc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgLy8gVXNpbmcgT25QdXNoIGZvciBkaWFsb2dzIGNhdXNlZCBzb21lIEczIHN5bmMgaXNzdWVzLiBEaXNhYmxlZCB1bnRpbCB3ZSBjYW4gdHJhY2sgdGhlbSBkb3duLlxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6dmFsaWRhdGUtZGVjb3JhdG9yc1xuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LkRlZmF1bHQsXG4gIGhvc3Q6IHtcbiAgICAnY2xhc3MnOiAnY2RrLWRpYWxvZy1jb250YWluZXInLFxuICAgICd0YWJpbmRleCc6ICctMScsXG4gICAgJ1thdHRyLmlkXSc6ICdfY29uZmlnLmlkIHx8IG51bGwnLFxuICAgICdbYXR0ci5yb2xlXSc6ICdfY29uZmlnLnJvbGUnLFxuICAgICdbYXR0ci5hcmlhLW1vZGFsXSc6ICdfY29uZmlnLmFyaWFNb2RhbCcsXG4gICAgJ1thdHRyLmFyaWEtbGFiZWxsZWRieV0nOiAnX2NvbmZpZy5hcmlhTGFiZWwgPyBudWxsIDogX2FyaWFMYWJlbGxlZEJ5JyxcbiAgICAnW2F0dHIuYXJpYS1sYWJlbF0nOiAnX2NvbmZpZy5hcmlhTGFiZWwnLFxuICAgICdbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XSc6ICdfY29uZmlnLmFyaWFEZXNjcmliZWRCeSB8fCBudWxsJyxcbiAgfSxcbn0pXG5leHBvcnQgY2xhc3MgQ2RrRGlhbG9nQ29udGFpbmVyPEMgZXh0ZW5kcyBEaWFsb2dDb25maWcgPSBEaWFsb2dDb25maWc+XG4gIGV4dGVuZHMgQmFzZVBvcnRhbE91dGxldFxuICBpbXBsZW1lbnRzIE9uRGVzdHJveVxue1xuICBwcm90ZWN0ZWQgX2RvY3VtZW50OiBEb2N1bWVudDtcblxuICAvKiogVGhlIHBvcnRhbCBvdXRsZXQgaW5zaWRlIG9mIHRoaXMgY29udGFpbmVyIGludG8gd2hpY2ggdGhlIGRpYWxvZyBjb250ZW50IHdpbGwgYmUgbG9hZGVkLiAqL1xuICBAVmlld0NoaWxkKENka1BvcnRhbE91dGxldCwge3N0YXRpYzogdHJ1ZX0pIF9wb3J0YWxPdXRsZXQ6IENka1BvcnRhbE91dGxldDtcblxuICAvKiogVGhlIGNsYXNzIHRoYXQgdHJhcHMgYW5kIG1hbmFnZXMgZm9jdXMgd2l0aGluIHRoZSBkaWFsb2cuICovXG4gIHByaXZhdGUgX2ZvY3VzVHJhcDogRm9jdXNUcmFwO1xuXG4gIC8qKiBFbGVtZW50IHRoYXQgd2FzIGZvY3VzZWQgYmVmb3JlIHRoZSBkaWFsb2cgd2FzIG9wZW5lZC4gU2F2ZSB0aGlzIHRvIHJlc3RvcmUgdXBvbiBjbG9zZS4gKi9cbiAgcHJpdmF0ZSBfZWxlbWVudEZvY3VzZWRCZWZvcmVEaWFsb2dXYXNPcGVuZWQ6IEhUTUxFbGVtZW50IHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqXG4gICAqIFR5cGUgb2YgaW50ZXJhY3Rpb24gdGhhdCBsZWQgdG8gdGhlIGRpYWxvZyBiZWluZyBjbG9zZWQuIFRoaXMgaXMgdXNlZCB0byBkZXRlcm1pbmVcbiAgICogd2hldGhlciB0aGUgZm9jdXMgc3R5bGUgd2lsbCBiZSBhcHBsaWVkIHdoZW4gcmV0dXJuaW5nIGZvY3VzIHRvIGl0cyBvcmlnaW5hbCBsb2NhdGlvblxuICAgKiBhZnRlciB0aGUgZGlhbG9nIGlzIGNsb3NlZC5cbiAgICovXG4gIF9jbG9zZUludGVyYWN0aW9uVHlwZTogRm9jdXNPcmlnaW4gfCBudWxsID0gbnVsbDtcblxuICAvKiogSUQgb2YgdGhlIGVsZW1lbnQgdGhhdCBzaG91bGQgYmUgY29uc2lkZXJlZCBhcyB0aGUgZGlhbG9nJ3MgbGFiZWwuICovXG4gIF9hcmlhTGFiZWxsZWRCeTogc3RyaW5nIHwgbnVsbDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgcHJvdGVjdGVkIF9mb2N1c1RyYXBGYWN0b3J5OiBGb2N1c1RyYXBGYWN0b3J5LFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoRE9DVU1FTlQpIF9kb2N1bWVudDogYW55LFxuICAgIEBJbmplY3QoRGlhbG9nQ29uZmlnKSByZWFkb25seSBfY29uZmlnOiBDLFxuICAgIHByaXZhdGUgX2ludGVyYWN0aXZpdHlDaGVja2VyOiBJbnRlcmFjdGl2aXR5Q2hlY2tlcixcbiAgICBwcml2YXRlIF9uZ1pvbmU6IE5nWm9uZSxcbiAgICBwcml2YXRlIF9vdmVybGF5UmVmOiBPdmVybGF5UmVmLFxuICAgIHByaXZhdGUgX2ZvY3VzTW9uaXRvcj86IEZvY3VzTW9uaXRvcixcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLl9hcmlhTGFiZWxsZWRCeSA9IHRoaXMuX2NvbmZpZy5hcmlhTGFiZWxsZWRCeSB8fCBudWxsO1xuICAgIHRoaXMuX2RvY3VtZW50ID0gX2RvY3VtZW50O1xuICB9XG5cbiAgcHJvdGVjdGVkIF9jb250ZW50QXR0YWNoZWQoKSB7XG4gICAgdGhpcy5faW5pdGlhbGl6ZUZvY3VzVHJhcCgpO1xuICAgIHRoaXMuX2hhbmRsZUJhY2tkcm9wQ2xpY2tzKCk7XG4gICAgdGhpcy5fY2FwdHVyZUluaXRpYWxGb2N1cygpO1xuICB9XG5cbiAgLyoqXG4gICAqIENhbiBiZSB1c2VkIGJ5IGNoaWxkIGNsYXNzZXMgdG8gY3VzdG9taXplIHRoZSBpbml0aWFsIGZvY3VzXG4gICAqIGNhcHR1cmluZyBiZWhhdmlvciAoZS5nLiBpZiBpdCdzIHRpZWQgdG8gYW4gYW5pbWF0aW9uKS5cbiAgICovXG4gIHByb3RlY3RlZCBfY2FwdHVyZUluaXRpYWxGb2N1cygpIHtcbiAgICB0aGlzLl90cmFwRm9jdXMoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuX3Jlc3RvcmVGb2N1cygpO1xuICB9XG5cbiAgLyoqXG4gICAqIEF0dGFjaCBhIENvbXBvbmVudFBvcnRhbCBhcyBjb250ZW50IHRvIHRoaXMgZGlhbG9nIGNvbnRhaW5lci5cbiAgICogQHBhcmFtIHBvcnRhbCBQb3J0YWwgdG8gYmUgYXR0YWNoZWQgYXMgdGhlIGRpYWxvZyBjb250ZW50LlxuICAgKi9cbiAgYXR0YWNoQ29tcG9uZW50UG9ydGFsPFQ+KHBvcnRhbDogQ29tcG9uZW50UG9ydGFsPFQ+KTogQ29tcG9uZW50UmVmPFQ+IHtcbiAgICBpZiAodGhpcy5fcG9ydGFsT3V0bGV0Lmhhc0F0dGFjaGVkKCkgJiYgKHR5cGVvZiBuZ0Rldk1vZGUgPT09ICd1bmRlZmluZWQnIHx8IG5nRGV2TW9kZSkpIHtcbiAgICAgIHRocm93RGlhbG9nQ29udGVudEFscmVhZHlBdHRhY2hlZEVycm9yKCk7XG4gICAgfVxuXG4gICAgY29uc3QgcmVzdWx0ID0gdGhpcy5fcG9ydGFsT3V0bGV0LmF0dGFjaENvbXBvbmVudFBvcnRhbChwb3J0YWwpO1xuICAgIHRoaXMuX2NvbnRlbnRBdHRhY2hlZCgpO1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICAvKipcbiAgICogQXR0YWNoIGEgVGVtcGxhdGVQb3J0YWwgYXMgY29udGVudCB0byB0aGlzIGRpYWxvZyBjb250YWluZXIuXG4gICAqIEBwYXJhbSBwb3J0YWwgUG9ydGFsIHRvIGJlIGF0dGFjaGVkIGFzIHRoZSBkaWFsb2cgY29udGVudC5cbiAgICovXG4gIGF0dGFjaFRlbXBsYXRlUG9ydGFsPFQ+KHBvcnRhbDogVGVtcGxhdGVQb3J0YWw8VD4pOiBFbWJlZGRlZFZpZXdSZWY8VD4ge1xuICAgIGlmICh0aGlzLl9wb3J0YWxPdXRsZXQuaGFzQXR0YWNoZWQoKSAmJiAodHlwZW9mIG5nRGV2TW9kZSA9PT0gJ3VuZGVmaW5lZCcgfHwgbmdEZXZNb2RlKSkge1xuICAgICAgdGhyb3dEaWFsb2dDb250ZW50QWxyZWFkeUF0dGFjaGVkRXJyb3IoKTtcbiAgICB9XG5cbiAgICBjb25zdCByZXN1bHQgPSB0aGlzLl9wb3J0YWxPdXRsZXQuYXR0YWNoVGVtcGxhdGVQb3J0YWwocG9ydGFsKTtcbiAgICB0aGlzLl9jb250ZW50QXR0YWNoZWQoKTtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgLyoqXG4gICAqIEF0dGFjaGVzIGEgRE9NIHBvcnRhbCB0byB0aGUgZGlhbG9nIGNvbnRhaW5lci5cbiAgICogQHBhcmFtIHBvcnRhbCBQb3J0YWwgdG8gYmUgYXR0YWNoZWQuXG4gICAqIEBkZXByZWNhdGVkIFRvIGJlIHR1cm5lZCBpbnRvIGEgbWV0aG9kLlxuICAgKiBAYnJlYWtpbmctY2hhbmdlIDEwLjAuMFxuICAgKi9cbiAgb3ZlcnJpZGUgYXR0YWNoRG9tUG9ydGFsID0gKHBvcnRhbDogRG9tUG9ydGFsKSA9PiB7XG4gICAgaWYgKHRoaXMuX3BvcnRhbE91dGxldC5oYXNBdHRhY2hlZCgpICYmICh0eXBlb2YgbmdEZXZNb2RlID09PSAndW5kZWZpbmVkJyB8fCBuZ0Rldk1vZGUpKSB7XG4gICAgICB0aHJvd0RpYWxvZ0NvbnRlbnRBbHJlYWR5QXR0YWNoZWRFcnJvcigpO1xuICAgIH1cblxuICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMuX3BvcnRhbE91dGxldC5hdHRhY2hEb21Qb3J0YWwocG9ydGFsKTtcbiAgICB0aGlzLl9jb250ZW50QXR0YWNoZWQoKTtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9O1xuXG4gIC8vIFRPRE8oY3Jpc2JldG8pOiB0aGlzIHNob3VsZG4ndCBiZSBleHBvc2VkLCBidXQgdGhlcmUgYXJlIGludGVybmFsIHJlZmVyZW5jZXMgdG8gaXQuXG4gIC8qKiBDYXB0dXJlcyBmb2N1cyBpZiBpdCBpc24ndCBhbHJlYWR5IGluc2lkZSB0aGUgZGlhbG9nLiAqL1xuICBfcmVjYXB0dXJlRm9jdXMoKSB7XG4gICAgaWYgKCF0aGlzLl9jb250YWluc0ZvY3VzKCkpIHtcbiAgICAgIHRoaXMuX3RyYXBGb2N1cygpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBGb2N1c2VzIHRoZSBwcm92aWRlZCBlbGVtZW50LiBJZiB0aGUgZWxlbWVudCBpcyBub3QgZm9jdXNhYmxlLCBpdCB3aWxsIGFkZCBhIHRhYkluZGV4XG4gICAqIGF0dHJpYnV0ZSB0byBmb3JjZWZ1bGx5IGZvY3VzIGl0LiBUaGUgYXR0cmlidXRlIGlzIHJlbW92ZWQgYWZ0ZXIgZm9jdXMgaXMgbW92ZWQuXG4gICAqIEBwYXJhbSBlbGVtZW50IFRoZSBlbGVtZW50IHRvIGZvY3VzLlxuICAgKi9cbiAgcHJpdmF0ZSBfZm9yY2VGb2N1cyhlbGVtZW50OiBIVE1MRWxlbWVudCwgb3B0aW9ucz86IEZvY3VzT3B0aW9ucykge1xuICAgIGlmICghdGhpcy5faW50ZXJhY3Rpdml0eUNoZWNrZXIuaXNGb2N1c2FibGUoZWxlbWVudCkpIHtcbiAgICAgIGVsZW1lbnQudGFiSW5kZXggPSAtMTtcbiAgICAgIC8vIFRoZSB0YWJpbmRleCBhdHRyaWJ1dGUgc2hvdWxkIGJlIHJlbW92ZWQgdG8gYXZvaWQgbmF2aWdhdGluZyB0byB0aGF0IGVsZW1lbnQgYWdhaW5cbiAgICAgIHRoaXMuX25nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgIGNvbnN0IGNhbGxiYWNrID0gKCkgPT4ge1xuICAgICAgICAgIGVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignYmx1cicsIGNhbGxiYWNrKTtcbiAgICAgICAgICBlbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIGNhbGxiYWNrKTtcbiAgICAgICAgICBlbGVtZW50LnJlbW92ZUF0dHJpYnV0ZSgndGFiaW5kZXgnKTtcbiAgICAgICAgfTtcblxuICAgICAgICBlbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2JsdXInLCBjYWxsYmFjayk7XG4gICAgICAgIGVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJywgY2FsbGJhY2spO1xuICAgICAgfSk7XG4gICAgfVxuICAgIGVsZW1lbnQuZm9jdXMob3B0aW9ucyk7XG4gIH1cblxuICAvKipcbiAgICogRm9jdXNlcyB0aGUgZmlyc3QgZWxlbWVudCB0aGF0IG1hdGNoZXMgdGhlIGdpdmVuIHNlbGVjdG9yIHdpdGhpbiB0aGUgZm9jdXMgdHJhcC5cbiAgICogQHBhcmFtIHNlbGVjdG9yIFRoZSBDU1Mgc2VsZWN0b3IgZm9yIHRoZSBlbGVtZW50IHRvIHNldCBmb2N1cyB0by5cbiAgICovXG4gIHByaXZhdGUgX2ZvY3VzQnlDc3NTZWxlY3RvcihzZWxlY3Rvcjogc3RyaW5nLCBvcHRpb25zPzogRm9jdXNPcHRpb25zKSB7XG4gICAgbGV0IGVsZW1lbnRUb0ZvY3VzID0gdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoXG4gICAgICBzZWxlY3RvcixcbiAgICApIGFzIEhUTUxFbGVtZW50IHwgbnVsbDtcbiAgICBpZiAoZWxlbWVudFRvRm9jdXMpIHtcbiAgICAgIHRoaXMuX2ZvcmNlRm9jdXMoZWxlbWVudFRvRm9jdXMsIG9wdGlvbnMpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBNb3ZlcyB0aGUgZm9jdXMgaW5zaWRlIHRoZSBmb2N1cyB0cmFwLiBXaGVuIGF1dG9Gb2N1cyBpcyBub3Qgc2V0IHRvICdkaWFsb2cnLCBpZiBmb2N1c1xuICAgKiBjYW5ub3QgYmUgbW92ZWQgdGhlbiBmb2N1cyB3aWxsIGdvIHRvIHRoZSBkaWFsb2cgY29udGFpbmVyLlxuICAgKi9cbiAgcHJvdGVjdGVkIF90cmFwRm9jdXMoKSB7XG4gICAgY29uc3QgZWxlbWVudCA9IHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICAvLyBJZiB3ZXJlIHRvIGF0dGVtcHQgdG8gZm9jdXMgaW1tZWRpYXRlbHksIHRoZW4gdGhlIGNvbnRlbnQgb2YgdGhlIGRpYWxvZyB3b3VsZCBub3QgeWV0IGJlXG4gICAgLy8gcmVhZHkgaW4gaW5zdGFuY2VzIHdoZXJlIGNoYW5nZSBkZXRlY3Rpb24gaGFzIHRvIHJ1biBmaXJzdC4gVG8gZGVhbCB3aXRoIHRoaXMsIHdlIHNpbXBseVxuICAgIC8vIHdhaXQgZm9yIHRoZSBtaWNyb3Rhc2sgcXVldWUgdG8gYmUgZW1wdHkgd2hlbiBzZXR0aW5nIGZvY3VzIHdoZW4gYXV0b0ZvY3VzIGlzbid0IHNldCB0b1xuICAgIC8vIGRpYWxvZy4gSWYgdGhlIGVsZW1lbnQgaW5zaWRlIHRoZSBkaWFsb2cgY2FuJ3QgYmUgZm9jdXNlZCwgdGhlbiB0aGUgY29udGFpbmVyIGlzIGZvY3VzZWRcbiAgICAvLyBzbyB0aGUgdXNlciBjYW4ndCB0YWIgaW50byBvdGhlciBlbGVtZW50cyBiZWhpbmQgaXQuXG4gICAgc3dpdGNoICh0aGlzLl9jb25maWcuYXV0b0ZvY3VzKSB7XG4gICAgICBjYXNlIGZhbHNlOlxuICAgICAgY2FzZSAnZGlhbG9nJzpcbiAgICAgICAgLy8gRW5zdXJlIHRoYXQgZm9jdXMgaXMgb24gdGhlIGRpYWxvZyBjb250YWluZXIuIEl0J3MgcG9zc2libGUgdGhhdCBhIGRpZmZlcmVudFxuICAgICAgICAvLyBjb21wb25lbnQgdHJpZWQgdG8gbW92ZSBmb2N1cyB3aGlsZSB0aGUgb3BlbiBhbmltYXRpb24gd2FzIHJ1bm5pbmcuIFNlZTpcbiAgICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvY29tcG9uZW50cy9pc3N1ZXMvMTYyMTUuIE5vdGUgdGhhdCB3ZSBvbmx5IHdhbnQgdG8gZG8gdGhpc1xuICAgICAgICAvLyBpZiB0aGUgZm9jdXMgaXNuJ3QgaW5zaWRlIHRoZSBkaWFsb2cgYWxyZWFkeSwgYmVjYXVzZSBpdCdzIHBvc3NpYmxlIHRoYXQgdGhlIGNvbnN1bWVyXG4gICAgICAgIC8vIHR1cm5lZCBvZmYgYGF1dG9Gb2N1c2AgaW4gb3JkZXIgdG8gbW92ZSBmb2N1cyB0aGVtc2VsdmVzLlxuICAgICAgICBpZiAoIXRoaXMuX2NvbnRhaW5zRm9jdXMoKSkge1xuICAgICAgICAgIGVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgdHJ1ZTpcbiAgICAgIGNhc2UgJ2ZpcnN0LXRhYmJhYmxlJzpcbiAgICAgICAgdGhpcy5fZm9jdXNUcmFwLmZvY3VzSW5pdGlhbEVsZW1lbnRXaGVuUmVhZHkoKS50aGVuKGZvY3VzZWRTdWNjZXNzZnVsbHkgPT4ge1xuICAgICAgICAgIC8vIElmIHdlIHdlcmVuJ3QgYWJsZSB0byBmaW5kIGEgZm9jdXNhYmxlIGVsZW1lbnQgaW4gdGhlIGRpYWxvZywgdGhlbiBmb2N1cyB0aGUgZGlhbG9nXG4gICAgICAgICAgLy8gY29udGFpbmVyIGluc3RlYWQuXG4gICAgICAgICAgaWYgKCFmb2N1c2VkU3VjY2Vzc2Z1bGx5KSB7XG4gICAgICAgICAgICB0aGlzLl9mb2N1c0RpYWxvZ0NvbnRhaW5lcigpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnZmlyc3QtaGVhZGluZyc6XG4gICAgICAgIHRoaXMuX2ZvY3VzQnlDc3NTZWxlY3RvcignaDEsIGgyLCBoMywgaDQsIGg1LCBoNiwgW3JvbGU9XCJoZWFkaW5nXCJdJyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhpcy5fZm9jdXNCeUNzc1NlbGVjdG9yKHRoaXMuX2NvbmZpZy5hdXRvRm9jdXMhKTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgLyoqIFJlc3RvcmVzIGZvY3VzIHRvIHRoZSBlbGVtZW50IHRoYXQgd2FzIGZvY3VzZWQgYmVmb3JlIHRoZSBkaWFsb2cgb3BlbmVkLiAqL1xuICBwcml2YXRlIF9yZXN0b3JlRm9jdXMoKSB7XG4gICAgY29uc3QgZm9jdXNDb25maWcgPSB0aGlzLl9jb25maWcucmVzdG9yZUZvY3VzO1xuICAgIGxldCBmb2N1c1RhcmdldEVsZW1lbnQ6IEhUTUxFbGVtZW50IHwgbnVsbCA9IG51bGw7XG5cbiAgICBpZiAodHlwZW9mIGZvY3VzQ29uZmlnID09PSAnc3RyaW5nJykge1xuICAgICAgZm9jdXNUYXJnZXRFbGVtZW50ID0gdGhpcy5fZG9jdW1lbnQucXVlcnlTZWxlY3Rvcihmb2N1c0NvbmZpZyk7XG4gICAgfSBlbHNlIGlmICh0eXBlb2YgZm9jdXNDb25maWcgPT09ICdib29sZWFuJykge1xuICAgICAgZm9jdXNUYXJnZXRFbGVtZW50ID0gZm9jdXNDb25maWcgPyB0aGlzLl9lbGVtZW50Rm9jdXNlZEJlZm9yZURpYWxvZ1dhc09wZW5lZCA6IG51bGw7XG4gICAgfSBlbHNlIGlmIChmb2N1c0NvbmZpZykge1xuICAgICAgZm9jdXNUYXJnZXRFbGVtZW50ID0gZm9jdXNDb25maWc7XG4gICAgfVxuXG4gICAgLy8gV2UgbmVlZCB0aGUgZXh0cmEgY2hlY2ssIGJlY2F1c2UgSUUgY2FuIHNldCB0aGUgYGFjdGl2ZUVsZW1lbnRgIHRvIG51bGwgaW4gc29tZSBjYXNlcy5cbiAgICBpZiAoXG4gICAgICB0aGlzLl9jb25maWcucmVzdG9yZUZvY3VzICYmXG4gICAgICBmb2N1c1RhcmdldEVsZW1lbnQgJiZcbiAgICAgIHR5cGVvZiBmb2N1c1RhcmdldEVsZW1lbnQuZm9jdXMgPT09ICdmdW5jdGlvbidcbiAgICApIHtcbiAgICAgIGNvbnN0IGFjdGl2ZUVsZW1lbnQgPSBfZ2V0Rm9jdXNlZEVsZW1lbnRQaWVyY2VTaGFkb3dEb20oKTtcbiAgICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICAgIC8vIE1ha2Ugc3VyZSB0aGF0IGZvY3VzIGlzIHN0aWxsIGluc2lkZSB0aGUgZGlhbG9nIG9yIGlzIG9uIHRoZSBib2R5ICh1c3VhbGx5IGJlY2F1c2UgYVxuICAgICAgLy8gbm9uLWZvY3VzYWJsZSBlbGVtZW50IGxpa2UgdGhlIGJhY2tkcm9wIHdhcyBjbGlja2VkKSBiZWZvcmUgbW92aW5nIGl0LiBJdCdzIHBvc3NpYmxlIHRoYXRcbiAgICAgIC8vIHRoZSBjb25zdW1lciBtb3ZlZCBpdCB0aGVtc2VsdmVzIGJlZm9yZSB0aGUgYW5pbWF0aW9uIHdhcyBkb25lLCBpbiB3aGljaCBjYXNlIHdlIHNob3VsZG4ndFxuICAgICAgLy8gZG8gYW55dGhpbmcuXG4gICAgICBpZiAoXG4gICAgICAgICFhY3RpdmVFbGVtZW50IHx8XG4gICAgICAgIGFjdGl2ZUVsZW1lbnQgPT09IHRoaXMuX2RvY3VtZW50LmJvZHkgfHxcbiAgICAgICAgYWN0aXZlRWxlbWVudCA9PT0gZWxlbWVudCB8fFxuICAgICAgICBlbGVtZW50LmNvbnRhaW5zKGFjdGl2ZUVsZW1lbnQpXG4gICAgICApIHtcbiAgICAgICAgaWYgKHRoaXMuX2ZvY3VzTW9uaXRvcikge1xuICAgICAgICAgIHRoaXMuX2ZvY3VzTW9uaXRvci5mb2N1c1ZpYShmb2N1c1RhcmdldEVsZW1lbnQsIHRoaXMuX2Nsb3NlSW50ZXJhY3Rpb25UeXBlKTtcbiAgICAgICAgICB0aGlzLl9jbG9zZUludGVyYWN0aW9uVHlwZSA9IG51bGw7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgZm9jdXNUYXJnZXRFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodGhpcy5fZm9jdXNUcmFwKSB7XG4gICAgICB0aGlzLl9mb2N1c1RyYXAuZGVzdHJveSgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBGb2N1c2VzIHRoZSBkaWFsb2cgY29udGFpbmVyLiAqL1xuICBwcml2YXRlIF9mb2N1c0RpYWxvZ0NvbnRhaW5lcigpIHtcbiAgICAvLyBOb3RlIHRoYXQgdGhlcmUgaXMgbm8gZm9jdXMgbWV0aG9kIHdoZW4gcmVuZGVyaW5nIG9uIHRoZSBzZXJ2ZXIuXG4gICAgaWYgKHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5mb2N1cykge1xuICAgICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqIFJldHVybnMgd2hldGhlciBmb2N1cyBpcyBpbnNpZGUgdGhlIGRpYWxvZy4gKi9cbiAgcHJpdmF0ZSBfY29udGFpbnNGb2N1cygpIHtcbiAgICBjb25zdCBlbGVtZW50ID0gdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICAgIGNvbnN0IGFjdGl2ZUVsZW1lbnQgPSBfZ2V0Rm9jdXNlZEVsZW1lbnRQaWVyY2VTaGFkb3dEb20oKTtcbiAgICByZXR1cm4gZWxlbWVudCA9PT0gYWN0aXZlRWxlbWVudCB8fCBlbGVtZW50LmNvbnRhaW5zKGFjdGl2ZUVsZW1lbnQpO1xuICB9XG5cbiAgLyoqIFNldHMgdXAgdGhlIGZvY3VzIHRyYXAuICovXG4gIHByaXZhdGUgX2luaXRpYWxpemVGb2N1c1RyYXAoKSB7XG4gICAgdGhpcy5fZm9jdXNUcmFwID0gdGhpcy5fZm9jdXNUcmFwRmFjdG9yeS5jcmVhdGUodGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcblxuICAgIC8vIFNhdmUgdGhlIHByZXZpb3VzbHkgZm9jdXNlZCBlbGVtZW50LiBUaGlzIGVsZW1lbnQgd2lsbCBiZSByZS1mb2N1c2VkXG4gICAgLy8gd2hlbiB0aGUgZGlhbG9nIGNsb3Nlcy5cbiAgICBpZiAodGhpcy5fZG9jdW1lbnQpIHtcbiAgICAgIHRoaXMuX2VsZW1lbnRGb2N1c2VkQmVmb3JlRGlhbG9nV2FzT3BlbmVkID0gX2dldEZvY3VzZWRFbGVtZW50UGllcmNlU2hhZG93RG9tKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqIFNldHMgdXAgdGhlIGxpc3RlbmVyIHRoYXQgaGFuZGxlcyBjbGlja3Mgb24gdGhlIGRpYWxvZyBiYWNrZHJvcC4gKi9cbiAgcHJpdmF0ZSBfaGFuZGxlQmFja2Ryb3BDbGlja3MoKSB7XG4gICAgLy8gQ2xpY2tpbmcgb24gdGhlIGJhY2tkcm9wIHdpbGwgbW92ZSBmb2N1cyBvdXQgb2YgZGlhbG9nLlxuICAgIC8vIFJlY2FwdHVyZSBpdCBpZiBjbG9zaW5nIHZpYSB0aGUgYmFja2Ryb3AgaXMgZGlzYWJsZWQuXG4gICAgdGhpcy5fb3ZlcmxheVJlZi5iYWNrZHJvcENsaWNrKCkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIGlmICh0aGlzLl9jb25maWcuZGlzYWJsZUNsb3NlKSB7XG4gICAgICAgIHRoaXMuX3JlY2FwdHVyZUZvY3VzKCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbn1cbiIsIjxuZy10ZW1wbGF0ZSBjZGtQb3J0YWxPdXRsZXQ+PC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright Google LLC All Rights Reserved.
|
|
4
|
+
*
|
|
5
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
6
|
+
* found in the LICENSE file at https://angular.io/license
|
|
7
|
+
*/
|
|
8
|
+
import { InjectionToken } from '@angular/core';
|
|
9
|
+
import { Overlay } from '@angular/cdk/overlay';
|
|
10
|
+
/** Injection token for the Dialog's ScrollStrategy. */
|
|
11
|
+
export const DIALOG_SCROLL_STRATEGY = new InjectionToken('DialogScrollStrategy');
|
|
12
|
+
/** Injection token for the Dialog's Data. */
|
|
13
|
+
export const DIALOG_DATA = new InjectionToken('DialogData');
|
|
14
|
+
/** Injection token that can be used to provide default options for the dialog module. */
|
|
15
|
+
export const DEFAULT_DIALOG_CONFIG = new InjectionToken('DefaultDialogConfig');
|
|
16
|
+
/** @docs-private */
|
|
17
|
+
export function DIALOG_SCROLL_STRATEGY_PROVIDER_FACTORY(overlay) {
|
|
18
|
+
return () => overlay.scrollStrategies.block();
|
|
19
|
+
}
|
|
20
|
+
/** @docs-private */
|
|
21
|
+
export const DIALOG_SCROLL_STRATEGY_PROVIDER = {
|
|
22
|
+
provide: DIALOG_SCROLL_STRATEGY,
|
|
23
|
+
deps: [Overlay],
|
|
24
|
+
useFactory: DIALOG_SCROLL_STRATEGY_PROVIDER_FACTORY,
|
|
25
|
+
};
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWluamVjdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jZGsvZGlhbG9nL2RpYWxvZy1pbmplY3RvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBRUgsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM3QyxPQUFPLEVBQUMsT0FBTyxFQUFpQixNQUFNLHNCQUFzQixDQUFDO0FBRzdELHVEQUF1RDtBQUN2RCxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxJQUFJLGNBQWMsQ0FDdEQsc0JBQXNCLENBQ3ZCLENBQUM7QUFFRiw2Q0FBNkM7QUFDN0MsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLElBQUksY0FBYyxDQUFNLFlBQVksQ0FBQyxDQUFDO0FBRWpFLHlGQUF5RjtBQUN6RixNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLGNBQWMsQ0FBZSxxQkFBcUIsQ0FBQyxDQUFDO0FBRTdGLG9CQUFvQjtBQUNwQixNQUFNLFVBQVUsdUNBQXVDLENBQUMsT0FBZ0I7SUFDdEUsT0FBTyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLENBQUM7QUFDaEQsQ0FBQztBQUVELG9CQUFvQjtBQUNwQixNQUFNLENBQUMsTUFBTSwrQkFBK0IsR0FBRztJQUM3QyxPQUFPLEVBQUUsc0JBQXNCO0lBQy9CLElBQUksRUFBRSxDQUFDLE9BQU8sQ0FBQztJQUNmLFVBQVUsRUFBRSx1Q0FBdUM7Q0FDcEQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQge0luamVjdGlvblRva2VufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7T3ZlcmxheSwgU2Nyb2xsU3RyYXRlZ3l9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7RGlhbG9nQ29uZmlnfSBmcm9tICcuL2RpYWxvZy1jb25maWcnO1xuXG4vKiogSW5qZWN0aW9uIHRva2VuIGZvciB0aGUgRGlhbG9nJ3MgU2Nyb2xsU3RyYXRlZ3kuICovXG5leHBvcnQgY29uc3QgRElBTE9HX1NDUk9MTF9TVFJBVEVHWSA9IG5ldyBJbmplY3Rpb25Ub2tlbjwoKSA9PiBTY3JvbGxTdHJhdGVneT4oXG4gICdEaWFsb2dTY3JvbGxTdHJhdGVneScsXG4pO1xuXG4vKiogSW5qZWN0aW9uIHRva2VuIGZvciB0aGUgRGlhbG9nJ3MgRGF0YS4gKi9cbmV4cG9ydCBjb25zdCBESUFMT0dfREFUQSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxhbnk+KCdEaWFsb2dEYXRhJyk7XG5cbi8qKiBJbmplY3Rpb24gdG9rZW4gdGhhdCBjYW4gYmUgdXNlZCB0byBwcm92aWRlIGRlZmF1bHQgb3B0aW9ucyBmb3IgdGhlIGRpYWxvZyBtb2R1bGUuICovXG5leHBvcnQgY29uc3QgREVGQVVMVF9ESUFMT0dfQ09ORklHID0gbmV3IEluamVjdGlvblRva2VuPERpYWxvZ0NvbmZpZz4oJ0RlZmF1bHREaWFsb2dDb25maWcnKTtcblxuLyoqIEBkb2NzLXByaXZhdGUgKi9cbmV4cG9ydCBmdW5jdGlvbiBESUFMT0dfU0NST0xMX1NUUkFURUdZX1BST1ZJREVSX0ZBQ1RPUlkob3ZlcmxheTogT3ZlcmxheSk6ICgpID0+IFNjcm9sbFN0cmF0ZWd5IHtcbiAgcmV0dXJuICgpID0+IG92ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5ibG9jaygpO1xufVxuXG4vKiogQGRvY3MtcHJpdmF0ZSAqL1xuZXhwb3J0IGNvbnN0IERJQUxPR19TQ1JPTExfU1RSQVRFR1lfUFJPVklERVIgPSB7XG4gIHByb3ZpZGU6IERJQUxPR19TQ1JPTExfU1RSQVRFR1ksXG4gIGRlcHM6IFtPdmVybGF5XSxcbiAgdXNlRmFjdG9yeTogRElBTE9HX1NDUk9MTF9TVFJBVEVHWV9QUk9WSURFUl9GQUNUT1JZLFxufTtcbiJdfQ==
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright Google LLC All Rights Reserved.
|
|
4
|
+
*
|
|
5
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
6
|
+
* found in the LICENSE file at https://angular.io/license
|
|
7
|
+
*/
|
|
8
|
+
import { NgModule } from '@angular/core';
|
|
9
|
+
import { OverlayModule } from '@angular/cdk/overlay';
|
|
10
|
+
import { PortalModule } from '@angular/cdk/portal';
|
|
11
|
+
import { A11yModule } from '@angular/cdk/a11y';
|
|
12
|
+
import { Dialog } from './dialog';
|
|
13
|
+
import { CdkDialogContainer } from './dialog-container';
|
|
14
|
+
import { DIALOG_SCROLL_STRATEGY_PROVIDER } from './dialog-injectors';
|
|
15
|
+
import * as i0 from "@angular/core";
|
|
16
|
+
export class DialogModule {
|
|
17
|
+
}
|
|
18
|
+
DialogModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-rc.1", ngImport: i0, type: DialogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
19
|
+
DialogModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.0-rc.1", ngImport: i0, type: DialogModule, declarations: [CdkDialogContainer], imports: [OverlayModule, PortalModule, A11yModule], exports: [
|
|
20
|
+
// Re-export the PortalModule so that people extending the `CdkDialogContainer`
|
|
21
|
+
// don't have to remember to import it or be faced with an unhelpful error.
|
|
22
|
+
PortalModule,
|
|
23
|
+
CdkDialogContainer] });
|
|
24
|
+
DialogModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.0-rc.1", ngImport: i0, type: DialogModule, providers: [Dialog, DIALOG_SCROLL_STRATEGY_PROVIDER], imports: [OverlayModule, PortalModule, A11yModule,
|
|
25
|
+
// Re-export the PortalModule so that people extending the `CdkDialogContainer`
|
|
26
|
+
// don't have to remember to import it or be faced with an unhelpful error.
|
|
27
|
+
PortalModule] });
|
|
28
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-rc.1", ngImport: i0, type: DialogModule, decorators: [{
|
|
29
|
+
type: NgModule,
|
|
30
|
+
args: [{
|
|
31
|
+
imports: [OverlayModule, PortalModule, A11yModule],
|
|
32
|
+
exports: [
|
|
33
|
+
// Re-export the PortalModule so that people extending the `CdkDialogContainer`
|
|
34
|
+
// don't have to remember to import it or be faced with an unhelpful error.
|
|
35
|
+
PortalModule,
|
|
36
|
+
CdkDialogContainer,
|
|
37
|
+
],
|
|
38
|
+
declarations: [CdkDialogContainer],
|
|
39
|
+
providers: [Dialog, DIALOG_SCROLL_STRATEGY_PROVIDER],
|
|
40
|
+
}]
|
|
41
|
+
}] });
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLW1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jZGsvZGlhbG9nL2RpYWxvZy1tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBRUgsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ2pELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sVUFBVSxDQUFDO0FBQ2hDLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBQ3RELE9BQU8sRUFBQywrQkFBK0IsRUFBQyxNQUFNLG9CQUFvQixDQUFDOztBQWFuRSxNQUFNLE9BQU8sWUFBWTs7OEdBQVosWUFBWTsrR0FBWixZQUFZLGlCQUhSLGtCQUFrQixhQVB2QixhQUFhLEVBQUUsWUFBWSxFQUFFLFVBQVU7UUFFL0MsK0VBQStFO1FBQy9FLDJFQUEyRTtRQUMzRSxZQUFZO1FBQ1osa0JBQWtCOytHQUtULFlBQVksYUFGWixDQUFDLE1BQU0sRUFBRSwrQkFBK0IsQ0FBQyxZQVIxQyxhQUFhLEVBQUUsWUFBWSxFQUFFLFVBQVU7UUFFL0MsK0VBQStFO1FBQy9FLDJFQUEyRTtRQUMzRSxZQUFZO2dHQU1ILFlBQVk7a0JBWHhCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsYUFBYSxFQUFFLFlBQVksRUFBRSxVQUFVLENBQUM7b0JBQ2xELE9BQU8sRUFBRTt3QkFDUCwrRUFBK0U7d0JBQy9FLDJFQUEyRTt3QkFDM0UsWUFBWTt3QkFDWixrQkFBa0I7cUJBQ25CO29CQUNELFlBQVksRUFBRSxDQUFDLGtCQUFrQixDQUFDO29CQUNsQyxTQUFTLEVBQUUsQ0FBQyxNQUFNLEVBQUUsK0JBQStCLENBQUM7aUJBQ3JEIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmltcG9ydCB7TmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtPdmVybGF5TW9kdWxlfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQge1BvcnRhbE1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQge0ExMXlNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7RGlhbG9nfSBmcm9tICcuL2RpYWxvZyc7XG5pbXBvcnQge0Nka0RpYWxvZ0NvbnRhaW5lcn0gZnJvbSAnLi9kaWFsb2ctY29udGFpbmVyJztcbmltcG9ydCB7RElBTE9HX1NDUk9MTF9TVFJBVEVHWV9QUk9WSURFUn0gZnJvbSAnLi9kaWFsb2ctaW5qZWN0b3JzJztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW092ZXJsYXlNb2R1bGUsIFBvcnRhbE1vZHVsZSwgQTExeU1vZHVsZV0sXG4gIGV4cG9ydHM6IFtcbiAgICAvLyBSZS1leHBvcnQgdGhlIFBvcnRhbE1vZHVsZSBzbyB0aGF0IHBlb3BsZSBleHRlbmRpbmcgdGhlIGBDZGtEaWFsb2dDb250YWluZXJgXG4gICAgLy8gZG9uJ3QgaGF2ZSB0byByZW1lbWJlciB0byBpbXBvcnQgaXQgb3IgYmUgZmFjZWQgd2l0aCBhbiB1bmhlbHBmdWwgZXJyb3IuXG4gICAgUG9ydGFsTW9kdWxlLFxuICAgIENka0RpYWxvZ0NvbnRhaW5lcixcbiAgXSxcbiAgZGVjbGFyYXRpb25zOiBbQ2RrRGlhbG9nQ29udGFpbmVyXSxcbiAgcHJvdmlkZXJzOiBbRGlhbG9nLCBESUFMT0dfU0NST0xMX1NUUkFURUdZX1BST1ZJREVSXSxcbn0pXG5leHBvcnQgY2xhc3MgRGlhbG9nTW9kdWxlIHt9XG4iXX0=
|