@angular/cdk 13.0.0-next.7 → 13.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/a11y-module.d.ts +9 -7
- package/a11y/a11y_public_index.d.ts +4 -0
- package/a11y/aria-describer/aria-describer.d.ts +3 -7
- package/a11y/focus-monitor/focus-monitor.d.ts +5 -0
- package/a11y/focus-trap/configurable-focus-trap-factory.d.ts +3 -7
- package/a11y/focus-trap/focus-trap-manager.d.ts +3 -7
- package/a11y/focus-trap/focus-trap.d.ts +5 -0
- package/a11y/high-contrast-mode/high-contrast-mode-detector.d.ts +3 -0
- package/a11y/index.d.ts +5 -2
- package/a11y/input-modality/input-modality-detector.d.ts +3 -7
- package/a11y/interactivity-checker/interactivity-checker.d.ts +3 -0
- package/a11y/live-announcer/live-announcer.d.ts +6 -1
- package/a11y/package.json +6 -6
- package/accordion/accordion-item.d.ts +3 -0
- package/accordion/accordion-module.d.ts +6 -7
- package/accordion/accordion.d.ts +3 -0
- package/accordion/accordion_public_index.d.ts +4 -0
- package/accordion/index.d.ts +5 -2
- package/accordion/package.json +6 -6
- package/bidi/bidi-module.d.ts +5 -7
- package/bidi/bidi_public_index.d.ts +4 -0
- package/bidi/dir.d.ts +3 -0
- package/bidi/directionality.d.ts +3 -0
- package/bidi/index.d.ts +5 -2
- package/bidi/package.json +6 -6
- package/clipboard/clipboard-module.d.ts +5 -7
- package/clipboard/clipboard.d.ts +3 -7
- package/clipboard/clipboard_public_index.d.ts +4 -0
- package/clipboard/copy-to-clipboard.d.ts +3 -0
- package/clipboard/index.d.ts +5 -1
- package/clipboard/package.json +6 -6
- package/coercion/package.json +5 -5
- package/collections/collections_public_index.d.ts +4 -0
- package/collections/index.d.ts +5 -1
- package/collections/package.json +6 -6
- package/collections/unique-selection-dispatcher.d.ts +3 -0
- package/drag-drop/client-rect.d.ts +8 -1
- package/drag-drop/directives/drag-handle.d.ts +3 -0
- package/drag-drop/directives/drag-placeholder.d.ts +3 -0
- package/drag-drop/directives/drag-preview.d.ts +3 -0
- package/drag-drop/directives/drag.d.ts +3 -0
- package/drag-drop/directives/drop-list-group.d.ts +3 -0
- package/drag-drop/directives/drop-list.d.ts +3 -0
- package/drag-drop/drag-drop-module.d.ts +11 -7
- package/drag-drop/drag-drop-registry.d.ts +3 -0
- package/drag-drop/drag-drop.d.ts +3 -0
- package/drag-drop/drag-drop_public_index.d.ts +4 -0
- package/drag-drop/index.d.ts +5 -2
- package/drag-drop/package.json +6 -6
- package/esm2020/a11y/a11y-module.mjs +33 -0
- package/esm2020/a11y/a11y_public_index.mjs +5 -0
- package/esm2020/a11y/aria-describer/aria-describer.mjs +208 -0
- package/{esm2015/a11y/aria-describer/aria-reference.js → esm2020/a11y/aria-describer/aria-reference.mjs} +1 -1
- package/esm2020/a11y/fake-event-detection.mjs +29 -0
- package/esm2020/a11y/focus-monitor/focus-monitor.mjs +400 -0
- package/{esm2015/a11y/focus-trap/configurable-focus-trap-config.js → esm2020/a11y/focus-trap/configurable-focus-trap-config.mjs} +0 -0
- package/esm2020/a11y/focus-trap/configurable-focus-trap-factory.mjs +53 -0
- package/esm2020/a11y/focus-trap/configurable-focus-trap.mjs +51 -0
- package/esm2020/a11y/focus-trap/event-listener-inert-strategy.mjs +61 -0
- package/esm2020/a11y/focus-trap/focus-trap-inert-strategy.mjs +11 -0
- package/esm2020/a11y/focus-trap/focus-trap-manager.mjs +53 -0
- package/esm2020/a11y/focus-trap/focus-trap.mjs +399 -0
- package/esm2020/a11y/high-contrast-mode/high-contrast-mode-detector.mjs +95 -0
- package/esm2020/a11y/index.mjs +9 -0
- package/esm2020/a11y/input-modality/input-modality-detector.mjs +176 -0
- package/esm2020/a11y/interactivity-checker/interactivity-checker.mjs +238 -0
- package/{esm2015/a11y/key-manager/activedescendant-key-manager.js → esm2020/a11y/key-manager/activedescendant-key-manager.mjs} +1 -1
- package/{esm2015/a11y/key-manager/focus-key-manager.js → esm2020/a11y/key-manager/focus-key-manager.mjs} +0 -0
- package/esm2020/a11y/key-manager/list-key-manager.mjs +321 -0
- package/esm2020/a11y/live-announcer/live-announcer-tokens.mjs +19 -0
- package/esm2020/a11y/live-announcer/live-announcer.mjs +170 -0
- package/{esm2015/a11y/public-api.js → esm2020/a11y/public-api.mjs} +0 -0
- package/esm2020/accordion/accordion-item.mjs +167 -0
- package/esm2020/accordion/accordion-module.mjs +24 -0
- package/esm2020/accordion/accordion.mjs +70 -0
- package/esm2020/accordion/accordion_public_index.mjs +5 -0
- package/esm2020/accordion/index.mjs +9 -0
- package/{esm2015/accordion/public-api.js → esm2020/accordion/public-api.mjs} +0 -0
- package/esm2020/bidi/bidi-module.mjs +23 -0
- package/esm2020/bidi/bidi_public_index.mjs +5 -0
- package/{esm2015/bidi/dir-document-token.js → esm2020/bidi/dir-document-token.mjs} +1 -1
- package/esm2020/bidi/dir.mjs +67 -0
- package/esm2020/bidi/directionality.mjs +47 -0
- package/esm2020/bidi/index.mjs +9 -0
- package/{esm2015/bidi/public-api.js → esm2020/bidi/public-api.mjs} +1 -1
- package/esm2020/clipboard/clipboard-module.mjs +23 -0
- package/esm2020/clipboard/clipboard.mjs +53 -0
- package/esm2020/clipboard/clipboard_public_index.mjs +5 -0
- package/esm2020/clipboard/copy-to-clipboard.mjs +99 -0
- package/esm2020/clipboard/index.mjs +9 -0
- package/esm2020/clipboard/pending-copy.mjs +67 -0
- package/{esm2015/clipboard/public-api.js → esm2020/clipboard/public-api.mjs} +0 -0
- package/{esm2015/coercion/array.js → esm2020/coercion/array.mjs} +0 -0
- package/{esm2015/coercion/boolean-property.js → esm2020/coercion/boolean-property.mjs} +0 -0
- package/{esm2015/coercion/css-pixel-value.js → esm2020/coercion/css-pixel-value.mjs} +0 -0
- package/{esm2015/coercion/element.js → esm2020/coercion/element.mjs} +0 -0
- package/{esm2015/coercion/index.js → esm2020/coercion/index.mjs} +0 -0
- package/{esm2015/coercion/number-property.js → esm2020/coercion/number-property.mjs} +0 -0
- package/{esm2015/coercion/public-api.js → esm2020/coercion/public-api.mjs} +0 -0
- package/{esm2015/coercion/string-array.js → esm2020/coercion/string-array.mjs} +0 -0
- package/{esm2015/collections/array-data-source.js → esm2020/collections/array-data-source.mjs} +1 -1
- package/esm2020/collections/collection-viewer.mjs +9 -0
- package/esm2020/collections/collections_public_index.mjs +5 -0
- package/{esm2015/collections/data-source.js → esm2020/collections/data-source.mjs} +0 -0
- package/esm2020/collections/dispose-view-repeater-strategy.mjs +47 -0
- package/esm2020/collections/index.mjs +9 -0
- package/{esm2015/collections/public-api.js → esm2020/collections/public-api.mjs} +0 -0
- package/esm2020/collections/recycle-view-repeater-strategy.mjs +128 -0
- package/{esm2015/collections/selection-model.js → esm2020/collections/selection-model.mjs} +2 -2
- package/esm2020/collections/tree-adapter.mjs +9 -0
- package/esm2020/collections/unique-selection-dispatcher.mjs +55 -0
- package/esm2020/collections/view-repeater.mjs +14 -0
- package/esm2020/drag-drop/client-rect.mjs +64 -0
- package/esm2020/drag-drop/clone-node.mjs +65 -0
- package/esm2020/drag-drop/directives/assertions.mjs +18 -0
- package/{esm2015/drag-drop/directives/config.js → esm2020/drag-drop/directives/config.mjs} +1 -1
- package/esm2020/drag-drop/directives/drag-handle.mjs +66 -0
- package/esm2020/drag-drop/directives/drag-placeholder.mjs +36 -0
- package/esm2020/drag-drop/directives/drag-preview.mjs +47 -0
- package/esm2020/drag-drop/directives/drag.mjs +483 -0
- package/esm2020/drag-drop/directives/drop-list-group.mjs +53 -0
- package/esm2020/drag-drop/directives/drop-list.mjs +344 -0
- package/esm2020/drag-drop/drag-drop-module.mjs +57 -0
- package/esm2020/drag-drop/drag-drop-registry.mjs +231 -0
- package/esm2020/drag-drop/drag-drop.mjs +57 -0
- package/esm2020/drag-drop/drag-drop_public_index.mjs +5 -0
- package/esm2020/drag-drop/drag-events.mjs +9 -0
- package/{esm2015/drag-drop/drag-parent.js → esm2020/drag-drop/drag-parent.mjs} +0 -0
- package/esm2020/drag-drop/drag-ref.mjs +1108 -0
- package/esm2020/drag-drop/drag-styling.mjs +69 -0
- package/esm2020/drag-drop/drag-utils.mjs +60 -0
- package/esm2020/drag-drop/drop-list-ref.mjs +830 -0
- package/esm2020/drag-drop/index.mjs +9 -0
- package/{esm2015/drag-drop/parent-position-tracker.js → esm2020/drag-drop/parent-position-tracker.mjs} +2 -2
- package/{esm2015/drag-drop/public-api.js → esm2020/drag-drop/public-api.mjs} +0 -0
- package/esm2020/drag-drop/transition-duration.mjs +36 -0
- package/{esm2015/index.js → esm2020/index.mjs} +0 -0
- package/esm2020/keycodes/index.mjs +9 -0
- package/{esm2015/keycodes/keycodes.js → esm2020/keycodes/keycodes.mjs} +1 -1
- package/esm2020/keycodes/keycodes_public_index.mjs +5 -0
- package/{esm2015/keycodes/modifiers.js → esm2020/keycodes/modifiers.mjs} +0 -0
- package/{esm2015/keycodes/public-api.js → esm2020/keycodes/public-api.mjs} +0 -0
- package/esm2020/layout/breakpoints-observer.mjs +105 -0
- package/{esm2015/layout/breakpoints.js → esm2020/layout/breakpoints.mjs} +1 -1
- package/esm2020/layout/index.mjs +9 -0
- package/esm2020/layout/layout-module.mjs +19 -0
- package/esm2020/layout/layout_public_index.mjs +5 -0
- package/esm2020/layout/media-matcher.mjs +85 -0
- package/{esm2015/layout/public-api.js → esm2020/layout/public-api.mjs} +0 -0
- package/esm2020/observers/index.mjs +9 -0
- package/esm2020/observers/observe-content.mjs +187 -0
- package/esm2020/observers/observers_public_index.mjs +5 -0
- package/{esm2015/observers/public-api.js → esm2020/observers/public-api.mjs} +0 -0
- package/esm2020/overlay/dispatchers/base-overlay-dispatcher.mjs +52 -0
- package/{esm2015/overlay/dispatchers/index.js → esm2020/overlay/dispatchers/index.mjs} +0 -0
- package/esm2020/overlay/dispatchers/overlay-keyboard-dispatcher.mjs +63 -0
- package/esm2020/overlay/dispatchers/overlay-outside-click-dispatcher.mjs +116 -0
- package/esm2020/overlay/fullscreen-overlay-container.mjs +94 -0
- package/esm2020/overlay/index.mjs +9 -0
- package/esm2020/overlay/overlay-config.mjs +45 -0
- package/esm2020/overlay/overlay-container.mjs +81 -0
- package/esm2020/overlay/overlay-directives.mjs +427 -0
- package/esm2020/overlay/overlay-module.mjs +29 -0
- package/esm2020/overlay/overlay-ref.mjs +402 -0
- package/{esm2015/overlay/overlay-reference.js → esm2020/overlay/overlay-reference.mjs} +0 -0
- package/esm2020/overlay/overlay.mjs +119 -0
- package/esm2020/overlay/overlay_public_index.mjs +5 -0
- package/esm2020/overlay/position/connected-position.mjs +97 -0
- package/esm2020/overlay/position/flexible-connected-position-strategy.mjs +959 -0
- package/esm2020/overlay/position/global-position-strategy.mjs +203 -0
- package/esm2020/overlay/position/overlay-position-builder.mjs +50 -0
- package/{esm2015/overlay/position/position-strategy.js → esm2020/overlay/position/position-strategy.mjs} +0 -0
- package/esm2020/overlay/position/scroll-clip.mjs +40 -0
- package/{esm2015/overlay/public-api.js → esm2020/overlay/public-api.mjs} +0 -0
- package/{esm2015/overlay/scroll/block-scroll-strategy.js → esm2020/overlay/scroll/block-scroll-strategy.mjs} +1 -1
- package/esm2020/overlay/scroll/close-scroll-strategy.mjs +61 -0
- package/{esm2015/overlay/scroll/index.js → esm2020/overlay/scroll/index.mjs} +2 -2
- package/{esm2015/overlay/scroll/noop-scroll-strategy.js → esm2020/overlay/scroll/noop-scroll-strategy.mjs} +1 -1
- package/{esm2015/overlay/scroll/reposition-scroll-strategy.js → esm2020/overlay/scroll/reposition-scroll-strategy.mjs} +1 -1
- package/esm2020/overlay/scroll/scroll-strategy-options.mjs +55 -0
- package/{esm2015/overlay/scroll/scroll-strategy.js → esm2020/overlay/scroll/scroll-strategy.mjs} +0 -0
- package/{esm2015/platform/features/input-types.js → esm2020/platform/features/input-types.mjs} +1 -1
- package/esm2020/platform/features/passive-listeners.mjs +36 -0
- package/esm2020/platform/features/scrolling.mjs +85 -0
- package/{esm2015/platform/features/shadow-dom.js → esm2020/platform/features/shadow-dom.mjs} +4 -3
- package/esm2020/platform/features/test-environment.mjs +27 -0
- package/esm2020/platform/index.mjs +9 -0
- package/esm2020/platform/platform-module.mjs +19 -0
- package/esm2020/platform/platform.mjs +85 -0
- package/esm2020/platform/platform_public_index.mjs +5 -0
- package/{esm2015/platform/public-api.js → esm2020/platform/public-api.mjs} +0 -0
- package/esm2020/portal/dom-portal-outlet.mjs +134 -0
- package/esm2020/portal/index.mjs +9 -0
- package/esm2020/portal/portal-directives.mjs +244 -0
- package/{esm2015/portal/portal-errors.js → esm2020/portal/portal-errors.mjs} +1 -1
- package/esm2020/portal/portal-injector.mjs +28 -0
- package/esm2020/portal/portal.mjs +179 -0
- package/esm2020/portal/portal_public_index.mjs +5 -0
- package/{esm2015/portal/public-api.js → esm2020/portal/public-api.mjs} +0 -0
- package/{esm2015/public-api.js → esm2020/public-api.mjs} +0 -0
- package/esm2020/scrolling/fixed-size-virtual-scroll.mjs +217 -0
- package/esm2020/scrolling/index.mjs +9 -0
- package/{esm2015/scrolling/public-api.js → esm2020/scrolling/public-api.mjs} +0 -0
- package/esm2020/scrolling/scroll-dispatcher.mjs +163 -0
- package/esm2020/scrolling/scrollable.mjs +176 -0
- package/esm2020/scrolling/scrolling-module.mjs +52 -0
- package/esm2020/scrolling/scrolling_public_index.mjs +5 -0
- package/esm2020/scrolling/viewport-ruler.mjs +146 -0
- package/esm2020/scrolling/virtual-for-of.mjs +296 -0
- package/{esm2015/scrolling/virtual-scroll-repeater.js → esm2020/scrolling/virtual-scroll-repeater.mjs} +0 -0
- package/esm2020/scrolling/virtual-scroll-strategy.mjs +11 -0
- package/esm2020/scrolling/virtual-scroll-viewport.mjs +378 -0
- package/esm2020/stepper/index.mjs +9 -0
- package/{esm2015/stepper/public-api.js → esm2020/stepper/public-api.mjs} +0 -0
- package/esm2020/stepper/step-header.mjs +30 -0
- package/esm2020/stepper/step-label.mjs +23 -0
- package/esm2020/stepper/stepper-button.mjs +76 -0
- package/esm2020/stepper/stepper-module.mjs +40 -0
- package/esm2020/stepper/stepper.mjs +471 -0
- package/esm2020/stepper/stepper_public_index.mjs +5 -0
- package/esm2020/table/can-stick.mjs +44 -0
- package/esm2020/table/cell.mjs +222 -0
- package/esm2020/table/coalesced-style-scheduler.mjs +91 -0
- package/esm2020/table/index.mjs +9 -0
- package/{esm2015/table/public-api.js → esm2020/table/public-api.mjs} +0 -0
- package/esm2020/table/row.mjs +254 -0
- package/esm2020/table/sticky-position-listener.mjs +11 -0
- package/esm2020/table/sticky-styler.mjs +345 -0
- package/{esm2015/table/table-errors.js → esm2020/table/table-errors.mjs} +1 -1
- package/esm2020/table/table-module.mjs +94 -0
- package/esm2020/table/table.mjs +1023 -0
- package/esm2020/table/table_public_index.mjs +5 -0
- package/esm2020/table/text-column.mjs +153 -0
- package/{esm2015/table/tokens.js → esm2020/table/tokens.mjs} +1 -1
- package/esm2020/testing/change-detection.mjs +102 -0
- package/esm2020/testing/component-harness.mjs +322 -0
- package/{esm2015/testing/element-dimensions.js → esm2020/testing/element-dimensions.mjs} +1 -1
- package/esm2020/testing/harness-environment.mjs +202 -0
- package/{esm2015/testing/index.js → esm2020/testing/index.mjs} +0 -0
- package/{esm2015/testing/protractor/index.js → esm2020/testing/protractor/index.mjs} +0 -0
- package/esm2020/testing/protractor/protractor-element.mjs +234 -0
- package/esm2020/testing/protractor/protractor-harness-environment.mjs +72 -0
- package/{esm2015/testing/protractor/public-api.js → esm2020/testing/protractor/public-api.mjs} +0 -0
- package/{esm2015/testing/public-api.js → esm2020/testing/public-api.mjs} +0 -0
- package/{esm2015/testing/selenium-webdriver/index.js → esm2020/testing/selenium-webdriver/index.mjs} +0 -0
- package/{esm2015/testing/selenium-webdriver/public-api.js → esm2020/testing/selenium-webdriver/public-api.mjs} +0 -0
- package/esm2020/testing/selenium-webdriver/selenium-web-driver-element.mjs +199 -0
- package/esm2020/testing/selenium-webdriver/selenium-web-driver-harness-environment.mjs +87 -0
- package/{esm2015/testing/selenium-webdriver/selenium-webdriver-keys.js → esm2020/testing/selenium-webdriver/selenium-webdriver-keys.mjs} +2 -2
- package/esm2020/testing/test-element.mjs +48 -0
- package/esm2020/testing/testbed/fake-events/dispatch-events.mjs +53 -0
- package/esm2020/testing/testbed/fake-events/element-focus.mjs +39 -0
- package/esm2020/testing/testbed/fake-events/event-objects.mjs +113 -0
- package/{esm2015/testing/testbed/fake-events/index.js → esm2020/testing/testbed/fake-events/index.mjs} +0 -0
- package/esm2020/testing/testbed/fake-events/type-in-element.mjs +88 -0
- package/{esm2015/testing/testbed/index.js → esm2020/testing/testbed/index.mjs} +0 -0
- package/{esm2015/testing/testbed/public-api.js → esm2020/testing/testbed/public-api.mjs} +0 -0
- package/esm2020/testing/testbed/task-state-zone-interceptor.mjs +82 -0
- package/esm2020/testing/testbed/testbed-harness-environment.mjs +162 -0
- package/esm2020/testing/testbed/unit-test-element.mjs +224 -0
- package/esm2020/testing/text-filtering.mjs +21 -0
- package/esm2020/text-field/autofill.mjs +113 -0
- package/esm2020/text-field/autosize.mjs +310 -0
- package/esm2020/text-field/index.mjs +9 -0
- package/{esm2015/text-field/public-api.js → esm2020/text-field/public-api.mjs} +0 -0
- package/esm2020/text-field/text-field-module.mjs +26 -0
- package/esm2020/text-field/text-field_public_index.mjs +5 -0
- package/{esm2015/tree/control/base-tree-control.js → esm2020/tree/control/base-tree-control.mjs} +4 -4
- package/{esm2015/tree/control/flat-tree-control.js → esm2020/tree/control/flat-tree-control.mjs} +1 -1
- package/esm2020/tree/control/nested-tree-control.mjs +58 -0
- package/{esm2015/tree/control/tree-control.js → esm2020/tree/control/tree-control.mjs} +0 -0
- package/esm2020/tree/index.mjs +9 -0
- package/esm2020/tree/nested-node.mjs +117 -0
- package/esm2020/tree/node.mjs +35 -0
- package/esm2020/tree/outlet.mjs +39 -0
- package/esm2020/tree/padding.mjs +131 -0
- package/{esm2015/tree/public-api.js → esm2020/tree/public-api.mjs} +0 -0
- package/esm2020/tree/toggle.mjs +53 -0
- package/{esm2015/tree/tree-errors.js → esm2020/tree/tree-errors.mjs} +0 -0
- package/esm2020/tree/tree-module.mjs +49 -0
- package/esm2020/tree/tree.mjs +361 -0
- package/esm2020/tree/tree_public_index.mjs +5 -0
- package/{esm2015/version.js → esm2020/version.mjs} +1 -1
- package/fesm2015/{a11y.js → a11y.mjs} +289 -254
- package/fesm2015/a11y.mjs.map +1 -0
- package/fesm2015/accordion.mjs +275 -0
- package/fesm2015/accordion.mjs.map +1 -0
- package/fesm2015/bidi.mjs +187 -0
- package/fesm2015/bidi.mjs.map +1 -0
- package/fesm2015/{cdk.js → cdk.mjs} +2 -2
- package/fesm2015/cdk.mjs.map +1 -0
- package/fesm2015/clipboard.mjs +261 -0
- package/fesm2015/clipboard.mjs.map +1 -0
- package/fesm2015/{coercion.js → coercion.mjs} +1 -1
- package/fesm2015/coercion.mjs.map +1 -0
- package/fesm2015/{collections.js → collections.mjs} +20 -24
- package/fesm2015/collections.mjs.map +1 -0
- package/fesm2015/drag-drop.mjs +3675 -0
- package/fesm2015/drag-drop.mjs.map +1 -0
- package/fesm2015/{keycodes.js → keycodes.mjs} +9 -1
- package/fesm2015/keycodes.mjs.map +1 -0
- package/fesm2015/{layout.js → layout.mjs} +38 -28
- package/fesm2015/layout.mjs.map +1 -0
- package/fesm2015/{observers.js → observers.mjs} +58 -41
- package/fesm2015/observers.mjs.map +1 -0
- package/fesm2015/overlay.mjs +3012 -0
- package/fesm2015/overlay.mjs.map +1 -0
- package/fesm2015/platform.mjs +388 -0
- package/fesm2015/platform.mjs.map +1 -0
- package/fesm2015/portal.mjs +657 -0
- package/fesm2015/portal.mjs.map +1 -0
- package/fesm2015/scrolling.mjs +1402 -0
- package/fesm2015/scrolling.mjs.map +1 -0
- package/fesm2015/{stepper.js → stepper.mjs} +194 -133
- package/fesm2015/stepper.mjs.map +1 -0
- package/fesm2015/{table.js → table.mjs} +508 -359
- package/fesm2015/table.mjs.map +1 -0
- package/fesm2015/testing/{protractor.js → protractor.mjs} +12 -25
- package/fesm2015/testing/protractor.mjs.map +1 -0
- package/fesm2015/testing/{selenium-webdriver.js → selenium-webdriver.mjs} +14 -28
- package/fesm2015/testing/selenium-webdriver.mjs.map +1 -0
- package/fesm2015/testing/{testbed.js → testbed.mjs} +23 -29
- package/fesm2015/testing/testbed.mjs.map +1 -0
- package/fesm2015/{testing.js → testing.mjs} +19 -45
- package/fesm2015/testing.mjs.map +1 -0
- package/fesm2015/text-field.mjs +463 -0
- package/fesm2015/text-field.mjs.map +1 -0
- package/fesm2015/{tree.js → tree.mjs} +206 -152
- package/fesm2015/tree.mjs.map +1 -0
- package/fesm2020/a11y.mjs +2376 -0
- package/fesm2020/a11y.mjs.map +1 -0
- package/{fesm2015/accordion.js → fesm2020/accordion.mjs} +95 -57
- package/fesm2020/accordion.mjs.map +1 -0
- package/{fesm2015/bidi.js → fesm2020/bidi.mjs} +55 -31
- package/fesm2020/bidi.mjs.map +1 -0
- package/fesm2020/cdk.mjs +30 -0
- package/fesm2020/cdk.mjs.map +1 -0
- package/{fesm2015/clipboard.js → fesm2020/clipboard.mjs} +59 -40
- package/fesm2020/clipboard.mjs.map +1 -0
- package/fesm2020/coercion.mjs +132 -0
- package/fesm2020/coercion.mjs.map +1 -0
- package/fesm2020/collections.mjs +480 -0
- package/fesm2020/collections.mjs.map +1 -0
- package/{fesm2015/drag-drop.js → fesm2020/drag-drop.mjs} +528 -369
- package/fesm2020/drag-drop.mjs.map +1 -0
- package/fesm2020/keycodes.mjs +167 -0
- package/fesm2020/keycodes.mjs.map +1 -0
- package/fesm2020/layout.mjs +254 -0
- package/fesm2020/layout.mjs.map +1 -0
- package/fesm2020/observers.mjs +210 -0
- package/fesm2020/observers.mjs.map +1 -0
- package/{fesm2015/overlay.js → fesm2020/overlay.mjs} +320 -228
- package/fesm2020/overlay.mjs.map +1 -0
- package/{fesm2015/platform.js → fesm2020/platform.mjs} +60 -28
- package/fesm2020/platform.mjs.map +1 -0
- package/{fesm2015/portal.js → fesm2020/portal.mjs} +93 -64
- package/fesm2020/portal.mjs.map +1 -0
- package/{fesm2015/scrolling.js → fesm2020/scrolling.mjs} +221 -170
- package/fesm2020/scrolling.mjs.map +1 -0
- package/fesm2020/stepper.mjs +646 -0
- package/fesm2020/stepper.mjs.map +1 -0
- package/fesm2020/table.mjs +2303 -0
- package/fesm2020/table.mjs.map +1 -0
- package/fesm2020/testing/protractor.mjs +322 -0
- package/fesm2020/testing/protractor.mjs.map +1 -0
- package/fesm2020/testing/selenium-webdriver.mjs +362 -0
- package/fesm2020/testing/selenium-webdriver.mjs.map +1 -0
- package/fesm2020/testing/testbed.mjs +780 -0
- package/fesm2020/testing/testbed.mjs.map +1 -0
- package/fesm2020/testing.mjs +719 -0
- package/fesm2020/testing.mjs.map +1 -0
- package/{fesm2015/text-field.js → fesm2020/text-field.mjs} +91 -68
- package/fesm2020/text-field.mjs.map +1 -0
- package/fesm2020/tree.mjs +975 -0
- package/fesm2020/tree.mjs.map +1 -0
- package/keycodes/index.d.ts +5 -1
- package/keycodes/keycodes_public_index.d.ts +4 -0
- package/keycodes/package.json +6 -6
- package/layout/breakpoints-observer.d.ts +3 -7
- package/layout/index.d.ts +5 -1
- package/layout/layout-module.d.ts +4 -0
- package/layout/layout_public_index.d.ts +4 -0
- package/layout/media-matcher.d.ts +3 -0
- package/layout/package.json +6 -6
- package/observers/index.d.ts +5 -1
- package/observers/observe-content.d.ts +10 -0
- package/observers/observers_public_index.d.ts +4 -0
- package/observers/package.json +6 -6
- package/overlay/dispatchers/base-overlay-dispatcher.d.ts +3 -7
- package/overlay/dispatchers/overlay-keyboard-dispatcher.d.ts +3 -7
- package/overlay/dispatchers/overlay-outside-click-dispatcher.d.ts +6 -7
- package/overlay/fullscreen-overlay-container.d.ts +3 -0
- package/overlay/index.d.ts +5 -3
- package/overlay/overlay-container.d.ts +3 -7
- package/overlay/overlay-directives.d.ts +5 -0
- package/overlay/overlay-module.d.ts +8 -7
- package/overlay/overlay.d.ts +3 -0
- package/overlay/overlay_public_index.d.ts +4 -0
- package/overlay/package.json +6 -6
- package/overlay/position/flexible-connected-position-strategy.d.ts +2 -2
- package/overlay/position/overlay-position-builder.d.ts +3 -0
- package/overlay/position/scroll-clip.d.ts +5 -2
- package/overlay/scroll/index.d.ts +1 -1
- package/overlay/scroll/scroll-strategy-options.d.ts +3 -0
- package/package.json +219 -7
- package/platform/index.d.ts +5 -1
- package/platform/package.json +6 -6
- package/platform/platform-module.d.ts +4 -7
- package/platform/platform.d.ts +3 -7
- package/platform/platform_public_index.d.ts +4 -0
- package/portal/index.d.ts +5 -1
- package/portal/package.json +6 -6
- package/portal/portal-directives.d.ts +12 -0
- package/portal/portal_public_index.d.ts +4 -0
- package/schematics/ng-add/index.js +3 -3
- package/schematics/ng-add/index.mjs +3 -3
- package/schematics/ng-add/package-config.js +4 -2
- package/schematics/ng-add/package-config.mjs +4 -2
- package/schematics/ng-add/schema.js +1 -1
- package/schematics/ng-add/schema.mjs +1 -1
- package/schematics/ng-generate/drag-drop/index.js +6 -6
- package/schematics/ng-generate/drag-drop/index.mjs +6 -6
- package/schematics/ng-update/data/attribute-selectors.js +7 -5
- package/schematics/ng-update/data/attribute-selectors.mjs +7 -5
- package/schematics/ng-update/data/class-names.js +13 -11
- package/schematics/ng-update/data/class-names.mjs +13 -11
- package/schematics/ng-update/data/constructor-checks.js +28 -20
- package/schematics/ng-update/data/constructor-checks.mjs +28 -20
- package/schematics/ng-update/data/css-selectors.js +2 -2
- package/schematics/ng-update/data/css-selectors.mjs +2 -2
- package/schematics/ng-update/data/element-selectors.js +2 -2
- package/schematics/ng-update/data/element-selectors.mjs +2 -2
- package/schematics/ng-update/data/input-names.js +40 -16
- package/schematics/ng-update/data/input-names.mjs +40 -16
- package/schematics/ng-update/data/method-call-checks.js +32 -18
- package/schematics/ng-update/data/method-call-checks.mjs +32 -18
- package/schematics/ng-update/data/output-names.js +8 -6
- package/schematics/ng-update/data/output-names.mjs +8 -6
- package/schematics/ng-update/data/property-names.js +40 -32
- package/schematics/ng-update/data/property-names.mjs +40 -32
- package/schematics/ng-update/devkit-file-system.js +2 -2
- package/schematics/ng-update/devkit-file-system.mjs +2 -2
- package/schematics/ng-update/devkit-migration-rule.js +8 -7
- package/schematics/ng-update/devkit-migration-rule.mjs +8 -7
- package/schematics/ng-update/devkit-migration.d.ts +3 -2
- package/schematics/ng-update/devkit-migration.js +1 -1
- package/schematics/ng-update/devkit-migration.mjs +1 -1
- package/schematics/ng-update/find-stylesheets.js +3 -3
- package/schematics/ng-update/find-stylesheets.mjs +3 -3
- package/schematics/ng-update/html-parsing/angular.js +7 -7
- package/schematics/ng-update/html-parsing/angular.mjs +7 -7
- package/schematics/ng-update/html-parsing/elements.js +2 -2
- package/schematics/ng-update/html-parsing/elements.mjs +2 -2
- package/schematics/ng-update/index.js +11 -9
- package/schematics/ng-update/index.mjs +11 -9
- package/schematics/ng-update/migrations/attribute-selectors.js +11 -7
- package/schematics/ng-update/migrations/attribute-selectors.mjs +11 -7
- package/schematics/ng-update/migrations/class-inheritance.js +3 -3
- package/schematics/ng-update/migrations/class-inheritance.mjs +3 -3
- package/schematics/ng-update/migrations/class-names.js +7 -6
- package/schematics/ng-update/migrations/class-names.mjs +7 -6
- package/schematics/ng-update/migrations/constructor-signature.js +16 -13
- package/schematics/ng-update/migrations/constructor-signature.mjs +16 -13
- package/schematics/ng-update/migrations/css-selectors.js +7 -6
- package/schematics/ng-update/migrations/css-selectors.mjs +7 -6
- package/schematics/ng-update/migrations/element-selectors.js +7 -6
- package/schematics/ng-update/migrations/element-selectors.mjs +7 -6
- package/schematics/ng-update/migrations/input-names.js +8 -9
- package/schematics/ng-update/migrations/input-names.mjs +8 -9
- package/schematics/ng-update/migrations/method-call-arguments.js +4 -3
- package/schematics/ng-update/migrations/method-call-arguments.mjs +4 -3
- package/schematics/ng-update/migrations/misc-template.js +3 -3
- package/schematics/ng-update/migrations/misc-template.mjs +3 -3
- package/schematics/ng-update/migrations/output-names.js +7 -8
- package/schematics/ng-update/migrations/output-names.mjs +7 -8
- package/schematics/ng-update/migrations/property-names.js +4 -3
- package/schematics/ng-update/migrations/property-names.mjs +4 -3
- package/schematics/ng-update/migrations/symbol-removal.js +2 -2
- package/schematics/ng-update/migrations/symbol-removal.mjs +2 -2
- package/schematics/ng-update/migrations/tilde-import-v13/tilde-import-migration.d.ts +14 -0
- package/schematics/ng-update/migrations/tilde-import-v13/tilde-import-migration.js +38 -0
- package/schematics/ng-update/migrations/tilde-import-v13/tilde-import-migration.mjs +38 -0
- package/schematics/ng-update/typescript/base-types.js +1 -1
- package/schematics/ng-update/typescript/base-types.mjs +1 -1
- package/schematics/ng-update/typescript/literal.d.ts +1 -1
- package/schematics/ng-update/typescript/literal.js +1 -1
- package/schematics/ng-update/typescript/literal.mjs +1 -1
- package/schematics/ng-update/typescript/module-specifiers.js +5 -5
- package/schematics/ng-update/typescript/module-specifiers.mjs +5 -5
- package/schematics/ng-update/upgrade-data.js +2 -2
- package/schematics/ng-update/upgrade-data.mjs +2 -2
- package/schematics/package.json +3 -0
- package/schematics/paths.js +3 -3
- package/schematics/paths.mjs +3 -3
- package/schematics/update-tool/component-resource-collector.js +10 -10
- package/schematics/update-tool/component-resource-collector.mjs +10 -10
- package/schematics/update-tool/file-system.js +1 -1
- package/schematics/update-tool/file-system.mjs +1 -1
- package/schematics/update-tool/index.d.ts +4 -1
- package/schematics/update-tool/index.js +9 -5
- package/schematics/update-tool/index.mjs +9 -5
- package/schematics/update-tool/migration.d.ts +1 -1
- package/schematics/update-tool/migration.js +1 -1
- package/schematics/update-tool/migration.mjs +1 -1
- package/schematics/update-tool/target-version.js +1 -1
- package/schematics/update-tool/target-version.mjs +1 -1
- package/schematics/update-tool/utils/decorators.js +8 -4
- package/schematics/update-tool/utils/decorators.mjs +8 -4
- package/schematics/update-tool/utils/functions.js +1 -1
- package/schematics/update-tool/utils/functions.mjs +1 -1
- package/schematics/update-tool/utils/imports.js +2 -2
- package/schematics/update-tool/utils/imports.mjs +2 -2
- package/schematics/update-tool/utils/line-mappings.js +1 -1
- package/schematics/update-tool/utils/line-mappings.mjs +1 -1
- package/schematics/update-tool/utils/parse-tsconfig.js +2 -2
- package/schematics/update-tool/utils/parse-tsconfig.mjs +2 -2
- package/schematics/update-tool/utils/property-name.js +1 -1
- package/schematics/update-tool/utils/property-name.mjs +1 -1
- package/schematics/update-tool/utils/virtual-host.d.ts +1 -1
- package/schematics/update-tool/utils/virtual-host.js +3 -3
- package/schematics/update-tool/utils/virtual-host.mjs +3 -3
- package/schematics/update-tool/version-changes.js +1 -1
- package/schematics/update-tool/version-changes.mjs +1 -1
- package/schematics/utils/ast/ng-module-imports.js +5 -3
- package/schematics/utils/ast/ng-module-imports.mjs +5 -3
- package/schematics/utils/ast.js +5 -5
- package/schematics/utils/ast.mjs +5 -5
- package/schematics/utils/build-component.js +32 -38
- package/schematics/utils/build-component.mjs +32 -38
- package/schematics/utils/get-project.js +1 -1
- package/schematics/utils/get-project.mjs +1 -1
- package/schematics/utils/html-manipulation.js +8 -7
- package/schematics/utils/html-manipulation.mjs +8 -7
- package/schematics/utils/parse5-element.js +9 -10
- package/schematics/utils/parse5-element.mjs +9 -10
- package/schematics/utils/project-index-file.js +2 -2
- package/schematics/utils/project-index-file.mjs +2 -2
- package/schematics/utils/project-main-file.js +2 -2
- package/schematics/utils/project-main-file.mjs +2 -2
- package/schematics/utils/project-style-file.js +7 -9
- package/schematics/utils/project-style-file.mjs +7 -9
- package/schematics/utils/project-targets.js +1 -1
- package/schematics/utils/project-targets.mjs +1 -1
- package/schematics/utils/project-tsconfig-paths.js +4 -4
- package/schematics/utils/project-tsconfig-paths.mjs +4 -4
- package/schematics/utils/schematic-options.js +7 -5
- package/schematics/utils/schematic-options.mjs +7 -5
- package/schematics/utils/vendored-ast-utils/index.js +17 -18
- package/schematics/utils/vendored-ast-utils/index.mjs +17 -18
- package/scrolling/fixed-size-virtual-scroll.d.ts +3 -0
- package/scrolling/index.d.ts +5 -1
- package/scrolling/package.json +6 -6
- package/scrolling/scroll-dispatcher.d.ts +3 -7
- package/scrolling/scrollable.d.ts +3 -0
- package/scrolling/scrolling-module.d.ts +13 -7
- package/scrolling/scrolling_public_index.d.ts +4 -0
- package/scrolling/viewport-ruler.d.ts +11 -1
- package/scrolling/virtual-for-of.d.ts +3 -0
- package/scrolling/virtual-scroll-viewport.d.ts +3 -0
- package/stepper/index.d.ts +5 -1
- package/stepper/package.json +6 -6
- package/stepper/step-header.d.ts +3 -0
- package/stepper/step-label.d.ts +3 -0
- package/stepper/stepper-button.d.ts +5 -7
- package/stepper/stepper-module.d.ts +9 -7
- package/stepper/stepper.d.ts +5 -7
- package/stepper/stepper_public_index.d.ts +4 -0
- package/table/cell.d.ts +15 -0
- package/table/coalesced-style-scheduler.d.ts +3 -0
- package/table/index.d.ts +5 -1
- package/table/package.json +6 -6
- package/table/row.d.ts +19 -0
- package/table/table-module.d.ts +9 -7
- package/table/table.d.ts +13 -0
- package/table/table_public_index.d.ts +4 -0
- package/table/text-column.d.ts +3 -0
- package/testing/package.json +5 -5
- package/testing/protractor/package.json +5 -5
- package/testing/selenium-webdriver/package.json +5 -5
- package/testing/testbed/package.json +5 -5
- package/testing/testbed/proxy-zone-types.d.ts +1 -1
- package/testing/testbed/zone-types.d.ts +1 -1
- package/text-field/autofill.d.ts +5 -0
- package/text-field/autosize.d.ts +3 -0
- package/text-field/index.d.ts +5 -1
- package/text-field/package.json +6 -6
- package/text-field/text-field-module.d.ts +7 -7
- package/text-field/text-field_public_index.d.ts +4 -0
- package/tree/control/base-tree-control.d.ts +1 -1
- package/tree/control/nested-tree-control.d.ts +2 -2
- package/tree/index.d.ts +5 -1
- package/tree/nested-node.d.ts +3 -0
- package/tree/node.d.ts +3 -0
- package/tree/outlet.d.ts +3 -0
- package/tree/package.json +6 -6
- package/tree/padding.d.ts +3 -0
- package/tree/toggle.d.ts +3 -0
- package/tree/tree-module.d.ts +10 -7
- package/tree/tree.d.ts +5 -0
- package/tree/tree_public_index.d.ts +4 -0
- package/a11y/index.metadata.json +0 -1
- package/accordion/index.metadata.json +0 -1
- package/bidi/index.metadata.json +0 -1
- package/bundles/cdk-a11y.umd.js +0 -2752
- package/bundles/cdk-a11y.umd.js.map +0 -1
- package/bundles/cdk-accordion.umd.js +0 -262
- package/bundles/cdk-accordion.umd.js.map +0 -1
- package/bundles/cdk-bidi.umd.js +0 -206
- package/bundles/cdk-bidi.umd.js.map +0 -1
- package/bundles/cdk-clipboard.umd.js +0 -278
- package/bundles/cdk-clipboard.umd.js.map +0 -1
- package/bundles/cdk-coercion.umd.js +0 -477
- package/bundles/cdk-coercion.umd.js.map +0 -1
- package/bundles/cdk-collections.umd.js +0 -846
- package/bundles/cdk-collections.umd.js.map +0 -1
- package/bundles/cdk-drag-drop.umd.js +0 -3921
- package/bundles/cdk-drag-drop.umd.js.map +0 -1
- package/bundles/cdk-keycodes.umd.js +0 -292
- package/bundles/cdk-keycodes.umd.js.map +0 -1
- package/bundles/cdk-layout.umd.js +0 -284
- package/bundles/cdk-layout.umd.js.map +0 -1
- package/bundles/cdk-observers.umd.js +0 -242
- package/bundles/cdk-observers.umd.js.map +0 -1
- package/bundles/cdk-overlay.umd.js +0 -3417
- package/bundles/cdk-overlay.umd.js.map +0 -1
- package/bundles/cdk-platform.umd.js +0 -397
- package/bundles/cdk-platform.umd.js.map +0 -1
- package/bundles/cdk-portal.umd.js +0 -1008
- package/bundles/cdk-portal.umd.js.map +0 -1
- package/bundles/cdk-scrolling.umd.js +0 -1787
- package/bundles/cdk-scrolling.umd.js.map +0 -1
- package/bundles/cdk-stepper.umd.js +0 -648
- package/bundles/cdk-stepper.umd.js.map +0 -1
- package/bundles/cdk-table.umd.js +0 -2730
- package/bundles/cdk-table.umd.js.map +0 -1
- package/bundles/cdk-testing-protractor.umd.js +0 -833
- package/bundles/cdk-testing-protractor.umd.js.map +0 -1
- package/bundles/cdk-testing-selenium-webdriver.umd.js +0 -1002
- package/bundles/cdk-testing-selenium-webdriver.umd.js.map +0 -1
- package/bundles/cdk-testing-testbed.umd.js +0 -1396
- package/bundles/cdk-testing-testbed.umd.js.map +0 -1
- package/bundles/cdk-testing.umd.js +0 -1285
- package/bundles/cdk-testing.umd.js.map +0 -1
- package/bundles/cdk-text-field.umd.js +0 -494
- package/bundles/cdk-text-field.umd.js.map +0 -1
- package/bundles/cdk-tree.umd.js +0 -1308
- package/bundles/cdk-tree.umd.js.map +0 -1
- package/bundles/cdk.umd.js +0 -38
- package/bundles/cdk.umd.js.map +0 -1
- package/clipboard/index.metadata.json +0 -1
- package/collections/index.metadata.json +0 -1
- package/drag-drop/index.metadata.json +0 -1
- package/esm2015/a11y/a11y-module.js +0 -30
- package/esm2015/a11y/a11y.externs.js +0 -6
- package/esm2015/a11y/aria-describer/aria-describer.js +0 -213
- package/esm2015/a11y/fake-event-detection.js +0 -28
- package/esm2015/a11y/focus-monitor/focus-monitor.js +0 -394
- package/esm2015/a11y/focus-trap/configurable-focus-trap-factory.js +0 -52
- package/esm2015/a11y/focus-trap/configurable-focus-trap.js +0 -49
- package/esm2015/a11y/focus-trap/event-listener-inert-strategy.js +0 -62
- package/esm2015/a11y/focus-trap/focus-trap-inert-strategy.js +0 -11
- package/esm2015/a11y/focus-trap/focus-trap-manager.js +0 -51
- package/esm2015/a11y/focus-trap/focus-trap.js +0 -391
- package/esm2015/a11y/high-contrast-mode/high-contrast-mode-detector.js +0 -92
- package/esm2015/a11y/index.js +0 -6
- package/esm2015/a11y/input-modality/input-modality-detector.js +0 -171
- package/esm2015/a11y/interactivity-checker/interactivity-checker.js +0 -237
- package/esm2015/a11y/key-manager/list-key-manager.js +0 -317
- package/esm2015/a11y/live-announcer/live-announcer-tokens.js +0 -19
- package/esm2015/a11y/live-announcer/live-announcer.js +0 -167
- package/esm2015/accordion/accordion-item.js +0 -146
- package/esm2015/accordion/accordion-module.js +0 -19
- package/esm2015/accordion/accordion.externs.js +0 -6
- package/esm2015/accordion/accordion.js +0 -63
- package/esm2015/accordion/index.js +0 -6
- package/esm2015/bidi/bidi-module.js +0 -18
- package/esm2015/bidi/bidi.externs.js +0 -6
- package/esm2015/bidi/dir.js +0 -58
- package/esm2015/bidi/directionality.js +0 -44
- package/esm2015/bidi/index.js +0 -6
- package/esm2015/cdk.externs.js +0 -0
- package/esm2015/clipboard/clipboard-module.js +0 -18
- package/esm2015/clipboard/clipboard.externs.js +0 -6
- package/esm2015/clipboard/clipboard.js +0 -52
- package/esm2015/clipboard/copy-to-clipboard.js +0 -90
- package/esm2015/clipboard/index.js +0 -5
- package/esm2015/clipboard/pending-copy.js +0 -68
- package/esm2015/coercion/coercion.externs.js +0 -0
- package/esm2015/collections/collection-viewer.js +0 -9
- package/esm2015/collections/collections.externs.js +0 -6
- package/esm2015/collections/dispose-view-repeater-strategy.js +0 -48
- package/esm2015/collections/index.js +0 -5
- package/esm2015/collections/recycle-view-repeater-strategy.js +0 -125
- package/esm2015/collections/tree-adapter.js +0 -9
- package/esm2015/collections/unique-selection-dispatcher.js +0 -53
- package/esm2015/collections/view-repeater.js +0 -14
- package/esm2015/drag-drop/client-rect.js +0 -60
- package/esm2015/drag-drop/clone-node.js +0 -65
- package/esm2015/drag-drop/directives/assertions.js +0 -19
- package/esm2015/drag-drop/directives/drag-handle.js +0 -57
- package/esm2015/drag-drop/directives/drag-placeholder.js +0 -36
- package/esm2015/drag-drop/directives/drag-preview.js +0 -42
- package/esm2015/drag-drop/directives/drag.js +0 -413
- package/esm2015/drag-drop/directives/drop-list-group.js +0 -47
- package/esm2015/drag-drop/directives/drop-list.js +0 -301
- package/esm2015/drag-drop/drag-drop-module.js +0 -43
- package/esm2015/drag-drop/drag-drop-registry.js +0 -231
- package/esm2015/drag-drop/drag-drop.externs.js +0 -6
- package/esm2015/drag-drop/drag-drop.js +0 -59
- package/esm2015/drag-drop/drag-events.js +0 -9
- package/esm2015/drag-drop/drag-ref.js +0 -1110
- package/esm2015/drag-drop/drag-styling.js +0 -69
- package/esm2015/drag-drop/drag-utils.js +0 -60
- package/esm2015/drag-drop/drop-list-ref.js +0 -813
- package/esm2015/drag-drop/index.js +0 -5
- package/esm2015/drag-drop/transition-duration.js +0 -36
- package/esm2015/keycodes/index.js +0 -5
- package/esm2015/keycodes/keycodes.externs.js +0 -6
- package/esm2015/layout/breakpoints-observer.js +0 -106
- package/esm2015/layout/index.js +0 -5
- package/esm2015/layout/layout-module.js +0 -14
- package/esm2015/layout/layout.externs.js +0 -6
- package/esm2015/layout/media-matcher.js +0 -85
- package/esm2015/observers/index.js +0 -5
- package/esm2015/observers/observe-content.js +0 -179
- package/esm2015/observers/observers.externs.js +0 -6
- package/esm2015/overlay/dispatchers/base-overlay-dispatcher.js +0 -51
- package/esm2015/overlay/dispatchers/overlay-keyboard-dispatcher.js +0 -62
- package/esm2015/overlay/dispatchers/overlay-outside-click-dispatcher.js +0 -97
- package/esm2015/overlay/fullscreen-overlay-container.js +0 -94
- package/esm2015/overlay/index.js +0 -7
- package/esm2015/overlay/overlay-config.js +0 -45
- package/esm2015/overlay/overlay-container.js +0 -85
- package/esm2015/overlay/overlay-directives.js +0 -352
- package/esm2015/overlay/overlay-module.js +0 -27
- package/esm2015/overlay/overlay-ref.js +0 -409
- package/esm2015/overlay/overlay.externs.js +0 -6
- package/esm2015/overlay/overlay.js +0 -119
- package/esm2015/overlay/position/connected-position.js +0 -94
- package/esm2015/overlay/position/flexible-connected-position-strategy.js +0 -960
- package/esm2015/overlay/position/global-position-strategy.js +0 -197
- package/esm2015/overlay/position/overlay-position-builder.js +0 -52
- package/esm2015/overlay/position/scroll-clip.js +0 -42
- package/esm2015/overlay/scroll/close-scroll-strategy.js +0 -61
- package/esm2015/overlay/scroll/scroll-strategy-options.js +0 -57
- package/esm2015/platform/features/passive-listeners.js +0 -36
- package/esm2015/platform/features/scrolling.js +0 -85
- package/esm2015/platform/features/test-environment.js +0 -16
- package/esm2015/platform/index.js +0 -5
- package/esm2015/platform/platform-module.js +0 -14
- package/esm2015/platform/platform.externs.js +0 -6
- package/esm2015/platform/platform.js +0 -77
- package/esm2015/portal/dom-portal-outlet.js +0 -136
- package/esm2015/portal/index.js +0 -5
- package/esm2015/portal/portal-directives.js +0 -221
- package/esm2015/portal/portal-injector.js +0 -28
- package/esm2015/portal/portal.externs.js +0 -6
- package/esm2015/portal/portal.js +0 -179
- package/esm2015/scrolling/fixed-size-virtual-scroll.js +0 -188
- package/esm2015/scrolling/index.js +0 -5
- package/esm2015/scrolling/scroll-dispatcher.js +0 -163
- package/esm2015/scrolling/scrollable.js +0 -173
- package/esm2015/scrolling/scrolling-module.js +0 -49
- package/esm2015/scrolling/scrolling.externs.js +0 -6
- package/esm2015/scrolling/viewport-ruler.js +0 -139
- package/esm2015/scrolling/virtual-for-of.js +0 -293
- package/esm2015/scrolling/virtual-scroll-strategy.js +0 -11
- package/esm2015/scrolling/virtual-scroll-viewport.js +0 -371
- package/esm2015/stepper/index.js +0 -5
- package/esm2015/stepper/step-header.js +0 -29
- package/esm2015/stepper/step-label.js +0 -22
- package/esm2015/stepper/stepper-button.js +0 -72
- package/esm2015/stepper/stepper-module.js +0 -37
- package/esm2015/stepper/stepper.externs.js +0 -6
- package/esm2015/stepper/stepper.js +0 -428
- package/esm2015/table/can-stick.js +0 -42
- package/esm2015/table/cell.js +0 -211
- package/esm2015/table/coalesced-style-scheduler.js +0 -89
- package/esm2015/table/index.js +0 -5
- package/esm2015/table/row.js +0 -244
- package/esm2015/table/sticky-position-listener.js +0 -11
- package/esm2015/table/sticky-styler.js +0 -336
- package/esm2015/table/table-module.js +0 -47
- package/esm2015/table/table.externs.js +0 -6
- package/esm2015/table/table.js +0 -987
- package/esm2015/table/text-column.js +0 -127
- package/esm2015/testing/change-detection.js +0 -110
- package/esm2015/testing/component-harness.js +0 -344
- package/esm2015/testing/harness-environment.js +0 -219
- package/esm2015/testing/protractor/protractor-element.js +0 -274
- package/esm2015/testing/protractor/protractor-harness-environment.js +0 -79
- package/esm2015/testing/protractor/protractor.externs.js +0 -0
- package/esm2015/testing/selenium-webdriver/selenium-web-driver-element.js +0 -241
- package/esm2015/testing/selenium-webdriver/selenium-web-driver-harness-environment.js +0 -97
- package/esm2015/testing/selenium-webdriver/selenium-webdriver.externs.js +0 -0
- package/esm2015/testing/test-element.js +0 -48
- package/esm2015/testing/testbed/fake-events/dispatch-events.js +0 -53
- package/esm2015/testing/testbed/fake-events/element-focus.js +0 -39
- package/esm2015/testing/testbed/fake-events/event-objects.js +0 -107
- package/esm2015/testing/testbed/fake-events/type-in-element.js +0 -79
- package/esm2015/testing/testbed/task-state-zone-interceptor.js +0 -82
- package/esm2015/testing/testbed/testbed-harness-environment.js +0 -173
- package/esm2015/testing/testbed/testbed.externs.js +0 -0
- package/esm2015/testing/testbed/unit-test-element.js +0 -266
- package/esm2015/testing/testing.externs.js +0 -0
- package/esm2015/testing/text-filtering.js +0 -23
- package/esm2015/text-field/autofill.js +0 -117
- package/esm2015/text-field/autosize.js +0 -293
- package/esm2015/text-field/index.js +0 -5
- package/esm2015/text-field/text-field-module.js +0 -21
- package/esm2015/text-field/text-field.externs.js +0 -6
- package/esm2015/tree/control/nested-tree-control.js +0 -59
- package/esm2015/tree/index.js +0 -5
- package/esm2015/tree/nested-node.js +0 -112
- package/esm2015/tree/node.js +0 -36
- package/esm2015/tree/outlet.js +0 -34
- package/esm2015/tree/padding.js +0 -119
- package/esm2015/tree/toggle.js +0 -46
- package/esm2015/tree/tree-module.js +0 -32
- package/esm2015/tree/tree.externs.js +0 -6
- package/esm2015/tree/tree.js +0 -345
- package/fesm2015/a11y.js.map +0 -1
- package/fesm2015/accordion.js.map +0 -1
- package/fesm2015/bidi.js.map +0 -1
- package/fesm2015/cdk.js.map +0 -1
- package/fesm2015/clipboard.js.map +0 -1
- package/fesm2015/coercion.js.map +0 -1
- package/fesm2015/collections.js.map +0 -1
- package/fesm2015/drag-drop.js.map +0 -1
- package/fesm2015/keycodes.js.map +0 -1
- package/fesm2015/layout.js.map +0 -1
- package/fesm2015/observers.js.map +0 -1
- package/fesm2015/overlay.js.map +0 -1
- package/fesm2015/platform.js.map +0 -1
- package/fesm2015/portal.js.map +0 -1
- package/fesm2015/scrolling.js.map +0 -1
- package/fesm2015/stepper.js.map +0 -1
- package/fesm2015/table.js.map +0 -1
- package/fesm2015/testing/protractor.js.map +0 -1
- package/fesm2015/testing/selenium-webdriver.js.map +0 -1
- package/fesm2015/testing/testbed.js.map +0 -1
- package/fesm2015/testing.js.map +0 -1
- package/fesm2015/text-field.js.map +0 -1
- package/fesm2015/tree.js.map +0 -1
- package/keycodes/index.metadata.json +0 -1
- package/layout/index.metadata.json +0 -1
- package/observers/index.metadata.json +0 -1
- package/overlay/index.metadata.json +0 -1
- package/platform/index.metadata.json +0 -1
- package/portal/index.metadata.json +0 -1
- package/scrolling/index.metadata.json +0 -1
- package/stepper/index.metadata.json +0 -1
- package/table/index.metadata.json +0 -1
- package/text-field/index.metadata.json +0 -1
- package/tree/index.metadata.json +0 -1
|
@@ -1,68 +0,0 @@
|
|
|
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
|
-
/**
|
|
9
|
-
* A pending copy-to-clipboard operation.
|
|
10
|
-
*
|
|
11
|
-
* The implementation of copying text to the clipboard modifies the DOM and
|
|
12
|
-
* forces a relayout. This relayout can take too long if the string is large,
|
|
13
|
-
* causing the execCommand('copy') to happen too long after the user clicked.
|
|
14
|
-
* This results in the browser refusing to copy. This object lets the
|
|
15
|
-
* relayout happen in a separate tick from copying by providing a copy function
|
|
16
|
-
* that can be called later.
|
|
17
|
-
*
|
|
18
|
-
* Destroy must be called when no longer in use, regardless of whether `copy` is
|
|
19
|
-
* called.
|
|
20
|
-
*/
|
|
21
|
-
export class PendingCopy {
|
|
22
|
-
constructor(text, _document) {
|
|
23
|
-
this._document = _document;
|
|
24
|
-
const textarea = this._textarea = this._document.createElement('textarea');
|
|
25
|
-
const styles = textarea.style;
|
|
26
|
-
// Hide the element for display and accessibility. Set a fixed position so the page layout
|
|
27
|
-
// isn't affected. We use `fixed` with `top: 0`, because focus is moved into the textarea
|
|
28
|
-
// for a split second and if it's off-screen, some browsers will attempt to scroll it into view.
|
|
29
|
-
styles.position = 'fixed';
|
|
30
|
-
styles.top = styles.opacity = '0';
|
|
31
|
-
styles.left = '-999em';
|
|
32
|
-
textarea.setAttribute('aria-hidden', 'true');
|
|
33
|
-
textarea.value = text;
|
|
34
|
-
this._document.body.appendChild(textarea);
|
|
35
|
-
}
|
|
36
|
-
/** Finishes copying the text. */
|
|
37
|
-
copy() {
|
|
38
|
-
const textarea = this._textarea;
|
|
39
|
-
let successful = false;
|
|
40
|
-
try { // Older browsers could throw if copy is not supported.
|
|
41
|
-
if (textarea) {
|
|
42
|
-
const currentFocus = this._document.activeElement;
|
|
43
|
-
textarea.select();
|
|
44
|
-
textarea.setSelectionRange(0, textarea.value.length);
|
|
45
|
-
successful = this._document.execCommand('copy');
|
|
46
|
-
if (currentFocus) {
|
|
47
|
-
currentFocus.focus();
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
catch (_a) {
|
|
52
|
-
// Discard error.
|
|
53
|
-
// Initial setting of {@code successful} will represent failure here.
|
|
54
|
-
}
|
|
55
|
-
return successful;
|
|
56
|
-
}
|
|
57
|
-
/** Cleans up DOM changes used to perform the copy operation. */
|
|
58
|
-
destroy() {
|
|
59
|
-
const textarea = this._textarea;
|
|
60
|
-
if (textarea) {
|
|
61
|
-
if (textarea.parentNode) {
|
|
62
|
-
textarea.parentNode.removeChild(textarea);
|
|
63
|
-
}
|
|
64
|
-
this._textarea = undefined;
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVuZGluZy1jb3B5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2Nkay9jbGlwYm9hcmQvcGVuZGluZy1jb3B5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUVIOzs7Ozs7Ozs7Ozs7R0FZRztBQUNILE1BQU0sT0FBTyxXQUFXO0lBR3RCLFlBQVksSUFBWSxFQUFtQixTQUFtQjtRQUFuQixjQUFTLEdBQVQsU0FBUyxDQUFVO1FBQzVELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDM0UsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQztRQUU5QiwwRkFBMEY7UUFDMUYseUZBQXlGO1FBQ3pGLGdHQUFnRztRQUNoRyxNQUFNLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQztRQUMxQixNQUFNLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQyxPQUFPLEdBQUcsR0FBRyxDQUFDO1FBQ2xDLE1BQU0sQ0FBQyxJQUFJLEdBQUcsUUFBUSxDQUFDO1FBQ3ZCLFFBQVEsQ0FBQyxZQUFZLENBQUMsYUFBYSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQzdDLFFBQVEsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQsaUNBQWlDO0lBQ2pDLElBQUk7UUFDRixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQ2hDLElBQUksVUFBVSxHQUFHLEtBQUssQ0FBQztRQUV2QixJQUFJLEVBQUcsdURBQXVEO1lBQzVELElBQUksUUFBUSxFQUFFO2dCQUNaLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBd0MsQ0FBQztnQkFFN0UsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUNsQixRQUFRLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQ3JELFVBQVUsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFFaEQsSUFBSSxZQUFZLEVBQUU7b0JBQ2hCLFlBQVksQ0FBQyxLQUFLLEVBQUUsQ0FBQztpQkFDdEI7YUFDRjtTQUNGO1FBQUMsV0FBTTtZQUNOLGlCQUFpQjtZQUNqQixxRUFBcUU7U0FDdEU7UUFFRCxPQUFPLFVBQVUsQ0FBQztJQUNwQixDQUFDO0lBRUQsZ0VBQWdFO0lBQ2hFLE9BQU87UUFDTCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBRWhDLElBQUksUUFBUSxFQUFFO1lBQ1osSUFBSSxRQUFRLENBQUMsVUFBVSxFQUFFO2dCQUN2QixRQUFRLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUMzQztZQUVELElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1NBQzVCO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbi8qKlxuICogQSBwZW5kaW5nIGNvcHktdG8tY2xpcGJvYXJkIG9wZXJhdGlvbi5cbiAqXG4gKiBUaGUgaW1wbGVtZW50YXRpb24gb2YgY29weWluZyB0ZXh0IHRvIHRoZSBjbGlwYm9hcmQgbW9kaWZpZXMgdGhlIERPTSBhbmRcbiAqIGZvcmNlcyBhIHJlbGF5b3V0LiBUaGlzIHJlbGF5b3V0IGNhbiB0YWtlIHRvbyBsb25nIGlmIHRoZSBzdHJpbmcgaXMgbGFyZ2UsXG4gKiBjYXVzaW5nIHRoZSBleGVjQ29tbWFuZCgnY29weScpIHRvIGhhcHBlbiB0b28gbG9uZyBhZnRlciB0aGUgdXNlciBjbGlja2VkLlxuICogVGhpcyByZXN1bHRzIGluIHRoZSBicm93c2VyIHJlZnVzaW5nIHRvIGNvcHkuIFRoaXMgb2JqZWN0IGxldHMgdGhlXG4gKiByZWxheW91dCBoYXBwZW4gaW4gYSBzZXBhcmF0ZSB0aWNrIGZyb20gY29weWluZyBieSBwcm92aWRpbmcgYSBjb3B5IGZ1bmN0aW9uXG4gKiB0aGF0IGNhbiBiZSBjYWxsZWQgbGF0ZXIuXG4gKlxuICogRGVzdHJveSBtdXN0IGJlIGNhbGxlZCB3aGVuIG5vIGxvbmdlciBpbiB1c2UsIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciBgY29weWAgaXNcbiAqIGNhbGxlZC5cbiAqL1xuZXhwb3J0IGNsYXNzIFBlbmRpbmdDb3B5IHtcbiAgcHJpdmF0ZSBfdGV4dGFyZWE6IEhUTUxUZXh0QXJlYUVsZW1lbnR8dW5kZWZpbmVkO1xuXG4gIGNvbnN0cnVjdG9yKHRleHQ6IHN0cmluZywgcHJpdmF0ZSByZWFkb25seSBfZG9jdW1lbnQ6IERvY3VtZW50KSB7XG4gICAgY29uc3QgdGV4dGFyZWEgPSB0aGlzLl90ZXh0YXJlYSA9IHRoaXMuX2RvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RleHRhcmVhJyk7XG4gICAgY29uc3Qgc3R5bGVzID0gdGV4dGFyZWEuc3R5bGU7XG5cbiAgICAvLyBIaWRlIHRoZSBlbGVtZW50IGZvciBkaXNwbGF5IGFuZCBhY2Nlc3NpYmlsaXR5LiBTZXQgYSBmaXhlZCBwb3NpdGlvbiBzbyB0aGUgcGFnZSBsYXlvdXRcbiAgICAvLyBpc24ndCBhZmZlY3RlZC4gV2UgdXNlIGBmaXhlZGAgd2l0aCBgdG9wOiAwYCwgYmVjYXVzZSBmb2N1cyBpcyBtb3ZlZCBpbnRvIHRoZSB0ZXh0YXJlYVxuICAgIC8vIGZvciBhIHNwbGl0IHNlY29uZCBhbmQgaWYgaXQncyBvZmYtc2NyZWVuLCBzb21lIGJyb3dzZXJzIHdpbGwgYXR0ZW1wdCB0byBzY3JvbGwgaXQgaW50byB2aWV3LlxuICAgIHN0eWxlcy5wb3NpdGlvbiA9ICdmaXhlZCc7XG4gICAgc3R5bGVzLnRvcCA9IHN0eWxlcy5vcGFjaXR5ID0gJzAnO1xuICAgIHN0eWxlcy5sZWZ0ID0gJy05OTllbSc7XG4gICAgdGV4dGFyZWEuc2V0QXR0cmlidXRlKCdhcmlhLWhpZGRlbicsICd0cnVlJyk7XG4gICAgdGV4dGFyZWEudmFsdWUgPSB0ZXh0O1xuICAgIHRoaXMuX2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodGV4dGFyZWEpO1xuICB9XG5cbiAgLyoqIEZpbmlzaGVzIGNvcHlpbmcgdGhlIHRleHQuICovXG4gIGNvcHkoKTogYm9vbGVhbiB7XG4gICAgY29uc3QgdGV4dGFyZWEgPSB0aGlzLl90ZXh0YXJlYTtcbiAgICBsZXQgc3VjY2Vzc2Z1bCA9IGZhbHNlO1xuXG4gICAgdHJ5IHsgIC8vIE9sZGVyIGJyb3dzZXJzIGNvdWxkIHRocm93IGlmIGNvcHkgaXMgbm90IHN1cHBvcnRlZC5cbiAgICAgIGlmICh0ZXh0YXJlYSkge1xuICAgICAgICBjb25zdCBjdXJyZW50Rm9jdXMgPSB0aGlzLl9kb2N1bWVudC5hY3RpdmVFbGVtZW50IGFzIEhUTUxPclNWR0VsZW1lbnQgfCBudWxsO1xuXG4gICAgICAgIHRleHRhcmVhLnNlbGVjdCgpO1xuICAgICAgICB0ZXh0YXJlYS5zZXRTZWxlY3Rpb25SYW5nZSgwLCB0ZXh0YXJlYS52YWx1ZS5sZW5ndGgpO1xuICAgICAgICBzdWNjZXNzZnVsID0gdGhpcy5fZG9jdW1lbnQuZXhlY0NvbW1hbmQoJ2NvcHknKTtcblxuICAgICAgICBpZiAoY3VycmVudEZvY3VzKSB7XG4gICAgICAgICAgY3VycmVudEZvY3VzLmZvY3VzKCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGNhdGNoIHtcbiAgICAgIC8vIERpc2NhcmQgZXJyb3IuXG4gICAgICAvLyBJbml0aWFsIHNldHRpbmcgb2Yge0Bjb2RlIHN1Y2Nlc3NmdWx9IHdpbGwgcmVwcmVzZW50IGZhaWx1cmUgaGVyZS5cbiAgICB9XG5cbiAgICByZXR1cm4gc3VjY2Vzc2Z1bDtcbiAgfVxuXG4gIC8qKiBDbGVhbnMgdXAgRE9NIGNoYW5nZXMgdXNlZCB0byBwZXJmb3JtIHRoZSBjb3B5IG9wZXJhdGlvbi4gKi9cbiAgZGVzdHJveSgpIHtcbiAgICBjb25zdCB0ZXh0YXJlYSA9IHRoaXMuX3RleHRhcmVhO1xuXG4gICAgaWYgKHRleHRhcmVhKSB7XG4gICAgICBpZiAodGV4dGFyZWEucGFyZW50Tm9kZSkge1xuICAgICAgICB0ZXh0YXJlYS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHRleHRhcmVhKTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5fdGV4dGFyZWEgPSB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
File without changes
|
|
@@ -1,9 +0,0 @@
|
|
|
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
|
-
export {};
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdGlvbi12aWV3ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY2RrL2NvbGxlY3Rpb25zL2NvbGxlY3Rpb24tdmlld2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuXG5cbi8qKiBSZXByZXNlbnRzIGEgcmFuZ2Ugb2YgbnVtYmVycyB3aXRoIGEgc3BlY2lmaWVkIHN0YXJ0IGFuZCBlbmQuICovXG5leHBvcnQgdHlwZSBMaXN0UmFuZ2UgPSB7c3RhcnQ6IG51bWJlciwgZW5kOiBudW1iZXJ9O1xuXG5cbi8qKlxuICogSW50ZXJmYWNlIGZvciBhbnkgY29tcG9uZW50IHRoYXQgcHJvdmlkZXMgYSB2aWV3IG9mIHNvbWUgZGF0YSBjb2xsZWN0aW9uIGFuZCB3YW50cyB0byBwcm92aWRlXG4gKiBpbmZvcm1hdGlvbiByZWdhcmRpbmcgdGhlIHZpZXcgYW5kIGFueSBjaGFuZ2VzIG1hZGUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29sbGVjdGlvblZpZXdlciB7XG4gIC8qKlxuICAgKiBBIHN0cmVhbSB0aGF0IGVtaXRzIHdoZW5ldmVyIHRoZSBgQ29sbGVjdGlvblZpZXdlcmAgc3RhcnRzIGxvb2tpbmcgYXQgYSBuZXcgcG9ydGlvbiBvZiB0aGVcbiAgICogZGF0YS4gVGhlIGBzdGFydGAgaW5kZXggaXMgaW5jbHVzaXZlLCB3aGlsZSB0aGUgYGVuZGAgaXMgZXhjbHVzaXZlLlxuICAgKi9cbiAgdmlld0NoYW5nZTogT2JzZXJ2YWJsZTxMaXN0UmFuZ2U+O1xufVxuIl19
|
|
@@ -1,48 +0,0 @@
|
|
|
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
|
-
/**
|
|
9
|
-
* A repeater that destroys views when they are removed from a
|
|
10
|
-
* {@link ViewContainerRef}. When new items are inserted into the container,
|
|
11
|
-
* the repeater will always construct a new embedded view for each item.
|
|
12
|
-
*
|
|
13
|
-
* @template T The type for the embedded view's $implicit property.
|
|
14
|
-
* @template R The type for the item in each IterableDiffer change record.
|
|
15
|
-
* @template C The type for the context passed to each embedded view.
|
|
16
|
-
*/
|
|
17
|
-
export class _DisposeViewRepeaterStrategy {
|
|
18
|
-
applyChanges(changes, viewContainerRef, itemContextFactory, itemValueResolver, itemViewChanged) {
|
|
19
|
-
changes.forEachOperation((record, adjustedPreviousIndex, currentIndex) => {
|
|
20
|
-
let view;
|
|
21
|
-
let operation;
|
|
22
|
-
if (record.previousIndex == null) {
|
|
23
|
-
const insertContext = itemContextFactory(record, adjustedPreviousIndex, currentIndex);
|
|
24
|
-
view = viewContainerRef.createEmbeddedView(insertContext.templateRef, insertContext.context, insertContext.index);
|
|
25
|
-
operation = 1 /* INSERTED */;
|
|
26
|
-
}
|
|
27
|
-
else if (currentIndex == null) {
|
|
28
|
-
viewContainerRef.remove(adjustedPreviousIndex);
|
|
29
|
-
operation = 3 /* REMOVED */;
|
|
30
|
-
}
|
|
31
|
-
else {
|
|
32
|
-
view = viewContainerRef.get(adjustedPreviousIndex);
|
|
33
|
-
viewContainerRef.move(view, currentIndex);
|
|
34
|
-
operation = 2 /* MOVED */;
|
|
35
|
-
}
|
|
36
|
-
if (itemViewChanged) {
|
|
37
|
-
itemViewChanged({
|
|
38
|
-
context: view === null || view === void 0 ? void 0 : view.context,
|
|
39
|
-
operation,
|
|
40
|
-
record,
|
|
41
|
-
});
|
|
42
|
-
}
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
|
-
detach() {
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzcG9zZS12aWV3LXJlcGVhdGVyLXN0cmF0ZWd5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2Nkay9jb2xsZWN0aW9ucy9kaXNwb3NlLXZpZXctcmVwZWF0ZXItc3RyYXRlZ3kudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBaUJIOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxPQUFPLDRCQUE0QjtJQUV2QyxZQUFZLENBQUMsT0FBMkIsRUFDM0IsZ0JBQWtDLEVBQ2xDLGtCQUE0RCxFQUM1RCxpQkFBdUQsRUFDdkQsZUFBZ0Q7UUFDM0QsT0FBTyxDQUFDLGdCQUFnQixDQUNwQixDQUFDLE1BQStCLEVBQy9CLHFCQUFvQyxFQUNwQyxZQUEyQixFQUFFLEVBQUU7WUFDOUIsSUFBSSxJQUFvQyxDQUFDO1lBQ3pDLElBQUksU0FBaUMsQ0FBQztZQUN0QyxJQUFJLE1BQU0sQ0FBQyxhQUFhLElBQUksSUFBSSxFQUFFO2dCQUNoQyxNQUFNLGFBQWEsR0FBRyxrQkFBa0IsQ0FBQyxNQUFNLEVBQUUscUJBQXFCLEVBQUUsWUFBWSxDQUFDLENBQUM7Z0JBQ3RGLElBQUksR0FBRyxnQkFBZ0IsQ0FBQyxrQkFBa0IsQ0FDdEMsYUFBYSxDQUFDLFdBQVcsRUFBRSxhQUFhLENBQUMsT0FBTyxFQUFFLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDM0UsU0FBUyxtQkFBa0MsQ0FBQzthQUM3QztpQkFBTSxJQUFJLFlBQVksSUFBSSxJQUFJLEVBQUU7Z0JBQy9CLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxxQkFBc0IsQ0FBQyxDQUFDO2dCQUNoRCxTQUFTLGtCQUFpQyxDQUFDO2FBQzVDO2lCQUFNO2dCQUNMLElBQUksR0FBRyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMscUJBQXNCLENBQXVCLENBQUM7Z0JBQzFFLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFLLEVBQUUsWUFBWSxDQUFDLENBQUM7Z0JBQzNDLFNBQVMsZ0JBQStCLENBQUM7YUFDMUM7WUFFRCxJQUFJLGVBQWUsRUFBRTtnQkFDbkIsZUFBZSxDQUFDO29CQUNkLE9BQU8sRUFBRSxJQUFJLGFBQUosSUFBSSx1QkFBSixJQUFJLENBQUUsT0FBTztvQkFDdEIsU0FBUztvQkFDVCxNQUFNO2lCQUNQLENBQUMsQ0FBQzthQUNKO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDVCxDQUFDO0lBRUQsTUFBTTtJQUNOLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQge1xuICBFbWJlZGRlZFZpZXdSZWYsXG4gIEl0ZXJhYmxlQ2hhbmdlUmVjb3JkLFxuICBJdGVyYWJsZUNoYW5nZXMsXG4gIFZpZXdDb250YWluZXJSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBfVmlld1JlcGVhdGVyLFxuICBfVmlld1JlcGVhdGVySXRlbUNoYW5nZWQsXG4gIF9WaWV3UmVwZWF0ZXJJdGVtQ29udGV4dCxcbiAgX1ZpZXdSZXBlYXRlckl0ZW1Db250ZXh0RmFjdG9yeSxcbiAgX1ZpZXdSZXBlYXRlckl0ZW1WYWx1ZVJlc29sdmVyLFxuICBfVmlld1JlcGVhdGVyT3BlcmF0aW9uXG59IGZyb20gJy4vdmlldy1yZXBlYXRlcic7XG5cbi8qKlxuICogQSByZXBlYXRlciB0aGF0IGRlc3Ryb3lzIHZpZXdzIHdoZW4gdGhleSBhcmUgcmVtb3ZlZCBmcm9tIGFcbiAqIHtAbGluayBWaWV3Q29udGFpbmVyUmVmfS4gV2hlbiBuZXcgaXRlbXMgYXJlIGluc2VydGVkIGludG8gdGhlIGNvbnRhaW5lcixcbiAqIHRoZSByZXBlYXRlciB3aWxsIGFsd2F5cyBjb25zdHJ1Y3QgYSBuZXcgZW1iZWRkZWQgdmlldyBmb3IgZWFjaCBpdGVtLlxuICpcbiAqIEB0ZW1wbGF0ZSBUIFRoZSB0eXBlIGZvciB0aGUgZW1iZWRkZWQgdmlldydzICRpbXBsaWNpdCBwcm9wZXJ0eS5cbiAqIEB0ZW1wbGF0ZSBSIFRoZSB0eXBlIGZvciB0aGUgaXRlbSBpbiBlYWNoIEl0ZXJhYmxlRGlmZmVyIGNoYW5nZSByZWNvcmQuXG4gKiBAdGVtcGxhdGUgQyBUaGUgdHlwZSBmb3IgdGhlIGNvbnRleHQgcGFzc2VkIHRvIGVhY2ggZW1iZWRkZWQgdmlldy5cbiAqL1xuZXhwb3J0IGNsYXNzIF9EaXNwb3NlVmlld1JlcGVhdGVyU3RyYXRlZ3k8VCwgUiwgQyBleHRlbmRzIF9WaWV3UmVwZWF0ZXJJdGVtQ29udGV4dDxUPj5cbiAgICBpbXBsZW1lbnRzIF9WaWV3UmVwZWF0ZXI8VCwgUiwgQz4ge1xuICBhcHBseUNoYW5nZXMoY2hhbmdlczogSXRlcmFibGVDaGFuZ2VzPFI+LFxuICAgICAgICAgICAgICAgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZixcbiAgICAgICAgICAgICAgIGl0ZW1Db250ZXh0RmFjdG9yeTogX1ZpZXdSZXBlYXRlckl0ZW1Db250ZXh0RmFjdG9yeTxULCBSLCBDPixcbiAgICAgICAgICAgICAgIGl0ZW1WYWx1ZVJlc29sdmVyOiBfVmlld1JlcGVhdGVySXRlbVZhbHVlUmVzb2x2ZXI8VCwgUj4sXG4gICAgICAgICAgICAgICBpdGVtVmlld0NoYW5nZWQ/OiBfVmlld1JlcGVhdGVySXRlbUNoYW5nZWQ8UiwgQz4pIHtcbiAgICBjaGFuZ2VzLmZvckVhY2hPcGVyYXRpb24oXG4gICAgICAgIChyZWNvcmQ6IEl0ZXJhYmxlQ2hhbmdlUmVjb3JkPFI+LFxuICAgICAgICAgYWRqdXN0ZWRQcmV2aW91c0luZGV4OiBudW1iZXIgfCBudWxsLFxuICAgICAgICAgY3VycmVudEluZGV4OiBudW1iZXIgfCBudWxsKSA9PiB7XG4gICAgICAgICAgbGV0IHZpZXc6IEVtYmVkZGVkVmlld1JlZjxDPiB8IHVuZGVmaW5lZDtcbiAgICAgICAgICBsZXQgb3BlcmF0aW9uOiBfVmlld1JlcGVhdGVyT3BlcmF0aW9uO1xuICAgICAgICAgIGlmIChyZWNvcmQucHJldmlvdXNJbmRleCA9PSBudWxsKSB7XG4gICAgICAgICAgICBjb25zdCBpbnNlcnRDb250ZXh0ID0gaXRlbUNvbnRleHRGYWN0b3J5KHJlY29yZCwgYWRqdXN0ZWRQcmV2aW91c0luZGV4LCBjdXJyZW50SW5kZXgpO1xuICAgICAgICAgICAgdmlldyA9IHZpZXdDb250YWluZXJSZWYuY3JlYXRlRW1iZWRkZWRWaWV3KFxuICAgICAgICAgICAgICAgIGluc2VydENvbnRleHQudGVtcGxhdGVSZWYsIGluc2VydENvbnRleHQuY29udGV4dCwgaW5zZXJ0Q29udGV4dC5pbmRleCk7XG4gICAgICAgICAgICBvcGVyYXRpb24gPSBfVmlld1JlcGVhdGVyT3BlcmF0aW9uLklOU0VSVEVEO1xuICAgICAgICAgIH0gZWxzZSBpZiAoY3VycmVudEluZGV4ID09IG51bGwpIHtcbiAgICAgICAgICAgIHZpZXdDb250YWluZXJSZWYucmVtb3ZlKGFkanVzdGVkUHJldmlvdXNJbmRleCEpO1xuICAgICAgICAgICAgb3BlcmF0aW9uID0gX1ZpZXdSZXBlYXRlck9wZXJhdGlvbi5SRU1PVkVEO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB2aWV3ID0gdmlld0NvbnRhaW5lclJlZi5nZXQoYWRqdXN0ZWRQcmV2aW91c0luZGV4ISkgYXMgRW1iZWRkZWRWaWV3UmVmPEM+O1xuICAgICAgICAgICAgdmlld0NvbnRhaW5lclJlZi5tb3ZlKHZpZXchLCBjdXJyZW50SW5kZXgpO1xuICAgICAgICAgICAgb3BlcmF0aW9uID0gX1ZpZXdSZXBlYXRlck9wZXJhdGlvbi5NT1ZFRDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoaXRlbVZpZXdDaGFuZ2VkKSB7XG4gICAgICAgICAgICBpdGVtVmlld0NoYW5nZWQoe1xuICAgICAgICAgICAgICBjb250ZXh0OiB2aWV3Py5jb250ZXh0LFxuICAgICAgICAgICAgICBvcGVyYXRpb24sXG4gICAgICAgICAgICAgIHJlY29yZCxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gIH1cblxuICBkZXRhY2goKSB7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './public-api';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY2RrL2NvbGxlY3Rpb25zL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG4iXX0=
|
|
@@ -1,125 +0,0 @@
|
|
|
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
|
-
/**
|
|
9
|
-
* A repeater that caches views when they are removed from a
|
|
10
|
-
* {@link ViewContainerRef}. When new items are inserted into the container,
|
|
11
|
-
* the repeater will reuse one of the cached views instead of creating a new
|
|
12
|
-
* embedded view. Recycling cached views reduces the quantity of expensive DOM
|
|
13
|
-
* inserts.
|
|
14
|
-
*
|
|
15
|
-
* @template T The type for the embedded view's $implicit property.
|
|
16
|
-
* @template R The type for the item in each IterableDiffer change record.
|
|
17
|
-
* @template C The type for the context passed to each embedded view.
|
|
18
|
-
*/
|
|
19
|
-
export class _RecycleViewRepeaterStrategy {
|
|
20
|
-
constructor() {
|
|
21
|
-
/**
|
|
22
|
-
* The size of the cache used to store unused views.
|
|
23
|
-
* Setting the cache size to `0` will disable caching. Defaults to 20 views.
|
|
24
|
-
*/
|
|
25
|
-
this.viewCacheSize = 20;
|
|
26
|
-
/**
|
|
27
|
-
* View cache that stores embedded view instances that have been previously stamped out,
|
|
28
|
-
* but don't are not currently rendered. The view repeater will reuse these views rather than
|
|
29
|
-
* creating brand new ones.
|
|
30
|
-
*
|
|
31
|
-
* TODO(michaeljamesparsons) Investigate whether using a linked list would improve performance.
|
|
32
|
-
*/
|
|
33
|
-
this._viewCache = [];
|
|
34
|
-
}
|
|
35
|
-
/** Apply changes to the DOM. */
|
|
36
|
-
applyChanges(changes, viewContainerRef, itemContextFactory, itemValueResolver, itemViewChanged) {
|
|
37
|
-
// Rearrange the views to put them in the right location.
|
|
38
|
-
changes.forEachOperation((record, adjustedPreviousIndex, currentIndex) => {
|
|
39
|
-
let view;
|
|
40
|
-
let operation;
|
|
41
|
-
if (record.previousIndex == null) { // Item added.
|
|
42
|
-
const viewArgsFactory = () => itemContextFactory(record, adjustedPreviousIndex, currentIndex);
|
|
43
|
-
view = this._insertView(viewArgsFactory, currentIndex, viewContainerRef, itemValueResolver(record));
|
|
44
|
-
operation = view ? 1 /* INSERTED */ : 0 /* REPLACED */;
|
|
45
|
-
}
|
|
46
|
-
else if (currentIndex == null) { // Item removed.
|
|
47
|
-
this._detachAndCacheView(adjustedPreviousIndex, viewContainerRef);
|
|
48
|
-
operation = 3 /* REMOVED */;
|
|
49
|
-
}
|
|
50
|
-
else { // Item moved.
|
|
51
|
-
view = this._moveView(adjustedPreviousIndex, currentIndex, viewContainerRef, itemValueResolver(record));
|
|
52
|
-
operation = 2 /* MOVED */;
|
|
53
|
-
}
|
|
54
|
-
if (itemViewChanged) {
|
|
55
|
-
itemViewChanged({
|
|
56
|
-
context: view === null || view === void 0 ? void 0 : view.context,
|
|
57
|
-
operation,
|
|
58
|
-
record,
|
|
59
|
-
});
|
|
60
|
-
}
|
|
61
|
-
});
|
|
62
|
-
}
|
|
63
|
-
detach() {
|
|
64
|
-
for (const view of this._viewCache) {
|
|
65
|
-
view.destroy();
|
|
66
|
-
}
|
|
67
|
-
this._viewCache = [];
|
|
68
|
-
}
|
|
69
|
-
/**
|
|
70
|
-
* Inserts a view for a new item, either from the cache or by creating a new
|
|
71
|
-
* one. Returns `undefined` if the item was inserted into a cached view.
|
|
72
|
-
*/
|
|
73
|
-
_insertView(viewArgsFactory, currentIndex, viewContainerRef, value) {
|
|
74
|
-
const cachedView = this._insertViewFromCache(currentIndex, viewContainerRef);
|
|
75
|
-
if (cachedView) {
|
|
76
|
-
cachedView.context.$implicit = value;
|
|
77
|
-
return undefined;
|
|
78
|
-
}
|
|
79
|
-
const viewArgs = viewArgsFactory();
|
|
80
|
-
return viewContainerRef.createEmbeddedView(viewArgs.templateRef, viewArgs.context, viewArgs.index);
|
|
81
|
-
}
|
|
82
|
-
/** Detaches the view at the given index and inserts into the view cache. */
|
|
83
|
-
_detachAndCacheView(index, viewContainerRef) {
|
|
84
|
-
const detachedView = viewContainerRef.detach(index);
|
|
85
|
-
this._maybeCacheView(detachedView, viewContainerRef);
|
|
86
|
-
}
|
|
87
|
-
/** Moves view at the previous index to the current index. */
|
|
88
|
-
_moveView(adjustedPreviousIndex, currentIndex, viewContainerRef, value) {
|
|
89
|
-
const view = viewContainerRef.get(adjustedPreviousIndex);
|
|
90
|
-
viewContainerRef.move(view, currentIndex);
|
|
91
|
-
view.context.$implicit = value;
|
|
92
|
-
return view;
|
|
93
|
-
}
|
|
94
|
-
/**
|
|
95
|
-
* Cache the given detached view. If the cache is full, the view will be
|
|
96
|
-
* destroyed.
|
|
97
|
-
*/
|
|
98
|
-
_maybeCacheView(view, viewContainerRef) {
|
|
99
|
-
if (this._viewCache.length < this.viewCacheSize) {
|
|
100
|
-
this._viewCache.push(view);
|
|
101
|
-
}
|
|
102
|
-
else {
|
|
103
|
-
const index = viewContainerRef.indexOf(view);
|
|
104
|
-
// The host component could remove views from the container outside of
|
|
105
|
-
// the view repeater. It's unlikely this will occur, but just in case,
|
|
106
|
-
// destroy the view on its own, otherwise destroy it through the
|
|
107
|
-
// container to ensure that all the references are removed.
|
|
108
|
-
if (index === -1) {
|
|
109
|
-
view.destroy();
|
|
110
|
-
}
|
|
111
|
-
else {
|
|
112
|
-
viewContainerRef.remove(index);
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
/** Inserts a recycled view from the cache at the given index. */
|
|
117
|
-
_insertViewFromCache(index, viewContainerRef) {
|
|
118
|
-
const cachedView = this._viewCache.pop();
|
|
119
|
-
if (cachedView) {
|
|
120
|
-
viewContainerRef.insert(cachedView, index);
|
|
121
|
-
}
|
|
122
|
-
return cachedView || null;
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjeWNsZS12aWV3LXJlcGVhdGVyLXN0cmF0ZWd5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2Nkay9jb2xsZWN0aW9ucy9yZWN5Y2xlLXZpZXctcmVwZWF0ZXItc3RyYXRlZ3kudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBbUJIOzs7Ozs7Ozs7O0dBVUc7QUFDSCxNQUFNLE9BQU8sNEJBQTRCO0lBQXpDO1FBRUU7OztXQUdHO1FBQ0gsa0JBQWEsR0FBVyxFQUFFLENBQUM7UUFFM0I7Ozs7OztXQU1HO1FBQ0ssZUFBVSxHQUF5QixFQUFFLENBQUM7SUE4R2hELENBQUM7SUE1R0MsZ0NBQWdDO0lBQ2hDLFlBQVksQ0FBQyxPQUEyQixFQUMzQixnQkFBa0MsRUFDbEMsa0JBQTRELEVBQzVELGlCQUF1RCxFQUN2RCxlQUFnRDtRQUMzRCx5REFBeUQ7UUFDekQsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUMsTUFBK0IsRUFDL0IscUJBQW9DLEVBQ3BDLFlBQTJCLEVBQUUsRUFBRTtZQUN2RCxJQUFJLElBQW9DLENBQUM7WUFDekMsSUFBSSxTQUFpQyxDQUFDO1lBQ3RDLElBQUksTUFBTSxDQUFDLGFBQWEsSUFBSSxJQUFJLEVBQUUsRUFBRyxjQUFjO2dCQUNqRCxNQUFNLGVBQWUsR0FBRyxHQUFHLEVBQUUsQ0FBQyxrQkFBa0IsQ0FDNUMsTUFBTSxFQUFFLHFCQUFxQixFQUFFLFlBQVksQ0FBQyxDQUFDO2dCQUNqRCxJQUFJLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxlQUFlLEVBQUUsWUFBYSxFQUFFLGdCQUFnQixFQUNwRSxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO2dCQUMvQixTQUFTLEdBQUcsSUFBSSxDQUFDLENBQUMsa0JBQWlDLENBQUMsaUJBQWdDLENBQUM7YUFDdEY7aUJBQU0sSUFBSSxZQUFZLElBQUksSUFBSSxFQUFFLEVBQUcsZ0JBQWdCO2dCQUNsRCxJQUFJLENBQUMsbUJBQW1CLENBQUMscUJBQXNCLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztnQkFDbkUsU0FBUyxrQkFBaUMsQ0FBQzthQUM1QztpQkFBTSxFQUFHLGNBQWM7Z0JBQ3RCLElBQUksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLHFCQUFzQixFQUFFLFlBQWEsRUFBRSxnQkFBZ0IsRUFDekUsaUJBQWlCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztnQkFDL0IsU0FBUyxnQkFBK0IsQ0FBQzthQUMxQztZQUVELElBQUksZUFBZSxFQUFFO2dCQUNuQixlQUFlLENBQUM7b0JBQ2QsT0FBTyxFQUFFLElBQUksYUFBSixJQUFJLHVCQUFKLElBQUksQ0FBRSxPQUFPO29CQUN0QixTQUFTO29CQUNULE1BQU07aUJBQ1AsQ0FBQyxDQUFDO2FBQ0o7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxNQUFNO1FBQ0osS0FBSyxNQUFNLElBQUksSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ2xDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztTQUNoQjtRQUNELElBQUksQ0FBQyxVQUFVLEdBQUcsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFRDs7O09BR0c7SUFDSyxXQUFXLENBQUMsZUFBcUQsRUFBRSxZQUFvQixFQUMzRSxnQkFBa0MsRUFDbEMsS0FBUTtRQUMxQixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsWUFBYSxFQUFFLGdCQUFnQixDQUFDLENBQUM7UUFDOUUsSUFBSSxVQUFVLEVBQUU7WUFDZCxVQUFVLENBQUMsT0FBTyxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7WUFDckMsT0FBTyxTQUFTLENBQUM7U0FDbEI7UUFFRCxNQUFNLFFBQVEsR0FBRyxlQUFlLEVBQUUsQ0FBQztRQUNuQyxPQUFPLGdCQUFnQixDQUFDLGtCQUFrQixDQUN0QyxRQUFRLENBQUMsV0FBVyxFQUFFLFFBQVEsQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFRCw0RUFBNEU7SUFDcEUsbUJBQW1CLENBQUMsS0FBYSxFQUFFLGdCQUFrQztRQUMzRSxNQUFNLFlBQVksR0FBRyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUF1QixDQUFDO1FBQzFFLElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxFQUFFLGdCQUFnQixDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVELDZEQUE2RDtJQUNyRCxTQUFTLENBQUMscUJBQTZCLEVBQUUsWUFBb0IsRUFDbkQsZ0JBQWtDLEVBQUUsS0FBUTtRQUM1RCxNQUFNLElBQUksR0FBRyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMscUJBQXNCLENBQXVCLENBQUM7UUFDaEYsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxZQUFZLENBQUMsQ0FBQztRQUMxQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDL0IsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ssZUFBZSxDQUFDLElBQXdCLEVBQUUsZ0JBQWtDO1FBQ2xGLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUMvQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUM1QjthQUFNO1lBQ0wsTUFBTSxLQUFLLEdBQUcsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBRTdDLHNFQUFzRTtZQUN0RSxzRUFBc0U7WUFDdEUsZ0VBQWdFO1lBQ2hFLDJEQUEyRDtZQUMzRCxJQUFJLEtBQUssS0FBSyxDQUFDLENBQUMsRUFBRTtnQkFDaEIsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO2FBQ2hCO2lCQUFNO2dCQUNMLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUNoQztTQUNGO0lBQ0gsQ0FBQztJQUVELGlFQUFpRTtJQUN6RCxvQkFBb0IsQ0FBQyxLQUFhLEVBQ2IsZ0JBQWtDO1FBQzdELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDekMsSUFBSSxVQUFVLEVBQUU7WUFDZCxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxDQUFDO1NBQzVDO1FBQ0QsT0FBTyxVQUFVLElBQUksSUFBSSxDQUFDO0lBQzVCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQge1xuICBFbWJlZGRlZFZpZXdSZWYsXG4gIEl0ZXJhYmxlQ2hhbmdlUmVjb3JkLFxuICBJdGVyYWJsZUNoYW5nZXMsXG4gIFZpZXdDb250YWluZXJSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBfVmlld1JlcGVhdGVyLFxuICBfVmlld1JlcGVhdGVySXRlbUNoYW5nZWQsXG4gIF9WaWV3UmVwZWF0ZXJJdGVtQ29udGV4dCxcbiAgX1ZpZXdSZXBlYXRlckl0ZW1Db250ZXh0RmFjdG9yeSxcbiAgX1ZpZXdSZXBlYXRlckl0ZW1JbnNlcnRBcmdzLFxuICBfVmlld1JlcGVhdGVySXRlbVZhbHVlUmVzb2x2ZXIsXG4gIF9WaWV3UmVwZWF0ZXJPcGVyYXRpb25cbn0gZnJvbSAnLi92aWV3LXJlcGVhdGVyJztcblxuXG4vKipcbiAqIEEgcmVwZWF0ZXIgdGhhdCBjYWNoZXMgdmlld3Mgd2hlbiB0aGV5IGFyZSByZW1vdmVkIGZyb20gYVxuICoge0BsaW5rIFZpZXdDb250YWluZXJSZWZ9LiBXaGVuIG5ldyBpdGVtcyBhcmUgaW5zZXJ0ZWQgaW50byB0aGUgY29udGFpbmVyLFxuICogdGhlIHJlcGVhdGVyIHdpbGwgcmV1c2Ugb25lIG9mIHRoZSBjYWNoZWQgdmlld3MgaW5zdGVhZCBvZiBjcmVhdGluZyBhIG5ld1xuICogZW1iZWRkZWQgdmlldy4gUmVjeWNsaW5nIGNhY2hlZCB2aWV3cyByZWR1Y2VzIHRoZSBxdWFudGl0eSBvZiBleHBlbnNpdmUgRE9NXG4gKiBpbnNlcnRzLlxuICpcbiAqIEB0ZW1wbGF0ZSBUIFRoZSB0eXBlIGZvciB0aGUgZW1iZWRkZWQgdmlldydzICRpbXBsaWNpdCBwcm9wZXJ0eS5cbiAqIEB0ZW1wbGF0ZSBSIFRoZSB0eXBlIGZvciB0aGUgaXRlbSBpbiBlYWNoIEl0ZXJhYmxlRGlmZmVyIGNoYW5nZSByZWNvcmQuXG4gKiBAdGVtcGxhdGUgQyBUaGUgdHlwZSBmb3IgdGhlIGNvbnRleHQgcGFzc2VkIHRvIGVhY2ggZW1iZWRkZWQgdmlldy5cbiAqL1xuZXhwb3J0IGNsYXNzIF9SZWN5Y2xlVmlld1JlcGVhdGVyU3RyYXRlZ3k8VCwgUiwgQyBleHRlbmRzIF9WaWV3UmVwZWF0ZXJJdGVtQ29udGV4dDxUPj5cbiAgICBpbXBsZW1lbnRzIF9WaWV3UmVwZWF0ZXI8VCwgUiwgQz4ge1xuICAvKipcbiAgICogVGhlIHNpemUgb2YgdGhlIGNhY2hlIHVzZWQgdG8gc3RvcmUgdW51c2VkIHZpZXdzLlxuICAgKiBTZXR0aW5nIHRoZSBjYWNoZSBzaXplIHRvIGAwYCB3aWxsIGRpc2FibGUgY2FjaGluZy4gRGVmYXVsdHMgdG8gMjAgdmlld3MuXG4gICAqL1xuICB2aWV3Q2FjaGVTaXplOiBudW1iZXIgPSAyMDtcblxuICAvKipcbiAgICogVmlldyBjYWNoZSB0aGF0IHN0b3JlcyBlbWJlZGRlZCB2aWV3IGluc3RhbmNlcyB0aGF0IGhhdmUgYmVlbiBwcmV2aW91c2x5IHN0YW1wZWQgb3V0LFxuICAgKiBidXQgZG9uJ3QgYXJlIG5vdCBjdXJyZW50bHkgcmVuZGVyZWQuIFRoZSB2aWV3IHJlcGVhdGVyIHdpbGwgcmV1c2UgdGhlc2Ugdmlld3MgcmF0aGVyIHRoYW5cbiAgICogY3JlYXRpbmcgYnJhbmQgbmV3IG9uZXMuXG4gICAqXG4gICAqIFRPRE8obWljaGFlbGphbWVzcGFyc29ucykgSW52ZXN0aWdhdGUgd2hldGhlciB1c2luZyBhIGxpbmtlZCBsaXN0IHdvdWxkIGltcHJvdmUgcGVyZm9ybWFuY2UuXG4gICAqL1xuICBwcml2YXRlIF92aWV3Q2FjaGU6IEVtYmVkZGVkVmlld1JlZjxDPltdID0gW107XG5cbiAgLyoqIEFwcGx5IGNoYW5nZXMgdG8gdGhlIERPTS4gKi9cbiAgYXBwbHlDaGFuZ2VzKGNoYW5nZXM6IEl0ZXJhYmxlQ2hhbmdlczxSPixcbiAgICAgICAgICAgICAgIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXG4gICAgICAgICAgICAgICBpdGVtQ29udGV4dEZhY3Rvcnk6IF9WaWV3UmVwZWF0ZXJJdGVtQ29udGV4dEZhY3Rvcnk8VCwgUiwgQz4sXG4gICAgICAgICAgICAgICBpdGVtVmFsdWVSZXNvbHZlcjogX1ZpZXdSZXBlYXRlckl0ZW1WYWx1ZVJlc29sdmVyPFQsIFI+LFxuICAgICAgICAgICAgICAgaXRlbVZpZXdDaGFuZ2VkPzogX1ZpZXdSZXBlYXRlckl0ZW1DaGFuZ2VkPFIsIEM+KSB7XG4gICAgLy8gUmVhcnJhbmdlIHRoZSB2aWV3cyB0byBwdXQgdGhlbSBpbiB0aGUgcmlnaHQgbG9jYXRpb24uXG4gICAgY2hhbmdlcy5mb3JFYWNoT3BlcmF0aW9uKChyZWNvcmQ6IEl0ZXJhYmxlQ2hhbmdlUmVjb3JkPFI+LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWRqdXN0ZWRQcmV2aW91c0luZGV4OiBudW1iZXIgfCBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudEluZGV4OiBudW1iZXIgfCBudWxsKSA9PiB7XG4gICAgICBsZXQgdmlldzogRW1iZWRkZWRWaWV3UmVmPEM+IHwgdW5kZWZpbmVkO1xuICAgICAgbGV0IG9wZXJhdGlvbjogX1ZpZXdSZXBlYXRlck9wZXJhdGlvbjtcbiAgICAgIGlmIChyZWNvcmQucHJldmlvdXNJbmRleCA9PSBudWxsKSB7ICAvLyBJdGVtIGFkZGVkLlxuICAgICAgICBjb25zdCB2aWV3QXJnc0ZhY3RvcnkgPSAoKSA9PiBpdGVtQ29udGV4dEZhY3RvcnkoXG4gICAgICAgICAgICByZWNvcmQsIGFkanVzdGVkUHJldmlvdXNJbmRleCwgY3VycmVudEluZGV4KTtcbiAgICAgICAgdmlldyA9IHRoaXMuX2luc2VydFZpZXcodmlld0FyZ3NGYWN0b3J5LCBjdXJyZW50SW5kZXghLCB2aWV3Q29udGFpbmVyUmVmLFxuICAgICAgICAgICAgaXRlbVZhbHVlUmVzb2x2ZXIocmVjb3JkKSk7XG4gICAgICAgIG9wZXJhdGlvbiA9IHZpZXcgPyBfVmlld1JlcGVhdGVyT3BlcmF0aW9uLklOU0VSVEVEIDogX1ZpZXdSZXBlYXRlck9wZXJhdGlvbi5SRVBMQUNFRDtcbiAgICAgIH0gZWxzZSBpZiAoY3VycmVudEluZGV4ID09IG51bGwpIHsgIC8vIEl0ZW0gcmVtb3ZlZC5cbiAgICAgICAgdGhpcy5fZGV0YWNoQW5kQ2FjaGVWaWV3KGFkanVzdGVkUHJldmlvdXNJbmRleCEsIHZpZXdDb250YWluZXJSZWYpO1xuICAgICAgICBvcGVyYXRpb24gPSBfVmlld1JlcGVhdGVyT3BlcmF0aW9uLlJFTU9WRUQ7XG4gICAgICB9IGVsc2UgeyAgLy8gSXRlbSBtb3ZlZC5cbiAgICAgICAgdmlldyA9IHRoaXMuX21vdmVWaWV3KGFkanVzdGVkUHJldmlvdXNJbmRleCEsIGN1cnJlbnRJbmRleCEsIHZpZXdDb250YWluZXJSZWYsXG4gICAgICAgICAgICBpdGVtVmFsdWVSZXNvbHZlcihyZWNvcmQpKTtcbiAgICAgICAgb3BlcmF0aW9uID0gX1ZpZXdSZXBlYXRlck9wZXJhdGlvbi5NT1ZFRDtcbiAgICAgIH1cblxuICAgICAgaWYgKGl0ZW1WaWV3Q2hhbmdlZCkge1xuICAgICAgICBpdGVtVmlld0NoYW5nZWQoe1xuICAgICAgICAgIGNvbnRleHQ6IHZpZXc/LmNvbnRleHQsXG4gICAgICAgICAgb3BlcmF0aW9uLFxuICAgICAgICAgIHJlY29yZCxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBkZXRhY2goKSB7XG4gICAgZm9yIChjb25zdCB2aWV3IG9mIHRoaXMuX3ZpZXdDYWNoZSkge1xuICAgICAgdmlldy5kZXN0cm95KCk7XG4gICAgfVxuICAgIHRoaXMuX3ZpZXdDYWNoZSA9IFtdO1xuICB9XG5cbiAgLyoqXG4gICAqIEluc2VydHMgYSB2aWV3IGZvciBhIG5ldyBpdGVtLCBlaXRoZXIgZnJvbSB0aGUgY2FjaGUgb3IgYnkgY3JlYXRpbmcgYSBuZXdcbiAgICogb25lLiBSZXR1cm5zIGB1bmRlZmluZWRgIGlmIHRoZSBpdGVtIHdhcyBpbnNlcnRlZCBpbnRvIGEgY2FjaGVkIHZpZXcuXG4gICAqL1xuICBwcml2YXRlIF9pbnNlcnRWaWV3KHZpZXdBcmdzRmFjdG9yeTogKCkgPT4gX1ZpZXdSZXBlYXRlckl0ZW1JbnNlcnRBcmdzPEM+LCBjdXJyZW50SW5kZXg6IG51bWJlcixcbiAgICAgICAgICAgICAgICAgICAgICB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBUKTogRW1iZWRkZWRWaWV3UmVmPEM+IHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBjYWNoZWRWaWV3ID0gdGhpcy5faW5zZXJ0Vmlld0Zyb21DYWNoZShjdXJyZW50SW5kZXghLCB2aWV3Q29udGFpbmVyUmVmKTtcbiAgICBpZiAoY2FjaGVkVmlldykge1xuICAgICAgY2FjaGVkVmlldy5jb250ZXh0LiRpbXBsaWNpdCA9IHZhbHVlO1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBjb25zdCB2aWV3QXJncyA9IHZpZXdBcmdzRmFjdG9yeSgpO1xuICAgIHJldHVybiB2aWV3Q29udGFpbmVyUmVmLmNyZWF0ZUVtYmVkZGVkVmlldyhcbiAgICAgICAgdmlld0FyZ3MudGVtcGxhdGVSZWYsIHZpZXdBcmdzLmNvbnRleHQsIHZpZXdBcmdzLmluZGV4KTtcbiAgfVxuXG4gIC8qKiBEZXRhY2hlcyB0aGUgdmlldyBhdCB0aGUgZ2l2ZW4gaW5kZXggYW5kIGluc2VydHMgaW50byB0aGUgdmlldyBjYWNoZS4gKi9cbiAgcHJpdmF0ZSBfZGV0YWNoQW5kQ2FjaGVWaWV3KGluZGV4OiBudW1iZXIsIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYpIHtcbiAgICBjb25zdCBkZXRhY2hlZFZpZXcgPSB2aWV3Q29udGFpbmVyUmVmLmRldGFjaChpbmRleCkgYXMgRW1iZWRkZWRWaWV3UmVmPEM+O1xuICAgIHRoaXMuX21heWJlQ2FjaGVWaWV3KGRldGFjaGVkVmlldywgdmlld0NvbnRhaW5lclJlZik7XG4gIH1cblxuICAvKiogTW92ZXMgdmlldyBhdCB0aGUgcHJldmlvdXMgaW5kZXggdG8gdGhlIGN1cnJlbnQgaW5kZXguICovXG4gIHByaXZhdGUgX21vdmVWaWV3KGFkanVzdGVkUHJldmlvdXNJbmRleDogbnVtYmVyLCBjdXJyZW50SW5kZXg6IG51bWJlcixcbiAgICAgICAgICAgICAgICAgICAgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZiwgdmFsdWU6IFQpOiBFbWJlZGRlZFZpZXdSZWY8Qz4ge1xuICAgIGNvbnN0IHZpZXcgPSB2aWV3Q29udGFpbmVyUmVmLmdldChhZGp1c3RlZFByZXZpb3VzSW5kZXghKSBhcyBFbWJlZGRlZFZpZXdSZWY8Qz47XG4gICAgdmlld0NvbnRhaW5lclJlZi5tb3ZlKHZpZXcsIGN1cnJlbnRJbmRleCk7XG4gICAgdmlldy5jb250ZXh0LiRpbXBsaWNpdCA9IHZhbHVlO1xuICAgIHJldHVybiB2aWV3O1xuICB9XG5cbiAgLyoqXG4gICAqIENhY2hlIHRoZSBnaXZlbiBkZXRhY2hlZCB2aWV3LiBJZiB0aGUgY2FjaGUgaXMgZnVsbCwgdGhlIHZpZXcgd2lsbCBiZVxuICAgKiBkZXN0cm95ZWQuXG4gICAqL1xuICBwcml2YXRlIF9tYXliZUNhY2hlVmlldyh2aWV3OiBFbWJlZGRlZFZpZXdSZWY8Qz4sIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYpIHtcbiAgICBpZiAodGhpcy5fdmlld0NhY2hlLmxlbmd0aCA8IHRoaXMudmlld0NhY2hlU2l6ZSkge1xuICAgICAgdGhpcy5fdmlld0NhY2hlLnB1c2godmlldyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGluZGV4ID0gdmlld0NvbnRhaW5lclJlZi5pbmRleE9mKHZpZXcpO1xuXG4gICAgICAvLyBUaGUgaG9zdCBjb21wb25lbnQgY291bGQgcmVtb3ZlIHZpZXdzIGZyb20gdGhlIGNvbnRhaW5lciBvdXRzaWRlIG9mXG4gICAgICAvLyB0aGUgdmlldyByZXBlYXRlci4gSXQncyB1bmxpa2VseSB0aGlzIHdpbGwgb2NjdXIsIGJ1dCBqdXN0IGluIGNhc2UsXG4gICAgICAvLyBkZXN0cm95IHRoZSB2aWV3IG9uIGl0cyBvd24sIG90aGVyd2lzZSBkZXN0cm95IGl0IHRocm91Z2ggdGhlXG4gICAgICAvLyBjb250YWluZXIgdG8gZW5zdXJlIHRoYXQgYWxsIHRoZSByZWZlcmVuY2VzIGFyZSByZW1vdmVkLlxuICAgICAgaWYgKGluZGV4ID09PSAtMSkge1xuICAgICAgICB2aWV3LmRlc3Ryb3koKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHZpZXdDb250YWluZXJSZWYucmVtb3ZlKGluZGV4KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKiogSW5zZXJ0cyBhIHJlY3ljbGVkIHZpZXcgZnJvbSB0aGUgY2FjaGUgYXQgdGhlIGdpdmVuIGluZGV4LiAqL1xuICBwcml2YXRlIF9pbnNlcnRWaWV3RnJvbUNhY2hlKGluZGV4OiBudW1iZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZik6IEVtYmVkZGVkVmlld1JlZjxDPiB8IG51bGwge1xuICAgIGNvbnN0IGNhY2hlZFZpZXcgPSB0aGlzLl92aWV3Q2FjaGUucG9wKCk7XG4gICAgaWYgKGNhY2hlZFZpZXcpIHtcbiAgICAgIHZpZXdDb250YWluZXJSZWYuaW5zZXJ0KGNhY2hlZFZpZXcsIGluZGV4KTtcbiAgICB9XG4gICAgcmV0dXJuIGNhY2hlZFZpZXcgfHwgbnVsbDtcbiAgfVxufVxuIl19
|
|
@@ -1,9 +0,0 @@
|
|
|
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
|
-
export {};
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1hZGFwdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2Nkay9jb2xsZWN0aW9ucy90cmVlLWFkYXB0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmltcG9ydCB7U2VsZWN0aW9uTW9kZWx9IGZyb20gJy4vc2VsZWN0aW9uLW1vZGVsJztcblxuXG4vKipcbiAqIEludGVyZmFjZSBmb3IgYSBjbGFzcyB0aGF0IGNhbiBmbGF0dGVuIGhpZXJhcmNoaWNhbCBzdHJ1Y3R1cmVkIGRhdGEgYW5kIHJlLWV4cGFuZCB0aGUgZmxhdHRlbmVkXG4gKiBkYXRhIGJhY2sgaW50byBpdHMgb3JpZ2luYWwgc3RydWN0dXJlLiBTaG91bGQgYmUgdXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIHRoZSBjZGstdHJlZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUcmVlRGF0YU5vZGVGbGF0dGVuZXI8VD4ge1xuICAvKiogVHJhbnNmb3JtcyBhIHNldCBvZiBoaWVyYXJjaGljYWwgc3RydWN0dXJlZCBkYXRhIGludG8gYSBmbGF0dGVuZWQgZGF0YSBhcnJheS4gKi9cbiAgZmxhdHRlbk5vZGVzKHN0cnVjdHVyZWREYXRhOiBhbnlbXSk6IFRbXTtcblxuICAvKipcbiAgICogRXhwYW5kcyBhIGZsYXR0ZW5lZCBhcnJheSBvZiBkYXRhIGludG8gaXRzIGhpZXJhcmNoaWNhbCBmb3JtIHVzaW5nIHRoZSBwcm92aWRlZCBleHBhbnNpb25cbiAgICogbW9kZWwuXG4gICAqL1xuICBleHBhbmRGbGF0dGVuZWROb2Rlcyhub2RlczogVFtdLCBleHBhbnNpb25Nb2RlbDogU2VsZWN0aW9uTW9kZWw8VD4pOiBUW107XG5cbiAgLyoqXG4gICAqIFB1dCBub2RlIGRlc2NlbmRhbnRzIG9mIG5vZGUgaW4gYXJyYXkuXG4gICAqIElmIGBvbmx5RXhwYW5kYWJsZWAgaXMgdHJ1ZSwgdGhlbiBvbmx5IHByb2Nlc3MgZXhwYW5kYWJsZSBkZXNjZW5kYW50cy5cbiAgICovXG4gIG5vZGVEZXNjZW5kZW50cyhub2RlOiBULCBub2RlczogVFtdLCBvbmx5RXhwYW5kYWJsZTogYm9vbGVhbik6IHZvaWQ7XG59XG4iXX0=
|
|
@@ -1,53 +0,0 @@
|
|
|
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 { Injectable } from '@angular/core';
|
|
9
|
-
import * as i0 from "@angular/core";
|
|
10
|
-
/**
|
|
11
|
-
* Class to coordinate unique selection based on name.
|
|
12
|
-
* Intended to be consumed as an Angular service.
|
|
13
|
-
* This service is needed because native radio change events are only fired on the item currently
|
|
14
|
-
* being selected, and we still need to uncheck the previous selection.
|
|
15
|
-
*
|
|
16
|
-
* This service does not *store* any IDs and names because they may change at any time, so it is
|
|
17
|
-
* less error-prone if they are simply passed through when the events occur.
|
|
18
|
-
*/
|
|
19
|
-
export class UniqueSelectionDispatcher {
|
|
20
|
-
constructor() {
|
|
21
|
-
this._listeners = [];
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* Notify other items that selection for the given name has been set.
|
|
25
|
-
* @param id ID of the item.
|
|
26
|
-
* @param name Name of the item.
|
|
27
|
-
*/
|
|
28
|
-
notify(id, name) {
|
|
29
|
-
for (let listener of this._listeners) {
|
|
30
|
-
listener(id, name);
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
/**
|
|
34
|
-
* Listen for future changes to item selection.
|
|
35
|
-
* @return Function used to deregister listener
|
|
36
|
-
*/
|
|
37
|
-
listen(listener) {
|
|
38
|
-
this._listeners.push(listener);
|
|
39
|
-
return () => {
|
|
40
|
-
this._listeners = this._listeners.filter((registered) => {
|
|
41
|
-
return listener !== registered;
|
|
42
|
-
});
|
|
43
|
-
};
|
|
44
|
-
}
|
|
45
|
-
ngOnDestroy() {
|
|
46
|
-
this._listeners = [];
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
UniqueSelectionDispatcher.ɵprov = i0.ɵɵdefineInjectable({ factory: function UniqueSelectionDispatcher_Factory() { return new UniqueSelectionDispatcher(); }, token: UniqueSelectionDispatcher, providedIn: "root" });
|
|
50
|
-
UniqueSelectionDispatcher.decorators = [
|
|
51
|
-
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
52
|
-
];
|
|
53
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5pcXVlLXNlbGVjdGlvbi1kaXNwYXRjaGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2Nkay9jb2xsZWN0aW9ucy91bmlxdWUtc2VsZWN0aW9uLWRpc3BhdGNoZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBRUgsT0FBTyxFQUFDLFVBQVUsRUFBWSxNQUFNLGVBQWUsQ0FBQzs7QUFNcEQ7Ozs7Ozs7O0dBUUc7QUFFSCxNQUFNLE9BQU8seUJBQXlCO0lBRHRDO1FBRVUsZUFBVSxHQUF3QyxFQUFFLENBQUM7S0E2QjlEO0lBM0JDOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsRUFBVSxFQUFFLElBQVk7UUFDN0IsS0FBSyxJQUFJLFFBQVEsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ3BDLFFBQVEsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUM7U0FDcEI7SUFDSCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLFFBQTJDO1FBQ2hELElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQy9CLE9BQU8sR0FBRyxFQUFFO1lBQ1YsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFVBQTZDLEVBQUUsRUFBRTtnQkFDekYsT0FBTyxRQUFRLEtBQUssVUFBVSxDQUFDO1lBQ2pDLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQztJQUN2QixDQUFDOzs7O1lBOUJGLFVBQVUsU0FBQyxFQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0IHtJbmplY3RhYmxlLCBPbkRlc3Ryb3l9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5cbi8vIFVzZXJzIG9mIHRoZSBEaXNwYXRjaGVyIG5ldmVyIG5lZWQgdG8gc2VlIHRoaXMgdHlwZSwgYnV0IFR5cGVTY3JpcHQgcmVxdWlyZXMgaXQgdG8gYmUgZXhwb3J0ZWQuXG5leHBvcnQgdHlwZSBVbmlxdWVTZWxlY3Rpb25EaXNwYXRjaGVyTGlzdGVuZXIgPSAoaWQ6IHN0cmluZywgbmFtZTogc3RyaW5nKSA9PiB2b2lkO1xuXG4vKipcbiAqIENsYXNzIHRvIGNvb3JkaW5hdGUgdW5pcXVlIHNlbGVjdGlvbiBiYXNlZCBvbiBuYW1lLlxuICogSW50ZW5kZWQgdG8gYmUgY29uc3VtZWQgYXMgYW4gQW5ndWxhciBzZXJ2aWNlLlxuICogVGhpcyBzZXJ2aWNlIGlzIG5lZWRlZCBiZWNhdXNlIG5hdGl2ZSByYWRpbyBjaGFuZ2UgZXZlbnRzIGFyZSBvbmx5IGZpcmVkIG9uIHRoZSBpdGVtIGN1cnJlbnRseVxuICogYmVpbmcgc2VsZWN0ZWQsIGFuZCB3ZSBzdGlsbCBuZWVkIHRvIHVuY2hlY2sgdGhlIHByZXZpb3VzIHNlbGVjdGlvbi5cbiAqXG4gKiBUaGlzIHNlcnZpY2UgZG9lcyBub3QgKnN0b3JlKiBhbnkgSURzIGFuZCBuYW1lcyBiZWNhdXNlIHRoZXkgbWF5IGNoYW5nZSBhdCBhbnkgdGltZSwgc28gaXQgaXNcbiAqIGxlc3MgZXJyb3ItcHJvbmUgaWYgdGhleSBhcmUgc2ltcGx5IHBhc3NlZCB0aHJvdWdoIHdoZW4gdGhlIGV2ZW50cyBvY2N1ci5cbiAqL1xuQEluamVjdGFibGUoe3Byb3ZpZGVkSW46ICdyb290J30pXG5leHBvcnQgY2xhc3MgVW5pcXVlU2VsZWN0aW9uRGlzcGF0Y2hlciBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgX2xpc3RlbmVyczogVW5pcXVlU2VsZWN0aW9uRGlzcGF0Y2hlckxpc3RlbmVyW10gPSBbXTtcblxuICAvKipcbiAgICogTm90aWZ5IG90aGVyIGl0ZW1zIHRoYXQgc2VsZWN0aW9uIGZvciB0aGUgZ2l2ZW4gbmFtZSBoYXMgYmVlbiBzZXQuXG4gICAqIEBwYXJhbSBpZCBJRCBvZiB0aGUgaXRlbS5cbiAgICogQHBhcmFtIG5hbWUgTmFtZSBvZiB0aGUgaXRlbS5cbiAgICovXG4gIG5vdGlmeShpZDogc3RyaW5nLCBuYW1lOiBzdHJpbmcpIHtcbiAgICBmb3IgKGxldCBsaXN0ZW5lciBvZiB0aGlzLl9saXN0ZW5lcnMpIHtcbiAgICAgIGxpc3RlbmVyKGlkLCBuYW1lKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogTGlzdGVuIGZvciBmdXR1cmUgY2hhbmdlcyB0byBpdGVtIHNlbGVjdGlvbi5cbiAgICogQHJldHVybiBGdW5jdGlvbiB1c2VkIHRvIGRlcmVnaXN0ZXIgbGlzdGVuZXJcbiAgICovXG4gIGxpc3RlbihsaXN0ZW5lcjogVW5pcXVlU2VsZWN0aW9uRGlzcGF0Y2hlckxpc3RlbmVyKTogKCkgPT4gdm9pZCB7XG4gICAgdGhpcy5fbGlzdGVuZXJzLnB1c2gobGlzdGVuZXIpO1xuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICB0aGlzLl9saXN0ZW5lcnMgPSB0aGlzLl9saXN0ZW5lcnMuZmlsdGVyKChyZWdpc3RlcmVkOiBVbmlxdWVTZWxlY3Rpb25EaXNwYXRjaGVyTGlzdGVuZXIpID0+IHtcbiAgICAgICAgcmV0dXJuIGxpc3RlbmVyICE9PSByZWdpc3RlcmVkO1xuICAgICAgfSk7XG4gICAgfTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuX2xpc3RlbmVycyA9IFtdO1xuICB9XG59XG4iXX0=
|
|
@@ -1,14 +0,0 @@
|
|
|
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
|
-
/**
|
|
10
|
-
* Injection token for {@link _ViewRepeater}. This token is for use by Angular Material only.
|
|
11
|
-
* @docs-private
|
|
12
|
-
*/
|
|
13
|
-
export const _VIEW_REPEATER_STRATEGY = new InjectionToken('_ViewRepeater');
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlldy1yZXBlYXRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jZGsvY29sbGVjdGlvbnMvdmlldy1yZXBlYXRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFFSCxPQUFPLEVBQ0wsY0FBYyxFQUtmLE1BQU0sZUFBZSxDQUFDO0FBb0d2Qjs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxJQUFJLGNBQWMsQ0FDbUIsZUFBZSxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0IHtcbiAgSW5qZWN0aW9uVG9rZW4sXG4gIEl0ZXJhYmxlQ2hhbmdlUmVjb3JkLFxuICBJdGVyYWJsZUNoYW5nZXMsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q29udGFpbmVyUmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIFRoZSBjb250ZXh0IGZvciBhbiBlbWJlZGRlZCB2aWV3IGluIHRoZSByZXBlYXRlcidzIHZpZXcgY29udGFpbmVyLlxuICpcbiAqIEB0ZW1wbGF0ZSBUIFRoZSB0eXBlIGZvciB0aGUgZW1iZWRkZWQgdmlldydzICRpbXBsaWNpdCBwcm9wZXJ0eS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBfVmlld1JlcGVhdGVySXRlbUNvbnRleHQ8VD4ge1xuICAkaW1wbGljaXQ/OiBUO1xufVxuXG4vKipcbiAqIFRoZSBhcmd1bWVudHMgbmVlZGVkIHRvIGNvbnN0cnVjdCBhbiBlbWJlZGRlZCB2aWV3IGZvciBhbiBpdGVtIGluIGEgdmlld1xuICogY29udGFpbmVyLlxuICpcbiAqIEB0ZW1wbGF0ZSBDIFRoZSB0eXBlIGZvciB0aGUgY29udGV4dCBwYXNzZWQgdG8gZWFjaCBlbWJlZGRlZCB2aWV3LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIF9WaWV3UmVwZWF0ZXJJdGVtSW5zZXJ0QXJnczxDPiB7XG4gIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxDPjtcbiAgY29udGV4dD86IEM7XG4gIGluZGV4PzogbnVtYmVyO1xufVxuXG4vKipcbiAqIEEgZmFjdG9yeSB0aGF0IGRlcml2ZXMgdGhlIGVtYmVkZGVkIHZpZXcgY29udGV4dCBmb3IgYW4gaXRlbSBpbiBhIHZpZXdcbiAqIGNvbnRhaW5lci5cbiAqXG4gKiBAdGVtcGxhdGUgVCBUaGUgdHlwZSBmb3IgdGhlIGVtYmVkZGVkIHZpZXcncyAkaW1wbGljaXQgcHJvcGVydHkuXG4gKiBAdGVtcGxhdGUgUiBUaGUgdHlwZSBmb3IgdGhlIGl0ZW0gaW4gZWFjaCBJdGVyYWJsZURpZmZlciBjaGFuZ2UgcmVjb3JkLlxuICogQHRlbXBsYXRlIEMgVGhlIHR5cGUgZm9yIHRoZSBjb250ZXh0IHBhc3NlZCB0byBlYWNoIGVtYmVkZGVkIHZpZXcuXG4gKi9cbmV4cG9ydCB0eXBlIF9WaWV3UmVwZWF0ZXJJdGVtQ29udGV4dEZhY3Rvcnk8VCwgUiwgQyBleHRlbmRzIF9WaWV3UmVwZWF0ZXJJdGVtQ29udGV4dDxUPj4gPVxuICAgIChyZWNvcmQ6IEl0ZXJhYmxlQ2hhbmdlUmVjb3JkPFI+LFxuICAgICBhZGp1c3RlZFByZXZpb3VzSW5kZXg6IG51bWJlciB8IG51bGwsXG4gICAgIGN1cnJlbnRJbmRleDogbnVtYmVyIHwgbnVsbCkgPT4gX1ZpZXdSZXBlYXRlckl0ZW1JbnNlcnRBcmdzPEM+O1xuXG4vKipcbiAqIEV4dHJhY3RzIHRoZSB2YWx1ZSBvZiBhbiBpdGVtIGZyb20gYW4ge0BsaW5rIEl0ZXJhYmxlQ2hhbmdlUmVjb3JkfS5cbiAqXG4gKiBAdGVtcGxhdGUgVCBUaGUgdHlwZSBmb3IgdGhlIGVtYmVkZGVkIHZpZXcncyAkaW1wbGljaXQgcHJvcGVydHkuXG4gKiBAdGVtcGxhdGUgUiBUaGUgdHlwZSBmb3IgdGhlIGl0ZW0gaW4gZWFjaCBJdGVyYWJsZURpZmZlciBjaGFuZ2UgcmVjb3JkLlxuICovXG5leHBvcnQgdHlwZSBfVmlld1JlcGVhdGVySXRlbVZhbHVlUmVzb2x2ZXI8VCwgUj4gPVxuICAgIChyZWNvcmQ6IEl0ZXJhYmxlQ2hhbmdlUmVjb3JkPFI+KSA9PiBUO1xuXG4vKiogSW5kaWNhdGVzIGhvdyBhIHZpZXcgd2FzIGNoYW5nZWQgYnkgYSB7QGxpbmsgX1ZpZXdSZXBlYXRlcn0uICovXG5leHBvcnQgY29uc3QgZW51bSBfVmlld1JlcGVhdGVyT3BlcmF0aW9uIHtcbiAgLyoqIFRoZSBjb250ZW50IG9mIGFuIGV4aXN0aW5nIHZpZXcgd2FzIHJlcGxhY2VkIHdpdGggYW5vdGhlciBpdGVtLiAqL1xuICBSRVBMQUNFRCxcbiAgLyoqIEEgbmV3IHZpZXcgd2FzIGNyZWF0ZWQgd2l0aCBgY3JlYXRlRW1iZWRkZWRWaWV3YC4gKi9cbiAgSU5TRVJURUQsXG4gIC8qKiBUaGUgcG9zaXRpb24gb2YgYSB2aWV3IGNoYW5nZWQsIGJ1dCB0aGUgY29udGVudCByZW1haW5zIHRoZSBzYW1lLiAqL1xuICBNT1ZFRCxcbiAgLyoqIEEgdmlldyB3YXMgZGV0YWNoZWQgZnJvbSB0aGUgdmlldyBjb250YWluZXIuICovXG4gIFJFTU9WRUQsXG59XG5cbi8qKlxuICogTWV0YSBkYXRhIGRlc2NyaWJpbmcgdGhlIHN0YXRlIG9mIGEgdmlldyBhZnRlciBpdCB3YXMgdXBkYXRlZCBieSBhXG4gKiB7QGxpbmsgX1ZpZXdSZXBlYXRlcn0uXG4gKlxuICogQHRlbXBsYXRlIFIgVGhlIHR5cGUgZm9yIHRoZSBpdGVtIGluIGVhY2ggSXRlcmFibGVEaWZmZXIgY2hhbmdlIHJlY29yZC5cbiAqIEB0ZW1wbGF0ZSBDIFRoZSB0eXBlIGZvciB0aGUgY29udGV4dCBwYXNzZWQgdG8gZWFjaCBlbWJlZGRlZCB2aWV3LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIF9WaWV3UmVwZWF0ZXJJdGVtQ2hhbmdlPFIsIEM+IHtcbiAgLyoqIFRoZSB2aWV3J3MgY29udGV4dCBhZnRlciBpdCB3YXMgY2hhbmdlZC4gKi9cbiAgY29udGV4dD86IEM7XG4gIC8qKiBJbmRpY2F0ZXMgaG93IHRoZSB2aWV3IHdhcyBjaGFuZ2VkLiAqL1xuICBvcGVyYXRpb246IF9WaWV3UmVwZWF0ZXJPcGVyYXRpb247XG4gIC8qKiBUaGUgdmlldydzIGNvcnJlc3BvbmRpbmcgY2hhbmdlIHJlY29yZC4gKi9cbiAgcmVjb3JkOiBJdGVyYWJsZUNoYW5nZVJlY29yZDxSPjtcbn1cblxuLyoqXG4gKiBUeXBlIGZvciBhIGNhbGxiYWNrIHRvIGJlIGV4ZWN1dGVkIGFmdGVyIGEgdmlldyBoYXMgY2hhbmdlZC5cbiAqXG4gKiBAdGVtcGxhdGUgUiBUaGUgdHlwZSBmb3IgdGhlIGl0ZW0gaW4gZWFjaCBJdGVyYWJsZURpZmZlciBjaGFuZ2UgcmVjb3JkLlxuICogQHRlbXBsYXRlIEMgVGhlIHR5cGUgZm9yIHRoZSBjb250ZXh0IHBhc3NlZCB0byBlYWNoIGVtYmVkZGVkIHZpZXcuXG4gKi9cbmV4cG9ydCB0eXBlIF9WaWV3UmVwZWF0ZXJJdGVtQ2hhbmdlZDxSLCBDPiA9XG4gICAgKGNoYW5nZTogX1ZpZXdSZXBlYXRlckl0ZW1DaGFuZ2U8UiwgQz4pID0+IHZvaWQ7XG5cbi8qKlxuICogRGVzY3JpYmVzIGEgc3RyYXRlZ3kgZm9yIHJlbmRlcmluZyBpdGVtcyBpbiBhIHtAbGluayBWaWV3Q29udGFpbmVyUmVmfS5cbiAqXG4gKiBAdGVtcGxhdGUgVCBUaGUgdHlwZSBmb3IgdGhlIGVtYmVkZGVkIHZpZXcncyAkaW1wbGljaXQgcHJvcGVydHkuXG4gKiBAdGVtcGxhdGUgUiBUaGUgdHlwZSBmb3IgdGhlIGl0ZW0gaW4gZWFjaCBJdGVyYWJsZURpZmZlciBjaGFuZ2UgcmVjb3JkLlxuICogQHRlbXBsYXRlIEMgVGhlIHR5cGUgZm9yIHRoZSBjb250ZXh0IHBhc3NlZCB0byBlYWNoIGVtYmVkZGVkIHZpZXcuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgX1ZpZXdSZXBlYXRlcjxULCBSLCBDIGV4dGVuZHMgX1ZpZXdSZXBlYXRlckl0ZW1Db250ZXh0PFQ+PiB7XG4gIGFwcGx5Q2hhbmdlcyhcbiAgICAgIGNoYW5nZXM6IEl0ZXJhYmxlQ2hhbmdlczxSPixcbiAgICAgIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXG4gICAgICBpdGVtQ29udGV4dEZhY3Rvcnk6IF9WaWV3UmVwZWF0ZXJJdGVtQ29udGV4dEZhY3Rvcnk8VCwgUiwgQz4sXG4gICAgICBpdGVtVmFsdWVSZXNvbHZlcjogX1ZpZXdSZXBlYXRlckl0ZW1WYWx1ZVJlc29sdmVyPFQsIFI+LFxuICAgICAgaXRlbVZpZXdDaGFuZ2VkPzogX1ZpZXdSZXBlYXRlckl0ZW1DaGFuZ2VkPFIsIEM+KTogdm9pZDtcblxuICBkZXRhY2goKTogdm9pZDtcbn1cblxuLyoqXG4gKiBJbmplY3Rpb24gdG9rZW4gZm9yIHtAbGluayBfVmlld1JlcGVhdGVyfS4gVGhpcyB0b2tlbiBpcyBmb3IgdXNlIGJ5IEFuZ3VsYXIgTWF0ZXJpYWwgb25seS5cbiAqIEBkb2NzLXByaXZhdGVcbiAqL1xuZXhwb3J0IGNvbnN0IF9WSUVXX1JFUEVBVEVSX1NUUkFURUdZID0gbmV3IEluamVjdGlvblRva2VuPFxuICAgICAgICBfVmlld1JlcGVhdGVyPHVua25vd24sIHVua25vd24sIF9WaWV3UmVwZWF0ZXJJdGVtQ29udGV4dDx1bmtub3duPj4+KCdfVmlld1JlcGVhdGVyJyk7XG4iXX0=
|
|
@@ -1,60 +0,0 @@
|
|
|
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
|
-
/** Gets a mutable version of an element's bounding `ClientRect`. */
|
|
9
|
-
export function getMutableClientRect(element) {
|
|
10
|
-
const clientRect = element.getBoundingClientRect();
|
|
11
|
-
// We need to clone the `clientRect` here, because all the values on it are readonly
|
|
12
|
-
// and we need to be able to update them. Also we can't use a spread here, because
|
|
13
|
-
// the values on a `ClientRect` aren't own properties. See:
|
|
14
|
-
// https://developer.mozilla.org/en-US/docs/Web/API/Element/getBoundingClientRect#Notes
|
|
15
|
-
return {
|
|
16
|
-
top: clientRect.top,
|
|
17
|
-
right: clientRect.right,
|
|
18
|
-
bottom: clientRect.bottom,
|
|
19
|
-
left: clientRect.left,
|
|
20
|
-
width: clientRect.width,
|
|
21
|
-
height: clientRect.height
|
|
22
|
-
};
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* Checks whether some coordinates are within a `ClientRect`.
|
|
26
|
-
* @param clientRect ClientRect that is being checked.
|
|
27
|
-
* @param x Coordinates along the X axis.
|
|
28
|
-
* @param y Coordinates along the Y axis.
|
|
29
|
-
*/
|
|
30
|
-
export function isInsideClientRect(clientRect, x, y) {
|
|
31
|
-
const { top, bottom, left, right } = clientRect;
|
|
32
|
-
return y >= top && y <= bottom && x >= left && x <= right;
|
|
33
|
-
}
|
|
34
|
-
/**
|
|
35
|
-
* Updates the top/left positions of a `ClientRect`, as well as their bottom/right counterparts.
|
|
36
|
-
* @param clientRect `ClientRect` that should be updated.
|
|
37
|
-
* @param top Amount to add to the `top` position.
|
|
38
|
-
* @param left Amount to add to the `left` position.
|
|
39
|
-
*/
|
|
40
|
-
export function adjustClientRect(clientRect, top, left) {
|
|
41
|
-
clientRect.top += top;
|
|
42
|
-
clientRect.bottom = clientRect.top + clientRect.height;
|
|
43
|
-
clientRect.left += left;
|
|
44
|
-
clientRect.right = clientRect.left + clientRect.width;
|
|
45
|
-
}
|
|
46
|
-
/**
|
|
47
|
-
* Checks whether the pointer coordinates are close to a ClientRect.
|
|
48
|
-
* @param rect ClientRect to check against.
|
|
49
|
-
* @param threshold Threshold around the ClientRect.
|
|
50
|
-
* @param pointerX Coordinates along the X axis.
|
|
51
|
-
* @param pointerY Coordinates along the Y axis.
|
|
52
|
-
*/
|
|
53
|
-
export function isPointerNearClientRect(rect, threshold, pointerX, pointerY) {
|
|
54
|
-
const { top, right, bottom, left, width, height } = rect;
|
|
55
|
-
const xThreshold = width * threshold;
|
|
56
|
-
const yThreshold = height * threshold;
|
|
57
|
-
return pointerY > top - yThreshold && pointerY < bottom + yThreshold &&
|
|
58
|
-
pointerX > left - xThreshold && pointerX < right + xThreshold;
|
|
59
|
-
}
|
|
60
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LXJlY3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY2RrL2RyYWctZHJvcC9jbGllbnQtcmVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFFSCxvRUFBb0U7QUFDcEUsTUFBTSxVQUFVLG9CQUFvQixDQUFDLE9BQWdCO0lBQ25ELE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO0lBRW5ELG9GQUFvRjtJQUNwRixrRkFBa0Y7SUFDbEYsMkRBQTJEO0lBQzNELHVGQUF1RjtJQUN2RixPQUFPO1FBQ0wsR0FBRyxFQUFFLFVBQVUsQ0FBQyxHQUFHO1FBQ25CLEtBQUssRUFBRSxVQUFVLENBQUMsS0FBSztRQUN2QixNQUFNLEVBQUUsVUFBVSxDQUFDLE1BQU07UUFDekIsSUFBSSxFQUFFLFVBQVUsQ0FBQyxJQUFJO1FBQ3JCLEtBQUssRUFBRSxVQUFVLENBQUMsS0FBSztRQUN2QixNQUFNLEVBQUUsVUFBVSxDQUFDLE1BQU07S0FDMUIsQ0FBQztBQUNKLENBQUM7QUFFRDs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxVQUFzQixFQUFFLENBQVMsRUFBRSxDQUFTO0lBQzdFLE1BQU0sRUFBQyxHQUFHLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUMsR0FBRyxVQUFVLENBQUM7SUFDOUMsT0FBTyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxNQUFNLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxDQUFDO0FBQzVELENBQUM7QUFFRDs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxVQUFzQixFQUFFLEdBQVcsRUFBRSxJQUFZO0lBQ2hGLFVBQVUsQ0FBQyxHQUFHLElBQUksR0FBRyxDQUFDO0lBQ3RCLFVBQVUsQ0FBQyxNQUFNLEdBQUcsVUFBVSxDQUFDLEdBQUcsR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDO0lBRXZELFVBQVUsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDO0lBQ3hCLFVBQVUsQ0FBQyxLQUFLLEdBQUcsVUFBVSxDQUFDLElBQUksR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDO0FBQ3hELENBQUM7QUFFRDs7Ozs7O0dBTUc7QUFDSCxNQUFNLFVBQVUsdUJBQXVCLENBQUMsSUFBZ0IsRUFDaEIsU0FBaUIsRUFDakIsUUFBZ0IsRUFDaEIsUUFBZ0I7SUFDdEQsTUFBTSxFQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFDLEdBQUcsSUFBSSxDQUFDO0lBQ3ZELE1BQU0sVUFBVSxHQUFHLEtBQUssR0FBRyxTQUFTLENBQUM7SUFDckMsTUFBTSxVQUFVLEdBQUcsTUFBTSxHQUFHLFNBQVMsQ0FBQztJQUV0QyxPQUFPLFFBQVEsR0FBRyxHQUFHLEdBQUcsVUFBVSxJQUFJLFFBQVEsR0FBRyxNQUFNLEdBQUcsVUFBVTtRQUM3RCxRQUFRLEdBQUcsSUFBSSxHQUFHLFVBQVUsSUFBSSxRQUFRLEdBQUcsS0FBSyxHQUFHLFVBQVUsQ0FBQztBQUN2RSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbi8qKiBHZXRzIGEgbXV0YWJsZSB2ZXJzaW9uIG9mIGFuIGVsZW1lbnQncyBib3VuZGluZyBgQ2xpZW50UmVjdGAuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0TXV0YWJsZUNsaWVudFJlY3QoZWxlbWVudDogRWxlbWVudCk6IENsaWVudFJlY3Qge1xuICBjb25zdCBjbGllbnRSZWN0ID0gZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcblxuICAvLyBXZSBuZWVkIHRvIGNsb25lIHRoZSBgY2xpZW50UmVjdGAgaGVyZSwgYmVjYXVzZSBhbGwgdGhlIHZhbHVlcyBvbiBpdCBhcmUgcmVhZG9ubHlcbiAgLy8gYW5kIHdlIG5lZWQgdG8gYmUgYWJsZSB0byB1cGRhdGUgdGhlbS4gQWxzbyB3ZSBjYW4ndCB1c2UgYSBzcHJlYWQgaGVyZSwgYmVjYXVzZVxuICAvLyB0aGUgdmFsdWVzIG9uIGEgYENsaWVudFJlY3RgIGFyZW4ndCBvd24gcHJvcGVydGllcy4gU2VlOlxuICAvLyBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BUEkvRWxlbWVudC9nZXRCb3VuZGluZ0NsaWVudFJlY3QjTm90ZXNcbiAgcmV0dXJuIHtcbiAgICB0b3A6IGNsaWVudFJlY3QudG9wLFxuICAgIHJpZ2h0OiBjbGllbnRSZWN0LnJpZ2h0LFxuICAgIGJvdHRvbTogY2xpZW50UmVjdC5ib3R0b20sXG4gICAgbGVmdDogY2xpZW50UmVjdC5sZWZ0LFxuICAgIHdpZHRoOiBjbGllbnRSZWN0LndpZHRoLFxuICAgIGhlaWdodDogY2xpZW50UmVjdC5oZWlnaHRcbiAgfTtcbn1cblxuLyoqXG4gKiBDaGVja3Mgd2hldGhlciBzb21lIGNvb3JkaW5hdGVzIGFyZSB3aXRoaW4gYSBgQ2xpZW50UmVjdGAuXG4gKiBAcGFyYW0gY2xpZW50UmVjdCBDbGllbnRSZWN0IHRoYXQgaXMgYmVpbmcgY2hlY2tlZC5cbiAqIEBwYXJhbSB4IENvb3JkaW5hdGVzIGFsb25nIHRoZSBYIGF4aXMuXG4gKiBAcGFyYW0geSBDb29yZGluYXRlcyBhbG9uZyB0aGUgWSBheGlzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNJbnNpZGVDbGllbnRSZWN0KGNsaWVudFJlY3Q6IENsaWVudFJlY3QsIHg6IG51bWJlciwgeTogbnVtYmVyKSB7XG4gIGNvbnN0IHt0b3AsIGJvdHRvbSwgbGVmdCwgcmlnaHR9ID0gY2xpZW50UmVjdDtcbiAgcmV0dXJuIHkgPj0gdG9wICYmIHkgPD0gYm90dG9tICYmIHggPj0gbGVmdCAmJiB4IDw9IHJpZ2h0O1xufVxuXG4vKipcbiAqIFVwZGF0ZXMgdGhlIHRvcC9sZWZ0IHBvc2l0aW9ucyBvZiBhIGBDbGllbnRSZWN0YCwgYXMgd2VsbCBhcyB0aGVpciBib3R0b20vcmlnaHQgY291bnRlcnBhcnRzLlxuICogQHBhcmFtIGNsaWVudFJlY3QgYENsaWVudFJlY3RgIHRoYXQgc2hvdWxkIGJlIHVwZGF0ZWQuXG4gKiBAcGFyYW0gdG9wIEFtb3VudCB0byBhZGQgdG8gdGhlIGB0b3BgIHBvc2l0aW9uLlxuICogQHBhcmFtIGxlZnQgQW1vdW50IHRvIGFkZCB0byB0aGUgYGxlZnRgIHBvc2l0aW9uLlxuICovXG5leHBvcnQgZnVuY3Rpb24gYWRqdXN0Q2xpZW50UmVjdChjbGllbnRSZWN0OiBDbGllbnRSZWN0LCB0b3A6IG51bWJlciwgbGVmdDogbnVtYmVyKSB7XG4gIGNsaWVudFJlY3QudG9wICs9IHRvcDtcbiAgY2xpZW50UmVjdC5ib3R0b20gPSBjbGllbnRSZWN0LnRvcCArIGNsaWVudFJlY3QuaGVpZ2h0O1xuXG4gIGNsaWVudFJlY3QubGVmdCArPSBsZWZ0O1xuICBjbGllbnRSZWN0LnJpZ2h0ID0gY2xpZW50UmVjdC5sZWZ0ICsgY2xpZW50UmVjdC53aWR0aDtcbn1cblxuLyoqXG4gKiBDaGVja3Mgd2hldGhlciB0aGUgcG9pbnRlciBjb29yZGluYXRlcyBhcmUgY2xvc2UgdG8gYSBDbGllbnRSZWN0LlxuICogQHBhcmFtIHJlY3QgQ2xpZW50UmVjdCB0byBjaGVjayBhZ2FpbnN0LlxuICogQHBhcmFtIHRocmVzaG9sZCBUaHJlc2hvbGQgYXJvdW5kIHRoZSBDbGllbnRSZWN0LlxuICogQHBhcmFtIHBvaW50ZXJYIENvb3JkaW5hdGVzIGFsb25nIHRoZSBYIGF4aXMuXG4gKiBAcGFyYW0gcG9pbnRlclkgQ29vcmRpbmF0ZXMgYWxvbmcgdGhlIFkgYXhpcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzUG9pbnRlck5lYXJDbGllbnRSZWN0KHJlY3Q6IENsaWVudFJlY3QsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhyZXNob2xkOiBudW1iZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9pbnRlclg6IG51bWJlcixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb2ludGVyWTogbnVtYmVyKTogYm9vbGVhbiB7XG4gIGNvbnN0IHt0b3AsIHJpZ2h0LCBib3R0b20sIGxlZnQsIHdpZHRoLCBoZWlnaHR9ID0gcmVjdDtcbiAgY29uc3QgeFRocmVzaG9sZCA9IHdpZHRoICogdGhyZXNob2xkO1xuICBjb25zdCB5VGhyZXNob2xkID0gaGVpZ2h0ICogdGhyZXNob2xkO1xuXG4gIHJldHVybiBwb2ludGVyWSA+IHRvcCAtIHlUaHJlc2hvbGQgJiYgcG9pbnRlclkgPCBib3R0b20gKyB5VGhyZXNob2xkICYmXG4gICAgICAgICBwb2ludGVyWCA+IGxlZnQgLSB4VGhyZXNob2xkICYmIHBvaW50ZXJYIDwgcmlnaHQgKyB4VGhyZXNob2xkO1xufVxuIl19
|
|
@@ -1,65 +0,0 @@
|
|
|
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
|
-
/** Creates a deep clone of an element. */
|
|
9
|
-
export function deepCloneNode(node) {
|
|
10
|
-
const clone = node.cloneNode(true);
|
|
11
|
-
const descendantsWithId = clone.querySelectorAll('[id]');
|
|
12
|
-
const nodeName = node.nodeName.toLowerCase();
|
|
13
|
-
// Remove the `id` to avoid having multiple elements with the same id on the page.
|
|
14
|
-
clone.removeAttribute('id');
|
|
15
|
-
for (let i = 0; i < descendantsWithId.length; i++) {
|
|
16
|
-
descendantsWithId[i].removeAttribute('id');
|
|
17
|
-
}
|
|
18
|
-
if (nodeName === 'canvas') {
|
|
19
|
-
transferCanvasData(node, clone);
|
|
20
|
-
}
|
|
21
|
-
else if (nodeName === 'input' || nodeName === 'select' || nodeName === 'textarea') {
|
|
22
|
-
transferInputData(node, clone);
|
|
23
|
-
}
|
|
24
|
-
transferData('canvas', node, clone, transferCanvasData);
|
|
25
|
-
transferData('input, textarea, select', node, clone, transferInputData);
|
|
26
|
-
return clone;
|
|
27
|
-
}
|
|
28
|
-
/** Matches elements between an element and its clone and allows for their data to be cloned. */
|
|
29
|
-
function transferData(selector, node, clone, callback) {
|
|
30
|
-
const descendantElements = node.querySelectorAll(selector);
|
|
31
|
-
if (descendantElements.length) {
|
|
32
|
-
const cloneElements = clone.querySelectorAll(selector);
|
|
33
|
-
for (let i = 0; i < descendantElements.length; i++) {
|
|
34
|
-
callback(descendantElements[i], cloneElements[i]);
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
// Counter for unique cloned radio button names.
|
|
39
|
-
let cloneUniqueId = 0;
|
|
40
|
-
/** Transfers the data of one input element to another. */
|
|
41
|
-
function transferInputData(source, clone) {
|
|
42
|
-
// Browsers throw an error when assigning the value of a file input programmatically.
|
|
43
|
-
if (clone.type !== 'file') {
|
|
44
|
-
clone.value = source.value;
|
|
45
|
-
}
|
|
46
|
-
// Radio button `name` attributes must be unique for radio button groups
|
|
47
|
-
// otherwise original radio buttons can lose their checked state
|
|
48
|
-
// once the clone is inserted in the DOM.
|
|
49
|
-
if (clone.type === 'radio' && clone.name) {
|
|
50
|
-
clone.name = `mat-clone-${clone.name}-${cloneUniqueId++}`;
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
/** Transfers the data of one canvas element to another. */
|
|
54
|
-
function transferCanvasData(source, clone) {
|
|
55
|
-
const context = clone.getContext('2d');
|
|
56
|
-
if (context) {
|
|
57
|
-
// In some cases `drawImage` can throw (e.g. if the canvas size is 0x0).
|
|
58
|
-
// We can't do much about it so just ignore the error.
|
|
59
|
-
try {
|
|
60
|
-
context.drawImage(source, 0, 0);
|
|
61
|
-
}
|
|
62
|
-
catch (_a) { }
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xvbmUtbm9kZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jZGsvZHJhZy1kcm9wL2Nsb25lLW5vZGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBRUgsMENBQTBDO0FBQzFDLE1BQU0sVUFBVSxhQUFhLENBQUMsSUFBaUI7SUFDN0MsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQWdCLENBQUM7SUFDbEQsTUFBTSxpQkFBaUIsR0FBRyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDekQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUU3QyxrRkFBa0Y7SUFDbEYsS0FBSyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUU1QixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsaUJBQWlCLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1FBQ2pELGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztLQUM1QztJQUVELElBQUksUUFBUSxLQUFLLFFBQVEsRUFBRTtRQUN6QixrQkFBa0IsQ0FBQyxJQUF5QixFQUFFLEtBQTBCLENBQUMsQ0FBQztLQUMzRTtTQUFNLElBQUksUUFBUSxLQUFLLE9BQU8sSUFBSSxRQUFRLEtBQUssUUFBUSxJQUFJLFFBQVEsS0FBSyxVQUFVLEVBQUU7UUFDbkYsaUJBQWlCLENBQUMsSUFBd0IsRUFBRSxLQUF5QixDQUFDLENBQUM7S0FDeEU7SUFFRCxZQUFZLENBQUMsUUFBUSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztJQUN4RCxZQUFZLENBQUMseUJBQXlCLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO0lBQ3hFLE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQztBQUVELGdHQUFnRztBQUNoRyxTQUFTLFlBQVksQ0FBb0IsUUFBZ0IsRUFBRSxJQUFpQixFQUFFLEtBQWtCLEVBQ3ZELFFBQXVDO0lBQzlFLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFJLFFBQVEsQ0FBQyxDQUFDO0lBRTlELElBQUksa0JBQWtCLENBQUMsTUFBTSxFQUFFO1FBQzdCLE1BQU0sYUFBYSxHQUFHLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBSSxRQUFRLENBQUMsQ0FBQztRQUUxRCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsa0JBQWtCLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ2xELFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsRUFBRSxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNuRDtLQUNGO0FBQ0gsQ0FBQztBQUVELGdEQUFnRDtBQUNoRCxJQUFJLGFBQWEsR0FBRyxDQUFDLENBQUM7QUFFdEIsMERBQTBEO0FBQzFELFNBQVMsaUJBQWlCLENBQUMsTUFBaUMsRUFDakMsS0FBNEQ7SUFDckYscUZBQXFGO0lBQ3JGLElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxNQUFNLEVBQUU7UUFDekIsS0FBSyxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDO0tBQzVCO0lBRUQsd0VBQXdFO0lBQ3hFLGdFQUFnRTtJQUNoRSx5Q0FBeUM7SUFDekMsSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLE9BQU8sSUFBSSxLQUFLLENBQUMsSUFBSSxFQUFFO1FBQ3hDLEtBQUssQ0FBQyxJQUFJLEdBQUcsYUFBYSxLQUFLLENBQUMsSUFBSSxJQUFJLGFBQWEsRUFBRSxFQUFFLENBQUM7S0FDM0Q7QUFDSCxDQUFDO0FBRUQsMkRBQTJEO0FBQzNELFNBQVMsa0JBQWtCLENBQUMsTUFBeUIsRUFBRSxLQUF3QjtJQUM3RSxNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRXZDLElBQUksT0FBTyxFQUFFO1FBQ1gsd0VBQXdFO1FBQ3hFLHNEQUFzRDtRQUN0RCxJQUFJO1lBQ0YsT0FBTyxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQ2pDO1FBQUMsV0FBTSxHQUFFO0tBQ1g7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbi8qKiBDcmVhdGVzIGEgZGVlcCBjbG9uZSBvZiBhbiBlbGVtZW50LiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRlZXBDbG9uZU5vZGUobm9kZTogSFRNTEVsZW1lbnQpOiBIVE1MRWxlbWVudCB7XG4gIGNvbnN0IGNsb25lID0gbm9kZS5jbG9uZU5vZGUodHJ1ZSkgYXMgSFRNTEVsZW1lbnQ7XG4gIGNvbnN0IGRlc2NlbmRhbnRzV2l0aElkID0gY2xvbmUucXVlcnlTZWxlY3RvckFsbCgnW2lkXScpO1xuICBjb25zdCBub2RlTmFtZSA9IG5vZGUubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtcblxuICAvLyBSZW1vdmUgdGhlIGBpZGAgdG8gYXZvaWQgaGF2aW5nIG11bHRpcGxlIGVsZW1lbnRzIHdpdGggdGhlIHNhbWUgaWQgb24gdGhlIHBhZ2UuXG4gIGNsb25lLnJlbW92ZUF0dHJpYnV0ZSgnaWQnKTtcblxuICBmb3IgKGxldCBpID0gMDsgaSA8IGRlc2NlbmRhbnRzV2l0aElkLmxlbmd0aDsgaSsrKSB7XG4gICAgZGVzY2VuZGFudHNXaXRoSWRbaV0ucmVtb3ZlQXR0cmlidXRlKCdpZCcpO1xuICB9XG5cbiAgaWYgKG5vZGVOYW1lID09PSAnY2FudmFzJykge1xuICAgIHRyYW5zZmVyQ2FudmFzRGF0YShub2RlIGFzIEhUTUxDYW52YXNFbGVtZW50LCBjbG9uZSBhcyBIVE1MQ2FudmFzRWxlbWVudCk7XG4gIH0gZWxzZSBpZiAobm9kZU5hbWUgPT09ICdpbnB1dCcgfHwgbm9kZU5hbWUgPT09ICdzZWxlY3QnIHx8IG5vZGVOYW1lID09PSAndGV4dGFyZWEnKSB7XG4gICAgdHJhbnNmZXJJbnB1dERhdGEobm9kZSBhcyBIVE1MSW5wdXRFbGVtZW50LCBjbG9uZSBhcyBIVE1MSW5wdXRFbGVtZW50KTtcbiAgfVxuXG4gIHRyYW5zZmVyRGF0YSgnY2FudmFzJywgbm9kZSwgY2xvbmUsIHRyYW5zZmVyQ2FudmFzRGF0YSk7XG4gIHRyYW5zZmVyRGF0YSgnaW5wdXQsIHRleHRhcmVhLCBzZWxlY3QnLCBub2RlLCBjbG9uZSwgdHJhbnNmZXJJbnB1dERhdGEpO1xuICByZXR1cm4gY2xvbmU7XG59XG5cbi8qKiBNYXRjaGVzIGVsZW1lbnRzIGJldHdlZW4gYW4gZWxlbWVudCBhbmQgaXRzIGNsb25lIGFuZCBhbGxvd3MgZm9yIHRoZWlyIGRhdGEgdG8gYmUgY2xvbmVkLiAqL1xuZnVuY3Rpb24gdHJhbnNmZXJEYXRhPFQgZXh0ZW5kcyBFbGVtZW50PihzZWxlY3Rvcjogc3RyaW5nLCBub2RlOiBIVE1MRWxlbWVudCwgY2xvbmU6IEhUTUxFbGVtZW50LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWxsYmFjazogKHNvdXJjZTogVCwgY2xvbmU6IFQpID0+IHZvaWQpIHtcbiAgY29uc3QgZGVzY2VuZGFudEVsZW1lbnRzID0gbm9kZS5xdWVyeVNlbGVjdG9yQWxsPFQ+KHNlbGVjdG9yKTtcblxuICBpZiAoZGVzY2VuZGFudEVsZW1lbnRzLmxlbmd0aCkge1xuICAgIGNvbnN0IGNsb25lRWxlbWVudHMgPSBjbG9uZS5xdWVyeVNlbGVjdG9yQWxsPFQ+KHNlbGVjdG9yKTtcblxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZGVzY2VuZGFudEVsZW1lbnRzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBjYWxsYmFjayhkZXNjZW5kYW50RWxlbWVudHNbaV0sIGNsb25lRWxlbWVudHNbaV0pO1xuICAgIH1cbiAgfVxufVxuXG4vLyBDb3VudGVyIGZvciB1bmlxdWUgY2xvbmVkIHJhZGlvIGJ1dHRvbiBuYW1lcy5cbmxldCBjbG9uZVVuaXF1ZUlkID0gMDtcblxuLyoqIFRyYW5zZmVycyB0aGUgZGF0YSBvZiBvbmUgaW5wdXQgZWxlbWVudCB0byBhbm90aGVyLiAqL1xuZnVuY3Rpb24gdHJhbnNmZXJJbnB1dERhdGEoc291cmNlOiBFbGVtZW50ICYge3ZhbHVlOiBzdHJpbmd9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xvbmU6IEVsZW1lbnQgJiB7dmFsdWU6IHN0cmluZzsgbmFtZTogc3RyaW5nOyB0eXBlOiBzdHJpbmd9KSB7XG4gIC8vIEJyb3dzZXJzIHRocm93IGFuIGVycm9yIHdoZW4gYXNzaWduaW5nIHRoZSB2YWx1ZSBvZiBhIGZpbGUgaW5wdXQgcHJvZ3JhbW1hdGljYWxseS5cbiAgaWYgKGNsb25lLnR5cGUgIT09ICdmaWxlJykge1xuICAgIGNsb25lLnZhbHVlID0gc291cmNlLnZhbHVlO1xuICB9XG5cbiAgLy8gUmFkaW8gYnV0dG9uIGBuYW1lYCBhdHRyaWJ1dGVzIG11c3QgYmUgdW5pcXVlIGZvciByYWRpbyBidXR0b24gZ3JvdXBzXG4gIC8vIG90aGVyd2lzZSBvcmlnaW5hbCByYWRpbyBidXR0b25zIGNhbiBsb3NlIHRoZWlyIGNoZWNrZWQgc3RhdGVcbiAgLy8gb25jZSB0aGUgY2xvbmUgaXMgaW5zZXJ0ZWQgaW4gdGhlIERPTS5cbiAgaWYgKGNsb25lLnR5cGUgPT09ICdyYWRpbycgJiYgY2xvbmUubmFtZSkge1xuICAgIGNsb25lLm5hbWUgPSBgbWF0LWNsb25lLSR7Y2xvbmUubmFtZX0tJHtjbG9uZVVuaXF1ZUlkKyt9YDtcbiAgfVxufVxuXG4vKiogVHJhbnNmZXJzIHRoZSBkYXRhIG9mIG9uZSBjYW52YXMgZWxlbWVudCB0byBhbm90aGVyLiAqL1xuZnVuY3Rpb24gdHJhbnNmZXJDYW52YXNEYXRhKHNvdXJjZTogSFRNTENhbnZhc0VsZW1lbnQsIGNsb25lOiBIVE1MQ2FudmFzRWxlbWVudCkge1xuICBjb25zdCBjb250ZXh0ID0gY2xvbmUuZ2V0Q29udGV4dCgnMmQnKTtcblxuICBpZiAoY29udGV4dCkge1xuICAgIC8vIEluIHNvbWUgY2FzZXMgYGRyYXdJbWFnZWAgY2FuIHRocm93IChlLmcuIGlmIHRoZSBjYW52YXMgc2l6ZSBpcyAweDApLlxuICAgIC8vIFdlIGNhbid0IGRvIG11Y2ggYWJvdXQgaXQgc28ganVzdCBpZ25vcmUgdGhlIGVycm9yLlxuICAgIHRyeSB7XG4gICAgICBjb250ZXh0LmRyYXdJbWFnZShzb3VyY2UsIDAsIDApO1xuICAgIH0gY2F0Y2gge31cbiAgfVxufVxuIl19
|
|
@@ -1,19 +0,0 @@
|
|
|
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
|
-
/**
|
|
9
|
-
* Asserts that a particular node is an element.
|
|
10
|
-
* @param node Node to be checked.
|
|
11
|
-
* @param name Name to attach to the error message.
|
|
12
|
-
*/
|
|
13
|
-
export function assertElementNode(node, name) {
|
|
14
|
-
if (node.nodeType !== 1) {
|
|
15
|
-
throw Error(`${name} must be attached to an element node. ` +
|
|
16
|
-
`Currently attached to "${node.nodeName}".`);
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXJ0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jZGsvZHJhZy1kcm9wL2RpcmVjdGl2ZXMvYXNzZXJ0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFFSDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLGlCQUFpQixDQUFDLElBQVUsRUFBRSxJQUFZO0lBQ3hELElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxDQUFDLEVBQUU7UUFDdkIsTUFBTSxLQUFLLENBQUMsR0FBRyxJQUFJLHdDQUF3QztZQUMvQywwQkFBMEIsSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLENBQUM7S0FDMUQ7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbi8qKlxuICogQXNzZXJ0cyB0aGF0IGEgcGFydGljdWxhciBub2RlIGlzIGFuIGVsZW1lbnQuXG4gKiBAcGFyYW0gbm9kZSBOb2RlIHRvIGJlIGNoZWNrZWQuXG4gKiBAcGFyYW0gbmFtZSBOYW1lIHRvIGF0dGFjaCB0byB0aGUgZXJyb3IgbWVzc2FnZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFzc2VydEVsZW1lbnROb2RlKG5vZGU6IE5vZGUsIG5hbWU6IHN0cmluZyk6IGFzc2VydHMgbm9kZSBpcyBIVE1MRWxlbWVudCB7XG4gIGlmIChub2RlLm5vZGVUeXBlICE9PSAxKSB7XG4gICAgdGhyb3cgRXJyb3IoYCR7bmFtZX0gbXVzdCBiZSBhdHRhY2hlZCB0byBhbiBlbGVtZW50IG5vZGUuIGAgK1xuICAgICAgICAgICAgICAgIGBDdXJyZW50bHkgYXR0YWNoZWQgdG8gXCIke25vZGUubm9kZU5hbWV9XCIuYCk7XG4gIH1cbn1cbiJdfQ==
|